diff --git a/.gitignore b/.gitignore index 25f016d7..d25bdf36 100644 --- a/.gitignore +++ b/.gitignore @@ -15,4 +15,5 @@ terraformingMarsRepo config/calibre/processed_books config/tandoor/staticfiles/* config/jellyfin/metadata/* -config/paperless/db/* \ No newline at end of file +config/paperless/db/* +mariadb/ \ No newline at end of file diff --git a/config/audiobookshelf/audiobooks/absdatabase.sqlite b/config/audiobookshelf/audiobooks/absdatabase.sqlite index 66380381..3784381b 100644 Binary files a/config/audiobookshelf/audiobooks/absdatabase.sqlite and b/config/audiobookshelf/audiobooks/absdatabase.sqlite differ diff --git a/config/backrest/data/oplog.sqlite-shm b/config/backrest/data/oplog.sqlite-shm index 1781a16d..99ef3f96 100644 Binary files a/config/backrest/data/oplog.sqlite-shm and b/config/backrest/data/oplog.sqlite-shm differ diff --git a/config/backrest/data/oplog.sqlite-wal b/config/backrest/data/oplog.sqlite-wal index 41bf169f..70cd7e0e 100644 Binary files a/config/backrest/data/oplog.sqlite-wal and b/config/backrest/data/oplog.sqlite-wal differ diff --git a/config/bazarr/config/announcements.json b/config/bazarr/config/announcements.json index 8081bf64..67c8b29f 100644 --- a/config/bazarr/config/announcements.json +++ b/config/bazarr/config/announcements.json @@ -23,6 +23,14 @@ "dismissible": true, "timestamp": 1731247748, "enabled": true + }, + { + "text": "OpenSubtitles.org is finally shutting down for all users. If you’re still using it, you should consider disabling it and moving to OpenSubtitles.com. It will be removed from future Bazarr releases.", + "link": "https://forum.opensubtitles.org/viewtopic.php?t=19471", + "hash": "", + "dismissible": true, + "timestamp": 1769802583, + "enabled": true } ] } diff --git a/config/bazarr/config/releases.txt b/config/bazarr/config/releases.txt index 843eb77c..e22e63a9 100644 --- a/config/bazarr/config/releases.txt +++ b/config/bazarr/config/releases.txt @@ -1 +1 @@ -[{"name": "v1.5.4-beta.33", "body": "From newest to oldest:\n- Fixed a race condition in jobs manager that would allow multiple jobs from being in running state at the same time. #3078 [52d3185](https://github.com/morpheus65535/bazarr/commit/52d3185c19f8c57dddb483ebf599615205adb3b9)", "date": "2025-12-10T06:07:24Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.33/bazarr.zip"}, {"name": "v1.5.4-beta.32", "body": "From newest to oldest:\n- Added a menu with an item to empty pending, failed or completed jobs queue in jobs manager. [e1b8ad8](https://github.com/morpheus65535/bazarr/commit/e1b8ad88c34b684c45ab4fc8b2db5e947a109acc)", "date": "2025-12-09T06:07:19Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.32/bazarr.zip"}, {"name": "v1.5.4-beta.31", "body": "From newest to oldest:\n- Fixed a bug with root folders writable check on NFS mount by creating and deleting a temporary file instead of relying on os.access(). #3086 [317afc1](https://github.com/morpheus65535/bazarr/commit/317afc1f0ba4236a2955fb6abeaac768343913be)\n- Added emoji characters removal mods. #2987 [721a49d](https://github.com/morpheus65535/bazarr/commit/721a49d63db6d149ba792e5b3db02846a71d60d6)\n- Added Japanese parentheses to the HI removal mods. #2987 [3d1420a](https://github.com/morpheus65535/bazarr/commit/3d1420a117d395b4f7eb53279ae5fd2fe29e5b8c)", "date": "2025-12-08T06:08:18Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.31/bazarr.zip"}, {"name": "v1.5.4-beta.30", "body": "From newest to oldest:\n- Added some other scheduled tasks to jobs manager on execution. [a0d50e7](https://github.com/morpheus65535/bazarr/commit/a0d50e778a258f577916946299e7affc30731d86)", "date": "2025-12-07T06:06:42Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.30/bazarr.zip"}, {"name": "v1.5.4-beta.29", "body": "From newest to oldest:\n- Fixed other stuff with jobs manager. #3078 [3cd0116](https://github.com/morpheus65535/bazarr/commit/3cd011663d5fb27e7fa899cfff75353ba053ce63)", "date": "2025-12-06T06:06:50Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.29/bazarr.zip"}, {"name": "v1.5.4-beta.28", "body": "From newest to oldest:\n- Fixed other stuff with jobs manager. #3078 [fa27c7e](https://github.com/morpheus65535/bazarr/commit/fa27c7eb0ad202480502289d45c07a23854e8f6a)", "date": "2025-12-04T06:07:31Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.28/bazarr.zip"}, {"name": "v1.5.4-beta.27", "body": "From newest to oldest:\n- Added Plex multiselect for libraries [e95721b](https://github.com/morpheus65535/bazarr/commit/e95721b8c8c1876d53f69eccdd8e5af53304069b)", "date": "2025-12-02T06:07:19Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.27/bazarr.zip"}, {"name": "v1.5.4-beta.26", "body": "From newest to oldest:\n- Fixed the improperly handled providers exception when searching for subtitles. #3078 [34c70be](https://github.com/morpheus65535/bazarr/commit/34c70be22ad17c4af16a59e8ebea8e66c7f86cb7)", "date": "2025-12-01T06:08:09Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.26/bazarr.zip"}, {"name": "v1.5.4-beta.25", "body": "From newest to oldest:\n- Fixed improperly handled exception when retrieving a video object during subtitle download for unsupported video file extensions. #3078 [b48cf77](https://github.com/morpheus65535/bazarr/commit/b48cf77eda8e281244a9eecb37e34263e3e21bfa)\n- Added Python 3.9 to the upcoming deprecated version starting with Bazarr 1.6. [9051974](https://github.com/morpheus65535/bazarr/commit/9051974d4c4a8c823cceec898b05426e9dc6cefc)\n- Fixed embeddedsubtitles provider issue with some subtitles format. #3085 [6e911cf](https://github.com/morpheus65535/bazarr/commit/6e911cf97d066ccb2223097966d52fe972dda4ea)", "date": "2025-11-30T06:07:03Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.25/bazarr.zip"}, {"name": "v1.5.4-beta.24", "body": "From newest to oldest:\n- Added a visual indicator to the manual download modal when a subtitles is being downloaded. #3082 [18b5d6e](https://github.com/morpheus65535/bazarr/commit/18b5d6ec07d3cff850ace61c91911183c5b48e9e)", "date": "2025-11-29T06:06:46Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.24/bazarr.zip"}, {"name": "v1.5.4-beta.23", "body": "From newest to oldest:\n- Fixed an issue with gemini translator introduced with the new jobs manager. [f69e2a6](https://github.com/morpheus65535/bazarr/commit/f69e2a6f42a246dd128d98e4f8c3f6e30d19292f)", "date": "2025-11-27T06:07:14Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.23/bazarr.zip"}, {"name": "v1.5.4-beta.22", "body": "From newest to oldest:\n- Fixed other issues with the new jobs manager. #3078 [35a0b07](https://github.com/morpheus65535/bazarr/commit/35a0b073293a5c8a2dd6873eb251b8fd38cc5416)", "date": "2025-11-25T06:07:30Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.22/bazarr.zip"}, {"name": "v1.5.4-beta.21", "body": "From newest to oldest:\n- Fixed an issue caused by unwanted missing subtitles searching during Sonarr synchronization. #3078 [4185c93](https://github.com/morpheus65535/bazarr/commit/4185c93798d2340ef8b834362a809d35fb8c91f9)", "date": "2025-11-24T06:07:56Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.21/bazarr.zip"}, {"name": "v1.5.4-beta.20", "body": "From newest to oldest:\n- Fixed the initial scan after the database schema update to prevent locking the jobs queue with a Sonarr sync task. #3078 [55be215](https://github.com/morpheus65535/bazarr/commit/55be215bc6cc2b615f2756c7ccde668c44d6b5ba)\n- Fixed upload subtitles that were blocking the jobs manager when automatic subtitles synchronization was enabled. #3077 [61a4889](https://github.com/morpheus65535/bazarr/commit/61a48892d504a1a033d454c0f987d7d3d7ab2f57)\n- Fixed subtitles getting improperly converted to srt even if `use original format` is enabled in languages profile. #3075 [eaf64ac](https://github.com/morpheus65535/bazarr/commit/eaf64ac9aec9e4d7672f640bbb5443c988181301)\n- Modified manual download of subtitles to be tracked in jobs manager. [1427ada](https://github.com/morpheus65535/bazarr/commit/1427ada9588dcde7bf2c61cfe4023f0426048058)", "date": "2025-11-23T06:06:44Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.20/bazarr.zip"}, {"name": "v1.5.4-beta.19", "body": "From newest to oldest:\n- Fixed Karagarga to use correct username and password fields for forum login [6dcdeef](https://github.com/morpheus65535/bazarr/commit/6dcdeefabb5305f7fc5cbeee89e44fb9b3ea23ca)\n- Added absolute episode number to the database to help properly match video to subtitles. It must be implemented in each provider's matching method to benefit from that. [b7aa5a1](https://github.com/morpheus65535/bazarr/commit/b7aa5a17d404a45bc763f7aa0069b25661fdbf35)", "date": "2025-11-21T06:07:11Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.19/bazarr.zip"}, {"name": "v1.5.4-beta.18", "body": "From newest to oldest:\n- Fixed the issue with jobs failing since last nightly in some circumstances. [f0ae7d6](https://github.com/morpheus65535/bazarr/commit/f0ae7d6e913add636d36af30b7c74b511427b63e)", "date": "2025-11-19T06:07:00Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.18/bazarr.zip"}, {"name": "v1.5.4-beta.17", "body": "From newest to oldest:\n- Added a backend jobs management system with a notifications drawer in UI to show the status of jobs. [f5d6721](https://github.com/morpheus65535/bazarr/commit/f5d6721409bd1bf1f5661674a286ba4f21f41dfd)", "date": "2025-11-18T06:07:10Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.17/bazarr.zip"}, {"name": "v1.5.4-beta.16", "body": "From newest to oldest:\n- Fixed avistaz_network provider when trying to download a zipped movie subtitles file. #3065 [70fecb8](https://github.com/morpheus65535/bazarr/commit/70fecb8c531d401a9e98376f67b58e14abc9e271)\n- Fixed an issue with the subsource.net provider where a null commentary returned causes a parsing error. #3064 [36b6ea3](https://github.com/morpheus65535/bazarr/commit/36b6ea3e476e60c406f10c415248dca6ddf67e01)", "date": "2025-11-16T06:06:48Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.16/bazarr.zip"}, {"name": "v1.5.4-beta.15", "body": "From newest to oldest:\n- Fixed titrari.ro provider by adding an automatic search for the \"Cautare Avansata\" page (Advanced search) [3698d6f](https://github.com/morpheus65535/bazarr/commit/3698d6f07f19da84db97e0c7328b429a4ea578c0)", "date": "2025-11-14T06:07:09Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.15/bazarr.zip"}, {"name": "v1.5.4-beta.14", "body": "From newest to oldest:\n- Added AnimeSub.info provider for Polish anime subtitles [9cc8485](https://github.com/morpheus65535/bazarr/commit/9cc8485a083744f43f63c1e352808a36e5cb6875)", "date": "2025-11-12T06:07:04Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.14/bazarr.zip"}, {"name": "v1.5.4-beta.13", "body": "From newest to oldest:\n- Improved announcements caching by using a CDN provider instead of calling GitHub directly. #3057 [d98915d](https://github.com/morpheus65535/bazarr/commit/d98915dfe5b894a698d2e1a7f807dec708c0a123)", "date": "2025-10-30T06:06:57Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.13/bazarr.zip"}, {"name": "v1.5.4-beta.12", "body": "From newest to oldest:\n- Fixed TypeError when logging deleted episodes from Sonarr sync [08a3643](https://github.com/morpheus65535/bazarr/commit/08a3643f0b323738b768e9a4eaf599924602b3f9)", "date": "2025-10-29T06:07:22Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.12/bazarr.zip"}, {"name": "v1.5.4-beta.11", "body": "From newest to oldest:\n- Fixed DeprecationWarning: pkg_resources is deprecated as an API. #3053 [680ead7](https://github.com/morpheus65535/bazarr/commit/680ead76f8cc059a15c381c6eabb4ca1dc397546)\n- Fixed Hebrew translation failing when using Lingarr. #3052 [1d0e054](https://github.com/morpheus65535/bazarr/commit/1d0e0543c8831dfa707e877fb9b707d2c3450fd5)", "date": "2025-10-22T06:07:16Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.11/bazarr.zip"}, {"name": "v1.5.4-beta.10", "body": "From newest to oldest:\n- Added null check for subtitle_entry while trying to define translation source language. #3046 [2af1f0c](https://github.com/morpheus65535/bazarr/commit/2af1f0cda2d5b8e28e698eb1ae3edc9b93a8eff1)", "date": "2025-10-19T06:06:26Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.10/bazarr.zip"}, {"name": "v1.5.4-beta.9", "body": "From newest to oldest:\n- Fixed the Persian language issue with the subsource provider. #3050 [debf419](https://github.com/morpheus65535/bazarr/commit/debf419665db13e703b990f9055afad68ec12682)", "date": "2025-10-18T06:05:48Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.9/bazarr.zip"}, {"name": "v1.5.4-beta.8", "body": "From newest to oldest:\n- Improved subsource provider by making each user responsible for getting its own api-key. [8c46e69](https://github.com/morpheus65535/bazarr/commit/8c46e69ba55fa96702add241eecf099bf26cce7c)", "date": "2025-10-16T06:07:13Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.8/bazarr.zip"}, {"name": "v1.5.4-beta.7", "body": "From newest to oldest:\n- Fixed autopulse configurator and added some error messages [d92d048](https://github.com/morpheus65535/bazarr/commit/d92d0484f8bf778eceb0177cfe2516c6078e2a47)\n- Improved subtitles translation by retrieving source language from the database [baad5eb](https://github.com/morpheus65535/bazarr/commit/baad5ebebcb251503d1823098e3d0c6b1dd7caf8)\n- Added subsource.net provider [cac3ffa](https://github.com/morpheus65535/bazarr/commit/cac3ffac521b5b5554426715c4f2d0a8674639bb)", "date": "2025-10-14T06:07:38Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.7/bazarr.zip"}, {"name": "v1.5.4-beta.6", "body": "From newest to oldest:\n- Added external webhook for Autopulse [960b6c6](https://github.com/morpheus65535/bazarr/commit/960b6c6a9cde0ee1a3598e7cfb21d4929a73e1f9)", "date": "2025-10-13T06:07:19Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.6/bazarr.zip"}, {"name": "v1.5.4-beta.5", "body": "From newest to oldest:\n- Fixed Plex \"Mark movies as recently added after downloading subtitles\" error caused by wrong date format [6ddba8a](https://github.com/morpheus65535/bazarr/commit/6ddba8af6021731942c1e77561f5a5442ea4ea3f)", "date": "2025-10-11T06:06:21Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.5/bazarr.zip"}, {"name": "v1.5.4-beta.4", "body": "From newest to oldest:\n- Improved interactive searching modal to show only subtitles matching the languages profile requirements. [7406bdc](https://github.com/morpheus65535/bazarr/commit/7406bdce8232357c06697581af8f2612cc0ab02e)", "date": "2025-10-10T06:06:54Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.4/bazarr.zip"}, {"name": "v1.5.4-beta.3", "body": "From newest to oldest:\n- Added support for specifying Postgres URL explicitly [fa6675e](https://github.com/morpheus65535/bazarr/commit/fa6675e857a35a5f2f7caa9c544a097b62e23207)", "date": "2025-10-08T06:07:01Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.3/bazarr.zip"}, {"name": "v1.5.4-beta.2", "body": "From newest to oldest:\n- Improved opensubtitles.com provider to reduce redirect request on the provider's API server. [b8eb1bb](https://github.com/morpheus65535/bazarr/commit/b8eb1bb82b01d0c03daa1a976085f8f1ea4d7c18)\n- Fixed SubsRo provider episode number matching [da2f129](https://github.com/morpheus65535/bazarr/commit/da2f12995bf69bccb5f61513e75db9e720b83b68)", "date": "2025-10-07T06:06:54Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.2/bazarr.zip"}, {"name": "v1.5.4-beta.1", "body": "From newest to oldest:\n- Fixed Radarr webhooks issue introduced in 1.5.3. Please review help text in Settings. [5ffc7e0](https://github.com/morpheus65535/bazarr/commit/5ffc7e0fb25026d4e4846deacca191e476e63042)", "date": "2025-09-28T06:06:10Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.1/bazarr.zip"}, {"name": "v1.5.4-beta.0", "body": "From newest to oldest:\n- Improved season guessing from filename when using upload subtitles feature [a57da17](https://github.com/morpheus65535/bazarr/commit/a57da17cc41b53a961d747c1c8bf603fc062040a)", "date": "2025-09-23T06:07:04Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4-beta.0/bazarr.zip"}, {"name": "v1.5.3", "body": "From newest to oldest:\n- Removed Argenteam-dump provider that doesn't exist anymore. #3004 [b9d0236](https://github.com/morpheus65535/bazarr/commit/b9d0236cf514119d2882a7f5e7078ba5c60ad9db)\n- Fixed subtitles search happening for series/seasons when a SignalR event is received from Sonarr even if defer subtitles searching was enabled. #3023 [a2121c1](https://github.com/morpheus65535/bazarr/commit/a2121c1a0b2615422e1f146806537092e704c65f)\n- Removed tusubtitulo provider that doesn't exist anymore. #3022 [c06389f](https://github.com/morpheus65535/bazarr/commit/c06389ffbb14691f94ea62b7c603f39b0096feea)\n- Added Plex URL sanitization to logging formatter [046a5b7](https://github.com/morpheus65535/bazarr/commit/046a5b7ca64a5aa4657fa91c35de5d8da689c4fc)\n- Improved Plex server connection by adding a requests session and disabled SSL validation [9a607bb](https://github.com/morpheus65535/bazarr/commit/9a607bbcd52920d2ac9074680a5d69e7911a7e71)\n- Fixed webhook KeyError (Plex) and sanitize sensitive data in logs [9c46d18](https://github.com/morpheus65535/bazarr/commit/9c46d1879e99d0b2cef5c3b8427d7c1a273bbf3c)\n- Added a jobs queue to deal with SignalR events sequentially [f4957d4](https://github.com/morpheus65535/bazarr/commit/f4957d400541cf563b62689b0f4e0e5ed0484f3c)\n- Reduced Plex oauth logging levels for improved clarity and debugging [9e6011a](https://github.com/morpheus65535/bazarr/commit/9e6011a5c744382ec1eb42ad297a5481a1869496)\n- Improved Plex integration to simplify the libraries selection, webhook creation and do selective content refresh instead of the whole library [c6ddee1](https://github.com/morpheus65535/bazarr/commit/c6ddee143283fde35d2853c34a33836e10e301ab)\n- Improved subtitles upgrade by giving translated subtitles a default score to make them upgradable [02b5aad](https://github.com/morpheus65535/bazarr/commit/02b5aad0aeecb31aef103788db182f3ccf7f8eca)\n- Improved Plex authentication error messages by eliminating broad exception catching and increasing clarity and specificity. #3001 [0fe6a6e](https://github.com/morpheus65535/bazarr/commit/0fe6a6e010312d7187d98aa4359177dd5c39b8be)\n- Added Plex OAuth Authentication Support [ecf5156](https://github.com/morpheus65535/bazarr/commit/ecf51560ea28250a093f4749f4da790f51a08bec)\n- Fixed type hinting issue under Python 3.8. [9733a35](https://github.com/morpheus65535/bazarr/commit/9733a35c502595cc6d40438535d9d8f0ca3b9c2e)\n- Updated lingarr payload format and added extra meta data [ca64892](https://github.com/morpheus65535/bazarr/commit/ca648920192d58c054257bfa7ce7f5838fdcb141)\n- Added Docker-based development environment [4c44995](https://github.com/morpheus65535/bazarr/commit/4c44995cb04da902005021fd822826595e5ab30a)\n- Fixed movie and series edit for media with unknown audio languages [3890371](https://github.com/morpheus65535/bazarr/commit/38903713e73b21534b56a995836a598286d69812)\n- Fixed lingarr translation support [2178cac](https://github.com/morpheus65535/bazarr/commit/2178cacf4acf417c9b12b2c49003e7eca1cf57a8)\n- Added support for Lingarr subtitles translation [e2f007f](https://github.com/morpheus65535/bazarr/commit/e2f007fa2e4603758db3037902256cdf1b18dd7b)\n- Fixed exception when Sonarr return improper audio track language data for an episode. #2977 [c8133c1](https://github.com/morpheus65535/bazarr/commit/c8133c1b9ec8e37135c5dabcefcfbbc3091e4fed)\n- Added SubsRo provider [dd27037](https://github.com/morpheus65535/bazarr/commit/dd270372ffbb7329cffdabddf991efd1de6f933c)\n- Improved the saving of settings to file in order to prevent saving unchanged settings or saving empty file when not enough space is available on disk. #2959 [aee7dd6](https://github.com/morpheus65535/bazarr/commit/aee7dd625268d288b6f718da590f78f3347bbced)\n- Fixed subtitri provider url. #2963 [81ac2ce](https://github.com/morpheus65535/bazarr/commit/81ac2cea76337c69875c2ae3117d10ddb0207aff)\n- Fixed release pipeline [ff71d7c](https://github.com/morpheus65535/bazarr/commit/ff71d7ca6b2cb54eec5046ae2c794854ccdfcdfb)\n- Added support for .mk3d video file extension. #2952 [ced0eee](https://github.com/morpheus65535/bazarr/commit/ced0eee66b57dec3f834770704dc615bdefd0c41)\n- Improved greeksubs provider to prevent reuse of the content from the first result when using interactive search modal. #2858 [9bed1bd](https://github.com/morpheus65535/bazarr/commit/9bed1bd3766f4a5a23d1afd7febbf729d27e71b4)\n- Fixed upgrade logic to prevent upgrade loop. [d334190](https://github.com/morpheus65535/bazarr/commit/d3341901163796c7392fa8d0f0864d78c90a0c85)\n- Fixed (again) the shutdown/restart of Bazarr. #2941 [aeaaeb6](https://github.com/morpheus65535/bazarr/commit/aeaaeb6b5352d472680b5329ba7b38f4a838af18)\n- Improved Gemini translator with some hotfixes [99f596e](https://github.com/morpheus65535/bazarr/commit/99f596e30bea466d98cdfdf247880bca105afc32)\n- Fixed shutdown/restart command not acting properly on some Linux and macOS operating system. #2941 [3d57a12](https://github.com/morpheus65535/bazarr/commit/3d57a1231cc0b89ce489d9def00b3eafd221e477)\n- Fix infinite loop during restoration of backup on certain non-Windows platforms [cc5fa42](https://github.com/morpheus65535/bazarr/commit/cc5fa4200c056b06d9df5470985bb0e6237aa948)\n- Added Gemini AI translation option [ff8466c](https://github.com/morpheus65535/bazarr/commit/ff8466cfbad76f766ae98f98ea4b223993c6c798)\n- Fixed anidb to handle one-to-many ID mapping [ccd667d](https://github.com/morpheus65535/bazarr/commit/ccd667d9537c2587b0aa436810658ae02ff372ee)\n- Added language mapping to WhisperAI (thanks to GitHub user v3DJG6GL) [6794eeb](https://github.com/morpheus65535/bazarr/commit/6794eeb2a4f0db37b5f5f06b657563ab057f80aa)\n- Fixed long block of text being unnecessary removed from subtitles files [fa9b0f0](https://github.com/morpheus65535/bazarr/commit/fa9b0f074866f74655595f1549dc00802a8c22a6)\n- Refactored Sonarr and Radarr hook. It may be a breaking change so users should review webhook parameters following information in Bazarr's settings. [a3102e8](https://github.com/morpheus65535/bazarr/commit/a3102e8a19ee74a00a6f25c3a78c93077029cf5b)\n- Fixed losing titulky VIP status during an active login session [f2cf1c0](https://github.com/morpheus65535/bazarr/commit/f2cf1c066c7b4487e29e6ef9deabd4eafb9259ef)\n- Added option to include language only when matching audio [ac19e37](https://github.com/morpheus65535/bazarr/commit/ac19e3743eb827f3c258f7d6e384333532224ef5)", "date": "2025-09-20T12:12:33Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.3/bazarr.zip"}, {"name": "v1.5.3-beta.28", "body": "From newest to oldest:\n- Removed Argenteam-dump provider that doesn't exist anymore. #3004 [b9d0236](https://github.com/morpheus65535/bazarr/commit/b9d0236cf514119d2882a7f5e7078ba5c60ad9db)\n- Fixed subtitles search happening for series/seasons when a SignalR event is received from Sonarr even if defer subtitles searching was enabled. #3023 [a2121c1](https://github.com/morpheus65535/bazarr/commit/a2121c1a0b2615422e1f146806537092e704c65f)\n- Removed tusubtitulo provider that doesn't exist anymore. #3022 [c06389f](https://github.com/morpheus65535/bazarr/commit/c06389ffbb14691f94ea62b7c603f39b0096feea)", "date": "2025-09-17T06:07:02Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.3-beta.28/bazarr.zip"}, {"name": "v1.5.3-beta.27", "body": "From newest to oldest:\n- Added Plex URL sanitization to logging formatter [046a5b7](https://github.com/morpheus65535/bazarr/commit/046a5b7ca64a5aa4657fa91c35de5d8da689c4fc)", "date": "2025-09-04T06:06:28Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.3-beta.27/bazarr.zip"}, {"name": "v1.5.3-beta.26", "body": "From newest to oldest:\n- Improved Plex server connection by adding a requests session and disabled SSL validation [9a607bb](https://github.com/morpheus65535/bazarr/commit/9a607bbcd52920d2ac9074680a5d69e7911a7e71)", "date": "2025-09-03T06:06:32Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.3-beta.26/bazarr.zip"}, {"name": "v1.5.3-beta.25", "body": "From newest to oldest:\n- Fixed webhook KeyError (Plex) and sanitize sensitive data in logs [9c46d18](https://github.com/morpheus65535/bazarr/commit/9c46d1879e99d0b2cef5c3b8427d7c1a273bbf3c)\n- Added a jobs queue to deal with SignalR events sequentially [f4957d4](https://github.com/morpheus65535/bazarr/commit/f4957d400541cf563b62689b0f4e0e5ed0484f3c)", "date": "2025-09-02T06:07:02Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.3-beta.25/bazarr.zip"}, {"name": "v1.5.3-beta.24", "body": "From newest to oldest:\n- Reduced Plex oauth logging levels for improved clarity and debugging [9e6011a](https://github.com/morpheus65535/bazarr/commit/9e6011a5c744382ec1eb42ad297a5481a1869496)", "date": "2025-08-26T06:07:05Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.3-beta.24/bazarr.zip"}, {"name": "v1.5.3-beta.23", "body": "From newest to oldest:\n- Improved Plex integration to simplify the libraries selection, webhook creation and do selective content refresh instead of the whole library [c6ddee1](https://github.com/morpheus65535/bazarr/commit/c6ddee143283fde35d2853c34a33836e10e301ab)", "date": "2025-08-25T06:07:20Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.3-beta.23/bazarr.zip"}, {"name": "v1.5.3-beta.22", "body": "From newest to oldest:\n- Improved subtitles upgrade by giving translated subtitles a default score to make them upgradable [02b5aad](https://github.com/morpheus65535/bazarr/commit/02b5aad0aeecb31aef103788db182f3ccf7f8eca)", "date": "2025-08-24T06:06:23Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.3-beta.22/bazarr.zip"}, {"name": "v1.5.3-beta.21", "body": "From newest to oldest:\n- Improved Plex authentication error messages by eliminating broad exception catching and increasing clarity and specificity. #3001 [0fe6a6e](https://github.com/morpheus65535/bazarr/commit/0fe6a6e010312d7187d98aa4359177dd5c39b8be)", "date": "2025-08-21T06:06:54Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.3-beta.21/bazarr.zip"}, {"name": "v1.5.3-beta.20", "body": "From newest to oldest:\n- Added Plex OAuth Authentication Support [ecf5156](https://github.com/morpheus65535/bazarr/commit/ecf51560ea28250a093f4749f4da790f51a08bec)", "date": "2025-08-19T06:06:40Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.3-beta.20/bazarr.zip"}, {"name": "v1.5.3-beta.19", "body": "From newest to oldest:\n- Fixed type hinting issue under Python 3.8. [9733a35](https://github.com/morpheus65535/bazarr/commit/9733a35c502595cc6d40438535d9d8f0ca3b9c2e)", "date": "2025-08-14T06:07:13Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.3-beta.19/bazarr.zip"}, {"name": "v1.5.3-beta.18", "body": "From newest to oldest:\n- Updated lingarr payload format and added extra meta data [ca64892](https://github.com/morpheus65535/bazarr/commit/ca648920192d58c054257bfa7ce7f5838fdcb141)", "date": "2025-08-11T06:07:43Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.3-beta.18/bazarr.zip"}, {"name": "v1.5.3-beta.17", "body": "From newest to oldest:\n- Added Docker-based development environment [4c44995](https://github.com/morpheus65535/bazarr/commit/4c44995cb04da902005021fd822826595e5ab30a)", "date": "2025-08-10T06:06:27Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.3-beta.17/bazarr.zip"}, {"name": "v1.5.3-beta.16", "body": "From newest to oldest:\n- Fixed movie and series edit for media with unknown audio languages [3890371](https://github.com/morpheus65535/bazarr/commit/38903713e73b21534b56a995836a598286d69812)\n- Fixed lingarr translation support [2178cac](https://github.com/morpheus65535/bazarr/commit/2178cacf4acf417c9b12b2c49003e7eca1cf57a8)", "date": "2025-07-30T06:07:51Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.3-beta.16/bazarr.zip"}, {"name": "v1.5.3-beta.15", "body": "From newest to oldest:\n- Added support for Lingarr subtitles translation [e2f007f](https://github.com/morpheus65535/bazarr/commit/e2f007fa2e4603758db3037902256cdf1b18dd7b)", "date": "2025-07-29T06:07:57Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.3-beta.15/bazarr.zip"}, {"name": "v1.5.3-beta.14", "body": "From newest to oldest:\n- Fixed exception when Sonarr return improper audio track language data for an episode. #2977 [c8133c1](https://github.com/morpheus65535/bazarr/commit/c8133c1b9ec8e37135c5dabcefcfbbc3091e4fed)", "date": "2025-07-25T06:07:11Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.3-beta.14/bazarr.zip"}, {"name": "v1.5.3-beta.13", "body": "From newest to oldest:\n- Added SubsRo provider [dd27037](https://github.com/morpheus65535/bazarr/commit/dd270372ffbb7329cffdabddf991efd1de6f933c)", "date": "2025-07-20T06:06:46Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.3-beta.13/bazarr.zip"}, {"name": "v1.5.3-beta.12", "body": "From newest to oldest:\n- Improved the saving of settings to file in order to prevent saving unchanged settings or saving empty file when not enough space is available on disk. #2959 [aee7dd6](https://github.com/morpheus65535/bazarr/commit/aee7dd625268d288b6f718da590f78f3347bbced)\n- Fixed subtitri provider url. #2963 [81ac2ce](https://github.com/morpheus65535/bazarr/commit/81ac2cea76337c69875c2ae3117d10ddb0207aff)", "date": "2025-07-19T06:06:32Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.3-beta.12/bazarr.zip"}, {"name": "v1.5.3-beta.11", "body": "From newest to oldest:\r\n- Added support for .mk3d video file extension. [ced0eee](https://github.com/morpheus65535/bazarr/commit/ced0eee66b57dec3f834770704dc615bdefd0c41) https://github.com/morpheus65535/bazarr/issues/2952\r\n- Improved greeksubs provider to prevent reuse of the content from the first result when using interactive search modal. [9bed1bd](https://github.com/morpheus65535/bazarr/commit/9bed1bd3766f4a5a23d1afd7febbf729d27e71b4) https://github.com/morpheus65535/bazarr/issues/2858", "date": "2025-07-15T10:50:54Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.3-beta.11/bazarr.zip"}, {"name": "v1.5.3-beta.8", "body": "From newest to oldest:\n- Fixed upgrade logic to prevent upgrade loop. [d334190](https://github.com/morpheus65535/bazarr/commit/d3341901163796c7392fa8d0f0864d78c90a0c85)\n- Fixed (again) the shutdown/restart of Bazarr. #2941 [aeaaeb6](https://github.com/morpheus65535/bazarr/commit/aeaaeb6b5352d472680b5329ba7b38f4a838af18)", "date": "2025-07-07T06:07:02Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.3-beta.8/bazarr.zip"}, {"name": "v1.5.3-beta.7", "body": "From newest to oldest:\n- Improved Gemini translator with some hotfixes [99f596e](https://github.com/morpheus65535/bazarr/commit/99f596e30bea466d98cdfdf247880bca105afc32)", "date": "2025-06-17T06:06:56Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.3-beta.7/bazarr.zip"}, {"name": "v1.5.3-beta.6", "body": "From newest to oldest:\n- Fixed shutdown/restart command not acting properly on some Linux and macOS operating system. #2941 [3d57a12](https://github.com/morpheus65535/bazarr/commit/3d57a1231cc0b89ce489d9def00b3eafd221e477)", "date": "2025-06-12T06:06:54Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.3-beta.6/bazarr.zip"}, {"name": "v1.5.3-beta.5", "body": "From newest to oldest:\n- Fix infinite loop during restoration of backup on certain non-Windows platforms [cc5fa42](https://github.com/morpheus65535/bazarr/commit/cc5fa4200c056b06d9df5470985bb0e6237aa948)", "date": "2025-06-09T06:07:13Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.3-beta.5/bazarr.zip"}, {"name": "v1.5.3-beta.4", "body": "From newest to oldest:\n- Added Gemini AI translation option [ff8466c](https://github.com/morpheus65535/bazarr/commit/ff8466cfbad76f766ae98f98ea4b223993c6c798)\n- Fixed anidb to handle one-to-many ID mapping [ccd667d](https://github.com/morpheus65535/bazarr/commit/ccd667d9537c2587b0aa436810658ae02ff372ee)", "date": "2025-06-07T06:05:55Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.3-beta.4/bazarr.zip"}, {"name": "v1.5.3-beta.3", "body": "From newest to oldest:\n- Added language mapping to WhisperAI (thanks to GitHub user v3DJG6GL) [6794eeb](https://github.com/morpheus65535/bazarr/commit/6794eeb2a4f0db37b5f5f06b657563ab057f80aa)\n- Fixed long block of text being unnecessary removed from subtitles files [fa9b0f0](https://github.com/morpheus65535/bazarr/commit/fa9b0f074866f74655595f1549dc00802a8c22a6)", "date": "2025-05-26T06:07:00Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.3-beta.3/bazarr.zip"}, {"name": "v1.5.3-beta.2", "body": "From newest to oldest:\n- Refactored Sonarr and Radarr hook. It may be a breaking change so users should review webhook parameters following information in Bazarr's settings. [a3102e8](https://github.com/morpheus65535/bazarr/commit/a3102e8a19ee74a00a6f25c3a78c93077029cf5b)", "date": "2025-05-23T06:06:42Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.3-beta.2/bazarr.zip"}, {"name": "v1.5.3-beta.1", "body": "From newest to oldest:\n- Fixed losing titulky VIP status during an active login session [f2cf1c0](https://github.com/morpheus65535/bazarr/commit/f2cf1c066c7b4487e29e6ef9deabd4eafb9259ef)", "date": "2025-05-15T06:06:28Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.3-beta.1/bazarr.zip"}, {"name": "v1.5.3-beta.0", "body": "From newest to oldest:\n- Added option to include language only when matching audio [ac19e37](https://github.com/morpheus65535/bazarr/commit/ac19e3743eb827f3c258f7d6e384333532224ef5)", "date": "2025-05-14T06:06:29Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.3-beta.0/bazarr.zip"}, {"name": "v1.5.2", "body": "From newest to oldest:\n- Added frontend only Docker Image to support developpers [eacb8b7](https://github.com/morpheus65535/bazarr/commit/eacb8b70682363b33db74ca4beee1be5d4a09c6d)\n- Fixed profiles sync with Sonarr and Radarr. #2932 [71cd0c8](https://github.com/morpheus65535/bazarr/commit/71cd0c80c7e99b079aa7abee573bc6e959dbcf18)\n- Fixed titrari provider advanced search endpoint. #2930 [794b006](https://github.com/morpheus65535/bazarr/commit/794b0067b075b1060258fc99bc20cabf8d8a2e77)\n- Fixed subzero mods hearing-impaired removal regex broken in a82dca9. #2849 [3a248b3](https://github.com/morpheus65535/bazarr/commit/3a248b374181997b4157dfc3c5ed67297390897e)\n- Fixed small issues with subdl to improve throttling conditions [c853de8](https://github.com/morpheus65535/bazarr/commit/c853de8bd76b22cb394ebe88152aadc0f5743fd9)\n- Fixed Sub-Zero Hearing Impaired subtitle content modifications. #2849 [a82dca9](https://github.com/morpheus65535/bazarr/commit/a82dca914a6e9bce9e4ea7a91ba1ec62030910e7)\n- Improved backup restore to help fix long-standing issue. #2850 [17024a9](https://github.com/morpheus65535/bazarr/commit/17024a9899fe75047f903df41827b4820cd273a6)\n- Updated keyboard interrupt handling code [db49fd6](https://github.com/morpheus65535/bazarr/commit/db49fd6b03281a1f1738bc28f1f2f1cd79b3b61b)\n- Updated regex to not remove sign in ASS subtitles in embedded subtitles [2964a0c](https://github.com/morpheus65535/bazarr/commit/2964a0c9ec57102a23163f21d2f8f6f65c60715e)\n- Changed notification position to bottom-left to not obscure page navigation [c752796](https://github.com/morpheus65535/bazarr/commit/c752796b829303d856b1e6c880c489674b35dc2f)\n- Fixed improper detection of Chinese subtitles for embedded subtitles provider. #2914 [ee817c2](https://github.com/morpheus65535/bazarr/commit/ee817c2b7e2e346d35475674e2a55a66aed21cb1)\n- Fixed improper uppercase for some release groups in matching routine [82dad60](https://github.com/morpheus65535/bazarr/commit/82dad607c1a9f63f209a76178acb8a8f55a91de7)\n- Additional multiline log file fixes [b4e4ea5](https://github.com/morpheus65535/bazarr/commit/b4e4ea5bb9a9b216f12af6ea8ae9f842a40d9d47)\n- Handle multiline log output without proper log file timestamp headers like produced by KnowIt errors [e91b71c](https://github.com/morpheus65535/bazarr/commit/e91b71c6ec17f1587e6f8a49b381c518df63a0e8)\n- Whisper - eliminate \"missing/bad audio track\" errors when files have multiple audio streams [d6e7773](https://github.com/morpheus65535/bazarr/commit/d6e7773a0f1731e178fca9d925319a87e824dc0f)\n- Added an announcement about upcoming deprecation of Python 3.8 in Bazarr v1.6 [85d75a7](https://github.com/morpheus65535/bazarr/commit/85d75a72b81a8899046b47a1c299ecb51113b188)\n- Added experimental Python 3.13 compatibility. #2803 [759da8a](https://github.com/morpheus65535/bazarr/commit/759da8a111b5e403512bf581aba037575a92516f)\n- Replaced pipes with shlex in custom_libs/libfilebot/main.py [4642db3](https://github.com/morpheus65535/bazarr/commit/4642db334a8b94a865cbf811ab90fc5316c74db0)\n- Replaced imghdr with filetype for image detection [9825a3a](https://github.com/morpheus65535/bazarr/commit/9825a3a10959dc6196fd4bfd3a5ec24a9c8eb8f8)\n- Added an unauthenticated API endpoint to test Bazarr availability: /api/system/ping [2c7294d](https://github.com/morpheus65535/bazarr/commit/2c7294de0de5620e9c33ff1cfb99f6e6b6278dbb)\n- Fixed UnboundLocalError when viewing log files [84ebcf7](https://github.com/morpheus65535/bazarr/commit/84ebcf7a378bfae2a07fa3c6633b0e3b2c384637)\n- Added Sync button to individual Series and Movie pages [525d569](https://github.com/morpheus65535/bazarr/commit/525d569d09e707a0dcd317bdad06a571fc2e794f)\n- Fixed upgrade process again to prevent infinite loop of subtitles upgrade. #2749 [81909ca](https://github.com/morpheus65535/bazarr/commit/81909caf51de0801389e80c191769be964979b84)\n- Added a validation to confirm if media file exists during initial sync before trying to search for subtitles. #2866 [63a3622](https://github.com/morpheus65535/bazarr/commit/63a3622615e2b5ebb2b68832136da1f224cfb4b7)\n- Added Weekly option to Search and Upgrade Subtitles settings [7dbc3cb](https://github.com/morpheus65535/bazarr/commit/7dbc3cb17ca178c17f9bb9673df926a00f7d002e)\n- Fix for prior uppercase mod fix [31fe371](https://github.com/morpheus65535/bazarr/commit/31fe37178279b5bfdb49351b176e394f431cc1b4)\n- Improved uppercase detection / execution in Fix Uppercase mod [2a330f6](https://github.com/morpheus65535/bazarr/commit/2a330f63dc18562f5c4647be2680705c7a225efb)\n- Fixed another issue with Yavka provider. #2225 [cefd163](https://github.com/morpheus65535/bazarr/commit/cefd1638dd5809cda93473a5a34a26d7156a6ff3)\n- Multiple providers - Removed overwrite of provider language object [515282e](https://github.com/morpheus65535/bazarr/commit/515282eed862c706f4ed2ace14f6c51eee631028)\n- Added animetosho provider german, vietnamese, russian and indonesian language support [fa4aca8](https://github.com/morpheus65535/bazarr/commit/fa4aca8bb1b7cbe820ba7c1d803d1bc628989cd0)\n- Regielive fix - Removed overwrite of provider language object [7cb471f](https://github.com/morpheus65535/bazarr/commit/7cb471fc200d768bfdae895942485e9b50a9271c)\n- Fixed properly timezone usage to prevent high CPU usage. #1914 [c22599a](https://github.com/morpheus65535/bazarr/commit/c22599a8bfbfede83dd4a748cc68301af21a0213)\n- Added animekalesi.com provider for Turkish Anime subtitles [3b4415e](https://github.com/morpheus65535/bazarr/commit/3b4415ec3f9349b8ff42cbe8631413fb4ef56222)\n- Fixed additional error catching when trying to bind to IPv6 when it's not supported. #2738 [fc9f94e](https://github.com/morpheus65535/bazarr/commit/fc9f94e9174604c6fa4fbb2700dfec2d07dc7211)\n- Added passing of video filename to detect-language for whisper provider [6c65267](https://github.com/morpheus65535/bazarr/commit/6c652673820ddd9aa29632cce88412b06be5bbab)\n- Fixed unwanted removal of subtitles format tags when using any mods. #2846 [1a93eb4](https://github.com/morpheus65535/bazarr/commit/1a93eb4049d859b0c913db9109a94cba7e51c8e9)\n- Fixed zimuku wrong archives subtitle language identified [#2856](https://github.com/morpheus65535/bazarr/pull/2856)\n- Fixed unhandled exception during backup restoration process. #2850 [2f16ae2](https://github.com/morpheus65535/bazarr/commit/2f16ae2e50fbfae583ffdfe688946cea594239c6)\n- Mods/Fix Uppercase: Fix broken uppercase detection in certain cases [#2852](https://github.com/morpheus65535/bazarr/pull/2852)\n- Added Turkcealtyazi.org provider for Turkish subtitles [8ff5d58](https://github.com/morpheus65535/bazarr/commit/8ff5d5838a2e8bfccacfc6e583556ef06dc8a24c)\n- Added more debug logging to opensubtitles.com provider to help then investigate issues. [6d5ebb0](https://github.com/morpheus65535/bazarr/commit/6d5ebb0faa6d965ebb16cc5d0287c0972e27e197)\n- Fixed UNC path parsing for Radarr sync [d1775ff](https://github.com/morpheus65535/bazarr/commit/d1775ff5c133d0205258b8a6f298495bc83ec862)\n- Fixed upgrade process for translated subtitles. #2817 [e2a3f36](https://github.com/morpheus65535/bazarr/commit/e2a3f363d1e81d1285c75403e46853445f0f9122)\n- Added navigation bar shell scroll support [59d8243](https://github.com/morpheus65535/bazarr/commit/59d8243d0b40b649f612136d333614e17d368127)\n- Added missing settings preventing proper download of subtitles. #2839 [b9a0d9c](https://github.com/morpheus65535/bazarr/commit/b9a0d9c922f4237dc4a6504d7cc42784afe32bc5)\n- Added support for remote DNS query over socks5h proxy. #2839 [bdbe946](https://github.com/morpheus65535/bazarr/commit/bdbe946be25f3f41fba156273eee1f5e24eb0aab)\n- Fixed yavka.net provider by passing all form parameters and improved caching to reduce number of requests [99d9691](https://github.com/morpheus65535/bazarr/commit/99d9691eb1a43d6905b006670dc67cb674a1b5b1)\n- Added scan Plex library option for new files after downloading subtitles [31400c8](https://github.com/morpheus65535/bazarr/commit/31400c89576ca0622e9816fc1a3a430cc76e4b62)\n- Added feature to change \"added\" info in Plex once subtitles are downloaded [fe7b224](https://github.com/morpheus65535/bazarr/commit/fe7b224916c169a58c3f91da8592dd09ae2ff6f7)\n- Updated vendored modules [2fc8f10](https://github.com/morpheus65535/bazarr/commit/2fc8f10a949d4e08c3038eada35d453fe3000b13)\n- Fixed podnapisi TypeError since we've merged #2790. [6fc6ca5](https://github.com/morpheus65535/bazarr/commit/6fc6ca5ec20138d52e1c2637b9f291af7a2c0b7c)\n- Fixed modal with tables application crash [4f77710](https://github.com/morpheus65535/bazarr/commit/4f77710f462ccd8765465b97ca7f5eac334c30cb)\n- Persist pages on url and hydrate on page load [#2826](https://github.com/morpheus65535/bazarr/pull/2826)\n- Added some failsafe to RegieLive provider to try to prevent getting redirected to captcha validation or being completely blocked for a while. #2165 [e17bad6](https://github.com/morpheus65535/bazarr/commit/e17bad6ec49421a315d463522ae40c5c9cd06dc9)\n- Fixed issue with some custom languages subtitles while trying to index them. #2815 [5888011](https://github.com/morpheus65535/bazarr/commit/58880117a9130368acc1eb8f636f0a564a1e123b)\n- Fixed issue with API not returning proper subtitles hi or forced subtitles in some edge cases [e780edd](https://github.com/morpheus65535/bazarr/commit/e780edd0b71924859d187f949d5669a791efe7c1)\n- Removed opensubtitles.org deprecation announcement for VIP users. [9ac6c69](https://github.com/morpheus65535/bazarr/commit/9ac6c69a4f4ee85f36a805c6bc65cd6d6de457dd)\n- Added mass delete subtitle files [#2816](https://github.com/morpheus65535/bazarr/pull/2816)\n- Added TooManyRequests throttling to podnapisi provider. [6a791b2](https://github.com/morpheus65535/bazarr/commit/6a791b2be065521c7437be9313d4232f2b8ec7a6)\n- Improved assrt release name matching by ignoring meaningless values. #2761 [2a038cd](https://github.com/morpheus65535/bazarr/commit/2a038cdc214357f6aae249f7119799fed6f062d7)", "date": "2025-05-11T16:40:55Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.2/bazarr.zip"}, {"name": "v1.5.1", "body": "From newest to oldest:\n- Improved languages profile health check to include default assigned profiles [0413dba](https://github.com/morpheus65535/bazarr/commit/0413dbaa4cf632df0f560f5df2cd67851c3eee02)\n- Fixed sync issue with Radarr that would remove all movies from database on every sync. [60febe3](https://github.com/morpheus65535/bazarr/commit/60febe3d12b75d534b64d56839ee79ee063958fd)\n- Added check to opensubtitles.com for SDH subtitles being classified as forced [4809b40](https://github.com/morpheus65535/bazarr/commit/4809b403ca3b98f0f38f4e7ef62565b5a40e9aed)\n- Fixed Bazarr not starting when configured IP isn't available for binding. [b71daad](https://github.com/morpheus65535/bazarr/commit/b71daad7fb6a8a0a9d47a29471c24989eabef88c)\n- Improved Sonarr and Radarr syncing to prevent database integrity exception being raised by relying on proper primary keys instead of other values. [8346ea9](https://github.com/morpheus65535/bazarr/commit/8346ea9dc857d6f9bcd2ed3a452e0cbd1c38cfd9)\n- Added opensubtitles specific throttling for server under maintenance (http 506) [2247c55](https://github.com/morpheus65535/bazarr/commit/2247c55bfa9fd38bf3fbe80330a5c37f4988ee6a)", "date": "2025-01-01T16:15:52Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.1/bazarr.zip"}, {"name": "v1.5.0", "body": "From newest to oldest:\n- Reduced throttle from 24 hours to 6 before retrying Opensubtitles.com API on DownloadLimitExceeded [d5a290c](https://github.com/morpheus65535/bazarr/commit/d5a290c7a2bf4c0d7d923bb967d1825de2bbaba3)\n- Fixed download error with Napiprojekt provider [3209355](https://github.com/morpheus65535/bazarr/commit/320935548c28e85bbd9b0b0a6a073f1439deba31)\n- Fixed titrari provider to prevent abuse and throttle properly. #2709 [9d62d84](https://github.com/morpheus65535/bazarr/commit/9d62d84ef590c65e7e9392fe82f1f2022b90bede)\n- Added languages profile creation and assignment to health check. [43d9d43](https://github.com/morpheus65535/bazarr/commit/43d9d43224c84609a4fbd050c8d82e9500743a68)\n- Added series status and last air date [c8e2894](https://github.com/morpheus65535/bazarr/commit/c8e2894b2ba033a11eb52ccd4f50186da74a90d8)\n- Added missing subtitles count in series episodes view [f81780f](https://github.com/morpheus65535/bazarr/commit/f81780fac564080301b06be76dbd33267b8f0ac8)\n- Added official support for Python 3.12 [43a5841](https://github.com/morpheus65535/bazarr/commit/43a5841d04f07455f1f72d22817aa9a342772b91)\n- Fixed improperly guessed video episode number while refining. #2784 [cf559d1](https://github.com/morpheus65535/bazarr/commit/cf559d1028803dad83921f2b61162199bb1fb27f)\n- Fixed podnapisi not returning results [4df822d](https://github.com/morpheus65535/bazarr/commit/4df822d363b448b98000b6c4c6de054d8faa45e4)\n- Added debug logging while refining video object from scene name. #2784 [63c36c8](https://github.com/morpheus65535/bazarr/commit/63c36c8c184a5d7a34892f47e0f16d7b7ce6ea15)\n- Improved Settings wording and organization. [d2dc869](https://github.com/morpheus65535/bazarr/commit/d2dc869c1c90d479a3a39aee264f9d695af2e53c)\n- Fixed EmbeddedSubtitles provider results caching [a7df6a9](https://github.com/morpheus65535/bazarr/commit/a7df6a9c6213cbb16ffc212f22aa3ae4c82599dd)\n- Fixed missing mobile tooltips [137d619](https://github.com/morpheus65535/bazarr/commit/137d61930d6d570515b5d3a4149c19f6206b6aea)\n- Added frontend notification during automatic syncing of subtitles. #2724 [f4ca0f9](https://github.com/morpheus65535/bazarr/commit/f4ca0f9e5586b9b84f137c102e4b1c577b883da8)\n- Added opensubtitlescom provider validation [#2770](https://github.com/morpheus65535/bazarr/pull/2770)\n- Fixed item overview path label overflow [#2780](https://github.com/morpheus65535/bazarr/pull/2780)\n- Fixed match popover position [#2777](https://github.com/morpheus65535/bazarr/pull/2777)\n- Fixed issue with some DB queries and PostgreSQL. [d7f06bb](https://github.com/morpheus65535/bazarr/commit/d7f06bb707e74bd24b89d94dd9486a4c60601738)\n- Improved wording for Embedded Subtitles UI components [4d022c2](https://github.com/morpheus65535/bazarr/commit/4d022c24b60524f4235c49de324a52e97192b881)\n- Added matches dialog alert and column titles [#2771](https://github.com/morpheus65535/bazarr/pull/2771)\n- Fixed a bug introduced in Napiprojekt provider [669ed06](https://github.com/morpheus65535/bazarr/commit/669ed069f52e4f5bb95fa85d431ba2cdb6b57429)\n- Added Napiprojekt provider releases info and a new options to filter subtitles based on uploader [42d569f](https://github.com/morpheus65535/bazarr/commit/42d569faa357d49f4779cf5e9effe9f818eb9cb7)\n- Added validation for incomplete indexing of subtitles or calculation of missing subtitles before searching. [5b3312e](https://github.com/morpheus65535/bazarr/commit/5b3312ea4d88b3c37087da3938e43a021033d07e)\n- Fixed issue introduced in 1.4.6-beta.20 when subtitles upgrade is disabled. #2768 [6fbc912](https://github.com/morpheus65535/bazarr/commit/6fbc91289fe4031a73fb34d34706063a9d45d93b)\n- Refactored upgrade routine to bring logic out of db requests but into Python code. #2749 [24096cb](https://github.com/morpheus65535/bazarr/commit/24096cb10f6aaf3b377bfb24ef255efcdccf89c4)\n- Added switch to control passing of video filename in whisper provider modal [e298d15](https://github.com/morpheus65535/bazarr/commit/e298d157247951beea8578dcd632d80cd3a5d75c)\n- Fixed typos in assrt provider. #1953 [48cdc8b](https://github.com/morpheus65535/bazarr/commit/48cdc8bfc83487b2fa990a5669a0da07a71def54)\n- Fixed issue when whisper returns more than one subtitle for language profiles with more than one language #2758 [d67477a](https://github.com/morpheus65535/bazarr/commit/d67477aded7de5948d2156e2a2e4c83897c08f81)\n- Adjusted search result styles [0d63448](https://github.com/morpheus65535/bazarr/commit/0d6344859b56a533c22df3bfc36a00fbe66c2873)\n- Reverted last commit [db450bd](https://github.com/morpheus65535/bazarr/commit/db450bdcc35536ed1b520ff28430284134a60dfc)\n- Added logging of upgraded subtitles original ID to database [a70b26c](https://github.com/morpheus65535/bazarr/commit/a70b26cdbe520e75966af91f0be96d779bdfee0d)\n- Fixed an issue that prevented Bazarr from starting when PIv6 has been disabled using grub. #2738 [4eb09c5](https://github.com/morpheus65535/bazarr/commit/4eb09c546d4ebb612340de80301fdfc7549843b1)\n- Fixed logging of proxied client requests while authenticating. #2721 [ac1a3c5](https://github.com/morpheus65535/bazarr/commit/ac1a3c5eb07650eb3942163ca3d8f6485a2027b5)\n- Fixed anidb refiner special episodes without offset [#2736](https://github.com/morpheus65535/bazarr/pull/2736)\n- Handle bad JSON results from subsynchro provider #2735 [239ab78](https://github.com/morpheus65535/bazarr/commit/239ab780eb5c3006ce28a45eb5bf2c7eb65d56ad)\n- Improved guessing of video file properties by using file name and refining it with scene name if available. #2704 [c615f99](https://github.com/morpheus65535/bazarr/commit/c615f99f0635ab57e0de1015e4e4575821c074aa)\n- Fixed subdl to not ignore movies subtitles by erroneously check for season packs. #2725 [a186e64](https://github.com/morpheus65535/bazarr/commit/a186e64893fd71d986ef922d9d90cf0b9435ae41)\n- Fixed issue with translation failing when nothing is returned by Google Translate. #2519 [b34a0c1](https://github.com/morpheus65535/bazarr/commit/b34a0c19a21a2caac3fa8cf29cdcfa96717b54fc)\n- Added search poster [#2722](https://github.com/morpheus65535/bazarr/pull/2722)\n- Added support for Spanish (Latino) in opensubtitles.com. #2720 [a1658bb](https://github.com/morpheus65535/bazarr/commit/a1658bbf3271f66295ca8106eabfa2ab842cdb17)\n- Added Anilist error log when the record exists on mapping but doesn't enrich with Anilist id [a9243c6](https://github.com/morpheus65535/bazarr/commit/a9243c6c03fd7d24eb522231cf899d25aa850b66)\n- Added created and updated timestamp to DB for series, episodes and movies [678443f](https://github.com/morpheus65535/bazarr/commit/678443f212cb82b795bd0d7db14c845f641bd804)\n- Fixed RegieLive JSONDecodeError #2727 [092012a](https://github.com/morpheus65535/bazarr/commit/092012a48715fd65184cef5e623bfb60f6d01543)\n- Fixed titulky NameError issue [1874f29](https://github.com/morpheus65535/bazarr/commit/1874f29789aa574c867ff279892db12ae154e6cf)\n- Fixed another issue with subtitles upgrade process. [56d8f2c](https://github.com/morpheus65535/bazarr/commit/56d8f2c9a36536f0d5c8e29b331dc3d01729042f)\n- Fixed issue with subtitles upgrade process on Windows [de9ce4d](https://github.com/morpheus65535/bazarr/commit/de9ce4d13dc0fc2fa25597d9d3eb13bf025dc22a)\n- Fixed subtitles naming when saving subtitles to prevent parsing for HI content if the provider (or the user if it's an upload) specifies that it should be considered as HI. #2719 [5139fca](https://github.com/morpheus65535/bazarr/commit/5139fca5b8f60dd05be76c59296c3388d62d8199)\n- Fixed issue introduced in upgrade process in beta.3 [16499fc](https://github.com/morpheus65535/bazarr/commit/16499fc674b2a6aef7eab0bf07ff95e786c9afbd)\n- Improved provider labeling [9eb9bb5](https://github.com/morpheus65535/bazarr/commit/9eb9bb55c95430400668e4372179eee340b4db24)\n- Fixed subtitrari noi provider issue while downloading some subtitles. #2708 [92107a2](https://github.com/morpheus65535/bazarr/commit/92107a24257b996e28a045ff0e29f37812093a5c)\n- Fixed error while inserting episodes during sync process. #2700 [4b9417c](https://github.com/morpheus65535/bazarr/commit/4b9417c2e280ee42853c56ad14580be4dab48cfe)\n- Fixed subtitles conversion when use original format is enabled and prevented hearing-impaired detection for non srt format subtitles. #2693 [43563cd](https://github.com/morpheus65535/bazarr/commit/43563cdcbd9524803856228352a3ef0d1131717c)\n- Fixed bad non-HI detection with embedded provider when forced subtitles available [f50bcf3](https://github.com/morpheus65535/bazarr/commit/f50bcf34ac3c246d21a69dc3cc2f2eba63314c21)\n- Added the option to skip mismatched fps to Titulky [f296ba5](https://github.com/morpheus65535/bazarr/commit/f296ba5336a58c1108fa6a255a89077bcb23d8b4)\n- Added season pack download feature to titlovi [a4873fc](https://github.com/morpheus65535/bazarr/commit/a4873fc0f5207f4894e59a498a7a50e5bcef7803)\n- Implemented subdivx version resolution for buscar parameter [4f2bcc1](https://github.com/morpheus65535/bazarr/commit/4f2bcc17d9de6e2d53cd43a5c24cc91f2ba90ff1)", "date": "2024-12-24T15:18:44Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.0/bazarr.zip"}, {"name": "v1.4.5", "body": "From newest to oldest:\n- When multiple audio streams exist, pick the correct one for whisper to process [#2688](https://github.com/morpheus65535/bazarr/pull/2688)\n- Fixed subtitles translation to Portuguese. #2689 [7000d2a](https://github.com/morpheus65535/bazarr/commit/7000d2ac2c7a52fd0c429c17f5e826e9e3633bfc)\n- Fixed subdivx provider after recent changes to their website. #2686 [a1fac16](https://github.com/morpheus65535/bazarr/commit/a1fac160fbf3f71013ee25566029aa6377097940)\n- Fixed chinese traditional custom language hi extensions [bd3d1e5](https://github.com/morpheus65535/bazarr/commit/bd3d1e56246812d348039e373f4fb96dd8e3a78f)\n- Fixed improper paths history logging for different tools [0200bb9](https://github.com/morpheus65535/bazarr/commit/0200bb96d98127ee32b6b66f8d6b9e21d4571a4d)\n- Added database type, version and migration to System-->Status page. [6297b4b](https://github.com/morpheus65535/bazarr/commit/6297b4b83cbae86cfefb31eb8455fb2a1e83bedf)\n- Fixed database migration issue with postgresql. #2664 [25098e5](https://github.com/morpheus65535/bazarr/commit/25098e5e07533f9eea9602d6a37380aa68a86bbb)\n- Fixed duplicate IDs in languages profile items [c11bdf3](https://github.com/morpheus65535/bazarr/commit/c11bdf34fadd49ea39cc73e471cc9a3075e492f4)\n- Fixed upload subtitle language [#2675](https://github.com/morpheus65535/bazarr/pull/2675)\n- Fixed duplicated search result name for series and movies [#2682](https://github.com/morpheus65535/bazarr/pull/2682)\n- Clear log file contents on Empty log [5e08898](https://github.com/morpheus65535/bazarr/commit/5e08898de82d62ecaf782aa1bb2032ff6304841d)\n- Improved embeddedsubtitles provider by turning on Audio Sync during audio extraction process [c69be93](https://github.com/morpheus65535/bazarr/commit/c69be93cd6bf9cf4ce6339052e938a3c5420e31f)\n- Fixed SyntaxWarning in subzero language enforced in Python 3.12. #2656 [14a361d](https://github.com/morpheus65535/bazarr/commit/14a361dd97bb89204c748f60ef6052544d992dac)\n- Removed unnecessary vendored argparse module since it's included in Python since 3.2 [384a754](https://github.com/morpheus65535/bazarr/commit/384a754f9ef93ec51ce59fa64d0423cd66d4560f)\n- Fixed logging filter issue. [90b4480](https://github.com/morpheus65535/bazarr/commit/90b44802dc3be1429b5d41eb4ad4603c80f1ce80)\n- Fixed logging filter bug introduced in 1.4.4 [cc7a800](https://github.com/morpheus65535/bazarr/commit/cc7a8000e74c09ac2a747cf303ff86a48f37ec1e)", "date": "2024-10-02T01:15:01Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.4.5/bazarr.zip"}, {"name": "v1.4.4", "body": "From newest to oldest:\n- Added support for Legendas.net provider [b8aa2a8](https://github.com/morpheus65535/bazarr/commit/b8aa2a8b1af42dff9539c6e190bd2e6a7a7fd0ca)\n- Modified some language names to match those in Sonarr and Radarr. #2650 [6d062f3](https://github.com/morpheus65535/bazarr/commit/6d062f35009db472e58e58fb9a05f463fbbe49d7)\n- Fixed async audio languages not mapped fallback [#2652](https://github.com/morpheus65535/bazarr/pull/2652)\n- Fixed series indexing when malformed alternate title is returned by Sonarr [6ddfdfe](https://github.com/morpheus65535/bazarr/commit/6ddfdfee6a64845fc0eab21b18ac56ad70d3e1f9)\n- Fixed podnapisi AttributeError [f6c5ee6](https://github.com/morpheus65535/bazarr/commit/f6c5ee6bfcbe28c77380b417562ba4deba2c658a)\n- Added support for binding IPv4 AND IPv6 instead of just either one or the other [4e365c6](https://github.com/morpheus65535/bazarr/commit/4e365c6aa6f7e0786d8ceefdaa91099da59431f1)\n- Made all subf2m test pass [#2645](https://github.com/morpheus65535/bazarr/pull/2645)\n- Fixed anidb refiner empty mapping episode reference not skipped [deae4e5](https://github.com/morpheus65535/bazarr/commit/deae4e52f0eabda1a6014bafcacf3ec121b8b430)\n- Fixed zimuku provider skipping non lowercase subtitles [#2644](https://github.com/morpheus65535/bazarr/pull/2644)\n- Fixed cutoff language not being properly handled. #2635 [5f7e1f6](https://github.com/morpheus65535/bazarr/commit/5f7e1f68c706a2f71dca0ed8b6763416d51342bb)\n- Fixed timeout while querying subdivx provider. #2633 [cfa9004](https://github.com/morpheus65535/bazarr/commit/cfa900404076ac440a3a5745279b0db85f5e85b4)\n- Added ability to remove language profiles based on tag values [e5f1528](https://github.com/morpheus65535/bazarr/commit/e5f1528bbad2d0df8d0ed32b16cfa6856db79f2c)\n- Fixed Podnapisi not returning any subtitles [74f2c66](https://github.com/morpheus65535/bazarr/commit/74f2c6646404b76821146e9b58bed12c53fc1186)\n- Added sonarr and radarr settings tags validation [#2634](https://github.com/morpheus65535/bazarr/pull/2634)\n- Fixed subf2m search process by stripping html title result before using regex [855da6b](https://github.com/morpheus65535/bazarr/commit/855da6b1bb1cbb41d687e4593e2e9d092ed6e273)\n- Fixed chinese audio language [#2632](https://github.com/morpheus65535/bazarr/pull/2632)\n- Fixed badge overflow [9ec6027](https://github.com/morpheus65535/bazarr/commit/9ec60279896420f80916687d29530025f16ba0a8)\n- Fixed hearing-impaired detection using regex when language is Arabic and parenthesis are included in text. #2612 [eb084ab](https://github.com/morpheus65535/bazarr/commit/eb084abc21b3d37390d6ec70d73e62297032f7c3)\n- Refactored the translation routine to prevent Google Translate from messing with subtitles sequence by sending line by line (slower but better). #2558 [609349b](https://github.com/morpheus65535/bazarr/commit/609349b4002290e771935c7e6d02263c3fdd7ce4)\n- Fixed provider AvistaZ & CinemaZ optional subtitle Uploader [#2628](https://github.com/morpheus65535/bazarr/pull/2628)\n- Added settings provider maximum description lines [#2611](https://github.com/morpheus65535/bazarr/pull/2611)\n- Removed raising of OSError during subsync [#2584](https://github.com/morpheus65535/bazarr/pull/2584)\n- Fixed table items losing order when action is executed [1ec415f](https://github.com/morpheus65535/bazarr/commit/1ec415f0c5d0d9d72555778d1c5f564271f0ea3d)\n- Fixed AvistaZ and CinemaZ scraping when the Reseed notification is displayed [0fc334f](https://github.com/morpheus65535/bazarr/commit/0fc334f731ddda1d70fb4b0ad6fc7c0329c76048)\n- Added jimaku provider [#2505](https://github.com/morpheus65535/bazarr/pull/2505)\n- Fix for provider subtitle language being unintentionally modified [5582cc0](https://github.com/morpheus65535/bazarr/commit/5582cc076dd58a63638d96cb0dbc5119554fe127)\n- Fixed postgresql database migrations not applied [#2601](https://github.com/morpheus65535/bazarr/pull/2601)\n- Fixed get movie monitored status [#2591](https://github.com/morpheus65535/bazarr/pull/2591)\n- SuperSubtitles: handle KeyError for movie searches [4a34186](https://github.com/morpheus65535/bazarr/commit/4a341869858103a60dccf712e70e6ad97f311a29)\n- Subdl Provider: avoid raising exception on no results [8fe8eaf](https://github.com/morpheus65535/bazarr/commit/8fe8eaf7dad6b1eccde9d0622e946e15acc43688)\n- Fixed anidb refinement for sonarr specials [#2590](https://github.com/morpheus65535/bazarr/pull/2590)\n- Added new feature: Tag-Based Automatic Language Profile Selection [b304f6f](https://github.com/morpheus65535/bazarr/commit/b304f6f1efecdfa5b258138029b54460267e8032)\n- Fixed anidb refiner episode not found [#2581](https://github.com/morpheus65535/bazarr/pull/2581)\n- HDBits provider: handle KeyError (common exception) [b419593](https://github.com/morpheus65535/bazarr/commit/b4195934c1fd5ff97acf07d7fbd82f52e272c520)\n- Subdl Provider: add tests and use standard utils [91a3531](https://github.com/morpheus65535/bazarr/commit/91a35317cc1f627030b7bae4d9776acef4745afd)\n- Fixed cached logged out index page [127a7ae](https://github.com/morpheus65535/bazarr/commit/127a7aebadde462babba33d2115dc058a854954c)\n- Added series empty subtitle episodes progress bar labels [#2575](https://github.com/morpheus65535/bazarr/pull/2575)\n- Fixed issue with soustitreseu when guessit is unable to guess episode or season from release name. #2569 [ebf3471](https://github.com/morpheus65535/bazarr/commit/ebf3471eec3895ba06c5be3dfe1fb7efb7622100)\n- Fixed animetosho empty language fallback [#2571](https://github.com/morpheus65535/bazarr/pull/2571)\n- Fixed popover text wrap browser compatibility [#2573](https://github.com/morpheus65535/bazarr/pull/2573)\n- Improved subdl provider to filter out non SRT or ASS subtitles [e3a3ef1](https://github.com/morpheus65535/bazarr/commit/e3a3ef1e931ec6124f59941e14d6544be3a9e268)\n- Update fese (extractor) (cover #2538) [aafaf1c](https://github.com/morpheus65535/bazarr/commit/aafaf1cbf1ac29249960f2d5f2c7ba0608a5c284)\n- Fixed pt-BR issue with subdl provider. [a15b8d5](https://github.com/morpheus65535/bazarr/commit/a15b8d560252a953999976343b7665c533570365)\n- Fixed pwa assets files not served [#2568](https://github.com/morpheus65535/bazarr/pull/2568)\n- Fixed PWA image path on development build [5886c20](https://github.com/morpheus65535/bazarr/commit/5886c20c9c7929bf46836a99c2d9d4eb834638bd)\n- Added subdl provider initial implementation [40985fd](https://github.com/morpheus65535/bazarr/commit/40985fdee3bdfd722d160f04621a6294732a49d0)\n- Fixed overview poster wrap [#2567](https://github.com/morpheus65535/bazarr/pull/2567)\n- Fixed PWA not registered [#2566](https://github.com/morpheus65535/bazarr/pull/2566)\n- Updated tanstack table to v8.x [#2564](https://github.com/morpheus65535/bazarr/pull/2564)\n- Upgraded knowit to latest version to fix some long-lasting issue. [22ac838](https://github.com/morpheus65535/bazarr/commit/22ac838e9b60b0b7c0509d95f44843e5ce4abf48)\n- Fixed the subtitles upgrade process loop for normal subtitles upgraded to HI subtitles. [a4527a7](https://github.com/morpheus65535/bazarr/commit/a4527a7942fca4c0fe28ec5a2cdad56ee569800c)\n- Added Anidb integration soft rate limits [#2556](https://github.com/morpheus65535/bazarr/pull/2556)\n- Fixed file traversal via path filename vulnerability in swaggerui static route. #2559 [7b7e984](https://github.com/morpheus65535/bazarr/commit/7b7e984bff26f4d91bfec3dfdacedcd94c35d0cf)\n- Fix original format requests (#2514) [ad88ec3](https://github.com/morpheus65535/bazarr/commit/ad88ec37677b82a911acf35c1280b49b679beaa7)\n- Fixed uptime calculation overflowing hours [34089b0](https://github.com/morpheus65535/bazarr/commit/34089b0fd7915f61d7b0bdfd41a65c3d938bb380)\n- Fixed usage of pysubs2 removed exception in subliminal_patch [668ec38](https://github.com/morpheus65535/bazarr/commit/668ec386fc6eb2da53a68b3aaf8744ae364aaa97)\n- Fixed frontend sync and translate missing hi and forced information [26ce9d7](https://github.com/morpheus65535/bazarr/commit/26ce9d73e6b6c4cc1e219deba722c0eaab4b3187)\n- Fixed issue with subtitles translation failing. #2519 [9049ab2](https://github.com/morpheus65535/bazarr/commit/9049ab2238c46355e6896ed07ebf4e66442a91af)\n- Fixed HI or Forced status not being properly saved to history when syncing or translating a subtitles. [dcbd813](https://github.com/morpheus65535/bazarr/commit/dcbd8130dba8f0568173f61a9614e30e24e9c54e)\n- Fixed opensubtitles.com provider not being throttled properly when server returned http 500. [76175a8](https://github.com/morpheus65535/bazarr/commit/76175a889bb392d5c49174929f5a707d558d38f3)\n- Subtitle class: get format dinamically (fix #2514)\n- Fixed legendasdivx provider while searching for movies subtitles [9a52b3c](https://github.com/morpheus65535/bazarr/commit/9a52b3c539b3f32841f45177a949b001c51abf39)\n- Fixed usage of path mappings for video_analyzer operations [55d96b3](https://github.com/morpheus65535/bazarr/commit/55d96b3231ba78e2a5c0ae8a7df103b53f42b6c5)\n- Fixed unhandled exception in opensubtitles.com provider login method. #2545 [fb83ec4](https://github.com/morpheus65535/bazarr/commit/fb83ec4081484b046664c6fc3a21a47d6542519f)\n- Improved video metadata parser function and documented params and return values. [35b65dc](https://github.com/morpheus65535/bazarr/commit/35b65dcd4efba0e48b113b8a4f63bca031548b9d)\n- Fixed corrupted hi value in languages profile after reverting back Non-HI only feature. [1f843c7](https://github.com/morpheus65535/bazarr/commit/1f843c7d15ca2d1da50f0d4614491e3187809ace)\n- Reverted normal only (non-hi) option to languages profile. Will be properly reintroduced later. [5ad3926](https://github.com/morpheus65535/bazarr/commit/5ad392630649c9dd53c33794d51e51f8b9c8fa09)\n- Fixed theme colors and variants [d719d4c](https://github.com/morpheus65535/bazarr/commit/d719d4c6df0c8d8dbc71e29aabf59f5d0987ac18)\n- Fixed mass edit language clear not available [d7445bf](https://github.com/morpheus65535/bazarr/commit/d7445bf39c2a6b4365064087c75c39972b22469d)\n- Fixed background color of media overview badge on light theme [9787934](https://github.com/morpheus65535/bazarr/commit/9787934820f135debfde43f9898d790a3cd817d9)\n- Added submission on select to search box [c4f5511](https://github.com/morpheus65535/bazarr/commit/c4f5511915ad5c60c380d9ee8b2c0531bf2b6969)\n- Fixed settings profile style button light theme [ff8fd8c](https://github.com/morpheus65535/bazarr/commit/ff8fd8c9a43efea33a77d2e13b90a674672166ab)\n- Improved mass edit profile in chunks instead of at once [5442849](https://github.com/morpheus65535/bazarr/commit/54428495b9d7b68ea4caf82892dcc4c015cd46b2)\n- Upgraded react-query to v5 [4d3c1f4](https://github.com/morpheus65535/bazarr/commit/4d3c1f4b9d517ef3f64e489d011b939bc816d228)\n- Added normal only (non-hi) option to languages profile [eee8659](https://github.com/morpheus65535/bazarr/commit/eee8659ce16841df634a3960604f9b50d4c5e8c2)\n- Fixed episode history modal auto scrolling to top [d75c198](https://github.com/morpheus65535/bazarr/commit/d75c198c6c81ce85b0b7e8d6cbc664f70778ce63)\n- Fixed adjust time button overflow [854c43c](https://github.com/morpheus65535/bazarr/commit/854c43c53a737fb75e5d8f1ce35130690b8d69d2)\n- Fixed minor style and colors broken on Mantine v7 update [0a0762b](https://github.com/morpheus65535/bazarr/commit/0a0762b1cf338affd0565184ce1e28fb70470eda)\n- Updated pysubs2 to 1.7.2 [2b19f39](https://github.com/morpheus65535/bazarr/commit/2b19f390e72ee6368b6b250a829ec856ae073689)\n- Fixed provider legendasdivx unable to find series subtitles. #2509 [a8c1794](https://github.com/morpheus65535/bazarr/commit/a8c17940610808eba46b07048e59658ef5d3fe41)\n- Upgraded mantine to v7.x [be8f2d6](https://github.com/morpheus65535/bazarr/commit/be8f2d6d183e5206f932be1113e0da7db2a2277a)\n- Fixed external subtitles indexing on some platforms where filesystem encoding may be using a different UTF8 normalization form. [bb8233b](https://github.com/morpheus65535/bazarr/commit/bb8233b599fa0bd8133b092897a4fbcfd736c8cd)", "date": "2024-09-15T19:25:56Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.4.4/bazarr.zip"}, {"name": "v1.4.3", "body": "From newest to oldest:\n- Fixed throttled_providers.dat reset [77302fa](https://github.com/morpheus65535/bazarr/commit/77302fad218a3c14c91c3d28074f30e02ffe9b77)\n- Fixed bazarr restart traceback exception [b7e6de7](https://github.com/morpheus65535/bazarr/commit/b7e6de71ffe977a5b2fc71d3b61545226af83395)\n- Fix for case insensitive filesystem upates [8842004](https://github.com/morpheus65535/bazarr/commit/884200441bec801eba56a4ac08328f8227ad3bed)\n- Fixed subdivx series search process. #2499 [0e183c4](https://github.com/morpheus65535/bazarr/commit/0e183c428b1509e4cde77c53c4a47a6393c7a54e)\n- Reverted to apprise 1.7.6 to fix an issue with the upgrade process first. 1.8.0 will get back in nightly shortly. #2497 [5ca733e](https://github.com/morpheus65535/bazarr/commit/5ca733eac0ec43ebd3ca68e867bfd6ef0fb30cc2)\n- Fixed upgrade process that was broken since Apprise 1.8.0 update. #2497 [3e929d8](https://github.com/morpheus65535/bazarr/commit/3e929d8ef90fcb77bba0abeb4662d4d5e2882e6a)\n- Fixed uppercase issue in Apprise module name. [d70a92e](https://github.com/morpheus65535/bazarr/commit/d70a92e9476e61b12a79c5642629ed81c9ad703f)\n- Fixed issue while saving some odd case ASS embedded subtitles. [b3a5d43](https://github.com/morpheus65535/bazarr/commit/b3a5d43a10befd2451711a1abbafe4f5c65f3c76)\n- Emergency fix following Apprise 1.8.0 upgrade [fd0a8c3](https://github.com/morpheus65535/bazarr/commit/fd0a8c3d3bd1beadb1fed1a58013e386d3f29653)\n- Updated apprise to 1.8.0 [86d3403](https://github.com/morpheus65535/bazarr/commit/86d34039a35387e33663f14b30a65cc1165b4fc7)\n- Fixed issue with subssabbz provider comparing None with int. [006ee0f](https://github.com/morpheus65535/bazarr/commit/006ee0f63ac39dc1e73c761a161aacfc6d62b380)\n- Fixed issue with subsunacs provider comparing None with int. [47011f4](https://github.com/morpheus65535/bazarr/commit/47011f429a57a8b214681ce6527b4f49eae0cd90)\n- Removed closed subscene provider [bb4b01f](https://github.com/morpheus65535/bazarr/commit/bb4b01f3fb1f23ce7a5bf4fc5e2fbf89d302da16)\n- Removed dependency over moment library [5b5bead](https://github.com/morpheus65535/bazarr/commit/5b5beadf4d49954eb4ac95659ab470915002647d)\n- Removed dependency over moment [6e34225](https://github.com/morpheus65535/bazarr/commit/6e3422524c852c6c4e443c3116c3011639c3f96b)\n- Fixed db migrations dropping tables content because of ForeignKey constraints. #2489 [4815313](https://github.com/morpheus65535/bazarr/commit/4815313ac6f36154e6e59b0ee3ca87c04a36bb7c)\n- Added a database migration to get past the issues with incomplete table_languages_profiles. ##2485 [5630c44](https://github.com/morpheus65535/bazarr/commit/5630c441b04478c38483d7f6c228a36b7cf91408)\n- Added animetosho release info [970b0f9](https://github.com/morpheus65535/bazarr/commit/970b0f9d4769d47e325fb01441abbc14996d7262)\n- Fixed HI subtitles identification when downloading and improved some constants. #2386 [2c4ed03](https://github.com/morpheus65535/bazarr/commit/2c4ed03817c724463701bf313f7fcb7b48039f81)\n- Fixed embedded ASS subtitles writing encoding error [bea2f0b](https://github.com/morpheus65535/bazarr/commit/bea2f0b781ba4b1f5bd7dea2644854a141b3884d)\n- Added timeout to update check API call [ad151ff](https://github.com/morpheus65535/bazarr/commit/ad151ff1393656f71d9c9558d8d86c1d23a1429c)\n- Fixed Animetosho provider error for tv shows [2782551](https://github.com/morpheus65535/bazarr/commit/2782551c9bd5418e6fe0484a4002b4a350869917)\n- Improved whisper provider to not throttle when unsupported audio language is encountered. #2474 [5749971](https://github.com/morpheus65535/bazarr/commit/5749971d67b7fa7932a8c707f50732a22615a37f)\n- Improved cutoff options label. #2466 [86b889d](https://github.com/morpheus65535/bazarr/commit/86b889d3b6a2c36a97f2dbf83a984311b53048ca)\n- Fixed animetosho provider empty subtitle name. #2468 [5e04338](https://github.com/morpheus65535/bazarr/commit/5e0433834e16dfbc1c7184fd2116b2d7a79db631)\n- Fixed SyntaxWarning with Python 3.12. #2462 [fd190aa](https://github.com/morpheus65535/bazarr/commit/fd190aad143a01a83e13dcf03b82bb34ddb8d2fc)\n- Embedded Subtitles provider: handle FileNotFoundError [369b2c7](https://github.com/morpheus65535/bazarr/commit/369b2c73439d15c5e9c43526b239e36329c82329)\n- Fixed Anidb refinement for not anime episodes. #2463 [a2fee0e](https://github.com/morpheus65535/bazarr/commit/a2fee0e1e416bb45574cac9841f96c2e2cfe0303)\n- Added minimal Python 3.12 compatibility. Not yet official support. [6dbe143](https://github.com/morpheus65535/bazarr/commit/6dbe1433644b1bc35a631e2f3758cfe8ddcc3b0b)\n- Additional fix for restart process. #2456 [abc4500](https://github.com/morpheus65535/bazarr/commit/abc4500443830c5b175a51790b0def38b1a719f7)\n- Added additional languages to animetosho provider [7322486](https://github.com/morpheus65535/bazarr/commit/73224866cbeb2e2f30277118b5af0f0d1d9daf8a)\n- Fixed upgrade process to properly upgrade bazarr.py when it's updated. #2456 [a39d874](https://github.com/morpheus65535/bazarr/commit/a39d874d3b44d8c3a4f4f030fd4c2c9ac4c20cf5)\n- Fixed mass editor returning a 413 error with a large series/movies set. [e4bc792](https://github.com/morpheus65535/bazarr/commit/e4bc792ee0fba64a3a20d817bbf2c3e2ba66b737)\n- Fixed Swagger UI broken since last libraries update (1.4.3-beta) [a8c3528](https://github.com/morpheus65535/bazarr/commit/a8c352854fc70717de54823f4ce185990be5b8f7)\n- Fixed subtitle toolbox overlap [af89384](https://github.com/morpheus65535/bazarr/commit/af893847c618a5c531038a825aa2687c972b2117)\n- Updated apprise to version 1.7.6 [7578b8e](https://github.com/morpheus65535/bazarr/commit/7578b8ef146431a74f96129b9bcde2388bb90bbe)\n- Fixed manual upload table long names without spacing. #2448 [b2d807d](https://github.com/morpheus65535/bazarr/commit/b2d807d9d9fb98c7cdf79e5452201589e1bb9198)\n- Added animetosho provider [77ebd03](https://github.com/morpheus65535/bazarr/commit/77ebd036f210ec30529ea5419d7a91ac3c0ece13)\n- Improved best subtitles logging when score is below minimum score. [3c30492](https://github.com/morpheus65535/bazarr/commit/3c30492e71d716dbced8bbdbc7cd004b064a65b4)\n- Upgraded some frontend dependencies [6fc4b41](https://github.com/morpheus65535/bazarr/commit/6fc4b4152691e29e49031e29e2adde97f222c571)\n- Fixed restart loop when TCP port already in use. [3e9cfea](https://github.com/morpheus65535/bazarr/commit/3e9cfea3c5d7bc856d2956ab7d095c90eeca98a8)\n- Fixed improper redirection from login page when base_url isn't empty. [ad16acb](https://github.com/morpheus65535/bazarr/commit/ad16acb88f0d9e4eb0b4d7ba88add7380fe5cd42)\n- Fixed login page getting called even if authentication is disabled. #2441 [4d11b95](https://github.com/morpheus65535/bazarr/commit/4d11b9580cc1d175a93204a3067d2561f3f91f66)\n- Fixed betaseries provider when series doesn't exist. #2431 [b4071f0](https://github.com/morpheus65535/bazarr/commit/b4071f0af6d73976680bbbcb2655259ca000200e)\n- Improved multiple exceptions catching and fixed some other providers issues [ec85f6e](https://github.com/morpheus65535/bazarr/commit/ec85f6e172cc004138d875f1980dd8d06dffa7a2)\n- Fixed overflowing of episode titles in wanted view. #2419 [a9f438b](https://github.com/morpheus65535/bazarr/commit/a9f438b5483bc9cf427d718f12a8acad188c562f)\n- Fixed and improved UI while correcting text [814b1af](https://github.com/morpheus65535/bazarr/commit/814b1af79f03a31946ccecc95b5b399a85fd712a)\n- Updated other React dependencies. [2b92752](https://github.com/morpheus65535/bazarr/commit/2b9275244bd913260c8755342f407a7b0ab95c3e)\n- no log: Bump actions/cache from 3 to 4 [#2428](https://github.com/morpheus65535/bazarr/pull/2428)\n- Updated apprise to latest version to prevent deadlocks issue in 1.7.3. [aedf2d4](https://github.com/morpheus65535/bazarr/commit/aedf2d4d894b1ccbafbf6e418e9753865170edd5)\n- Rolled back cloudscraper to fix captcha v1 solving issue. [213a044](https://github.com/morpheus65535/bazarr/commit/213a04405d6d02e3349387d1cfe8dcd25ed7e64e)\n- Updated fese module to latest version to fix embedded subtitles provider. #2423 [1428edf](https://github.com/morpheus65535/bazarr/commit/1428edfb8bde0abfd3882dfe2e27e3ca872795e8)\n- Added Test Connection button for whisper provider [afa529c](https://github.com/morpheus65535/bazarr/commit/afa529c4b345fdd0331123f106fa76fa726d3032)\n- Fixed unbound local variable if 0 movies in database. #2417 [345b6b3](https://github.com/morpheus65535/bazarr/commit/345b6b37185a4b04534ac53eb5f7294f1937ea3a)\n- Added Weekly Sync option for Radarr and Sonarr [33f82fe](https://github.com/morpheus65535/bazarr/commit/33f82fe44568888b086dbda128f3b230a189a1e7)\n- Updated multiple Python modules (now in libs and custom_libs directories) and React libraries [03afeb3](https://github.com/morpheus65535/bazarr/commit/03afeb347075381bcb7fd6036295c9fa4a90d2dc)\n- Refactored Shutdown, Restart and exit status codes [9ae6842](https://github.com/morpheus65535/bazarr/commit/9ae684240b5bdd40a870d8122f0e380f8d03a187)\n- Allow numeric passwords for all providers. #2416 [c455345](https://github.com/morpheus65535/bazarr/commit/c4553452a5d6548acb842fd9f1912cdea2f37773)\n- Fixed subtitles synchronization process when settings values have changed since Bazarr started [5d87b10](https://github.com/morpheus65535/bazarr/commit/5d87b1047536efb42ee45d53a1ea85a0d536157d)\n- Prettier version? [16a3158](https://github.com/morpheus65535/bazarr/commit/16a3158f5ed4dd3100177a558a81d08ca663c640)\n- Text updates, especially for thresholds [3827ea6](https://github.com/morpheus65535/bazarr/commit/3827ea6ffeae6ad99b0e46dd63e636a9ad4a687d)\n- Added Progressive Web App support [731e44c](https://github.com/morpheus65535/bazarr/commit/731e44cb9a3c6198acc7056210ffe01364e4b036)\n- Include server URL in Yify subtitle page link [b24ee30](https://github.com/morpheus65535/bazarr/commit/b24ee309ed0e781bf6e11435de7b5cf15559e96d)\n- Disabled autoscroll to top for underlying window after manual search. #2285 [f95db43](https://github.com/morpheus65535/bazarr/commit/f95db43a2fc7d485ed5c2216e63884df9ad8ec14)\n- Fixed subtitles sync function to preserve subtitles file extension. #2399 [f71b893](https://github.com/morpheus65535/bazarr/commit/f71b8931e34729e0cca17195b574333c7f32620a)\n- Subdivx Provider: major updates [d9629df](https://github.com/morpheus65535/bazarr/commit/d9629df3afccaaf8ff14550769cc175313fce3c8)\n- Modified upgrade task so it always shows in UI even if it's set to manually in scheduler [6c48806](https://github.com/morpheus65535/bazarr/commit/6c488063e73b401c60c71a5a4b57a045de2bdc36)\n- Reduced debounce value for event notifications [e3354aa](https://github.com/morpheus65535/bazarr/commit/e3354aa7f3419448328558e1844a461318734ff2)\n- Added originalFormat db migration from bool to int only for Postgresql [2eec913](https://github.com/morpheus65535/bazarr/commit/2eec9131f85eba7976539ca7a48f43afdf3512ae)\n- Added log level/filter settings to Logs page [d5466ff](https://github.com/morpheus65535/bazarr/commit/d5466fff2304e863e62fe2dfc62d9e88bdeb4068)\n- Updated fallback language for embeddedsubtitles provider to be able to specify the one to use [ad8f116](https://github.com/morpheus65535/bazarr/commit/ad8f116c78688ab038e834a8ad3a3b4c7bfee0c6)", "date": "2024-06-02T14:20:47Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.4.3/bazarr.zip"}, {"name": "v1.4.2", "body": "From newest to oldest:\n- Fixed subdivx issue with foreign title encoding issue. #2395 [43d313a](https://github.com/morpheus65535/bazarr/commit/43d313a31b058fbdebd4085000268e6dc3a3c03b)\n- Fixed subdivx provider to use alternative titles. #2378 [b96965e](https://github.com/morpheus65535/bazarr/commit/b96965e74030f3c9abb93f4e087cce8ec2fac8fd)\n- Updated titrari provider [2e124d2](https://github.com/morpheus65535/bazarr/commit/2e124d266635cf2ef7ff77c731b20ace328f09c2)\n- Fixed saving of null anti-captcha provider that caused Validator to reset default value. [faa4dfb](https://github.com/morpheus65535/bazarr/commit/faa4dfb77c6e19c2d6e470b3f58fed76a3878a54)\n- Fixed indentation issue in pool update. #2390 [4ca2111](https://github.com/morpheus65535/bazarr/commit/4ca211191d6fe546abc084bbad4b8b5d327e733b)\n- Added support for opensubtitles.com dedicated VIP subdomain that get automatically used according to subscription status. [95474b2](https://github.com/morpheus65535/bazarr/commit/95474b29db452a7dad055af6d89a671ff50ae2d4)\n- Fixed provider pool update on automatic search. #2379 [88c267f](https://github.com/morpheus65535/bazarr/commit/88c267f8480bedd6319db2620a74c13f5fe2595b)\n- Modify portuguese custom language [9058335](https://github.com/morpheus65535/bazarr/commit/90583354bf06532e7ae9881cfdfb52cba75424bf)\n- Revert \"Fixed podnapisi results parsing\" [90e4cf1](https://github.com/morpheus65535/bazarr/commit/90e4cf1c6fa17ea179fa808025b7e23b1e106201)\n- Fixed podnapisi results parsing [27d7f96](https://github.com/morpheus65535/bazarr/commit/27d7f96599b0bf825052a146a0cb5def833f7ce9)\n- Fixed Bazarr not starting when Sonarr or Radarr isn't running. [12f1aa6](https://github.com/morpheus65535/bazarr/commit/12f1aa6acf4faf0b5621743423ce5ff3f1e3edf6)\n- Fixed opensubtitles.com filtering AI translated subtitles even when they are requested by user. #2381 [5402c2a](https://github.com/morpheus65535/bazarr/commit/5402c2aaaf111685ec5b3e2ad7023beccd096f16)", "date": "2024-02-20T00:28:55Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.4.2/bazarr.zip"}, {"name": "v1.4.1", "body": "From newest to oldest:\n- Fixed forced subtitles download loop [4029c9f](https://github.com/morpheus65535/bazarr/commit/4029c9f712b7718eca89c5dd2e4d29c3f5b2762e)\n- Fixed debug logging of opensubtitlescom provider [fb660a0](https://github.com/morpheus65535/bazarr/commit/fb660a0e6ea4d45c9cab0a49008d4e65d31b355c)\n- Fixed movies indexing issue [e6b9b32](https://github.com/morpheus65535/bazarr/commit/e6b9b327f2723f3d2cc24c9ef0acb256e970f2da)\n- Added separate values to whisperai provider for connection and read timeouts [938f6df](https://github.com/morpheus65535/bazarr/commit/938f6df386c0f50568f7a6c04ed4ae58e440af04)\n- Embedded Subtitles Provider: handle KeyError for cached paths [cdf7296](https://github.com/morpheus65535/bazarr/commit/cdf7296dd41fe6fb46d7abe49c684e03680a278c)\n- Add Argenteam Dump Provider [deef13d](https://github.com/morpheus65535/bazarr/commit/deef13d11b9310384d71cb0a4af230a524541359)\n- Fixed unhandled FileNotFoundError during restore process [d758c53](https://github.com/morpheus65535/bazarr/commit/d758c53b412ab8bcd5927beba13ff5a56b266c17)\n- Added Sync Optimization for Movies, Series and Episodes to ignore unmonitored items [990448b](https://github.com/morpheus65535/bazarr/commit/990448b06e6df9f2728d98a9a14df5f2b378b00a)\n- Fixed improper API call on removal of all blacklist items [3922d52](https://github.com/morpheus65535/bazarr/commit/3922d52d5cfa6fd3da2aca2f9f2e5bda61091dd4)\n- Fixed single blacklist item deletion issue that would remove all the blacklisted subtitles from the same provider at once. [c45a2ac](https://github.com/morpheus65535/bazarr/commit/c45a2ac43cad30ab6aa45f7cfd90afba16cdbdd3)\n- Fixed wizdom provider to handle Zip files with more than one (up to two entries). #2351 [345408d](https://github.com/morpheus65535/bazarr/commit/345408d692b6cd6917a0a0db786c1b0af3ed809c)\n- Fixed improper passing of hi and forced flags when searching a subtitles manually. #2350 [e17865a](https://github.com/morpheus65535/bazarr/commit/e17865ad535da06caddb25cfff30961cecae20f1)\n- Fixed titlovi provider not being properly throttled and resulting in account locking. #2062 [828ac34](https://github.com/morpheus65535/bazarr/commit/828ac34074c35778ac47ce7df78c362def60de77)\n- Fixed issue introduced while merging the new sync feature. #2356 [e4ebc64](https://github.com/morpheus65535/bazarr/commit/e4ebc64ca95b4a18b7a1909a5cef517c0715d74d)\n- Removed aRGENTeaM provider that have been recently closed. #2352 [783e6b3](https://github.com/morpheus65535/bazarr/commit/783e6b38ea5be62ebe9c001a9736a19486b269e6)\n- Improved subtitles synchronisation settings and added a manual sync modal [0e648b5](https://github.com/morpheus65535/bazarr/commit/0e648b5588c7d8675238b1ceb2e04a29e23d8fb1)\n- Fixed improper closing of resources on exit [0807bd9](https://github.com/morpheus65535/bazarr/commit/0807bd99b956ee3abf18acc3bec43a87fc8b1530)\n- Added additional variables for custom post processing [0ac9ece](https://github.com/morpheus65535/bazarr/commit/0ac9ecea6e7bae6828441ac3c8eece58f68c88fa)\n- Fixed some Whisper issues and added logging level selector for this specific provider [c0bbd4f](https://github.com/morpheus65535/bazarr/commit/c0bbd4f150c6a0a48cba5c3d028299e0eec1d316)\n- Updated logging to use ISO 8601 date format [549bebc](https://github.com/morpheus65535/bazarr/commit/549bebcc43102efaace1920bef92cc59032e2e7d)\n- Fixed betaseries parsing issue [902d1e6](https://github.com/morpheus65535/bazarr/commit/902d1e62b8251c36a622f96bc40d6ef9f052997e)\n- Fixed podnapisi search results parsing error [b11f810](https://github.com/morpheus65535/bazarr/commit/b11f8100ac81f07727b19e87da26defdbbeb55a0)\n- Added settings to exclude subtitles from specific provider to be synced [#2340](https://github.com/morpheus65535/bazarr/pull/2340)\n- Improved error handling for betaseries provider. [cb71b11](https://github.com/morpheus65535/bazarr/commit/cb71b11fd2332a5175e9cb4d87cd26faf98d1f42)\n- Increased supersubtitles connection timeout and properly deal with invalid JSON returned from their API. [9379d1b](https://github.com/morpheus65535/bazarr/commit/9379d1b7f843e46b16483a0d54a17b4453b21590)\n- Increased podnapisi connection timeout to prevent provider throttling when their servers are slower than usual. [6b304e0](https://github.com/morpheus65535/bazarr/commit/6b304e0ce778a4abfd1ede216cf35875fc76d3d6)\n- Added opensubtitlescom settings to include AI translated subtitles in search results. [5739b9a](https://github.com/morpheus65535/bazarr/commit/5739b9ad08b6c0c7eef14aad21863c8a08a88852)\n- Added filter to prevent useless Session is disconnected warning in logs [9e75acd](https://github.com/morpheus65535/bazarr/commit/9e75acd5493791879a3037a77c89ccddcb3844f4)\n- Added db migration version to create the missing monitored column in TableShows table of some old instances. [7c40bfe](https://github.com/morpheus65535/bazarr/commit/7c40bfec1e390552c6f54c93e7cc5336307ed237)\n- Fixed output encoding for subtitles synchronization. #2323 [72bd52c](https://github.com/morpheus65535/bazarr/commit/72bd52ce79405cc8adca427d2f5887a50273839e)\n- Fixed numeric password issue for authentication. #2326 [f2cd79e](https://github.com/morpheus65535/bazarr/commit/f2cd79ec20692f52b7bdfd7698a52b4aa3c154b4)\n- Fixed function to prevent usage of Python 3.7 [5e68fac](https://github.com/morpheus65535/bazarr/commit/5e68fac4d175f2999b5b05bf7bdd02b76cdf942d)\n- Fixed exception being raised when setting all numeric password to access the web UI [256ceeb](https://github.com/morpheus65535/bazarr/commit/256ceeb598e918cd26867ab583c8748193b31b88)\n- Updated zimuku URL [058a005](https://github.com/morpheus65535/bazarr/commit/058a00594e676cf8f87f910fec9c300c8ef856d0)\n- Silented engine.io exception when client session as expired on server side [a3b32c3](https://github.com/morpheus65535/bazarr/commit/a3b32c3ebfdb8d6c37127bb1af27fcca2f0a46c1)\n- Added support for 7z by upgrading rarfile dependency [4b7cdbc](https://github.com/morpheus65535/bazarr/commit/4b7cdbc5f38c68549e4c2e454f946078db6fb338)\n- Fixed usage of number only username or password for providers, proxy or postgres. #2309 [c97a98d](https://github.com/morpheus65535/bazarr/commit/c97a98d4f2141a34fd798612457f678f10ce0461)\n- Fixed upgrade subtitles tas not removed from scheduler when disabled in settings. #2308 [fd5b087](https://github.com/morpheus65535/bazarr/commit/fd5b087f929b6e00164ad80f7e131c8a4b279653)\n- Updated to apprise v1.6.0 [55c5384](https://github.com/morpheus65535/bazarr/commit/55c5384f9cd3b168167343a8177a07732cf1af94)", "date": "2024-02-04T01:30:02Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.4.1/bazarr.zip"}, {"name": "v1.4.0", "body": "From newest to oldest:\r\n- Dropped support for Python 3.7 because our dependencies doesn't support it anymore.\r\n- Fixed Whisper provider to make it throttle longer after ConnectionError [#2258](https://github.com/morpheus65535/bazarr/pull/2258)\r\n- Fixed an issue that could clear episodes history in case Sonarr API return something else than valid series or episodes. [97bdf00](https://github.com/morpheus65535/bazarr/commit/97bdf0066e76b31c188699d7a94caeaa9b795199)\r\n- Improved providers exceptions throttling to reduce useless calls to providers. [bc0b101](https://github.com/morpheus65535/bazarr/commit/bc0b101fd7f93d424949f88e865085f0822bb5ce)\r\n- Fixed infinite download retry loop in whisperai provider [b25d416](https://github.com/morpheus65535/bazarr/commit/b25d4164c296483958ecc951ff17b901a146a245)\r\n- Fixed `(sqlite3.OperationalError) too many SQL variables issue` while inserting too many episodes at the same time. [a10e5db](https://github.com/morpheus65535/bazarr/commit/a10e5dbf3778d9aa177f978fc85184d95b1446a0)\r\n- Fixed issue with series/movies import using a deleted default languages profile. [f2bb48a](https://github.com/morpheus65535/bazarr/commit/f2bb48ac9a47e738e09fa5386cbf5189f3b51210)\r\n- Modified \"no subtitles found\" notification to be a message instead of an error. [ad65573](https://github.com/morpheus65535/bazarr/commit/ad6557357d3d3a46d5692e707b3df90c4a20d777)\r\n- Fixed improper subtitles being downloaded when HI is required by languages profile. #2293 [0f19d79](https://github.com/morpheus65535/bazarr/commit/0f19d79fa2b4a16806487d92a0bf7628f31d947c)\r\n- Fixed languages profile creation issue. [cb3a274](https://github.com/morpheus65535/bazarr/commit/cb3a274894ca43aea9cee919bcc264197a729c23)\r\n- Prevent overwriting season and episode number guessed from file name with db values unless they haven't been properly guessed. #2284 [b87aef8](https://github.com/morpheus65535/bazarr/commit/b87aef8763d94f384a8142394ee6534b08a5e4b4)\r\n- Hide clipboard button when is not possible to copy to clipboard [452f8c1](https://github.com/morpheus65535/bazarr/commit/452f8c12c9cbacd98eabc1f04750a0282903847f)\r\n- Subdivx provider: improve language matching [6d79e6f](https://github.com/morpheus65535/bazarr/commit/6d79e6f34588283683d67ea9da0bc555274db604)\r\n- Improve mods [b36b378](https://github.com/morpheus65535/bazarr/commit/b36b3782d7eb3e348b1baf2c763fc4f81f5982da)\r\n- Fixed an error in previous commit that would prevent episodes syncing. [6925a97](https://github.com/morpheus65535/bazarr/commit/6925a97f2d45cc1edbd0db5e001ba26162ad04ae)\r\n- Fixed compression type for backup. #2278 [54f9570](https://github.com/morpheus65535/bazarr/commit/54f9570a2298ab923a61e2be2c4fbff49c8c9dfa)\r\n- Fixed other issues with subzero_mods parsing. #2276 [5234565](https://github.com/morpheus65535/bazarr/commit/5234565f847123b03d6a73df2f0ebaad2f598315)\r\n- Fixed issues with SQlite older than 3.35. [fe987ba](https://github.com/morpheus65535/bazarr/commit/fe987babc520020996669cf5ead5e180dda01c96)\r\n- Avoid FileNotFoundError indexing subtitles [#2273](https://github.com/morpheus65535/bazarr/pull/2273)\r\n- Improved compression ratio of backup. [e3cda5c](https://github.com/morpheus65535/bazarr/commit/e3cda5c11e2449b7be1a5b1b81b03db4c49e5075)\r\n- Improved stability by usinf Python f-string as much as possible to prevent TypeError and improve code readability. [2ad7ddf](https://github.com/morpheus65535/bazarr/commit/2ad7ddf5a63e42de028e1fd09fccde1b1b086769)\r\n- Fixed issue while parsing enabled mods during subtitles download [225d79e](https://github.com/morpheus65535/bazarr/commit/225d79e5697892cec34d8112a09cd4e23dd55b77)\r\n- Fixed config.ini conversion by disabling interpolation with ConfigParser that failed with addic7ed cookie. [85c65ec](https://github.com/morpheus65535/bazarr/commit/85c65ecb5a33497d1a152bbf46412afa2838e211)\r\n- Fixed datatype issue when creating a new languages profile with PostgreSQL. [2a8a403](https://github.com/morpheus65535/bazarr/commit/2a8a4030b9e032392f172e73679ba47bdb060b77)\r\n- Changing from config.ini to config.yaml [c89da3e](https://github.com/morpheus65535/bazarr/commit/c89da3e6192a519ccefa6bb7d9f9c9eaa280d373)", "date": "2023-11-28T12:26:18Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.4.0/bazarr.zip"}, {"name": "v1.3.1", "body": "From newest to oldest:\n- HDBits provider: add search filters [d657941](https://github.com/morpheus65535/bazarr/commit/d6579417ba3b3555bff3af446bef8a56e2d7a7c6)\n- EmbeddedSubtitles provider: add blacklist support [bee6919](https://github.com/morpheus65535/bazarr/commit/bee6919979409ccbc6e8174b117d091ec8d2e0c2)\n- HDBits provider: handle JSON errors [0031abc](https://github.com/morpheus65535/bazarr/commit/0031abcea4b7a054e55d96005ec9d0eb76490691)\n- Exposed subtitle file size through API [4e7dedc](https://github.com/morpheus65535/bazarr/commit/4e7dedc43c1ceb936b093338363a8c6ff46505c1)\n- Fixed hosszupuska website parsing issue. #2246 [33af93a](https://github.com/morpheus65535/bazarr/commit/33af93a341b326ca314de31c2d312513b209b307)\n- Improved throttling duration for some common configuration or connection issues. [09295dc](https://github.com/morpheus65535/bazarr/commit/09295dcd10ff3727de2546f9af27fdca66dc7baa)\n- Fixed history logging of downloaded and uploaded subtitles. #2261 [2972c38](https://github.com/morpheus65535/bazarr/commit/2972c3881c525cad183d66e2540459c0f19cad77)\n- Improved synchronization speed for Sonarr and Radarr. #2260 [0f216ab](https://github.com/morpheus65535/bazarr/commit/0f216ab69f5d2b386e101f27e679513942d05e41)\n- Fixed history logging issue for episodes and movies subtitles. [1f187d8](https://github.com/morpheus65535/bazarr/commit/1f187d89ca80e3734bf0831e2f7940bb01235695)\n- EmbeddedSubtitles provider: update subtitles checker [654934b](https://github.com/morpheus65535/bazarr/commit/654934b5e1d9a4637e53c6882b2dfc3213600f54)\n- HDBits provider: improve episode matching [3942264](https://github.com/morpheus65535/bazarr/commit/3942264d0057860e53be8d18e8dfb093352f0dbe)\n- Fixed an additional issue with 85d300f94ef60ef60416786a80db2d89917b8266. #2243 [807621a](https://github.com/morpheus65535/bazarr/commit/807621a612a0734e91b8271278099f7d950d01de)\n- Add HDBits.org provider [63335f4](https://github.com/morpheus65535/bazarr/commit/63335f40fcefd773405c11db8550988662ac88ae)\n- Fixed database migration process causing UNIQUE constraint in some edge cases where duplicate ID root folders where stored. #2253 [166d0cc](https://github.com/morpheus65535/bazarr/commit/166d0ccc95112173acf6f6967b2d13cbb5d662c9)\n- Fixed latest migration that cleared history for sqlite users. [0ddadb2](https://github.com/morpheus65535/bazarr/commit/0ddadb273e8671e183a2d37cd5fc3054b9adbccc)\n- Added error logging when trying to determine malformed audio track languages. #2250 [81159a0](https://github.com/morpheus65535/bazarr/commit/81159a09789aa0251c5a6935ff06ae9e886e7a05)\n- Added logging for opensubtitles.com 400 error. #2232 [e7703ca](https://github.com/morpheus65535/bazarr/commit/e7703ca5a08f6a25590bd9d678f844857c41a108)\n- Fixed Postgres issues while creating new database with v1.3.0. #2249 [e2d0647](https://github.com/morpheus65535/bazarr/commit/e2d0647d550972aa28b6917c3d2faf6f000efe71)\n- Subdivx provider: improve movies matches\n- Update providers exception regex for Windows [e06aad7](https://github.com/morpheus65535/bazarr/commit/e06aad7fc6658d7a04479e66b4efb3ce2626b3da)\n- Fixed some code to prevent arbitrary file read and blind SSRF. [17add7f](https://github.com/morpheus65535/bazarr/commit/17add7fbb3ae1919a40d505470d499d46df9ae6b)\n- Removed sucha provider that doesn't exist anymore. #2242 [aa0af3f](https://github.com/morpheus65535/bazarr/commit/aa0af3f601bad55294ec241009293c60bbb3dce3)", "date": "2023-10-14T12:45:19Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.3.1/bazarr.zip"}, {"name": "v1.3.0", "body": "From newest to oldest:\n- EmbeddedSubtitles provider: improve cache management (Fix #2241)\n- Update providers exception info format [ceb947d](https://github.com/morpheus65535/bazarr/commit/ceb947dac1a582205777c27645ee8382f9cf8313)\n- Fixed IndexError in provider throttling function [b736f26](https://github.com/morpheus65535/bazarr/commit/b736f267b5dc5f6eaffa19021858ccc77278cdaa)\n- Add more info to exceptions [9cf2124](https://github.com/morpheus65535/bazarr/commit/9cf21242ca30ad2d7642de430d3a17d464ae04e1)\n- Added analytics tracking of throttled providers [3694254](https://github.com/morpheus65535/bazarr/commit/3694254c79d29498bda53335fbf45c841ba3400d)\n- Prevent subtitles not having a proper matches attribute from raising a TypeError exception. #2243 [85d300f](https://github.com/morpheus65535/bazarr/commit/85d300f94ef60ef60416786a80db2d89917b8266)\n- Added more feedback to UI on automatic and interactive search issues. [fbe6b76](https://github.com/morpheus65535/bazarr/commit/fbe6b765aec54ad4e728ddf36fc36fa62790f719)\n- Modified default value for adaptive searching (now enabled) and improved description in settings [296d497](https://github.com/morpheus65535/bazarr/commit/296d4976730df91948a184ff1fd7afcd6f685f92)\n- Fixed minimal value for time offset input field [1489926](https://github.com/morpheus65535/bazarr/commit/1489926b6f52e8881e45773486fe2530d5dfeca9)\n- Fixed improper http status code returned that prevented proper cache management on browser side. [77283e4](https://github.com/morpheus65535/bazarr/commit/77283e406371c8049f6bc3c92a4fe2ac02b4db25)\n- Improved responses marshalling to better deal with error messages sent to frontend. [8895dd6](https://github.com/morpheus65535/bazarr/commit/8895dd68a8e155550a5362ffea96966aebce5221)\n- Improve manual search modal. Change cache behavior of manual search api to no cache [714c464](https://github.com/morpheus65535/bazarr/commit/714c46444aacc16e78b7dc5d7184a81d7b8f8aea)\n- Improved UI feedback on multiple search, download and upload issues. #2235 [995ae1b](https://github.com/morpheus65535/bazarr/commit/995ae1b5b8f475f9ce5f15b030ad74ca428b2e91)\n- Fixed opensubtitles.com token from being added to debug log in login response [162dbc0](https://github.com/morpheus65535/bazarr/commit/162dbc0eee6e38511f97aebcc4cfe8ce913d3623)\n- Improved debug logging of login attempts to opensubtitles.com provider. [1bdad91](https://github.com/morpheus65535/bazarr/commit/1bdad9166362daa24baa0971025f0e058d9284fe)\n- Fix some minor issues in the Notification modal [53951a5](https://github.com/morpheus65535/bazarr/commit/53951a5fad1143dd190d79faaca30e06e3c4ced8)\n- Fixed issue while saving notifications settings [42ae3af](https://github.com/morpheus65535/bazarr/commit/42ae3af4a251ee976f89178368baa1a85e2116a0)\n- Added timeout for call to get announcements from Github [6a9f914](https://github.com/morpheus65535/bazarr/commit/6a9f91450c1ac857cacb592f4e5df3ddee9b4915)\n- Improved supersubtitles to detect properly forced subtitles. #2226 [71f17a2](https://github.com/morpheus65535/bazarr/commit/71f17a202440a29fd106d0c314f96772537f9f2b)\n- Fixed bug introduced in v1.2.1 with analytics settings not being taken into account. [5f509cd](https://github.com/morpheus65535/bazarr/commit/5f509cd0a0ac970362953d92c2af376e2adfffc7)\n- Fixed yavka.net subtitles search since they've modified the website. #2225 [cce1be4](https://github.com/morpheus65535/bazarr/commit/cce1be4d0e020ae6eb46bf3802bccaf457e093e7)\n- Fixed Radarr SignalR deleted movie event being dropped for missing metadata in payload. #2219 [073f3a2](https://github.com/morpheus65535/bazarr/commit/073f3a2cfabf7f3300f1b220033af0cc41baaf19)\n- Fixed issue with Python deprecation warning. #2218 [f58d1a9](https://github.com/morpheus65535/bazarr/commit/f58d1a915d8e2227d9f076aeb3b3ea1cf8059cdc)\n- Removed sensitive information from opensubtitles.com debug logging. [7e211f6](https://github.com/morpheus65535/bazarr/commit/7e211f62500019877838e21ead2c5442b501d731)\n- Added upcoming Python 3.7 deprecation announcement. [d284e62](https://github.com/morpheus65535/bazarr/commit/d284e629b7163bab1a4f9fb8f698fe82006c88db)\n- Fixed history views when upgrade subtitles is disabled. #2210 [6000a88](https://github.com/morpheus65535/bazarr/commit/6000a8889d96364eddda87035e83e6c79c65a035)\n- Fixed translation issue for episodes subtitles. #2214 [fa42346](https://github.com/morpheus65535/bazarr/commit/fa423469688e553270670eb604931abe1a6bee70)\n- Fixed removal of rowid column while preventing the lost of history or blacklist data. [e0e5dae](https://github.com/morpheus65535/bazarr/commit/e0e5daea1de2ac8b6cbd0aa53ba284de70d5297c)\n- Fixed download notifications not being sent properly. [164dc95](https://github.com/morpheus65535/bazarr/commit/164dc95f237702a3972813c68f49a5c3ff34d2b8)\n- Fixed missing table during migration of a new database. [26f6fcb](https://github.com/morpheus65535/bazarr/commit/26f6fcb3adf3440d56c686ea87c8ee00a3724435)\n- Fixed table deletion issue with PostgreSQL. [479f11f](https://github.com/morpheus65535/bazarr/commit/479f11fae62834b341e3d78a2fc82bd6c54440af)\n- Fixed issue with unused rowid columns and removed custom score profiles tables as they aren't used anymore. [6bc46fe](https://github.com/morpheus65535/bazarr/commit/6bc46fe4e97a3127b3baab1373bb2111b57f7ec4)\n- Fixed issue with missing migrations directory in release asset. [6f03758](https://github.com/morpheus65535/bazarr/commit/6f03758becabd53d71a9492eb324c245c9956636)\n- Replaced peewee with sqlalchemy as ORM. This is a major change, please report related issues on Discord. [bccded2](https://github.com/morpheus65535/bazarr/commit/bccded275c3cb09dc001d66858f3200c78723935)\n- Improved logging of failed attempt to authenticate to UI. Successful basic authentication attempt cannot be logged right now. [486d2f9](https://github.com/morpheus65535/bazarr/commit/486d2f9481982fef0ff0a30c314f74e9268cc7fd)\n- Embedded subtitles: fix #2195\n- Improved external subtitles file encoding guessing to ignore those who can't be guessed properly. [a7562e0](https://github.com/morpheus65535/bazarr/commit/a7562e06b5849b32d266cb0ee9e297edbbd4ddb4)", "date": "2023-09-16T02:43:54Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.3.0/bazarr.zip"}, {"name": "v1.2.4", "body": "From newest to oldest:\n- Fixed more stuff related to opensubtitles.com [6e7858f](https://github.com/morpheus65535/bazarr/commit/6e7858fc7ce0905ba1f241885c386d70507f6b56)\n- Improved subtitles providers settings to reset Authentication or Configuration error throttling while saving. [faa9566](https://github.com/morpheus65535/bazarr/commit/faa9566431860873aebbac542990b07a6cba47e8)\n- Fixed opensubtitles.com issue with looping over failed login. [333c6b2](https://github.com/morpheus65535/bazarr/commit/333c6b23f54024ddf0055825cb5e0877e4c98b6f)", "date": "2023-07-22T13:48:30Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.2.4/bazarr.zip"}, {"name": "v1.2.3", "body": "From newest to oldest:\n- Moved file encoding to charset-normalizer instead of chardet that is causing too much issues. #2196 [dd9ce4d](https://github.com/morpheus65535/bazarr/commit/dd9ce4d6ea2068385301a371b469a4c029afab0a)\n- Improved opensubtitles.com provider to deal with return codes in some edge cases. #2179 [529b5a1](https://github.com/morpheus65535/bazarr/commit/529b5a13860606a39617e38a4272561de74cd00c)\n- Fixed exception raised when get_episodesFiles_from_sonarr_api() doesn't return proper content. #2188 [cfc8a91](https://github.com/morpheus65535/bazarr/commit/cfc8a914888acc1f45da80a27643378951179c47)\n- Fixed requirements.txt to use only wheels for Pillow since compilation doesn't work on 32bits Python embedded in Windows installer version. [da7879a](https://github.com/morpheus65535/bazarr/commit/da7879a02a9c3e532e057b59c2b73715e7667945)\n- Fixed upgradable subtitles logic being called even if user do not want to upgrade existing subtitles. [dfd8bed](https://github.com/morpheus65535/bazarr/commit/dfd8bedd6a1e4ebf43c35defff156fd9a135d9fb)\n- Added description of \"provider\" to post-processing option [35dfa24](https://github.com/morpheus65535/bazarr/commit/35dfa2483b2c0ad2e67091d59d9351ed284515cf)\n- Fixed monitored status tooltip for series/movie view [59d00f2](https://github.com/morpheus65535/bazarr/commit/59d00f28d00dd2b809f52c74dfba58d5fb8e6869)", "date": "2023-07-11T00:27:34Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.2.3/bazarr.zip"}, {"name": "v1.2.2", "body": "From newest to oldest:\n- Add debugging changes [b17a2a5](https://github.com/morpheus65535/bazarr/commit/b17a2a5f4a5712d00dfb2c8be3c2062072c2aa61)\n- Reverting b6777bc26ea2faafa4d6a8eee8aa791a8736780a [edfbb1a](https://github.com/morpheus65535/bazarr/commit/edfbb1a5ca0edb43eb9e88ae83740c10649a8a9b)\n- Added experimental Python 3.11 support [c92d574](https://github.com/morpheus65535/bazarr/commit/c92d574bf2c406974db3f1d513b37398ac9a0e70)\n- Debugging: update subtitle and language representations [b6777bc](https://github.com/morpheus65535/bazarr/commit/b6777bc26ea2faafa4d6a8eee8aa791a8736780a)\n- Updated pytz module to support latest timezone changes [cd01684](https://github.com/morpheus65535/bazarr/commit/cd016840f9d69f48429ff2d088a4fa00d705d41c)\n- Fix path mapping issues [ab3c171](https://github.com/morpheus65535/bazarr/commit/ab3c1714830e0f0d8b5f003a854402dc27cb1a7d)\n- Subf2m provider: improve episode matching [4921c55](https://github.com/morpheus65535/bazarr/commit/4921c55bf05189f68bdd6279b957eaffd00e7cf0)\n- Fix issues when saving the notification providers [374e4be](https://github.com/morpheus65535/bazarr/commit/374e4bec87c4581c4bb07e7fe528123ffa6998d4)\n- Fixed issue in releases page since we upgraded Mantine. [560a697](https://github.com/morpheus65535/bazarr/commit/560a697beb21e20d815ff1513eca8903097960fc)\n- Removed leftover from legendas.tv provider. [fc01267](https://github.com/morpheus65535/bazarr/commit/fc01267d5bd3f854c4dff8794cfd1502d20a41f2)\n- Fixed issue where subtitles would get upgraded even if not required anymore by shows languages profile. #2174 [d4262e5](https://github.com/morpheus65535/bazarr/commit/d4262e530adcb048e81e167a06bb4e50936c87d7)\n- Subf2m provider: improve queries [304ad16](https://github.com/morpheus65535/bazarr/commit/304ad160e0157ed98d3bc30d5512b23e9ce233e9)\n- Embedded Subtitles provider: Fix #2171\n- Update language equals mechanism [2b0e435](https://github.com/morpheus65535/bazarr/commit/2b0e435f6a6485e833233f9fab9203ef1b02d184)\n- Subf2m provider: add support for IMDB IDs [ee1506e](https://github.com/morpheus65535/bazarr/commit/ee1506ed54b5a610dca7ca47ff6a09f13773c84e)\n- Embedded Subtitles provider: handle ASS errors\n- Subf2m Provider: add user-agent header configuration [e3c4def](https://github.com/morpheus65535/bazarr/commit/e3c4def89acc185bdbb67f8dcb7a12531e209df7)\n- Fixed yavka.net provider. #2169 [a13d69d](https://github.com/morpheus65535/bazarr/commit/a13d69ddb2f41fcba4bd78952db368b9cce6885c)\n- Increase width of the manually search modal [963ce21](https://github.com/morpheus65535/bazarr/commit/963ce21d9b723d50baa72f235afcc0f2a68aecab)\n- Fixed some UI issues caused by React and Mantine upgrade. #2167 [bc40aba](https://github.com/morpheus65535/bazarr/commit/bc40abac50ccc4967c43a54e35cca1a02070e0e2)\n- Fixed server side exception throttling opensubtitles.com when it shouldn't. #2153 [3c57381](https://github.com/morpheus65535/bazarr/commit/3c57381bb4c6f67ab7fead06508da8223794ea70)\n- Fixed Chinese translation issue (zh and zt inverted). #2166 [b9b97e9](https://github.com/morpheus65535/bazarr/commit/b9b97e980e5bd542489cec0c6abe66adba0a6c38)\n- Updated apprise module to improve notification system. #2163 [07f601f](https://github.com/morpheus65535/bazarr/commit/07f601f407ef5b9e6fe0b0db842f3bec8c9916b0)\n- Update all UI dependencies and update React version to 18 [#2127](https://github.com/morpheus65535/bazarr/pull/2127)\n- Downgrade Axios to fix a settings saving issue. [6a9f875](https://github.com/morpheus65535/bazarr/commit/6a9f875cbd588a43864a7772c3ac5ed8596c5404)\n- Added support for Portuguese and Simplified Chinese to opensubtitles.com. #2159 [ead8a38](https://github.com/morpheus65535/bazarr/commit/ead8a3892793351fb504a1ec8fd33fa54301d8f6)\n- Added some exceptions that shouldn't be retried to retry function. #2153 [2346f3e](https://github.com/morpheus65535/bazarr/commit/2346f3ed580ac8c05d3971315f239694201364ed)\n- Language-equals: add compatibility for more providers [4725496](https://github.com/morpheus65535/bazarr/commit/4725496313a53e47cda01a092e6829a282413e0b)\n- Fixed external subtitles indexation with accented characters that resulted in download in loop. #1961 [d90d1cb](https://github.com/morpheus65535/bazarr/commit/d90d1cbfcc57ff07ad2cff136481260dbb1ef7e3)\n- Added feature to treat couples of languages as equal when searching for subtitles [547f8c4](https://github.com/morpheus65535/bazarr/commit/547f8c428df856d97bf9d258e723e39a7609b635)\n- Fixed type in opensubtitles.com provider that could cause AuthenticationError for new users. #2152 [baf7a73](https://github.com/morpheus65535/bazarr/commit/baf7a7300d7d3556642dfab48b37c2a64743afeb)\n- Specify ffmpeg path in case it's not in PATH envvar [#2147](https://github.com/morpheus65535/bazarr/pull/2147)\n- Add support for custom languages in audio tracks [585c70c](https://github.com/morpheus65535/bazarr/commit/585c70c39d8ae1e3b9b82fae8800417eba5f6444)\n- Use literals instead of scripts for custom languages [13f965d](https://github.com/morpheus65535/bazarr/commit/13f965d7255d99a23633ee1f04dc0adfb3b8dd4d)\n- Fixed AI and machine translated subtitles being incorrectly returned by Opensubtitles.com [bdf4ee8](https://github.com/morpheus65535/bazarr/commit/bdf4ee85af7bd9f194da82420f66649e964650a1)\n- Emergency fix for custom languages issue [015beaf](https://github.com/morpheus65535/bazarr/commit/015beaf769f7d10077ad590a6ed0363c4407f129)\n- Add mediainfo support for custom languages [c06dd62](https://github.com/morpheus65535/bazarr/commit/c06dd620b759d6dd37125caf19a22711fc426f37)\n- Implemented gzip compression of http requests made to Bazarr [2b5cd2b](https://github.com/morpheus65535/bazarr/commit/2b5cd2b72e19469b545e4d35e2564d5219a36e7c)\n- Subdivx Provider: improve series matching [5f9418b](https://github.com/morpheus65535/bazarr/commit/5f9418b1f3eae5b1acb5f8c4ecbd835726c6f63f)\n- Fixed yify provider MissingSchema exception on download. #2139 [a6ecbb4](https://github.com/morpheus65535/bazarr/commit/a6ecbb43154d6f57bcab4ea3be17467b487eea3f)\n- Fixed zimuku.org parsing error [0907269](https://github.com/morpheus65535/bazarr/commit/0907269377401b64a52589a54431e4ab75a2587a)\n- SuperSubtitles provider: fix hungarian subtitles downloads [e83f37d](https://github.com/morpheus65535/bazarr/commit/e83f37d42ec3a8141ca6b5ca487d0ab200e59cb5)\n- Fixed SyntaxError under Python 3.7 [09f0a27](https://github.com/morpheus65535/bazarr/commit/09f0a2783377e366a6a75d60ff57775abe244596)", "date": "2023-06-24T22:08:44Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.2.2/bazarr.zip"}, {"name": "v1.2.1", "body": "From newest to oldest:\n- Fixed requirements.txt installation [0f84ffb](https://github.com/morpheus65535/bazarr/commit/0f84ffb9cd464dbbeae5e00885494c97fac4dd4a)\n- Fixed zimuku that now require anti-captcha [e2ba532](https://github.com/morpheus65535/bazarr/commit/e2ba532cee04b6fbf1e536d18666dc4d017f23ee)\n- Fixed upgrade of non-existant subtitles files [ac6dddd](https://github.com/morpheus65535/bazarr/commit/ac6dddd6073708d484fe40928cc65db0a66803a5)\n- Fixed episodes blacklist update in webui [2c313a4](https://github.com/morpheus65535/bazarr/commit/2c313a40a558069c8cf4a3dc6efa80e4bec50f43)\n- Fixed yifysubtitles url [e263927](https://github.com/morpheus65535/bazarr/commit/e263927779365a641a9018016763ebf05c769fdd)\n- Update node package to latest version, fix eslint warning [93e6324](https://github.com/morpheus65535/bazarr/commit/93e63246bff145720fed82ae8b236a6669926b49)\n- Subdivx Provider: handle UnicodeEncodeError for some titles [da542a3](https://github.com/morpheus65535/bazarr/commit/da542a311a5f9a72f36cf25802b38e75e518d7db)\n- Allow defining postgres connection settings via env vars [695734a](https://github.com/morpheus65535/bazarr/commit/695734abe67f56f34a5e99aa98cd558e2b39545b)\n- Added OpenAI Whisper Provider [8b1db07](https://github.com/morpheus65535/bazarr/commit/8b1db07e9f984f66df669d7b5a31868c9ef48530)\n- SuperSubtitles provider: fix episode matching [1427a8a](https://github.com/morpheus65535/bazarr/commit/1427a8ab733685f0813e5c07b38dca6bf92453dd)\n- Fixed opensubtitles.com provider year matching process. [ef67cd4](https://github.com/morpheus65535/bazarr/commit/ef67cd4792b365521a2d9e38f5d998d6556f2c08)\n- Added announcements for deprecated Sonarr and Radarr versions end of support. [17e62f2](https://github.com/morpheus65535/bazarr/commit/17e62f2d29411e5c5c635229da8f15b97a46af78)\n- Disabling mediainfo path temporarily until issue with knowit is fixed. #2098 [3a10df7](https://github.com/morpheus65535/bazarr/commit/3a10df7724750e5221ba608b875ff16bd0a254d5)\n- Trying to fix Segmentation fault caused by mediainfo in docker container. #2098 [7455496](https://github.com/morpheus65535/bazarr/commit/7455496c4c42518df5f20646d50a93ca66c1a912)\n- Added an option to prevent sleeping hard drives from being wake-up by video file hashing. [7136383](https://github.com/morpheus65535/bazarr/commit/71363830985a34f5f45a32972477e0ac83dce519)\n- Fixed error when manual search return an invalid subtitles. #2102 [9fb793a](https://github.com/morpheus65535/bazarr/commit/9fb793a4882bbf66c09014df6c09fe4770f36c71)\n- Fixed HI subtitles wrongly ignored when normal or HI is selected in languages profile. [9bd2ab5](https://github.com/morpheus65535/bazarr/commit/9bd2ab514e273426a0918a2c64165f0bcf9f7be3)\n- Replaced deprecated Google Universal Analytics by GA4 [abc48b4](https://github.com/morpheus65535/bazarr/commit/abc48b4ed0fc9ba8daca16d0076c13b9d6be1475)\n- Titrari Provider: update search path [5250785](https://github.com/morpheus65535/bazarr/commit/52507854e8334f7d4ab64212660fda00817f5e2e)\n- Fixed fcache issue when moving cache file between disks. [37059e7](https://github.com/morpheus65535/bazarr/commit/37059e7fbdeb47324d277c31adfd7d1e37b1ef1f)\n- Fixed opensubtitles.com provider to prevent downloading of AI or machine translated subtitles. [7720d00](https://github.com/morpheus65535/bazarr/commit/7720d000de00545ffb0d0c53ec70212545ab886a)\n- Fixed permissions issue with cache file. #2084 [fb6ac47](https://github.com/morpheus65535/bazarr/commit/fb6ac47bea64c5715672e4f11be8ffc1e02e32bf)\n- Supersubtitles provider: fix #2092\n- Subf2m Provider: improve episode matching (#2081) [ad13f79](https://github.com/morpheus65535/bazarr/commit/ad13f79d193d479b0c674a05330b97befc8445c7)", "date": "2023-05-02T00:36:35Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.2.1/bazarr.zip"}, {"name": "v1.2.0", "body": "From newest to oldest:\r\n- Improved Gestdown provider to get better matches using tvdb id [248e49d](https://github.com/morpheus65535/bazarr/commit/248e49de76c4a94e9dc6db9166521b8527f476bc)\r\n- Fixed subtitles file naming when using hearing-impaired removal mods. [e4bf041](https://github.com/morpheus65535/bazarr/commit/e4bf041ecb4921c8829ab60b8de13fde982cd20e)\r\n- Improved languages profile edit modal to clarify subtitles types. [ef46ab9](https://github.com/morpheus65535/bazarr/commit/ef46ab9261797f2fb6f37e08ac4186d8c8bb0901)\r\n- Fix postgresql reconnection #2071 [2e8203f](https://github.com/morpheus65535/bazarr/commit/2e8203f0d4f9830a3608db28e6f61f8d9d87715e)\r\n- Fixed history logging of manually uploaded subtitles. #2072 [2acf245](https://github.com/morpheus65535/bazarr/commit/2acf2451b44e0dd407e299170ed37117b0eeff7b)\r\n- Fixed some issues after subtitles upgrade refactor. [0196139](https://github.com/morpheus65535/bazarr/commit/019613958e5736a5adfdfc2527ebc753805e6c9c)\r\n- Added option to deeply analyze audio tracks from media files or not to determine languages. Default is to use Sonarr/Radarr provided languages instead. Should prevent API limit ban for cloud user. [5dc4e78](https://github.com/morpheus65535/bazarr/commit/5dc4e782ae31ed36aaf4d27d9a46af3e494c7491)\r\n- Refactored subtitles upgrade [5b28309](https://github.com/morpheus65535/bazarr/commit/5b283098f9ec0804706225cc0b1266515e034be7)\r\n- Fixed zimuku 403 error caused by search url change [7206624](https://github.com/morpheus65535/bazarr/commit/72066245e0a5b6a27d93cc46245403e309ee4b35)\r\n- Fixed uppercase detection mod with multiline HI [68a0d78](https://github.com/morpheus65535/bazarr/commit/68a0d787256f73982da0bc34020d102a9d69ed0f)\r\n- Added Announcements section in System to be able to inform users of Bazarr's news. [58262bc](https://github.com/morpheus65535/bazarr/commit/58262bc299d7e0f8742379d7018e06bf86a5b9b7)\r\n- Fixed UI freeze on certain notification events [339883c](https://github.com/morpheus65535/bazarr/commit/339883cff64c0d95378599b99337068245968a1a)\r\n- Fixed Upgrade previously downloaded subtitles (#2059) [6578710](https://github.com/morpheus65535/bazarr/commit/6578710c8d8d384cfffcb42fdd008da0c5571250)\r\n- Fixed upgradable icon in history now show properly [5c01c3c](https://github.com/morpheus65535/bazarr/commit/5c01c3c2e216153e4dbc1b3ec157f1ccdbaa5b2d)\r\n- Added postgres specific requirements. #2063 [d721be3](https://github.com/morpheus65535/bazarr/commit/d721be3185fb7581a6b3ee68d01977a21865ef12)\r\n- Supersubtitles provider: update matcher and downloader [62b5bd8](https://github.com/morpheus65535/bazarr/commit/62b5bd84b909e8e784cded76899ec653bbc3c071)\r\n- Improve providers utils [f6c0146](https://github.com/morpheus65535/bazarr/commit/f6c01464020f70e2736f8a2d9ad185515e3d87db)\r\n- Fixed chmod not working after custom post-processing. [8ac3b0c](https://github.com/morpheus65535/bazarr/commit/8ac3b0c9b56def6153e3144bec7be0f0abf56f8a)\r\n- Add Unit Tests to UI [#2015](https://github.com/morpheus65535/bazarr/pull/2015)\r\n- Bring back clear action to the mass editor [839ce38](https://github.com/morpheus65535/bazarr/commit/839ce384c64caa9767125661b4a51364965a907b)\r\n- Improved audio track language detection by using our video parser instead of values provided by Sonarr/Radarr. We also added \"treat as\" concept for undefined languages audio and embedded subtitles tracks. #2050 [3310f6a](https://github.com/morpheus65535/bazarr/commit/3310f6aeb88fcc9a70f9e5d6f673873ff2f1af85)\r\n- Fixed podnapisi provider on host with OpenSSL 3 [7f05f93](https://github.com/morpheus65535/bazarr/commit/7f05f932ffb84ba8b9e5630b2adc34dbd77e2b4a)\r\n- Increased minimum subtitles search and upgrade frequencies to 6 hours instead of 3 to reduce the impact on providers' website. [d39f41d](https://github.com/morpheus65535/bazarr/commit/d39f41d7e275e7426049aac69387e39b2ad64edb)\r\n- Try to fix the unresponsive issue when notifications are showed [c7b4292](https://github.com/morpheus65535/bazarr/commit/c7b4292100b9875879a6304c7e8e463cd39fd3f0)\r\n- Add Subscene Cloudscraper Provider [Experimental] [3a0085a](https://github.com/morpheus65535/bazarr/commit/3a0085a155ad81784b6132ec1b8048b4d626bf95)\r\n- Subf2m Provider: add optional config for SSL verification [47aff78](https://github.com/morpheus65535/bazarr/commit/47aff78ab0acb8e1c4ebabed455e1a956392da04)\r\n- Fix for get movies/series response serializer [11fff72](https://github.com/morpheus65535/bazarr/commit/11fff727b2699648d29bbe6b438c67ac399bf301)\r\n- Improved impact on opensubtitles.com provider by simplifying queries to improve cache usage. [f057a77](https://github.com/morpheus65535/bazarr/commit/f057a778203e9729b6a02ff137388de361c0406b)\r\n- Fix for #2051 [738e10e](https://github.com/morpheus65535/bazarr/commit/738e10e075d8b6afce7836d3b7d5d38968693444)\r\n- Added PostgreSQL as optional database engine [d5911e7](https://github.com/morpheus65535/bazarr/commit/d5911e78b5f141fe3badd40dd185c148c5f8034a)\r\n- Fix display for notification task in progress [9f2ba67](https://github.com/morpheus65535/bazarr/commit/9f2ba673de0693cb8737bdee7929a22f31f8b987)\r\n- Added configurable request timeout to Sonarr and Radarr [f5d7b4d](https://github.com/morpheus65535/bazarr/commit/f5d7b4d3218a7e88f5267d3c58f16fe271afce0e)\r\n- Fixed improper profile ID value preventing listing of series and movies. #2043 [cf4571b](https://github.com/morpheus65535/bazarr/commit/cf4571ba8604fbdda84d1f775b9c6888e06018a2)\r\n- Fixed unwanted injection of variables on API endpoints. [b0f7437](https://github.com/morpheus65535/bazarr/commit/b0f743767bf907df56c4a5310ab0938bc73f8722)\r\n- Embedded Subtitles provider: update filters [be75d78](https://github.com/morpheus65535/bazarr/commit/be75d78b939ca8b798c50d9c95b5d8b98ada984d)\r\n- Fixed high CPU usage when improper timezone defined (will use UTC instead). #1914 [2babae1](https://github.com/morpheus65535/bazarr/commit/2babae1937917567afe1ac7693768a81c6b1354a)\r\n- Fixed analysis of corrupted video file that may wrongly throttle providers. #2034 [92be39b](https://github.com/morpheus65535/bazarr/commit/92be39bebac885ff695030756c8e52389569c951)\r\n- Fixed post-processing output logging not returning anything if stdout is an empty string while stderr return the actual error. [fadda0a](https://github.com/morpheus65535/bazarr/commit/fadda0ac4087b3c31ae8524b14249cdda24d7680)\r\n- Fix task progress notification [d2bd0c7](https://github.com/morpheus65535/bazarr/commit/d2bd0c7c7e559bf9742ed2ebb4944e3913970caa)\r\n- Fixed RegieLive provider to use the official API [237e85b](https://github.com/morpheus65535/bazarr/commit/237e85bd3454ce061f2632ba066c5f3ed2e5c31e)\r\n- Updated regielive provider to use built in search and scraper API [9105c53](https://github.com/morpheus65535/bazarr/commit/9105c53d6a9ebd309710ee47651b5a422da1886f)\r\n- Fixed yifysubtitles provider. #2029 [e57a99d](https://github.com/morpheus65535/bazarr/commit/e57a99d39eb6f6095568a11642f80b42c4512095)", "date": "2023-03-03T02:12:17Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.2.0/bazarr.zip"}, {"name": "v1.1.4", "body": "From newest to oldest:\n- Removed Enzyme for embedded subtitles indexing and fixed mediainfo integration issues. #2007 [5d36b80](https://github.com/morpheus65535/bazarr/commit/5d36b80c0753cff951d3198a197cf709f43efca2)\n- Fixed mediainfo integration issues. #2007 [0970f19](https://github.com/morpheus65535/bazarr/commit/0970f19d96443401b92099ceaa1e8b654258b077)\n- Added mediainfo as potential embedded subtitles parser. #2007 [c4b8345](https://github.com/morpheus65535/bazarr/commit/c4b8345e659e38992456e31a4c21bbf0a7d38545)\n- Subtitrarinoi provider: add several improvements [1233026](https://github.com/morpheus65535/bazarr/commit/1233026adc896055d73576e23e826cb6b8e3c5b2)\n- Updated regielive provider to use a search proxy [82c9e14](https://github.com/morpheus65535/bazarr/commit/82c9e1434108f5c030da08a09375d4ba3ed8d50b)\n- Fixed wizdom provider urls [577a0d6](https://github.com/morpheus65535/bazarr/commit/577a0d65428f950b0074307e21145258120f5769)\n- Embedded Subtitles provider: improve streams parsing [7640a6d](https://github.com/morpheus65535/bazarr/commit/7640a6d5a420db2c74648208be62513d1b788da0)\n- Fixed issues with new database creation since e6d089381285ab3e945971dad7899e17062062a6 [6693b98](https://github.com/morpheus65535/bazarr/commit/6693b988115450e7823d1735cb2eb431ab72db39)\n- Improve titulky session expiration handling [#2014](https://github.com/morpheus65535/bazarr/pull/2014)\n- Fixed Plex webhook trying to search for subtitles for pre-roll video. #2013 [2622a08](https://github.com/morpheus65535/bazarr/commit/2622a0896eec60ed0647175cdc42be5a971aeab0)\n- Removed Legendastv provider since the website as been shutdown. #2012 [383d906](https://github.com/morpheus65535/bazarr/commit/383d906749656491aedf333fda6fa8f50983c2bd)\n- Added routine to remove deprecated providers from enabled providers in config.ini [e6d0893](https://github.com/morpheus65535/bazarr/commit/e6d089381285ab3e945971dad7899e17062062a6)\n- Added logging to legendasdivx provider when lxml isn't installed properly. #2009 [993168e](https://github.com/morpheus65535/bazarr/commit/993168e901e47b5932bd0abfc784909ac14a3199)\n- Fix Notification settings not saving after removing Discord #2005 [06f0fe9](https://github.com/morpheus65535/bazarr/commit/06f0fe9972c2e6d06a54d2acee94e5f03521811e)\n- Updated opensubtitles.com to give more information to the download limit reached exception. [979301d](https://github.com/morpheus65535/bazarr/commit/979301dee01241028ca1c5e9e30f7cf6fb6cf451)\n- Fixed improper page_size value that prevent series and movies page from loading. #1995 [cc42e7b](https://github.com/morpheus65535/bazarr/commit/cc42e7bc5c8011a544bb5968b67b56347d0cb224)\n- Fixed some edge case where no media could be found in db with a specific path. #2003 [e6cab17](https://github.com/morpheus65535/bazarr/commit/e6cab17a2942360cac30784775db2f4fd16afaa6)", "date": "2022-12-31T16:36:31Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.1.4/bazarr.zip"}, {"name": "v1.1.3", "body": "From newest to oldest:\n- Fixed decimal value of framerate change tools from being rounded to unit. #1999 [920e799](https://github.com/morpheus65535/bazarr/commit/920e799468fd96d7a09c2ff2b0ef60c0be175553)\n- Removed call to deprecated language profile endpoint in Sonarr v4. #1998 [ea5bf9a](https://github.com/morpheus65535/bazarr/commit/ea5bf9ad072c73874fcf39fef45f6fc718a4e616)\n- Refactor settings submit hooks, try to fix issue #1924 [30f04fe](https://github.com/morpheus65535/bazarr/commit/30f04feae68e190a09ec00a35b84d42576086945)\n- Fixed issue while guessing episode number from subtitles filename in some edge case. #1994 [65c6a67](https://github.com/morpheus65535/bazarr/commit/65c6a67963b32d03fb41ddd6a34b4fa56668a503)\n- Embedded Provider: improve streams filtering [8c3a844](https://github.com/morpheus65535/bazarr/commit/8c3a844071e67db9d7d83f262527b01e804f91d2)\n- Fixed issue when explicitly requested HI subtitles from opensubtitles.com, subtitrarinoi or titrari. [29a4842](https://github.com/morpheus65535/bazarr/commit/29a4842e2d6f1623600f439d992a3194053c3b9f)\n- Fixed log an backup download from UI after flask upgrade. [8c944c4](https://github.com/morpheus65535/bazarr/commit/8c944c4cf2b8f2454d77983ab88c25f96d5eeec0)\n- Fix #1987\n- Move pageSize in UI settings to backend [9165663](https://github.com/morpheus65535/bazarr/commit/9165663cbab245ab06adb843fef35e88dd2a3bd0)\n- Fixed bad subtitles extension exception when uploading subtitles with uppercase extension. #1988 [551f57b](https://github.com/morpheus65535/bazarr/commit/551f57bc0ece32748c73b582ae3a54581f3e15db)\n- Fixed issue while downloading movie subtitles. [05cffa9](https://github.com/morpheus65535/bazarr/commit/05cffa94104c29b22ecbd58ee93f36a44c41c5b2)\n- Add 'other' attribute to Video class [923bcb4](https://github.com/morpheus65535/bazarr/commit/923bcb438298beef7cf4e620e6611a07c51ebcbc)\n- Fixed some remaining issues with assrt. #1953 [118eb09](https://github.com/morpheus65535/bazarr/commit/118eb09db03f54cd371983653530d2c2c26da83e)\n- Fixed infinite loop while trying to connect to Sonarr with SignalR permission issue. [0e8ac06](https://github.com/morpheus65535/bazarr/commit/0e8ac06e59d2181e9462eb975ed854279dad7f93)\n- Fixed issue with cutoff not enforced when searching for multiple languages at the same time. [2e2626c](https://github.com/morpheus65535/bazarr/commit/2e2626ce43dd2e364fa6b54498714c81aca20e3f)\n- Refactor Argenteam Provider [52760d8](https://github.com/morpheus65535/bazarr/commit/52760d8bc738e24b63b9b50db5f703d144e10139)\n- Fixed issue with Sonarr v3 SignalR for good. #1985 [4343b7c](https://github.com/morpheus65535/bazarr/commit/4343b7c40245df02edc0a72b1e693c470693d41e)\n- Revert \"Fixed Sonarr v3 SignalR feed not connecting when mono is used to run Sonarr. #1985\" [c563262](https://github.com/morpheus65535/bazarr/commit/c563262fa851348c934b93a4ea872f23e35bb099)\n- Fixed Sonarr v3 SignalR feed not connecting when mono is used to run Sonarr. #1985 [a26b86c](https://github.com/morpheus65535/bazarr/commit/a26b86cb953fb75859fe567e641f27253fe5a3a2)\n- Added live(SignalR) feeds status for Sonarr and Radarr. [b8b916d](https://github.com/morpheus65535/bazarr/commit/b8b916dc30156c66e4514477a5df59450dfa8b84)\n- Add support of string value for badge in navbar [726afcc](https://github.com/morpheus65535/bazarr/commit/726afcc7f81bd931e1c4b91157aceceb9df72300)\n- Subf2m Provider: improve series title matches [d6883c2](https://github.com/morpheus65535/bazarr/commit/d6883c2c7323641035537ba7b306808524e721db)\n- Update database refiner [1ba9404](https://github.com/morpheus65535/bazarr/commit/1ba94041299ecdd054e19c1ee4178dde115af076)\n- Updated vendored dependencies. [bbe2483](https://github.com/morpheus65535/bazarr/commit/bbe2483e21c2c1549ceeed16f021f9581b899f70)\n- Add support for configurable scores (movies and episodes) [708fbfc](https://github.com/morpheus65535/bazarr/commit/708fbfcd8ec0620647975be39a1f6acbbf08f767)\n- Fixed improper update of providers pool when forced subtitles are involved. #1977 [0b8274e](https://github.com/morpheus65535/bazarr/commit/0b8274ec3e12521f3bd99ccc00e90aca31713ca9)\n- Gestdown Provider: Use ShowId to find subtitles. Fixes issue with Slash in show name. [#1979](https://github.com/morpheus65535/bazarr/pull/1979)\n- Improved assrt provider error message logging. #1953 [78f769d](https://github.com/morpheus65535/bazarr/commit/78f769d743f6d5413d3a3c0c1c09570d8ee9cb2b)\n- Update node packages, fix issues [aee1849](https://github.com/morpheus65535/bazarr/commit/aee1849ce3653320aef139500e84fe6643cbbcbc)\n- Subf2m Provider: add support for complete series packs [122398f](https://github.com/morpheus65535/bazarr/commit/122398fdc869c1c9bb3aa092f6997db85da26925)\n- Improve file picker for season packs [876b42b](https://github.com/morpheus65535/bazarr/commit/876b42bb8f8db9e16364d597162e987481978e36)\n- Improved napiprojekt to search for subtitles using video metadata. [bf26dd2](https://github.com/morpheus65535/bazarr/commit/bf26dd231adc2e9c1887ebfb17a59b5d86d043ff)\n- Add new hook useSubmitHookWith to dynamically inject the submit hooks #1924 [1766cee](https://github.com/morpheus65535/bazarr/commit/1766ceeabc103cfe33983bf1b243ddb4f4649476)\n- Try to fix languages profiles editor by introducing a new submit hooks source in the settings page #1924 [c08ba5f](https://github.com/morpheus65535/bazarr/commit/c08ba5f7937fcd86533a91ddc1a0675d7fc623fb)\n- Fixed blacklist item removal issue. [49fc597](https://github.com/morpheus65535/bazarr/commit/49fc597efb208f4ed6ca270bcb1696358fc45818)\n- Subf2m provider improvements [#1973](https://github.com/morpheus65535/bazarr/pull/1973)\n- Subdivx Provider: add more search improvements [21359b3](https://github.com/morpheus65535/bazarr/commit/21359b32b551ac13ecedc07b83f8c90bf080ec53)\n- Subdivx Provider: improve series matches [2f8814d](https://github.com/morpheus65535/bazarr/commit/2f8814dcf801552ceb4be5c5a98c93a22799695c)\n- Subdivx Provider: improve episode queries [71fe2b7](https://github.com/morpheus65535/bazarr/commit/71fe2b7a1ddc832ac903bdfcdc8c4e80e84e32db)\n- Fixed history statistic view not taking timezone into account. [d7c8188](https://github.com/morpheus65535/bazarr/commit/d7c8188f946ac671fa95124df89dca01bc31ed62)\n- Fixed another issue with assrt. #1953 [0374790](https://github.com/morpheus65535/bazarr/commit/0374790ed2c1f52b2cf95b0eb6a32d940a72d1e9)", "date": "2022-12-05T02:32:58Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.1.3/bazarr.zip"}, {"name": "v1.1.2", "body": "From newest to oldest:\n- Fixed another issue with assrt. #1953 [7ea452c](https://github.com/morpheus65535/bazarr/commit/7ea452c467ef9cf721b591b6b4a1b8e44d67f3e9)\n- Update subzero mods [daeb28b](https://github.com/morpheus65535/bazarr/commit/daeb28baeff206bf72a5cf68e3a3a493f99d5c9e)\n- Fix chip input issue [1a612d1](https://github.com/morpheus65535/bazarr/commit/1a612d12b802313220f95a65e66cfe8f702bcd6f)\n- Fix display issue in the search bar [559ec50](https://github.com/morpheus65535/bazarr/commit/559ec50c92c1a357a3d1794202a268d953dc75e4)\n- Upgraded Apprise to 1.1.0 version. [04b0959](https://github.com/morpheus65535/bazarr/commit/04b095995c221e3ffd7db95763c11a137c70d57f)\n- Fixed maximum number of requests per minute for assrt provider. #1953 [167cb5d](https://github.com/morpheus65535/bazarr/commit/167cb5dd983025e9935abc00d59d291b8ef571f4)\n- Fix titulky's subtitle downloading logic [a82ab67](https://github.com/morpheus65535/bazarr/commit/a82ab6769d9f508151c1cc438a6ab637d65bd7e8)\n- Embedded Subtitles provider: avoid KeyError [003e033](https://github.com/morpheus65535/bazarr/commit/003e033c937c111cb57684df897cdc9e917c815c)\n- Added support for series monitored status. #1964 [af70cf1](https://github.com/morpheus65535/bazarr/commit/af70cf1fc9c908494d3d2e5877d9dbfa0cd7a223)\n- Fixed use original format when uploading subtitles. #1955 [65c0e6b](https://github.com/morpheus65535/bazarr/commit/65c0e6b82393943797e36d94b2d1ce109cd46629)\n- Fix provider pool updates [571ffbc](https://github.com/morpheus65535/bazarr/commit/571ffbccf8544224bc63c9e51688be6310fb05e3)\n- Gestdown: Check for show before checking for subtitle [#1962](https://github.com/morpheus65535/bazarr/pull/1962)\n- Fixed subtitulamos.tv improper matching. #1960 [8348b6c](https://github.com/morpheus65535/bazarr/commit/8348b6c0dcbd7bf9fd5c3011522f71b9a0f6dd5e)\n- Fixed assrt provider to prevent making too many queries to the API. #1953 [0980af1](https://github.com/morpheus65535/bazarr/commit/0980af10608081cba784854ee0ea4e88ad816f20)\n- Subdivx Provider: improve spanish detection [c791f39](https://github.com/morpheus65535/bazarr/commit/c791f39e53b28f6b2e1053098bc39923ae1f7dbf)\n- Fix popover width in the manual search modal [e8d3b6f](https://github.com/morpheus65535/bazarr/commit/e8d3b6f0dd417e504ee80f3729634080f67d8d11)\n- Use new endpoint for gestdown [#1949](https://github.com/morpheus65535/bazarr/pull/1949)\n- Fix display issue of the popover in the manual search modal [56fb27a](https://github.com/morpheus65535/bazarr/commit/56fb27aab47f1551914390f319ca74c81b728e84)\n- Refactor form validation and fix issues [bb8e4f3](https://github.com/morpheus65535/bazarr/commit/bb8e4f31ee89291081dea646c918f02d595cfb66)\n- Fixed episodes subtitles search when notified of import by Sonarr v3 SignalR feed. #1946 [c492de8](https://github.com/morpheus65535/bazarr/commit/c492de8b670e11c7c5a33e57dd10dca04093c18e)\n- Added update mechanism sooner in the startup process to recover from a failed update more easily once a fixed release is available. [d3defa2](https://github.com/morpheus65535/bazarr/commit/d3defa2e09e93ef4340f740f9acfa327914b5c42)\n- Fix validation issues of the language profile editor [4826cb8](https://github.com/morpheus65535/bazarr/commit/4826cb84875a3aadeaae1e01eac0baef3dc16fad)\n- Fixed import error after last commit. [a338de1](https://github.com/morpheus65535/bazarr/commit/a338de147e8a4d74ca266b1306997fcfc90b8941)\n- Added Swagger documentation for Bazarr API [131b4e5](https://github.com/morpheus65535/bazarr/commit/131b4e5cde4034f78923d7eaebd49b3550f8aa13)\n- Upgrade Mantine to Version 5 [#1930](https://github.com/morpheus65535/bazarr/pull/1930)\n- Upgrade outdated packages [cce440a](https://github.com/morpheus65535/bazarr/commit/cce440a8e2b67123f0109d20fbedd5320a9603de)\n- Embedded Subtitles provider: add support for alpha2 tags [803dfe3](https://github.com/morpheus65535/bazarr/commit/803dfe351201ae602d9f3e96cfb01d79604296fc)\n- Fixed opensubtitles.com authentication issue. #1935 [663e8d7](https://github.com/morpheus65535/bazarr/commit/663e8d73958cc26233a649ea1cea7c3a53c5bd2c)\n- Added warnings in Settings-->Providers for broken providers. [61f888c](https://github.com/morpheus65535/bazarr/commit/61f888c3dfa732c2f511de60732d46bff80bf511)\n- Fixed incorrect IP or already used TCP port from preventing Bazarr initialization. [7a2d239](https://github.com/morpheus65535/bazarr/commit/7a2d2399fc21ae2f67185e698a9bc0bf1d8fe60d)\n- Fix to deal with empty series/movies list during sync. #1941 [fa8ddeb](https://github.com/morpheus65535/bazarr/commit/fa8ddeb2aa41942e69f31c0b62869ef9a314f860)\n- Fix #1938\n- Embedded Subtitles provider: improve ASS subtitles filtering [6e52114](https://github.com/morpheus65535/bazarr/commit/6e521143e1de1f720dd9cf908aa7c907696187f0)\n- Ignore mods for non-tested subtitle formats [0bc0523](https://github.com/morpheus65535/bazarr/commit/0bc05232ed69be8dd727ce70e24e68e9d7362367)\n- Fixed improper parsing of series metadata when receiving an event from Sonarr SignalR feed. [9361243](https://github.com/morpheus65535/bazarr/commit/93612434e59a99f858a33667fae8835bb3473c53)\n- Improved exceptions logging for events received through SignalR feeds. [a880386](https://github.com/morpheus65535/bazarr/commit/a880386184c7b92dc7284487135c611482ca649e)", "date": "2022-10-15T12:44:34Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.1.2/bazarr.zip"}, {"name": "v1.1.1", "body": "From newest to oldest:\n- Avoid error trying to scan some videos [09d1eb7](https://github.com/morpheus65535/bazarr/commit/09d1eb78c95d2a1bee85f8e17cd9877149e26afb)\n- Improved the fix uppercase mod to better deal with non-alphabetical characters [2608278](https://github.com/morpheus65535/bazarr/commit/26082780d579bd1ffdca0e8c4bef393966db982c)\n- Improve authentication and fix #1901\n- Fix #1917, bring back sceneName in manual search modal\n- Improved API to return better message/code on errors [c2c0cbd](https://github.com/morpheus65535/bazarr/commit/c2c0cbda0b85b541e96b95ae828525c75c41ec4d)\n- Add support of showing confirmation when leaving settings page with unsaved changes [8eef455](https://github.com/morpheus65535/bazarr/commit/8eef455cc59193be0266612c42a66e5b413b3c38)\n- Added support for CORS headers [0d39928](https://github.com/morpheus65535/bazarr/commit/0d39928a7b7b82d933d74c2593b04326b21774f9)\n- Added download link for backup archives. [a36b3ce](https://github.com/morpheus65535/bazarr/commit/a36b3ce2ba9f8e9810fcfa6b0720c5e4baf5f818)\n- Improved live synchronization with Sonarr and Radarr trough SignalR feed by implementing dedicated threaded events queues, by preventing execution of duplicate events received, by filtering events to be processed and by logging at debug level events received to improve debugging. [180a40e](https://github.com/morpheus65535/bazarr/commit/180a40e027a8a5e4e77d3ce4c17ffe37a9f3050f)\n- Fixed None type issue on the first subtitles indexation for episodes or movies. [c6efda0](https://github.com/morpheus65535/bazarr/commit/c6efda0f75e338c72c76a26d33920267cc15a293)\n- Update outdated node packages [bfd1af7](https://github.com/morpheus65535/bazarr/commit/bfd1af7c0cf0211abc49532bba22870856461d9d)\n- Fixed compatibility with the latest nightly version of Sonarr v4. [0fb9286](https://github.com/morpheus65535/bazarr/commit/0fb928675c2f020ecf34faecb12603a4e669eaae)\n- Avoid 'Insufficient data to process the guess' error (fix #1910)\n- Fix issue in external subtitles cache. #1916 [bc0a7c2](https://github.com/morpheus65535/bazarr/commit/bc0a7c2e0fa2f032a299151bdea76b97cfeae6ef)\n- Tried to improve full disk daily indexing tasks resources usage. #1916 [c74f9e9](https://github.com/morpheus65535/bazarr/commit/c74f9e9602ed3c426e4e01ffc4acef44a127168b)\n- Fixed integer conversion issue. #1918 [b0abe81](https://github.com/morpheus65535/bazarr/commit/b0abe81d1277bb14f877909541d56b033874f8e0)\n- Fixed double slashes stored in config.ini by sanitizing the config values. #1903 [4382a05](https://github.com/morpheus65535/bazarr/commit/4382a05da1ad0864b74acdf911c591f3c80d6918)\n- Fixed subtitles upgrade job trying to upgrade null scored subtitles (part 2). #1909 [ba1687a](https://github.com/morpheus65535/bazarr/commit/ba1687a478ea2c7a647d6308979eab2c114efdc0)\n- Fixed episodes or movies importation skipped when Sonarr/Radarr improperly report that media file size is null. [81e13e1](https://github.com/morpheus65535/bazarr/commit/81e13e1eac1d2bdbd9ee10ca79d59feb01d09159)\n- Fix #1901 temporarily\n- Fixed subtitles upgrade job trying to upgrade null scored subtitles. #1909 [414900c](https://github.com/morpheus65535/bazarr/commit/414900c24e082d0758b88f6117ddf09d954bdf44)\n- Fix display issues of the base URL [af8a14c](https://github.com/morpheus65535/bazarr/commit/af8a14c92bbd79f4a0801bd975b6e9fb08d5fcf0)\n- Embedded Subtitles provider: add support for unknown language tags [5624ae4](https://github.com/morpheus65535/bazarr/commit/5624ae431ea6e1d29a0c9fd909949e1021dc1226)\n- Fix #1904\n- Fix postprocessing escaping [#1907](https://github.com/morpheus65535/bazarr/pull/1907)\n- Allow searching when uploading subtitles #1898 [775f67b](https://github.com/morpheus65535/bazarr/commit/775f67b45e83ed62d9bd4f2cc068cde305c2c5a3)\n- Fixed quotation marks escaping in post-processing variables [#1882](https://github.com/morpheus65535/bazarr/pull/1882)\n- Added option to always use audio track for subtitle syncing [c622e1f](https://github.com/morpheus65535/bazarr/commit/c622e1f710920092773fe35e3ddb4a20a3958fbe)\n- Fix #1894\n- Fix #1893\n- Fix provider configs updates [a748903](https://github.com/morpheus65535/bazarr/commit/a748903dc4d8c73e30e4b642aae5534a09571477)\n- Fixed Zimuku provider to bypass yunsuo protection [b9ba99e](https://github.com/morpheus65535/bazarr/commit/b9ba99e189d9273b7f7451e7046f021d240265ac)", "date": "2022-08-31T02:43:17Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.1.1/bazarr.zip"}, {"name": "v1.1.0", "body": "From newest to oldest:\r\n- Fixed Zimuku provider to bypass yunsuo protection [b9ba99e](https://github.com/morpheus65535/bazarr/commit/b9ba99e189d9273b7f7451e7046f021d240265ac)\r\n- Fix #1872, refactor the settings builder\r\n- Fixed Titulky provider to fail silently if media is missing IMDB ID. [331cbbd](https://github.com/morpheus65535/bazarr/commit/331cbbd3bdb2966e7615539e46a08dee525ac51e)\r\n- Add Karagarga.in provider [d2b40bd](https://github.com/morpheus65535/bazarr/commit/d2b40bd781a2b116e3cd32d4aded3d666b2105dd)\r\n- Fixed uploaded subtitles not preserved when it should. #1879 [44ffac6](https://github.com/morpheus65535/bazarr/commit/44ffac67b3639ea954e744f97a44e360a341b345)\r\n- Embedded Subtitles Provider: major update [8086bce](https://github.com/morpheus65535/bazarr/commit/8086bce5c4daf314a45eaaed8591fb9974790d0e)\r\n- update outdated packages [34685b3](https://github.com/morpheus65535/bazarr/commit/34685b3d19960ee119f832a00264a667d777bfeb)\r\n- Add chips input for the provider builder [c45b172](https://github.com/morpheus65535/bazarr/commit/c45b1724157268b38f0a87071062ee4b170f76ca)\r\n- Fix issues when displaying Use Original Format in the language profile modal [2b88c9f](https://github.com/morpheus65535/bazarr/commit/2b88c9f60cce854d2b2d08696b89b1bc11c0ecd0)\r\n- Fixed DNS queries caching issue. [f543368](https://github.com/morpheus65535/bazarr/commit/f543368089f5cbb223621015c22ea068ad8c86a0)\r\n- Fixed LegendasDivx throttling reset time to prevent IP from getting blocked. [c8c815e](https://github.com/morpheus65535/bazarr/commit/c8c815e24095b98882ac58f9961e63b38b63a20c)\r\n- Fixed cutoff being reached for a language even if forced subtitles is available but not requested. [e1bd023](https://github.com/morpheus65535/bazarr/commit/e1bd02396ff4ddde8eb96a91dafc91ad81d15130)\r\n- Subdivx provider: avoid TypeError [14153d7](https://github.com/morpheus65535/bazarr/commit/14153d7688fcd7f00bd6f02f155308cd18050ac3)\r\n- Try to avoid guessit internal exception [#1858](https://github.com/morpheus65535/bazarr/pull/1858)\r\n- Fix redirect issues after logging in (#1857) [b724305](https://github.com/morpheus65535/bazarr/commit/b724305eb4dc22b469c5c5f2033d89de11b4aeef)\r\n- Fix missing images issue when serving via Flask [4b71b8a](https://github.com/morpheus65535/bazarr/commit/4b71b8ae65ac7709b902f6e9efd64dd2be4e5082)\r\n- Fix #1873\r\n- Fixed throttle expiration for providers that reset at midnight. #1863 [a79c218](https://github.com/morpheus65535/bazarr/commit/a79c2187deab7d3effc63516dc1f0007f934104b)\r\n- Improve error handling on UI [c3645c9](https://github.com/morpheus65535/bazarr/commit/c3645c90242ba6fabc62881534b138f098041398)\r\n- Fixed uptime in System-->Status and added time zone info. [f2eb8f1](https://github.com/morpheus65535/bazarr/commit/f2eb8f13421019028ecef5583e296ac9eb8f285e)\r\n- Subf2m provider: improve episode matching [246c2f3](https://github.com/morpheus65535/bazarr/commit/246c2f30046540be6e49bbed4dafa7c7f643648e)\r\n- Add description icon in the history modal [738178a](https://github.com/morpheus65535/bazarr/commit/738178a17318390ba2f62d7cd05907544db80e80)\r\n- Add tooltip to HistoryIcon [23022f5](https://github.com/morpheus65535/bazarr/commit/23022f528260a976baa3668691561e2ce6300256)\r\n- Fix crash when navigating from history view and open the history modal [98937a0](https://github.com/morpheus65535/bazarr/commit/98937a03786f64bcde5a35ab085cb6926b0a7e5e)\r\n- Fixed Wizdom API url. #1870 [a7b1b2a](https://github.com/morpheus65535/bazarr/commit/a7b1b2a454b396c116299eccf00eef47094d850d)\r\n- Fix a issue when trying to edit profile with cutoff selected [fe09ae9](https://github.com/morpheus65535/bazarr/commit/fe09ae9de52c9fa6ba89b4d2d427c78300984d63)\r\n- Fixed root url redirect not working with base_url defined. #1857 [0f4af48](https://github.com/morpheus65535/bazarr/commit/0f4af48be6e4a7da67a08d239898e8224ed1e301)\r\n- Fixed hearing-impaired not taken into account when naming uploaded subtitles #1846 [2a29886](https://github.com/morpheus65535/bazarr/commit/2a298860a4a915099a9daa81658688927b1307dd)\r\n- Improve UI error view [0e7c541](https://github.com/morpheus65535/bazarr/commit/0e7c5410d4fd15dd3c0a9a1041013417b14f3490)\r\n- Change default open delay of action tooltips to 2 seconds [51d1c46](https://github.com/morpheus65535/bazarr/commit/51d1c46b18dce4d677422d1726ed177a3e81bfe3)\r\n- Change audio badge color [4481cda](https://github.com/morpheus65535/bazarr/commit/4481cda6005a653677334244aed9b19436979355)\r\n- Bring back search function of the provider selector #1864 [f09f353](https://github.com/morpheus65535/bazarr/commit/f09f3534a6aad77aaa5bf0395c0984a0bb2e2c48)\r\n- Add tooltip and improve hover behavior for embedded subtitles [a529cba](https://github.com/morpheus65535/bazarr/commit/a529cba08116d08eb63ad6c6c40b68fc2e1e5d9e)\r\n- Rename Tools to Mass Edit [2a5bf95](https://github.com/morpheus65535/bazarr/commit/2a5bf9538dfabbe5578838b6509b6dfdc5d97aef)\r\n- Add color to the icon in upload modal [ed819ce](https://github.com/morpheus65535/bazarr/commit/ed819ce299e2db2eeb00312ee1fec35fbf049be4)\r\n- Improve layout of the settings pages [afcb3b0](https://github.com/morpheus65535/bazarr/commit/afcb3b07768304d6b455b0c939aba0e1f9291e3e)\r\n- Add label to all action buttons [5a5df23](https://github.com/morpheus65535/bazarr/commit/5a5df23b9ccbd4a3787e9a608008f31bceafbb10)\r\n- Fix crash when saving language profiles [059ab59](https://github.com/morpheus65535/bazarr/commit/059ab59fc7cea7abdcc34b6fab16e5aac25e41dd)\r\n- Replace Bootstrap with Mantine [#1795](https://github.com/morpheus65535/bazarr/pull/1795)\r\n- Fix issues of CollapseBox in settings pages [cf15c26](https://github.com/morpheus65535/bazarr/commit/cf15c26f1b65a7d2faf5d4ebe503eb2d0b6a2461)\r\n- Improve layout of the settings pages [4d9d2de](https://github.com/morpheus65535/bazarr/commit/4d9d2de1fc6b994130a324017df76f689d755196)\r\n- not log: Fix base_url issue during development [03de446](https://github.com/morpheus65535/bazarr/commit/03de446691df759ab6002f7886b56ef073d3e7ac)\r\n- Add NO_CLI env var for tests [#1856](https://github.com/morpheus65535/bazarr/pull/1856)\r\n- Small fix when getting Python bundle path [#1854](https://github.com/morpheus65535/bazarr/pull/1854)\r\n- Fixed import order that was preventing Bazarr from starting after initial database creation. [c2f2ce1](https://github.com/morpheus65535/bazarr/commit/c2f2ce17779401bc69a930ce623e91d3067bb5f8)\r\n- Gestdown provider: improve http error handling [5a13046](https://github.com/morpheus65535/bazarr/commit/5a13046d580ffa42213aab53ac43abec1b41a8d2)\r\n- Gestdown provider: ignore incomplete subtitles [2528170](https://github.com/morpheus65535/bazarr/commit/25281709c1f1ffa22da22ac43ebf51d9627797ad)\r\n- Gestdown provider: implement retries on 423 status codes [0e98880](https://github.com/morpheus65535/bazarr/commit/0e98880494149801ac40821a4b0e89a7e2cb10b8)\r\n- Subf2m provider: add season pack support [848836c](https://github.com/morpheus65535/bazarr/commit/848836c5bb66ae4baa5edac3decfe65de4cb9e62)\r\n- Subf2m provider: improve matches parsing [4730411](https://github.com/morpheus65535/bazarr/commit/473041158c614182681b517ee7f3a1b3678019d0)\r\n- Subdivx provider: improve movie searches [0e1120e](https://github.com/morpheus65535/bazarr/commit/0e1120e037febedacb7a051871e9bd4660a8a0c8)\r\n- Add Gestdown.info Provider [c9d63f7](https://github.com/morpheus65535/bazarr/commit/c9d63f717f581661fa9df6436a77c75b6feca92e)\r\n- Added support for unar RAR extraction utility. #1833 [642733f](https://github.com/morpheus65535/bazarr/commit/642733f92f08c64cb048372d7ce92a4bede8dc84)\r\n- Embedded Subtitles provider: fix cached streams with HI fallback\r\n- Embedded Subtitles provider: improve HI fallback [b96fd93](https://github.com/morpheus65535/bazarr/commit/b96fd9326979b08876ef9818bfab0a735dcc0f06)\r\n- Fixed provider Supersubtitles following domain name change [c676095](https://github.com/morpheus65535/bazarr/commit/c676095783548fd96ab03834db1d746678f33c54)\r\n- Fix some foreign providers not being updated properly [5f0f654](https://github.com/morpheus65535/bazarr/commit/5f0f654efe069e51a575c05faf48432b2f2b1a39)\r\n- Improve provider configs updates [23a5ab9](https://github.com/morpheus65535/bazarr/commit/23a5ab9b0ea9cb582ea5574fd8cdd1c9169a7d85)\r\n- Updated apprise to the latest version. #1834 [1dff555](https://github.com/morpheus65535/bazarr/commit/1dff555fc8c9c8a9be29a91b3717fcf8b07cb648)\r\n- Prevent Python dock icon appearing on macOS [fcd67c1](https://github.com/morpheus65535/bazarr/commit/fcd67c1fb09889c8400751a0d4dabeb264681f0c)\r\n- Fixed Bazarr logo on form auth page missing with base_url. #1823 [695edad](https://github.com/morpheus65535/bazarr/commit/695edad3dd6eee5fb1176c4c20f433a7a682cc70)\r\n- Avoid NoneType on providers pool updates [a783515](https://github.com/morpheus65535/bazarr/commit/a783515ad4fc5f54a27c97a2955679c6555a5839)\r\n- Embedded Subtitles provider: improve detection of potentially incomplete subtitles [1346137](https://github.com/morpheus65535/bazarr/commit/134613711ac1ede510cfc023072f0712a175b858)\r\n- Fixed issue with indexing of external subtitles that include utf8 characters in file name. [b7e9086](https://github.com/morpheus65535/bazarr/commit/b7e908645ee7aa27f4631318a86c259e86b0ef75)\r\n- Fixed issues while trying to serve assets. #1822 [89fa25c](https://github.com/morpheus65535/bazarr/commit/89fa25cddf3f3932b8e55bee57d0bad287fe348d)\r\n- Improve subtitles pack extraction [ce33b4f](https://github.com/morpheus65535/bazarr/commit/ce33b4f5fd75450bbd54351c712b87dfe915bb29)\r\n- Subdivx Provider: improve language parser [7423c80](https://github.com/morpheus65535/bazarr/commit/7423c80a28b894812b121a89f38d045f7c87d5ca)\r\n- Fixed mimetype issues for some Windows users. [af95f70](https://github.com/morpheus65535/bazarr/commit/af95f702020a2d79fb6358eedd16b2849ada6136)\r\n- Reworked Bazarr file structure to improve support and optimization [2f01ab8](https://github.com/morpheus65535/bazarr/commit/2f01ab852348669e81c3d19b3a12f5084b04fba8)", "date": "2022-07-02T12:47:36Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.1.0/bazarr.zip"}, {"name": "v1.0.4", "body": "From newest to oldest:\n- Subdivx Provider: avoid false positives on episodes search [3f95784](https://github.com/morpheus65535/bazarr/commit/3f95784bb824484cb37bb0bfc91f491015f74cf4)\n- Fixed history stats time frame not working properly [4358790](https://github.com/morpheus65535/bazarr/commit/4358790fa7cb4ac130ac7501bfad34c753cbec98)\n- Embedded subtitles provider: improve exception handling\n- Fix #1817\n- Legendasdivx provider: improve subtitles ID consistency [23e8472](https://github.com/morpheus65535/bazarr/commit/23e847290bc5353cf3b6e21a1e81880cfc17e31d)\n- Fixed Titulky provider and made some code maintenance [e6551dc](https://github.com/morpheus65535/bazarr/commit/e6551dc4d397ac11b89f391349cd9ee75e77692d)\n- Improved search and fixed some issues with Titulky provider [a4d9eb6](https://github.com/morpheus65535/bazarr/commit/a4d9eb694d675c0b85ad7d1b88574241232d1a82)\n- Subdivx Provider: improve episode searching and downloading [883b0fe](https://github.com/morpheus65535/bazarr/commit/883b0fe7a15d121ea77d2f63f582438c93ad8d76)\n- Add subf2m.co Provider [63eded5](https://github.com/morpheus65535/bazarr/commit/63eded5aa38f2241fabbe99516064b941cf0d16d)\n- Improve episode detection from compressed series packs [75f3ac9](https://github.com/morpheus65535/bazarr/commit/75f3ac9f6cec587bc3b0bb3a41e9fd18d10cd02f)\n- SuperSubtitles Provider: fix filetype detection [31e4f83](https://github.com/morpheus65535/bazarr/commit/31e4f835cf28bd1f5c4840a958126fce046591ee)\n- Embedded subtitles provider: add timeout option [d3e3e31](https://github.com/morpheus65535/bazarr/commit/d3e3e31fa13bce4d8ea29c2c834b04e0b061e287)\n- Fix #1801\n- Supersubtitles provider: Fix AttributeError for some queries (#1792) [7040fbc](https://github.com/morpheus65535/bazarr/commit/7040fbc0711f55a433ea234100baee1c1df8b816)\n- Removed support for BSplayer providers because it was causing way much issue than providing subtitles. [77da09d](https://github.com/morpheus65535/bazarr/commit/77da09d51f549470c0e9be2eb670de74450dd791)\n- Fix ValueError for persistent pools on multithreaded setups [86d6c21](https://github.com/morpheus65535/bazarr/commit/86d6c211af8ac0b81e05937fea1973ec78bc9226)\n- Fixed issue with same subtitles downloaded multiple times. #1785 [4f42cd9](https://github.com/morpheus65535/bazarr/commit/4f42cd9b2860856b3759cd438d9fdcfef5a5fdba)\n- Fixed Plex webhook for series by having a more robust imdb parsing nd some logging in case of exception. #1780 [8e07585](https://github.com/morpheus65535/bazarr/commit/8e075850849a1855386e13f8ec576f3afe84ddf4)\n- Improve subtitle tools [e18657e](https://github.com/morpheus65535/bazarr/commit/e18657e4261cae67d6fe5a235a001dede26721c5)\n- Refactor modal system [658237d](https://github.com/morpheus65535/bazarr/commit/658237dd5076a3d4823552ad17c101d3ba6177fc)\n- Fix notifications settings cannot be edited after saved [87c5d0d](https://github.com/morpheus65535/bazarr/commit/87c5d0d9defdc3f01865eeb844dfe191934411fb)\n- Fixed update mechanism when running Bazarr from %programdata%\\Bazarr on Windows. #1768 [5539938](https://github.com/morpheus65535/bazarr/commit/55399380ada67fae9b98a5ea9884aea08e475e7e)\n- Fix #1778\n- Added defer searching missing subtitles on live synchro with Sonarr and Radarr. #1765 [012dc1c](https://github.com/morpheus65535/bazarr/commit/012dc1cee977e4fb0b72a955736476f748c8314b)\n- Fix #1770\n- Fix #1769\n- Fix interactive search cache issues [d964f04](https://github.com/morpheus65535/bazarr/commit/d964f04c2764bb55cca382e3ecb0ea53e96974e3)\n- Fix history button for episode will open up wrong modal [b4c82c2](https://github.com/morpheus65535/bazarr/commit/b4c82c269ee637e566a3369fd10afe26bc5877ff)\n- Improve feedback in the header [51e1fa1](https://github.com/morpheus65535/bazarr/commit/51e1fa1c35830d2224ea7589730a645d111a5b63)\n- Fix subliminal core: wrong providers being restarted [8c4e83c](https://github.com/morpheus65535/bazarr/commit/8c4e83c18d56c96a036bbe8aa1cd268448099766)\n- Fix display issues in the notification center [aaf4b7c](https://github.com/morpheus65535/bazarr/commit/aaf4b7c6731c35252a7d89cf8cac64eb54d0b064)\n- Fix issues when trying to create background tasks [c1a26fd](https://github.com/morpheus65535/bazarr/commit/c1a26fd9ebd601417fbfe975bf148485384c6475)\n- Frontend improvement and cleanup [#1690](https://github.com/morpheus65535/bazarr/pull/1690)\n- Improved languages profile modal original format dropdown [75100d8](https://github.com/morpheus65535/bazarr/commit/75100d8acacf8f55b4a5ca0433f465071273dec8)\n- Fixed upgrade subtitles function that was trying to upgrade deleted episode/movie subtitles. #1759 [f81972b](https://github.com/morpheus65535/bazarr/commit/f81972b291b73f5771c40359f18d6470b23e2650)\n- Added languages profile settings to prevent downloaded subtitles from being converted to srt. [33a9e51](https://github.com/morpheus65535/bazarr/commit/33a9e512acafe0419d553660c20659d007a23b85)\n- Fixed Invalid IPv6 URL exception with common fix [6edc196](https://github.com/morpheus65535/bazarr/commit/6edc196163061ae233324bacbf918886159f4efb)\n- Fixed backups ordering and rotation [eb63f05](https://github.com/morpheus65535/bazarr/commit/eb63f057684e7c2842ba9dd5a9a658e3e9f8edaf)\n- Improved throttling of LegendasDivx provider to prevent IP address blocking by reaching 150 searches a day. #1757 [040ddb2](https://github.com/morpheus65535/bazarr/commit/040ddb236269c7a27d5d4f9c7fe708e53caba72f)\n- Fixed log rotation under Python 3.9 or greater. [2b889fa](https://github.com/morpheus65535/bazarr/commit/2b889fa975ba234377500dd55022cce35eb3d92a)\n- Fixed titulky provider UnicodeEncodeError [8a9fbbe](https://github.com/morpheus65535/bazarr/commit/8a9fbbeaece5099e6bcac708a1fed8a80de5a2b7)\n- Fixed network issues from preventing Bazarr startup. [d384b93](https://github.com/morpheus65535/bazarr/commit/d384b9307bf86845e4465628b3c6fc138f14d9c6)\n- Implemented number input and used it with backup retention and port settings. [0166d9a](https://github.com/morpheus65535/bazarr/commit/0166d9a0dddbbd3c862c25a3c75c62b2ef48db35)\n- Fixed knowit provider specification. [ce1345a](https://github.com/morpheus65535/bazarr/commit/ce1345a8702c6f90c919174cbff04741802c078e)\n- Fixed subtitles translation when there's an empty string in the source file. [d13bc73](https://github.com/morpheus65535/bazarr/commit/d13bc731891d8ea211b9e5f1d95f10c4e0ba170c)\n- Fixed GetSonarrInfo.version() to make sure it doesn't prevent Bazarr startup. [4b84a9c](https://github.com/morpheus65535/bazarr/commit/4b84a9c64c90d8872266889443ffaa0e44465087)\n- Fixed opensubtitlescom provider to remove filename from query because it was too specific and reduced number of subtitles returned for no good reason. [bd5aae7](https://github.com/morpheus65535/bazarr/commit/bd5aae7f77608a6f3ca80d66e17a5e4c7de932bb)\n- Fixed cache invalidation on providers' password changes. [c2f7446](https://github.com/morpheus65535/bazarr/commit/c2f74465e9c079e288656bfce04e052dd52dd787)\n- Added backup file size to API and table view. [e4c666f](https://github.com/morpheus65535/bazarr/commit/e4c666f82b2dacc7d2d969a3b9ffed54567604e8)", "date": "2022-04-30T13:07:32Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.0.4/bazarr.zip"}, {"name": "v1.0.3", "body": "From newest to oldest:\n- Implemented garbage collection after each subtitles synchronization. [0a0f609](https://github.com/morpheus65535/bazarr/commit/0a0f609de89d2d93d594067f9c803f9449b89071)\n- Reverted auditok to ffsubsync supported version [c23ce4a](https://github.com/morpheus65535/bazarr/commit/c23ce4a4d1929f9b007b64e81f21fcf881e041fb)\n- Fix a issue that seleection of the languages profiles could be Unknown on settings page [63f1e63](https://github.com/morpheus65535/bazarr/commit/63f1e63fa83fbf789061e58652d157f8965ff527)\n- Implemented backup and restore feature for configuration file and database [5bfaba9](https://github.com/morpheus65535/bazarr/commit/5bfaba9360f062965e672dd336fe82208c716d13)\n- Fixed improperly calculated missing subtitles when cutoff is enabled and audio language match desired subtitles language. #1731 [c020a9e](https://github.com/morpheus65535/bazarr/commit/c020a9e89214fa482c7ad5d4071c006ffcf0b1cc)\n- Fix a issue that language profiles won't show in some situations [4bf0555](https://github.com/morpheus65535/bazarr/commit/4bf0555ece29fad429eb967711007d1fb29abd82)\n- Improve Argenteam results matching (Covers #1728) [644617c](https://github.com/morpheus65535/bazarr/commit/644617c7c2698eb8fee4aea4575982e5ccca3021)\n- Clarified SignalR error for Sonarr [ffcbb57](https://github.com/morpheus65535/bazarr/commit/ffcbb57672872b514ff13ea072dfea730ec15bee)\n- Fixed addic7ed subtitles search query to return all languages instead of relying on filter defined in addic7ed profiles. [a22bb0f](https://github.com/morpheus65535/bazarr/commit/a22bb0fd124f7951be4d328740a356c0e1951c9c)\n- Fixed legendastv issue since rarfile upgrade. #1711 [23e2626](https://github.com/morpheus65535/bazarr/commit/23e2626df9fd3cc219eb8b4f612e70d1efe86f5f)\n- Fixed external subtitles with unknown language causing exception during indexing. #1709 [d160f1e](https://github.com/morpheus65535/bazarr/commit/d160f1e4eb633560d7b9128ed9908fe032c0c5b6)\n- Improved sync with Sonarr/Radarr exceptions management when trying to write to database. #1699 [6988d7c](https://github.com/morpheus65535/bazarr/commit/6988d7c7ad64b2bf6b52d7728f288a8f19bbb78c)\n- Added cookies caching to titulky provider [45f085e](https://github.com/morpheus65535/bazarr/commit/45f085eb5dc7a31a411f4cbb93f96cc214bc7607)\n- Fix database issue with LATAM Spanish custom language [a53fc44](https://github.com/morpheus65535/bazarr/commit/a53fc440cdff7ed19ead50a0f81fa036d9debfe4)\n- Fixed JSON parsing exception in supersubtitles provider. #1700 [83e36e4](https://github.com/morpheus65535/bazarr/commit/83e36e4c1c58a73966e4d0f924e071b73e8e00ec)\n- Improved opensubtitles.com resilience and properly deal with the Invalid JSON/Bad Gateway exception. [669bd33](https://github.com/morpheus65535/bazarr/commit/669bd3376ad06f12cb152078c5664c03aa7c5004)\n- Fixed progress not being removed from control center when a search all fails. [63f3454](https://github.com/morpheus65535/bazarr/commit/63f3454c8fb25e76c9c6baf6ff2951ca0011afde)\n- Implemented the functions to read more info from package_info file [c91597f](https://github.com/morpheus65535/bazarr/commit/c91597fdd55049cdc0f69f3137393dc7c4ee8717)\n- Fixed Windows uninstaller being removed during Bazarr upgrade. #1693 [e99d58d](https://github.com/morpheus65535/bazarr/commit/e99d58d77e4c1eada8584f4459e535c91086f964)\n- Improved retry and exception handling in opensubtitles.com provider. [d879128](https://github.com/morpheus65535/bazarr/commit/d879128dcdaa1dc2f25e19816dfebd872bcd04ed)\n- Fixed issue with cutoff and exclude language exclusions were not working as expected. #1691 [aa0c2ff](https://github.com/morpheus65535/bazarr/commit/aa0c2ffca76b75a71847f02f56037bf6414732bd)\n- Fixed missing tzdata module. #1693 [c7500c1](https://github.com/morpheus65535/bazarr/commit/c7500c1d04b8f81e7058ed66fd1db5dbbcdad210)\n- Upgraded vendored Python dependencies to the latest versions and removed the unused dependencies. [0c3c5a0](https://github.com/morpheus65535/bazarr/commit/0c3c5a02a75bc61b6bf6e303de20e11741d2afac)\n- Add Embedded Subtitles mergerfs mode [4c15a50](https://github.com/morpheus65535/bazarr/commit/4c15a50134ef7f6bc839ad51275c10b2f2141917)\n- Fix a issue that the edit modal will clear the languages profiles if without changing anything [dc6bd1f](https://github.com/morpheus65535/bazarr/commit/dc6bd1fd1b2ad477f1769664bade46868551ebf8)\n- Add React-Query to improve network and cache performance [d8d2300](https://github.com/morpheus65535/bazarr/commit/d8d2300980ca69a4ae6511cb49a6dc548c0da793)\n- Fixed issue where episode name was used as hints for guessit instead of series name. [6b82a73](https://github.com/morpheus65535/bazarr/commit/6b82a734e2bc597b219472774c0ec58038630c65)\n- Fixed translation issue when first line is an empty string. #1672 [391892f](https://github.com/morpheus65535/bazarr/commit/391892fdf0450cb30c6ce95ff0c006f6bcaf5a8f)\n- Fixed issue with unrecognized languages while indexing subtitles (mainly for those without a language code in filename). [28663a6](https://github.com/morpheus65535/bazarr/commit/28663a69379d99876547c652ee8e87416e8e6b90)\n- Fixed upgrade leftover cleanup to prevent config reset when Bazarr is installed in the same directory as config and database. #1655 [a3a8ed9](https://github.com/morpheus65535/bazarr/commit/a3a8ed93c7754a288957f6712ee1002f173bf4d4)\n- Fixed indexing of unsupported language codes. #1683 [9d30414](https://github.com/morpheus65535/bazarr/commit/9d30414f9dd1797f17149e403d56f6b0b368a47d)\n- Fixed translation exception on malformed subtitles file. #1672 [3b3d6fe](https://github.com/morpheus65535/bazarr/commit/3b3d6fe36aa33defa694e083713e78c0e4e84cb8)\n- Added some failsafe to deal with improper JSON returned from Radarr tags API endpoint. [62ef614](https://github.com/morpheus65535/bazarr/commit/62ef614d301de5cb52eb3e5f410a7acecdee984c)\n- Fixed issue with deleted episode file raising a 404 while trying to update from Sonarr. #1676 [8764ac5](https://github.com/morpheus65535/bazarr/commit/8764ac581e9d8ba7712e1848090b8db92f591c47)\n- Improve Subdivx provider: use a random cookie to speed up downloads and [8ad4ec9](https://github.com/morpheus65535/bazarr/commit/8ad4ec95f98b5f22dd40dd681a3d42014ace62c1)\n- Fixed issue with addic7ed where alternative titles were not used properly in during searches. #1669 [dbf0bf2](https://github.com/morpheus65535/bazarr/commit/dbf0bf26389990c67dde3f6c858774558b345f27)\n- Added settings to change the hearing-impaired subtitles file extension to use when saving to disk. [58a967c](https://github.com/morpheus65535/bazarr/commit/58a967c892ef78cb6cf8ab790c2af8728e8c079e)\n- Added cookies option for addic7ed to avoid anti-captcha provider requirement [1a03d9f](https://github.com/morpheus65535/bazarr/commit/1a03d9fd12e601a072aeb3d30e3e3693373d841d)\n- Upgraded guessit to latest version and include new dependencies. [f55492a](https://github.com/morpheus65535/bazarr/commit/f55492a25cf617604ff158d1fc516cf7298a4adc)\n- Fixed logging of regex pattern used during upgrade leftover cleanup. #1655 [5d3d453](https://github.com/morpheus65535/bazarr/commit/5d3d4532df65e82fc5477fb570f472edcb7c1ea5)\n- Improved readability and maintenance by splitting get_subtitle.py into multiple files [722014d](https://github.com/morpheus65535/bazarr/commit/722014d822fd0b8e62ca0c2b96965e50e7487a56)\n- Added validation for V.I.P. account status in titulky provider [3653ef1](https://github.com/morpheus65535/bazarr/commit/3653ef163fb76b716d2a00522c6faf9593697003)\n- Add MustGetBlacklisted exception for redundant download_subtitle calls [1261e91](https://github.com/morpheus65535/bazarr/commit/1261e91870a6e08b1942c7a2fbcb74b19d0da4c9)\n- Add hi_fallback option to Embedded Subtitles Provider [b90dab0](https://github.com/morpheus65535/bazarr/commit/b90dab03e89e03b73bfbe15741c8108fc0d2a806)\n- Added support for hearing-impaired version of CustomLanguage [4af4ae1](https://github.com/morpheus65535/bazarr/commit/4af4ae1ae8b4d7ba4df7c36c4d72b40e576c6fec)\n- Subdivx provider: Improve scraper [d373bc8](https://github.com/morpheus65535/bazarr/commit/d373bc8c0e936e8fecaf54cf2e122b0a0cfeca9f)\n- Fix broken Subdivx provider: update scraper [75926dc](https://github.com/morpheus65535/bazarr/commit/75926dc7763fb207e9560b790b154565016122e1)\n- Improved opensubtitles.com server-side error handling [4605164](https://github.com/morpheus65535/bazarr/commit/46051646c620d7db37f0be56df8b9f20c1b42d83)", "date": "2022-02-26T15:03:11Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.0.3/bazarr.zip"}, {"name": "v1.0.2", "body": "From newest to oldest:\r\n- Added support for Python 3.10 in startup warning. [6e52ce2](https://github.com/morpheus65535/bazarr/commit/6e52ce2ecfaad8db92d8bd7d75048fc8b36e0aa9)\r\n- Embedded Subtitles provider: fix language error (fix #1653) [e65d643](https://github.com/morpheus65535/bazarr/commit/e65d643fae345c18cf4ffd2422dafe9500b88f93)\r\n- Added exclusion settings for season 0 to prevent automatic downloading of extras subtitles. [bd7b2eb](https://github.com/morpheus65535/bazarr/commit/bd7b2eb471e86cc3e2ce67fd09707ed188b3bcb0)\r\n- Refactored adaptive searching and made it configurable [10c3175](https://github.com/morpheus65535/bazarr/commit/10c317573292f3534cdc861f13e8489fa299fd5d)\r\n- Fix Addic7ed provider: handle language errors, avoid guessit exception and match version for movies [5d8897f](https://github.com/morpheus65535/bazarr/commit/5d8897f675eed5a9ec0d5b289b37e82741ae33dd)\r\n- Fix Addic7ed provider TypeError [a88f0a7](https://github.com/morpheus65535/bazarr/commit/a88f0a7f198faf1fe2de139a7fb49da41c0ee658)\r\n- Update embeddedsubtitles provider: use original_path instead of name [048307e](https://github.com/morpheus65535/bazarr/commit/048307e4299106ea2340bed72fce8207859d5fa9)\r\n- Fixed issues with release_info for some providers. #1644 [2faed98](https://github.com/morpheus65535/bazarr/commit/2faed982d95e2f5eac41caaca090ea6ce9f6115b)\r\n- Improved providers throttling and prevent hammering providers by updating throttled providers on each iteration of the loop. [5ff3fe4](https://github.com/morpheus65535/bazarr/commit/5ff3fe46845f4ed98c446b6f265c3a2a39ac825a)\r\n- Added vip and daily download limit to addic7ed and try to slow down a little to prevent being ip blocked by the provider. [5d1dccd](https://github.com/morpheus65535/bazarr/commit/5d1dccde995138e631916dcef44a7527b7cdc6b6)\r\n- Fixed exception when creating a new languages profile. [6192df6](https://github.com/morpheus65535/bazarr/commit/6192df6019bcd1c22e1c3ae2da4f83957b8194a5)\r\n- Embedded Subtitles Provider: rebuild language if forced [b5c66e1](https://github.com/morpheus65535/bazarr/commit/b5c66e1470991ac6896b311096a78c8bef21ef9e)\r\n- Update Embedded Subtitles provider: add forced and ass-only support [9b74ad8](https://github.com/morpheus65535/bazarr/commit/9b74ad8610f35275e76b9374643d768c6ef8df53)\r\n- Add Embedded Subtitles provider [ffca84a](https://github.com/morpheus65535/bazarr/commit/ffca84a1b435c479a6e91f37456b7eed95c730f5)\r\n- Add fese module for embedded subtitles [409e1a5](https://github.com/morpheus65535/bazarr/commit/409e1a585428f3d6b44472f8a5a57cb569d732f1)\r\n- Add default attribute to Subtitle [718bd2f](https://github.com/morpheus65535/bazarr/commit/718bd2f8b9b5ed470379381cb51773a3ddc9944f)\r\n- Implemented words/regex ban list for subtitles [63b326a](https://github.com/morpheus65535/bazarr/commit/63b326aa2f12df482f9537a0fec2f7755a152bfc)\r\n- Fixed throttled providers badges in UI throwing exception. #1631 [ca8f3f9](https://github.com/morpheus65535/bazarr/commit/ca8f3f9fd2ae21360549eb80a76d0291d41f96c5)\r\n- Fix hash score in manual search [2cde268](https://github.com/morpheus65535/bazarr/commit/2cde2686fc68a9e9c2d01f3c8a9858bffc5bd225)\r\n- Cleaned up and split API to make it easier to maintain. [204a1c3](https://github.com/morpheus65535/bazarr/commit/204a1c3f3192dcac6688e4a48ea8dd814ffccefe)\r\n- Updated Apprise notification module to the latest providers. [d51dc68](https://github.com/morpheus65535/bazarr/commit/d51dc68ebb3910ca09bb40c33814d43b93d916b8)\r\n- Upgraded some embedded dependencies to be ready for Python 3.10. This doesn't mean that it's fully supported right now. [402c82d](https://github.com/morpheus65535/bazarr/commit/402c82d84f7bd51353348bea7d1a876ad9ecc5b1)\r\n- Added support for upcoming Sonarr v4. [2d214bf](https://github.com/morpheus65535/bazarr/commit/2d214bfbd5f9d1598c01b2e2dd35efa67ccb43af)\r\n- Fixed missing poster or fanart url from raising an exception when rendering UI. [9b273a7](https://github.com/morpheus65535/bazarr/commit/9b273a7a8976f63ff932c1a0cb0be38a98956d05)\r\n- Fix Hosszupuska provider not returning results [247f69c](https://github.com/morpheus65535/bazarr/commit/247f69c210531048186c699de240f5e860ef0b3f)\r\n- Upgraded engine.io module to improve socket.io connection stability. Should help to prevent #1613. [c60c751](https://github.com/morpheus65535/bazarr/commit/c60c7513a5a776b2a15ac3a7b463d0ef9875cf04)\r\n- Improved sanitize function to replace apostrophe and backticks [592dc79](https://github.com/morpheus65535/bazarr/commit/592dc799e967cb68e60ce51ca9295591fc895c01)\r\n- Updated deep-translator module and made some fix to support translation to Chinese. There's still a bug in this module that prevent it but one it's fixed, it should be fine. [f082895](https://github.com/morpheus65535/bazarr/commit/f0828959f3e2561bc3252cb79b2570c6d3122b03)", "date": "2021-12-30T11:51:44Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.0.2/bazarr.zip"}, {"name": "v1.0.1", "body": "From newest to oldest:\n- Improved Titulky provider [d8fffe8](https://github.com/morpheus65535/bazarr/commit/d8fffe8e5206e640689a87ba6fc28b7cadface58)\n- Fix for #1592 [cbd6c05](https://github.com/morpheus65535/bazarr/commit/cbd6c050c9e6604a8215e8e581f25a5350581730)\n- Fixed issue with non-existent episode or movie when indexing embedded subtitles. #1606 [6f17100](https://github.com/morpheus65535/bazarr/commit/6f17100ca4b0ea8be445dad81de775cb56840c28)\n- Implemented some utility functions to subliminal_patch providers to list supported languages and video types. [b53f8ad](https://github.com/morpheus65535/bazarr/commit/b53f8ad80abff1410918bd3b86157d01b08fee6d)\n- Fixed some issues in opensubtitles.com provider. #1602 [faa368b](https://github.com/morpheus65535/bazarr/commit/faa368b6620be68bcf1a3a8872b9305e0e533117)\n- Added uptime to System-->Status [55b7c98](https://github.com/morpheus65535/bazarr/commit/55b7c9826b8b830bcbecc394f1301719c2939064)\n- Improved LegendasDivx provider to get more accurate results and prevent unnecessary throttling [f53ef40](https://github.com/morpheus65535/bazarr/commit/f53ef40d57d4cf23fcf4410028a77bea318b6415)\n- added more improvement to Titulki provider [618bdde](https://github.com/morpheus65535/bazarr/commit/618bddebf97fd962a89a6c9d1f11c19733fbb4d7)\n- Fixed some issues with Titulki provider [006e17b](https://github.com/morpheus65535/bazarr/commit/006e17bdc2541d9eb9022e99b4da96d5ece04f24)\n- Fixed movies missing subtitles computation when there's a forced subtitles track/file. [3bc7002](https://github.com/morpheus65535/bazarr/commit/3bc700225fc69737b466ed560519696094aa987d)\n- Fixed Radarr API call to get version with the latest nightly. [e6c1dba](https://github.com/morpheus65535/bazarr/commit/e6c1dba37bc9351c10612924d56177107d6a46a6)\n- Improved results with Titulki provider [0e50335](https://github.com/morpheus65535/bazarr/commit/0e50335e2d26597cac20ee5264a78ea9c53e7ce0)\n- Fixed Brazilian Portuguese audio language match with Radarr. [aaa8b48](https://github.com/morpheus65535/bazarr/commit/aaa8b48dad3a1d4de5a8f2f04fcc96cf1fb5fb3a)\n- Fixed notification removal from settings. #1594 [58de876](https://github.com/morpheus65535/bazarr/commit/58de876f193e8358836b8fd12d25bc7e9d65005c)\n- Refactored the Titulki provider [801ff0d](https://github.com/morpheus65535/bazarr/commit/801ff0d47895a3fb00a9aa190a2ca1eaac55100a)\n- Removing TuSubtitulo per provider request. #1591 [3d936ff](https://github.com/morpheus65535/bazarr/commit/3d936ffccf767d0a91cbc3b7b3c05306e957e561)\n- Updated apscheduler to it's latest version. [c12c7b4](https://github.com/morpheus65535/bazarr/commit/c12c7b4064c6dae8e06f91d6443b78089a99e793)\n- Moved back from gevent to waitress web server. This should prevent UI disconnection occurring during heavy task like syncing subtitles. [39fe314](https://github.com/morpheus65535/bazarr/commit/39fe3141d51b01479e7b585ad0b5ee5df1767226)\n- Added More Equivalent release groups [8bdf957](https://github.com/morpheus65535/bazarr/commit/8bdf957c066e6f7d453e2164b0f9708ed09fedc2)\n- Fix for series progress bar not updated when a subtitles file is downloaded or deleted. [878a271](https://github.com/morpheus65535/bazarr/commit/878a271a4275258c80912226f7e97ba26f054307)\n- Fixed TuSubtitulo provider [08c797c](https://github.com/morpheus65535/bazarr/commit/08c797c484d93c02d4db2bfa3f702e3926121b9e)", "date": "2021-11-19T01:45:29Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.0.1/bazarr.zip"}, {"name": "v1.0.0", "body": "From newest to oldest:\n- Added subtitrari-noi.ro and improved titrari.ro [788b4b3](https://github.com/morpheus65535/bazarr/commit/788b4b33f0adf856f7066d5f0a325a879bb2b927)\n- Improved language selection for Titrari.ro provider. [0bc2605](https://github.com/morpheus65535/bazarr/commit/0bc2605439184fba36fcfd8e4a61c4b664a827e8)\n- Fixed Ktuvit problem with default empty return values [a819fc3](https://github.com/morpheus65535/bazarr/commit/a819fc34b36a45b21fee6def70003412ca66d41f)\n- Improved support for series for Titrari.ro provider [b1af4ca](https://github.com/morpheus65535/bazarr/commit/b1af4caeebdb9b98e098146afe72b9ef4e781ea6)\n- Added support for series to provider Titrari.ro [294d3eb](https://github.com/morpheus65535/bazarr/commit/294d3eb0eefdd5aad177d4ea08f57eebd9e7bf02)\n- Added a settings to disable SSL certificate validation for Podnapisi. Be careful as it's causing a security risk for a man in the middle (MitM) attack. #1565 [d851c16](https://github.com/morpheus65535/bazarr/commit/d851c16da7e7063fb5ad89993a5933de2bfd88f1)\n- Improved description of proxy ignored addresses. #1566 [9fff275](https://github.com/morpheus65535/bazarr/commit/9fff275f1ced4f77d297aa1775ca72b6067e1c83)\n- Fixed titrari.ro provider [17dd5dd](https://github.com/morpheus65535/bazarr/commit/17dd5ddde5bd9a67f9c3ffea3d9e485927b824e2)\n- Make debug call more verbose [385461d](https://github.com/morpheus65535/bazarr/commit/385461d28cd6c9c7838b2f7fda5ca601a89f7c83)\n- Fixed titrari search endpoint again. #1564 [036600f](https://github.com/morpheus65535/bazarr/commit/036600f15061653ce04a6b16493a14bb71e028a5)\n- Improved opensubtitles.com providers. [679f1e8](https://github.com/morpheus65535/bazarr/commit/679f1e803c75ec6660b16580323db0a8fb250f85)\n- Fixed multiple episodes subtitles upload to use the first episode number found. #1562 [56ffa72](https://github.com/morpheus65535/bazarr/commit/56ffa722e5c0b89e49601993738621511a907e32)\n- Fix Missing subtitles issue with Ktuvit provider [66585ec](https://github.com/morpheus65535/bazarr/commit/66585ec7654d5ba5633f79d5cc51ca18807619a4)\n- Improved queries to opensubtitles.com to reduce footprint on their side. [c1421f1](https://github.com/morpheus65535/bazarr/commit/c1421f1cce7b2553dbcb2f60954203b0293a8e3b)\n- Fixed issue with movies on Addic7ed. #1550 [6d082f8](https://github.com/morpheus65535/bazarr/commit/6d082f8b388341ce70dfb647efb88b0964651f4b)\n- Add titulky.com provider to the UI [8d698fa](https://github.com/morpheus65535/bazarr/commit/8d698fa7e4972f86c09b6d3fda1c3bb4f5787e8c)\n- Prevent broken release (missing asset) from corrupting existing installation. [36a2309](https://github.com/morpheus65535/bazarr/commit/36a2309bcaa2d7ea6ba015b6c6a39884ca2a947f)\n- Fixed opensubtitles.com forced subtitles searching. [cde6246](https://github.com/morpheus65535/bazarr/commit/cde624696d88679b80197fd7b5e78656cc169c87)\n- Fixed Addic7ed AttributeError exception with some movies #1525 [0e01c64](https://github.com/morpheus65535/bazarr/commit/0e01c64079cced6e5ed8b2555c0506ae2bec6a1a)\n- Fixed Ktuvit provider login [b137af0](https://github.com/morpheus65535/bazarr/commit/b137af0908daf71b16873935dbcfc643cc875674)", "date": "2021-10-12T23:44:33Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.0.0/bazarr.zip"}, {"name": "v0.9.9", "body": "From newest to oldest:\n- Fixed Titrari providers search endpoint. #1526 [8d5c2db](https://github.com/morpheus65535/bazarr/commit/8d5c2db39d8016ef9e69e42004e1b3f929360c44)\n- Fixed incompatible operator with Python 3.7 in latest patch to Addic7ed. [caf01da](https://github.com/morpheus65535/bazarr/commit/caf01da2edadbbc847f39a92c45c67587e7eb152)\n- Fix redirect issues when accessing root path [9901bf3](https://github.com/morpheus65535/bazarr/commit/9901bf340019d431c1aaba69546589e73ccbd8f3)\n- Added movies searching to Addic7ed provider. #1525 [96a3acf](https://github.com/morpheus65535/bazarr/commit/96a3acf8e945ca8a509a1b653a6d9d2622218eea)\n- Fix incorrect position of provider badge [60de70f](https://github.com/morpheus65535/bazarr/commit/60de70f9e8db1216396cc9275077ece46036dc94)\n- Fix items are not updated when using mass editor [60e2732](https://github.com/morpheus65535/bazarr/commit/60e2732f48f2aa4f2ab1845b40cff8fef10e1bc2)\n- Added provider Ktuvit [de5bcc8](https://github.com/morpheus65535/bazarr/commit/de5bcc8ed0054e0b7d53f1b7919cb2d2f9d0d94f)", "date": "2021-09-11T12:47:07Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v0.9.9/bazarr.zip"}, {"name": "v0.9.8", "body": "From newest to oldest:\n- Fixed wanted list not getting updated when changing exclusion settings for Sonarr and Radarr. [0e9cd7d](https://github.com/morpheus65535/bazarr/commit/0e9cd7d05fd2a9492d61cb552204c08254c0b470)\n- Remove red dot in the notification center [d37eea3](https://github.com/morpheus65535/bazarr/commit/d37eea3c92f489ec66deb2ed212b7c7d08809252)\n- Fixed a search loop issue with missing subtitles for episodes. #1521 [3b4e81d](https://github.com/morpheus65535/bazarr/commit/3b4e81db5eee45a73b7cee8b371e1f0649b01037)\n- Fixed some issues with HI/forced in history and custom post-processing. #1516 [75d85d0](https://github.com/morpheus65535/bazarr/commit/75d85d05517a7547d36195b309809adfc402a8de)\n- Fix a issue that hi and forced is not properly updated on series subtitle upload modal [50fb06b](https://github.com/morpheus65535/bazarr/commit/50fb06b23a502c3a108c2e17038e4bfe85cbcd59)\n- Add forced and hi checkbox to subtitle upload modal [7e48413](https://github.com/morpheus65535/bazarr/commit/7e48413493510f4f7e95b2b49bdd8b051e482d14)\n- Improved how custom post-processing deal with subtitles language modifier (HI and forced). #1516 [5c5d14c](https://github.com/morpheus65535/bazarr/commit/5c5d14c045e7c152806a75c6ee0088e92c09c32b)\n- Score: add a condition class to allow painless future additions [9ced18d](https://github.com/morpheus65535/bazarr/commit/9ced18d0d3053fbdf8887a139d94e718c9abfd55)\n- Support multi-language in subtitle upload modal [4a890b2](https://github.com/morpheus65535/bazarr/commit/4a890b25617b0a50f3882f95e626c0f226382c7f)\n- Fixed throttled providers badge not being updated when pressing the reset button. [e0b988b](https://github.com/morpheus65535/bazarr/commit/e0b988b20f71d6fb6cc8bf5b55be1cbaf436d227)\n- Fix display issues of backend background tasks [499faeb](https://github.com/morpheus65535/bazarr/commit/499faeb94a61c2320e2f99cfd05e92c85a581081)\n- Add a dialog before closing the page to inform user when there're still background tasks running [81507b9](https://github.com/morpheus65535/bazarr/commit/81507b9e750228de6d52cb3f7cbd631ecfac3713)\n- Improve performance of Web UI [1f3e499](https://github.com/morpheus65535/bazarr/commit/1f3e499f3db42d15436be604934770ed21e62548)\n- Fixed Hebrew language translation issue. #1513 [5ceb876](https://github.com/morpheus65535/bazarr/commit/5ceb876171e14f8d5b9d85a21a394710f81fc76d)\n- Improved Subscene provider with single season series. #1510 [8ae5e54](https://github.com/morpheus65535/bazarr/commit/8ae5e5483ec8c9a36d92bb08522a469cdc741da0)\n- Add tooltip in notification center [2c5aecc](https://github.com/morpheus65535/bazarr/commit/2c5aecc0dbbba241512a016fc7bb302767fac600)\n- Upload serie subtitles in background [43ebecb](https://github.com/morpheus65535/bazarr/commit/43ebecbdb26d4bcd3fc6f6cf18a6489bcc34b5fc)\n- Upload movie subtitles in background [87123ab](https://github.com/morpheus65535/bazarr/commit/87123ab4c7874e218db9273ac2bcef8bfa26e3f6)\n- Update merged source formats [34b1782](https://github.com/morpheus65535/bazarr/commit/34b1782e6a1304bd3a4da9c6e9b8b540358888e0)\n- Fixed debug logging when no episode are returned from database for a specific series because they are ignored. #1507 [79621a0](https://github.com/morpheus65535/bazarr/commit/79621a08716d64dff3a80b00ef15acd605068387)\n- Fix some visual bugs of the notification center [70cb16f](https://github.com/morpheus65535/bazarr/commit/70cb16f0a284c36dcb8cfbaf3bc467d426fbcfe3)\n- Fixed Bazarr not starting if Sonarr or Radarr is unavailable #1506. [2f6206f](https://github.com/morpheus65535/bazarr/commit/2f6206f3a66ea2c424cfc39ca2100d95bd4b062d)\n- Added a settings to ignore ffprobe cache on scheduled disk scan. [2762fc4](https://github.com/morpheus65535/bazarr/commit/2762fc4a6a4c3276faab78c1263523ab63054685)\n- Fixed live episode sync when added in Sonarr v3. [156cf18](https://github.com/morpheus65535/bazarr/commit/156cf1882c0de7f7f2d990781a8b6d2c80bb1a6a)\n- Rewrite modal system using stack, fix some visual bugs [82a687c](https://github.com/morpheus65535/bazarr/commit/82a687c8c8f68dea27181bc5edb1359c455d656d)\n- Add a error page when ui is crashed [37da374](https://github.com/morpheus65535/bazarr/commit/37da3742a0de2ff12558a46d2fc2eb14e3f8f7d9)\n- Fix some style issues [a2fc1d7](https://github.com/morpheus65535/bazarr/commit/a2fc1d73ddd0b6ac54cf17827d03ce7e90c3095a)\n- Fix display issues [135d866](https://github.com/morpheus65535/bazarr/commit/135d866249d9f93182ff89181bbc44b4e44ec226)\n- Add a new notification center to the UI [d7533ba](https://github.com/morpheus65535/bazarr/commit/d7533bac5767df6ffa61756ac12887be2a9eeca7)\n- Update Redux Implementation with Redux-Toolkit [6f9c7f3](https://github.com/morpheus65535/bazarr/commit/6f9c7f3da2d0a70aaf0af1bf094211bcd7d3c4b8)", "date": "2021-08-31T16:53:48Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v0.9.8/bazarr.zip"}, {"name": "v0.9.7", "body": "From newest to oldest:\r\n- Fix broken url for titulky.com provider [9b05a3a](https://github.com/morpheus65535/bazarr/commit/9b05a3a63ae950a225d5d720aa648156375a1df7)\r\n- Modified Bazarr user-agent to report real version [d23d36d](https://github.com/morpheus65535/bazarr/commit/d23d36d81c065a16af601040d68092a84f3ba9b8)\r\n- Added a validation of existing credentials for opensubtitles.com provider. [c05db9f](https://github.com/morpheus65535/bazarr/commit/c05db9f8c5731351304ec01aec9d7ad3ce3cebf8)\r\n- Fixed empty strings being saved as 'None' in config.ini. [c205958](https://github.com/morpheus65535/bazarr/commit/c2059584db9ae3a3c19c3fcfe205f7d72b9e4fcf)\r\n- Added some logging to Sonarr/Radarr get_version. [83764bb](https://github.com/morpheus65535/bazarr/commit/83764bb07b152edb8009bbcd70b6809da8cfcd20)\r\n- Changed the warning when Sonarr SignalR return malformed JSON because of a permissions issue on its config directory. [f2d4ac8](https://github.com/morpheus65535/bazarr/commit/f2d4ac8266c48d69c76ccbdfb558e2f831b243aa)\r\n- Removed the --no-color argument to pip command when installing requirements as it's not supported by older version of pip. [aa6dcbd](https://github.com/morpheus65535/bazarr/commit/aa6dcbd7328fe8c08119e67debaee96fb6d810c9)\r\n- Removed unused variables in check_releases function. [144db06](https://github.com/morpheus65535/bazarr/commit/144db064cda4502fbe100307c458e0b233980585)\r\n- Added some debug logging to the upgrade leftover cleaner. [a5852e6](https://github.com/morpheus65535/bazarr/commit/a5852e605251c4c90076269fbea9669be3abb22c)\r\n- Removed media.resume from Plex webhook to prevent over usage in specific scenarios. [28e28fb](https://github.com/morpheus65535/bazarr/commit/28e28fbd5c7c89fead99b1ff055b66f597d6a88b)\r\n- Fixed issue with upgrade leftover cleanup on Windows. [275aa24](https://github.com/morpheus65535/bazarr/commit/275aa24f58d061362e9ff8b0f6d14c0983bce844)\r\n- Fixed issue when trying to remove non-empty directory when cleaning leftover files after upgrade. [2cea2d2](https://github.com/morpheus65535/bazarr/commit/2cea2d22bfb0e050e95ba3c50dba9631210886d0)\r\n- Fixed issue with upgrade cleanup routine when installed with Windows Installer. [dd80fec](https://github.com/morpheus65535/bazarr/commit/dd80fec9d4a6d5a5af1e7d41bbcebb07c43ae35c)\r\n- Added search progress modal when searching for an episode subtitles triggered by Plex webhook. [91c53ba](https://github.com/morpheus65535/bazarr/commit/91c53ba475eacb66f3c5673ff3122b7cf5c238da)\r\n- Improved how Bazarr get Sonarr/Radarr version to use caching and reduce the number of calls made to their respective API. [842dbf0](https://github.com/morpheus65535/bazarr/commit/842dbf08275b6c6218d29ca1cedb90a5eaca9443)\r\n- Added plex webhooks endpoint to API to search for subtitles on media.play and media.resume events. [bf037f1](https://github.com/morpheus65535/bazarr/commit/bf037f1573ad7f991d5b4d949726b7d5b4ec305c)\r\n- Added a leftover cleanup function to be run after an upgrade. [638d0a8](https://github.com/morpheus65535/bazarr/commit/638d0a8c6857eb302c75d066ebcdf9353e745c11)\r\n- Fixed subtitles sync issues when sync debug is enable. [9372c0b](https://github.com/morpheus65535/bazarr/commit/9372c0b821c25030359a94ca4d05269195634886)\r\n- Fixed root folders check health functions to use the proper path separator. [360e0cf](https://github.com/morpheus65535/bazarr/commit/360e0cfea19a2d1a285ec42dbbd733fde55ddaf6)\r\n- Added settings to download only featured subtitles for LegendasTV [33a600a](https://github.com/morpheus65535/bazarr/commit/33a600a714474495a58fdf038d7a636c0e339c44)\r\n- Fixed settings saving not completing properly when the SignalR client didn't start properly. #1474 [1d20bbb](https://github.com/morpheus65535/bazarr/commit/1d20bbb4b9d83a583d4950c94829733d8d0a4267)\r\n- Update React to version 17 [b912ca4](https://github.com/morpheus65535/bazarr/commit/b912ca4e41cfa7b91620100b14611fb9f8f58747)\r\n- Added virtualenv detection to better deal with requirements installation. [d1f86a3](https://github.com/morpheus65535/bazarr/commit/d1f86a3cbf569155ef1a86b5968c393e08b4ecc8)\r\n- Added chmod execution (if required) after manually triggered tools execution. #1478 [aca9941](https://github.com/morpheus65535/bazarr/commit/aca99415b8f4bcc5b2b43dc338e41b6f4ed96bd9)\r\n- Improved Sonarr versions prior to 3.x detection. [96b8b5c](https://github.com/morpheus65535/bazarr/commit/96b8b5ccce9c45c44daf2c3a11ddb41506f369a3)\r\n- Fixed gevent import in main.py [e2b4912](https://github.com/morpheus65535/bazarr/commit/e2b4912067932dc505fead42ad837c1f1fa03cd1)\r\n- Improved how Bazarr deals with Sonarr SignalR feed issues that are raising exceptions. [5e3ce8c](https://github.com/morpheus65535/bazarr/commit/5e3ce8c8c3e9402d98b6ccdc1b5de5c70e2759ad)\r\n- Fix wanted pages are not updated properly after changing language profile [ed30f76](https://github.com/morpheus65535/bazarr/commit/ed30f76c57dd4b6ac511edf430ebe358ef24ccee)\r\n- Fixed incomplete SQL queries. #1479 [d5b8980](https://github.com/morpheus65535/bazarr/commit/d5b898064d7188d5bc47bcb3a73405a38133d5d6)\r\n- Fixed wanted list ordering. #1475 [6eeaa46](https://github.com/morpheus65535/bazarr/commit/6eeaa46bbf3d3fdc46f6cca39c25284c9459cf12)", "date": "2021-08-13T12:05:29Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v0.9.7/bazarr.zip"}, {"name": "v0.9.6", "body": "From newest to oldest:\r\n- Added fix for inconsistent movie/tv naming to yavkanet provider [31dcd37](https://github.com/morpheus65535/bazarr/commit/31dcd37d52dfb52d091c1131754bba7f1bd94609)\r\n- Fixed zimuku provider to prevent unexpected exception. #1459 [8cdd362](https://github.com/morpheus65535/bazarr/commit/8cdd362caab710923f6d6247d8e24c5cfc8ac72c)\r\n- Updated pysubs2 module to support newer SSA files. [09a8335](https://github.com/morpheus65535/bazarr/commit/09a8335a03fa741be6c4cc5b030bac01d1c84b0f)\r\n- Fixed missing subtitles language badge in movies view to show if it's forced or hi. [60353c0](https://github.com/morpheus65535/bazarr/commit/60353c036743574c64f10bcff0c8a06461c8cafc)\r\n- Added missing authentication on system/status API endpoint. #1467 [2428399](https://github.com/morpheus65535/bazarr/commit/24283992066b8cbafed815bf6be253a93ac06a30)\r\n- Added setuptools to requirements.txt. It should be already installed in most case but just in case. [0a1ad41](https://github.com/morpheus65535/bazarr/commit/0a1ad41f9df173bff7eb053334c50d593f51fd75)\r\n- Added an unsupported warning on startup if using Python 3.9 [3b1b67d](https://github.com/morpheus65535/bazarr/commit/3b1b67d70142c6a6f77dac7e84755a1519449447)\r\n- Fixed wanted subtitles searching for ones that should be excluded for search. #1458 [8bfcf97](https://github.com/morpheus65535/bazarr/commit/8bfcf97ed59efb10850c70e45e2be7660437893a)\r\n- Added inconsistent tv naming entries to Subssabbz and Subsunacs providers [b1654bb](https://github.com/morpheus65535/bazarr/commit/b1654bb7475bfd80b64eaaa390ca228804f81bbc)\r\n- Fixed Wizdom provider by adding some failsafe to imdb_id logic. #1456 [86fb10e](https://github.com/morpheus65535/bazarr/commit/86fb10e3affc478fe8e4dceca378ac7aa6bda3c5)\r\n- Fixed movies not getting properly excluded from wanted subtitles search task. [ae475f2](https://github.com/morpheus65535/bazarr/commit/ae475f283e0cff87a057727345aef44c48ccf19f)\r\n- Fixed colors name without the required dash (light and dark ones). #1457 [cb623c3](https://github.com/morpheus65535/bazarr/commit/cb623c3c2689561047810958d5d760c89c00d00a)\r\n- Fixed subdivx provider when there's a year in series directory name but not on the provider website. #1454 [4a78f3b](https://github.com/morpheus65535/bazarr/commit/4a78f3b6b8847a3562969cde26f8cada8e2e3bf4)\r\n- Fixed proxy ignore list input that was splitting on dots. #1453 [64cf2bc](https://github.com/morpheus65535/bazarr/commit/64cf2bc5d2b3e7b53f0f101d52c44647d8791429)\r\n- Fixed file encoding guessing by extending Arabic, Farsi and Persian language possible encoding. [2b67c5b](https://github.com/morpheus65535/bazarr/commit/2b67c5bcba5e15af6983c8c786898434f9c3c2ca)\r\n- Fixed the Bazarr update process that was preventing moving back to master branch once you've started to use development/nightly. #1331 [4e03ec0](https://github.com/morpheus65535/bazarr/commit/4e03ec0acc5d07638ce5424bd68fa44b63e31fdc)\r\n- Fix argenteam TypeError and JSONDecodeError [38d2332](https://github.com/morpheus65535/bazarr/commit/38d2332c3989d0ec29326d4f9b13588c46ee08c7)\r\n- Fixed supersubtitles provider not able to search for Loki series subtitles #1447 [81b5700](https://github.com/morpheus65535/bazarr/commit/81b5700209e84b60460d00551b5c59b73c2b1128)\r\n- Fixed Chinese characters decoding by using gb18030 after big5 [5d5a1e8](https://github.com/morpheus65535/bazarr/commit/5d5a1e866c1daea5b52fd8b7db5b0f8feba9d7f1)\r\n- Fixed removal of IPv4 and apikey from logs [73691b2](https://github.com/morpheus65535/bazarr/commit/73691b28a275b58896a640e6c2e35f5282408018)\r\n- Fixed token issue with opensubtitles.com [557a061](https://github.com/morpheus65535/bazarr/commit/557a06173df4239ab1bd089779c09b049fb41ac4)\r\n- Added missing column to movies upgrade query. [d0c7c5d](https://github.com/morpheus65535/bazarr/commit/d0c7c5d5e073c80af90569158c49072a87da89e6)\r\n- Implemented database migration function [50d4a7a](https://github.com/morpheus65535/bazarr/commit/50d4a7a0479751fa2bd67058ec0266093970ddbc)\r\n- Fixed external subtitles not shown when no languages profile is selected. [fd6c959](https://github.com/morpheus65535/bazarr/commit/fd6c959ec8baed6a13619f0df5ab404e6dd99b61)\r\n- Reset window position when backing to previous page [030ca2a](https://github.com/morpheus65535/bazarr/commit/030ca2a4e36bce65c75bd55a410cdc6777bcffca)\r\n- Improved events sent to browser. [b9c27d5](https://github.com/morpheus65535/bazarr/commit/b9c27d53ad51ab3f30a3d37148ffd1cca4a35b0c)\r\n- Upgraded calls to Sonarr API in order to use the new v3 API when available. [ee41b78](https://github.com/morpheus65535/bazarr/commit/ee41b78f4e4fe015ce915d1721b880b6d2d4d40f)\r\n- Fixed Regielive provider #1438 [26e978b](https://github.com/morpheus65535/bazarr/commit/26e978b14b2289fa189a789f6f2c03570c55eb08)\r\n- Fixed Titrari provider #1438 [f4df07f](https://github.com/morpheus65535/bazarr/commit/f4df07fb83b37bc4022723f2af572d5d77ae2316)\r\n- Fixed an issue with languages filter in history stats. [de4ff35](https://github.com/morpheus65535/bazarr/commit/de4ff35e055c0d69c0bfbebb47733792c5196a27)\r\n- Fixed scan disk function to not use cached ffprobe result and force a refresh of the cache. #1434 [a3d0e1d](https://github.com/morpheus65535/bazarr/commit/a3d0e1d192cf5e0a86189cc7336847d882487c61)\r\n- Finish providers migration to subliminal_patch's guess_matches [a39a9e8](https://github.com/morpheus65535/bazarr/commit/a39a9e8bd52542ff34a4a7b94a9504073e5aeabd)\r\n- Improved subtitles scoring system [e86d537](https://github.com/morpheus65535/bazarr/commit/e86d537ca2ffe49a6911b44d3c3611365461e232)\r\n- Fixed subtitles being looking for during a search in loop even if cutoff have been reached during this actual search. #1435 [f9997ca](https://github.com/morpheus65535/bazarr/commit/f9997ca9694ba3b8f2e3d446f1cdadaa0ed9938c)\r\n- Fix languages/providers filters issue in history stats [c21e501](https://github.com/morpheus65535/bazarr/commit/c21e501ebe139fa76a4b1c6407731e0fd25997c7)\r\n- Added backend API call for upcoming languages/providers filters fix to history stats. [054d117](https://github.com/morpheus65535/bazarr/commit/054d1174000cae371ff17fe348db4ce26e71e947)\r\n- Fixed History stats actions filter values not being properly implemented. [db5d37f](https://github.com/morpheus65535/bazarr/commit/db5d37f5d48aa5b582c55cee1fe509e625a3d206)\r\n- Update half of providers to use subliminal_patch's guess_matches [14d467e](https://github.com/morpheus65535/bazarr/commit/14d467e645c1d60d20067efaa9ad515934f67111)\r\n- Fix Sucha provider: AttributeError and wrong matches [5b1f479](https://github.com/morpheus65535/bazarr/commit/5b1f4799014f9e8a91e1bd037a86db585c5423e8)\r\n- Fixed failed upload #1429 [90ba573](https://github.com/morpheus65535/bazarr/commit/90ba573ebe9f3660a0aa61f81a0a885df5468213)\r\n- Updated signalrcore module following PR #61 merging. [23ede4e](https://github.com/morpheus65535/bazarr/commit/23ede4e7f9a69c6cc6f8545d90789457eb0d6c9a)\r\n- Fixed BetaSeries AttributeError exception #1423 [cb09f8d](https://github.com/morpheus65535/bazarr/commit/cb09f8d4405d4a873cd9097924fe4da932cbfed4)\r\n- Added custom language class to make it easier to implement non-standard/regional languages [4ebcd49](https://github.com/morpheus65535/bazarr/commit/4ebcd49546ed7772cb6f3a9c83079e5aea08e15a)\r\n- Fixed external subtitles were being filtered by show only desired embedded subtitles settings. [d4aed74](https://github.com/morpheus65535/bazarr/commit/d4aed7457a428685c3883eca6a1bc14f3352d707)\r\n- Fixed movies subtitles paths being shown in UI without being mapped. [d562faf](https://github.com/morpheus65535/bazarr/commit/d562faf15149a51c885a9a09fda02dc2b284ab84)\r\n- Fixed log viewer showing last line of log two times. [11fb78f](https://github.com/morpheus65535/bazarr/commit/11fb78fafabbb6529080cb8eecb6f1aed51ad7ec)\r\n- Fixed series and episodes sync issues when adding and removing series from Sonarr. [727c8f5](https://github.com/morpheus65535/bazarr/commit/727c8f5d140a92a836258d4bba25e7244befd7ce)\r\n- Fixed some queries trowing exception when no existing row were found #1425 [8d570fd](https://github.com/morpheus65535/bazarr/commit/8d570fd3b76883455200905f1b3cf4ab60e6d2da)\r\n- Fixed some incompatible calls with Radarr v4 API [57080ed](https://github.com/morpheus65535/bazarr/commit/57080eda1119960e91fbda46e1a5c5d7191107b1)\r\n- Fix some incompatible calls in URL test button [7687013](https://github.com/morpheus65535/bazarr/commit/768701327025471e04619db80ead6ebe6c6e08c0)\r\n- Fixed some incompatible calls with Radarr v4 API [e9ef40c](https://github.com/morpheus65535/bazarr/commit/e9ef40c6296a1e2e0c81b0ee42e5d2a2955c5f60)\r\n- Disabled SSL verify for Sonarr SignalR feed connection and added Bazarr user agent to both Sonarr and Radarr feeds. [b8512cc](https://github.com/morpheus65535/bazarr/commit/b8512ccf0908c0d0eea932fadb8a432e0ab6cfaf)\r\n- Fixed API call to Radarr since the are removing legacy API from nightly builds. [3468601](https://github.com/morpheus65535/bazarr/commit/3468601d4d4b9078e76b7a5335da44ab19f97f1e)\r\n- Fixed some other queries to properly exclude episodes/movies. [e710488](https://github.com/morpheus65535/bazarr/commit/e710488d7a70d95993de05759fd625ddccd4482e)\r\n- Added exclusion in get rootfolder functions for the ones that aren't used by any series/movies. #1413 [b2b9795](https://github.com/morpheus65535/bazarr/commit/b2b979581075788d320a1b76158f4607d2e41ca0)\r\n- Fix a issue that ui will crash when first entering history view [7b9c19d](https://github.com/morpheus65535/bazarr/commit/7b9c19d7c00b9f73b3b2fe2b25dedc4d4b337033)\r\n- Fixed query to add url to get_notifier_providers function [833ecb3](https://github.com/morpheus65535/bazarr/commit/833ecb34e8beb22d1ca2411a5e1ecdc06fa92162)\r\n- Fixed more peewee implementation issues. [f442d7d](https://github.com/morpheus65535/bazarr/commit/f442d7d09190439d92a8ef40cc039492d787bb39)\r\n- Fixed database init issue. [9cc00eb](https://github.com/morpheus65535/bazarr/commit/9cc00ebd65597f3690bc16a0d4f9fa73e8bb6d08)\r\n- Fix subtitle badges display issues in some situations [5732828](https://github.com/morpheus65535/bazarr/commit/573282863d3b4321be3a23a60a7082baff8c4b39)\r\n- Improved Opensubtitles.com provider caching of token [7209bad](https://github.com/morpheus65535/bazarr/commit/7209bad0c4ca2ae090c239b0b72a349ef2fcf8bd)\r\n- Improved Opensubtitles.com providers [bb842b9](https://github.com/morpheus65535/bazarr/commit/bb842b92af4049e4ac1d342aaf4a960b8b0bba09)\r\n- Fixed other issues with peewee [75c003a](https://github.com/morpheus65535/bazarr/commit/75c003ab674aadf5e9e451ecaa24a1b3cad1e8f3)\r\n- Fixed some issues after peewee implementation [d34add9](https://github.com/morpheus65535/bazarr/commit/d34add9fa4a7e9e894953ca55222643e76d433bd)\r\n- Implemented Peewee ORM in replacement of raw SQL queries. [2b9d892](https://github.com/morpheus65535/bazarr/commit/2b9d892ca9151118917c2d682c9bde204a5c72fa)\r\n- Added series' episodes sync when required by Sonarr (ex.: episodes monitored status change) [47bb77a](https://github.com/morpheus65535/bazarr/commit/47bb77ac6f229afb366e40af4e8233933d23ebd2)\r\n- Tweaked the Radarr SignalR feed keep-alive and reconnection intervals. [c8e02e2](https://github.com/morpheus65535/bazarr/commit/c8e02e280a2a9157391dc37802fc3ebe71bfa070)\r\n- Fixed events storm to UI on SignalR (re)connection with large libraries. [bf8c4ca](https://github.com/morpheus65535/bazarr/commit/bf8c4caef7d4f819e2f5704b345c3d056ca103a9)\r\n- Updated SignalRCore to support websocket-client 1.0.0. [2643023](https://github.com/morpheus65535/bazarr/commit/2643023240ec4a3a253b06d134862bb8d27442f4)\r\n- Fixed the movies not getting synced after a reconnection of Radarr SignalR feed. [1fdad49](https://github.com/morpheus65535/bazarr/commit/1fdad498f6cdbfd238ce75e21a4e06801b6355e9)\r\n- Added argument to disable the socketio events emit process to avoid events storm rendering the UI unresponsive. I still need to use it when calling sync functions from signalr_client.py. [5f99836](https://github.com/morpheus65535/bazarr/commit/5f99836801e2b63438a5026135f738dbb9090414)\r\n- Upgraded websocket-client module to fix Radarr SignalRCore disconnection issues. [70a0f68](https://github.com/morpheus65535/bazarr/commit/70a0f6835e68e72e70340d0153cd0f2bcd5a9b53)\r\n- Switched to Gevent scheduler instead of background threaded. [dd8072a](https://github.com/morpheus65535/bazarr/commit/dd8072adf8d80016c958ddf1b396e8f229adc52f)\r\n- Improved reconnection process for Sonarr SignalR feeds. [44dd478](https://github.com/morpheus65535/bazarr/commit/44dd478c48fd394bac9fc7782c4c526dd26e7970)\r\n- Ignore embedded commentary subtitles [d6da0ee](https://github.com/morpheus65535/bazarr/commit/d6da0eec9500e119718cbe2cc775943e11450cf6)\r\n- Improved readability of toast progress label, overflow of toast message with ellipsis and removed the toast close button considering the auto-dismiss. [cf35f4a](https://github.com/morpheus65535/bazarr/commit/cf35f4a9d2ccb792e0fbaa6d110ed5dd39af212d)\r\n- Added successful completion message to tasks progress toast. [821ff13](https://github.com/morpheus65535/bazarr/commit/821ff13b80a0559bb07ca46d3df8a4b5e1ea3102)\r\n- Fixed Radarr SignalR connection started even if Radarr integration isn't enabled. [e239562](https://github.com/morpheus65535/bazarr/commit/e23956278bc7b8c77fd0cecdcf90fd7b5b9642fc)\r\n- Improved how we deal with requirements.txt installation process results. [4ef35c5](https://github.com/morpheus65535/bazarr/commit/4ef35c5527e3ba4da27090f5b040786e0e47214d)\r\n- Improved Radarr SignalR feed reconnection process. [84a1c26](https://github.com/morpheus65535/bazarr/commit/84a1c265cea6ddc59c5dc4b43f756af7090e8cf8)\r\n- Fix for Bazarr version parsing. [ffe8a20](https://github.com/morpheus65535/bazarr/commit/ffe8a201a9066bfc47d94f5bb2edc718447e7898)\r\n- Handling progress delete event in UI [0031e69](https://github.com/morpheus65535/bazarr/commit/0031e69db6b8b129eefcd2e8c2ea87056c529761)\r\n- Added header to toasts and bring back the hide_progress backend function. todo: deal with delete method in frontend. [fe0a34a](https://github.com/morpheus65535/bazarr/commit/fe0a34aae58e478c0265cada2e9b08842e8cb92c)\r\n- Fix some style issues [4bb6e87](https://github.com/morpheus65535/bazarr/commit/4bb6e87db9168d6246ea72fcd1aa37ecadbe67e6)\r\n- Tweak style of progress notification [38fc3b3](https://github.com/morpheus65535/bazarr/commit/38fc3b36fed578aa3eba3752f8e66e87ea90c8c5)\r\n- Add background task notification [678b2f0](https://github.com/morpheus65535/bazarr/commit/678b2f0e555e4cc431c61a83907b2a656c8ef25f)\r\n- Added progress events to most batch functions. [9d153a1](https://github.com/morpheus65535/bazarr/commit/9d153a1d9cd263097f89fa4e6e93d929e9067160)\r\n- Fix an issue that cause subtitles missing in movie page [b403744](https://github.com/morpheus65535/bazarr/commit/b4037442b15eda59e6b7bc1a48988d28e78a30e1)\r\n- Added real-time sync with Sonarr v3 and Radarr v3 by feeding from SignalR feeds. You can now reduce frequency of sync tasks to something like once a day. [44c51b2](https://github.com/morpheus65535/bazarr/commit/44c51b2e2c3bffdfc0e0c447c038f6cd0bfd2cbe)\r\n- Added live update of UI using websocket. Make sure your reverse proxy upgrade the connection! [72b6ab3](https://github.com/morpheus65535/bazarr/commit/72b6ab3c6a11e1c12d86563989d88d73e4e64377)", "date": "2021-07-19T01:29:01Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v0.9.6/bazarr.zip"}, {"name": "v0.9.5", "body": "From newest to oldest:\r\n- Added filter for unknown providers in settings. [b72d476](https://github.com/morpheus65535/bazarr/commit/b72d476d2eb3309a499e4060199092a6840fb005)\r\n- Tried to fix the issues with bsplayer [a555617](https://github.com/morpheus65535/bazarr/commit/a5556177386207d5635a5e8aeb201bf4f5850186)\r\n- Added cache to Titlovi request to prevent doing the same request over and over again for each and every episode of a show. [29ad8c6](https://github.com/morpheus65535/bazarr/commit/29ad8c61221659a0aa3807d1bee6b30f870d89d1)\r\n- Improved the ffprobe call caching mechanism by storing result to DB and using it for indexing and subtitles search. [33e1555](https://github.com/morpheus65535/bazarr/commit/33e155531119dc07e1deaf339de0cb4577122a8c)\r\n- Fix for database cleanup routine on new DB. [386bf19](https://github.com/morpheus65535/bazarr/commit/386bf19b6e4d82f6378c4f53c2806139ef178be7)\r\n- Add database cleanup routine to remove unused table columns. [1ebc618](https://github.com/morpheus65535/bazarr/commit/1ebc61818bb3c3a79bdd960a2ab6f19500b6e4a3)\r\n- Fix for subtitulamos.tv provider #1397 [1c9945f](https://github.com/morpheus65535/bazarr/commit/1c9945fadad9f25ce804f9a4dd0d110ac8544a77)\r\n- Downgrade auditok to version 0.1.5 [30ef713](https://github.com/morpheus65535/bazarr/commit/30ef713fa260dc9d9d3120359cd052808606badb)\r\n- Fix for automatic subsync history logging [cc3628a](https://github.com/morpheus65535/bazarr/commit/cc3628a19f92112e1493e0f6adbfbd876a3de816)\r\n- Fix for manual subsync history logging [84a20a3](https://github.com/morpheus65535/bazarr/commit/84a20a3146e52870908ae5182af832cc557a2ce8)\r\n- Added Movie/Series Year to Notifier (based on #1393). [6b1d712](https://github.com/morpheus65535/bazarr/commit/6b1d71282b6fd74fe5420cdc90dd24bf6f173306)\r\n- Fixed episodes manual search button not disabled when no languages profile is selected. [cc17e81](https://github.com/morpheus65535/bazarr/commit/cc17e8144f1410c18935c5a7608d499c92c5499b)\r\n- Fix for forced subtitles improperly upgraded to non-forced. [053adcc](https://github.com/morpheus65535/bazarr/commit/053adcc2795e1e79c7958bd7ef02721c2f899724)\r\n- Use new wiki address in System Status page [09e98b7](https://github.com/morpheus65535/bazarr/commit/09e98b73678101af3f643f2648ab65a0bd089cfa)\r\n- Fix display issue of badges when Sonarr or Radarr is disabled [01b7698](https://github.com/morpheus65535/bazarr/commit/01b76983a797cf8c93fa281c0dcaebd76be4b42f)\r\n- Improve UI performance [71423d2](https://github.com/morpheus65535/bazarr/commit/71423d2029c2c5c845b1e3db3800d0755033b5b9)\r\n- Add description text on providers selector [6de9a34](https://github.com/morpheus65535/bazarr/commit/6de9a3451d8b97b99032e886cb62fd154a378cdd)\r\n- Fix auth issues by only check auth when requesting webui [a742e3c](https://github.com/morpheus65535/bazarr/commit/a742e3c5e3336c2d3e56410bad5eb432d07da056)\r\n- Fix some potential issues when displaying languages [d6d9e93](https://github.com/morpheus65535/bazarr/commit/d6d9e93843964b0473fe01aa0411677690b40f8b)\r\n- Fix issues in language profile modal [65e68d4](https://github.com/morpheus65535/bazarr/commit/65e68d44098a01b13277fdc6a20651c51403014a)\r\n- Fix subtitles display issue on episode page [e462686](https://github.com/morpheus65535/bazarr/commit/e462686c178bb2c611b873b65b896ec99b6d414a)", "date": "2021-05-08T14:06:05Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v0.9.5/bazarr.zip"}, {"name": "v0.9.4", "body": "From newest to oldest:\n- Reworked the monitored status of movie detailed view. [3eef317](https://github.com/morpheus65535/bazarr/commit/3eef31762334c5c25834cf3c769dc7bae7b9e5d3)\n- Added monitored status to movie detailed view. [e848e10](https://github.com/morpheus65535/bazarr/commit/e848e107c841eb795f29b352db817de59c52056d)\n- Fixed Yavkanet provider [d9e0e2e](https://github.com/morpheus65535/bazarr/commit/d9e0e2ec9232bc0b9a90249e3091f30282860e3f)\n- Added eligible for upgrade icon in histories. [5f66724](https://github.com/morpheus65535/bazarr/commit/5f66724d2a6a5d5c65d32e6c86671741299e5119)\n- Fixed upgrade process to properly use bazarr.zip asset #1379 [b02e0ec](https://github.com/morpheus65535/bazarr/commit/b02e0ec7ec462b9236a413aa9363d0825d3c6e3e)\n- Fix app route redirect issues [c3c1891](https://github.com/morpheus65535/bazarr/commit/c3c1891f5696cd261e560dceade92f23ab5b6652)\n- Fix issues when testing notifications [385cc21](https://github.com/morpheus65535/bazarr/commit/385cc214b348815105bc654df3fc710b25a3e620)\n- Fixed subtitles upgrade process to properly deal with manual actions [99fc282](https://github.com/morpheus65535/bazarr/commit/99fc282b07f4be07ebf84255603385bd6899bcf8)\n- Update ffsubsync and srt module [4a0932b](https://github.com/morpheus65535/bazarr/commit/4a0932b5d3052867f7f92984300d2ab4ec54fb0d)\n- Extend simpleconfigparser to not strip quotes from the string value [8e91bee](https://github.com/morpheus65535/bazarr/commit/8e91beed83e6b5a4bec680d15b226a77ff3e224e)\n- Fixed package_info parsing to deal with single line text with `\\n` separator [d2b7dba](https://github.com/morpheus65535/bazarr/commit/d2b7dba3bf36501cf4eccb2af3d1889542bc02a2)\n- Properly log error when Post processing subtitles [29f73a6](https://github.com/morpheus65535/bazarr/commit/29f73a6c09c561aedd468f69e441e1a575cb756c)\n- Fix issues after updating schedule settings [0107150](https://github.com/morpheus65535/bazarr/commit/0107150933ad95e59efdd4b8c2f7fe86db470963)\n- Added Bazarr user-agent to requests to Sonarr and Radarr [a193576](https://github.com/morpheus65535/bazarr/commit/a193576b639d4a3995b3172e47e70c1a9a6b3281)\n- Fix Installed badge won't display in release page [74da491](https://github.com/morpheus65535/bazarr/commit/74da491bd17d4317c5f277236b0f65be0f7acc87)\n- Revert \"Merged the series and episodes sync process. Episodes are only synced if series sizeOnDisk reported by Sonarr changes.\" [97caf44](https://github.com/morpheus65535/bazarr/commit/97caf44a5ad049a6eba12dd0c1ce740505745c68)\n- Merged the series and episodes sync process. Episodes are only synced if series sizeOnDisk reported by Sonarr changes. [5aadcea](https://github.com/morpheus65535/bazarr/commit/5aadcea83a395c4de5c8a067f4a5e6966d69703e)\n- Disable add Profile button when enabled languages are empty [a99c4d5](https://github.com/morpheus65535/bazarr/commit/a99c4d5438b1b53dcc376c2737816c98ab8e4eb5)\n- Added cache support for TuSubtitulo provider [95bef2d](https://github.com/morpheus65535/bazarr/commit/95bef2d51904c1ab4f296d671236c9c6770be526)\n- Fixed bad protocol for Argenteam provider [940b642](https://github.com/morpheus65535/bazarr/commit/940b6428ddb744c46a35d6e547400b5e7238bada)\n- Fixed subtitles deletion after blacklisting. [986912b](https://github.com/morpheus65535/bazarr/commit/986912b2cc7426a065cd65052a5c3504a61652b3)\n- Fixed update mechanism to store bazarr.zip asset download url (if available) instead of zipball. [4bc379f](https://github.com/morpheus65535/bazarr/commit/4bc379fabcf456e1b7b5830a706aaa80bbde1cbe)\n- Update npm packages to latest version [df70a8b](https://github.com/morpheus65535/bazarr/commit/df70a8b6fe28ef4c202bf0833e23cc47e5a3a242)\n- Fix issues on Movies Blacklist API [26dc355](https://github.com/morpheus65535/bazarr/commit/26dc35556e3ac14c4702b9d0e413d2125475d762)\n- Added tooltips on hover for history and blacklist pretty date [84adea2](https://github.com/morpheus65535/bazarr/commit/84adea2a28744607f072d828084abef61ee9bd3a)\n- Fixed tvsubtitles provider #1354 [1a025b6](https://github.com/morpheus65535/bazarr/commit/1a025b693b0ec150a5a71d533451d529062d00ad)\n- Fixed some providers key to match the actual providers name in subliminal_patch #1353 [cc80bd4](https://github.com/morpheus65535/bazarr/commit/cc80bd4be6fcc351d274b60aff667804a7660695)\n- Updated the init process to get the branch from package_info in docker images [0c09bc2](https://github.com/morpheus65535/bazarr/commit/0c09bc2360bbd60fe414af516236b77c66632259)\n- Add popover to movies and episodes for showing original name [08be95c](https://github.com/morpheus65535/bazarr/commit/08be95c8b736527312ccefc04fc1337e5a6584c3)\n- Add feature of going to default page by clicking bazarr icon [b1478da](https://github.com/morpheus65535/bazarr/commit/b1478da6b6b64a71dd07d48731a75676ac6027d3)\n- Keep expanded state when anything changes in episodes page [3744991](https://github.com/morpheus65535/bazarr/commit/3744991f9348fea8b0fecb3438fd7c95a928fd2c)\n- Fixed manual search modal matches popover position and width. [1613501](https://github.com/morpheus65535/bazarr/commit/1613501ea4dc5c9a19cd9b09980813a4a56f1b97)\n- Improved the manual search releases dropdown [b50e7f4](https://github.com/morpheus65535/bazarr/commit/b50e7f4fff67b3237b026cb313dfdf091f517206)\n- Added Subsynchro provider [25894c4](https://github.com/morpheus65535/bazarr/commit/25894c477fc05ecbf5952b95675ef80de16a84b9)\n- Add a error page when ui is crashed [04fd39b](https://github.com/morpheus65535/bazarr/commit/04fd39bc8a43b4ab20447d6c5af177301fd8ee99)\n- Fix a crash in ui when only one post-processing option is selected [6ef7795](https://github.com/morpheus65535/bazarr/commit/6ef7795ac5af3a8bb12b4e4606b5cdbc84071f0b)\n- Fix for #1336 [14fe4b0](https://github.com/morpheus65535/bazarr/commit/14fe4b0594739b3499c3124bcd6883253cd2020a)\n- Fix issues on release_beta_to_dev and bring back CI [e0779cb](https://github.com/morpheus65535/bazarr/commit/e0779cb3c13ee8214be2f47de16a776d50287d21)\n- Fixed packages.json creation path [272a1c1](https://github.com/morpheus65535/bazarr/commit/272a1c11416241a94f222d4a15e42768e21a11f1)\n- Re-enabled dev pipeline with build committed. [6abca59](https://github.com/morpheus65535/bazarr/commit/6abca59c83a1a6ce1c040af02a89d351d23897d2)\n- Manually build UI to reflect the changes [eb4fbc6](https://github.com/morpheus65535/bazarr/commit/eb4fbc6a24f11b721175a16c123421a521aa0b1b)\n- Fixed issue with notifications when deleting [89a3d7f](https://github.com/morpheus65535/bazarr/commit/89a3d7f6e31eb84e110744679a918b120ceb369a)\n- Fixed missing build [61e45bb](https://github.com/morpheus65535/bazarr/commit/61e45bbb6d7cf2c647480b3b3d1d1c0eeee06d2f)\n- Fixed issue with log entries without exception stack [ac8eb62](https://github.com/morpheus65535/bazarr/commit/ac8eb62de0b3491ed9feefc78e86291afc677263)\n- Fixed image proxy when you don't use a base url in Sonarr. [54eb0fc](https://github.com/morpheus65535/bazarr/commit/54eb0fc17411107ed85e9bca0ace4210ae2ad52b)\n- Fixed get_exclusion_clause that do not have the required column due to a missing join. [a4684fe](https://github.com/morpheus65535/bazarr/commit/a4684feaba914b6957135d08cdef68808f209380)\n- Fix a issue when requesting wanted movies [d0f8219](https://github.com/morpheus65535/bazarr/commit/d0f82198eb835a0e0dfa9ebd87c5987a8bdabc5b)\n- Commented out build from pipeline. [dfc14a6](https://github.com/morpheus65535/bazarr/commit/dfc14a60b8356c605b9390aab08e1147802653a5)\n- Manually built React templates [184c5f8](https://github.com/morpheus65535/bazarr/commit/184c5f89acfa6718295959ef0585b8d17d4e73fe)\n- Removed build from .gitignore [2edabe2](https://github.com/morpheus65535/bazarr/commit/2edabe28dcfe87b097962cd7e0dca01d80f9187b)\n- Refactored Web UI using React [f64719e](https://github.com/morpheus65535/bazarr/commit/f64719e4ad27df82d93f4eb2ea67c6fc81cf9d16)", "date": "2021-04-19T13:26:51Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v0.9.4/bazarr.zip"}] \ No newline at end of file +[{"name": "v1.5.6", "body": "From newest to oldest:\r\n- Improved error handling in `subdl` provider to log specific \"no subtitles found\" cases instead of raising exceptions when title is not found. #3218 [5dc1d27](https://github.com/morpheus65535/bazarr/commit/5dc1d278e1b459b8bcb388097d150074307cb9ae)\r\n- Improved `Gestdown` provider release matching [721361a](https://github.com/morpheus65535/bazarr/commit/721361a3619658742bc5d72ada25f5e24af1bdaa)\r\n- Added Spain vs LATAM Spanish detection to SubX provider [97ecde2](https://github.com/morpheus65535/bazarr/commit/97ecde2ec7164411dc59e4a2e9344f8c971f9037)\r\n- Fixed missing audio_exclude migration in upgrade_languages_profile_values [63878a9](https://github.com/morpheus65535/bazarr/commit/63878a93d7c124227413bc21a4b183731b761b47)\r\n- More efficient Windows codepage post processing fix (without spawning process) [df18cad](https://github.com/morpheus65535/bazarr/commit/df18cadbf5ac8a52fc213fa51d6d8380881aa216)\r\n- Fix for post-processing failing on non-English Windows systems [a49de53](https://github.com/morpheus65535/bazarr/commit/a49de53760a10cc71680615298a9cdf233fb7670)\r\n- Fixed `assrt` provider skipping season pack subtitles for episode searches [b3c798c](https://github.com/morpheus65535/bazarr/commit/b3c798c6698bec885eed0d238def7418d5167d4e)\r\n- Fixed Assrt provider crash on empty filelist and CJK title matching failure [70bd5d5](https://github.com/morpheus65535/bazarr/commit/70bd5d54435c668080e997bf80f723461eb905d6)\r\n- Added \"hostname\" in Settings-->General for webhook security and updated logic to enforce its configuration. This prevents hostname poisoning vulnerability potential exploitation. [4b0c5a3](https://github.com/morpheus65535/bazarr/commit/4b0c5a34c97bbbeadfa3219e562bd919f68fd5d6)\r\n- Fixed `subssabbz` search, diacritics, language comparison, and download error handling [cbf1aa7](https://github.com/morpheus65535/bazarr/commit/cbf1aa756a2e14d0bdddb6ddaebc0f0dc4af47c9)\r\n- Added missing `subx` API key integration into providers' configuration. [ae51617](https://github.com/morpheus65535/bazarr/commit/ae516172b2cb6771d0190ba906ffdb75219f7cbe)\r\n- Added Plex library refresh calls for series and movies after subtitle deletions or modifications if Plex integration is enabled. [8d5990b](https://github.com/morpheus65535/bazarr/commit/8d5990b63578ae19abfc51ba9880be45cdea36fb)\r\n- Added `event_stream` calls into subtitles upgrade process for both episodes and movies to make sure that history get refreshed on subtitle upgrade. [90f9558](https://github.com/morpheus65535/bazarr/commit/90f955801fe2f607f55da6a7ffb2099ac91e5b8f)\r\n- Added audio delay detection in MKV headers for `WhisperAI` using FFprobe [2ad9825](https://github.com/morpheus65535/bazarr/commit/2ad982527039fda172ad0c25c1588090e7926846)\r\n- Added support for \"backup\" event type in Socket.IO and integrated event stream in the backup process. #3166 [af34874](https://github.com/morpheus65535/bazarr/commit/af348742a87019f432dd9f60b0c592cf322b0a69)\r\n- Standardized the initialization of the `matches` attribute across all subtitle providers by setting it as a `set()`. #3192 [f0190d5](https://github.com/morpheus65535/bazarr/commit/f0190d54a62df22a25d62a57fca8f6fad6f72be7)\r\n- Added SubX subtitle proxy for Subdivx Latam Spanish provider [8e56e40](https://github.com/morpheus65535/bazarr/commit/8e56e40b8f020ecc48c21ae86406a7e436fb542c)\r\n- Fixed `check_login` decorator functionality [1d4953c](https://github.com/morpheus65535/bazarr/commit/1d4953c9662852e39e255e603ddfc40f79fddfbd)\r\n- Improved `subdl` provider by adding search by tmdb ID [d7a6f91](https://github.com/morpheus65535/bazarr/commit/d7a6f91d5bbd9a6fd804a8c57431a68269224233)\r\n- Removed `subdivx` provider and its related tests as it is no longer supported. #2714 [414aafa](https://github.com/morpheus65535/bazarr/commit/414aafa0a8b6b7add8f3a2b9607ae892abfcc111)\r\n- Refactored \"upgradable\" logic in history and API modules for improved performance. Simplified handling of subtitle upgrade conditions by removing the temporary \"guessing\" logic that was implemented with the \"upgradedFromId\" column a year ago. #3177 [9256965](https://github.com/morpheus65535/bazarr/commit/92569659c4b2fc9a29281b5b79e3bc93236b92ab)\r\n- Handled `ValueError` when parsing the year in `opensubtitlescom` provider to prevent throttling provider for nothing. [404cd91](https://github.com/morpheus65535/bazarr/commit/404cd9198a04782372646caeea024be6f4348ac5)\r\n- Fixed improper use of `matches` in `legendasdivx` provider by correctly referencing it as a class attribute `self.matches`. #3183 [1d680fa](https://github.com/morpheus65535/bazarr/commit/1d680faf8a0c9a2beca8abeccf943ee6ef6a3870)\r\n- Removed blocking job progress monitoring, replaced with async implementation across subtitle download and upload workflows, and unified handling of job updates to improve performance and prevent frontend freezing. #3166 [5ef044b](https://github.com/morpheus65535/bazarr/commit/5ef044b1d305968a511a585452597e5d1433b019)\r\n- Improved error handling and logging in `opensubtitlescom` provider by adding JSON decode fallbacks for request and response bodies. [c2b3835](https://github.com/morpheus65535/bazarr/commit/c2b38354904e90e22b8a56a6e3fa787e6f1608dc)\r\n- Removed subtitles synchronization progress monitoring in jobs manager since it's not working anymore with concurrent execution of jobs. We'll see how we can reimplement this in the future. [515bf67](https://github.com/morpheus65535/bazarr/commit/515bf67de0d916746abf96946f04cf788bc2330d)\r\n- Added `.venv` directory to the excluded directory in the update cleaner function. #3174 [1b45277](https://github.com/morpheus65535/bazarr/commit/1b452773c12dbb31926b5d5da8d24d739f671930)\r\n- Fixed file upload to prevent frontend becoming unresponsive during the upload progress (mainly in case of subtitles synchronization that could take time). #3166 [8d6e626](https://github.com/morpheus65535/bazarr/commit/8d6e6261af2ccfd2abd23a6901817e115a245b49)\r\n- Handled \"429 Too Many Requests\" error in Titulky provider by raising `TooManyRequests` exception and adjusting throttling duration. #3165 [ab759fd](https://github.com/morpheus65535/bazarr/commit/ab759fd6f86aab0417b7cbdb7e56ac8588c03cfa)\r\n- Refactored `opensubtitlescom` provider to improve logging clarity, enhance query parameter generation, and handle edge cases for missing IDs gracefully. #3170 [e2f0bd7](https://github.com/morpheus65535/bazarr/commit/e2f0bd7f137d96681fbf8599d38c393f8a819c35)\r\n- Improved job queue handling by adding a pending queue check before acquiring the lock and adjusting sleep intervals. This should prevent high CPU usage caused by busy waiting. #3171 [0b37deb](https://github.com/morpheus65535/bazarr/commit/0b37deb0acb99502c67c1748fd4bd2c21d40eb10)", "date": "2026-02-26T11:33:11Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.6/bazarr.zip"}, {"name": "v1.5.6-beta.17", "body": "From newest to oldest:\n- Improved error handling in `subdl` provider to log specific \"no subtitles found\" cases instead of raising exceptions when title is not found. #3218 [5dc1d27](https://github.com/morpheus65535/bazarr/commit/5dc1d278e1b459b8bcb388097d150074307cb9ae)", "date": "2026-02-25T06:26:23Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.6-beta.17/bazarr.zip"}, {"name": "v1.5.6-beta.16", "body": "From newest to oldest:\n- Improved `Gestdown` provider release matching [721361a](https://github.com/morpheus65535/bazarr/commit/721361a3619658742bc5d72ada25f5e24af1bdaa)\n- Added Spain vs LATAM Spanish detection to SubX provider [97ecde2](https://github.com/morpheus65535/bazarr/commit/97ecde2ec7164411dc59e4a2e9344f8c971f9037)\n- Fixed missing audio_exclude migration in upgrade_languages_profile_values [63878a9](https://github.com/morpheus65535/bazarr/commit/63878a93d7c124227413bc21a4b183731b761b47)\n- Improved Plex webhook logic to prioritize TVDB lookup for series IMDb ID, reducing reliance on external IMDb scraping. Added fallback handling and enhanced error reporting. #3205 [f263114](https://github.com/morpheus65535/bazarr/commit/f2631143320770b964ebe9f269ba8d9dbc262de3)\n- Fixed `assrt` season pack downloading wrong episode file [da9869c](https://github.com/morpheus65535/bazarr/commit/da9869c545cb309a5f9f597939c41397f03dd11f)\n- Fixed Sonarr and Radarr versions caching to prevent caching unknown [39661d2](https://github.com/morpheus65535/bazarr/commit/39661d27a49d00376ab8d3cf8f38b4fab54f64bc)", "date": "2026-02-22T06:17:40Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.6-beta.16/bazarr.zip"}, {"name": "v1.5.6-beta.15", "body": "From newest to oldest:\n- More efficient Windows codepage post processing fix (without spawning process) [df18cad](https://github.com/morpheus65535/bazarr/commit/df18cadbf5ac8a52fc213fa51d6d8380881aa216)\n- Fix for post-processing failing on non-English Windows systems [a49de53](https://github.com/morpheus65535/bazarr/commit/a49de53760a10cc71680615298a9cdf233fb7670)", "date": "2026-02-21T06:14:40Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.6-beta.15/bazarr.zip"}, {"name": "v1.5.6-beta.14", "body": "From newest to oldest:\n- Fixed `assrt` provider skipping season pack subtitles for episode searches [b3c798c](https://github.com/morpheus65535/bazarr/commit/b3c798c6698bec885eed0d238def7418d5167d4e)", "date": "2026-02-18T06:25:23Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.6-beta.14/bazarr.zip"}, {"name": "v1.5.6-beta.13", "body": "From newest to oldest:\n- Fixed Assrt provider crash on empty filelist and CJK title matching failure [70bd5d5](https://github.com/morpheus65535/bazarr/commit/70bd5d54435c668080e997bf80f723461eb905d6)", "date": "2026-02-17T06:22:56Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.6-beta.13/bazarr.zip"}, {"name": "v1.5.6-beta.12", "body": "From newest to oldest:\n- Added \"hostname\" in Settings-->General for webhook security and updated logic to enforce its configuration. This prevents hostname poisoning vulnerability potential exploitation. [4b0c5a3](https://github.com/morpheus65535/bazarr/commit/4b0c5a34c97bbbeadfa3219e562bd919f68fd5d6)\n- Fixed `subssabbz` search, diacritics, language comparison, and download error handling [cbf1aa7](https://github.com/morpheus65535/bazarr/commit/cbf1aa756a2e14d0bdddb6ddaebc0f0dc4af47c9)\n- Added missing `subx` API key integration into providers' configuration. [ae51617](https://github.com/morpheus65535/bazarr/commit/ae516172b2cb6771d0190ba906ffdb75219f7cbe)", "date": "2026-02-16T06:26:21Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.6-beta.12/bazarr.zip"}, {"name": "v1.5.6-beta.11", "body": "From newest to oldest:\n- Added Plex library refresh calls for series and movies after subtitle deletions or modifications if Plex integration is enabled. [8d5990b](https://github.com/morpheus65535/bazarr/commit/8d5990b63578ae19abfc51ba9880be45cdea36fb)\n- Added `event_stream` calls into subtitles upgrade process for both episodes and movies to make sure that history get refreshed on subtitle upgrade. [90f9558](https://github.com/morpheus65535/bazarr/commit/90f955801fe2f607f55da6a7ffb2099ac91e5b8f)\n- Added audio delay detection in MKV headers for `WhisperAI` using FFprobe [2ad9825](https://github.com/morpheus65535/bazarr/commit/2ad982527039fda172ad0c25c1588090e7926846)\n- Added .strm file support with stream metadata analysis [321863b](https://github.com/morpheus65535/bazarr/commit/321863b204805870061859ed4295675b92daeaf8)\n- Improved subtitle upgrade logic to support filtering by history ID in both episodes and movies. Improved API handling for upgradable subtitles. #3177 [d4b4527](https://github.com/morpheus65535/bazarr/commit/d4b45278f62dbf2dc802b8950c01577f7367e19d)\n- Improved `subtis` provider by fixing hash-based score calculation [fb7ac29](https://github.com/morpheus65535/bazarr/commit/fb7ac29984d633c72d5e9903a9c00f11eb560648)", "date": "2026-02-15T06:19:51Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.6-beta.11/bazarr.zip"}, {"name": "v1.5.6-beta.10", "body": "From newest to oldest:\n- Added support for \"backup\" event type in Socket.IO and integrated event stream in the backup process. #3166 [af34874](https://github.com/morpheus65535/bazarr/commit/af348742a87019f432dd9f60b0c592cf322b0a69)\n- Standardized the initialization of the `matches` attribute across all subtitle providers by setting it as a `set()`. #3192 [f0190d5](https://github.com/morpheus65535/bazarr/commit/f0190d54a62df22a25d62a57fca8f6fad6f72be7)", "date": "2026-02-14T06:15:42Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.6-beta.10/bazarr.zip"}, {"name": "v1.5.6-beta.9", "body": "From newest to oldest:\n- Added SubX subtitle proxy for Subdivx Latam Spanish provider [8e56e40](https://github.com/morpheus65535/bazarr/commit/8e56e40b8f020ecc48c21ae86406a7e436fb542c)\n- Fixed `check_login` decorator functionality [1d4953c](https://github.com/morpheus65535/bazarr/commit/1d4953c9662852e39e255e603ddfc40f79fddfbd)", "date": "2026-02-13T06:23:36Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.6-beta.9/bazarr.zip"}, {"name": "v1.5.6-beta.8", "body": "From newest to oldest:\n- Improved `subdl` provider by adding search by tmdb ID [d7a6f91](https://github.com/morpheus65535/bazarr/commit/d7a6f91d5bbd9a6fd804a8c57431a68269224233)\n- Removed `subdivx` provider and its related tests as it is no longer supported. #2714 [414aafa](https://github.com/morpheus65535/bazarr/commit/414aafa0a8b6b7add8f3a2b9607ae892abfcc111)\n- Refactored \"upgradable\" logic in history and API modules for improved performance. Simplified handling of subtitle upgrade conditions by removing the temporary \"guessing\" logic that was implemented with the \"upgradedFromId\" column a year ago. #3177 [9256965](https://github.com/morpheus65535/bazarr/commit/92569659c4b2fc9a29281b5b79e3bc93236b92ab)\n- Fixed GreekSubs provider from crashing [1052b20](https://github.com/morpheus65535/bazarr/commit/1052b20e6bbe58baa2c2a2e5b7cbc23f6a3363d0)", "date": "2026-02-12T06:26:13Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.6-beta.8/bazarr.zip"}, {"name": "v1.5.6-beta.7", "body": "From newest to oldest:\n- Handled `ValueError` when parsing the year in `opensubtitlescom` provider to prevent throttling provider for nothing. [404cd91](https://github.com/morpheus65535/bazarr/commit/404cd9198a04782372646caeea024be6f4348ac5)\n- Fixed improper use of `matches` in `legendasdivx` provider by correctly referencing it as a class attribute `self.matches`. #3183 [1d680fa](https://github.com/morpheus65535/bazarr/commit/1d680faf8a0c9a2beca8abeccf943ee6ef6a3870)", "date": "2026-02-11T06:26:51Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.6-beta.7/bazarr.zip"}, {"name": "v1.5.6-beta.6", "body": "From newest to oldest:\n- Removed blocking job progress monitoring, replaced with async implementation across subtitle download and upload workflows, and unified handling of job updates to improve performance and prevent frontend freezing. #3166 [5ef044b](https://github.com/morpheus65535/bazarr/commit/5ef044b1d305968a511a585452597e5d1433b019)", "date": "2026-02-10T06:27:32Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.6-beta.6/bazarr.zip"}, {"name": "v1.5.6-beta.5", "body": "From newest to oldest:\n- Improved error handling and logging in `opensubtitlescom` provider by adding JSON decode fallbacks for request and response bodies. [c2b3835](https://github.com/morpheus65535/bazarr/commit/c2b38354904e90e22b8a56a6e3fa787e6f1608dc)", "date": "2026-02-09T06:27:22Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.6-beta.5/bazarr.zip"}, {"name": "v1.5.6-beta.4", "body": "From newest to oldest:\n- Removed subtitles synchronization progress monitoring in jobs manager since it's not working anymore with concurrent execution of jobs. We'll see how we can reimplement this in the future. [515bf67](https://github.com/morpheus65535/bazarr/commit/515bf67de0d916746abf96946f04cf788bc2330d)", "date": "2026-02-08T06:19:24Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.6-beta.4/bazarr.zip"}, {"name": "v1.5.6-beta.3", "body": "From newest to oldest:\n- Added `.venv` directory to the excluded directory in the update cleaner function. #3174 [1b45277](https://github.com/morpheus65535/bazarr/commit/1b452773c12dbb31926b5d5da8d24d739f671930)", "date": "2026-02-06T06:20:16Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.6-beta.3/bazarr.zip"}, {"name": "v1.5.6-beta.2", "body": "From newest to oldest:\n- Fixed file upload to prevent frontend becoming unresponsive during the upload progress (mainly in case of subtitles synchronization that could take time). #3166 [8d6e626](https://github.com/morpheus65535/bazarr/commit/8d6e6261af2ccfd2abd23a6901817e115a245b49)", "date": "2026-02-05T06:22:16Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.6-beta.2/bazarr.zip"}, {"name": "v1.5.6-beta.1", "body": "From newest to oldest:\n- Handled \"429 Too Many Requests\" error in Titulky provider by raising `TooManyRequests` exception and adjusting throttling duration. #3165 [ab759fd](https://github.com/morpheus65535/bazarr/commit/ab759fd6f86aab0417b7cbdb7e56ac8588c03cfa)\n- Refactored `opensubtitlescom` provider to improve logging clarity, enhance query parameter generation, and handle edge cases for missing IDs gracefully. #3170 [e2f0bd7](https://github.com/morpheus65535/bazarr/commit/e2f0bd7f137d96681fbf8599d38c393f8a819c35)", "date": "2026-02-03T06:19:41Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.6-beta.1/bazarr.zip"}, {"name": "v1.5.6-beta.0", "body": "From newest to oldest:\n- Improved job queue handling by adding a pending queue check before acquiring the lock and adjusting sleep intervals. This should prevent high CPU usage caused by busy waiting. #3171 [0b37deb](https://github.com/morpheus65535/bazarr/commit/0b37deb0acb99502c67c1748fd4bd2c21d40eb10)", "date": "2026-02-02T06:25:37Z", "prerelease": true, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.6-beta.0/bazarr.zip"}, {"name": "v1.5.5", "body": "From newest to oldest:\r\n- Updated match popup to bring the explanation to the bottom [4224e7d](https://github.com/morpheus65535/bazarr/commit/4224e7df1b20c1942bc3f3667c1d7fedfd0cbbcb)\r\n- Fixed utf-8 encoding issue when displaying announcements [b381a6f](https://github.com/morpheus65535/bazarr/commit/b381a6fb9a7a6225ed289e12ba64dff0b81a7cb3)\r\n- Fixed CVE-2024-40348: Use startswith to prevent path traversal [e08197b](https://github.com/morpheus65535/bazarr/commit/e08197b1f577197a3c85487de0b557bd91d42ac0)\r\n- Removed OpenSubtitles.org provider and associated functionality across the codebase. Updated tests and provider references. [726c950](https://github.com/morpheus65535/bazarr/commit/726c950b4ef09b6e90934aac243d800ac572fcf2)\r\n- Switched announcements source from Statically to jsdelivr.net for improved reliability. [b18bdae](https://github.com/morpheus65535/bazarr/commit/b18bdae67c963b5bc4f044c2f2a811ba3b63b00c)\r\n- Excluded podnapisi provider from `RetryingSession` injection to prevent hammering them with useless requests. #2531 [8f512aa](https://github.com/morpheus65535/bazarr/commit/8f512aa4d7744576731f82abb715fec1dcce1337)\r\n- Refactored `get_matches` in multiple providers to use `self.matches` instead of local `matches` for consistency and improved history logging. [41fe783](https://github.com/morpheus65535/bazarr/commit/41fe78354b7a5ef6aa3fc7ec90e38d1baa62b282)\r\n- Added retry logic to NapiProjekt provider requests for improved resilience. #3161 [8fd87e5](https://github.com/morpheus65535/bazarr/commit/8fd87e55f133c91e18ca915b66da46132a0ad8c7)\r\n- Fixed subtitles uploading formats parameter to subliminal's save_subtitles() in order to validate it's a tuple of strings. #3156 [2d52289](https://github.com/morpheus65535/bazarr/commit/2d52289aabd33f9147aeea9947794fe9cf492aa8)\r\n- Fixed release group matching logic to improve accuracy of matches between video filename and provider release info. #3153 [b25fc93](https://github.com/morpheus65535/bazarr/commit/b25fc9315756097a611a3c8937b63a30b2209e1a)\r\n- Added history logging for translated subtitles in Gemini translator. #3150 [faa4054](https://github.com/morpheus65535/bazarr/commit/faa4054b54edf8f0a32bada80646e050d2a9cbd8)\r\n- Integrated adaptive search logic into missing subtitles checks for movies and episodes. [78960b4](https://github.com/morpheus65535/bazarr/commit/78960b4667c6936f42246214f3fea38dff8d961e)\r\n- Improved thread safety in jobs manager with added locks and refactored job execution logic; optimized NotificationDrawer with debounced actions and menu management changes. #3127 [d913ad7](https://github.com/morpheus65535/bazarr/commit/d913ad70f985719870efd4441f802b09230ccc16)\r\n- Removed embedded subtitles provider ASS subtitles content modification since this should be properly implemented in subzero mods instead. #3144 [e8ce7e6](https://github.com/morpheus65535/bazarr/commit/e8ce7e687e5f78e5948f990f55ab6a8a82284e98)\r\n- Improved jobs manager to allow concurrent execution but also reordering and force starting pending jobs. #3127 [fbc2946](https://github.com/morpheus65535/bazarr/commit/fbc29460ed2bdfc66158cd944efc34df5c866e54)\r\n- Fixed Plex webhooks URL to include scheme and host when Bazarr is configured to use a base URL. [004067c](https://github.com/morpheus65535/bazarr/commit/004067ce781cf51540a1fa95fc9d9cbd18f44f7b)\r\n- Improved opensubtitles.com search parameters. #3143 [20edf25](https://github.com/morpheus65535/bazarr/commit/20edf259fca2baea59ddae191f7c3341f38d5fc8)\r\n- Fixed custom path not taken into account when translating or modding a subtitles file. #3138 [530525c](https://github.com/morpheus65535/bazarr/commit/530525c9447c7a0a1ad9db50a148b50ef0f6f908)\r\n- Fixed episodes synchronization with Sonarr v3 [4c02e43](https://github.com/morpheus65535/bazarr/commit/4c02e430894eab35827ba0f76ce30323f51f8009)\r\n- Fixed failed login attempt IP from being masked in logs. #3129 [03a49fe](https://github.com/morpheus65535/bazarr/commit/03a49fe0d57710ca3505f72afdd9dd875664436c)\r\n- Added opensubtitles.com option to allow machine translated subtitles in search results. #3137 [3bb6088](https://github.com/morpheus65535/bazarr/commit/3bb608896915b2e5d2ebfa4c48a01d01de8babe7)\r\n- Fixed long names not being properly displayed in jobs manager. #3134 [a9c87b3](https://github.com/morpheus65535/bazarr/commit/a9c87b3db8334a6ab52204c9c2b28807f3737d4c)\r\n- Improved subsource to fallback to title search if IMDB returns empty result [be9d90a](https://github.com/morpheus65535/bazarr/commit/be9d90ac9477d594453f8399094ea1cb71c9d2e1)\r\n- Fixed TimeAgo component in jobs manager to prevent error in browser when the component is not present in DOM anymore because job has been purged from queue. [4ac130a](https://github.com/morpheus65535/bazarr/commit/4ac130ae45ddaa074d701b1e2272f68db29e760c)\r\n- Fixed subtitles searching progress indicator in jobs manager. #3126 [e7dfc8e](https://github.com/morpheus65535/bazarr/commit/e7dfc8e6f2d9a22f336e8674f72918dad188ebc3)\r\n- Fixed whisperai provider audio stream language mapping to prevent selecting improper track as reference [327e7f3](https://github.com/morpheus65535/bazarr/commit/327e7f366c59675e9245208a8b0f8fef60a67a53)\r\n- Fixed opensubtitles.com release group matching. #3110 [9dddfcb](https://github.com/morpheus65535/bazarr/commit/9dddfcb3c0e39b2eb257e78b9f9c38bb00e36e83)\r\n- Fixed the background color issue in the jobs manager when using light theme. #3121 [dd68860](https://github.com/morpheus65535/bazarr/commit/dd688604e587617e4361c08e34b410b7e275fca4)\r\n- Improved rootfolder health check to avoid unnecessary disk writes [2f61a68](https://github.com/morpheus65535/bazarr/commit/2f61a680088ce261f5df21becc3b9ba16d4bc6c9)\r\n- Fixed subsource language conversion exceptions. #3120 [95c2e57](https://github.com/morpheus65535/bazarr/commit/95c2e574867935315ac3d28ce172b0175e891387)\r\n- Added Subtis.io subtitles provider [bd154aa](https://github.com/morpheus65535/bazarr/commit/bd154aae672446d86d71114553bb90975fee88da)\r\n- Fixed missing subtitles searching for all the series episodes instead of only added or updated. #3112 [1c2ef34](https://github.com/morpheus65535/bazarr/commit/1c2ef348ac79879ba853204649606b52a9ea8cac)\r\n- Python 3.13 is now officially supported [5676a36](https://github.com/morpheus65535/bazarr/commit/5676a36a4878120ec65a5b345941bc15868863f5)", "date": "2026-02-01T18:00:34Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.5/bazarr.zip"}, {"name": "v1.5.4", "body": "From newest to oldest:\n- Added failsafe for announcements in case Statically has issues and we need to fall back to Github. [0e6fc45](https://github.com/morpheus65535/bazarr/commit/0e6fc456d1618f9a2fdbe2223d13112e7b111d4e)\n- Fixed lingarr connection issue with pt-BR [9cf83bf](https://github.com/morpheus65535/bazarr/commit/9cf83bfdd21705a9fc723e7b2f1b7696605fa853)\n- Improved some jobs names to better reflect their purpose and scope. [80a1ea3](https://github.com/morpheus65535/bazarr/commit/80a1ea31217671b14690d3d867b452ed09a626d0)\n- Fixed whisperai audio stream usage to correctly map with language tag. #3103 [30d0e64](https://github.com/morpheus65535/bazarr/commit/30d0e648edcb9c3406531eeec4f72bc056a2e516)\n- Fixed issue while saving external .smi subtitles [4b5f64c](https://github.com/morpheus65535/bazarr/commit/4b5f64c117a4ee34e04f4a3d4760647eedc93837)\n- Fixed subdl improperly catching error responses and throttling appropriately [30f5301](https://github.com/morpheus65535/bazarr/commit/30f5301426e702827c834f785059440acc233013)\n- Implemented unique Plex Instance Identification by using Instance Name as defined in Settings --> General [69f7f05](https://github.com/morpheus65535/bazarr/commit/69f7f050dad54a39e481feeb8984c6338f759748)\n- Fixed Subsource title matching for localized titles [7dcfe6c](https://github.com/morpheus65535/bazarr/commit/7dcfe6c9ae75a53da6d77cb92f37fa4aaae15bc1)\n- Added optional API authentication for Lingarr [979aa7f](https://github.com/morpheus65535/bazarr/commit/979aa7f021f9b7a9dc5bdeeb21b7997db24f40d4)\n- Added an option to prevent Sonarr/Radarr synchronization from happening on live connection establishment. [dab16de](https://github.com/morpheus65535/bazarr/commit/dab16de290071bccf0e84d91b33c25fe172830d3)\n- Improved the performance of episodes synchronization [db67363](https://github.com/morpheus65535/bazarr/commit/db673630953a462c3243a09bcdd168b11f9e66cd)\n- Improved jobs names in jobs manager to properly reflect the current state of the jobs [5324f3d](https://github.com/morpheus65535/bazarr/commit/5324f3d99bc45bb0cf2fd4e8785d16915a6d55b8)\n- Added an instance name parameter in General settings [70abad4](https://github.com/morpheus65535/bazarr/commit/70abad4f07faa5cb98dcc9478163239b61c33291)\n- Fixed an issue with mass edit modal improperly tagging forced and HI for subtitles when sending values to the backend. [feed7f9](https://github.com/morpheus65535/bazarr/commit/feed7f9853f957c1acba6e9e0d62b63087eba5b6)\n- Improved how the jobs manager deals with SignalR events received from Sonarr and Radarr to prevent spamming it. [d478444](https://github.com/morpheus65535/bazarr/commit/d47844438ce0f0db3e79bcdebd9cff4d19f1bed0)\n- Added better validation to Plex webhook [7745785](https://github.com/morpheus65535/bazarr/commit/7745785be3f27aed6e5b0db23429bc54361caab5)\n- Fixed a race condition in jobs manager that would allow multiple jobs from being in running state at the same time. #3078 [52d3185](https://github.com/morpheus65535/bazarr/commit/52d3185c19f8c57dddb483ebf599615205adb3b9)\n- Added a menu with an item to empty pending, failed or completed jobs queue in jobs manager. [e1b8ad8](https://github.com/morpheus65535/bazarr/commit/e1b8ad88c34b684c45ab4fc8b2db5e947a109acc)\n- Fixed a bug with root folders writable check on NFS mount by creating and deleting a temporary file instead of relying on os.access(). #3086 [317afc1](https://github.com/morpheus65535/bazarr/commit/317afc1f0ba4236a2955fb6abeaac768343913be)\n- Added emoji characters removal mods. #2987 [721a49d](https://github.com/morpheus65535/bazarr/commit/721a49d63db6d149ba792e5b3db02846a71d60d6)\n- Added Japanese parentheses to the HI removal mods. #2987 [3d1420a](https://github.com/morpheus65535/bazarr/commit/3d1420a117d395b4f7eb53279ae5fd2fe29e5b8c)\n- Added some other scheduled tasks to jobs manager on execution. [a0d50e7](https://github.com/morpheus65535/bazarr/commit/a0d50e778a258f577916946299e7affc30731d86)\n- Fixed other stuff with jobs manager. #3078 [3cd0116](https://github.com/morpheus65535/bazarr/commit/3cd011663d5fb27e7fa899cfff75353ba053ce63)\n- Fixed other stuff with jobs manager. #3078 [fa27c7e](https://github.com/morpheus65535/bazarr/commit/fa27c7eb0ad202480502289d45c07a23854e8f6a)\n- Added Plex multiselect for libraries [e95721b](https://github.com/morpheus65535/bazarr/commit/e95721b8c8c1876d53f69eccdd8e5af53304069b)\n- Fixed the improperly handled providers exception when searching for subtitles. #3078 [34c70be](https://github.com/morpheus65535/bazarr/commit/34c70be22ad17c4af16a59e8ebea8e66c7f86cb7)\n- Fixed improperly handled exception when retrieving a video object during subtitle download for unsupported video file extensions. #3078 [b48cf77](https://github.com/morpheus65535/bazarr/commit/b48cf77eda8e281244a9eecb37e34263e3e21bfa)\n- Added Python 3.9 to the upcoming deprecated version starting with Bazarr 1.6. [9051974](https://github.com/morpheus65535/bazarr/commit/9051974d4c4a8c823cceec898b05426e9dc6cefc)\n- Fixed embeddedsubtitles provider issue with some subtitles format. #3085 [6e911cf](https://github.com/morpheus65535/bazarr/commit/6e911cf97d066ccb2223097966d52fe972dda4ea)\n- Added a visual indicator to the manual download modal when a subtitles is being downloaded. #3082 [18b5d6e](https://github.com/morpheus65535/bazarr/commit/18b5d6ec07d3cff850ace61c91911183c5b48e9e)\n- Fixed an issue with gemini translator introduced with the new jobs manager. [f69e2a6](https://github.com/morpheus65535/bazarr/commit/f69e2a6f42a246dd128d98e4f8c3f6e30d19292f)\n- Fixed other issues with the new jobs manager. #3078 [35a0b07](https://github.com/morpheus65535/bazarr/commit/35a0b073293a5c8a2dd6873eb251b8fd38cc5416)\n- Fixed an issue caused by unwanted missing subtitles searching during Sonarr synchronization. #3078 [4185c93](https://github.com/morpheus65535/bazarr/commit/4185c93798d2340ef8b834362a809d35fb8c91f9)\n- Fixed the initial scan after the database schema update to prevent locking the jobs queue with a Sonarr sync task. #3078 [55be215](https://github.com/morpheus65535/bazarr/commit/55be215bc6cc2b615f2756c7ccde668c44d6b5ba)\n- Fixed upload subtitles that were blocking the jobs manager when automatic subtitles synchronization was enabled. #3077 [61a4889](https://github.com/morpheus65535/bazarr/commit/61a48892d504a1a033d454c0f987d7d3d7ab2f57)\n- Fixed subtitles getting improperly converted to srt even if `use original format` is enabled in languages profile. #3075 [eaf64ac](https://github.com/morpheus65535/bazarr/commit/eaf64ac9aec9e4d7672f640bbb5443c988181301)\n- Fixed Karagarga to use correct username and password fields for forum login [6dcdeef](https://github.com/morpheus65535/bazarr/commit/6dcdeefabb5305f7fc5cbeee89e44fb9b3ea23ca)\n- Added absolute episode number to the database to help properly match video to subtitles. It must be implemented in each provider's matching method to benefit from that. [b7aa5a1](https://github.com/morpheus65535/bazarr/commit/b7aa5a17d404a45bc763f7aa0069b25661fdbf35)\n- Fixed the issue with jobs failing since last nightly in some circumstances. [f0ae7d6](https://github.com/morpheus65535/bazarr/commit/f0ae7d6e913add636d36af30b7c74b511427b63e)\n- Added a backend jobs management system with a notifications drawer in UI to show the status of jobs. [f5d6721](https://github.com/morpheus65535/bazarr/commit/f5d6721409bd1bf1f5661674a286ba4f21f41dfd)\n- Fixed avistaz_network provider when trying to download a zipped movie subtitles file. #3065 [70fecb8](https://github.com/morpheus65535/bazarr/commit/70fecb8c531d401a9e98376f67b58e14abc9e271)\n- Fixed an issue with the subsource.net provider where a null commentary returned causes a parsing error. #3064 [36b6ea3](https://github.com/morpheus65535/bazarr/commit/36b6ea3e476e60c406f10c415248dca6ddf67e01)\n- Fixed titrari.ro provider by adding an automatic search for the \"Cautare Avansata\" page (Advanced search) [3698d6f](https://github.com/morpheus65535/bazarr/commit/3698d6f07f19da84db97e0c7328b429a4ea578c0)\n- Added AnimeSub.info provider for Polish anime subtitles [9cc8485](https://github.com/morpheus65535/bazarr/commit/9cc8485a083744f43f63c1e352808a36e5cb6875)\n- Improved announcements caching by using a CDN provider instead of calling GitHub directly. #3057 [d98915d](https://github.com/morpheus65535/bazarr/commit/d98915dfe5b894a698d2e1a7f807dec708c0a123)\n- Fixed TypeError when logging deleted episodes from Sonarr sync [08a3643](https://github.com/morpheus65535/bazarr/commit/08a3643f0b323738b768e9a4eaf599924602b3f9)\n- Fixed DeprecationWarning: pkg_resources is deprecated as an API. #3053 [680ead7](https://github.com/morpheus65535/bazarr/commit/680ead76f8cc059a15c381c6eabb4ca1dc397546)\n- Fixed Hebrew translation failing when using Lingarr. #3052 [1d0e054](https://github.com/morpheus65535/bazarr/commit/1d0e0543c8831dfa707e877fb9b707d2c3450fd5)\n- Added null check for subtitle_entry while trying to define translation source language. #3046 [2af1f0c](https://github.com/morpheus65535/bazarr/commit/2af1f0cda2d5b8e28e698eb1ae3edc9b93a8eff1)\n- Fixed the Persian language issue with the subsource provider. #3050 [debf419](https://github.com/morpheus65535/bazarr/commit/debf419665db13e703b990f9055afad68ec12682)\n- Improved subsource provider by making each user responsible for getting its own api-key. [8c46e69](https://github.com/morpheus65535/bazarr/commit/8c46e69ba55fa96702add241eecf099bf26cce7c)\n- Fixed autopulse configurator and added some error messages [d92d048](https://github.com/morpheus65535/bazarr/commit/d92d0484f8bf778eceb0177cfe2516c6078e2a47)\n- Improved subtitles translation by retrieving source language from the database [baad5eb](https://github.com/morpheus65535/bazarr/commit/baad5ebebcb251503d1823098e3d0c6b1dd7caf8)\n- Added subsource.net provider [cac3ffa](https://github.com/morpheus65535/bazarr/commit/cac3ffac521b5b5554426715c4f2d0a8674639bb)\n- Added external webhook for Autopulse [960b6c6](https://github.com/morpheus65535/bazarr/commit/960b6c6a9cde0ee1a3598e7cfb21d4929a73e1f9)\n- Fixed Plex \"Mark movies as recently added after downloading subtitles\" error caused by wrong date format [6ddba8a](https://github.com/morpheus65535/bazarr/commit/6ddba8af6021731942c1e77561f5a5442ea4ea3f)\n- Improved interactive searching modal to show only subtitles matching the languages profile requirements. [7406bdc](https://github.com/morpheus65535/bazarr/commit/7406bdce8232357c06697581af8f2612cc0ab02e)\n- Added support for specifying Postgres URL explicitly [fa6675e](https://github.com/morpheus65535/bazarr/commit/fa6675e857a35a5f2f7caa9c544a097b62e23207)\n- Improved opensubtitles.com provider to reduce redirect request on the provider's API server. [b8eb1bb](https://github.com/morpheus65535/bazarr/commit/b8eb1bb82b01d0c03daa1a976085f8f1ea4d7c18)\n- Fixed SubsRo provider episode number matching [da2f129](https://github.com/morpheus65535/bazarr/commit/da2f12995bf69bccb5f61513e75db9e720b83b68)\n- Fixed Radarr webhooks issue introduced in 1.5.3. Please review help text in Settings. [5ffc7e0](https://github.com/morpheus65535/bazarr/commit/5ffc7e0fb25026d4e4846deacca191e476e63042)\n- Improved season guessing from filename when using upload subtitles feature [a57da17](https://github.com/morpheus65535/bazarr/commit/a57da17cc41b53a961d747c1c8bf603fc062040a)", "date": "2026-01-04T22:41:00Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.4/bazarr.zip"}, {"name": "v1.5.3", "body": "From newest to oldest:\n- Removed Argenteam-dump provider that doesn't exist anymore. #3004 [b9d0236](https://github.com/morpheus65535/bazarr/commit/b9d0236cf514119d2882a7f5e7078ba5c60ad9db)\n- Fixed subtitles search happening for series/seasons when a SignalR event is received from Sonarr even if defer subtitles searching was enabled. #3023 [a2121c1](https://github.com/morpheus65535/bazarr/commit/a2121c1a0b2615422e1f146806537092e704c65f)\n- Removed tusubtitulo provider that doesn't exist anymore. #3022 [c06389f](https://github.com/morpheus65535/bazarr/commit/c06389ffbb14691f94ea62b7c603f39b0096feea)\n- Added Plex URL sanitization to logging formatter [046a5b7](https://github.com/morpheus65535/bazarr/commit/046a5b7ca64a5aa4657fa91c35de5d8da689c4fc)\n- Improved Plex server connection by adding a requests session and disabled SSL validation [9a607bb](https://github.com/morpheus65535/bazarr/commit/9a607bbcd52920d2ac9074680a5d69e7911a7e71)\n- Fixed webhook KeyError (Plex) and sanitize sensitive data in logs [9c46d18](https://github.com/morpheus65535/bazarr/commit/9c46d1879e99d0b2cef5c3b8427d7c1a273bbf3c)\n- Added a jobs queue to deal with SignalR events sequentially [f4957d4](https://github.com/morpheus65535/bazarr/commit/f4957d400541cf563b62689b0f4e0e5ed0484f3c)\n- Reduced Plex oauth logging levels for improved clarity and debugging [9e6011a](https://github.com/morpheus65535/bazarr/commit/9e6011a5c744382ec1eb42ad297a5481a1869496)\n- Improved Plex integration to simplify the libraries selection, webhook creation and do selective content refresh instead of the whole library [c6ddee1](https://github.com/morpheus65535/bazarr/commit/c6ddee143283fde35d2853c34a33836e10e301ab)\n- Improved subtitles upgrade by giving translated subtitles a default score to make them upgradable [02b5aad](https://github.com/morpheus65535/bazarr/commit/02b5aad0aeecb31aef103788db182f3ccf7f8eca)\n- Improved Plex authentication error messages by eliminating broad exception catching and increasing clarity and specificity. #3001 [0fe6a6e](https://github.com/morpheus65535/bazarr/commit/0fe6a6e010312d7187d98aa4359177dd5c39b8be)\n- Added Plex OAuth Authentication Support [ecf5156](https://github.com/morpheus65535/bazarr/commit/ecf51560ea28250a093f4749f4da790f51a08bec)\n- Fixed type hinting issue under Python 3.8. [9733a35](https://github.com/morpheus65535/bazarr/commit/9733a35c502595cc6d40438535d9d8f0ca3b9c2e)\n- Updated lingarr payload format and added extra meta data [ca64892](https://github.com/morpheus65535/bazarr/commit/ca648920192d58c054257bfa7ce7f5838fdcb141)\n- Added Docker-based development environment [4c44995](https://github.com/morpheus65535/bazarr/commit/4c44995cb04da902005021fd822826595e5ab30a)\n- Fixed movie and series edit for media with unknown audio languages [3890371](https://github.com/morpheus65535/bazarr/commit/38903713e73b21534b56a995836a598286d69812)\n- Fixed lingarr translation support [2178cac](https://github.com/morpheus65535/bazarr/commit/2178cacf4acf417c9b12b2c49003e7eca1cf57a8)\n- Added support for Lingarr subtitles translation [e2f007f](https://github.com/morpheus65535/bazarr/commit/e2f007fa2e4603758db3037902256cdf1b18dd7b)\n- Fixed exception when Sonarr return improper audio track language data for an episode. #2977 [c8133c1](https://github.com/morpheus65535/bazarr/commit/c8133c1b9ec8e37135c5dabcefcfbbc3091e4fed)\n- Added SubsRo provider [dd27037](https://github.com/morpheus65535/bazarr/commit/dd270372ffbb7329cffdabddf991efd1de6f933c)\n- Improved the saving of settings to file in order to prevent saving unchanged settings or saving empty file when not enough space is available on disk. #2959 [aee7dd6](https://github.com/morpheus65535/bazarr/commit/aee7dd625268d288b6f718da590f78f3347bbced)\n- Fixed subtitri provider url. #2963 [81ac2ce](https://github.com/morpheus65535/bazarr/commit/81ac2cea76337c69875c2ae3117d10ddb0207aff)\n- Fixed release pipeline [ff71d7c](https://github.com/morpheus65535/bazarr/commit/ff71d7ca6b2cb54eec5046ae2c794854ccdfcdfb)\n- Added support for .mk3d video file extension. #2952 [ced0eee](https://github.com/morpheus65535/bazarr/commit/ced0eee66b57dec3f834770704dc615bdefd0c41)\n- Improved greeksubs provider to prevent reuse of the content from the first result when using interactive search modal. #2858 [9bed1bd](https://github.com/morpheus65535/bazarr/commit/9bed1bd3766f4a5a23d1afd7febbf729d27e71b4)\n- Fixed upgrade logic to prevent upgrade loop. [d334190](https://github.com/morpheus65535/bazarr/commit/d3341901163796c7392fa8d0f0864d78c90a0c85)\n- Fixed (again) the shutdown/restart of Bazarr. #2941 [aeaaeb6](https://github.com/morpheus65535/bazarr/commit/aeaaeb6b5352d472680b5329ba7b38f4a838af18)\n- Improved Gemini translator with some hotfixes [99f596e](https://github.com/morpheus65535/bazarr/commit/99f596e30bea466d98cdfdf247880bca105afc32)\n- Fixed shutdown/restart command not acting properly on some Linux and macOS operating system. #2941 [3d57a12](https://github.com/morpheus65535/bazarr/commit/3d57a1231cc0b89ce489d9def00b3eafd221e477)\n- Fix infinite loop during restoration of backup on certain non-Windows platforms [cc5fa42](https://github.com/morpheus65535/bazarr/commit/cc5fa4200c056b06d9df5470985bb0e6237aa948)\n- Added Gemini AI translation option [ff8466c](https://github.com/morpheus65535/bazarr/commit/ff8466cfbad76f766ae98f98ea4b223993c6c798)\n- Fixed anidb to handle one-to-many ID mapping [ccd667d](https://github.com/morpheus65535/bazarr/commit/ccd667d9537c2587b0aa436810658ae02ff372ee)\n- Added language mapping to WhisperAI (thanks to GitHub user v3DJG6GL) [6794eeb](https://github.com/morpheus65535/bazarr/commit/6794eeb2a4f0db37b5f5f06b657563ab057f80aa)\n- Fixed long block of text being unnecessary removed from subtitles files [fa9b0f0](https://github.com/morpheus65535/bazarr/commit/fa9b0f074866f74655595f1549dc00802a8c22a6)\n- Refactored Sonarr and Radarr hook. It may be a breaking change so users should review webhook parameters following information in Bazarr's settings. [a3102e8](https://github.com/morpheus65535/bazarr/commit/a3102e8a19ee74a00a6f25c3a78c93077029cf5b)\n- Fixed losing titulky VIP status during an active login session [f2cf1c0](https://github.com/morpheus65535/bazarr/commit/f2cf1c066c7b4487e29e6ef9deabd4eafb9259ef)\n- Added option to include language only when matching audio [ac19e37](https://github.com/morpheus65535/bazarr/commit/ac19e3743eb827f3c258f7d6e384333532224ef5)", "date": "2025-09-20T12:12:33Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.3/bazarr.zip"}, {"name": "v1.5.2", "body": "From newest to oldest:\n- Added frontend only Docker Image to support developpers [eacb8b7](https://github.com/morpheus65535/bazarr/commit/eacb8b70682363b33db74ca4beee1be5d4a09c6d)\n- Fixed profiles sync with Sonarr and Radarr. #2932 [71cd0c8](https://github.com/morpheus65535/bazarr/commit/71cd0c80c7e99b079aa7abee573bc6e959dbcf18)\n- Fixed titrari provider advanced search endpoint. #2930 [794b006](https://github.com/morpheus65535/bazarr/commit/794b0067b075b1060258fc99bc20cabf8d8a2e77)\n- Fixed subzero mods hearing-impaired removal regex broken in a82dca9. #2849 [3a248b3](https://github.com/morpheus65535/bazarr/commit/3a248b374181997b4157dfc3c5ed67297390897e)\n- Fixed small issues with subdl to improve throttling conditions [c853de8](https://github.com/morpheus65535/bazarr/commit/c853de8bd76b22cb394ebe88152aadc0f5743fd9)\n- Fixed Sub-Zero Hearing Impaired subtitle content modifications. #2849 [a82dca9](https://github.com/morpheus65535/bazarr/commit/a82dca914a6e9bce9e4ea7a91ba1ec62030910e7)\n- Improved backup restore to help fix long-standing issue. #2850 [17024a9](https://github.com/morpheus65535/bazarr/commit/17024a9899fe75047f903df41827b4820cd273a6)\n- Updated keyboard interrupt handling code [db49fd6](https://github.com/morpheus65535/bazarr/commit/db49fd6b03281a1f1738bc28f1f2f1cd79b3b61b)\n- Updated regex to not remove sign in ASS subtitles in embedded subtitles [2964a0c](https://github.com/morpheus65535/bazarr/commit/2964a0c9ec57102a23163f21d2f8f6f65c60715e)\n- Changed notification position to bottom-left to not obscure page navigation [c752796](https://github.com/morpheus65535/bazarr/commit/c752796b829303d856b1e6c880c489674b35dc2f)\n- Fixed improper detection of Chinese subtitles for embedded subtitles provider. #2914 [ee817c2](https://github.com/morpheus65535/bazarr/commit/ee817c2b7e2e346d35475674e2a55a66aed21cb1)\n- Fixed improper uppercase for some release groups in matching routine [82dad60](https://github.com/morpheus65535/bazarr/commit/82dad607c1a9f63f209a76178acb8a8f55a91de7)\n- Additional multiline log file fixes [b4e4ea5](https://github.com/morpheus65535/bazarr/commit/b4e4ea5bb9a9b216f12af6ea8ae9f842a40d9d47)\n- Handle multiline log output without proper log file timestamp headers like produced by KnowIt errors [e91b71c](https://github.com/morpheus65535/bazarr/commit/e91b71c6ec17f1587e6f8a49b381c518df63a0e8)\n- Whisper - eliminate \"missing/bad audio track\" errors when files have multiple audio streams [d6e7773](https://github.com/morpheus65535/bazarr/commit/d6e7773a0f1731e178fca9d925319a87e824dc0f)\n- Added an announcement about upcoming deprecation of Python 3.8 in Bazarr v1.6 [85d75a7](https://github.com/morpheus65535/bazarr/commit/85d75a72b81a8899046b47a1c299ecb51113b188)\n- Added experimental Python 3.13 compatibility. #2803 [759da8a](https://github.com/morpheus65535/bazarr/commit/759da8a111b5e403512bf581aba037575a92516f)\n- Replaced pipes with shlex in custom_libs/libfilebot/main.py [4642db3](https://github.com/morpheus65535/bazarr/commit/4642db334a8b94a865cbf811ab90fc5316c74db0)\n- Replaced imghdr with filetype for image detection [9825a3a](https://github.com/morpheus65535/bazarr/commit/9825a3a10959dc6196fd4bfd3a5ec24a9c8eb8f8)\n- Added an unauthenticated API endpoint to test Bazarr availability: /api/system/ping [2c7294d](https://github.com/morpheus65535/bazarr/commit/2c7294de0de5620e9c33ff1cfb99f6e6b6278dbb)\n- Fixed UnboundLocalError when viewing log files [84ebcf7](https://github.com/morpheus65535/bazarr/commit/84ebcf7a378bfae2a07fa3c6633b0e3b2c384637)\n- Added Sync button to individual Series and Movie pages [525d569](https://github.com/morpheus65535/bazarr/commit/525d569d09e707a0dcd317bdad06a571fc2e794f)\n- Fixed upgrade process again to prevent infinite loop of subtitles upgrade. #2749 [81909ca](https://github.com/morpheus65535/bazarr/commit/81909caf51de0801389e80c191769be964979b84)\n- Added a validation to confirm if media file exists during initial sync before trying to search for subtitles. #2866 [63a3622](https://github.com/morpheus65535/bazarr/commit/63a3622615e2b5ebb2b68832136da1f224cfb4b7)\n- Added Weekly option to Search and Upgrade Subtitles settings [7dbc3cb](https://github.com/morpheus65535/bazarr/commit/7dbc3cb17ca178c17f9bb9673df926a00f7d002e)\n- Fix for prior uppercase mod fix [31fe371](https://github.com/morpheus65535/bazarr/commit/31fe37178279b5bfdb49351b176e394f431cc1b4)\n- Improved uppercase detection / execution in Fix Uppercase mod [2a330f6](https://github.com/morpheus65535/bazarr/commit/2a330f63dc18562f5c4647be2680705c7a225efb)\n- Fixed another issue with Yavka provider. #2225 [cefd163](https://github.com/morpheus65535/bazarr/commit/cefd1638dd5809cda93473a5a34a26d7156a6ff3)\n- Multiple providers - Removed overwrite of provider language object [515282e](https://github.com/morpheus65535/bazarr/commit/515282eed862c706f4ed2ace14f6c51eee631028)\n- Added animetosho provider german, vietnamese, russian and indonesian language support [fa4aca8](https://github.com/morpheus65535/bazarr/commit/fa4aca8bb1b7cbe820ba7c1d803d1bc628989cd0)\n- Regielive fix - Removed overwrite of provider language object [7cb471f](https://github.com/morpheus65535/bazarr/commit/7cb471fc200d768bfdae895942485e9b50a9271c)\n- Fixed properly timezone usage to prevent high CPU usage. #1914 [c22599a](https://github.com/morpheus65535/bazarr/commit/c22599a8bfbfede83dd4a748cc68301af21a0213)\n- Added animekalesi.com provider for Turkish Anime subtitles [3b4415e](https://github.com/morpheus65535/bazarr/commit/3b4415ec3f9349b8ff42cbe8631413fb4ef56222)\n- Fixed additional error catching when trying to bind to IPv6 when it's not supported. #2738 [fc9f94e](https://github.com/morpheus65535/bazarr/commit/fc9f94e9174604c6fa4fbb2700dfec2d07dc7211)\n- Added passing of video filename to detect-language for whisper provider [6c65267](https://github.com/morpheus65535/bazarr/commit/6c652673820ddd9aa29632cce88412b06be5bbab)\n- Fixed unwanted removal of subtitles format tags when using any mods. #2846 [1a93eb4](https://github.com/morpheus65535/bazarr/commit/1a93eb4049d859b0c913db9109a94cba7e51c8e9)\n- Fixed zimuku wrong archives subtitle language identified [#2856](https://github.com/morpheus65535/bazarr/pull/2856)\n- Fixed unhandled exception during backup restoration process. #2850 [2f16ae2](https://github.com/morpheus65535/bazarr/commit/2f16ae2e50fbfae583ffdfe688946cea594239c6)\n- Mods/Fix Uppercase: Fix broken uppercase detection in certain cases [#2852](https://github.com/morpheus65535/bazarr/pull/2852)\n- Added Turkcealtyazi.org provider for Turkish subtitles [8ff5d58](https://github.com/morpheus65535/bazarr/commit/8ff5d5838a2e8bfccacfc6e583556ef06dc8a24c)\n- Added more debug logging to opensubtitles.com provider to help then investigate issues. [6d5ebb0](https://github.com/morpheus65535/bazarr/commit/6d5ebb0faa6d965ebb16cc5d0287c0972e27e197)\n- Fixed UNC path parsing for Radarr sync [d1775ff](https://github.com/morpheus65535/bazarr/commit/d1775ff5c133d0205258b8a6f298495bc83ec862)\n- Fixed upgrade process for translated subtitles. #2817 [e2a3f36](https://github.com/morpheus65535/bazarr/commit/e2a3f363d1e81d1285c75403e46853445f0f9122)\n- Added navigation bar shell scroll support [59d8243](https://github.com/morpheus65535/bazarr/commit/59d8243d0b40b649f612136d333614e17d368127)\n- Added missing settings preventing proper download of subtitles. #2839 [b9a0d9c](https://github.com/morpheus65535/bazarr/commit/b9a0d9c922f4237dc4a6504d7cc42784afe32bc5)\n- Added support for remote DNS query over socks5h proxy. #2839 [bdbe946](https://github.com/morpheus65535/bazarr/commit/bdbe946be25f3f41fba156273eee1f5e24eb0aab)\n- Fixed yavka.net provider by passing all form parameters and improved caching to reduce number of requests [99d9691](https://github.com/morpheus65535/bazarr/commit/99d9691eb1a43d6905b006670dc67cb674a1b5b1)\n- Added scan Plex library option for new files after downloading subtitles [31400c8](https://github.com/morpheus65535/bazarr/commit/31400c89576ca0622e9816fc1a3a430cc76e4b62)\n- Added feature to change \"added\" info in Plex once subtitles are downloaded [fe7b224](https://github.com/morpheus65535/bazarr/commit/fe7b224916c169a58c3f91da8592dd09ae2ff6f7)\n- Updated vendored modules [2fc8f10](https://github.com/morpheus65535/bazarr/commit/2fc8f10a949d4e08c3038eada35d453fe3000b13)\n- Fixed podnapisi TypeError since we've merged #2790. [6fc6ca5](https://github.com/morpheus65535/bazarr/commit/6fc6ca5ec20138d52e1c2637b9f291af7a2c0b7c)\n- Fixed modal with tables application crash [4f77710](https://github.com/morpheus65535/bazarr/commit/4f77710f462ccd8765465b97ca7f5eac334c30cb)\n- Persist pages on url and hydrate on page load [#2826](https://github.com/morpheus65535/bazarr/pull/2826)\n- Added some failsafe to RegieLive provider to try to prevent getting redirected to captcha validation or being completely blocked for a while. #2165 [e17bad6](https://github.com/morpheus65535/bazarr/commit/e17bad6ec49421a315d463522ae40c5c9cd06dc9)\n- Fixed issue with some custom languages subtitles while trying to index them. #2815 [5888011](https://github.com/morpheus65535/bazarr/commit/58880117a9130368acc1eb8f636f0a564a1e123b)\n- Fixed issue with API not returning proper subtitles hi or forced subtitles in some edge cases [e780edd](https://github.com/morpheus65535/bazarr/commit/e780edd0b71924859d187f949d5669a791efe7c1)\n- Removed opensubtitles.org deprecation announcement for VIP users. [9ac6c69](https://github.com/morpheus65535/bazarr/commit/9ac6c69a4f4ee85f36a805c6bc65cd6d6de457dd)\n- Added mass delete subtitle files [#2816](https://github.com/morpheus65535/bazarr/pull/2816)\n- Added TooManyRequests throttling to podnapisi provider. [6a791b2](https://github.com/morpheus65535/bazarr/commit/6a791b2be065521c7437be9313d4232f2b8ec7a6)\n- Improved assrt release name matching by ignoring meaningless values. #2761 [2a038cd](https://github.com/morpheus65535/bazarr/commit/2a038cdc214357f6aae249f7119799fed6f062d7)", "date": "2025-05-11T16:40:55Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.2/bazarr.zip"}, {"name": "v1.5.1", "body": "From newest to oldest:\n- Improved languages profile health check to include default assigned profiles [0413dba](https://github.com/morpheus65535/bazarr/commit/0413dbaa4cf632df0f560f5df2cd67851c3eee02)\n- Fixed sync issue with Radarr that would remove all movies from database on every sync. [60febe3](https://github.com/morpheus65535/bazarr/commit/60febe3d12b75d534b64d56839ee79ee063958fd)\n- Added check to opensubtitles.com for SDH subtitles being classified as forced [4809b40](https://github.com/morpheus65535/bazarr/commit/4809b403ca3b98f0f38f4e7ef62565b5a40e9aed)\n- Fixed Bazarr not starting when configured IP isn't available for binding. [b71daad](https://github.com/morpheus65535/bazarr/commit/b71daad7fb6a8a0a9d47a29471c24989eabef88c)\n- Improved Sonarr and Radarr syncing to prevent database integrity exception being raised by relying on proper primary keys instead of other values. [8346ea9](https://github.com/morpheus65535/bazarr/commit/8346ea9dc857d6f9bcd2ed3a452e0cbd1c38cfd9)\n- Added opensubtitles specific throttling for server under maintenance (http 506) [2247c55](https://github.com/morpheus65535/bazarr/commit/2247c55bfa9fd38bf3fbe80330a5c37f4988ee6a)", "date": "2025-01-01T16:15:52Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.1/bazarr.zip"}, {"name": "v1.5.0", "body": "From newest to oldest:\n- Reduced throttle from 24 hours to 6 before retrying Opensubtitles.com API on DownloadLimitExceeded [d5a290c](https://github.com/morpheus65535/bazarr/commit/d5a290c7a2bf4c0d7d923bb967d1825de2bbaba3)\n- Fixed download error with Napiprojekt provider [3209355](https://github.com/morpheus65535/bazarr/commit/320935548c28e85bbd9b0b0a6a073f1439deba31)\n- Fixed titrari provider to prevent abuse and throttle properly. #2709 [9d62d84](https://github.com/morpheus65535/bazarr/commit/9d62d84ef590c65e7e9392fe82f1f2022b90bede)\n- Added languages profile creation and assignment to health check. [43d9d43](https://github.com/morpheus65535/bazarr/commit/43d9d43224c84609a4fbd050c8d82e9500743a68)\n- Added series status and last air date [c8e2894](https://github.com/morpheus65535/bazarr/commit/c8e2894b2ba033a11eb52ccd4f50186da74a90d8)\n- Added missing subtitles count in series episodes view [f81780f](https://github.com/morpheus65535/bazarr/commit/f81780fac564080301b06be76dbd33267b8f0ac8)\n- Added official support for Python 3.12 [43a5841](https://github.com/morpheus65535/bazarr/commit/43a5841d04f07455f1f72d22817aa9a342772b91)\n- Fixed improperly guessed video episode number while refining. #2784 [cf559d1](https://github.com/morpheus65535/bazarr/commit/cf559d1028803dad83921f2b61162199bb1fb27f)\n- Fixed podnapisi not returning results [4df822d](https://github.com/morpheus65535/bazarr/commit/4df822d363b448b98000b6c4c6de054d8faa45e4)\n- Added debug logging while refining video object from scene name. #2784 [63c36c8](https://github.com/morpheus65535/bazarr/commit/63c36c8c184a5d7a34892f47e0f16d7b7ce6ea15)\n- Improved Settings wording and organization. [d2dc869](https://github.com/morpheus65535/bazarr/commit/d2dc869c1c90d479a3a39aee264f9d695af2e53c)\n- Fixed EmbeddedSubtitles provider results caching [a7df6a9](https://github.com/morpheus65535/bazarr/commit/a7df6a9c6213cbb16ffc212f22aa3ae4c82599dd)\n- Fixed missing mobile tooltips [137d619](https://github.com/morpheus65535/bazarr/commit/137d61930d6d570515b5d3a4149c19f6206b6aea)\n- Added frontend notification during automatic syncing of subtitles. #2724 [f4ca0f9](https://github.com/morpheus65535/bazarr/commit/f4ca0f9e5586b9b84f137c102e4b1c577b883da8)\n- Added opensubtitlescom provider validation [#2770](https://github.com/morpheus65535/bazarr/pull/2770)\n- Fixed item overview path label overflow [#2780](https://github.com/morpheus65535/bazarr/pull/2780)\n- Fixed match popover position [#2777](https://github.com/morpheus65535/bazarr/pull/2777)\n- Fixed issue with some DB queries and PostgreSQL. [d7f06bb](https://github.com/morpheus65535/bazarr/commit/d7f06bb707e74bd24b89d94dd9486a4c60601738)\n- Improved wording for Embedded Subtitles UI components [4d022c2](https://github.com/morpheus65535/bazarr/commit/4d022c24b60524f4235c49de324a52e97192b881)\n- Added matches dialog alert and column titles [#2771](https://github.com/morpheus65535/bazarr/pull/2771)\n- Fixed a bug introduced in Napiprojekt provider [669ed06](https://github.com/morpheus65535/bazarr/commit/669ed069f52e4f5bb95fa85d431ba2cdb6b57429)\n- Added Napiprojekt provider releases info and a new options to filter subtitles based on uploader [42d569f](https://github.com/morpheus65535/bazarr/commit/42d569faa357d49f4779cf5e9effe9f818eb9cb7)\n- Added validation for incomplete indexing of subtitles or calculation of missing subtitles before searching. [5b3312e](https://github.com/morpheus65535/bazarr/commit/5b3312ea4d88b3c37087da3938e43a021033d07e)\n- Fixed issue introduced in 1.4.6-beta.20 when subtitles upgrade is disabled. #2768 [6fbc912](https://github.com/morpheus65535/bazarr/commit/6fbc91289fe4031a73fb34d34706063a9d45d93b)\n- Refactored upgrade routine to bring logic out of db requests but into Python code. #2749 [24096cb](https://github.com/morpheus65535/bazarr/commit/24096cb10f6aaf3b377bfb24ef255efcdccf89c4)\n- Added switch to control passing of video filename in whisper provider modal [e298d15](https://github.com/morpheus65535/bazarr/commit/e298d157247951beea8578dcd632d80cd3a5d75c)\n- Fixed typos in assrt provider. #1953 [48cdc8b](https://github.com/morpheus65535/bazarr/commit/48cdc8bfc83487b2fa990a5669a0da07a71def54)\n- Fixed issue when whisper returns more than one subtitle for language profiles with more than one language #2758 [d67477a](https://github.com/morpheus65535/bazarr/commit/d67477aded7de5948d2156e2a2e4c83897c08f81)\n- Adjusted search result styles [0d63448](https://github.com/morpheus65535/bazarr/commit/0d6344859b56a533c22df3bfc36a00fbe66c2873)\n- Reverted last commit [db450bd](https://github.com/morpheus65535/bazarr/commit/db450bdcc35536ed1b520ff28430284134a60dfc)\n- Added logging of upgraded subtitles original ID to database [a70b26c](https://github.com/morpheus65535/bazarr/commit/a70b26cdbe520e75966af91f0be96d779bdfee0d)\n- Fixed an issue that prevented Bazarr from starting when PIv6 has been disabled using grub. #2738 [4eb09c5](https://github.com/morpheus65535/bazarr/commit/4eb09c546d4ebb612340de80301fdfc7549843b1)\n- Fixed logging of proxied client requests while authenticating. #2721 [ac1a3c5](https://github.com/morpheus65535/bazarr/commit/ac1a3c5eb07650eb3942163ca3d8f6485a2027b5)\n- Fixed anidb refiner special episodes without offset [#2736](https://github.com/morpheus65535/bazarr/pull/2736)\n- Handle bad JSON results from subsynchro provider #2735 [239ab78](https://github.com/morpheus65535/bazarr/commit/239ab780eb5c3006ce28a45eb5bf2c7eb65d56ad)\n- Improved guessing of video file properties by using file name and refining it with scene name if available. #2704 [c615f99](https://github.com/morpheus65535/bazarr/commit/c615f99f0635ab57e0de1015e4e4575821c074aa)\n- Fixed subdl to not ignore movies subtitles by erroneously check for season packs. #2725 [a186e64](https://github.com/morpheus65535/bazarr/commit/a186e64893fd71d986ef922d9d90cf0b9435ae41)\n- Fixed issue with translation failing when nothing is returned by Google Translate. #2519 [b34a0c1](https://github.com/morpheus65535/bazarr/commit/b34a0c19a21a2caac3fa8cf29cdcfa96717b54fc)\n- Added search poster [#2722](https://github.com/morpheus65535/bazarr/pull/2722)\n- Added support for Spanish (Latino) in opensubtitles.com. #2720 [a1658bb](https://github.com/morpheus65535/bazarr/commit/a1658bbf3271f66295ca8106eabfa2ab842cdb17)\n- Added Anilist error log when the record exists on mapping but doesn't enrich with Anilist id [a9243c6](https://github.com/morpheus65535/bazarr/commit/a9243c6c03fd7d24eb522231cf899d25aa850b66)\n- Added created and updated timestamp to DB for series, episodes and movies [678443f](https://github.com/morpheus65535/bazarr/commit/678443f212cb82b795bd0d7db14c845f641bd804)\n- Fixed RegieLive JSONDecodeError #2727 [092012a](https://github.com/morpheus65535/bazarr/commit/092012a48715fd65184cef5e623bfb60f6d01543)\n- Fixed titulky NameError issue [1874f29](https://github.com/morpheus65535/bazarr/commit/1874f29789aa574c867ff279892db12ae154e6cf)\n- Fixed another issue with subtitles upgrade process. [56d8f2c](https://github.com/morpheus65535/bazarr/commit/56d8f2c9a36536f0d5c8e29b331dc3d01729042f)\n- Fixed issue with subtitles upgrade process on Windows [de9ce4d](https://github.com/morpheus65535/bazarr/commit/de9ce4d13dc0fc2fa25597d9d3eb13bf025dc22a)\n- Fixed subtitles naming when saving subtitles to prevent parsing for HI content if the provider (or the user if it's an upload) specifies that it should be considered as HI. #2719 [5139fca](https://github.com/morpheus65535/bazarr/commit/5139fca5b8f60dd05be76c59296c3388d62d8199)\n- Fixed issue introduced in upgrade process in beta.3 [16499fc](https://github.com/morpheus65535/bazarr/commit/16499fc674b2a6aef7eab0bf07ff95e786c9afbd)\n- Improved provider labeling [9eb9bb5](https://github.com/morpheus65535/bazarr/commit/9eb9bb55c95430400668e4372179eee340b4db24)\n- Fixed subtitrari noi provider issue while downloading some subtitles. #2708 [92107a2](https://github.com/morpheus65535/bazarr/commit/92107a24257b996e28a045ff0e29f37812093a5c)\n- Fixed error while inserting episodes during sync process. #2700 [4b9417c](https://github.com/morpheus65535/bazarr/commit/4b9417c2e280ee42853c56ad14580be4dab48cfe)\n- Fixed subtitles conversion when use original format is enabled and prevented hearing-impaired detection for non srt format subtitles. #2693 [43563cd](https://github.com/morpheus65535/bazarr/commit/43563cdcbd9524803856228352a3ef0d1131717c)\n- Fixed bad non-HI detection with embedded provider when forced subtitles available [f50bcf3](https://github.com/morpheus65535/bazarr/commit/f50bcf34ac3c246d21a69dc3cc2f2eba63314c21)\n- Added the option to skip mismatched fps to Titulky [f296ba5](https://github.com/morpheus65535/bazarr/commit/f296ba5336a58c1108fa6a255a89077bcb23d8b4)\n- Added season pack download feature to titlovi [a4873fc](https://github.com/morpheus65535/bazarr/commit/a4873fc0f5207f4894e59a498a7a50e5bcef7803)\n- Implemented subdivx version resolution for buscar parameter [4f2bcc1](https://github.com/morpheus65535/bazarr/commit/4f2bcc17d9de6e2d53cd43a5c24cc91f2ba90ff1)", "date": "2024-12-24T15:18:44Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.5.0/bazarr.zip"}, {"name": "v1.4.5", "body": "From newest to oldest:\n- When multiple audio streams exist, pick the correct one for whisper to process [#2688](https://github.com/morpheus65535/bazarr/pull/2688)\n- Fixed subtitles translation to Portuguese. #2689 [7000d2a](https://github.com/morpheus65535/bazarr/commit/7000d2ac2c7a52fd0c429c17f5e826e9e3633bfc)\n- Fixed subdivx provider after recent changes to their website. #2686 [a1fac16](https://github.com/morpheus65535/bazarr/commit/a1fac160fbf3f71013ee25566029aa6377097940)\n- Fixed chinese traditional custom language hi extensions [bd3d1e5](https://github.com/morpheus65535/bazarr/commit/bd3d1e56246812d348039e373f4fb96dd8e3a78f)\n- Fixed improper paths history logging for different tools [0200bb9](https://github.com/morpheus65535/bazarr/commit/0200bb96d98127ee32b6b66f8d6b9e21d4571a4d)\n- Added database type, version and migration to System-->Status page. [6297b4b](https://github.com/morpheus65535/bazarr/commit/6297b4b83cbae86cfefb31eb8455fb2a1e83bedf)\n- Fixed database migration issue with postgresql. #2664 [25098e5](https://github.com/morpheus65535/bazarr/commit/25098e5e07533f9eea9602d6a37380aa68a86bbb)\n- Fixed duplicate IDs in languages profile items [c11bdf3](https://github.com/morpheus65535/bazarr/commit/c11bdf34fadd49ea39cc73e471cc9a3075e492f4)\n- Fixed upload subtitle language [#2675](https://github.com/morpheus65535/bazarr/pull/2675)\n- Fixed duplicated search result name for series and movies [#2682](https://github.com/morpheus65535/bazarr/pull/2682)\n- Clear log file contents on Empty log [5e08898](https://github.com/morpheus65535/bazarr/commit/5e08898de82d62ecaf782aa1bb2032ff6304841d)\n- Improved embeddedsubtitles provider by turning on Audio Sync during audio extraction process [c69be93](https://github.com/morpheus65535/bazarr/commit/c69be93cd6bf9cf4ce6339052e938a3c5420e31f)\n- Fixed SyntaxWarning in subzero language enforced in Python 3.12. #2656 [14a361d](https://github.com/morpheus65535/bazarr/commit/14a361dd97bb89204c748f60ef6052544d992dac)\n- Removed unnecessary vendored argparse module since it's included in Python since 3.2 [384a754](https://github.com/morpheus65535/bazarr/commit/384a754f9ef93ec51ce59fa64d0423cd66d4560f)\n- Fixed logging filter issue. [90b4480](https://github.com/morpheus65535/bazarr/commit/90b44802dc3be1429b5d41eb4ad4603c80f1ce80)\n- Fixed logging filter bug introduced in 1.4.4 [cc7a800](https://github.com/morpheus65535/bazarr/commit/cc7a8000e74c09ac2a747cf303ff86a48f37ec1e)", "date": "2024-10-02T01:15:01Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.4.5/bazarr.zip"}, {"name": "v1.4.4", "body": "From newest to oldest:\n- Added support for Legendas.net provider [b8aa2a8](https://github.com/morpheus65535/bazarr/commit/b8aa2a8b1af42dff9539c6e190bd2e6a7a7fd0ca)\n- Modified some language names to match those in Sonarr and Radarr. #2650 [6d062f3](https://github.com/morpheus65535/bazarr/commit/6d062f35009db472e58e58fb9a05f463fbbe49d7)\n- Fixed async audio languages not mapped fallback [#2652](https://github.com/morpheus65535/bazarr/pull/2652)\n- Fixed series indexing when malformed alternate title is returned by Sonarr [6ddfdfe](https://github.com/morpheus65535/bazarr/commit/6ddfdfee6a64845fc0eab21b18ac56ad70d3e1f9)\n- Fixed podnapisi AttributeError [f6c5ee6](https://github.com/morpheus65535/bazarr/commit/f6c5ee6bfcbe28c77380b417562ba4deba2c658a)\n- Added support for binding IPv4 AND IPv6 instead of just either one or the other [4e365c6](https://github.com/morpheus65535/bazarr/commit/4e365c6aa6f7e0786d8ceefdaa91099da59431f1)\n- Made all subf2m test pass [#2645](https://github.com/morpheus65535/bazarr/pull/2645)\n- Fixed anidb refiner empty mapping episode reference not skipped [deae4e5](https://github.com/morpheus65535/bazarr/commit/deae4e52f0eabda1a6014bafcacf3ec121b8b430)\n- Fixed zimuku provider skipping non lowercase subtitles [#2644](https://github.com/morpheus65535/bazarr/pull/2644)\n- Fixed cutoff language not being properly handled. #2635 [5f7e1f6](https://github.com/morpheus65535/bazarr/commit/5f7e1f68c706a2f71dca0ed8b6763416d51342bb)\n- Fixed timeout while querying subdivx provider. #2633 [cfa9004](https://github.com/morpheus65535/bazarr/commit/cfa900404076ac440a3a5745279b0db85f5e85b4)\n- Added ability to remove language profiles based on tag values [e5f1528](https://github.com/morpheus65535/bazarr/commit/e5f1528bbad2d0df8d0ed32b16cfa6856db79f2c)\n- Fixed Podnapisi not returning any subtitles [74f2c66](https://github.com/morpheus65535/bazarr/commit/74f2c6646404b76821146e9b58bed12c53fc1186)\n- Added sonarr and radarr settings tags validation [#2634](https://github.com/morpheus65535/bazarr/pull/2634)\n- Fixed subf2m search process by stripping html title result before using regex [855da6b](https://github.com/morpheus65535/bazarr/commit/855da6b1bb1cbb41d687e4593e2e9d092ed6e273)\n- Fixed chinese audio language [#2632](https://github.com/morpheus65535/bazarr/pull/2632)\n- Fixed badge overflow [9ec6027](https://github.com/morpheus65535/bazarr/commit/9ec60279896420f80916687d29530025f16ba0a8)\n- Fixed hearing-impaired detection using regex when language is Arabic and parenthesis are included in text. #2612 [eb084ab](https://github.com/morpheus65535/bazarr/commit/eb084abc21b3d37390d6ec70d73e62297032f7c3)\n- Refactored the translation routine to prevent Google Translate from messing with subtitles sequence by sending line by line (slower but better). #2558 [609349b](https://github.com/morpheus65535/bazarr/commit/609349b4002290e771935c7e6d02263c3fdd7ce4)\n- Fixed provider AvistaZ & CinemaZ optional subtitle Uploader [#2628](https://github.com/morpheus65535/bazarr/pull/2628)\n- Added settings provider maximum description lines [#2611](https://github.com/morpheus65535/bazarr/pull/2611)\n- Removed raising of OSError during subsync [#2584](https://github.com/morpheus65535/bazarr/pull/2584)\n- Fixed table items losing order when action is executed [1ec415f](https://github.com/morpheus65535/bazarr/commit/1ec415f0c5d0d9d72555778d1c5f564271f0ea3d)\n- Fixed AvistaZ and CinemaZ scraping when the Reseed notification is displayed [0fc334f](https://github.com/morpheus65535/bazarr/commit/0fc334f731ddda1d70fb4b0ad6fc7c0329c76048)\n- Added jimaku provider [#2505](https://github.com/morpheus65535/bazarr/pull/2505)\n- Fix for provider subtitle language being unintentionally modified [5582cc0](https://github.com/morpheus65535/bazarr/commit/5582cc076dd58a63638d96cb0dbc5119554fe127)\n- Fixed postgresql database migrations not applied [#2601](https://github.com/morpheus65535/bazarr/pull/2601)\n- Fixed get movie monitored status [#2591](https://github.com/morpheus65535/bazarr/pull/2591)\n- SuperSubtitles: handle KeyError for movie searches [4a34186](https://github.com/morpheus65535/bazarr/commit/4a341869858103a60dccf712e70e6ad97f311a29)\n- Subdl Provider: avoid raising exception on no results [8fe8eaf](https://github.com/morpheus65535/bazarr/commit/8fe8eaf7dad6b1eccde9d0622e946e15acc43688)\n- Fixed anidb refinement for sonarr specials [#2590](https://github.com/morpheus65535/bazarr/pull/2590)\n- Added new feature: Tag-Based Automatic Language Profile Selection [b304f6f](https://github.com/morpheus65535/bazarr/commit/b304f6f1efecdfa5b258138029b54460267e8032)\n- Fixed anidb refiner episode not found [#2581](https://github.com/morpheus65535/bazarr/pull/2581)\n- HDBits provider: handle KeyError (common exception) [b419593](https://github.com/morpheus65535/bazarr/commit/b4195934c1fd5ff97acf07d7fbd82f52e272c520)\n- Subdl Provider: add tests and use standard utils [91a3531](https://github.com/morpheus65535/bazarr/commit/91a35317cc1f627030b7bae4d9776acef4745afd)\n- Fixed cached logged out index page [127a7ae](https://github.com/morpheus65535/bazarr/commit/127a7aebadde462babba33d2115dc058a854954c)\n- Added series empty subtitle episodes progress bar labels [#2575](https://github.com/morpheus65535/bazarr/pull/2575)\n- Fixed issue with soustitreseu when guessit is unable to guess episode or season from release name. #2569 [ebf3471](https://github.com/morpheus65535/bazarr/commit/ebf3471eec3895ba06c5be3dfe1fb7efb7622100)\n- Fixed animetosho empty language fallback [#2571](https://github.com/morpheus65535/bazarr/pull/2571)\n- Fixed popover text wrap browser compatibility [#2573](https://github.com/morpheus65535/bazarr/pull/2573)\n- Improved subdl provider to filter out non SRT or ASS subtitles [e3a3ef1](https://github.com/morpheus65535/bazarr/commit/e3a3ef1e931ec6124f59941e14d6544be3a9e268)\n- Update fese (extractor) (cover #2538) [aafaf1c](https://github.com/morpheus65535/bazarr/commit/aafaf1cbf1ac29249960f2d5f2c7ba0608a5c284)\n- Fixed pt-BR issue with subdl provider. [a15b8d5](https://github.com/morpheus65535/bazarr/commit/a15b8d560252a953999976343b7665c533570365)\n- Fixed pwa assets files not served [#2568](https://github.com/morpheus65535/bazarr/pull/2568)\n- Fixed PWA image path on development build [5886c20](https://github.com/morpheus65535/bazarr/commit/5886c20c9c7929bf46836a99c2d9d4eb834638bd)\n- Added subdl provider initial implementation [40985fd](https://github.com/morpheus65535/bazarr/commit/40985fdee3bdfd722d160f04621a6294732a49d0)\n- Fixed overview poster wrap [#2567](https://github.com/morpheus65535/bazarr/pull/2567)\n- Fixed PWA not registered [#2566](https://github.com/morpheus65535/bazarr/pull/2566)\n- Updated tanstack table to v8.x [#2564](https://github.com/morpheus65535/bazarr/pull/2564)\n- Upgraded knowit to latest version to fix some long-lasting issue. [22ac838](https://github.com/morpheus65535/bazarr/commit/22ac838e9b60b0b7c0509d95f44843e5ce4abf48)\n- Fixed the subtitles upgrade process loop for normal subtitles upgraded to HI subtitles. [a4527a7](https://github.com/morpheus65535/bazarr/commit/a4527a7942fca4c0fe28ec5a2cdad56ee569800c)\n- Added Anidb integration soft rate limits [#2556](https://github.com/morpheus65535/bazarr/pull/2556)\n- Fixed file traversal via path filename vulnerability in swaggerui static route. #2559 [7b7e984](https://github.com/morpheus65535/bazarr/commit/7b7e984bff26f4d91bfec3dfdacedcd94c35d0cf)\n- Fix original format requests (#2514) [ad88ec3](https://github.com/morpheus65535/bazarr/commit/ad88ec37677b82a911acf35c1280b49b679beaa7)\n- Fixed uptime calculation overflowing hours [34089b0](https://github.com/morpheus65535/bazarr/commit/34089b0fd7915f61d7b0bdfd41a65c3d938bb380)\n- Fixed usage of pysubs2 removed exception in subliminal_patch [668ec38](https://github.com/morpheus65535/bazarr/commit/668ec386fc6eb2da53a68b3aaf8744ae364aaa97)\n- Fixed frontend sync and translate missing hi and forced information [26ce9d7](https://github.com/morpheus65535/bazarr/commit/26ce9d73e6b6c4cc1e219deba722c0eaab4b3187)\n- Fixed issue with subtitles translation failing. #2519 [9049ab2](https://github.com/morpheus65535/bazarr/commit/9049ab2238c46355e6896ed07ebf4e66442a91af)\n- Fixed HI or Forced status not being properly saved to history when syncing or translating a subtitles. [dcbd813](https://github.com/morpheus65535/bazarr/commit/dcbd8130dba8f0568173f61a9614e30e24e9c54e)\n- Fixed opensubtitles.com provider not being throttled properly when server returned http 500. [76175a8](https://github.com/morpheus65535/bazarr/commit/76175a889bb392d5c49174929f5a707d558d38f3)\n- Subtitle class: get format dinamically (fix #2514)\n- Fixed legendasdivx provider while searching for movies subtitles [9a52b3c](https://github.com/morpheus65535/bazarr/commit/9a52b3c539b3f32841f45177a949b001c51abf39)\n- Fixed usage of path mappings for video_analyzer operations [55d96b3](https://github.com/morpheus65535/bazarr/commit/55d96b3231ba78e2a5c0ae8a7df103b53f42b6c5)\n- Fixed unhandled exception in opensubtitles.com provider login method. #2545 [fb83ec4](https://github.com/morpheus65535/bazarr/commit/fb83ec4081484b046664c6fc3a21a47d6542519f)\n- Improved video metadata parser function and documented params and return values. [35b65dc](https://github.com/morpheus65535/bazarr/commit/35b65dcd4efba0e48b113b8a4f63bca031548b9d)\n- Fixed corrupted hi value in languages profile after reverting back Non-HI only feature. [1f843c7](https://github.com/morpheus65535/bazarr/commit/1f843c7d15ca2d1da50f0d4614491e3187809ace)\n- Reverted normal only (non-hi) option to languages profile. Will be properly reintroduced later. [5ad3926](https://github.com/morpheus65535/bazarr/commit/5ad392630649c9dd53c33794d51e51f8b9c8fa09)\n- Fixed theme colors and variants [d719d4c](https://github.com/morpheus65535/bazarr/commit/d719d4c6df0c8d8dbc71e29aabf59f5d0987ac18)\n- Fixed mass edit language clear not available [d7445bf](https://github.com/morpheus65535/bazarr/commit/d7445bf39c2a6b4365064087c75c39972b22469d)\n- Fixed background color of media overview badge on light theme [9787934](https://github.com/morpheus65535/bazarr/commit/9787934820f135debfde43f9898d790a3cd817d9)\n- Added submission on select to search box [c4f5511](https://github.com/morpheus65535/bazarr/commit/c4f5511915ad5c60c380d9ee8b2c0531bf2b6969)\n- Fixed settings profile style button light theme [ff8fd8c](https://github.com/morpheus65535/bazarr/commit/ff8fd8c9a43efea33a77d2e13b90a674672166ab)\n- Improved mass edit profile in chunks instead of at once [5442849](https://github.com/morpheus65535/bazarr/commit/54428495b9d7b68ea4caf82892dcc4c015cd46b2)\n- Upgraded react-query to v5 [4d3c1f4](https://github.com/morpheus65535/bazarr/commit/4d3c1f4b9d517ef3f64e489d011b939bc816d228)\n- Added normal only (non-hi) option to languages profile [eee8659](https://github.com/morpheus65535/bazarr/commit/eee8659ce16841df634a3960604f9b50d4c5e8c2)\n- Fixed episode history modal auto scrolling to top [d75c198](https://github.com/morpheus65535/bazarr/commit/d75c198c6c81ce85b0b7e8d6cbc664f70778ce63)\n- Fixed adjust time button overflow [854c43c](https://github.com/morpheus65535/bazarr/commit/854c43c53a737fb75e5d8f1ce35130690b8d69d2)\n- Fixed minor style and colors broken on Mantine v7 update [0a0762b](https://github.com/morpheus65535/bazarr/commit/0a0762b1cf338affd0565184ce1e28fb70470eda)\n- Updated pysubs2 to 1.7.2 [2b19f39](https://github.com/morpheus65535/bazarr/commit/2b19f390e72ee6368b6b250a829ec856ae073689)\n- Fixed provider legendasdivx unable to find series subtitles. #2509 [a8c1794](https://github.com/morpheus65535/bazarr/commit/a8c17940610808eba46b07048e59658ef5d3fe41)\n- Upgraded mantine to v7.x [be8f2d6](https://github.com/morpheus65535/bazarr/commit/be8f2d6d183e5206f932be1113e0da7db2a2277a)\n- Fixed external subtitles indexing on some platforms where filesystem encoding may be using a different UTF8 normalization form. [bb8233b](https://github.com/morpheus65535/bazarr/commit/bb8233b599fa0bd8133b092897a4fbcfd736c8cd)", "date": "2024-09-15T19:25:56Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.4.4/bazarr.zip"}, {"name": "v1.4.3", "body": "From newest to oldest:\n- Fixed throttled_providers.dat reset [77302fa](https://github.com/morpheus65535/bazarr/commit/77302fad218a3c14c91c3d28074f30e02ffe9b77)\n- Fixed bazarr restart traceback exception [b7e6de7](https://github.com/morpheus65535/bazarr/commit/b7e6de71ffe977a5b2fc71d3b61545226af83395)\n- Fix for case insensitive filesystem upates [8842004](https://github.com/morpheus65535/bazarr/commit/884200441bec801eba56a4ac08328f8227ad3bed)\n- Fixed subdivx series search process. #2499 [0e183c4](https://github.com/morpheus65535/bazarr/commit/0e183c428b1509e4cde77c53c4a47a6393c7a54e)\n- Reverted to apprise 1.7.6 to fix an issue with the upgrade process first. 1.8.0 will get back in nightly shortly. #2497 [5ca733e](https://github.com/morpheus65535/bazarr/commit/5ca733eac0ec43ebd3ca68e867bfd6ef0fb30cc2)\n- Fixed upgrade process that was broken since Apprise 1.8.0 update. #2497 [3e929d8](https://github.com/morpheus65535/bazarr/commit/3e929d8ef90fcb77bba0abeb4662d4d5e2882e6a)\n- Fixed uppercase issue in Apprise module name. [d70a92e](https://github.com/morpheus65535/bazarr/commit/d70a92e9476e61b12a79c5642629ed81c9ad703f)\n- Fixed issue while saving some odd case ASS embedded subtitles. [b3a5d43](https://github.com/morpheus65535/bazarr/commit/b3a5d43a10befd2451711a1abbafe4f5c65f3c76)\n- Emergency fix following Apprise 1.8.0 upgrade [fd0a8c3](https://github.com/morpheus65535/bazarr/commit/fd0a8c3d3bd1beadb1fed1a58013e386d3f29653)\n- Updated apprise to 1.8.0 [86d3403](https://github.com/morpheus65535/bazarr/commit/86d34039a35387e33663f14b30a65cc1165b4fc7)\n- Fixed issue with subssabbz provider comparing None with int. [006ee0f](https://github.com/morpheus65535/bazarr/commit/006ee0f63ac39dc1e73c761a161aacfc6d62b380)\n- Fixed issue with subsunacs provider comparing None with int. [47011f4](https://github.com/morpheus65535/bazarr/commit/47011f429a57a8b214681ce6527b4f49eae0cd90)\n- Removed closed subscene provider [bb4b01f](https://github.com/morpheus65535/bazarr/commit/bb4b01f3fb1f23ce7a5bf4fc5e2fbf89d302da16)\n- Removed dependency over moment library [5b5bead](https://github.com/morpheus65535/bazarr/commit/5b5beadf4d49954eb4ac95659ab470915002647d)\n- Removed dependency over moment [6e34225](https://github.com/morpheus65535/bazarr/commit/6e3422524c852c6c4e443c3116c3011639c3f96b)\n- Fixed db migrations dropping tables content because of ForeignKey constraints. #2489 [4815313](https://github.com/morpheus65535/bazarr/commit/4815313ac6f36154e6e59b0ee3ca87c04a36bb7c)\n- Added a database migration to get past the issues with incomplete table_languages_profiles. ##2485 [5630c44](https://github.com/morpheus65535/bazarr/commit/5630c441b04478c38483d7f6c228a36b7cf91408)\n- Added animetosho release info [970b0f9](https://github.com/morpheus65535/bazarr/commit/970b0f9d4769d47e325fb01441abbc14996d7262)\n- Fixed HI subtitles identification when downloading and improved some constants. #2386 [2c4ed03](https://github.com/morpheus65535/bazarr/commit/2c4ed03817c724463701bf313f7fcb7b48039f81)\n- Fixed embedded ASS subtitles writing encoding error [bea2f0b](https://github.com/morpheus65535/bazarr/commit/bea2f0b781ba4b1f5bd7dea2644854a141b3884d)\n- Added timeout to update check API call [ad151ff](https://github.com/morpheus65535/bazarr/commit/ad151ff1393656f71d9c9558d8d86c1d23a1429c)\n- Fixed Animetosho provider error for tv shows [2782551](https://github.com/morpheus65535/bazarr/commit/2782551c9bd5418e6fe0484a4002b4a350869917)\n- Improved whisper provider to not throttle when unsupported audio language is encountered. #2474 [5749971](https://github.com/morpheus65535/bazarr/commit/5749971d67b7fa7932a8c707f50732a22615a37f)\n- Improved cutoff options label. #2466 [86b889d](https://github.com/morpheus65535/bazarr/commit/86b889d3b6a2c36a97f2dbf83a984311b53048ca)\n- Fixed animetosho provider empty subtitle name. #2468 [5e04338](https://github.com/morpheus65535/bazarr/commit/5e0433834e16dfbc1c7184fd2116b2d7a79db631)\n- Fixed SyntaxWarning with Python 3.12. #2462 [fd190aa](https://github.com/morpheus65535/bazarr/commit/fd190aad143a01a83e13dcf03b82bb34ddb8d2fc)\n- Embedded Subtitles provider: handle FileNotFoundError [369b2c7](https://github.com/morpheus65535/bazarr/commit/369b2c73439d15c5e9c43526b239e36329c82329)\n- Fixed Anidb refinement for not anime episodes. #2463 [a2fee0e](https://github.com/morpheus65535/bazarr/commit/a2fee0e1e416bb45574cac9841f96c2e2cfe0303)\n- Added minimal Python 3.12 compatibility. Not yet official support. [6dbe143](https://github.com/morpheus65535/bazarr/commit/6dbe1433644b1bc35a631e2f3758cfe8ddcc3b0b)\n- Additional fix for restart process. #2456 [abc4500](https://github.com/morpheus65535/bazarr/commit/abc4500443830c5b175a51790b0def38b1a719f7)\n- Added additional languages to animetosho provider [7322486](https://github.com/morpheus65535/bazarr/commit/73224866cbeb2e2f30277118b5af0f0d1d9daf8a)\n- Fixed upgrade process to properly upgrade bazarr.py when it's updated. #2456 [a39d874](https://github.com/morpheus65535/bazarr/commit/a39d874d3b44d8c3a4f4f030fd4c2c9ac4c20cf5)\n- Fixed mass editor returning a 413 error with a large series/movies set. [e4bc792](https://github.com/morpheus65535/bazarr/commit/e4bc792ee0fba64a3a20d817bbf2c3e2ba66b737)\n- Fixed Swagger UI broken since last libraries update (1.4.3-beta) [a8c3528](https://github.com/morpheus65535/bazarr/commit/a8c352854fc70717de54823f4ce185990be5b8f7)\n- Fixed subtitle toolbox overlap [af89384](https://github.com/morpheus65535/bazarr/commit/af893847c618a5c531038a825aa2687c972b2117)\n- Updated apprise to version 1.7.6 [7578b8e](https://github.com/morpheus65535/bazarr/commit/7578b8ef146431a74f96129b9bcde2388bb90bbe)\n- Fixed manual upload table long names without spacing. #2448 [b2d807d](https://github.com/morpheus65535/bazarr/commit/b2d807d9d9fb98c7cdf79e5452201589e1bb9198)\n- Added animetosho provider [77ebd03](https://github.com/morpheus65535/bazarr/commit/77ebd036f210ec30529ea5419d7a91ac3c0ece13)\n- Improved best subtitles logging when score is below minimum score. [3c30492](https://github.com/morpheus65535/bazarr/commit/3c30492e71d716dbced8bbdbc7cd004b064a65b4)\n- Upgraded some frontend dependencies [6fc4b41](https://github.com/morpheus65535/bazarr/commit/6fc4b4152691e29e49031e29e2adde97f222c571)\n- Fixed restart loop when TCP port already in use. [3e9cfea](https://github.com/morpheus65535/bazarr/commit/3e9cfea3c5d7bc856d2956ab7d095c90eeca98a8)\n- Fixed improper redirection from login page when base_url isn't empty. [ad16acb](https://github.com/morpheus65535/bazarr/commit/ad16acb88f0d9e4eb0b4d7ba88add7380fe5cd42)\n- Fixed login page getting called even if authentication is disabled. #2441 [4d11b95](https://github.com/morpheus65535/bazarr/commit/4d11b9580cc1d175a93204a3067d2561f3f91f66)\n- Fixed betaseries provider when series doesn't exist. #2431 [b4071f0](https://github.com/morpheus65535/bazarr/commit/b4071f0af6d73976680bbbcb2655259ca000200e)\n- Improved multiple exceptions catching and fixed some other providers issues [ec85f6e](https://github.com/morpheus65535/bazarr/commit/ec85f6e172cc004138d875f1980dd8d06dffa7a2)\n- Fixed overflowing of episode titles in wanted view. #2419 [a9f438b](https://github.com/morpheus65535/bazarr/commit/a9f438b5483bc9cf427d718f12a8acad188c562f)\n- Fixed and improved UI while correcting text [814b1af](https://github.com/morpheus65535/bazarr/commit/814b1af79f03a31946ccecc95b5b399a85fd712a)\n- Updated other React dependencies. [2b92752](https://github.com/morpheus65535/bazarr/commit/2b9275244bd913260c8755342f407a7b0ab95c3e)\n- no log: Bump actions/cache from 3 to 4 [#2428](https://github.com/morpheus65535/bazarr/pull/2428)\n- Updated apprise to latest version to prevent deadlocks issue in 1.7.3. [aedf2d4](https://github.com/morpheus65535/bazarr/commit/aedf2d4d894b1ccbafbf6e418e9753865170edd5)\n- Rolled back cloudscraper to fix captcha v1 solving issue. [213a044](https://github.com/morpheus65535/bazarr/commit/213a04405d6d02e3349387d1cfe8dcd25ed7e64e)\n- Updated fese module to latest version to fix embedded subtitles provider. #2423 [1428edf](https://github.com/morpheus65535/bazarr/commit/1428edfb8bde0abfd3882dfe2e27e3ca872795e8)\n- Added Test Connection button for whisper provider [afa529c](https://github.com/morpheus65535/bazarr/commit/afa529c4b345fdd0331123f106fa76fa726d3032)\n- Fixed unbound local variable if 0 movies in database. #2417 [345b6b3](https://github.com/morpheus65535/bazarr/commit/345b6b37185a4b04534ac53eb5f7294f1937ea3a)\n- Added Weekly Sync option for Radarr and Sonarr [33f82fe](https://github.com/morpheus65535/bazarr/commit/33f82fe44568888b086dbda128f3b230a189a1e7)\n- Updated multiple Python modules (now in libs and custom_libs directories) and React libraries [03afeb3](https://github.com/morpheus65535/bazarr/commit/03afeb347075381bcb7fd6036295c9fa4a90d2dc)\n- Refactored Shutdown, Restart and exit status codes [9ae6842](https://github.com/morpheus65535/bazarr/commit/9ae684240b5bdd40a870d8122f0e380f8d03a187)\n- Allow numeric passwords for all providers. #2416 [c455345](https://github.com/morpheus65535/bazarr/commit/c4553452a5d6548acb842fd9f1912cdea2f37773)\n- Fixed subtitles synchronization process when settings values have changed since Bazarr started [5d87b10](https://github.com/morpheus65535/bazarr/commit/5d87b1047536efb42ee45d53a1ea85a0d536157d)\n- Prettier version? [16a3158](https://github.com/morpheus65535/bazarr/commit/16a3158f5ed4dd3100177a558a81d08ca663c640)\n- Text updates, especially for thresholds [3827ea6](https://github.com/morpheus65535/bazarr/commit/3827ea6ffeae6ad99b0e46dd63e636a9ad4a687d)\n- Added Progressive Web App support [731e44c](https://github.com/morpheus65535/bazarr/commit/731e44cb9a3c6198acc7056210ffe01364e4b036)\n- Include server URL in Yify subtitle page link [b24ee30](https://github.com/morpheus65535/bazarr/commit/b24ee309ed0e781bf6e11435de7b5cf15559e96d)\n- Disabled autoscroll to top for underlying window after manual search. #2285 [f95db43](https://github.com/morpheus65535/bazarr/commit/f95db43a2fc7d485ed5c2216e63884df9ad8ec14)\n- Fixed subtitles sync function to preserve subtitles file extension. #2399 [f71b893](https://github.com/morpheus65535/bazarr/commit/f71b8931e34729e0cca17195b574333c7f32620a)\n- Subdivx Provider: major updates [d9629df](https://github.com/morpheus65535/bazarr/commit/d9629df3afccaaf8ff14550769cc175313fce3c8)\n- Modified upgrade task so it always shows in UI even if it's set to manually in scheduler [6c48806](https://github.com/morpheus65535/bazarr/commit/6c488063e73b401c60c71a5a4b57a045de2bdc36)\n- Reduced debounce value for event notifications [e3354aa](https://github.com/morpheus65535/bazarr/commit/e3354aa7f3419448328558e1844a461318734ff2)\n- Added originalFormat db migration from bool to int only for Postgresql [2eec913](https://github.com/morpheus65535/bazarr/commit/2eec9131f85eba7976539ca7a48f43afdf3512ae)\n- Added log level/filter settings to Logs page [d5466ff](https://github.com/morpheus65535/bazarr/commit/d5466fff2304e863e62fe2dfc62d9e88bdeb4068)\n- Updated fallback language for embeddedsubtitles provider to be able to specify the one to use [ad8f116](https://github.com/morpheus65535/bazarr/commit/ad8f116c78688ab038e834a8ad3a3b4c7bfee0c6)", "date": "2024-06-02T14:20:47Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.4.3/bazarr.zip"}, {"name": "v1.4.2", "body": "From newest to oldest:\n- Fixed subdivx issue with foreign title encoding issue. #2395 [43d313a](https://github.com/morpheus65535/bazarr/commit/43d313a31b058fbdebd4085000268e6dc3a3c03b)\n- Fixed subdivx provider to use alternative titles. #2378 [b96965e](https://github.com/morpheus65535/bazarr/commit/b96965e74030f3c9abb93f4e087cce8ec2fac8fd)\n- Updated titrari provider [2e124d2](https://github.com/morpheus65535/bazarr/commit/2e124d266635cf2ef7ff77c731b20ace328f09c2)\n- Fixed saving of null anti-captcha provider that caused Validator to reset default value. [faa4dfb](https://github.com/morpheus65535/bazarr/commit/faa4dfb77c6e19c2d6e470b3f58fed76a3878a54)\n- Fixed indentation issue in pool update. #2390 [4ca2111](https://github.com/morpheus65535/bazarr/commit/4ca211191d6fe546abc084bbad4b8b5d327e733b)\n- Added support for opensubtitles.com dedicated VIP subdomain that get automatically used according to subscription status. [95474b2](https://github.com/morpheus65535/bazarr/commit/95474b29db452a7dad055af6d89a671ff50ae2d4)\n- Fixed provider pool update on automatic search. #2379 [88c267f](https://github.com/morpheus65535/bazarr/commit/88c267f8480bedd6319db2620a74c13f5fe2595b)\n- Modify portuguese custom language [9058335](https://github.com/morpheus65535/bazarr/commit/90583354bf06532e7ae9881cfdfb52cba75424bf)\n- Revert \"Fixed podnapisi results parsing\" [90e4cf1](https://github.com/morpheus65535/bazarr/commit/90e4cf1c6fa17ea179fa808025b7e23b1e106201)\n- Fixed podnapisi results parsing [27d7f96](https://github.com/morpheus65535/bazarr/commit/27d7f96599b0bf825052a146a0cb5def833f7ce9)\n- Fixed Bazarr not starting when Sonarr or Radarr isn't running. [12f1aa6](https://github.com/morpheus65535/bazarr/commit/12f1aa6acf4faf0b5621743423ce5ff3f1e3edf6)\n- Fixed opensubtitles.com filtering AI translated subtitles even when they are requested by user. #2381 [5402c2a](https://github.com/morpheus65535/bazarr/commit/5402c2aaaf111685ec5b3e2ad7023beccd096f16)", "date": "2024-02-20T00:28:55Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.4.2/bazarr.zip"}, {"name": "v1.4.1", "body": "From newest to oldest:\n- Fixed forced subtitles download loop [4029c9f](https://github.com/morpheus65535/bazarr/commit/4029c9f712b7718eca89c5dd2e4d29c3f5b2762e)\n- Fixed debug logging of opensubtitlescom provider [fb660a0](https://github.com/morpheus65535/bazarr/commit/fb660a0e6ea4d45c9cab0a49008d4e65d31b355c)\n- Fixed movies indexing issue [e6b9b32](https://github.com/morpheus65535/bazarr/commit/e6b9b327f2723f3d2cc24c9ef0acb256e970f2da)\n- Added separate values to whisperai provider for connection and read timeouts [938f6df](https://github.com/morpheus65535/bazarr/commit/938f6df386c0f50568f7a6c04ed4ae58e440af04)\n- Embedded Subtitles Provider: handle KeyError for cached paths [cdf7296](https://github.com/morpheus65535/bazarr/commit/cdf7296dd41fe6fb46d7abe49c684e03680a278c)\n- Add Argenteam Dump Provider [deef13d](https://github.com/morpheus65535/bazarr/commit/deef13d11b9310384d71cb0a4af230a524541359)\n- Fixed unhandled FileNotFoundError during restore process [d758c53](https://github.com/morpheus65535/bazarr/commit/d758c53b412ab8bcd5927beba13ff5a56b266c17)\n- Added Sync Optimization for Movies, Series and Episodes to ignore unmonitored items [990448b](https://github.com/morpheus65535/bazarr/commit/990448b06e6df9f2728d98a9a14df5f2b378b00a)\n- Fixed improper API call on removal of all blacklist items [3922d52](https://github.com/morpheus65535/bazarr/commit/3922d52d5cfa6fd3da2aca2f9f2e5bda61091dd4)\n- Fixed single blacklist item deletion issue that would remove all the blacklisted subtitles from the same provider at once. [c45a2ac](https://github.com/morpheus65535/bazarr/commit/c45a2ac43cad30ab6aa45f7cfd90afba16cdbdd3)\n- Fixed wizdom provider to handle Zip files with more than one (up to two entries). #2351 [345408d](https://github.com/morpheus65535/bazarr/commit/345408d692b6cd6917a0a0db786c1b0af3ed809c)\n- Fixed improper passing of hi and forced flags when searching a subtitles manually. #2350 [e17865a](https://github.com/morpheus65535/bazarr/commit/e17865ad535da06caddb25cfff30961cecae20f1)\n- Fixed titlovi provider not being properly throttled and resulting in account locking. #2062 [828ac34](https://github.com/morpheus65535/bazarr/commit/828ac34074c35778ac47ce7df78c362def60de77)\n- Fixed issue introduced while merging the new sync feature. #2356 [e4ebc64](https://github.com/morpheus65535/bazarr/commit/e4ebc64ca95b4a18b7a1909a5cef517c0715d74d)\n- Removed aRGENTeaM provider that have been recently closed. #2352 [783e6b3](https://github.com/morpheus65535/bazarr/commit/783e6b38ea5be62ebe9c001a9736a19486b269e6)\n- Improved subtitles synchronisation settings and added a manual sync modal [0e648b5](https://github.com/morpheus65535/bazarr/commit/0e648b5588c7d8675238b1ceb2e04a29e23d8fb1)\n- Fixed improper closing of resources on exit [0807bd9](https://github.com/morpheus65535/bazarr/commit/0807bd99b956ee3abf18acc3bec43a87fc8b1530)\n- Added additional variables for custom post processing [0ac9ece](https://github.com/morpheus65535/bazarr/commit/0ac9ecea6e7bae6828441ac3c8eece58f68c88fa)\n- Fixed some Whisper issues and added logging level selector for this specific provider [c0bbd4f](https://github.com/morpheus65535/bazarr/commit/c0bbd4f150c6a0a48cba5c3d028299e0eec1d316)\n- Updated logging to use ISO 8601 date format [549bebc](https://github.com/morpheus65535/bazarr/commit/549bebcc43102efaace1920bef92cc59032e2e7d)\n- Fixed betaseries parsing issue [902d1e6](https://github.com/morpheus65535/bazarr/commit/902d1e62b8251c36a622f96bc40d6ef9f052997e)\n- Fixed podnapisi search results parsing error [b11f810](https://github.com/morpheus65535/bazarr/commit/b11f8100ac81f07727b19e87da26defdbbeb55a0)\n- Added settings to exclude subtitles from specific provider to be synced [#2340](https://github.com/morpheus65535/bazarr/pull/2340)\n- Improved error handling for betaseries provider. [cb71b11](https://github.com/morpheus65535/bazarr/commit/cb71b11fd2332a5175e9cb4d87cd26faf98d1f42)\n- Increased supersubtitles connection timeout and properly deal with invalid JSON returned from their API. [9379d1b](https://github.com/morpheus65535/bazarr/commit/9379d1b7f843e46b16483a0d54a17b4453b21590)\n- Increased podnapisi connection timeout to prevent provider throttling when their servers are slower than usual. [6b304e0](https://github.com/morpheus65535/bazarr/commit/6b304e0ce778a4abfd1ede216cf35875fc76d3d6)\n- Added opensubtitlescom settings to include AI translated subtitles in search results. [5739b9a](https://github.com/morpheus65535/bazarr/commit/5739b9ad08b6c0c7eef14aad21863c8a08a88852)\n- Added filter to prevent useless Session is disconnected warning in logs [9e75acd](https://github.com/morpheus65535/bazarr/commit/9e75acd5493791879a3037a77c89ccddcb3844f4)\n- Added db migration version to create the missing monitored column in TableShows table of some old instances. [7c40bfe](https://github.com/morpheus65535/bazarr/commit/7c40bfec1e390552c6f54c93e7cc5336307ed237)\n- Fixed output encoding for subtitles synchronization. #2323 [72bd52c](https://github.com/morpheus65535/bazarr/commit/72bd52ce79405cc8adca427d2f5887a50273839e)\n- Fixed numeric password issue for authentication. #2326 [f2cd79e](https://github.com/morpheus65535/bazarr/commit/f2cd79ec20692f52b7bdfd7698a52b4aa3c154b4)\n- Fixed function to prevent usage of Python 3.7 [5e68fac](https://github.com/morpheus65535/bazarr/commit/5e68fac4d175f2999b5b05bf7bdd02b76cdf942d)\n- Fixed exception being raised when setting all numeric password to access the web UI [256ceeb](https://github.com/morpheus65535/bazarr/commit/256ceeb598e918cd26867ab583c8748193b31b88)\n- Updated zimuku URL [058a005](https://github.com/morpheus65535/bazarr/commit/058a00594e676cf8f87f910fec9c300c8ef856d0)\n- Silented engine.io exception when client session as expired on server side [a3b32c3](https://github.com/morpheus65535/bazarr/commit/a3b32c3ebfdb8d6c37127bb1af27fcca2f0a46c1)\n- Added support for 7z by upgrading rarfile dependency [4b7cdbc](https://github.com/morpheus65535/bazarr/commit/4b7cdbc5f38c68549e4c2e454f946078db6fb338)\n- Fixed usage of number only username or password for providers, proxy or postgres. #2309 [c97a98d](https://github.com/morpheus65535/bazarr/commit/c97a98d4f2141a34fd798612457f678f10ce0461)\n- Fixed upgrade subtitles tas not removed from scheduler when disabled in settings. #2308 [fd5b087](https://github.com/morpheus65535/bazarr/commit/fd5b087f929b6e00164ad80f7e131c8a4b279653)\n- Updated to apprise v1.6.0 [55c5384](https://github.com/morpheus65535/bazarr/commit/55c5384f9cd3b168167343a8177a07732cf1af94)", "date": "2024-02-04T01:30:02Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.4.1/bazarr.zip"}, {"name": "v1.4.0", "body": "From newest to oldest:\r\n- Dropped support for Python 3.7 because our dependencies doesn't support it anymore.\r\n- Fixed Whisper provider to make it throttle longer after ConnectionError [#2258](https://github.com/morpheus65535/bazarr/pull/2258)\r\n- Fixed an issue that could clear episodes history in case Sonarr API return something else than valid series or episodes. [97bdf00](https://github.com/morpheus65535/bazarr/commit/97bdf0066e76b31c188699d7a94caeaa9b795199)\r\n- Improved providers exceptions throttling to reduce useless calls to providers. [bc0b101](https://github.com/morpheus65535/bazarr/commit/bc0b101fd7f93d424949f88e865085f0822bb5ce)\r\n- Fixed infinite download retry loop in whisperai provider [b25d416](https://github.com/morpheus65535/bazarr/commit/b25d4164c296483958ecc951ff17b901a146a245)\r\n- Fixed `(sqlite3.OperationalError) too many SQL variables issue` while inserting too many episodes at the same time. [a10e5db](https://github.com/morpheus65535/bazarr/commit/a10e5dbf3778d9aa177f978fc85184d95b1446a0)\r\n- Fixed issue with series/movies import using a deleted default languages profile. [f2bb48a](https://github.com/morpheus65535/bazarr/commit/f2bb48ac9a47e738e09fa5386cbf5189f3b51210)\r\n- Modified \"no subtitles found\" notification to be a message instead of an error. [ad65573](https://github.com/morpheus65535/bazarr/commit/ad6557357d3d3a46d5692e707b3df90c4a20d777)\r\n- Fixed improper subtitles being downloaded when HI is required by languages profile. #2293 [0f19d79](https://github.com/morpheus65535/bazarr/commit/0f19d79fa2b4a16806487d92a0bf7628f31d947c)\r\n- Fixed languages profile creation issue. [cb3a274](https://github.com/morpheus65535/bazarr/commit/cb3a274894ca43aea9cee919bcc264197a729c23)\r\n- Prevent overwriting season and episode number guessed from file name with db values unless they haven't been properly guessed. #2284 [b87aef8](https://github.com/morpheus65535/bazarr/commit/b87aef8763d94f384a8142394ee6534b08a5e4b4)\r\n- Hide clipboard button when is not possible to copy to clipboard [452f8c1](https://github.com/morpheus65535/bazarr/commit/452f8c12c9cbacd98eabc1f04750a0282903847f)\r\n- Subdivx provider: improve language matching [6d79e6f](https://github.com/morpheus65535/bazarr/commit/6d79e6f34588283683d67ea9da0bc555274db604)\r\n- Improve mods [b36b378](https://github.com/morpheus65535/bazarr/commit/b36b3782d7eb3e348b1baf2c763fc4f81f5982da)\r\n- Fixed an error in previous commit that would prevent episodes syncing. [6925a97](https://github.com/morpheus65535/bazarr/commit/6925a97f2d45cc1edbd0db5e001ba26162ad04ae)\r\n- Fixed compression type for backup. #2278 [54f9570](https://github.com/morpheus65535/bazarr/commit/54f9570a2298ab923a61e2be2c4fbff49c8c9dfa)\r\n- Fixed other issues with subzero_mods parsing. #2276 [5234565](https://github.com/morpheus65535/bazarr/commit/5234565f847123b03d6a73df2f0ebaad2f598315)\r\n- Fixed issues with SQlite older than 3.35. [fe987ba](https://github.com/morpheus65535/bazarr/commit/fe987babc520020996669cf5ead5e180dda01c96)\r\n- Avoid FileNotFoundError indexing subtitles [#2273](https://github.com/morpheus65535/bazarr/pull/2273)\r\n- Improved compression ratio of backup. [e3cda5c](https://github.com/morpheus65535/bazarr/commit/e3cda5c11e2449b7be1a5b1b81b03db4c49e5075)\r\n- Improved stability by usinf Python f-string as much as possible to prevent TypeError and improve code readability. [2ad7ddf](https://github.com/morpheus65535/bazarr/commit/2ad7ddf5a63e42de028e1fd09fccde1b1b086769)\r\n- Fixed issue while parsing enabled mods during subtitles download [225d79e](https://github.com/morpheus65535/bazarr/commit/225d79e5697892cec34d8112a09cd4e23dd55b77)\r\n- Fixed config.ini conversion by disabling interpolation with ConfigParser that failed with addic7ed cookie. [85c65ec](https://github.com/morpheus65535/bazarr/commit/85c65ecb5a33497d1a152bbf46412afa2838e211)\r\n- Fixed datatype issue when creating a new languages profile with PostgreSQL. [2a8a403](https://github.com/morpheus65535/bazarr/commit/2a8a4030b9e032392f172e73679ba47bdb060b77)\r\n- Changing from config.ini to config.yaml [c89da3e](https://github.com/morpheus65535/bazarr/commit/c89da3e6192a519ccefa6bb7d9f9c9eaa280d373)", "date": "2023-11-28T12:26:18Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.4.0/bazarr.zip"}, {"name": "v1.3.1", "body": "From newest to oldest:\n- HDBits provider: add search filters [d657941](https://github.com/morpheus65535/bazarr/commit/d6579417ba3b3555bff3af446bef8a56e2d7a7c6)\n- EmbeddedSubtitles provider: add blacklist support [bee6919](https://github.com/morpheus65535/bazarr/commit/bee6919979409ccbc6e8174b117d091ec8d2e0c2)\n- HDBits provider: handle JSON errors [0031abc](https://github.com/morpheus65535/bazarr/commit/0031abcea4b7a054e55d96005ec9d0eb76490691)\n- Exposed subtitle file size through API [4e7dedc](https://github.com/morpheus65535/bazarr/commit/4e7dedc43c1ceb936b093338363a8c6ff46505c1)\n- Fixed hosszupuska website parsing issue. #2246 [33af93a](https://github.com/morpheus65535/bazarr/commit/33af93a341b326ca314de31c2d312513b209b307)\n- Improved throttling duration for some common configuration or connection issues. [09295dc](https://github.com/morpheus65535/bazarr/commit/09295dcd10ff3727de2546f9af27fdca66dc7baa)\n- Fixed history logging of downloaded and uploaded subtitles. #2261 [2972c38](https://github.com/morpheus65535/bazarr/commit/2972c3881c525cad183d66e2540459c0f19cad77)\n- Improved synchronization speed for Sonarr and Radarr. #2260 [0f216ab](https://github.com/morpheus65535/bazarr/commit/0f216ab69f5d2b386e101f27e679513942d05e41)\n- Fixed history logging issue for episodes and movies subtitles. [1f187d8](https://github.com/morpheus65535/bazarr/commit/1f187d89ca80e3734bf0831e2f7940bb01235695)\n- EmbeddedSubtitles provider: update subtitles checker [654934b](https://github.com/morpheus65535/bazarr/commit/654934b5e1d9a4637e53c6882b2dfc3213600f54)\n- HDBits provider: improve episode matching [3942264](https://github.com/morpheus65535/bazarr/commit/3942264d0057860e53be8d18e8dfb093352f0dbe)\n- Fixed an additional issue with 85d300f94ef60ef60416786a80db2d89917b8266. #2243 [807621a](https://github.com/morpheus65535/bazarr/commit/807621a612a0734e91b8271278099f7d950d01de)\n- Add HDBits.org provider [63335f4](https://github.com/morpheus65535/bazarr/commit/63335f40fcefd773405c11db8550988662ac88ae)\n- Fixed database migration process causing UNIQUE constraint in some edge cases where duplicate ID root folders where stored. #2253 [166d0cc](https://github.com/morpheus65535/bazarr/commit/166d0ccc95112173acf6f6967b2d13cbb5d662c9)\n- Fixed latest migration that cleared history for sqlite users. [0ddadb2](https://github.com/morpheus65535/bazarr/commit/0ddadb273e8671e183a2d37cd5fc3054b9adbccc)\n- Added error logging when trying to determine malformed audio track languages. #2250 [81159a0](https://github.com/morpheus65535/bazarr/commit/81159a09789aa0251c5a6935ff06ae9e886e7a05)\n- Added logging for opensubtitles.com 400 error. #2232 [e7703ca](https://github.com/morpheus65535/bazarr/commit/e7703ca5a08f6a25590bd9d678f844857c41a108)\n- Fixed Postgres issues while creating new database with v1.3.0. #2249 [e2d0647](https://github.com/morpheus65535/bazarr/commit/e2d0647d550972aa28b6917c3d2faf6f000efe71)\n- Subdivx provider: improve movies matches\n- Update providers exception regex for Windows [e06aad7](https://github.com/morpheus65535/bazarr/commit/e06aad7fc6658d7a04479e66b4efb3ce2626b3da)\n- Fixed some code to prevent arbitrary file read and blind SSRF. [17add7f](https://github.com/morpheus65535/bazarr/commit/17add7fbb3ae1919a40d505470d499d46df9ae6b)\n- Removed sucha provider that doesn't exist anymore. #2242 [aa0af3f](https://github.com/morpheus65535/bazarr/commit/aa0af3f601bad55294ec241009293c60bbb3dce3)", "date": "2023-10-14T12:45:19Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.3.1/bazarr.zip"}, {"name": "v1.3.0", "body": "From newest to oldest:\n- EmbeddedSubtitles provider: improve cache management (Fix #2241)\n- Update providers exception info format [ceb947d](https://github.com/morpheus65535/bazarr/commit/ceb947dac1a582205777c27645ee8382f9cf8313)\n- Fixed IndexError in provider throttling function [b736f26](https://github.com/morpheus65535/bazarr/commit/b736f267b5dc5f6eaffa19021858ccc77278cdaa)\n- Add more info to exceptions [9cf2124](https://github.com/morpheus65535/bazarr/commit/9cf21242ca30ad2d7642de430d3a17d464ae04e1)\n- Added analytics tracking of throttled providers [3694254](https://github.com/morpheus65535/bazarr/commit/3694254c79d29498bda53335fbf45c841ba3400d)\n- Prevent subtitles not having a proper matches attribute from raising a TypeError exception. #2243 [85d300f](https://github.com/morpheus65535/bazarr/commit/85d300f94ef60ef60416786a80db2d89917b8266)\n- Added more feedback to UI on automatic and interactive search issues. [fbe6b76](https://github.com/morpheus65535/bazarr/commit/fbe6b765aec54ad4e728ddf36fc36fa62790f719)\n- Modified default value for adaptive searching (now enabled) and improved description in settings [296d497](https://github.com/morpheus65535/bazarr/commit/296d4976730df91948a184ff1fd7afcd6f685f92)\n- Fixed minimal value for time offset input field [1489926](https://github.com/morpheus65535/bazarr/commit/1489926b6f52e8881e45773486fe2530d5dfeca9)\n- Fixed improper http status code returned that prevented proper cache management on browser side. [77283e4](https://github.com/morpheus65535/bazarr/commit/77283e406371c8049f6bc3c92a4fe2ac02b4db25)\n- Improved responses marshalling to better deal with error messages sent to frontend. [8895dd6](https://github.com/morpheus65535/bazarr/commit/8895dd68a8e155550a5362ffea96966aebce5221)\n- Improve manual search modal. Change cache behavior of manual search api to no cache [714c464](https://github.com/morpheus65535/bazarr/commit/714c46444aacc16e78b7dc5d7184a81d7b8f8aea)\n- Improved UI feedback on multiple search, download and upload issues. #2235 [995ae1b](https://github.com/morpheus65535/bazarr/commit/995ae1b5b8f475f9ce5f15b030ad74ca428b2e91)\n- Fixed opensubtitles.com token from being added to debug log in login response [162dbc0](https://github.com/morpheus65535/bazarr/commit/162dbc0eee6e38511f97aebcc4cfe8ce913d3623)\n- Improved debug logging of login attempts to opensubtitles.com provider. [1bdad91](https://github.com/morpheus65535/bazarr/commit/1bdad9166362daa24baa0971025f0e058d9284fe)\n- Fix some minor issues in the Notification modal [53951a5](https://github.com/morpheus65535/bazarr/commit/53951a5fad1143dd190d79faaca30e06e3c4ced8)\n- Fixed issue while saving notifications settings [42ae3af](https://github.com/morpheus65535/bazarr/commit/42ae3af4a251ee976f89178368baa1a85e2116a0)\n- Added timeout for call to get announcements from Github [6a9f914](https://github.com/morpheus65535/bazarr/commit/6a9f91450c1ac857cacb592f4e5df3ddee9b4915)\n- Improved supersubtitles to detect properly forced subtitles. #2226 [71f17a2](https://github.com/morpheus65535/bazarr/commit/71f17a202440a29fd106d0c314f96772537f9f2b)\n- Fixed bug introduced in v1.2.1 with analytics settings not being taken into account. [5f509cd](https://github.com/morpheus65535/bazarr/commit/5f509cd0a0ac970362953d92c2af376e2adfffc7)\n- Fixed yavka.net subtitles search since they've modified the website. #2225 [cce1be4](https://github.com/morpheus65535/bazarr/commit/cce1be4d0e020ae6eb46bf3802bccaf457e093e7)\n- Fixed Radarr SignalR deleted movie event being dropped for missing metadata in payload. #2219 [073f3a2](https://github.com/morpheus65535/bazarr/commit/073f3a2cfabf7f3300f1b220033af0cc41baaf19)\n- Fixed issue with Python deprecation warning. #2218 [f58d1a9](https://github.com/morpheus65535/bazarr/commit/f58d1a915d8e2227d9f076aeb3b3ea1cf8059cdc)\n- Removed sensitive information from opensubtitles.com debug logging. [7e211f6](https://github.com/morpheus65535/bazarr/commit/7e211f62500019877838e21ead2c5442b501d731)\n- Added upcoming Python 3.7 deprecation announcement. [d284e62](https://github.com/morpheus65535/bazarr/commit/d284e629b7163bab1a4f9fb8f698fe82006c88db)\n- Fixed history views when upgrade subtitles is disabled. #2210 [6000a88](https://github.com/morpheus65535/bazarr/commit/6000a8889d96364eddda87035e83e6c79c65a035)\n- Fixed translation issue for episodes subtitles. #2214 [fa42346](https://github.com/morpheus65535/bazarr/commit/fa423469688e553270670eb604931abe1a6bee70)\n- Fixed removal of rowid column while preventing the lost of history or blacklist data. [e0e5dae](https://github.com/morpheus65535/bazarr/commit/e0e5daea1de2ac8b6cbd0aa53ba284de70d5297c)\n- Fixed download notifications not being sent properly. [164dc95](https://github.com/morpheus65535/bazarr/commit/164dc95f237702a3972813c68f49a5c3ff34d2b8)\n- Fixed missing table during migration of a new database. [26f6fcb](https://github.com/morpheus65535/bazarr/commit/26f6fcb3adf3440d56c686ea87c8ee00a3724435)\n- Fixed table deletion issue with PostgreSQL. [479f11f](https://github.com/morpheus65535/bazarr/commit/479f11fae62834b341e3d78a2fc82bd6c54440af)\n- Fixed issue with unused rowid columns and removed custom score profiles tables as they aren't used anymore. [6bc46fe](https://github.com/morpheus65535/bazarr/commit/6bc46fe4e97a3127b3baab1373bb2111b57f7ec4)\n- Fixed issue with missing migrations directory in release asset. [6f03758](https://github.com/morpheus65535/bazarr/commit/6f03758becabd53d71a9492eb324c245c9956636)\n- Replaced peewee with sqlalchemy as ORM. This is a major change, please report related issues on Discord. [bccded2](https://github.com/morpheus65535/bazarr/commit/bccded275c3cb09dc001d66858f3200c78723935)\n- Improved logging of failed attempt to authenticate to UI. Successful basic authentication attempt cannot be logged right now. [486d2f9](https://github.com/morpheus65535/bazarr/commit/486d2f9481982fef0ff0a30c314f74e9268cc7fd)\n- Embedded subtitles: fix #2195\n- Improved external subtitles file encoding guessing to ignore those who can't be guessed properly. [a7562e0](https://github.com/morpheus65535/bazarr/commit/a7562e06b5849b32d266cb0ee9e297edbbd4ddb4)", "date": "2023-09-16T02:43:54Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.3.0/bazarr.zip"}, {"name": "v1.2.4", "body": "From newest to oldest:\n- Fixed more stuff related to opensubtitles.com [6e7858f](https://github.com/morpheus65535/bazarr/commit/6e7858fc7ce0905ba1f241885c386d70507f6b56)\n- Improved subtitles providers settings to reset Authentication or Configuration error throttling while saving. [faa9566](https://github.com/morpheus65535/bazarr/commit/faa9566431860873aebbac542990b07a6cba47e8)\n- Fixed opensubtitles.com issue with looping over failed login. [333c6b2](https://github.com/morpheus65535/bazarr/commit/333c6b23f54024ddf0055825cb5e0877e4c98b6f)", "date": "2023-07-22T13:48:30Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.2.4/bazarr.zip"}, {"name": "v1.2.3", "body": "From newest to oldest:\n- Moved file encoding to charset-normalizer instead of chardet that is causing too much issues. #2196 [dd9ce4d](https://github.com/morpheus65535/bazarr/commit/dd9ce4d6ea2068385301a371b469a4c029afab0a)\n- Improved opensubtitles.com provider to deal with return codes in some edge cases. #2179 [529b5a1](https://github.com/morpheus65535/bazarr/commit/529b5a13860606a39617e38a4272561de74cd00c)\n- Fixed exception raised when get_episodesFiles_from_sonarr_api() doesn't return proper content. #2188 [cfc8a91](https://github.com/morpheus65535/bazarr/commit/cfc8a914888acc1f45da80a27643378951179c47)\n- Fixed requirements.txt to use only wheels for Pillow since compilation doesn't work on 32bits Python embedded in Windows installer version. [da7879a](https://github.com/morpheus65535/bazarr/commit/da7879a02a9c3e532e057b59c2b73715e7667945)\n- Fixed upgradable subtitles logic being called even if user do not want to upgrade existing subtitles. [dfd8bed](https://github.com/morpheus65535/bazarr/commit/dfd8bedd6a1e4ebf43c35defff156fd9a135d9fb)\n- Added description of \"provider\" to post-processing option [35dfa24](https://github.com/morpheus65535/bazarr/commit/35dfa2483b2c0ad2e67091d59d9351ed284515cf)\n- Fixed monitored status tooltip for series/movie view [59d00f2](https://github.com/morpheus65535/bazarr/commit/59d00f28d00dd2b809f52c74dfba58d5fb8e6869)", "date": "2023-07-11T00:27:34Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.2.3/bazarr.zip"}, {"name": "v1.2.2", "body": "From newest to oldest:\n- Add debugging changes [b17a2a5](https://github.com/morpheus65535/bazarr/commit/b17a2a5f4a5712d00dfb2c8be3c2062072c2aa61)\n- Reverting b6777bc26ea2faafa4d6a8eee8aa791a8736780a [edfbb1a](https://github.com/morpheus65535/bazarr/commit/edfbb1a5ca0edb43eb9e88ae83740c10649a8a9b)\n- Added experimental Python 3.11 support [c92d574](https://github.com/morpheus65535/bazarr/commit/c92d574bf2c406974db3f1d513b37398ac9a0e70)\n- Debugging: update subtitle and language representations [b6777bc](https://github.com/morpheus65535/bazarr/commit/b6777bc26ea2faafa4d6a8eee8aa791a8736780a)\n- Updated pytz module to support latest timezone changes [cd01684](https://github.com/morpheus65535/bazarr/commit/cd016840f9d69f48429ff2d088a4fa00d705d41c)\n- Fix path mapping issues [ab3c171](https://github.com/morpheus65535/bazarr/commit/ab3c1714830e0f0d8b5f003a854402dc27cb1a7d)\n- Subf2m provider: improve episode matching [4921c55](https://github.com/morpheus65535/bazarr/commit/4921c55bf05189f68bdd6279b957eaffd00e7cf0)\n- Fix issues when saving the notification providers [374e4be](https://github.com/morpheus65535/bazarr/commit/374e4bec87c4581c4bb07e7fe528123ffa6998d4)\n- Fixed issue in releases page since we upgraded Mantine. [560a697](https://github.com/morpheus65535/bazarr/commit/560a697beb21e20d815ff1513eca8903097960fc)\n- Removed leftover from legendas.tv provider. [fc01267](https://github.com/morpheus65535/bazarr/commit/fc01267d5bd3f854c4dff8794cfd1502d20a41f2)\n- Fixed issue where subtitles would get upgraded even if not required anymore by shows languages profile. #2174 [d4262e5](https://github.com/morpheus65535/bazarr/commit/d4262e530adcb048e81e167a06bb4e50936c87d7)\n- Subf2m provider: improve queries [304ad16](https://github.com/morpheus65535/bazarr/commit/304ad160e0157ed98d3bc30d5512b23e9ce233e9)\n- Embedded Subtitles provider: Fix #2171\n- Update language equals mechanism [2b0e435](https://github.com/morpheus65535/bazarr/commit/2b0e435f6a6485e833233f9fab9203ef1b02d184)\n- Subf2m provider: add support for IMDB IDs [ee1506e](https://github.com/morpheus65535/bazarr/commit/ee1506ed54b5a610dca7ca47ff6a09f13773c84e)\n- Embedded Subtitles provider: handle ASS errors\n- Subf2m Provider: add user-agent header configuration [e3c4def](https://github.com/morpheus65535/bazarr/commit/e3c4def89acc185bdbb67f8dcb7a12531e209df7)\n- Fixed yavka.net provider. #2169 [a13d69d](https://github.com/morpheus65535/bazarr/commit/a13d69ddb2f41fcba4bd78952db368b9cce6885c)\n- Increase width of the manually search modal [963ce21](https://github.com/morpheus65535/bazarr/commit/963ce21d9b723d50baa72f235afcc0f2a68aecab)\n- Fixed some UI issues caused by React and Mantine upgrade. #2167 [bc40aba](https://github.com/morpheus65535/bazarr/commit/bc40abac50ccc4967c43a54e35cca1a02070e0e2)\n- Fixed server side exception throttling opensubtitles.com when it shouldn't. #2153 [3c57381](https://github.com/morpheus65535/bazarr/commit/3c57381bb4c6f67ab7fead06508da8223794ea70)\n- Fixed Chinese translation issue (zh and zt inverted). #2166 [b9b97e9](https://github.com/morpheus65535/bazarr/commit/b9b97e980e5bd542489cec0c6abe66adba0a6c38)\n- Updated apprise module to improve notification system. #2163 [07f601f](https://github.com/morpheus65535/bazarr/commit/07f601f407ef5b9e6fe0b0db842f3bec8c9916b0)\n- Update all UI dependencies and update React version to 18 [#2127](https://github.com/morpheus65535/bazarr/pull/2127)\n- Downgrade Axios to fix a settings saving issue. [6a9f875](https://github.com/morpheus65535/bazarr/commit/6a9f875cbd588a43864a7772c3ac5ed8596c5404)\n- Added support for Portuguese and Simplified Chinese to opensubtitles.com. #2159 [ead8a38](https://github.com/morpheus65535/bazarr/commit/ead8a3892793351fb504a1ec8fd33fa54301d8f6)\n- Added some exceptions that shouldn't be retried to retry function. #2153 [2346f3e](https://github.com/morpheus65535/bazarr/commit/2346f3ed580ac8c05d3971315f239694201364ed)\n- Language-equals: add compatibility for more providers [4725496](https://github.com/morpheus65535/bazarr/commit/4725496313a53e47cda01a092e6829a282413e0b)\n- Fixed external subtitles indexation with accented characters that resulted in download in loop. #1961 [d90d1cb](https://github.com/morpheus65535/bazarr/commit/d90d1cbfcc57ff07ad2cff136481260dbb1ef7e3)\n- Added feature to treat couples of languages as equal when searching for subtitles [547f8c4](https://github.com/morpheus65535/bazarr/commit/547f8c428df856d97bf9d258e723e39a7609b635)\n- Fixed type in opensubtitles.com provider that could cause AuthenticationError for new users. #2152 [baf7a73](https://github.com/morpheus65535/bazarr/commit/baf7a7300d7d3556642dfab48b37c2a64743afeb)\n- Specify ffmpeg path in case it's not in PATH envvar [#2147](https://github.com/morpheus65535/bazarr/pull/2147)\n- Add support for custom languages in audio tracks [585c70c](https://github.com/morpheus65535/bazarr/commit/585c70c39d8ae1e3b9b82fae8800417eba5f6444)\n- Use literals instead of scripts for custom languages [13f965d](https://github.com/morpheus65535/bazarr/commit/13f965d7255d99a23633ee1f04dc0adfb3b8dd4d)\n- Fixed AI and machine translated subtitles being incorrectly returned by Opensubtitles.com [bdf4ee8](https://github.com/morpheus65535/bazarr/commit/bdf4ee85af7bd9f194da82420f66649e964650a1)\n- Emergency fix for custom languages issue [015beaf](https://github.com/morpheus65535/bazarr/commit/015beaf769f7d10077ad590a6ed0363c4407f129)\n- Add mediainfo support for custom languages [c06dd62](https://github.com/morpheus65535/bazarr/commit/c06dd620b759d6dd37125caf19a22711fc426f37)\n- Implemented gzip compression of http requests made to Bazarr [2b5cd2b](https://github.com/morpheus65535/bazarr/commit/2b5cd2b72e19469b545e4d35e2564d5219a36e7c)\n- Subdivx Provider: improve series matching [5f9418b](https://github.com/morpheus65535/bazarr/commit/5f9418b1f3eae5b1acb5f8c4ecbd835726c6f63f)\n- Fixed yify provider MissingSchema exception on download. #2139 [a6ecbb4](https://github.com/morpheus65535/bazarr/commit/a6ecbb43154d6f57bcab4ea3be17467b487eea3f)\n- Fixed zimuku.org parsing error [0907269](https://github.com/morpheus65535/bazarr/commit/0907269377401b64a52589a54431e4ab75a2587a)\n- SuperSubtitles provider: fix hungarian subtitles downloads [e83f37d](https://github.com/morpheus65535/bazarr/commit/e83f37d42ec3a8141ca6b5ca487d0ab200e59cb5)\n- Fixed SyntaxError under Python 3.7 [09f0a27](https://github.com/morpheus65535/bazarr/commit/09f0a2783377e366a6a75d60ff57775abe244596)", "date": "2023-06-24T22:08:44Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.2.2/bazarr.zip"}, {"name": "v1.2.1", "body": "From newest to oldest:\n- Fixed requirements.txt installation [0f84ffb](https://github.com/morpheus65535/bazarr/commit/0f84ffb9cd464dbbeae5e00885494c97fac4dd4a)\n- Fixed zimuku that now require anti-captcha [e2ba532](https://github.com/morpheus65535/bazarr/commit/e2ba532cee04b6fbf1e536d18666dc4d017f23ee)\n- Fixed upgrade of non-existant subtitles files [ac6dddd](https://github.com/morpheus65535/bazarr/commit/ac6dddd6073708d484fe40928cc65db0a66803a5)\n- Fixed episodes blacklist update in webui [2c313a4](https://github.com/morpheus65535/bazarr/commit/2c313a40a558069c8cf4a3dc6efa80e4bec50f43)\n- Fixed yifysubtitles url [e263927](https://github.com/morpheus65535/bazarr/commit/e263927779365a641a9018016763ebf05c769fdd)\n- Update node package to latest version, fix eslint warning [93e6324](https://github.com/morpheus65535/bazarr/commit/93e63246bff145720fed82ae8b236a6669926b49)\n- Subdivx Provider: handle UnicodeEncodeError for some titles [da542a3](https://github.com/morpheus65535/bazarr/commit/da542a311a5f9a72f36cf25802b38e75e518d7db)\n- Allow defining postgres connection settings via env vars [695734a](https://github.com/morpheus65535/bazarr/commit/695734abe67f56f34a5e99aa98cd558e2b39545b)\n- Added OpenAI Whisper Provider [8b1db07](https://github.com/morpheus65535/bazarr/commit/8b1db07e9f984f66df669d7b5a31868c9ef48530)\n- SuperSubtitles provider: fix episode matching [1427a8a](https://github.com/morpheus65535/bazarr/commit/1427a8ab733685f0813e5c07b38dca6bf92453dd)\n- Fixed opensubtitles.com provider year matching process. [ef67cd4](https://github.com/morpheus65535/bazarr/commit/ef67cd4792b365521a2d9e38f5d998d6556f2c08)\n- Added announcements for deprecated Sonarr and Radarr versions end of support. [17e62f2](https://github.com/morpheus65535/bazarr/commit/17e62f2d29411e5c5c635229da8f15b97a46af78)\n- Disabling mediainfo path temporarily until issue with knowit is fixed. #2098 [3a10df7](https://github.com/morpheus65535/bazarr/commit/3a10df7724750e5221ba608b875ff16bd0a254d5)\n- Trying to fix Segmentation fault caused by mediainfo in docker container. #2098 [7455496](https://github.com/morpheus65535/bazarr/commit/7455496c4c42518df5f20646d50a93ca66c1a912)\n- Added an option to prevent sleeping hard drives from being wake-up by video file hashing. [7136383](https://github.com/morpheus65535/bazarr/commit/71363830985a34f5f45a32972477e0ac83dce519)\n- Fixed error when manual search return an invalid subtitles. #2102 [9fb793a](https://github.com/morpheus65535/bazarr/commit/9fb793a4882bbf66c09014df6c09fe4770f36c71)\n- Fixed HI subtitles wrongly ignored when normal or HI is selected in languages profile. [9bd2ab5](https://github.com/morpheus65535/bazarr/commit/9bd2ab514e273426a0918a2c64165f0bcf9f7be3)\n- Replaced deprecated Google Universal Analytics by GA4 [abc48b4](https://github.com/morpheus65535/bazarr/commit/abc48b4ed0fc9ba8daca16d0076c13b9d6be1475)\n- Titrari Provider: update search path [5250785](https://github.com/morpheus65535/bazarr/commit/52507854e8334f7d4ab64212660fda00817f5e2e)\n- Fixed fcache issue when moving cache file between disks. [37059e7](https://github.com/morpheus65535/bazarr/commit/37059e7fbdeb47324d277c31adfd7d1e37b1ef1f)\n- Fixed opensubtitles.com provider to prevent downloading of AI or machine translated subtitles. [7720d00](https://github.com/morpheus65535/bazarr/commit/7720d000de00545ffb0d0c53ec70212545ab886a)\n- Fixed permissions issue with cache file. #2084 [fb6ac47](https://github.com/morpheus65535/bazarr/commit/fb6ac47bea64c5715672e4f11be8ffc1e02e32bf)\n- Supersubtitles provider: fix #2092\n- Subf2m Provider: improve episode matching (#2081) [ad13f79](https://github.com/morpheus65535/bazarr/commit/ad13f79d193d479b0c674a05330b97befc8445c7)", "date": "2023-05-02T00:36:35Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.2.1/bazarr.zip"}, {"name": "v1.2.0", "body": "From newest to oldest:\r\n- Improved Gestdown provider to get better matches using tvdb id [248e49d](https://github.com/morpheus65535/bazarr/commit/248e49de76c4a94e9dc6db9166521b8527f476bc)\r\n- Fixed subtitles file naming when using hearing-impaired removal mods. [e4bf041](https://github.com/morpheus65535/bazarr/commit/e4bf041ecb4921c8829ab60b8de13fde982cd20e)\r\n- Improved languages profile edit modal to clarify subtitles types. [ef46ab9](https://github.com/morpheus65535/bazarr/commit/ef46ab9261797f2fb6f37e08ac4186d8c8bb0901)\r\n- Fix postgresql reconnection #2071 [2e8203f](https://github.com/morpheus65535/bazarr/commit/2e8203f0d4f9830a3608db28e6f61f8d9d87715e)\r\n- Fixed history logging of manually uploaded subtitles. #2072 [2acf245](https://github.com/morpheus65535/bazarr/commit/2acf2451b44e0dd407e299170ed37117b0eeff7b)\r\n- Fixed some issues after subtitles upgrade refactor. [0196139](https://github.com/morpheus65535/bazarr/commit/019613958e5736a5adfdfc2527ebc753805e6c9c)\r\n- Added option to deeply analyze audio tracks from media files or not to determine languages. Default is to use Sonarr/Radarr provided languages instead. Should prevent API limit ban for cloud user. [5dc4e78](https://github.com/morpheus65535/bazarr/commit/5dc4e782ae31ed36aaf4d27d9a46af3e494c7491)\r\n- Refactored subtitles upgrade [5b28309](https://github.com/morpheus65535/bazarr/commit/5b283098f9ec0804706225cc0b1266515e034be7)\r\n- Fixed zimuku 403 error caused by search url change [7206624](https://github.com/morpheus65535/bazarr/commit/72066245e0a5b6a27d93cc46245403e309ee4b35)\r\n- Fixed uppercase detection mod with multiline HI [68a0d78](https://github.com/morpheus65535/bazarr/commit/68a0d787256f73982da0bc34020d102a9d69ed0f)\r\n- Added Announcements section in System to be able to inform users of Bazarr's news. [58262bc](https://github.com/morpheus65535/bazarr/commit/58262bc299d7e0f8742379d7018e06bf86a5b9b7)\r\n- Fixed UI freeze on certain notification events [339883c](https://github.com/morpheus65535/bazarr/commit/339883cff64c0d95378599b99337068245968a1a)\r\n- Fixed Upgrade previously downloaded subtitles (#2059) [6578710](https://github.com/morpheus65535/bazarr/commit/6578710c8d8d384cfffcb42fdd008da0c5571250)\r\n- Fixed upgradable icon in history now show properly [5c01c3c](https://github.com/morpheus65535/bazarr/commit/5c01c3c2e216153e4dbc1b3ec157f1ccdbaa5b2d)\r\n- Added postgres specific requirements. #2063 [d721be3](https://github.com/morpheus65535/bazarr/commit/d721be3185fb7581a6b3ee68d01977a21865ef12)\r\n- Supersubtitles provider: update matcher and downloader [62b5bd8](https://github.com/morpheus65535/bazarr/commit/62b5bd84b909e8e784cded76899ec653bbc3c071)\r\n- Improve providers utils [f6c0146](https://github.com/morpheus65535/bazarr/commit/f6c01464020f70e2736f8a2d9ad185515e3d87db)\r\n- Fixed chmod not working after custom post-processing. [8ac3b0c](https://github.com/morpheus65535/bazarr/commit/8ac3b0c9b56def6153e3144bec7be0f0abf56f8a)\r\n- Add Unit Tests to UI [#2015](https://github.com/morpheus65535/bazarr/pull/2015)\r\n- Bring back clear action to the mass editor [839ce38](https://github.com/morpheus65535/bazarr/commit/839ce384c64caa9767125661b4a51364965a907b)\r\n- Improved audio track language detection by using our video parser instead of values provided by Sonarr/Radarr. We also added \"treat as\" concept for undefined languages audio and embedded subtitles tracks. #2050 [3310f6a](https://github.com/morpheus65535/bazarr/commit/3310f6aeb88fcc9a70f9e5d6f673873ff2f1af85)\r\n- Fixed podnapisi provider on host with OpenSSL 3 [7f05f93](https://github.com/morpheus65535/bazarr/commit/7f05f932ffb84ba8b9e5630b2adc34dbd77e2b4a)\r\n- Increased minimum subtitles search and upgrade frequencies to 6 hours instead of 3 to reduce the impact on providers' website. [d39f41d](https://github.com/morpheus65535/bazarr/commit/d39f41d7e275e7426049aac69387e39b2ad64edb)\r\n- Try to fix the unresponsive issue when notifications are showed [c7b4292](https://github.com/morpheus65535/bazarr/commit/c7b4292100b9875879a6304c7e8e463cd39fd3f0)\r\n- Add Subscene Cloudscraper Provider [Experimental] [3a0085a](https://github.com/morpheus65535/bazarr/commit/3a0085a155ad81784b6132ec1b8048b4d626bf95)\r\n- Subf2m Provider: add optional config for SSL verification [47aff78](https://github.com/morpheus65535/bazarr/commit/47aff78ab0acb8e1c4ebabed455e1a956392da04)\r\n- Fix for get movies/series response serializer [11fff72](https://github.com/morpheus65535/bazarr/commit/11fff727b2699648d29bbe6b438c67ac399bf301)\r\n- Improved impact on opensubtitles.com provider by simplifying queries to improve cache usage. [f057a77](https://github.com/morpheus65535/bazarr/commit/f057a778203e9729b6a02ff137388de361c0406b)\r\n- Fix for #2051 [738e10e](https://github.com/morpheus65535/bazarr/commit/738e10e075d8b6afce7836d3b7d5d38968693444)\r\n- Added PostgreSQL as optional database engine [d5911e7](https://github.com/morpheus65535/bazarr/commit/d5911e78b5f141fe3badd40dd185c148c5f8034a)\r\n- Fix display for notification task in progress [9f2ba67](https://github.com/morpheus65535/bazarr/commit/9f2ba673de0693cb8737bdee7929a22f31f8b987)\r\n- Added configurable request timeout to Sonarr and Radarr [f5d7b4d](https://github.com/morpheus65535/bazarr/commit/f5d7b4d3218a7e88f5267d3c58f16fe271afce0e)\r\n- Fixed improper profile ID value preventing listing of series and movies. #2043 [cf4571b](https://github.com/morpheus65535/bazarr/commit/cf4571ba8604fbdda84d1f775b9c6888e06018a2)\r\n- Fixed unwanted injection of variables on API endpoints. [b0f7437](https://github.com/morpheus65535/bazarr/commit/b0f743767bf907df56c4a5310ab0938bc73f8722)\r\n- Embedded Subtitles provider: update filters [be75d78](https://github.com/morpheus65535/bazarr/commit/be75d78b939ca8b798c50d9c95b5d8b98ada984d)\r\n- Fixed high CPU usage when improper timezone defined (will use UTC instead). #1914 [2babae1](https://github.com/morpheus65535/bazarr/commit/2babae1937917567afe1ac7693768a81c6b1354a)\r\n- Fixed analysis of corrupted video file that may wrongly throttle providers. #2034 [92be39b](https://github.com/morpheus65535/bazarr/commit/92be39bebac885ff695030756c8e52389569c951)\r\n- Fixed post-processing output logging not returning anything if stdout is an empty string while stderr return the actual error. [fadda0a](https://github.com/morpheus65535/bazarr/commit/fadda0ac4087b3c31ae8524b14249cdda24d7680)\r\n- Fix task progress notification [d2bd0c7](https://github.com/morpheus65535/bazarr/commit/d2bd0c7c7e559bf9742ed2ebb4944e3913970caa)\r\n- Fixed RegieLive provider to use the official API [237e85b](https://github.com/morpheus65535/bazarr/commit/237e85bd3454ce061f2632ba066c5f3ed2e5c31e)\r\n- Updated regielive provider to use built in search and scraper API [9105c53](https://github.com/morpheus65535/bazarr/commit/9105c53d6a9ebd309710ee47651b5a422da1886f)\r\n- Fixed yifysubtitles provider. #2029 [e57a99d](https://github.com/morpheus65535/bazarr/commit/e57a99d39eb6f6095568a11642f80b42c4512095)", "date": "2023-03-03T02:12:17Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.2.0/bazarr.zip"}, {"name": "v1.1.4", "body": "From newest to oldest:\n- Removed Enzyme for embedded subtitles indexing and fixed mediainfo integration issues. #2007 [5d36b80](https://github.com/morpheus65535/bazarr/commit/5d36b80c0753cff951d3198a197cf709f43efca2)\n- Fixed mediainfo integration issues. #2007 [0970f19](https://github.com/morpheus65535/bazarr/commit/0970f19d96443401b92099ceaa1e8b654258b077)\n- Added mediainfo as potential embedded subtitles parser. #2007 [c4b8345](https://github.com/morpheus65535/bazarr/commit/c4b8345e659e38992456e31a4c21bbf0a7d38545)\n- Subtitrarinoi provider: add several improvements [1233026](https://github.com/morpheus65535/bazarr/commit/1233026adc896055d73576e23e826cb6b8e3c5b2)\n- Updated regielive provider to use a search proxy [82c9e14](https://github.com/morpheus65535/bazarr/commit/82c9e1434108f5c030da08a09375d4ba3ed8d50b)\n- Fixed wizdom provider urls [577a0d6](https://github.com/morpheus65535/bazarr/commit/577a0d65428f950b0074307e21145258120f5769)\n- Embedded Subtitles provider: improve streams parsing [7640a6d](https://github.com/morpheus65535/bazarr/commit/7640a6d5a420db2c74648208be62513d1b788da0)\n- Fixed issues with new database creation since e6d089381285ab3e945971dad7899e17062062a6 [6693b98](https://github.com/morpheus65535/bazarr/commit/6693b988115450e7823d1735cb2eb431ab72db39)\n- Improve titulky session expiration handling [#2014](https://github.com/morpheus65535/bazarr/pull/2014)\n- Fixed Plex webhook trying to search for subtitles for pre-roll video. #2013 [2622a08](https://github.com/morpheus65535/bazarr/commit/2622a0896eec60ed0647175cdc42be5a971aeab0)\n- Removed Legendastv provider since the website as been shutdown. #2012 [383d906](https://github.com/morpheus65535/bazarr/commit/383d906749656491aedf333fda6fa8f50983c2bd)\n- Added routine to remove deprecated providers from enabled providers in config.ini [e6d0893](https://github.com/morpheus65535/bazarr/commit/e6d089381285ab3e945971dad7899e17062062a6)\n- Added logging to legendasdivx provider when lxml isn't installed properly. #2009 [993168e](https://github.com/morpheus65535/bazarr/commit/993168e901e47b5932bd0abfc784909ac14a3199)\n- Fix Notification settings not saving after removing Discord #2005 [06f0fe9](https://github.com/morpheus65535/bazarr/commit/06f0fe9972c2e6d06a54d2acee94e5f03521811e)\n- Updated opensubtitles.com to give more information to the download limit reached exception. [979301d](https://github.com/morpheus65535/bazarr/commit/979301dee01241028ca1c5e9e30f7cf6fb6cf451)\n- Fixed improper page_size value that prevent series and movies page from loading. #1995 [cc42e7b](https://github.com/morpheus65535/bazarr/commit/cc42e7bc5c8011a544bb5968b67b56347d0cb224)\n- Fixed some edge case where no media could be found in db with a specific path. #2003 [e6cab17](https://github.com/morpheus65535/bazarr/commit/e6cab17a2942360cac30784775db2f4fd16afaa6)", "date": "2022-12-31T16:36:31Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.1.4/bazarr.zip"}, {"name": "v1.1.3", "body": "From newest to oldest:\n- Fixed decimal value of framerate change tools from being rounded to unit. #1999 [920e799](https://github.com/morpheus65535/bazarr/commit/920e799468fd96d7a09c2ff2b0ef60c0be175553)\n- Removed call to deprecated language profile endpoint in Sonarr v4. #1998 [ea5bf9a](https://github.com/morpheus65535/bazarr/commit/ea5bf9ad072c73874fcf39fef45f6fc718a4e616)\n- Refactor settings submit hooks, try to fix issue #1924 [30f04fe](https://github.com/morpheus65535/bazarr/commit/30f04feae68e190a09ec00a35b84d42576086945)\n- Fixed issue while guessing episode number from subtitles filename in some edge case. #1994 [65c6a67](https://github.com/morpheus65535/bazarr/commit/65c6a67963b32d03fb41ddd6a34b4fa56668a503)\n- Embedded Provider: improve streams filtering [8c3a844](https://github.com/morpheus65535/bazarr/commit/8c3a844071e67db9d7d83f262527b01e804f91d2)\n- Fixed issue when explicitly requested HI subtitles from opensubtitles.com, subtitrarinoi or titrari. [29a4842](https://github.com/morpheus65535/bazarr/commit/29a4842e2d6f1623600f439d992a3194053c3b9f)\n- Fixed log an backup download from UI after flask upgrade. [8c944c4](https://github.com/morpheus65535/bazarr/commit/8c944c4cf2b8f2454d77983ab88c25f96d5eeec0)\n- Fix #1987\n- Move pageSize in UI settings to backend [9165663](https://github.com/morpheus65535/bazarr/commit/9165663cbab245ab06adb843fef35e88dd2a3bd0)\n- Fixed bad subtitles extension exception when uploading subtitles with uppercase extension. #1988 [551f57b](https://github.com/morpheus65535/bazarr/commit/551f57bc0ece32748c73b582ae3a54581f3e15db)\n- Fixed issue while downloading movie subtitles. [05cffa9](https://github.com/morpheus65535/bazarr/commit/05cffa94104c29b22ecbd58ee93f36a44c41c5b2)\n- Add 'other' attribute to Video class [923bcb4](https://github.com/morpheus65535/bazarr/commit/923bcb438298beef7cf4e620e6611a07c51ebcbc)\n- Fixed some remaining issues with assrt. #1953 [118eb09](https://github.com/morpheus65535/bazarr/commit/118eb09db03f54cd371983653530d2c2c26da83e)\n- Fixed infinite loop while trying to connect to Sonarr with SignalR permission issue. [0e8ac06](https://github.com/morpheus65535/bazarr/commit/0e8ac06e59d2181e9462eb975ed854279dad7f93)\n- Fixed issue with cutoff not enforced when searching for multiple languages at the same time. [2e2626c](https://github.com/morpheus65535/bazarr/commit/2e2626ce43dd2e364fa6b54498714c81aca20e3f)\n- Refactor Argenteam Provider [52760d8](https://github.com/morpheus65535/bazarr/commit/52760d8bc738e24b63b9b50db5f703d144e10139)\n- Fixed issue with Sonarr v3 SignalR for good. #1985 [4343b7c](https://github.com/morpheus65535/bazarr/commit/4343b7c40245df02edc0a72b1e693c470693d41e)\n- Revert \"Fixed Sonarr v3 SignalR feed not connecting when mono is used to run Sonarr. #1985\" [c563262](https://github.com/morpheus65535/bazarr/commit/c563262fa851348c934b93a4ea872f23e35bb099)\n- Fixed Sonarr v3 SignalR feed not connecting when mono is used to run Sonarr. #1985 [a26b86c](https://github.com/morpheus65535/bazarr/commit/a26b86cb953fb75859fe567e641f27253fe5a3a2)\n- Added live(SignalR) feeds status for Sonarr and Radarr. [b8b916d](https://github.com/morpheus65535/bazarr/commit/b8b916dc30156c66e4514477a5df59450dfa8b84)\n- Add support of string value for badge in navbar [726afcc](https://github.com/morpheus65535/bazarr/commit/726afcc7f81bd931e1c4b91157aceceb9df72300)\n- Subf2m Provider: improve series title matches [d6883c2](https://github.com/morpheus65535/bazarr/commit/d6883c2c7323641035537ba7b306808524e721db)\n- Update database refiner [1ba9404](https://github.com/morpheus65535/bazarr/commit/1ba94041299ecdd054e19c1ee4178dde115af076)\n- Updated vendored dependencies. [bbe2483](https://github.com/morpheus65535/bazarr/commit/bbe2483e21c2c1549ceeed16f021f9581b899f70)\n- Add support for configurable scores (movies and episodes) [708fbfc](https://github.com/morpheus65535/bazarr/commit/708fbfcd8ec0620647975be39a1f6acbbf08f767)\n- Fixed improper update of providers pool when forced subtitles are involved. #1977 [0b8274e](https://github.com/morpheus65535/bazarr/commit/0b8274ec3e12521f3bd99ccc00e90aca31713ca9)\n- Gestdown Provider: Use ShowId to find subtitles. Fixes issue with Slash in show name. [#1979](https://github.com/morpheus65535/bazarr/pull/1979)\n- Improved assrt provider error message logging. #1953 [78f769d](https://github.com/morpheus65535/bazarr/commit/78f769d743f6d5413d3a3c0c1c09570d8ee9cb2b)\n- Update node packages, fix issues [aee1849](https://github.com/morpheus65535/bazarr/commit/aee1849ce3653320aef139500e84fe6643cbbcbc)\n- Subf2m Provider: add support for complete series packs [122398f](https://github.com/morpheus65535/bazarr/commit/122398fdc869c1c9bb3aa092f6997db85da26925)\n- Improve file picker for season packs [876b42b](https://github.com/morpheus65535/bazarr/commit/876b42bb8f8db9e16364d597162e987481978e36)\n- Improved napiprojekt to search for subtitles using video metadata. [bf26dd2](https://github.com/morpheus65535/bazarr/commit/bf26dd231adc2e9c1887ebfb17a59b5d86d043ff)\n- Add new hook useSubmitHookWith to dynamically inject the submit hooks #1924 [1766cee](https://github.com/morpheus65535/bazarr/commit/1766ceeabc103cfe33983bf1b243ddb4f4649476)\n- Try to fix languages profiles editor by introducing a new submit hooks source in the settings page #1924 [c08ba5f](https://github.com/morpheus65535/bazarr/commit/c08ba5f7937fcd86533a91ddc1a0675d7fc623fb)\n- Fixed blacklist item removal issue. [49fc597](https://github.com/morpheus65535/bazarr/commit/49fc597efb208f4ed6ca270bcb1696358fc45818)\n- Subf2m provider improvements [#1973](https://github.com/morpheus65535/bazarr/pull/1973)\n- Subdivx Provider: add more search improvements [21359b3](https://github.com/morpheus65535/bazarr/commit/21359b32b551ac13ecedc07b83f8c90bf080ec53)\n- Subdivx Provider: improve series matches [2f8814d](https://github.com/morpheus65535/bazarr/commit/2f8814dcf801552ceb4be5c5a98c93a22799695c)\n- Subdivx Provider: improve episode queries [71fe2b7](https://github.com/morpheus65535/bazarr/commit/71fe2b7a1ddc832ac903bdfcdc8c4e80e84e32db)\n- Fixed history statistic view not taking timezone into account. [d7c8188](https://github.com/morpheus65535/bazarr/commit/d7c8188f946ac671fa95124df89dca01bc31ed62)\n- Fixed another issue with assrt. #1953 [0374790](https://github.com/morpheus65535/bazarr/commit/0374790ed2c1f52b2cf95b0eb6a32d940a72d1e9)", "date": "2022-12-05T02:32:58Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.1.3/bazarr.zip"}, {"name": "v1.1.2", "body": "From newest to oldest:\n- Fixed another issue with assrt. #1953 [7ea452c](https://github.com/morpheus65535/bazarr/commit/7ea452c467ef9cf721b591b6b4a1b8e44d67f3e9)\n- Update subzero mods [daeb28b](https://github.com/morpheus65535/bazarr/commit/daeb28baeff206bf72a5cf68e3a3a493f99d5c9e)\n- Fix chip input issue [1a612d1](https://github.com/morpheus65535/bazarr/commit/1a612d12b802313220f95a65e66cfe8f702bcd6f)\n- Fix display issue in the search bar [559ec50](https://github.com/morpheus65535/bazarr/commit/559ec50c92c1a357a3d1794202a268d953dc75e4)\n- Upgraded Apprise to 1.1.0 version. [04b0959](https://github.com/morpheus65535/bazarr/commit/04b095995c221e3ffd7db95763c11a137c70d57f)\n- Fixed maximum number of requests per minute for assrt provider. #1953 [167cb5d](https://github.com/morpheus65535/bazarr/commit/167cb5dd983025e9935abc00d59d291b8ef571f4)\n- Fix titulky's subtitle downloading logic [a82ab67](https://github.com/morpheus65535/bazarr/commit/a82ab6769d9f508151c1cc438a6ab637d65bd7e8)\n- Embedded Subtitles provider: avoid KeyError [003e033](https://github.com/morpheus65535/bazarr/commit/003e033c937c111cb57684df897cdc9e917c815c)\n- Added support for series monitored status. #1964 [af70cf1](https://github.com/morpheus65535/bazarr/commit/af70cf1fc9c908494d3d2e5877d9dbfa0cd7a223)\n- Fixed use original format when uploading subtitles. #1955 [65c0e6b](https://github.com/morpheus65535/bazarr/commit/65c0e6b82393943797e36d94b2d1ce109cd46629)\n- Fix provider pool updates [571ffbc](https://github.com/morpheus65535/bazarr/commit/571ffbccf8544224bc63c9e51688be6310fb05e3)\n- Gestdown: Check for show before checking for subtitle [#1962](https://github.com/morpheus65535/bazarr/pull/1962)\n- Fixed subtitulamos.tv improper matching. #1960 [8348b6c](https://github.com/morpheus65535/bazarr/commit/8348b6c0dcbd7bf9fd5c3011522f71b9a0f6dd5e)\n- Fixed assrt provider to prevent making too many queries to the API. #1953 [0980af1](https://github.com/morpheus65535/bazarr/commit/0980af10608081cba784854ee0ea4e88ad816f20)\n- Subdivx Provider: improve spanish detection [c791f39](https://github.com/morpheus65535/bazarr/commit/c791f39e53b28f6b2e1053098bc39923ae1f7dbf)\n- Fix popover width in the manual search modal [e8d3b6f](https://github.com/morpheus65535/bazarr/commit/e8d3b6f0dd417e504ee80f3729634080f67d8d11)\n- Use new endpoint for gestdown [#1949](https://github.com/morpheus65535/bazarr/pull/1949)\n- Fix display issue of the popover in the manual search modal [56fb27a](https://github.com/morpheus65535/bazarr/commit/56fb27aab47f1551914390f319ca74c81b728e84)\n- Refactor form validation and fix issues [bb8e4f3](https://github.com/morpheus65535/bazarr/commit/bb8e4f31ee89291081dea646c918f02d595cfb66)\n- Fixed episodes subtitles search when notified of import by Sonarr v3 SignalR feed. #1946 [c492de8](https://github.com/morpheus65535/bazarr/commit/c492de8b670e11c7c5a33e57dd10dca04093c18e)\n- Added update mechanism sooner in the startup process to recover from a failed update more easily once a fixed release is available. [d3defa2](https://github.com/morpheus65535/bazarr/commit/d3defa2e09e93ef4340f740f9acfa327914b5c42)\n- Fix validation issues of the language profile editor [4826cb8](https://github.com/morpheus65535/bazarr/commit/4826cb84875a3aadeaae1e01eac0baef3dc16fad)\n- Fixed import error after last commit. [a338de1](https://github.com/morpheus65535/bazarr/commit/a338de147e8a4d74ca266b1306997fcfc90b8941)\n- Added Swagger documentation for Bazarr API [131b4e5](https://github.com/morpheus65535/bazarr/commit/131b4e5cde4034f78923d7eaebd49b3550f8aa13)\n- Upgrade Mantine to Version 5 [#1930](https://github.com/morpheus65535/bazarr/pull/1930)\n- Upgrade outdated packages [cce440a](https://github.com/morpheus65535/bazarr/commit/cce440a8e2b67123f0109d20fbedd5320a9603de)\n- Embedded Subtitles provider: add support for alpha2 tags [803dfe3](https://github.com/morpheus65535/bazarr/commit/803dfe351201ae602d9f3e96cfb01d79604296fc)\n- Fixed opensubtitles.com authentication issue. #1935 [663e8d7](https://github.com/morpheus65535/bazarr/commit/663e8d73958cc26233a649ea1cea7c3a53c5bd2c)\n- Added warnings in Settings-->Providers for broken providers. [61f888c](https://github.com/morpheus65535/bazarr/commit/61f888c3dfa732c2f511de60732d46bff80bf511)\n- Fixed incorrect IP or already used TCP port from preventing Bazarr initialization. [7a2d239](https://github.com/morpheus65535/bazarr/commit/7a2d2399fc21ae2f67185e698a9bc0bf1d8fe60d)\n- Fix to deal with empty series/movies list during sync. #1941 [fa8ddeb](https://github.com/morpheus65535/bazarr/commit/fa8ddeb2aa41942e69f31c0b62869ef9a314f860)\n- Fix #1938\n- Embedded Subtitles provider: improve ASS subtitles filtering [6e52114](https://github.com/morpheus65535/bazarr/commit/6e521143e1de1f720dd9cf908aa7c907696187f0)\n- Ignore mods for non-tested subtitle formats [0bc0523](https://github.com/morpheus65535/bazarr/commit/0bc05232ed69be8dd727ce70e24e68e9d7362367)\n- Fixed improper parsing of series metadata when receiving an event from Sonarr SignalR feed. [9361243](https://github.com/morpheus65535/bazarr/commit/93612434e59a99f858a33667fae8835bb3473c53)\n- Improved exceptions logging for events received through SignalR feeds. [a880386](https://github.com/morpheus65535/bazarr/commit/a880386184c7b92dc7284487135c611482ca649e)", "date": "2022-10-15T12:44:34Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.1.2/bazarr.zip"}, {"name": "v1.1.1", "body": "From newest to oldest:\n- Avoid error trying to scan some videos [09d1eb7](https://github.com/morpheus65535/bazarr/commit/09d1eb78c95d2a1bee85f8e17cd9877149e26afb)\n- Improved the fix uppercase mod to better deal with non-alphabetical characters [2608278](https://github.com/morpheus65535/bazarr/commit/26082780d579bd1ffdca0e8c4bef393966db982c)\n- Improve authentication and fix #1901\n- Fix #1917, bring back sceneName in manual search modal\n- Improved API to return better message/code on errors [c2c0cbd](https://github.com/morpheus65535/bazarr/commit/c2c0cbda0b85b541e96b95ae828525c75c41ec4d)\n- Add support of showing confirmation when leaving settings page with unsaved changes [8eef455](https://github.com/morpheus65535/bazarr/commit/8eef455cc59193be0266612c42a66e5b413b3c38)\n- Added support for CORS headers [0d39928](https://github.com/morpheus65535/bazarr/commit/0d39928a7b7b82d933d74c2593b04326b21774f9)\n- Added download link for backup archives. [a36b3ce](https://github.com/morpheus65535/bazarr/commit/a36b3ce2ba9f8e9810fcfa6b0720c5e4baf5f818)\n- Improved live synchronization with Sonarr and Radarr trough SignalR feed by implementing dedicated threaded events queues, by preventing execution of duplicate events received, by filtering events to be processed and by logging at debug level events received to improve debugging. [180a40e](https://github.com/morpheus65535/bazarr/commit/180a40e027a8a5e4e77d3ce4c17ffe37a9f3050f)\n- Fixed None type issue on the first subtitles indexation for episodes or movies. [c6efda0](https://github.com/morpheus65535/bazarr/commit/c6efda0f75e338c72c76a26d33920267cc15a293)\n- Update outdated node packages [bfd1af7](https://github.com/morpheus65535/bazarr/commit/bfd1af7c0cf0211abc49532bba22870856461d9d)\n- Fixed compatibility with the latest nightly version of Sonarr v4. [0fb9286](https://github.com/morpheus65535/bazarr/commit/0fb928675c2f020ecf34faecb12603a4e669eaae)\n- Avoid 'Insufficient data to process the guess' error (fix #1910)\n- Fix issue in external subtitles cache. #1916 [bc0a7c2](https://github.com/morpheus65535/bazarr/commit/bc0a7c2e0fa2f032a299151bdea76b97cfeae6ef)\n- Tried to improve full disk daily indexing tasks resources usage. #1916 [c74f9e9](https://github.com/morpheus65535/bazarr/commit/c74f9e9602ed3c426e4e01ffc4acef44a127168b)\n- Fixed integer conversion issue. #1918 [b0abe81](https://github.com/morpheus65535/bazarr/commit/b0abe81d1277bb14f877909541d56b033874f8e0)\n- Fixed double slashes stored in config.ini by sanitizing the config values. #1903 [4382a05](https://github.com/morpheus65535/bazarr/commit/4382a05da1ad0864b74acdf911c591f3c80d6918)\n- Fixed subtitles upgrade job trying to upgrade null scored subtitles (part 2). #1909 [ba1687a](https://github.com/morpheus65535/bazarr/commit/ba1687a478ea2c7a647d6308979eab2c114efdc0)\n- Fixed episodes or movies importation skipped when Sonarr/Radarr improperly report that media file size is null. [81e13e1](https://github.com/morpheus65535/bazarr/commit/81e13e1eac1d2bdbd9ee10ca79d59feb01d09159)\n- Fix #1901 temporarily\n- Fixed subtitles upgrade job trying to upgrade null scored subtitles. #1909 [414900c](https://github.com/morpheus65535/bazarr/commit/414900c24e082d0758b88f6117ddf09d954bdf44)\n- Fix display issues of the base URL [af8a14c](https://github.com/morpheus65535/bazarr/commit/af8a14c92bbd79f4a0801bd975b6e9fb08d5fcf0)\n- Embedded Subtitles provider: add support for unknown language tags [5624ae4](https://github.com/morpheus65535/bazarr/commit/5624ae431ea6e1d29a0c9fd909949e1021dc1226)\n- Fix #1904\n- Fix postprocessing escaping [#1907](https://github.com/morpheus65535/bazarr/pull/1907)\n- Allow searching when uploading subtitles #1898 [775f67b](https://github.com/morpheus65535/bazarr/commit/775f67b45e83ed62d9bd4f2cc068cde305c2c5a3)\n- Fixed quotation marks escaping in post-processing variables [#1882](https://github.com/morpheus65535/bazarr/pull/1882)\n- Added option to always use audio track for subtitle syncing [c622e1f](https://github.com/morpheus65535/bazarr/commit/c622e1f710920092773fe35e3ddb4a20a3958fbe)\n- Fix #1894\n- Fix #1893\n- Fix provider configs updates [a748903](https://github.com/morpheus65535/bazarr/commit/a748903dc4d8c73e30e4b642aae5534a09571477)\n- Fixed Zimuku provider to bypass yunsuo protection [b9ba99e](https://github.com/morpheus65535/bazarr/commit/b9ba99e189d9273b7f7451e7046f021d240265ac)", "date": "2022-08-31T02:43:17Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.1.1/bazarr.zip"}, {"name": "v1.1.0", "body": "From newest to oldest:\r\n- Fixed Zimuku provider to bypass yunsuo protection [b9ba99e](https://github.com/morpheus65535/bazarr/commit/b9ba99e189d9273b7f7451e7046f021d240265ac)\r\n- Fix #1872, refactor the settings builder\r\n- Fixed Titulky provider to fail silently if media is missing IMDB ID. [331cbbd](https://github.com/morpheus65535/bazarr/commit/331cbbd3bdb2966e7615539e46a08dee525ac51e)\r\n- Add Karagarga.in provider [d2b40bd](https://github.com/morpheus65535/bazarr/commit/d2b40bd781a2b116e3cd32d4aded3d666b2105dd)\r\n- Fixed uploaded subtitles not preserved when it should. #1879 [44ffac6](https://github.com/morpheus65535/bazarr/commit/44ffac67b3639ea954e744f97a44e360a341b345)\r\n- Embedded Subtitles Provider: major update [8086bce](https://github.com/morpheus65535/bazarr/commit/8086bce5c4daf314a45eaaed8591fb9974790d0e)\r\n- update outdated packages [34685b3](https://github.com/morpheus65535/bazarr/commit/34685b3d19960ee119f832a00264a667d777bfeb)\r\n- Add chips input for the provider builder [c45b172](https://github.com/morpheus65535/bazarr/commit/c45b1724157268b38f0a87071062ee4b170f76ca)\r\n- Fix issues when displaying Use Original Format in the language profile modal [2b88c9f](https://github.com/morpheus65535/bazarr/commit/2b88c9f60cce854d2b2d08696b89b1bc11c0ecd0)\r\n- Fixed DNS queries caching issue. [f543368](https://github.com/morpheus65535/bazarr/commit/f543368089f5cbb223621015c22ea068ad8c86a0)\r\n- Fixed LegendasDivx throttling reset time to prevent IP from getting blocked. [c8c815e](https://github.com/morpheus65535/bazarr/commit/c8c815e24095b98882ac58f9961e63b38b63a20c)\r\n- Fixed cutoff being reached for a language even if forced subtitles is available but not requested. [e1bd023](https://github.com/morpheus65535/bazarr/commit/e1bd02396ff4ddde8eb96a91dafc91ad81d15130)\r\n- Subdivx provider: avoid TypeError [14153d7](https://github.com/morpheus65535/bazarr/commit/14153d7688fcd7f00bd6f02f155308cd18050ac3)\r\n- Try to avoid guessit internal exception [#1858](https://github.com/morpheus65535/bazarr/pull/1858)\r\n- Fix redirect issues after logging in (#1857) [b724305](https://github.com/morpheus65535/bazarr/commit/b724305eb4dc22b469c5c5f2033d89de11b4aeef)\r\n- Fix missing images issue when serving via Flask [4b71b8a](https://github.com/morpheus65535/bazarr/commit/4b71b8ae65ac7709b902f6e9efd64dd2be4e5082)\r\n- Fix #1873\r\n- Fixed throttle expiration for providers that reset at midnight. #1863 [a79c218](https://github.com/morpheus65535/bazarr/commit/a79c2187deab7d3effc63516dc1f0007f934104b)\r\n- Improve error handling on UI [c3645c9](https://github.com/morpheus65535/bazarr/commit/c3645c90242ba6fabc62881534b138f098041398)\r\n- Fixed uptime in System-->Status and added time zone info. [f2eb8f1](https://github.com/morpheus65535/bazarr/commit/f2eb8f13421019028ecef5583e296ac9eb8f285e)\r\n- Subf2m provider: improve episode matching [246c2f3](https://github.com/morpheus65535/bazarr/commit/246c2f30046540be6e49bbed4dafa7c7f643648e)\r\n- Add description icon in the history modal [738178a](https://github.com/morpheus65535/bazarr/commit/738178a17318390ba2f62d7cd05907544db80e80)\r\n- Add tooltip to HistoryIcon [23022f5](https://github.com/morpheus65535/bazarr/commit/23022f528260a976baa3668691561e2ce6300256)\r\n- Fix crash when navigating from history view and open the history modal [98937a0](https://github.com/morpheus65535/bazarr/commit/98937a03786f64bcde5a35ab085cb6926b0a7e5e)\r\n- Fixed Wizdom API url. #1870 [a7b1b2a](https://github.com/morpheus65535/bazarr/commit/a7b1b2a454b396c116299eccf00eef47094d850d)\r\n- Fix a issue when trying to edit profile with cutoff selected [fe09ae9](https://github.com/morpheus65535/bazarr/commit/fe09ae9de52c9fa6ba89b4d2d427c78300984d63)\r\n- Fixed root url redirect not working with base_url defined. #1857 [0f4af48](https://github.com/morpheus65535/bazarr/commit/0f4af48be6e4a7da67a08d239898e8224ed1e301)\r\n- Fixed hearing-impaired not taken into account when naming uploaded subtitles #1846 [2a29886](https://github.com/morpheus65535/bazarr/commit/2a298860a4a915099a9daa81658688927b1307dd)\r\n- Improve UI error view [0e7c541](https://github.com/morpheus65535/bazarr/commit/0e7c5410d4fd15dd3c0a9a1041013417b14f3490)\r\n- Change default open delay of action tooltips to 2 seconds [51d1c46](https://github.com/morpheus65535/bazarr/commit/51d1c46b18dce4d677422d1726ed177a3e81bfe3)\r\n- Change audio badge color [4481cda](https://github.com/morpheus65535/bazarr/commit/4481cda6005a653677334244aed9b19436979355)\r\n- Bring back search function of the provider selector #1864 [f09f353](https://github.com/morpheus65535/bazarr/commit/f09f3534a6aad77aaa5bf0395c0984a0bb2e2c48)\r\n- Add tooltip and improve hover behavior for embedded subtitles [a529cba](https://github.com/morpheus65535/bazarr/commit/a529cba08116d08eb63ad6c6c40b68fc2e1e5d9e)\r\n- Rename Tools to Mass Edit [2a5bf95](https://github.com/morpheus65535/bazarr/commit/2a5bf9538dfabbe5578838b6509b6dfdc5d97aef)\r\n- Add color to the icon in upload modal [ed819ce](https://github.com/morpheus65535/bazarr/commit/ed819ce299e2db2eeb00312ee1fec35fbf049be4)\r\n- Improve layout of the settings pages [afcb3b0](https://github.com/morpheus65535/bazarr/commit/afcb3b07768304d6b455b0c939aba0e1f9291e3e)\r\n- Add label to all action buttons [5a5df23](https://github.com/morpheus65535/bazarr/commit/5a5df23b9ccbd4a3787e9a608008f31bceafbb10)\r\n- Fix crash when saving language profiles [059ab59](https://github.com/morpheus65535/bazarr/commit/059ab59fc7cea7abdcc34b6fab16e5aac25e41dd)\r\n- Replace Bootstrap with Mantine [#1795](https://github.com/morpheus65535/bazarr/pull/1795)\r\n- Fix issues of CollapseBox in settings pages [cf15c26](https://github.com/morpheus65535/bazarr/commit/cf15c26f1b65a7d2faf5d4ebe503eb2d0b6a2461)\r\n- Improve layout of the settings pages [4d9d2de](https://github.com/morpheus65535/bazarr/commit/4d9d2de1fc6b994130a324017df76f689d755196)\r\n- not log: Fix base_url issue during development [03de446](https://github.com/morpheus65535/bazarr/commit/03de446691df759ab6002f7886b56ef073d3e7ac)\r\n- Add NO_CLI env var for tests [#1856](https://github.com/morpheus65535/bazarr/pull/1856)\r\n- Small fix when getting Python bundle path [#1854](https://github.com/morpheus65535/bazarr/pull/1854)\r\n- Fixed import order that was preventing Bazarr from starting after initial database creation. [c2f2ce1](https://github.com/morpheus65535/bazarr/commit/c2f2ce17779401bc69a930ce623e91d3067bb5f8)\r\n- Gestdown provider: improve http error handling [5a13046](https://github.com/morpheus65535/bazarr/commit/5a13046d580ffa42213aab53ac43abec1b41a8d2)\r\n- Gestdown provider: ignore incomplete subtitles [2528170](https://github.com/morpheus65535/bazarr/commit/25281709c1f1ffa22da22ac43ebf51d9627797ad)\r\n- Gestdown provider: implement retries on 423 status codes [0e98880](https://github.com/morpheus65535/bazarr/commit/0e98880494149801ac40821a4b0e89a7e2cb10b8)\r\n- Subf2m provider: add season pack support [848836c](https://github.com/morpheus65535/bazarr/commit/848836c5bb66ae4baa5edac3decfe65de4cb9e62)\r\n- Subf2m provider: improve matches parsing [4730411](https://github.com/morpheus65535/bazarr/commit/473041158c614182681b517ee7f3a1b3678019d0)\r\n- Subdivx provider: improve movie searches [0e1120e](https://github.com/morpheus65535/bazarr/commit/0e1120e037febedacb7a051871e9bd4660a8a0c8)\r\n- Add Gestdown.info Provider [c9d63f7](https://github.com/morpheus65535/bazarr/commit/c9d63f717f581661fa9df6436a77c75b6feca92e)\r\n- Added support for unar RAR extraction utility. #1833 [642733f](https://github.com/morpheus65535/bazarr/commit/642733f92f08c64cb048372d7ce92a4bede8dc84)\r\n- Embedded Subtitles provider: fix cached streams with HI fallback\r\n- Embedded Subtitles provider: improve HI fallback [b96fd93](https://github.com/morpheus65535/bazarr/commit/b96fd9326979b08876ef9818bfab0a735dcc0f06)\r\n- Fixed provider Supersubtitles following domain name change [c676095](https://github.com/morpheus65535/bazarr/commit/c676095783548fd96ab03834db1d746678f33c54)\r\n- Fix some foreign providers not being updated properly [5f0f654](https://github.com/morpheus65535/bazarr/commit/5f0f654efe069e51a575c05faf48432b2f2b1a39)\r\n- Improve provider configs updates [23a5ab9](https://github.com/morpheus65535/bazarr/commit/23a5ab9b0ea9cb582ea5574fd8cdd1c9169a7d85)\r\n- Updated apprise to the latest version. #1834 [1dff555](https://github.com/morpheus65535/bazarr/commit/1dff555fc8c9c8a9be29a91b3717fcf8b07cb648)\r\n- Prevent Python dock icon appearing on macOS [fcd67c1](https://github.com/morpheus65535/bazarr/commit/fcd67c1fb09889c8400751a0d4dabeb264681f0c)\r\n- Fixed Bazarr logo on form auth page missing with base_url. #1823 [695edad](https://github.com/morpheus65535/bazarr/commit/695edad3dd6eee5fb1176c4c20f433a7a682cc70)\r\n- Avoid NoneType on providers pool updates [a783515](https://github.com/morpheus65535/bazarr/commit/a783515ad4fc5f54a27c97a2955679c6555a5839)\r\n- Embedded Subtitles provider: improve detection of potentially incomplete subtitles [1346137](https://github.com/morpheus65535/bazarr/commit/134613711ac1ede510cfc023072f0712a175b858)\r\n- Fixed issue with indexing of external subtitles that include utf8 characters in file name. [b7e9086](https://github.com/morpheus65535/bazarr/commit/b7e908645ee7aa27f4631318a86c259e86b0ef75)\r\n- Fixed issues while trying to serve assets. #1822 [89fa25c](https://github.com/morpheus65535/bazarr/commit/89fa25cddf3f3932b8e55bee57d0bad287fe348d)\r\n- Improve subtitles pack extraction [ce33b4f](https://github.com/morpheus65535/bazarr/commit/ce33b4f5fd75450bbd54351c712b87dfe915bb29)\r\n- Subdivx Provider: improve language parser [7423c80](https://github.com/morpheus65535/bazarr/commit/7423c80a28b894812b121a89f38d045f7c87d5ca)\r\n- Fixed mimetype issues for some Windows users. [af95f70](https://github.com/morpheus65535/bazarr/commit/af95f702020a2d79fb6358eedd16b2849ada6136)\r\n- Reworked Bazarr file structure to improve support and optimization [2f01ab8](https://github.com/morpheus65535/bazarr/commit/2f01ab852348669e81c3d19b3a12f5084b04fba8)", "date": "2022-07-02T12:47:36Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.1.0/bazarr.zip"}, {"name": "v1.0.4", "body": "From newest to oldest:\n- Subdivx Provider: avoid false positives on episodes search [3f95784](https://github.com/morpheus65535/bazarr/commit/3f95784bb824484cb37bb0bfc91f491015f74cf4)\n- Fixed history stats time frame not working properly [4358790](https://github.com/morpheus65535/bazarr/commit/4358790fa7cb4ac130ac7501bfad34c753cbec98)\n- Embedded subtitles provider: improve exception handling\n- Fix #1817\n- Legendasdivx provider: improve subtitles ID consistency [23e8472](https://github.com/morpheus65535/bazarr/commit/23e847290bc5353cf3b6e21a1e81880cfc17e31d)\n- Fixed Titulky provider and made some code maintenance [e6551dc](https://github.com/morpheus65535/bazarr/commit/e6551dc4d397ac11b89f391349cd9ee75e77692d)\n- Improved search and fixed some issues with Titulky provider [a4d9eb6](https://github.com/morpheus65535/bazarr/commit/a4d9eb694d675c0b85ad7d1b88574241232d1a82)\n- Subdivx Provider: improve episode searching and downloading [883b0fe](https://github.com/morpheus65535/bazarr/commit/883b0fe7a15d121ea77d2f63f582438c93ad8d76)\n- Add subf2m.co Provider [63eded5](https://github.com/morpheus65535/bazarr/commit/63eded5aa38f2241fabbe99516064b941cf0d16d)\n- Improve episode detection from compressed series packs [75f3ac9](https://github.com/morpheus65535/bazarr/commit/75f3ac9f6cec587bc3b0bb3a41e9fd18d10cd02f)\n- SuperSubtitles Provider: fix filetype detection [31e4f83](https://github.com/morpheus65535/bazarr/commit/31e4f835cf28bd1f5c4840a958126fce046591ee)\n- Embedded subtitles provider: add timeout option [d3e3e31](https://github.com/morpheus65535/bazarr/commit/d3e3e31fa13bce4d8ea29c2c834b04e0b061e287)\n- Fix #1801\n- Supersubtitles provider: Fix AttributeError for some queries (#1792) [7040fbc](https://github.com/morpheus65535/bazarr/commit/7040fbc0711f55a433ea234100baee1c1df8b816)\n- Removed support for BSplayer providers because it was causing way much issue than providing subtitles. [77da09d](https://github.com/morpheus65535/bazarr/commit/77da09d51f549470c0e9be2eb670de74450dd791)\n- Fix ValueError for persistent pools on multithreaded setups [86d6c21](https://github.com/morpheus65535/bazarr/commit/86d6c211af8ac0b81e05937fea1973ec78bc9226)\n- Fixed issue with same subtitles downloaded multiple times. #1785 [4f42cd9](https://github.com/morpheus65535/bazarr/commit/4f42cd9b2860856b3759cd438d9fdcfef5a5fdba)\n- Fixed Plex webhook for series by having a more robust imdb parsing nd some logging in case of exception. #1780 [8e07585](https://github.com/morpheus65535/bazarr/commit/8e075850849a1855386e13f8ec576f3afe84ddf4)\n- Improve subtitle tools [e18657e](https://github.com/morpheus65535/bazarr/commit/e18657e4261cae67d6fe5a235a001dede26721c5)\n- Refactor modal system [658237d](https://github.com/morpheus65535/bazarr/commit/658237dd5076a3d4823552ad17c101d3ba6177fc)\n- Fix notifications settings cannot be edited after saved [87c5d0d](https://github.com/morpheus65535/bazarr/commit/87c5d0d9defdc3f01865eeb844dfe191934411fb)\n- Fixed update mechanism when running Bazarr from %programdata%\\Bazarr on Windows. #1768 [5539938](https://github.com/morpheus65535/bazarr/commit/55399380ada67fae9b98a5ea9884aea08e475e7e)\n- Fix #1778\n- Added defer searching missing subtitles on live synchro with Sonarr and Radarr. #1765 [012dc1c](https://github.com/morpheus65535/bazarr/commit/012dc1cee977e4fb0b72a955736476f748c8314b)\n- Fix #1770\n- Fix #1769\n- Fix interactive search cache issues [d964f04](https://github.com/morpheus65535/bazarr/commit/d964f04c2764bb55cca382e3ecb0ea53e96974e3)\n- Fix history button for episode will open up wrong modal [b4c82c2](https://github.com/morpheus65535/bazarr/commit/b4c82c269ee637e566a3369fd10afe26bc5877ff)\n- Improve feedback in the header [51e1fa1](https://github.com/morpheus65535/bazarr/commit/51e1fa1c35830d2224ea7589730a645d111a5b63)\n- Fix subliminal core: wrong providers being restarted [8c4e83c](https://github.com/morpheus65535/bazarr/commit/8c4e83c18d56c96a036bbe8aa1cd268448099766)\n- Fix display issues in the notification center [aaf4b7c](https://github.com/morpheus65535/bazarr/commit/aaf4b7c6731c35252a7d89cf8cac64eb54d0b064)\n- Fix issues when trying to create background tasks [c1a26fd](https://github.com/morpheus65535/bazarr/commit/c1a26fd9ebd601417fbfe975bf148485384c6475)\n- Frontend improvement and cleanup [#1690](https://github.com/morpheus65535/bazarr/pull/1690)\n- Improved languages profile modal original format dropdown [75100d8](https://github.com/morpheus65535/bazarr/commit/75100d8acacf8f55b4a5ca0433f465071273dec8)\n- Fixed upgrade subtitles function that was trying to upgrade deleted episode/movie subtitles. #1759 [f81972b](https://github.com/morpheus65535/bazarr/commit/f81972b291b73f5771c40359f18d6470b23e2650)\n- Added languages profile settings to prevent downloaded subtitles from being converted to srt. [33a9e51](https://github.com/morpheus65535/bazarr/commit/33a9e512acafe0419d553660c20659d007a23b85)\n- Fixed Invalid IPv6 URL exception with common fix [6edc196](https://github.com/morpheus65535/bazarr/commit/6edc196163061ae233324bacbf918886159f4efb)\n- Fixed backups ordering and rotation [eb63f05](https://github.com/morpheus65535/bazarr/commit/eb63f057684e7c2842ba9dd5a9a658e3e9f8edaf)\n- Improved throttling of LegendasDivx provider to prevent IP address blocking by reaching 150 searches a day. #1757 [040ddb2](https://github.com/morpheus65535/bazarr/commit/040ddb236269c7a27d5d4f9c7fe708e53caba72f)\n- Fixed log rotation under Python 3.9 or greater. [2b889fa](https://github.com/morpheus65535/bazarr/commit/2b889fa975ba234377500dd55022cce35eb3d92a)\n- Fixed titulky provider UnicodeEncodeError [8a9fbbe](https://github.com/morpheus65535/bazarr/commit/8a9fbbeaece5099e6bcac708a1fed8a80de5a2b7)\n- Fixed network issues from preventing Bazarr startup. [d384b93](https://github.com/morpheus65535/bazarr/commit/d384b9307bf86845e4465628b3c6fc138f14d9c6)\n- Implemented number input and used it with backup retention and port settings. [0166d9a](https://github.com/morpheus65535/bazarr/commit/0166d9a0dddbbd3c862c25a3c75c62b2ef48db35)\n- Fixed knowit provider specification. [ce1345a](https://github.com/morpheus65535/bazarr/commit/ce1345a8702c6f90c919174cbff04741802c078e)\n- Fixed subtitles translation when there's an empty string in the source file. [d13bc73](https://github.com/morpheus65535/bazarr/commit/d13bc731891d8ea211b9e5f1d95f10c4e0ba170c)\n- Fixed GetSonarrInfo.version() to make sure it doesn't prevent Bazarr startup. [4b84a9c](https://github.com/morpheus65535/bazarr/commit/4b84a9c64c90d8872266889443ffaa0e44465087)\n- Fixed opensubtitlescom provider to remove filename from query because it was too specific and reduced number of subtitles returned for no good reason. [bd5aae7](https://github.com/morpheus65535/bazarr/commit/bd5aae7f77608a6f3ca80d66e17a5e4c7de932bb)\n- Fixed cache invalidation on providers' password changes. [c2f7446](https://github.com/morpheus65535/bazarr/commit/c2f74465e9c079e288656bfce04e052dd52dd787)\n- Added backup file size to API and table view. [e4c666f](https://github.com/morpheus65535/bazarr/commit/e4c666f82b2dacc7d2d969a3b9ffed54567604e8)", "date": "2022-04-30T13:07:32Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.0.4/bazarr.zip"}, {"name": "v1.0.3", "body": "From newest to oldest:\n- Implemented garbage collection after each subtitles synchronization. [0a0f609](https://github.com/morpheus65535/bazarr/commit/0a0f609de89d2d93d594067f9c803f9449b89071)\n- Reverted auditok to ffsubsync supported version [c23ce4a](https://github.com/morpheus65535/bazarr/commit/c23ce4a4d1929f9b007b64e81f21fcf881e041fb)\n- Fix a issue that seleection of the languages profiles could be Unknown on settings page [63f1e63](https://github.com/morpheus65535/bazarr/commit/63f1e63fa83fbf789061e58652d157f8965ff527)\n- Implemented backup and restore feature for configuration file and database [5bfaba9](https://github.com/morpheus65535/bazarr/commit/5bfaba9360f062965e672dd336fe82208c716d13)\n- Fixed improperly calculated missing subtitles when cutoff is enabled and audio language match desired subtitles language. #1731 [c020a9e](https://github.com/morpheus65535/bazarr/commit/c020a9e89214fa482c7ad5d4071c006ffcf0b1cc)\n- Fix a issue that language profiles won't show in some situations [4bf0555](https://github.com/morpheus65535/bazarr/commit/4bf0555ece29fad429eb967711007d1fb29abd82)\n- Improve Argenteam results matching (Covers #1728) [644617c](https://github.com/morpheus65535/bazarr/commit/644617c7c2698eb8fee4aea4575982e5ccca3021)\n- Clarified SignalR error for Sonarr [ffcbb57](https://github.com/morpheus65535/bazarr/commit/ffcbb57672872b514ff13ea072dfea730ec15bee)\n- Fixed addic7ed subtitles search query to return all languages instead of relying on filter defined in addic7ed profiles. [a22bb0f](https://github.com/morpheus65535/bazarr/commit/a22bb0fd124f7951be4d328740a356c0e1951c9c)\n- Fixed legendastv issue since rarfile upgrade. #1711 [23e2626](https://github.com/morpheus65535/bazarr/commit/23e2626df9fd3cc219eb8b4f612e70d1efe86f5f)\n- Fixed external subtitles with unknown language causing exception during indexing. #1709 [d160f1e](https://github.com/morpheus65535/bazarr/commit/d160f1e4eb633560d7b9128ed9908fe032c0c5b6)\n- Improved sync with Sonarr/Radarr exceptions management when trying to write to database. #1699 [6988d7c](https://github.com/morpheus65535/bazarr/commit/6988d7c7ad64b2bf6b52d7728f288a8f19bbb78c)\n- Added cookies caching to titulky provider [45f085e](https://github.com/morpheus65535/bazarr/commit/45f085eb5dc7a31a411f4cbb93f96cc214bc7607)\n- Fix database issue with LATAM Spanish custom language [a53fc44](https://github.com/morpheus65535/bazarr/commit/a53fc440cdff7ed19ead50a0f81fa036d9debfe4)\n- Fixed JSON parsing exception in supersubtitles provider. #1700 [83e36e4](https://github.com/morpheus65535/bazarr/commit/83e36e4c1c58a73966e4d0f924e071b73e8e00ec)\n- Improved opensubtitles.com resilience and properly deal with the Invalid JSON/Bad Gateway exception. [669bd33](https://github.com/morpheus65535/bazarr/commit/669bd3376ad06f12cb152078c5664c03aa7c5004)\n- Fixed progress not being removed from control center when a search all fails. [63f3454](https://github.com/morpheus65535/bazarr/commit/63f3454c8fb25e76c9c6baf6ff2951ca0011afde)\n- Implemented the functions to read more info from package_info file [c91597f](https://github.com/morpheus65535/bazarr/commit/c91597fdd55049cdc0f69f3137393dc7c4ee8717)\n- Fixed Windows uninstaller being removed during Bazarr upgrade. #1693 [e99d58d](https://github.com/morpheus65535/bazarr/commit/e99d58d77e4c1eada8584f4459e535c91086f964)\n- Improved retry and exception handling in opensubtitles.com provider. [d879128](https://github.com/morpheus65535/bazarr/commit/d879128dcdaa1dc2f25e19816dfebd872bcd04ed)\n- Fixed issue with cutoff and exclude language exclusions were not working as expected. #1691 [aa0c2ff](https://github.com/morpheus65535/bazarr/commit/aa0c2ffca76b75a71847f02f56037bf6414732bd)\n- Fixed missing tzdata module. #1693 [c7500c1](https://github.com/morpheus65535/bazarr/commit/c7500c1d04b8f81e7058ed66fd1db5dbbcdad210)\n- Upgraded vendored Python dependencies to the latest versions and removed the unused dependencies. [0c3c5a0](https://github.com/morpheus65535/bazarr/commit/0c3c5a02a75bc61b6bf6e303de20e11741d2afac)\n- Add Embedded Subtitles mergerfs mode [4c15a50](https://github.com/morpheus65535/bazarr/commit/4c15a50134ef7f6bc839ad51275c10b2f2141917)\n- Fix a issue that the edit modal will clear the languages profiles if without changing anything [dc6bd1f](https://github.com/morpheus65535/bazarr/commit/dc6bd1fd1b2ad477f1769664bade46868551ebf8)\n- Add React-Query to improve network and cache performance [d8d2300](https://github.com/morpheus65535/bazarr/commit/d8d2300980ca69a4ae6511cb49a6dc548c0da793)\n- Fixed issue where episode name was used as hints for guessit instead of series name. [6b82a73](https://github.com/morpheus65535/bazarr/commit/6b82a734e2bc597b219472774c0ec58038630c65)\n- Fixed translation issue when first line is an empty string. #1672 [391892f](https://github.com/morpheus65535/bazarr/commit/391892fdf0450cb30c6ce95ff0c006f6bcaf5a8f)\n- Fixed issue with unrecognized languages while indexing subtitles (mainly for those without a language code in filename). [28663a6](https://github.com/morpheus65535/bazarr/commit/28663a69379d99876547c652ee8e87416e8e6b90)\n- Fixed upgrade leftover cleanup to prevent config reset when Bazarr is installed in the same directory as config and database. #1655 [a3a8ed9](https://github.com/morpheus65535/bazarr/commit/a3a8ed93c7754a288957f6712ee1002f173bf4d4)\n- Fixed indexing of unsupported language codes. #1683 [9d30414](https://github.com/morpheus65535/bazarr/commit/9d30414f9dd1797f17149e403d56f6b0b368a47d)\n- Fixed translation exception on malformed subtitles file. #1672 [3b3d6fe](https://github.com/morpheus65535/bazarr/commit/3b3d6fe36aa33defa694e083713e78c0e4e84cb8)\n- Added some failsafe to deal with improper JSON returned from Radarr tags API endpoint. [62ef614](https://github.com/morpheus65535/bazarr/commit/62ef614d301de5cb52eb3e5f410a7acecdee984c)\n- Fixed issue with deleted episode file raising a 404 while trying to update from Sonarr. #1676 [8764ac5](https://github.com/morpheus65535/bazarr/commit/8764ac581e9d8ba7712e1848090b8db92f591c47)\n- Improve Subdivx provider: use a random cookie to speed up downloads and [8ad4ec9](https://github.com/morpheus65535/bazarr/commit/8ad4ec95f98b5f22dd40dd681a3d42014ace62c1)\n- Fixed issue with addic7ed where alternative titles were not used properly in during searches. #1669 [dbf0bf2](https://github.com/morpheus65535/bazarr/commit/dbf0bf26389990c67dde3f6c858774558b345f27)\n- Added settings to change the hearing-impaired subtitles file extension to use when saving to disk. [58a967c](https://github.com/morpheus65535/bazarr/commit/58a967c892ef78cb6cf8ab790c2af8728e8c079e)\n- Added cookies option for addic7ed to avoid anti-captcha provider requirement [1a03d9f](https://github.com/morpheus65535/bazarr/commit/1a03d9fd12e601a072aeb3d30e3e3693373d841d)\n- Upgraded guessit to latest version and include new dependencies. [f55492a](https://github.com/morpheus65535/bazarr/commit/f55492a25cf617604ff158d1fc516cf7298a4adc)\n- Fixed logging of regex pattern used during upgrade leftover cleanup. #1655 [5d3d453](https://github.com/morpheus65535/bazarr/commit/5d3d4532df65e82fc5477fb570f472edcb7c1ea5)\n- Improved readability and maintenance by splitting get_subtitle.py into multiple files [722014d](https://github.com/morpheus65535/bazarr/commit/722014d822fd0b8e62ca0c2b96965e50e7487a56)\n- Added validation for V.I.P. account status in titulky provider [3653ef1](https://github.com/morpheus65535/bazarr/commit/3653ef163fb76b716d2a00522c6faf9593697003)\n- Add MustGetBlacklisted exception for redundant download_subtitle calls [1261e91](https://github.com/morpheus65535/bazarr/commit/1261e91870a6e08b1942c7a2fbcb74b19d0da4c9)\n- Add hi_fallback option to Embedded Subtitles Provider [b90dab0](https://github.com/morpheus65535/bazarr/commit/b90dab03e89e03b73bfbe15741c8108fc0d2a806)\n- Added support for hearing-impaired version of CustomLanguage [4af4ae1](https://github.com/morpheus65535/bazarr/commit/4af4ae1ae8b4d7ba4df7c36c4d72b40e576c6fec)\n- Subdivx provider: Improve scraper [d373bc8](https://github.com/morpheus65535/bazarr/commit/d373bc8c0e936e8fecaf54cf2e122b0a0cfeca9f)\n- Fix broken Subdivx provider: update scraper [75926dc](https://github.com/morpheus65535/bazarr/commit/75926dc7763fb207e9560b790b154565016122e1)\n- Improved opensubtitles.com server-side error handling [4605164](https://github.com/morpheus65535/bazarr/commit/46051646c620d7db37f0be56df8b9f20c1b42d83)", "date": "2022-02-26T15:03:11Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.0.3/bazarr.zip"}, {"name": "v1.0.2", "body": "From newest to oldest:\r\n- Added support for Python 3.10 in startup warning. [6e52ce2](https://github.com/morpheus65535/bazarr/commit/6e52ce2ecfaad8db92d8bd7d75048fc8b36e0aa9)\r\n- Embedded Subtitles provider: fix language error (fix #1653) [e65d643](https://github.com/morpheus65535/bazarr/commit/e65d643fae345c18cf4ffd2422dafe9500b88f93)\r\n- Added exclusion settings for season 0 to prevent automatic downloading of extras subtitles. [bd7b2eb](https://github.com/morpheus65535/bazarr/commit/bd7b2eb471e86cc3e2ce67fd09707ed188b3bcb0)\r\n- Refactored adaptive searching and made it configurable [10c3175](https://github.com/morpheus65535/bazarr/commit/10c317573292f3534cdc861f13e8489fa299fd5d)\r\n- Fix Addic7ed provider: handle language errors, avoid guessit exception and match version for movies [5d8897f](https://github.com/morpheus65535/bazarr/commit/5d8897f675eed5a9ec0d5b289b37e82741ae33dd)\r\n- Fix Addic7ed provider TypeError [a88f0a7](https://github.com/morpheus65535/bazarr/commit/a88f0a7f198faf1fe2de139a7fb49da41c0ee658)\r\n- Update embeddedsubtitles provider: use original_path instead of name [048307e](https://github.com/morpheus65535/bazarr/commit/048307e4299106ea2340bed72fce8207859d5fa9)\r\n- Fixed issues with release_info for some providers. #1644 [2faed98](https://github.com/morpheus65535/bazarr/commit/2faed982d95e2f5eac41caaca090ea6ce9f6115b)\r\n- Improved providers throttling and prevent hammering providers by updating throttled providers on each iteration of the loop. [5ff3fe4](https://github.com/morpheus65535/bazarr/commit/5ff3fe46845f4ed98c446b6f265c3a2a39ac825a)\r\n- Added vip and daily download limit to addic7ed and try to slow down a little to prevent being ip blocked by the provider. [5d1dccd](https://github.com/morpheus65535/bazarr/commit/5d1dccde995138e631916dcef44a7527b7cdc6b6)\r\n- Fixed exception when creating a new languages profile. [6192df6](https://github.com/morpheus65535/bazarr/commit/6192df6019bcd1c22e1c3ae2da4f83957b8194a5)\r\n- Embedded Subtitles Provider: rebuild language if forced [b5c66e1](https://github.com/morpheus65535/bazarr/commit/b5c66e1470991ac6896b311096a78c8bef21ef9e)\r\n- Update Embedded Subtitles provider: add forced and ass-only support [9b74ad8](https://github.com/morpheus65535/bazarr/commit/9b74ad8610f35275e76b9374643d768c6ef8df53)\r\n- Add Embedded Subtitles provider [ffca84a](https://github.com/morpheus65535/bazarr/commit/ffca84a1b435c479a6e91f37456b7eed95c730f5)\r\n- Add fese module for embedded subtitles [409e1a5](https://github.com/morpheus65535/bazarr/commit/409e1a585428f3d6b44472f8a5a57cb569d732f1)\r\n- Add default attribute to Subtitle [718bd2f](https://github.com/morpheus65535/bazarr/commit/718bd2f8b9b5ed470379381cb51773a3ddc9944f)\r\n- Implemented words/regex ban list for subtitles [63b326a](https://github.com/morpheus65535/bazarr/commit/63b326aa2f12df482f9537a0fec2f7755a152bfc)\r\n- Fixed throttled providers badges in UI throwing exception. #1631 [ca8f3f9](https://github.com/morpheus65535/bazarr/commit/ca8f3f9fd2ae21360549eb80a76d0291d41f96c5)\r\n- Fix hash score in manual search [2cde268](https://github.com/morpheus65535/bazarr/commit/2cde2686fc68a9e9c2d01f3c8a9858bffc5bd225)\r\n- Cleaned up and split API to make it easier to maintain. [204a1c3](https://github.com/morpheus65535/bazarr/commit/204a1c3f3192dcac6688e4a48ea8dd814ffccefe)\r\n- Updated Apprise notification module to the latest providers. [d51dc68](https://github.com/morpheus65535/bazarr/commit/d51dc68ebb3910ca09bb40c33814d43b93d916b8)\r\n- Upgraded some embedded dependencies to be ready for Python 3.10. This doesn't mean that it's fully supported right now. [402c82d](https://github.com/morpheus65535/bazarr/commit/402c82d84f7bd51353348bea7d1a876ad9ecc5b1)\r\n- Added support for upcoming Sonarr v4. [2d214bf](https://github.com/morpheus65535/bazarr/commit/2d214bfbd5f9d1598c01b2e2dd35efa67ccb43af)\r\n- Fixed missing poster or fanart url from raising an exception when rendering UI. [9b273a7](https://github.com/morpheus65535/bazarr/commit/9b273a7a8976f63ff932c1a0cb0be38a98956d05)\r\n- Fix Hosszupuska provider not returning results [247f69c](https://github.com/morpheus65535/bazarr/commit/247f69c210531048186c699de240f5e860ef0b3f)\r\n- Upgraded engine.io module to improve socket.io connection stability. Should help to prevent #1613. [c60c751](https://github.com/morpheus65535/bazarr/commit/c60c7513a5a776b2a15ac3a7b463d0ef9875cf04)\r\n- Improved sanitize function to replace apostrophe and backticks [592dc79](https://github.com/morpheus65535/bazarr/commit/592dc799e967cb68e60ce51ca9295591fc895c01)\r\n- Updated deep-translator module and made some fix to support translation to Chinese. There's still a bug in this module that prevent it but one it's fixed, it should be fine. [f082895](https://github.com/morpheus65535/bazarr/commit/f0828959f3e2561bc3252cb79b2570c6d3122b03)", "date": "2021-12-30T11:51:44Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.0.2/bazarr.zip"}, {"name": "v1.0.1", "body": "From newest to oldest:\n- Improved Titulky provider [d8fffe8](https://github.com/morpheus65535/bazarr/commit/d8fffe8e5206e640689a87ba6fc28b7cadface58)\n- Fix for #1592 [cbd6c05](https://github.com/morpheus65535/bazarr/commit/cbd6c050c9e6604a8215e8e581f25a5350581730)\n- Fixed issue with non-existent episode or movie when indexing embedded subtitles. #1606 [6f17100](https://github.com/morpheus65535/bazarr/commit/6f17100ca4b0ea8be445dad81de775cb56840c28)\n- Implemented some utility functions to subliminal_patch providers to list supported languages and video types. [b53f8ad](https://github.com/morpheus65535/bazarr/commit/b53f8ad80abff1410918bd3b86157d01b08fee6d)\n- Fixed some issues in opensubtitles.com provider. #1602 [faa368b](https://github.com/morpheus65535/bazarr/commit/faa368b6620be68bcf1a3a8872b9305e0e533117)\n- Added uptime to System-->Status [55b7c98](https://github.com/morpheus65535/bazarr/commit/55b7c9826b8b830bcbecc394f1301719c2939064)\n- Improved LegendasDivx provider to get more accurate results and prevent unnecessary throttling [f53ef40](https://github.com/morpheus65535/bazarr/commit/f53ef40d57d4cf23fcf4410028a77bea318b6415)\n- added more improvement to Titulki provider [618bdde](https://github.com/morpheus65535/bazarr/commit/618bddebf97fd962a89a6c9d1f11c19733fbb4d7)\n- Fixed some issues with Titulki provider [006e17b](https://github.com/morpheus65535/bazarr/commit/006e17bdc2541d9eb9022e99b4da96d5ece04f24)\n- Fixed movies missing subtitles computation when there's a forced subtitles track/file. [3bc7002](https://github.com/morpheus65535/bazarr/commit/3bc700225fc69737b466ed560519696094aa987d)\n- Fixed Radarr API call to get version with the latest nightly. [e6c1dba](https://github.com/morpheus65535/bazarr/commit/e6c1dba37bc9351c10612924d56177107d6a46a6)\n- Improved results with Titulki provider [0e50335](https://github.com/morpheus65535/bazarr/commit/0e50335e2d26597cac20ee5264a78ea9c53e7ce0)\n- Fixed Brazilian Portuguese audio language match with Radarr. [aaa8b48](https://github.com/morpheus65535/bazarr/commit/aaa8b48dad3a1d4de5a8f2f04fcc96cf1fb5fb3a)\n- Fixed notification removal from settings. #1594 [58de876](https://github.com/morpheus65535/bazarr/commit/58de876f193e8358836b8fd12d25bc7e9d65005c)\n- Refactored the Titulki provider [801ff0d](https://github.com/morpheus65535/bazarr/commit/801ff0d47895a3fb00a9aa190a2ca1eaac55100a)\n- Removing TuSubtitulo per provider request. #1591 [3d936ff](https://github.com/morpheus65535/bazarr/commit/3d936ffccf767d0a91cbc3b7b3c05306e957e561)\n- Updated apscheduler to it's latest version. [c12c7b4](https://github.com/morpheus65535/bazarr/commit/c12c7b4064c6dae8e06f91d6443b78089a99e793)\n- Moved back from gevent to waitress web server. This should prevent UI disconnection occurring during heavy task like syncing subtitles. [39fe314](https://github.com/morpheus65535/bazarr/commit/39fe3141d51b01479e7b585ad0b5ee5df1767226)\n- Added More Equivalent release groups [8bdf957](https://github.com/morpheus65535/bazarr/commit/8bdf957c066e6f7d453e2164b0f9708ed09fedc2)\n- Fix for series progress bar not updated when a subtitles file is downloaded or deleted. [878a271](https://github.com/morpheus65535/bazarr/commit/878a271a4275258c80912226f7e97ba26f054307)\n- Fixed TuSubtitulo provider [08c797c](https://github.com/morpheus65535/bazarr/commit/08c797c484d93c02d4db2bfa3f702e3926121b9e)", "date": "2021-11-19T01:45:29Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.0.1/bazarr.zip"}, {"name": "v1.0.0", "body": "From newest to oldest:\n- Added subtitrari-noi.ro and improved titrari.ro [788b4b3](https://github.com/morpheus65535/bazarr/commit/788b4b33f0adf856f7066d5f0a325a879bb2b927)\n- Improved language selection for Titrari.ro provider. [0bc2605](https://github.com/morpheus65535/bazarr/commit/0bc2605439184fba36fcfd8e4a61c4b664a827e8)\n- Fixed Ktuvit problem with default empty return values [a819fc3](https://github.com/morpheus65535/bazarr/commit/a819fc34b36a45b21fee6def70003412ca66d41f)\n- Improved support for series for Titrari.ro provider [b1af4ca](https://github.com/morpheus65535/bazarr/commit/b1af4caeebdb9b98e098146afe72b9ef4e781ea6)\n- Added support for series to provider Titrari.ro [294d3eb](https://github.com/morpheus65535/bazarr/commit/294d3eb0eefdd5aad177d4ea08f57eebd9e7bf02)\n- Added a settings to disable SSL certificate validation for Podnapisi. Be careful as it's causing a security risk for a man in the middle (MitM) attack. #1565 [d851c16](https://github.com/morpheus65535/bazarr/commit/d851c16da7e7063fb5ad89993a5933de2bfd88f1)\n- Improved description of proxy ignored addresses. #1566 [9fff275](https://github.com/morpheus65535/bazarr/commit/9fff275f1ced4f77d297aa1775ca72b6067e1c83)\n- Fixed titrari.ro provider [17dd5dd](https://github.com/morpheus65535/bazarr/commit/17dd5ddde5bd9a67f9c3ffea3d9e485927b824e2)\n- Make debug call more verbose [385461d](https://github.com/morpheus65535/bazarr/commit/385461d28cd6c9c7838b2f7fda5ca601a89f7c83)\n- Fixed titrari search endpoint again. #1564 [036600f](https://github.com/morpheus65535/bazarr/commit/036600f15061653ce04a6b16493a14bb71e028a5)\n- Improved opensubtitles.com providers. [679f1e8](https://github.com/morpheus65535/bazarr/commit/679f1e803c75ec6660b16580323db0a8fb250f85)\n- Fixed multiple episodes subtitles upload to use the first episode number found. #1562 [56ffa72](https://github.com/morpheus65535/bazarr/commit/56ffa722e5c0b89e49601993738621511a907e32)\n- Fix Missing subtitles issue with Ktuvit provider [66585ec](https://github.com/morpheus65535/bazarr/commit/66585ec7654d5ba5633f79d5cc51ca18807619a4)\n- Improved queries to opensubtitles.com to reduce footprint on their side. [c1421f1](https://github.com/morpheus65535/bazarr/commit/c1421f1cce7b2553dbcb2f60954203b0293a8e3b)\n- Fixed issue with movies on Addic7ed. #1550 [6d082f8](https://github.com/morpheus65535/bazarr/commit/6d082f8b388341ce70dfb647efb88b0964651f4b)\n- Add titulky.com provider to the UI [8d698fa](https://github.com/morpheus65535/bazarr/commit/8d698fa7e4972f86c09b6d3fda1c3bb4f5787e8c)\n- Prevent broken release (missing asset) from corrupting existing installation. [36a2309](https://github.com/morpheus65535/bazarr/commit/36a2309bcaa2d7ea6ba015b6c6a39884ca2a947f)\n- Fixed opensubtitles.com forced subtitles searching. [cde6246](https://github.com/morpheus65535/bazarr/commit/cde624696d88679b80197fd7b5e78656cc169c87)\n- Fixed Addic7ed AttributeError exception with some movies #1525 [0e01c64](https://github.com/morpheus65535/bazarr/commit/0e01c64079cced6e5ed8b2555c0506ae2bec6a1a)\n- Fixed Ktuvit provider login [b137af0](https://github.com/morpheus65535/bazarr/commit/b137af0908daf71b16873935dbcfc643cc875674)", "date": "2021-10-12T23:44:33Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v1.0.0/bazarr.zip"}, {"name": "v0.9.9", "body": "From newest to oldest:\n- Fixed Titrari providers search endpoint. #1526 [8d5c2db](https://github.com/morpheus65535/bazarr/commit/8d5c2db39d8016ef9e69e42004e1b3f929360c44)\n- Fixed incompatible operator with Python 3.7 in latest patch to Addic7ed. [caf01da](https://github.com/morpheus65535/bazarr/commit/caf01da2edadbbc847f39a92c45c67587e7eb152)\n- Fix redirect issues when accessing root path [9901bf3](https://github.com/morpheus65535/bazarr/commit/9901bf340019d431c1aaba69546589e73ccbd8f3)\n- Added movies searching to Addic7ed provider. #1525 [96a3acf](https://github.com/morpheus65535/bazarr/commit/96a3acf8e945ca8a509a1b653a6d9d2622218eea)\n- Fix incorrect position of provider badge [60de70f](https://github.com/morpheus65535/bazarr/commit/60de70f9e8db1216396cc9275077ece46036dc94)\n- Fix items are not updated when using mass editor [60e2732](https://github.com/morpheus65535/bazarr/commit/60e2732f48f2aa4f2ab1845b40cff8fef10e1bc2)\n- Added provider Ktuvit [de5bcc8](https://github.com/morpheus65535/bazarr/commit/de5bcc8ed0054e0b7d53f1b7919cb2d2f9d0d94f)", "date": "2021-09-11T12:47:07Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v0.9.9/bazarr.zip"}, {"name": "v0.9.8", "body": "From newest to oldest:\n- Fixed wanted list not getting updated when changing exclusion settings for Sonarr and Radarr. [0e9cd7d](https://github.com/morpheus65535/bazarr/commit/0e9cd7d05fd2a9492d61cb552204c08254c0b470)\n- Remove red dot in the notification center [d37eea3](https://github.com/morpheus65535/bazarr/commit/d37eea3c92f489ec66deb2ed212b7c7d08809252)\n- Fixed a search loop issue with missing subtitles for episodes. #1521 [3b4e81d](https://github.com/morpheus65535/bazarr/commit/3b4e81db5eee45a73b7cee8b371e1f0649b01037)\n- Fixed some issues with HI/forced in history and custom post-processing. #1516 [75d85d0](https://github.com/morpheus65535/bazarr/commit/75d85d05517a7547d36195b309809adfc402a8de)\n- Fix a issue that hi and forced is not properly updated on series subtitle upload modal [50fb06b](https://github.com/morpheus65535/bazarr/commit/50fb06b23a502c3a108c2e17038e4bfe85cbcd59)\n- Add forced and hi checkbox to subtitle upload modal [7e48413](https://github.com/morpheus65535/bazarr/commit/7e48413493510f4f7e95b2b49bdd8b051e482d14)\n- Improved how custom post-processing deal with subtitles language modifier (HI and forced). #1516 [5c5d14c](https://github.com/morpheus65535/bazarr/commit/5c5d14c045e7c152806a75c6ee0088e92c09c32b)\n- Score: add a condition class to allow painless future additions [9ced18d](https://github.com/morpheus65535/bazarr/commit/9ced18d0d3053fbdf8887a139d94e718c9abfd55)\n- Support multi-language in subtitle upload modal [4a890b2](https://github.com/morpheus65535/bazarr/commit/4a890b25617b0a50f3882f95e626c0f226382c7f)\n- Fixed throttled providers badge not being updated when pressing the reset button. [e0b988b](https://github.com/morpheus65535/bazarr/commit/e0b988b20f71d6fb6cc8bf5b55be1cbaf436d227)\n- Fix display issues of backend background tasks [499faeb](https://github.com/morpheus65535/bazarr/commit/499faeb94a61c2320e2f99cfd05e92c85a581081)\n- Add a dialog before closing the page to inform user when there're still background tasks running [81507b9](https://github.com/morpheus65535/bazarr/commit/81507b9e750228de6d52cb3f7cbd631ecfac3713)\n- Improve performance of Web UI [1f3e499](https://github.com/morpheus65535/bazarr/commit/1f3e499f3db42d15436be604934770ed21e62548)\n- Fixed Hebrew language translation issue. #1513 [5ceb876](https://github.com/morpheus65535/bazarr/commit/5ceb876171e14f8d5b9d85a21a394710f81fc76d)\n- Improved Subscene provider with single season series. #1510 [8ae5e54](https://github.com/morpheus65535/bazarr/commit/8ae5e5483ec8c9a36d92bb08522a469cdc741da0)\n- Add tooltip in notification center [2c5aecc](https://github.com/morpheus65535/bazarr/commit/2c5aecc0dbbba241512a016fc7bb302767fac600)\n- Upload serie subtitles in background [43ebecb](https://github.com/morpheus65535/bazarr/commit/43ebecbdb26d4bcd3fc6f6cf18a6489bcc34b5fc)\n- Upload movie subtitles in background [87123ab](https://github.com/morpheus65535/bazarr/commit/87123ab4c7874e218db9273ac2bcef8bfa26e3f6)\n- Update merged source formats [34b1782](https://github.com/morpheus65535/bazarr/commit/34b1782e6a1304bd3a4da9c6e9b8b540358888e0)\n- Fixed debug logging when no episode are returned from database for a specific series because they are ignored. #1507 [79621a0](https://github.com/morpheus65535/bazarr/commit/79621a08716d64dff3a80b00ef15acd605068387)\n- Fix some visual bugs of the notification center [70cb16f](https://github.com/morpheus65535/bazarr/commit/70cb16f0a284c36dcb8cfbaf3bc467d426fbcfe3)\n- Fixed Bazarr not starting if Sonarr or Radarr is unavailable #1506. [2f6206f](https://github.com/morpheus65535/bazarr/commit/2f6206f3a66ea2c424cfc39ca2100d95bd4b062d)\n- Added a settings to ignore ffprobe cache on scheduled disk scan. [2762fc4](https://github.com/morpheus65535/bazarr/commit/2762fc4a6a4c3276faab78c1263523ab63054685)\n- Fixed live episode sync when added in Sonarr v3. [156cf18](https://github.com/morpheus65535/bazarr/commit/156cf1882c0de7f7f2d990781a8b6d2c80bb1a6a)\n- Rewrite modal system using stack, fix some visual bugs [82a687c](https://github.com/morpheus65535/bazarr/commit/82a687c8c8f68dea27181bc5edb1359c455d656d)\n- Add a error page when ui is crashed [37da374](https://github.com/morpheus65535/bazarr/commit/37da3742a0de2ff12558a46d2fc2eb14e3f8f7d9)\n- Fix some style issues [a2fc1d7](https://github.com/morpheus65535/bazarr/commit/a2fc1d73ddd0b6ac54cf17827d03ce7e90c3095a)\n- Fix display issues [135d866](https://github.com/morpheus65535/bazarr/commit/135d866249d9f93182ff89181bbc44b4e44ec226)\n- Add a new notification center to the UI [d7533ba](https://github.com/morpheus65535/bazarr/commit/d7533bac5767df6ffa61756ac12887be2a9eeca7)\n- Update Redux Implementation with Redux-Toolkit [6f9c7f3](https://github.com/morpheus65535/bazarr/commit/6f9c7f3da2d0a70aaf0af1bf094211bcd7d3c4b8)", "date": "2021-08-31T16:53:48Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v0.9.8/bazarr.zip"}, {"name": "v0.9.7", "body": "From newest to oldest:\r\n- Fix broken url for titulky.com provider [9b05a3a](https://github.com/morpheus65535/bazarr/commit/9b05a3a63ae950a225d5d720aa648156375a1df7)\r\n- Modified Bazarr user-agent to report real version [d23d36d](https://github.com/morpheus65535/bazarr/commit/d23d36d81c065a16af601040d68092a84f3ba9b8)\r\n- Added a validation of existing credentials for opensubtitles.com provider. [c05db9f](https://github.com/morpheus65535/bazarr/commit/c05db9f8c5731351304ec01aec9d7ad3ce3cebf8)\r\n- Fixed empty strings being saved as 'None' in config.ini. [c205958](https://github.com/morpheus65535/bazarr/commit/c2059584db9ae3a3c19c3fcfe205f7d72b9e4fcf)\r\n- Added some logging to Sonarr/Radarr get_version. [83764bb](https://github.com/morpheus65535/bazarr/commit/83764bb07b152edb8009bbcd70b6809da8cfcd20)\r\n- Changed the warning when Sonarr SignalR return malformed JSON because of a permissions issue on its config directory. [f2d4ac8](https://github.com/morpheus65535/bazarr/commit/f2d4ac8266c48d69c76ccbdfb558e2f831b243aa)\r\n- Removed the --no-color argument to pip command when installing requirements as it's not supported by older version of pip. [aa6dcbd](https://github.com/morpheus65535/bazarr/commit/aa6dcbd7328fe8c08119e67debaee96fb6d810c9)\r\n- Removed unused variables in check_releases function. [144db06](https://github.com/morpheus65535/bazarr/commit/144db064cda4502fbe100307c458e0b233980585)\r\n- Added some debug logging to the upgrade leftover cleaner. [a5852e6](https://github.com/morpheus65535/bazarr/commit/a5852e605251c4c90076269fbea9669be3abb22c)\r\n- Removed media.resume from Plex webhook to prevent over usage in specific scenarios. [28e28fb](https://github.com/morpheus65535/bazarr/commit/28e28fbd5c7c89fead99b1ff055b66f597d6a88b)\r\n- Fixed issue with upgrade leftover cleanup on Windows. [275aa24](https://github.com/morpheus65535/bazarr/commit/275aa24f58d061362e9ff8b0f6d14c0983bce844)\r\n- Fixed issue when trying to remove non-empty directory when cleaning leftover files after upgrade. [2cea2d2](https://github.com/morpheus65535/bazarr/commit/2cea2d22bfb0e050e95ba3c50dba9631210886d0)\r\n- Fixed issue with upgrade cleanup routine when installed with Windows Installer. [dd80fec](https://github.com/morpheus65535/bazarr/commit/dd80fec9d4a6d5a5af1e7d41bbcebb07c43ae35c)\r\n- Added search progress modal when searching for an episode subtitles triggered by Plex webhook. [91c53ba](https://github.com/morpheus65535/bazarr/commit/91c53ba475eacb66f3c5673ff3122b7cf5c238da)\r\n- Improved how Bazarr get Sonarr/Radarr version to use caching and reduce the number of calls made to their respective API. [842dbf0](https://github.com/morpheus65535/bazarr/commit/842dbf08275b6c6218d29ca1cedb90a5eaca9443)\r\n- Added plex webhooks endpoint to API to search for subtitles on media.play and media.resume events. [bf037f1](https://github.com/morpheus65535/bazarr/commit/bf037f1573ad7f991d5b4d949726b7d5b4ec305c)\r\n- Added a leftover cleanup function to be run after an upgrade. [638d0a8](https://github.com/morpheus65535/bazarr/commit/638d0a8c6857eb302c75d066ebcdf9353e745c11)\r\n- Fixed subtitles sync issues when sync debug is enable. [9372c0b](https://github.com/morpheus65535/bazarr/commit/9372c0b821c25030359a94ca4d05269195634886)\r\n- Fixed root folders check health functions to use the proper path separator. [360e0cf](https://github.com/morpheus65535/bazarr/commit/360e0cfea19a2d1a285ec42dbbd733fde55ddaf6)\r\n- Added settings to download only featured subtitles for LegendasTV [33a600a](https://github.com/morpheus65535/bazarr/commit/33a600a714474495a58fdf038d7a636c0e339c44)\r\n- Fixed settings saving not completing properly when the SignalR client didn't start properly. #1474 [1d20bbb](https://github.com/morpheus65535/bazarr/commit/1d20bbb4b9d83a583d4950c94829733d8d0a4267)\r\n- Update React to version 17 [b912ca4](https://github.com/morpheus65535/bazarr/commit/b912ca4e41cfa7b91620100b14611fb9f8f58747)\r\n- Added virtualenv detection to better deal with requirements installation. [d1f86a3](https://github.com/morpheus65535/bazarr/commit/d1f86a3cbf569155ef1a86b5968c393e08b4ecc8)\r\n- Added chmod execution (if required) after manually triggered tools execution. #1478 [aca9941](https://github.com/morpheus65535/bazarr/commit/aca99415b8f4bcc5b2b43dc338e41b6f4ed96bd9)\r\n- Improved Sonarr versions prior to 3.x detection. [96b8b5c](https://github.com/morpheus65535/bazarr/commit/96b8b5ccce9c45c44daf2c3a11ddb41506f369a3)\r\n- Fixed gevent import in main.py [e2b4912](https://github.com/morpheus65535/bazarr/commit/e2b4912067932dc505fead42ad837c1f1fa03cd1)\r\n- Improved how Bazarr deals with Sonarr SignalR feed issues that are raising exceptions. [5e3ce8c](https://github.com/morpheus65535/bazarr/commit/5e3ce8c8c3e9402d98b6ccdc1b5de5c70e2759ad)\r\n- Fix wanted pages are not updated properly after changing language profile [ed30f76](https://github.com/morpheus65535/bazarr/commit/ed30f76c57dd4b6ac511edf430ebe358ef24ccee)\r\n- Fixed incomplete SQL queries. #1479 [d5b8980](https://github.com/morpheus65535/bazarr/commit/d5b898064d7188d5bc47bcb3a73405a38133d5d6)\r\n- Fixed wanted list ordering. #1475 [6eeaa46](https://github.com/morpheus65535/bazarr/commit/6eeaa46bbf3d3fdc46f6cca39c25284c9459cf12)", "date": "2021-08-13T12:05:29Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v0.9.7/bazarr.zip"}, {"name": "v0.9.6", "body": "From newest to oldest:\r\n- Added fix for inconsistent movie/tv naming to yavkanet provider [31dcd37](https://github.com/morpheus65535/bazarr/commit/31dcd37d52dfb52d091c1131754bba7f1bd94609)\r\n- Fixed zimuku provider to prevent unexpected exception. #1459 [8cdd362](https://github.com/morpheus65535/bazarr/commit/8cdd362caab710923f6d6247d8e24c5cfc8ac72c)\r\n- Updated pysubs2 module to support newer SSA files. [09a8335](https://github.com/morpheus65535/bazarr/commit/09a8335a03fa741be6c4cc5b030bac01d1c84b0f)\r\n- Fixed missing subtitles language badge in movies view to show if it's forced or hi. [60353c0](https://github.com/morpheus65535/bazarr/commit/60353c036743574c64f10bcff0c8a06461c8cafc)\r\n- Added missing authentication on system/status API endpoint. #1467 [2428399](https://github.com/morpheus65535/bazarr/commit/24283992066b8cbafed815bf6be253a93ac06a30)\r\n- Added setuptools to requirements.txt. It should be already installed in most case but just in case. [0a1ad41](https://github.com/morpheus65535/bazarr/commit/0a1ad41f9df173bff7eb053334c50d593f51fd75)\r\n- Added an unsupported warning on startup if using Python 3.9 [3b1b67d](https://github.com/morpheus65535/bazarr/commit/3b1b67d70142c6a6f77dac7e84755a1519449447)\r\n- Fixed wanted subtitles searching for ones that should be excluded for search. #1458 [8bfcf97](https://github.com/morpheus65535/bazarr/commit/8bfcf97ed59efb10850c70e45e2be7660437893a)\r\n- Added inconsistent tv naming entries to Subssabbz and Subsunacs providers [b1654bb](https://github.com/morpheus65535/bazarr/commit/b1654bb7475bfd80b64eaaa390ca228804f81bbc)\r\n- Fixed Wizdom provider by adding some failsafe to imdb_id logic. #1456 [86fb10e](https://github.com/morpheus65535/bazarr/commit/86fb10e3affc478fe8e4dceca378ac7aa6bda3c5)\r\n- Fixed movies not getting properly excluded from wanted subtitles search task. [ae475f2](https://github.com/morpheus65535/bazarr/commit/ae475f283e0cff87a057727345aef44c48ccf19f)\r\n- Fixed colors name without the required dash (light and dark ones). #1457 [cb623c3](https://github.com/morpheus65535/bazarr/commit/cb623c3c2689561047810958d5d760c89c00d00a)\r\n- Fixed subdivx provider when there's a year in series directory name but not on the provider website. #1454 [4a78f3b](https://github.com/morpheus65535/bazarr/commit/4a78f3b6b8847a3562969cde26f8cada8e2e3bf4)\r\n- Fixed proxy ignore list input that was splitting on dots. #1453 [64cf2bc](https://github.com/morpheus65535/bazarr/commit/64cf2bc5d2b3e7b53f0f101d52c44647d8791429)\r\n- Fixed file encoding guessing by extending Arabic, Farsi and Persian language possible encoding. [2b67c5b](https://github.com/morpheus65535/bazarr/commit/2b67c5bcba5e15af6983c8c786898434f9c3c2ca)\r\n- Fixed the Bazarr update process that was preventing moving back to master branch once you've started to use development/nightly. #1331 [4e03ec0](https://github.com/morpheus65535/bazarr/commit/4e03ec0acc5d07638ce5424bd68fa44b63e31fdc)\r\n- Fix argenteam TypeError and JSONDecodeError [38d2332](https://github.com/morpheus65535/bazarr/commit/38d2332c3989d0ec29326d4f9b13588c46ee08c7)\r\n- Fixed supersubtitles provider not able to search for Loki series subtitles #1447 [81b5700](https://github.com/morpheus65535/bazarr/commit/81b5700209e84b60460d00551b5c59b73c2b1128)\r\n- Fixed Chinese characters decoding by using gb18030 after big5 [5d5a1e8](https://github.com/morpheus65535/bazarr/commit/5d5a1e866c1daea5b52fd8b7db5b0f8feba9d7f1)\r\n- Fixed removal of IPv4 and apikey from logs [73691b2](https://github.com/morpheus65535/bazarr/commit/73691b28a275b58896a640e6c2e35f5282408018)\r\n- Fixed token issue with opensubtitles.com [557a061](https://github.com/morpheus65535/bazarr/commit/557a06173df4239ab1bd089779c09b049fb41ac4)\r\n- Added missing column to movies upgrade query. [d0c7c5d](https://github.com/morpheus65535/bazarr/commit/d0c7c5d5e073c80af90569158c49072a87da89e6)\r\n- Implemented database migration function [50d4a7a](https://github.com/morpheus65535/bazarr/commit/50d4a7a0479751fa2bd67058ec0266093970ddbc)\r\n- Fixed external subtitles not shown when no languages profile is selected. [fd6c959](https://github.com/morpheus65535/bazarr/commit/fd6c959ec8baed6a13619f0df5ab404e6dd99b61)\r\n- Reset window position when backing to previous page [030ca2a](https://github.com/morpheus65535/bazarr/commit/030ca2a4e36bce65c75bd55a410cdc6777bcffca)\r\n- Improved events sent to browser. [b9c27d5](https://github.com/morpheus65535/bazarr/commit/b9c27d53ad51ab3f30a3d37148ffd1cca4a35b0c)\r\n- Upgraded calls to Sonarr API in order to use the new v3 API when available. [ee41b78](https://github.com/morpheus65535/bazarr/commit/ee41b78f4e4fe015ce915d1721b880b6d2d4d40f)\r\n- Fixed Regielive provider #1438 [26e978b](https://github.com/morpheus65535/bazarr/commit/26e978b14b2289fa189a789f6f2c03570c55eb08)\r\n- Fixed Titrari provider #1438 [f4df07f](https://github.com/morpheus65535/bazarr/commit/f4df07fb83b37bc4022723f2af572d5d77ae2316)\r\n- Fixed an issue with languages filter in history stats. [de4ff35](https://github.com/morpheus65535/bazarr/commit/de4ff35e055c0d69c0bfbebb47733792c5196a27)\r\n- Fixed scan disk function to not use cached ffprobe result and force a refresh of the cache. #1434 [a3d0e1d](https://github.com/morpheus65535/bazarr/commit/a3d0e1d192cf5e0a86189cc7336847d882487c61)\r\n- Finish providers migration to subliminal_patch's guess_matches [a39a9e8](https://github.com/morpheus65535/bazarr/commit/a39a9e8bd52542ff34a4a7b94a9504073e5aeabd)\r\n- Improved subtitles scoring system [e86d537](https://github.com/morpheus65535/bazarr/commit/e86d537ca2ffe49a6911b44d3c3611365461e232)\r\n- Fixed subtitles being looking for during a search in loop even if cutoff have been reached during this actual search. #1435 [f9997ca](https://github.com/morpheus65535/bazarr/commit/f9997ca9694ba3b8f2e3d446f1cdadaa0ed9938c)\r\n- Fix languages/providers filters issue in history stats [c21e501](https://github.com/morpheus65535/bazarr/commit/c21e501ebe139fa76a4b1c6407731e0fd25997c7)\r\n- Added backend API call for upcoming languages/providers filters fix to history stats. [054d117](https://github.com/morpheus65535/bazarr/commit/054d1174000cae371ff17fe348db4ce26e71e947)\r\n- Fixed History stats actions filter values not being properly implemented. [db5d37f](https://github.com/morpheus65535/bazarr/commit/db5d37f5d48aa5b582c55cee1fe509e625a3d206)\r\n- Update half of providers to use subliminal_patch's guess_matches [14d467e](https://github.com/morpheus65535/bazarr/commit/14d467e645c1d60d20067efaa9ad515934f67111)\r\n- Fix Sucha provider: AttributeError and wrong matches [5b1f479](https://github.com/morpheus65535/bazarr/commit/5b1f4799014f9e8a91e1bd037a86db585c5423e8)\r\n- Fixed failed upload #1429 [90ba573](https://github.com/morpheus65535/bazarr/commit/90ba573ebe9f3660a0aa61f81a0a885df5468213)\r\n- Updated signalrcore module following PR #61 merging. [23ede4e](https://github.com/morpheus65535/bazarr/commit/23ede4e7f9a69c6cc6f8545d90789457eb0d6c9a)\r\n- Fixed BetaSeries AttributeError exception #1423 [cb09f8d](https://github.com/morpheus65535/bazarr/commit/cb09f8d4405d4a873cd9097924fe4da932cbfed4)\r\n- Added custom language class to make it easier to implement non-standard/regional languages [4ebcd49](https://github.com/morpheus65535/bazarr/commit/4ebcd49546ed7772cb6f3a9c83079e5aea08e15a)\r\n- Fixed external subtitles were being filtered by show only desired embedded subtitles settings. [d4aed74](https://github.com/morpheus65535/bazarr/commit/d4aed7457a428685c3883eca6a1bc14f3352d707)\r\n- Fixed movies subtitles paths being shown in UI without being mapped. [d562faf](https://github.com/morpheus65535/bazarr/commit/d562faf15149a51c885a9a09fda02dc2b284ab84)\r\n- Fixed log viewer showing last line of log two times. [11fb78f](https://github.com/morpheus65535/bazarr/commit/11fb78fafabbb6529080cb8eecb6f1aed51ad7ec)\r\n- Fixed series and episodes sync issues when adding and removing series from Sonarr. [727c8f5](https://github.com/morpheus65535/bazarr/commit/727c8f5d140a92a836258d4bba25e7244befd7ce)\r\n- Fixed some queries trowing exception when no existing row were found #1425 [8d570fd](https://github.com/morpheus65535/bazarr/commit/8d570fd3b76883455200905f1b3cf4ab60e6d2da)\r\n- Fixed some incompatible calls with Radarr v4 API [57080ed](https://github.com/morpheus65535/bazarr/commit/57080eda1119960e91fbda46e1a5c5d7191107b1)\r\n- Fix some incompatible calls in URL test button [7687013](https://github.com/morpheus65535/bazarr/commit/768701327025471e04619db80ead6ebe6c6e08c0)\r\n- Fixed some incompatible calls with Radarr v4 API [e9ef40c](https://github.com/morpheus65535/bazarr/commit/e9ef40c6296a1e2e0c81b0ee42e5d2a2955c5f60)\r\n- Disabled SSL verify for Sonarr SignalR feed connection and added Bazarr user agent to both Sonarr and Radarr feeds. [b8512cc](https://github.com/morpheus65535/bazarr/commit/b8512ccf0908c0d0eea932fadb8a432e0ab6cfaf)\r\n- Fixed API call to Radarr since the are removing legacy API from nightly builds. [3468601](https://github.com/morpheus65535/bazarr/commit/3468601d4d4b9078e76b7a5335da44ab19f97f1e)\r\n- Fixed some other queries to properly exclude episodes/movies. [e710488](https://github.com/morpheus65535/bazarr/commit/e710488d7a70d95993de05759fd625ddccd4482e)\r\n- Added exclusion in get rootfolder functions for the ones that aren't used by any series/movies. #1413 [b2b9795](https://github.com/morpheus65535/bazarr/commit/b2b979581075788d320a1b76158f4607d2e41ca0)\r\n- Fix a issue that ui will crash when first entering history view [7b9c19d](https://github.com/morpheus65535/bazarr/commit/7b9c19d7c00b9f73b3b2fe2b25dedc4d4b337033)\r\n- Fixed query to add url to get_notifier_providers function [833ecb3](https://github.com/morpheus65535/bazarr/commit/833ecb34e8beb22d1ca2411a5e1ecdc06fa92162)\r\n- Fixed more peewee implementation issues. [f442d7d](https://github.com/morpheus65535/bazarr/commit/f442d7d09190439d92a8ef40cc039492d787bb39)\r\n- Fixed database init issue. [9cc00eb](https://github.com/morpheus65535/bazarr/commit/9cc00ebd65597f3690bc16a0d4f9fa73e8bb6d08)\r\n- Fix subtitle badges display issues in some situations [5732828](https://github.com/morpheus65535/bazarr/commit/573282863d3b4321be3a23a60a7082baff8c4b39)\r\n- Improved Opensubtitles.com provider caching of token [7209bad](https://github.com/morpheus65535/bazarr/commit/7209bad0c4ca2ae090c239b0b72a349ef2fcf8bd)\r\n- Improved Opensubtitles.com providers [bb842b9](https://github.com/morpheus65535/bazarr/commit/bb842b92af4049e4ac1d342aaf4a960b8b0bba09)\r\n- Fixed other issues with peewee [75c003a](https://github.com/morpheus65535/bazarr/commit/75c003ab674aadf5e9e451ecaa24a1b3cad1e8f3)\r\n- Fixed some issues after peewee implementation [d34add9](https://github.com/morpheus65535/bazarr/commit/d34add9fa4a7e9e894953ca55222643e76d433bd)\r\n- Implemented Peewee ORM in replacement of raw SQL queries. [2b9d892](https://github.com/morpheus65535/bazarr/commit/2b9d892ca9151118917c2d682c9bde204a5c72fa)\r\n- Added series' episodes sync when required by Sonarr (ex.: episodes monitored status change) [47bb77a](https://github.com/morpheus65535/bazarr/commit/47bb77ac6f229afb366e40af4e8233933d23ebd2)\r\n- Tweaked the Radarr SignalR feed keep-alive and reconnection intervals. [c8e02e2](https://github.com/morpheus65535/bazarr/commit/c8e02e280a2a9157391dc37802fc3ebe71bfa070)\r\n- Fixed events storm to UI on SignalR (re)connection with large libraries. [bf8c4ca](https://github.com/morpheus65535/bazarr/commit/bf8c4caef7d4f819e2f5704b345c3d056ca103a9)\r\n- Updated SignalRCore to support websocket-client 1.0.0. [2643023](https://github.com/morpheus65535/bazarr/commit/2643023240ec4a3a253b06d134862bb8d27442f4)\r\n- Fixed the movies not getting synced after a reconnection of Radarr SignalR feed. [1fdad49](https://github.com/morpheus65535/bazarr/commit/1fdad498f6cdbfd238ce75e21a4e06801b6355e9)\r\n- Added argument to disable the socketio events emit process to avoid events storm rendering the UI unresponsive. I still need to use it when calling sync functions from signalr_client.py. [5f99836](https://github.com/morpheus65535/bazarr/commit/5f99836801e2b63438a5026135f738dbb9090414)\r\n- Upgraded websocket-client module to fix Radarr SignalRCore disconnection issues. [70a0f68](https://github.com/morpheus65535/bazarr/commit/70a0f6835e68e72e70340d0153cd0f2bcd5a9b53)\r\n- Switched to Gevent scheduler instead of background threaded. [dd8072a](https://github.com/morpheus65535/bazarr/commit/dd8072adf8d80016c958ddf1b396e8f229adc52f)\r\n- Improved reconnection process for Sonarr SignalR feeds. [44dd478](https://github.com/morpheus65535/bazarr/commit/44dd478c48fd394bac9fc7782c4c526dd26e7970)\r\n- Ignore embedded commentary subtitles [d6da0ee](https://github.com/morpheus65535/bazarr/commit/d6da0eec9500e119718cbe2cc775943e11450cf6)\r\n- Improved readability of toast progress label, overflow of toast message with ellipsis and removed the toast close button considering the auto-dismiss. [cf35f4a](https://github.com/morpheus65535/bazarr/commit/cf35f4a9d2ccb792e0fbaa6d110ed5dd39af212d)\r\n- Added successful completion message to tasks progress toast. [821ff13](https://github.com/morpheus65535/bazarr/commit/821ff13b80a0559bb07ca46d3df8a4b5e1ea3102)\r\n- Fixed Radarr SignalR connection started even if Radarr integration isn't enabled. [e239562](https://github.com/morpheus65535/bazarr/commit/e23956278bc7b8c77fd0cecdcf90fd7b5b9642fc)\r\n- Improved how we deal with requirements.txt installation process results. [4ef35c5](https://github.com/morpheus65535/bazarr/commit/4ef35c5527e3ba4da27090f5b040786e0e47214d)\r\n- Improved Radarr SignalR feed reconnection process. [84a1c26](https://github.com/morpheus65535/bazarr/commit/84a1c265cea6ddc59c5dc4b43f756af7090e8cf8)\r\n- Fix for Bazarr version parsing. [ffe8a20](https://github.com/morpheus65535/bazarr/commit/ffe8a201a9066bfc47d94f5bb2edc718447e7898)\r\n- Handling progress delete event in UI [0031e69](https://github.com/morpheus65535/bazarr/commit/0031e69db6b8b129eefcd2e8c2ea87056c529761)\r\n- Added header to toasts and bring back the hide_progress backend function. todo: deal with delete method in frontend. [fe0a34a](https://github.com/morpheus65535/bazarr/commit/fe0a34aae58e478c0265cada2e9b08842e8cb92c)\r\n- Fix some style issues [4bb6e87](https://github.com/morpheus65535/bazarr/commit/4bb6e87db9168d6246ea72fcd1aa37ecadbe67e6)\r\n- Tweak style of progress notification [38fc3b3](https://github.com/morpheus65535/bazarr/commit/38fc3b36fed578aa3eba3752f8e66e87ea90c8c5)\r\n- Add background task notification [678b2f0](https://github.com/morpheus65535/bazarr/commit/678b2f0e555e4cc431c61a83907b2a656c8ef25f)\r\n- Added progress events to most batch functions. [9d153a1](https://github.com/morpheus65535/bazarr/commit/9d153a1d9cd263097f89fa4e6e93d929e9067160)\r\n- Fix an issue that cause subtitles missing in movie page [b403744](https://github.com/morpheus65535/bazarr/commit/b4037442b15eda59e6b7bc1a48988d28e78a30e1)\r\n- Added real-time sync with Sonarr v3 and Radarr v3 by feeding from SignalR feeds. You can now reduce frequency of sync tasks to something like once a day. [44c51b2](https://github.com/morpheus65535/bazarr/commit/44c51b2e2c3bffdfc0e0c447c038f6cd0bfd2cbe)\r\n- Added live update of UI using websocket. Make sure your reverse proxy upgrade the connection! [72b6ab3](https://github.com/morpheus65535/bazarr/commit/72b6ab3c6a11e1c12d86563989d88d73e4e64377)", "date": "2021-07-19T01:29:01Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v0.9.6/bazarr.zip"}, {"name": "v0.9.5", "body": "From newest to oldest:\r\n- Added filter for unknown providers in settings. [b72d476](https://github.com/morpheus65535/bazarr/commit/b72d476d2eb3309a499e4060199092a6840fb005)\r\n- Tried to fix the issues with bsplayer [a555617](https://github.com/morpheus65535/bazarr/commit/a5556177386207d5635a5e8aeb201bf4f5850186)\r\n- Added cache to Titlovi request to prevent doing the same request over and over again for each and every episode of a show. [29ad8c6](https://github.com/morpheus65535/bazarr/commit/29ad8c61221659a0aa3807d1bee6b30f870d89d1)\r\n- Improved the ffprobe call caching mechanism by storing result to DB and using it for indexing and subtitles search. [33e1555](https://github.com/morpheus65535/bazarr/commit/33e155531119dc07e1deaf339de0cb4577122a8c)\r\n- Fix for database cleanup routine on new DB. [386bf19](https://github.com/morpheus65535/bazarr/commit/386bf19b6e4d82f6378c4f53c2806139ef178be7)\r\n- Add database cleanup routine to remove unused table columns. [1ebc618](https://github.com/morpheus65535/bazarr/commit/1ebc61818bb3c3a79bdd960a2ab6f19500b6e4a3)\r\n- Fix for subtitulamos.tv provider #1397 [1c9945f](https://github.com/morpheus65535/bazarr/commit/1c9945fadad9f25ce804f9a4dd0d110ac8544a77)\r\n- Downgrade auditok to version 0.1.5 [30ef713](https://github.com/morpheus65535/bazarr/commit/30ef713fa260dc9d9d3120359cd052808606badb)\r\n- Fix for automatic subsync history logging [cc3628a](https://github.com/morpheus65535/bazarr/commit/cc3628a19f92112e1493e0f6adbfbd876a3de816)\r\n- Fix for manual subsync history logging [84a20a3](https://github.com/morpheus65535/bazarr/commit/84a20a3146e52870908ae5182af832cc557a2ce8)\r\n- Added Movie/Series Year to Notifier (based on #1393). [6b1d712](https://github.com/morpheus65535/bazarr/commit/6b1d71282b6fd74fe5420cdc90dd24bf6f173306)\r\n- Fixed episodes manual search button not disabled when no languages profile is selected. [cc17e81](https://github.com/morpheus65535/bazarr/commit/cc17e8144f1410c18935c5a7608d499c92c5499b)\r\n- Fix for forced subtitles improperly upgraded to non-forced. [053adcc](https://github.com/morpheus65535/bazarr/commit/053adcc2795e1e79c7958bd7ef02721c2f899724)\r\n- Use new wiki address in System Status page [09e98b7](https://github.com/morpheus65535/bazarr/commit/09e98b73678101af3f643f2648ab65a0bd089cfa)\r\n- Fix display issue of badges when Sonarr or Radarr is disabled [01b7698](https://github.com/morpheus65535/bazarr/commit/01b76983a797cf8c93fa281c0dcaebd76be4b42f)\r\n- Improve UI performance [71423d2](https://github.com/morpheus65535/bazarr/commit/71423d2029c2c5c845b1e3db3800d0755033b5b9)\r\n- Add description text on providers selector [6de9a34](https://github.com/morpheus65535/bazarr/commit/6de9a3451d8b97b99032e886cb62fd154a378cdd)\r\n- Fix auth issues by only check auth when requesting webui [a742e3c](https://github.com/morpheus65535/bazarr/commit/a742e3c5e3336c2d3e56410bad5eb432d07da056)\r\n- Fix some potential issues when displaying languages [d6d9e93](https://github.com/morpheus65535/bazarr/commit/d6d9e93843964b0473fe01aa0411677690b40f8b)\r\n- Fix issues in language profile modal [65e68d4](https://github.com/morpheus65535/bazarr/commit/65e68d44098a01b13277fdc6a20651c51403014a)\r\n- Fix subtitles display issue on episode page [e462686](https://github.com/morpheus65535/bazarr/commit/e462686c178bb2c611b873b65b896ec99b6d414a)", "date": "2021-05-08T14:06:05Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v0.9.5/bazarr.zip"}, {"name": "v0.9.4", "body": "From newest to oldest:\n- Reworked the monitored status of movie detailed view. [3eef317](https://github.com/morpheus65535/bazarr/commit/3eef31762334c5c25834cf3c769dc7bae7b9e5d3)\n- Added monitored status to movie detailed view. [e848e10](https://github.com/morpheus65535/bazarr/commit/e848e107c841eb795f29b352db817de59c52056d)\n- Fixed Yavkanet provider [d9e0e2e](https://github.com/morpheus65535/bazarr/commit/d9e0e2ec9232bc0b9a90249e3091f30282860e3f)\n- Added eligible for upgrade icon in histories. [5f66724](https://github.com/morpheus65535/bazarr/commit/5f66724d2a6a5d5c65d32e6c86671741299e5119)\n- Fixed upgrade process to properly use bazarr.zip asset #1379 [b02e0ec](https://github.com/morpheus65535/bazarr/commit/b02e0ec7ec462b9236a413aa9363d0825d3c6e3e)\n- Fix app route redirect issues [c3c1891](https://github.com/morpheus65535/bazarr/commit/c3c1891f5696cd261e560dceade92f23ab5b6652)\n- Fix issues when testing notifications [385cc21](https://github.com/morpheus65535/bazarr/commit/385cc214b348815105bc654df3fc710b25a3e620)\n- Fixed subtitles upgrade process to properly deal with manual actions [99fc282](https://github.com/morpheus65535/bazarr/commit/99fc282b07f4be07ebf84255603385bd6899bcf8)\n- Update ffsubsync and srt module [4a0932b](https://github.com/morpheus65535/bazarr/commit/4a0932b5d3052867f7f92984300d2ab4ec54fb0d)\n- Extend simpleconfigparser to not strip quotes from the string value [8e91bee](https://github.com/morpheus65535/bazarr/commit/8e91beed83e6b5a4bec680d15b226a77ff3e224e)\n- Fixed package_info parsing to deal with single line text with `\\n` separator [d2b7dba](https://github.com/morpheus65535/bazarr/commit/d2b7dba3bf36501cf4eccb2af3d1889542bc02a2)\n- Properly log error when Post processing subtitles [29f73a6](https://github.com/morpheus65535/bazarr/commit/29f73a6c09c561aedd468f69e441e1a575cb756c)\n- Fix issues after updating schedule settings [0107150](https://github.com/morpheus65535/bazarr/commit/0107150933ad95e59efdd4b8c2f7fe86db470963)\n- Added Bazarr user-agent to requests to Sonarr and Radarr [a193576](https://github.com/morpheus65535/bazarr/commit/a193576b639d4a3995b3172e47e70c1a9a6b3281)\n- Fix Installed badge won't display in release page [74da491](https://github.com/morpheus65535/bazarr/commit/74da491bd17d4317c5f277236b0f65be0f7acc87)\n- Revert \"Merged the series and episodes sync process. Episodes are only synced if series sizeOnDisk reported by Sonarr changes.\" [97caf44](https://github.com/morpheus65535/bazarr/commit/97caf44a5ad049a6eba12dd0c1ce740505745c68)\n- Merged the series and episodes sync process. Episodes are only synced if series sizeOnDisk reported by Sonarr changes. [5aadcea](https://github.com/morpheus65535/bazarr/commit/5aadcea83a395c4de5c8a067f4a5e6966d69703e)\n- Disable add Profile button when enabled languages are empty [a99c4d5](https://github.com/morpheus65535/bazarr/commit/a99c4d5438b1b53dcc376c2737816c98ab8e4eb5)\n- Added cache support for TuSubtitulo provider [95bef2d](https://github.com/morpheus65535/bazarr/commit/95bef2d51904c1ab4f296d671236c9c6770be526)\n- Fixed bad protocol for Argenteam provider [940b642](https://github.com/morpheus65535/bazarr/commit/940b6428ddb744c46a35d6e547400b5e7238bada)\n- Fixed subtitles deletion after blacklisting. [986912b](https://github.com/morpheus65535/bazarr/commit/986912b2cc7426a065cd65052a5c3504a61652b3)\n- Fixed update mechanism to store bazarr.zip asset download url (if available) instead of zipball. [4bc379f](https://github.com/morpheus65535/bazarr/commit/4bc379fabcf456e1b7b5830a706aaa80bbde1cbe)\n- Update npm packages to latest version [df70a8b](https://github.com/morpheus65535/bazarr/commit/df70a8b6fe28ef4c202bf0833e23cc47e5a3a242)\n- Fix issues on Movies Blacklist API [26dc355](https://github.com/morpheus65535/bazarr/commit/26dc35556e3ac14c4702b9d0e413d2125475d762)\n- Added tooltips on hover for history and blacklist pretty date [84adea2](https://github.com/morpheus65535/bazarr/commit/84adea2a28744607f072d828084abef61ee9bd3a)\n- Fixed tvsubtitles provider #1354 [1a025b6](https://github.com/morpheus65535/bazarr/commit/1a025b693b0ec150a5a71d533451d529062d00ad)\n- Fixed some providers key to match the actual providers name in subliminal_patch #1353 [cc80bd4](https://github.com/morpheus65535/bazarr/commit/cc80bd4be6fcc351d274b60aff667804a7660695)\n- Updated the init process to get the branch from package_info in docker images [0c09bc2](https://github.com/morpheus65535/bazarr/commit/0c09bc2360bbd60fe414af516236b77c66632259)\n- Add popover to movies and episodes for showing original name [08be95c](https://github.com/morpheus65535/bazarr/commit/08be95c8b736527312ccefc04fc1337e5a6584c3)\n- Add feature of going to default page by clicking bazarr icon [b1478da](https://github.com/morpheus65535/bazarr/commit/b1478da6b6b64a71dd07d48731a75676ac6027d3)\n- Keep expanded state when anything changes in episodes page [3744991](https://github.com/morpheus65535/bazarr/commit/3744991f9348fea8b0fecb3438fd7c95a928fd2c)\n- Fixed manual search modal matches popover position and width. [1613501](https://github.com/morpheus65535/bazarr/commit/1613501ea4dc5c9a19cd9b09980813a4a56f1b97)\n- Improved the manual search releases dropdown [b50e7f4](https://github.com/morpheus65535/bazarr/commit/b50e7f4fff67b3237b026cb313dfdf091f517206)\n- Added Subsynchro provider [25894c4](https://github.com/morpheus65535/bazarr/commit/25894c477fc05ecbf5952b95675ef80de16a84b9)\n- Add a error page when ui is crashed [04fd39b](https://github.com/morpheus65535/bazarr/commit/04fd39bc8a43b4ab20447d6c5af177301fd8ee99)\n- Fix a crash in ui when only one post-processing option is selected [6ef7795](https://github.com/morpheus65535/bazarr/commit/6ef7795ac5af3a8bb12b4e4606b5cdbc84071f0b)\n- Fix for #1336 [14fe4b0](https://github.com/morpheus65535/bazarr/commit/14fe4b0594739b3499c3124bcd6883253cd2020a)\n- Fix issues on release_beta_to_dev and bring back CI [e0779cb](https://github.com/morpheus65535/bazarr/commit/e0779cb3c13ee8214be2f47de16a776d50287d21)\n- Fixed packages.json creation path [272a1c1](https://github.com/morpheus65535/bazarr/commit/272a1c11416241a94f222d4a15e42768e21a11f1)\n- Re-enabled dev pipeline with build committed. [6abca59](https://github.com/morpheus65535/bazarr/commit/6abca59c83a1a6ce1c040af02a89d351d23897d2)\n- Manually build UI to reflect the changes [eb4fbc6](https://github.com/morpheus65535/bazarr/commit/eb4fbc6a24f11b721175a16c123421a521aa0b1b)\n- Fixed issue with notifications when deleting [89a3d7f](https://github.com/morpheus65535/bazarr/commit/89a3d7f6e31eb84e110744679a918b120ceb369a)\n- Fixed missing build [61e45bb](https://github.com/morpheus65535/bazarr/commit/61e45bbb6d7cf2c647480b3b3d1d1c0eeee06d2f)\n- Fixed issue with log entries without exception stack [ac8eb62](https://github.com/morpheus65535/bazarr/commit/ac8eb62de0b3491ed9feefc78e86291afc677263)\n- Fixed image proxy when you don't use a base url in Sonarr. [54eb0fc](https://github.com/morpheus65535/bazarr/commit/54eb0fc17411107ed85e9bca0ace4210ae2ad52b)\n- Fixed get_exclusion_clause that do not have the required column due to a missing join. [a4684fe](https://github.com/morpheus65535/bazarr/commit/a4684feaba914b6957135d08cdef68808f209380)\n- Fix a issue when requesting wanted movies [d0f8219](https://github.com/morpheus65535/bazarr/commit/d0f82198eb835a0e0dfa9ebd87c5987a8bdabc5b)\n- Commented out build from pipeline. [dfc14a6](https://github.com/morpheus65535/bazarr/commit/dfc14a60b8356c605b9390aab08e1147802653a5)\n- Manually built React templates [184c5f8](https://github.com/morpheus65535/bazarr/commit/184c5f89acfa6718295959ef0585b8d17d4e73fe)\n- Removed build from .gitignore [2edabe2](https://github.com/morpheus65535/bazarr/commit/2edabe28dcfe87b097962cd7e0dca01d80f9187b)\n- Refactored Web UI using React [f64719e](https://github.com/morpheus65535/bazarr/commit/f64719e4ad27df82d93f4eb2ea67c6fc81cf9d16)", "date": "2021-04-19T13:26:51Z", "prerelease": false, "download_link": "https://github.com/morpheus65535/bazarr/releases/download/v0.9.4/bazarr.zip"}] \ No newline at end of file diff --git a/config/codeServer/data/CachedProfilesData/__default__profile__/extensions.builtin.cache b/config/codeServer/data/CachedProfilesData/__default__profile__/extensions.builtin.cache index f6572819..47fc4680 100644 --- a/config/codeServer/data/CachedProfilesData/__default__profile__/extensions.builtin.cache +++ b/config/codeServer/data/CachedProfilesData/__default__profile__/extensions.builtin.cache @@ -1 +1 @@ -{"input":{"location":{"$mid":1,"fsPath":"/app/code-server/lib/vscode/extensions","external":"file:///app/code-server/lib/vscode/extensions","path":"/app/code-server/lib/vscode/extensions","scheme":"file"},"mtime":1760984069000,"profile":false,"type":0,"validate":true,"productVersion":"1.105.1","productDate":"2025-10-17T22:37:44.991Z","productCommit":"811ec6c1d60add2eb92446161ca812828fdbaa7f","devMode":false,"language":"en","translations":{}},"result":[{"type":0,"identifier":{"id":"vscode.bat"},"manifest":{"name":"bat","displayName":"Windows Bat Language Basics","description":"Provides snippets, syntax highlighting, bracket matching and folding in Windows batch files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.52.0"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin mmims/language-batchfile grammars/batchfile.cson ./syntaxes/batchfile.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"bat","extensions":[".bat",".cmd"],"aliases":["Batch","bat"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"bat","scopeName":"source.batchfile","path":"./syntaxes/batchfile.tmLanguage.json"}],"snippets":[{"language":"bat","path":"./snippets/batchfile.code-snippets"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/bat","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.clojure"},"manifest":{"name":"clojure","displayName":"Clojure Language Basics","description":"Provides syntax highlighting and bracket matching in Clojure files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin atom/language-clojure grammars/clojure.cson ./syntaxes/clojure.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"clojure","aliases":["Clojure","clojure"],"extensions":[".clj",".cljs",".cljc",".cljx",".clojure",".edn"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"clojure","scopeName":"source.clojure","path":"./syntaxes/clojure.tmLanguage.json"}],"configurationDefaults":{"[clojure]":{"diffEditor.ignoreTrimWhitespace":false}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/clojure","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.coffeescript"},"manifest":{"name":"coffeescript","displayName":"CoffeeScript Language Basics","description":"Provides snippets, syntax highlighting, bracket matching and folding in CoffeeScript files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin atom/language-coffee-script grammars/coffeescript.cson ./syntaxes/coffeescript.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"coffeescript","extensions":[".coffee",".cson",".iced"],"aliases":["CoffeeScript","coffeescript","coffee"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"coffeescript","scopeName":"source.coffee","path":"./syntaxes/coffeescript.tmLanguage.json"}],"breakpoints":[{"language":"coffeescript"}],"snippets":[{"language":"coffeescript","path":"./snippets/coffeescript.code-snippets"}],"configurationDefaults":{"[coffeescript]":{"diffEditor.ignoreTrimWhitespace":false,"editor.defaultColorDecorators":"never"}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/coffeescript","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.configuration-editing"},"manifest":{"name":"configuration-editing","displayName":"Configuration Editing","description":"Provides capabilities (advanced IntelliSense, auto-fixing) in configuration files like settings, launch, and extension recommendation files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.0.0"},"icon":"images/icon.png","activationEvents":["onProfile","onProfile:github","onLanguage:json","onLanguage:jsonc"],"enabledApiProposals":["profileContentHandlers"],"main":"./dist/configurationEditingMain","browser":"./dist/browser/configurationEditingMain","capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"contributes":{"languages":[{"id":"jsonc","extensions":[".code-workspace","language-configuration.json","icon-theme.json","color-theme.json"],"filenames":["settings.json","launch.json","tasks.json","mcp.json","keybindings.json","extensions.json","argv.json","profiles.json","devcontainer.json",".devcontainer.json"]},{"id":"json","extensions":[".code-profile"]}],"jsonValidation":[{"fileMatch":"vscode://defaultsettings/keybindings.json","url":"vscode://schemas/keybindings"},{"fileMatch":"%APP_SETTINGS_HOME%/keybindings.json","url":"vscode://schemas/keybindings"},{"fileMatch":"%APP_SETTINGS_HOME%/profiles/*/keybindings.json","url":"vscode://schemas/keybindings"},{"fileMatch":"vscode://defaultsettings/*.json","url":"vscode://schemas/settings/default"},{"fileMatch":"%APP_SETTINGS_HOME%/settings.json","url":"vscode://schemas/settings/user"},{"fileMatch":"%APP_SETTINGS_HOME%/profiles/*/settings.json","url":"vscode://schemas/settings/profile"},{"fileMatch":"%MACHINE_SETTINGS_HOME%/settings.json","url":"vscode://schemas/settings/machine"},{"fileMatch":"%APP_WORKSPACES_HOME%/*/workspace.json","url":"vscode://schemas/workspaceConfig"},{"fileMatch":"**/*.code-workspace","url":"vscode://schemas/workspaceConfig"},{"fileMatch":"**/argv.json","url":"vscode://schemas/argv"},{"fileMatch":"/.vscode/settings.json","url":"vscode://schemas/settings/folder"},{"fileMatch":"/.vscode/launch.json","url":"vscode://schemas/launch"},{"fileMatch":"/.vscode/tasks.json","url":"vscode://schemas/tasks"},{"fileMatch":"/.vscode/mcp.json","url":"vscode://schemas/mcp"},{"fileMatch":"%APP_SETTINGS_HOME%/tasks.json","url":"vscode://schemas/tasks"},{"fileMatch":"%APP_SETTINGS_HOME%/snippets/*.json","url":"vscode://schemas/snippets"},{"fileMatch":"%APP_SETTINGS_HOME%/prompts/*.toolsets.jsonc","url":"vscode://schemas/toolsets"},{"fileMatch":"%APP_SETTINGS_HOME%/profiles/*/snippets/.json","url":"vscode://schemas/snippets"},{"fileMatch":"%APP_SETTINGS_HOME%/sync/snippets/preview/*.json","url":"vscode://schemas/snippets"},{"fileMatch":"**/*.code-snippets","url":"vscode://schemas/global-snippets"},{"fileMatch":"/.vscode/extensions.json","url":"vscode://schemas/extensions"},{"fileMatch":"devcontainer.json","url":"https://raw.githubusercontent.com/devcontainers/spec/main/schemas/devContainer.schema.json"},{"fileMatch":".devcontainer.json","url":"https://raw.githubusercontent.com/devcontainers/spec/main/schemas/devContainer.schema.json"},{"fileMatch":"%APP_SETTINGS_HOME%/globalStorage/ms-vscode-remote.remote-containers/nameConfigs/*.json","url":"./schemas/attachContainer.schema.json"},{"fileMatch":"%APP_SETTINGS_HOME%/globalStorage/ms-vscode-remote.remote-containers/imageConfigs/*.json","url":"./schemas/attachContainer.schema.json"},{"fileMatch":"**/quality/*/product.json","url":"vscode://schemas/vscode-product"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/configuration-editing","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.cpp"},"manifest":{"name":"cpp","displayName":"C/C++ Language Basics","description":"Provides snippets, syntax highlighting, bracket matching and folding in C/C++ files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ./build/update-grammars.js"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"c","extensions":[".c",".i"],"aliases":["C","c"],"configuration":"./language-configuration.json"},{"id":"cpp","extensions":[".cpp",".cppm",".cc",".ccm",".cxx",".cxxm",".c++",".c++m",".hpp",".hh",".hxx",".h++",".h",".ii",".ino",".inl",".ipp",".ixx",".tpp",".txx",".hpp.in",".h.in"],"aliases":["C++","Cpp","cpp"],"configuration":"./language-configuration.json"},{"id":"cuda-cpp","extensions":[".cu",".cuh"],"aliases":["CUDA C++"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"c","scopeName":"source.c","path":"./syntaxes/c.tmLanguage.json"},{"language":"cpp","scopeName":"source.cpp.embedded.macro","path":"./syntaxes/cpp.embedded.macro.tmLanguage.json"},{"language":"cpp","scopeName":"source.cpp","path":"./syntaxes/cpp.tmLanguage.json"},{"scopeName":"source.c.platform","path":"./syntaxes/platform.tmLanguage.json"},{"language":"cuda-cpp","scopeName":"source.cuda-cpp","path":"./syntaxes/cuda-cpp.tmLanguage.json"}],"problemPatterns":[{"name":"nvcc-location","regexp":"^(.*)\\((\\d+)\\):\\s+(warning|error):\\s+(.*)","kind":"location","file":1,"location":2,"severity":3,"message":4}],"problemMatchers":[{"name":"nvcc","owner":"cuda-cpp","fileLocation":["relative","${workspaceFolder}"],"pattern":"$nvcc-location"}],"snippets":[{"language":"c","path":"./snippets/c.code-snippets"},{"language":"cpp","path":"./snippets/cpp.code-snippets"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/cpp","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.csharp"},"manifest":{"name":"csharp","displayName":"C# Language Basics","description":"Provides snippets, syntax highlighting, bracket matching and folding in C# files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin dotnet/csharp-tmLanguage grammars/csharp.tmLanguage ./syntaxes/csharp.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"configurationDefaults":{"[csharp]":{"editor.maxTokenizationLineLength":2500}},"languages":[{"id":"csharp","extensions":[".cs",".csx",".cake"],"aliases":["C#","csharp"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"csharp","scopeName":"source.cs","path":"./syntaxes/csharp.tmLanguage.json","tokenTypes":{"meta.interpolation":"other"},"unbalancedBracketScopes":["keyword.operator.relational.cs","keyword.operator.arrow.cs","punctuation.accessor.pointer.cs","keyword.operator.bitwise.shift.cs","keyword.operator.assignment.compound.bitwise.cs"]}],"snippets":[{"language":"csharp","path":"./snippets/csharp.code-snippets"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/csharp","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.css"},"manifest":{"name":"css","displayName":"CSS Language Basics","description":"Provides syntax highlighting and bracket matching for CSS, LESS and SCSS files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin microsoft/vscode-css grammars/css.cson ./syntaxes/css.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"css","aliases":["CSS","css"],"extensions":[".css"],"mimetypes":["text/css"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"css","scopeName":"source.css","path":"./syntaxes/css.tmLanguage.json","tokenTypes":{"meta.function.url string.quoted":"other"}}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/css","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.css-language-features"},"manifest":{"name":"css-language-features","displayName":"CSS Language Features","description":"Provides rich language support for CSS, LESS and SCSS files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.77.0"},"icon":"icons/css.png","activationEvents":["onLanguage:css","onLanguage:less","onLanguage:scss","onCommand:_css.applyCodeAction"],"main":"./client/dist/node/cssClientMain","browser":"./client/dist/browser/cssClientMain","capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"categories":["Programming Languages"],"contributes":{"configuration":[{"order":22,"id":"css","title":"CSS","properties":{"css.customData":{"type":"array","markdownDescription":"A list of relative file paths pointing to JSON files following the [custom data format](https://github.com/microsoft/vscode-css-languageservice/blob/master/docs/customData.md).\n\nVS Code loads custom data on startup to enhance its CSS support for CSS custom properties (variables), at-rules, pseudo-classes, and pseudo-elements you specify in the JSON files.\n\nThe file paths are relative to workspace and only workspace folder settings are considered.","default":[],"items":{"type":"string"},"scope":"resource"},"css.completion.triggerPropertyValueCompletion":{"type":"boolean","scope":"resource","default":true,"description":"By default, VS Code triggers property value completion after selecting a CSS property. Use this setting to disable this behavior."},"css.completion.completePropertyWithSemicolon":{"type":"boolean","scope":"resource","default":true,"description":"Insert semicolon at end of line when completing CSS properties."},"css.validate":{"type":"boolean","scope":"resource","default":true,"description":"Enables or disables all validations."},"css.hover.documentation":{"type":"boolean","scope":"resource","default":true,"description":"Show property and value documentation in CSS hovers."},"css.hover.references":{"type":"boolean","scope":"resource","default":true,"description":"Show references to MDN in CSS hovers."},"css.lint.compatibleVendorPrefixes":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"When using a vendor-specific prefix make sure to also include all other vendor-specific properties."},"css.lint.vendorPrefix":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"When using a vendor-specific prefix, also include the standard property."},"css.lint.duplicateProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"Do not use duplicate style definitions."},"css.lint.emptyRules":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"Do not use empty rulesets."},"css.lint.importStatement":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"Import statements do not load in parallel."},"css.lint.boxModel":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"Do not use `width` or `height` when using `padding` or `border`."},"css.lint.universalSelector":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"The universal selector (`*`) is known to be slow."},"css.lint.zeroUnits":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"No unit for zero needed."},"css.lint.fontFaceProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","markdownDescription":"`@font-face` rule must define `src` and `font-family` properties."},"css.lint.hexColorLength":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"error","description":"Hex colors must consist of 3, 4, 6 or 8 hex numbers."},"css.lint.argumentsInColorFunction":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"error","description":"Invalid number of parameters."},"css.lint.unknownProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"Unknown property."},"css.lint.validProperties":{"type":"array","uniqueItems":true,"items":{"type":"string"},"scope":"resource","default":[],"description":"A list of properties that are not validated against the `unknownProperties` rule."},"css.lint.ieHack":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"IE hacks are only necessary when supporting IE7 and older."},"css.lint.unknownVendorSpecificProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"Unknown vendor specific property."},"css.lint.propertyIgnoredDueToDisplay":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","markdownDescription":"Property is ignored due to the display. E.g. with `display: inline`, the `width`, `height`, `margin-top`, `margin-bottom`, and `float` properties have no effect."},"css.lint.important":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"Avoid using `!important`. It is an indication that the specificity of the entire CSS has gotten out of control and needs to be refactored."},"css.lint.float":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"Avoid using `float`. Floats lead to fragile CSS that is easy to break if one aspect of the layout changes."},"css.lint.idSelector":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"Selectors should not contain IDs because these rules are too tightly coupled with the HTML."},"css.lint.unknownAtRules":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"Unknown at-rule."},"css.trace.server":{"type":"string","scope":"window","enum":["off","messages","verbose"],"default":"off","description":"Traces the communication between VS Code and the CSS language server."},"css.format.enable":{"type":"boolean","scope":"window","default":true,"description":"Enable/disable default CSS formatter."},"css.format.newlineBetweenSelectors":{"type":"boolean","scope":"resource","default":true,"markdownDescription":"Separate selectors with a new line."},"css.format.newlineBetweenRules":{"type":"boolean","scope":"resource","default":true,"markdownDescription":"Separate rulesets by a blank line."},"css.format.spaceAroundSelectorSeparator":{"type":"boolean","scope":"resource","default":false,"markdownDescription":"Ensure a space character around selector separators '>', '+', '~' (e.g. `a > b`)."},"css.format.braceStyle":{"type":"string","scope":"resource","default":"collapse","enum":["collapse","expand"],"markdownDescription":"Put braces on the same line as rules (`collapse`) or put braces on own line (`expand`)."},"css.format.preserveNewLines":{"type":"boolean","scope":"resource","default":true,"markdownDescription":"Whether existing line breaks before rules and declarations should be preserved."},"css.format.maxPreserveNewLines":{"type":["number","null"],"scope":"resource","default":null,"markdownDescription":"Maximum number of line breaks to be preserved in one chunk, when `#css.format.preserveNewLines#` is enabled."}}},{"id":"scss","order":24,"title":"SCSS (Sass)","properties":{"scss.completion.triggerPropertyValueCompletion":{"type":"boolean","scope":"resource","default":true,"description":"By default, VS Code triggers property value completion after selecting a CSS property. Use this setting to disable this behavior."},"scss.completion.completePropertyWithSemicolon":{"type":"boolean","scope":"resource","default":true,"description":"Insert semicolon at end of line when completing CSS properties."},"scss.validate":{"type":"boolean","scope":"resource","default":true,"description":"Enables or disables all validations."},"scss.hover.documentation":{"type":"boolean","scope":"resource","default":true,"description":"Show property and value documentation in SCSS hovers."},"scss.hover.references":{"type":"boolean","scope":"resource","default":true,"description":"Show references to MDN in SCSS hovers."},"scss.lint.compatibleVendorPrefixes":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"When using a vendor-specific prefix make sure to also include all other vendor-specific properties."},"scss.lint.vendorPrefix":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"When using a vendor-specific prefix, also include the standard property."},"scss.lint.duplicateProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"Do not use duplicate style definitions."},"scss.lint.emptyRules":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"Do not use empty rulesets."},"scss.lint.importStatement":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"Import statements do not load in parallel."},"scss.lint.boxModel":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"Do not use `width` or `height` when using `padding` or `border`."},"scss.lint.universalSelector":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"The universal selector (`*`) is known to be slow."},"scss.lint.zeroUnits":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"No unit for zero needed."},"scss.lint.fontFaceProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","markdownDescription":"`@font-face` rule must define `src` and `font-family` properties."},"scss.lint.hexColorLength":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"error","description":"Hex colors must consist of 3, 4, 6 or 8 hex numbers."},"scss.lint.argumentsInColorFunction":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"error","description":"Invalid number of parameters."},"scss.lint.unknownProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"Unknown property."},"scss.lint.validProperties":{"type":"array","uniqueItems":true,"items":{"type":"string"},"scope":"resource","default":[],"description":"A list of properties that are not validated against the `unknownProperties` rule."},"scss.lint.ieHack":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"IE hacks are only necessary when supporting IE7 and older."},"scss.lint.unknownVendorSpecificProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"Unknown vendor specific property."},"scss.lint.propertyIgnoredDueToDisplay":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","markdownDescription":"Property is ignored due to the display. E.g. with `display: inline`, the `width`, `height`, `margin-top`, `margin-bottom`, and `float` properties have no effect."},"scss.lint.important":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"Avoid using `!important`. It is an indication that the specificity of the entire CSS has gotten out of control and needs to be refactored."},"scss.lint.float":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"Avoid using `float`. Floats lead to fragile CSS that is easy to break if one aspect of the layout changes."},"scss.lint.idSelector":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"Selectors should not contain IDs because these rules are too tightly coupled with the HTML."},"scss.lint.unknownAtRules":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"Unknown at-rule."},"scss.format.enable":{"type":"boolean","scope":"window","default":true,"description":"Enable/disable default SCSS formatter."},"scss.format.newlineBetweenSelectors":{"type":"boolean","scope":"resource","default":true,"markdownDescription":"Separate selectors with a new line."},"scss.format.newlineBetweenRules":{"type":"boolean","scope":"resource","default":true,"markdownDescription":"Separate rulesets by a blank line."},"scss.format.spaceAroundSelectorSeparator":{"type":"boolean","scope":"resource","default":false,"markdownDescription":"Ensure a space character around selector separators '>', '+', '~' (e.g. `a > b`)."},"scss.format.braceStyle":{"type":"string","scope":"resource","default":"collapse","enum":["collapse","expand"],"markdownDescription":"Put braces on the same line as rules (`collapse`) or put braces on own line (`expand`)."},"scss.format.preserveNewLines":{"type":"boolean","scope":"resource","default":true,"markdownDescription":"Whether existing line breaks before rules and declarations should be preserved."},"scss.format.maxPreserveNewLines":{"type":["number","null"],"scope":"resource","default":null,"markdownDescription":"Maximum number of line breaks to be preserved in one chunk, when `#scss.format.preserveNewLines#` is enabled."}}},{"id":"less","order":23,"type":"object","title":"LESS","properties":{"less.completion.triggerPropertyValueCompletion":{"type":"boolean","scope":"resource","default":true,"description":"By default, VS Code triggers property value completion after selecting a CSS property. Use this setting to disable this behavior."},"less.completion.completePropertyWithSemicolon":{"type":"boolean","scope":"resource","default":true,"description":"Insert semicolon at end of line when completing CSS properties."},"less.validate":{"type":"boolean","scope":"resource","default":true,"description":"Enables or disables all validations."},"less.hover.documentation":{"type":"boolean","scope":"resource","default":true,"description":"Show property and value documentation in LESS hovers."},"less.hover.references":{"type":"boolean","scope":"resource","default":true,"description":"Show references to MDN in LESS hovers."},"less.lint.compatibleVendorPrefixes":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"When using a vendor-specific prefix make sure to also include all other vendor-specific properties."},"less.lint.vendorPrefix":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"When using a vendor-specific prefix, also include the standard property."},"less.lint.duplicateProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"Do not use duplicate style definitions."},"less.lint.emptyRules":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"Do not use empty rulesets."},"less.lint.importStatement":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"Import statements do not load in parallel."},"less.lint.boxModel":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"Do not use `width` or `height` when using `padding` or `border`."},"less.lint.universalSelector":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"The universal selector (`*`) is known to be slow."},"less.lint.zeroUnits":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"No unit for zero needed."},"less.lint.fontFaceProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","markdownDescription":"`@font-face` rule must define `src` and `font-family` properties."},"less.lint.hexColorLength":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"error","description":"Hex colors must consist of 3, 4, 6 or 8 hex numbers."},"less.lint.argumentsInColorFunction":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"error","description":"Invalid number of parameters."},"less.lint.unknownProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"Unknown property."},"less.lint.validProperties":{"type":"array","uniqueItems":true,"items":{"type":"string"},"scope":"resource","default":[],"description":"A list of properties that are not validated against the `unknownProperties` rule."},"less.lint.ieHack":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"IE hacks are only necessary when supporting IE7 and older."},"less.lint.unknownVendorSpecificProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"Unknown vendor specific property."},"less.lint.propertyIgnoredDueToDisplay":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","markdownDescription":"Property is ignored due to the display. E.g. with `display: inline`, the `width`, `height`, `margin-top`, `margin-bottom`, and `float` properties have no effect."},"less.lint.important":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"Avoid using `!important`. It is an indication that the specificity of the entire CSS has gotten out of control and needs to be refactored."},"less.lint.float":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"Avoid using `float`. Floats lead to fragile CSS that is easy to break if one aspect of the layout changes."},"less.lint.idSelector":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"Selectors should not contain IDs because these rules are too tightly coupled with the HTML."},"less.lint.unknownAtRules":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"Unknown at-rule."},"less.format.enable":{"type":"boolean","scope":"window","default":true,"description":"Enable/disable default LESS formatter."},"less.format.newlineBetweenSelectors":{"type":"boolean","scope":"resource","default":true,"markdownDescription":"Separate selectors with a new line."},"less.format.newlineBetweenRules":{"type":"boolean","scope":"resource","default":true,"markdownDescription":"Separate rulesets by a blank line."},"less.format.spaceAroundSelectorSeparator":{"type":"boolean","scope":"resource","default":false,"markdownDescription":"Ensure a space character around selector separators '>', '+', '~' (e.g. `a > b`)."},"less.format.braceStyle":{"type":"string","scope":"resource","default":"collapse","enum":["collapse","expand"],"markdownDescription":"Put braces on the same line as rules (`collapse`) or put braces on own line (`expand`)."},"less.format.preserveNewLines":{"type":"boolean","scope":"resource","default":true,"markdownDescription":"Whether existing line breaks before rules and declarations should be preserved."},"less.format.maxPreserveNewLines":{"type":["number","null"],"scope":"resource","default":null,"markdownDescription":"Maximum number of line breaks to be preserved in one chunk, when `#less.format.preserveNewLines#` is enabled."}}}],"configurationDefaults":{"[css]":{"editor.suggest.insertMode":"replace"},"[scss]":{"editor.suggest.insertMode":"replace"},"[less]":{"editor.suggest.insertMode":"replace"}},"jsonValidation":[{"fileMatch":"*.css-data.json","url":"https://raw.githubusercontent.com/microsoft/vscode-css-languageservice/master/docs/customData.schema.json"},{"fileMatch":"package.json","url":"./schemas/package.schema.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/css-language-features","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.dart"},"manifest":{"name":"dart","displayName":"Dart Language Basics","description":"Provides syntax highlighting & bracket matching in Dart files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin dart-lang/dart-syntax-highlight grammars/dart.json ./syntaxes/dart.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"dart","extensions":[".dart"],"aliases":["Dart"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"dart","scopeName":"source.dart","path":"./syntaxes/dart.tmLanguage.json"}]}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/dart","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.debug-auto-launch"},"manifest":{"name":"debug-auto-launch","displayName":"Node Debug Auto-attach","description":"Helper for auto-attach feature when node-debug extensions are not active.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.5.0"},"icon":"media/icon.png","capabilities":{"virtualWorkspaces":false,"untrustedWorkspaces":{"supported":true}},"activationEvents":["onStartupFinished"],"main":"./dist/extension","contributes":{"commands":[{"command":"extension.node-debug.toggleAutoAttach","title":"Toggle Auto Attach","category":"Debug"}]},"prettier":{"printWidth":100,"trailingComma":"all","singleQuote":true,"arrowParens":"avoid"},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/debug-auto-launch","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.debug-server-ready"},"manifest":{"name":"debug-server-ready","displayName":"Server Ready Action","description":"Open URI in browser if server under debugging is ready.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.32.0"},"icon":"media/icon.png","activationEvents":["onDebugResolve"],"capabilities":{"virtualWorkspaces":false,"untrustedWorkspaces":{"supported":true}},"enabledApiProposals":["terminalDataWriteEvent"],"main":"./dist/extension","contributes":{"debuggers":[{"type":"*","configurationAttributes":{"launch":{"properties":{"serverReadyAction":{"oneOf":[{"type":"object","additionalProperties":false,"markdownDescription":"Act upon a URI when a server program under debugging is ready (indicated by sending output of the form 'listening on port 3000' or 'Now listening on: https://localhost:5001' to the debug console.)","default":{"action":"openExternally","killOnServerStop":false},"properties":{"action":{"type":"string","enum":["openExternally"],"enumDescriptions":["Open URI externally with the default application."],"markdownDescription":"What to do with the URI when the server is ready.","default":"openExternally"},"pattern":{"type":"string","markdownDescription":"Server is ready if this pattern appears on the debug console. The first capture group must include a URI or a port number.","default":"listening on port ([0-9]+)"},"uriFormat":{"type":"string","markdownDescription":"A format string used when constructing the URI from a port number. The first '%s' is substituted with the port number.","default":"http://localhost:%s"},"killOnServerStop":{"type":"boolean","markdownDescription":"Stop the child session when the parent session stopped.","default":false}}},{"type":"object","additionalProperties":false,"markdownDescription":"Act upon a URI when a server program under debugging is ready (indicated by sending output of the form 'listening on port 3000' or 'Now listening on: https://localhost:5001' to the debug console.)","default":{"action":"debugWithEdge","pattern":"listening on port ([0-9]+)","uriFormat":"http://localhost:%s","webRoot":"${workspaceFolder}","killOnServerStop":false},"properties":{"action":{"type":"string","enum":["debugWithChrome","debugWithEdge"],"enumDescriptions":["Start debugging with the 'Debugger for Chrome'."],"markdownDescription":"What to do with the URI when the server is ready.","default":"debugWithEdge"},"pattern":{"type":"string","markdownDescription":"Server is ready if this pattern appears on the debug console. The first capture group must include a URI or a port number.","default":"listening on port ([0-9]+)"},"uriFormat":{"type":"string","markdownDescription":"A format string used when constructing the URI from a port number. The first '%s' is substituted with the port number.","default":"http://localhost:%s"},"webRoot":{"type":"string","markdownDescription":"Value passed to the debug configuration for the 'Debugger for Chrome'.","default":"${workspaceFolder}"},"killOnServerStop":{"type":"boolean","markdownDescription":"Stop the child session when the parent session stopped.","default":false}}},{"type":"object","additionalProperties":false,"markdownDescription":"Act upon a URI when a server program under debugging is ready (indicated by sending output of the form 'listening on port 3000' or 'Now listening on: https://localhost:5001' to the debug console.)","default":{"action":"startDebugging","name":"","killOnServerStop":false},"required":["name"],"properties":{"action":{"type":"string","enum":["startDebugging"],"enumDescriptions":["Run another launch configuration."],"markdownDescription":"What to do with the URI when the server is ready.","default":"startDebugging"},"pattern":{"type":"string","markdownDescription":"Server is ready if this pattern appears on the debug console. The first capture group must include a URI or a port number.","default":"listening on port ([0-9]+)"},"name":{"type":"string","markdownDescription":"Name of the launch configuration to run.","default":"Launch Browser"},"killOnServerStop":{"type":"boolean","markdownDescription":"Stop the child session when the parent session stopped.","default":false}}},{"type":"object","additionalProperties":false,"markdownDescription":"Act upon a URI when a server program under debugging is ready (indicated by sending output of the form 'listening on port 3000' or 'Now listening on: https://localhost:5001' to the debug console.)","default":{"action":"startDebugging","config":{"type":"node","request":"launch"},"killOnServerStop":false},"required":["config"],"properties":{"action":{"type":"string","enum":["startDebugging"],"enumDescriptions":["Run another launch configuration."],"markdownDescription":"What to do with the URI when the server is ready.","default":"startDebugging"},"pattern":{"type":"string","markdownDescription":"Server is ready if this pattern appears on the debug console. The first capture group must include a URI or a port number.","default":"listening on port ([0-9]+)"},"config":{"type":"object","markdownDescription":"The debug configuration to run.","default":{}},"killOnServerStop":{"type":"boolean","markdownDescription":"Stop the child session when the parent session stopped.","default":false}}}]}}}}}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/debug-server-ready","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.diff"},"manifest":{"name":"diff","displayName":"Diff Language Basics","description":"Provides syntax highlighting & bracket matching in Diff files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin textmate/diff.tmbundle Syntaxes/Diff.plist ./syntaxes/diff.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"diff","aliases":["Diff","diff"],"extensions":[".diff",".patch",".rej"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"diff","scopeName":"source.diff","path":"./syntaxes/diff.tmLanguage.json"}]}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/diff","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.docker"},"manifest":{"name":"docker","displayName":"Docker Language Basics","description":"Provides syntax highlighting and bracket matching in Docker files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"dockerfile","extensions":[".dockerfile",".containerfile"],"filenames":["Dockerfile","Containerfile"],"filenamePatterns":["Dockerfile.*","Containerfile.*"],"aliases":["Docker","Dockerfile","Containerfile"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"dockerfile","scopeName":"source.dockerfile","path":"./syntaxes/docker.tmLanguage.json"}],"configurationDefaults":{"[dockerfile]":{"editor.quickSuggestions":{"strings":true}}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/docker","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.emmet"},"manifest":{"name":"emmet","displayName":"Emmet","description":"Emmet support for VS Code","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.13.0"},"icon":"images/icon.png","categories":["Other"],"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"},"activationEvents":["onCommand:emmet.expandAbbreviation","onLanguage"],"main":"./dist/node/emmetNodeMain","browser":"./dist/browser/emmetBrowserMain","contributes":{"configuration":{"type":"object","title":"Emmet","properties":{"emmet.showExpandedAbbreviation":{"type":["string"],"enum":["never","always","inMarkupAndStylesheetFilesOnly"],"default":"always","markdownDescription":"Shows expanded Emmet abbreviations as suggestions.\nThe option `\"inMarkupAndStylesheetFilesOnly\"` applies to html, haml, jade, slim, xml, xsl, css, scss, sass, less and stylus.\nThe option `\"always\"` applies to all parts of the file regardless of markup/css."},"emmet.showAbbreviationSuggestions":{"type":"boolean","default":true,"scope":"language-overridable","markdownDescription":"Shows possible Emmet abbreviations as suggestions. Not applicable in stylesheets or when emmet.showExpandedAbbreviation is set to `\"never\"`."},"emmet.includeLanguages":{"type":"object","additionalProperties":{"type":"string"},"default":{},"markdownDescription":"Enable Emmet abbreviations in languages that are not supported by default. Add a mapping here between the language and Emmet supported language.\n For example: `{\"vue-html\": \"html\", \"javascript\": \"javascriptreact\"}`"},"emmet.variables":{"type":"object","properties":{"lang":{"type":"string","default":"en"},"charset":{"type":"string","default":"UTF-8"}},"additionalProperties":{"type":"string"},"default":{},"markdownDescription":"Variables to be used in Emmet snippets."},"emmet.syntaxProfiles":{"type":"object","default":{},"markdownDescription":"Define profile for specified syntax or use your own profile with specific rules."},"emmet.excludeLanguages":{"type":"array","items":{"type":"string"},"default":["markdown"],"markdownDescription":"An array of languages where Emmet abbreviations should not be expanded."},"emmet.extensionsPath":{"type":"array","items":{"type":"string","markdownDescription":"A path containing Emmet syntaxProfiles and/or snippets."},"default":[],"scope":"machine-overridable","markdownDescription":"An array of paths, where each path can contain Emmet syntaxProfiles and/or snippet files.\nIn case of conflicts, the profiles/snippets of later paths will override those of earlier paths.\nSee https://code.visualstudio.com/docs/editor/emmet for more information and an example snippet file."},"emmet.triggerExpansionOnTab":{"type":"boolean","default":false,"scope":"language-overridable","markdownDescription":"When enabled, Emmet abbreviations are expanded when pressing TAB, even when completions do not show up. When disabled, completions that show up can still be accepted by pressing TAB."},"emmet.useInlineCompletions":{"type":"boolean","default":false,"markdownDescription":"If `true`, Emmet will use inline completions to suggest expansions. To prevent the non-inline completion item provider from showing up as often while this setting is `true`, turn `#editor.quickSuggestions#` to `inline` or `off` for the `other` item."},"emmet.preferences":{"type":"object","default":{},"markdownDescription":"Preferences used to modify behavior of some actions and resolvers of Emmet.","properties":{"css.intUnit":{"type":"string","default":"px","markdownDescription":"Default unit for integer values."},"css.floatUnit":{"type":"string","default":"em","markdownDescription":"Default unit for float values."},"css.propertyEnd":{"type":"string","default":";","markdownDescription":"Symbol to be placed at the end of CSS property when expanding CSS abbreviations."},"sass.propertyEnd":{"type":"string","default":"","markdownDescription":"Symbol to be placed at the end of CSS property when expanding CSS abbreviations in Sass files."},"stylus.propertyEnd":{"type":"string","default":"","markdownDescription":"Symbol to be placed at the end of CSS property when expanding CSS abbreviations in Stylus files."},"css.valueSeparator":{"type":"string","default":": ","markdownDescription":"Symbol to be placed at the between CSS property and value when expanding CSS abbreviations."},"sass.valueSeparator":{"type":"string","default":": ","markdownDescription":"Symbol to be placed at the between CSS property and value when expanding CSS abbreviations in Sass files."},"stylus.valueSeparator":{"type":"string","default":" ","markdownDescription":"Symbol to be placed at the between CSS property and value when expanding CSS abbreviations in Stylus files."},"bem.elementSeparator":{"type":"string","default":"__","markdownDescription":"Element separator used for classes when using the BEM filter."},"bem.modifierSeparator":{"type":"string","default":"_","markdownDescription":"Modifier separator used for classes when using the BEM filter."},"filter.commentBefore":{"type":"string","default":"","markdownDescription":"A definition of comment that should be placed before matched element when comment filter is applied."},"filter.commentAfter":{"type":"string","default":"\n","markdownDescription":"A definition of comment that should be placed after matched element when comment filter is applied."},"filter.commentTrigger":{"type":"array","default":["id","class"],"markdownDescription":"A comma-separated list of attribute names that should exist in the abbreviation for the comment filter to be applied."},"format.noIndentTags":{"type":"array","default":["html"],"markdownDescription":"An array of tag names that should never get inner indentation."},"format.forceIndentationForTags":{"type":"array","default":["body"],"markdownDescription":"An array of tag names that should always get inner indentation."},"profile.allowCompactBoolean":{"type":"boolean","default":false,"markdownDescription":"If `true`, compact notation of boolean attributes are produced."},"css.webkitProperties":{"type":"string","default":null,"markdownDescription":"Comma separated CSS properties that get the 'webkit' vendor prefix when used in Emmet abbreviation that starts with `-`. Set to empty string to always avoid the 'webkit' prefix."},"css.mozProperties":{"type":"string","default":null,"markdownDescription":"Comma separated CSS properties that get the 'moz' vendor prefix when used in Emmet abbreviation that starts with `-`. Set to empty string to always avoid the 'moz' prefix."},"css.oProperties":{"type":"string","default":null,"markdownDescription":"Comma separated CSS properties that get the 'o' vendor prefix when used in Emmet abbreviation that starts with `-`. Set to empty string to always avoid the 'o' prefix."},"css.msProperties":{"type":"string","default":null,"markdownDescription":"Comma separated CSS properties that get the 'ms' vendor prefix when used in Emmet abbreviation that starts with `-`. Set to empty string to always avoid the 'ms' prefix."},"css.fuzzySearchMinScore":{"type":"number","default":0.3,"markdownDescription":"The minimum score (from 0 to 1) that fuzzy-matched abbreviation should achieve. Lower values may produce many false-positive matches, higher values may reduce possible matches."},"output.inlineBreak":{"type":"number","default":0,"markdownDescription":"The number of sibling inline elements needed for line breaks to be placed between those elements. If `0`, inline elements are always expanded onto a single line."},"output.reverseAttributes":{"type":"boolean","default":false,"markdownDescription":"If `true`, reverses attribute merging directions when resolving snippets."},"output.selfClosingStyle":{"type":"string","enum":["html","xhtml","xml"],"default":"html","markdownDescription":"Style of self-closing tags: html (`
`), xml (`
`) or xhtml (`
`)."},"css.color.short":{"type":"boolean","default":true,"markdownDescription":"If `true`, color values like `#f` will be expanded to `#fff` instead of `#ffffff`."}}},"emmet.showSuggestionsAsSnippets":{"type":"boolean","default":false,"markdownDescription":"If `true`, then Emmet suggestions will show up as snippets allowing you to order them as per `#editor.snippetSuggestions#` setting."},"emmet.optimizeStylesheetParsing":{"type":"boolean","default":true,"markdownDescription":"When set to `false`, the whole file is parsed to determine if current position is valid for expanding Emmet abbreviations. When set to `true`, only the content around the current position in CSS/SCSS/Less files is parsed."}}},"commands":[{"command":"editor.emmet.action.wrapWithAbbreviation","title":"Wrap with Abbreviation","category":"Emmet"},{"command":"editor.emmet.action.removeTag","title":"Remove Tag","category":"Emmet"},{"command":"editor.emmet.action.updateTag","title":"Update Tag","category":"Emmet"},{"command":"editor.emmet.action.matchTag","title":"Go to Matching Pair","category":"Emmet"},{"command":"editor.emmet.action.balanceIn","title":"Balance (inward)","category":"Emmet"},{"command":"editor.emmet.action.balanceOut","title":"Balance (outward)","category":"Emmet"},{"command":"editor.emmet.action.prevEditPoint","title":"Go to Previous Edit Point","category":"Emmet"},{"command":"editor.emmet.action.nextEditPoint","title":"Go to Next Edit Point","category":"Emmet"},{"command":"editor.emmet.action.mergeLines","title":"Merge Lines","category":"Emmet"},{"command":"editor.emmet.action.selectPrevItem","title":"Select Previous Item","category":"Emmet"},{"command":"editor.emmet.action.selectNextItem","title":"Select Next Item","category":"Emmet"},{"command":"editor.emmet.action.splitJoinTag","title":"Split/Join Tag","category":"Emmet"},{"command":"editor.emmet.action.toggleComment","title":"Toggle Comment","category":"Emmet"},{"command":"editor.emmet.action.evaluateMathExpression","title":"Evaluate Math Expression","category":"Emmet"},{"command":"editor.emmet.action.updateImageSize","title":"Update Image Size","category":"Emmet"},{"command":"editor.emmet.action.incrementNumberByOneTenth","title":"Increment by 0.1","category":"Emmet"},{"command":"editor.emmet.action.incrementNumberByOne","title":"Increment by 1","category":"Emmet"},{"command":"editor.emmet.action.incrementNumberByTen","title":"Increment by 10","category":"Emmet"},{"command":"editor.emmet.action.decrementNumberByOneTenth","title":"Decrement by 0.1","category":"Emmet"},{"command":"editor.emmet.action.decrementNumberByOne","title":"Decrement by 1","category":"Emmet"},{"command":"editor.emmet.action.decrementNumberByTen","title":"Decrement by 10","category":"Emmet"},{"command":"editor.emmet.action.reflectCSSValue","title":"Reflect CSS Value","category":"Emmet"},{"command":"workbench.action.showEmmetCommands","title":"Show Emmet Commands","category":""}],"menus":{"commandPalette":[{"command":"editor.emmet.action.wrapWithAbbreviation","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.removeTag","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.updateTag","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.matchTag","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.balanceIn","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.balanceOut","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.prevEditPoint","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.nextEditPoint","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.mergeLines","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.selectPrevItem","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.selectNextItem","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.splitJoinTag","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.toggleComment","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.evaluateMathExpression","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.updateImageSize","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.incrementNumberByOneTenth","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.incrementNumberByOne","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.incrementNumberByTen","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.decrementNumberByOneTenth","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.decrementNumberByOne","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.decrementNumberByTen","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.reflectCSSValue","when":"!activeEditorIsReadonly"}]}},"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/emmet","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.extension-editing"},"manifest":{"name":"extension-editing","displayName":"Extension Authoring","description":"Provides linting capabilities for authoring extensions.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.4.0"},"icon":"images/icon.png","activationEvents":["onLanguage:json","onLanguage:markdown"],"main":"./dist/extensionEditingMain","browser":"./dist/browser/extensionEditingBrowserMain","capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"contributes":{"jsonValidation":[{"fileMatch":"package.json","url":"vscode://schemas/vscode-extensions"},{"fileMatch":"*language-configuration.json","url":"vscode://schemas/language-configuration"},{"fileMatch":["*icon-theme.json","!*product-icon-theme.json"],"url":"vscode://schemas/icon-theme"},{"fileMatch":"*product-icon-theme.json","url":"vscode://schemas/product-icon-theme"},{"fileMatch":"*color-theme.json","url":"vscode://schemas/color-theme"}],"languages":[{"id":"ignore","filenames":[".vscodeignore"]}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/extension-editing","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.fsharp"},"manifest":{"name":"fsharp","displayName":"F# Language Basics","description":"Provides snippets, syntax highlighting, bracket matching and folding in F# files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin ionide/ionide-fsgrammar grammars/fsharp.json ./syntaxes/fsharp.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"fsharp","extensions":[".fs",".fsi",".fsx",".fsscript"],"aliases":["F#","FSharp","fsharp"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"fsharp","scopeName":"source.fsharp","path":"./syntaxes/fsharp.tmLanguage.json"}],"snippets":[{"language":"fsharp","path":"./snippets/fsharp.code-snippets"}],"configurationDefaults":{"[fsharp]":{"diffEditor.ignoreTrimWhitespace":false}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/fsharp","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.git"},"manifest":{"name":"git","displayName":"Git","description":"Git SCM Integration","publisher":"vscode","license":"MIT","version":"1.0.0","engines":{"vscode":"^1.5.0"},"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","enabledApiProposals":["canonicalUriProvider","contribEditSessions","contribEditorContentMenu","contribMergeEditorMenus","contribMultiDiffEditorMenus","contribDiffEditorGutterToolBarMenus","contribSourceControlHistoryItemMenu","contribSourceControlHistoryTitleMenu","contribSourceControlInputBoxMenu","contribSourceControlTitleMenu","contribViewsWelcome","editSessionIdentityProvider","quickDiffProvider","quickInputButtonLocation","quickPickSortByLabel","scmActionButton","scmHistoryProvider","scmMultiDiffEditor","scmProviderOptions","scmSelectedProvider","scmTextDocument","scmValidation","statusBarItemTooltip","tabInputMultiDiff","tabInputTextMerge","textEditorDiffInformation","timeline"],"categories":["Other"],"activationEvents":["*","onEditSession:file","onFileSystem:git","onFileSystem:git-show"],"extensionDependencies":["vscode.git-base"],"main":"./dist/main","icon":"resources/icons/git.png","capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":false}},"contributes":{"commands":[{"command":"git.continueInLocalClone","title":"Clone Repository Locally and Open on Desktop...","category":"Git","icon":"$(repo-clone)","enablement":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && remoteName"},{"command":"git.clone","title":"Clone","category":"Git","enablement":"!operationInProgress"},{"command":"git.cloneRecursive","title":"Clone (Recursive)","category":"Git","enablement":"!operationInProgress"},{"command":"git.init","title":"Initialize Repository","category":"Git","icon":"$(add)","enablement":"!operationInProgress"},{"command":"git.openRepository","title":"Open Repository","category":"Git","enablement":"!operationInProgress"},{"command":"git.reopenClosedRepositories","title":"Reopen Closed Repositories...","icon":"$(repo)","category":"Git","enablement":"!operationInProgress && git.closedRepositoryCount != 0"},{"command":"git.close","title":"Close Repository","category":"Git","enablement":"!operationInProgress"},{"command":"git.closeOtherRepositories","title":"Close Other Repositories","category":"Git","enablement":"!operationInProgress"},{"command":"git.openWorktree","title":"Open Worktree in Current Window","category":"Git","enablement":"!operationInProgress"},{"command":"git.openWorktreeInNewWindow","title":"Open Worktree in New Window","category":"Git","enablement":"!operationInProgress"},{"command":"git.refresh","title":"Refresh","category":"Git","icon":"$(refresh)","enablement":"!operationInProgress"},{"command":"git.compareWithWorkspace","title":"Compare with Workspace","category":"Git"},{"command":"git.openChange","title":"Open Changes","category":"Git","icon":"$(compare-changes)"},{"command":"git.openAllChanges","title":"Open All Changes","category":"Git"},{"command":"git.openFile","title":"Open File","category":"Git","icon":"$(go-to-file)"},{"command":"git.openFile2","title":"Open File","category":"Git","icon":"$(go-to-file)"},{"command":"git.openHEADFile","title":"Open File (HEAD)","category":"Git"},{"command":"git.stage","title":"Stage Changes","category":"Git","icon":"$(add)","enablement":"!operationInProgress"},{"command":"git.stageAll","title":"Stage All Changes","category":"Git","icon":"$(add)","enablement":"!operationInProgress"},{"command":"git.stageAllTracked","title":"Stage All Tracked Changes","category":"Git","icon":"$(add)","enablement":"!operationInProgress"},{"command":"git.stageAllUntracked","title":"Stage All Untracked Changes","category":"Git","icon":"$(add)","enablement":"!operationInProgress"},{"command":"git.stageAllMerge","title":"Stage All Merge Changes","category":"Git","icon":"$(add)","enablement":"!operationInProgress"},{"command":"git.stageSelectedRanges","title":"Stage Selected Ranges","category":"Git","enablement":"!operationInProgress"},{"command":"git.diff.stageHunk","title":"Stage Block","category":"Git","icon":"$(plus)"},{"command":"git.diff.stageSelection","title":"Stage Selection","category":"Git","icon":"$(plus)"},{"command":"git.revertSelectedRanges","title":"Revert Selected Ranges","category":"Git","enablement":"!operationInProgress"},{"command":"git.stageChange","title":"Stage Change","category":"Git","icon":"$(add)","enablement":"!operationInProgress"},{"command":"git.stageFile","title":"Stage Changes","category":"Git","icon":"$(add)","enablement":"!operationInProgress"},{"command":"git.revertChange","title":"Revert Change","category":"Git","icon":"$(discard)","enablement":"!operationInProgress"},{"command":"git.unstage","title":"Unstage Changes","category":"Git","icon":"$(remove)","enablement":"!operationInProgress"},{"command":"git.unstageAll","title":"Unstage All Changes","category":"Git","icon":"$(remove)","enablement":"!operationInProgress"},{"command":"git.unstageSelectedRanges","title":"Unstage Selected Ranges","category":"Git","enablement":"!operationInProgress"},{"command":"git.unstageChange","title":"Unstage Change","category":"Git","icon":"$(remove)","enablement":"!operationInProgress"},{"command":"git.unstageFile","title":"Unstage Changes","category":"Git","icon":"$(remove)","enablement":"!operationInProgress"},{"command":"git.clean","title":"Discard Changes","category":"Git","icon":"$(discard)","enablement":"!operationInProgress"},{"command":"git.cleanAll","title":"Discard All Changes","category":"Git","icon":"$(discard)","enablement":"!operationInProgress"},{"command":"git.cleanAllTracked","title":"Discard All Tracked Changes","category":"Git","icon":"$(discard)","enablement":"!operationInProgress"},{"command":"git.cleanAllUntracked","title":"Discard All Untracked Changes","category":"Git","icon":"$(discard)","enablement":"!operationInProgress"},{"command":"git.rename","title":"Rename","category":"Git","icon":"$(discard)","enablement":"!operationInProgress"},{"command":"git.commit","title":"Commit","category":"Git","icon":"$(check)","enablement":"!operationInProgress"},{"command":"git.commitAmend","title":"Commit (Amend)","category":"Git","icon":"$(check)","enablement":"!operationInProgress"},{"command":"git.commitSigned","title":"Commit (Signed Off)","category":"Git","icon":"$(check)","enablement":"!operationInProgress"},{"command":"git.commitStaged","title":"Commit Staged","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitEmpty","title":"Commit Empty","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitStagedSigned","title":"Commit Staged (Signed Off)","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitStagedAmend","title":"Commit Staged (Amend)","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitAll","title":"Commit All","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitAllSigned","title":"Commit All (Signed Off)","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitAllAmend","title":"Commit All (Amend)","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitNoVerify","title":"Commit (No Verify)","category":"Git","icon":"$(check)","enablement":"!operationInProgress"},{"command":"git.commitStagedNoVerify","title":"Commit Staged (No Verify)","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitEmptyNoVerify","title":"Commit Empty (No Verify)","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitStagedSignedNoVerify","title":"Commit Staged (Signed Off, No Verify)","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitAmendNoVerify","title":"Commit (Amend, No Verify)","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitSignedNoVerify","title":"Commit (Signed Off, No Verify)","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitStagedAmendNoVerify","title":"Commit Staged (Amend, No Verify)","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitAllNoVerify","title":"Commit All (No Verify)","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitAllSignedNoVerify","title":"Commit All (Signed Off, No Verify)","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitAllAmendNoVerify","title":"Commit All (Amend, No Verify)","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitMessageAccept","title":"Accept Commit Message","icon":"$(check)","category":"Git"},{"command":"git.commitMessageDiscard","title":"Discard Commit Message","icon":"$(discard)","category":"Git"},{"command":"git.restoreCommitTemplate","title":"Restore Commit Template","category":"Git","enablement":"!operationInProgress"},{"command":"git.undoCommit","title":"Undo Last Commit","category":"Git","enablement":"!operationInProgress"},{"command":"git.checkout","title":"Checkout to...","category":"Git","enablement":"!operationInProgress"},{"command":"git.graph.checkout","title":"Checkout","category":"Git","enablement":"!operationInProgress"},{"command":"git.checkoutDetached","title":"Checkout to (Detached)...","category":"Git","enablement":"!operationInProgress"},{"command":"git.graph.checkoutDetached","title":"Checkout (Detached)","category":"Git","enablement":"!operationInProgress"},{"command":"git.branch","title":"Create Branch...","category":"Git","enablement":"!operationInProgress"},{"command":"git.branchFrom","title":"Create Branch From...","category":"Git","enablement":"!operationInProgress"},{"command":"git.deleteBranch","title":"Delete Branch...","category":"Git","enablement":"!operationInProgress"},{"command":"git.graph.deleteBranch","title":"Delete Branch","category":"Git","enablement":"!operationInProgress"},{"command":"git.deleteRemoteBranch","title":"Delete Remote Branch...","category":"Git","enablement":"!operationInProgress"},{"command":"git.renameBranch","title":"Rename Branch...","category":"Git","enablement":"!operationInProgress"},{"command":"git.merge","title":"Merge...","category":"Git","enablement":"!operationInProgress"},{"command":"git.mergeAbort","title":"Abort Merge","category":"Git","enablement":"gitMergeInProgress"},{"command":"git.rebase","title":"Rebase Branch...","category":"Git","enablement":"!operationInProgress"},{"command":"git.createTag","title":"Create Tag...","category":"Git","enablement":"!operationInProgress"},{"command":"git.deleteTag","title":"Delete Tag...","category":"Git","enablement":"!operationInProgress"},{"command":"git.migrateWorktreeChanges","title":"Migrate Worktree Changes...","category":"Git","enablement":"!operationInProgress"},{"command":"git.createWorktree","title":"Create Worktree...","category":"Git","enablement":"!operationInProgress"},{"command":"git.deleteWorktree","title":"Delete Worktree","category":"Git","enablement":"!operationInProgress"},{"command":"git.deleteWorktreeFromPalette","title":"Delete Worktree...","category":"Git","enablement":"!operationInProgress"},{"command":"git.graph.deleteTag","title":"Delete Tag","category":"Git","enablement":"!operationInProgress"},{"command":"git.deleteRemoteTag","title":"Delete Remote Tag...","category":"Git","enablement":"!operationInProgress"},{"command":"git.fetch","title":"Fetch","category":"Git","enablement":"!operationInProgress"},{"command":"git.fetchPrune","title":"Fetch (Prune)","category":"Git","enablement":"!operationInProgress"},{"command":"git.fetchAll","title":"Fetch From All Remotes","icon":"$(git-fetch)","category":"Git","enablement":"!operationInProgress"},{"command":"git.fetchRef","title":"Fetch","icon":"$(git-fetch)","category":"Git","enablement":"!operationInProgress"},{"command":"git.pull","title":"Pull","category":"Git","enablement":"!operationInProgress"},{"command":"git.pullRebase","title":"Pull (Rebase)","category":"Git","enablement":"!operationInProgress"},{"command":"git.pullFrom","title":"Pull from...","category":"Git","enablement":"!operationInProgress"},{"command":"git.pullRef","title":"Pull","icon":"$(repo-pull)","category":"Git","enablement":"!operationInProgress && scmCurrentHistoryItemRefInFilter && scmCurrentHistoryItemRefHasRemote"},{"command":"git.push","title":"Push","category":"Git","enablement":"!operationInProgress"},{"command":"git.pushForce","title":"Push (Force)","category":"Git","enablement":"!operationInProgress"},{"command":"git.pushTo","title":"Push to...","category":"Git","enablement":"!operationInProgress"},{"command":"git.pushToForce","title":"Push to... (Force)","category":"Git","enablement":"!operationInProgress"},{"command":"git.pushTags","title":"Push Tags","category":"Git","enablement":"!operationInProgress"},{"command":"git.pushWithTags","title":"Push (Follow Tags)","category":"Git","enablement":"!operationInProgress"},{"command":"git.pushWithTagsForce","title":"Push (Follow Tags, Force)","category":"Git","enablement":"!operationInProgress"},{"command":"git.pushRef","title":"Push","icon":"$(repo-push)","category":"Git","enablement":"!operationInProgress && scmCurrentHistoryItemRefInFilter && scmCurrentHistoryItemRefHasRemote"},{"command":"git.cherryPick","title":"Cherry Pick...","category":"Git","enablement":"!operationInProgress"},{"command":"git.graph.cherryPick","title":"Cherry Pick","category":"Git","enablement":"!operationInProgress"},{"command":"git.cherryPickAbort","title":"Abort Cherry Pick","category":"Git","enablement":"!operationInProgress"},{"command":"git.addRemote","title":"Add Remote...","category":"Git","enablement":"!operationInProgress"},{"command":"git.removeRemote","title":"Remove Remote","category":"Git","enablement":"!operationInProgress"},{"command":"git.sync","title":"Sync","category":"Git","enablement":"!operationInProgress"},{"command":"git.syncRebase","title":"Sync (Rebase)","category":"Git","enablement":"!operationInProgress"},{"command":"git.publish","title":"Publish Branch...","category":"Git","icon":"$(cloud-upload)","enablement":"!operationInProgress"},{"command":"git.showOutput","title":"Show Git Output","category":"Git"},{"command":"git.ignore","title":"Add to .gitignore","category":"Git","enablement":"!operationInProgress"},{"command":"git.revealInExplorer","title":"Reveal in Explorer View","category":"Git"},{"command":"git.revealFileInOS.linux","title":"Open Containing Folder","category":"Git"},{"command":"git.revealFileInOS.mac","title":"Reveal in Finder","category":"Git"},{"command":"git.revealFileInOS.windows","title":"Reveal in File Explorer","category":"Git"},{"command":"git.stashIncludeUntracked","title":"Stash (Include Untracked)","category":"Git","enablement":"!operationInProgress"},{"command":"git.stash","title":"Stash","category":"Git","enablement":"!operationInProgress"},{"command":"git.stashStaged","title":"Stash Staged","category":"Git","enablement":"!operationInProgress && gitVersion2.35"},{"command":"git.stashPop","title":"Pop Stash...","category":"Git","enablement":"!operationInProgress"},{"command":"git.stashPopLatest","title":"Pop Latest Stash","category":"Git","enablement":"!operationInProgress"},{"command":"git.stashPopEditor","title":"Pop Stash","icon":"$(git-stash-pop)","category":"Git","enablement":"!operationInProgress"},{"command":"git.stashApply","title":"Apply Stash...","category":"Git","enablement":"!operationInProgress"},{"command":"git.stashApplyLatest","title":"Apply Latest Stash","category":"Git","enablement":"!operationInProgress"},{"command":"git.stashApplyEditor","title":"Apply Stash","icon":"$(git-stash-apply)","category":"Git","enablement":"!operationInProgress"},{"command":"git.stashDrop","title":"Drop Stash...","category":"Git","enablement":"!operationInProgress"},{"command":"git.stashDropAll","title":"Drop All Stashes...","category":"Git","enablement":"!operationInProgress"},{"command":"git.stashDropEditor","title":"Drop Stash","icon":"$(trash)","category":"Git","enablement":"!operationInProgress"},{"command":"git.stashView","title":"View Stash...","category":"Git","enablement":"!operationInProgress"},{"command":"git.timeline.openDiff","title":"Open Changes","icon":"$(compare-changes)","category":"Git"},{"command":"git.timeline.copyCommitId","title":"Copy Commit ID","category":"Git"},{"command":"git.timeline.copyCommitMessage","title":"Copy Commit Message","category":"Git"},{"command":"git.timeline.selectForCompare","title":"Select for Compare","category":"Git"},{"command":"git.timeline.compareWithSelected","title":"Compare with Selected","category":"Git"},{"command":"git.timeline.viewCommit","title":"Open Commit","icon":"$(diff-multiple)","category":"Git"},{"command":"git.rebaseAbort","title":"Abort Rebase","category":"Git","enablement":"gitRebaseInProgress"},{"command":"git.closeAllDiffEditors","title":"Close All Diff Editors","category":"Git","enablement":"!operationInProgress"},{"command":"git.closeAllUnmodifiedEditors","title":"Close All Unmodified Editors","category":"Git","enablement":"!operationInProgress"},{"command":"git.api.getRepositories","title":"Get Repositories","category":"Git API"},{"command":"git.api.getRepositoryState","title":"Get Repository State","category":"Git API"},{"command":"git.api.getRemoteSources","title":"Get Remote Sources","category":"Git API"},{"command":"git.acceptMerge","title":"Complete Merge","category":"Git","enablement":"isMergeEditor && mergeEditorResultUri in git.mergeChanges"},{"command":"git.openMergeEditor","title":"Resolve in Merge Editor","category":"Git"},{"command":"git.runGitMerge","title":"Compute Conflicts With Git","category":"Git","enablement":"isMergeEditor"},{"command":"git.runGitMergeDiff3","title":"Compute Conflicts With Git (Diff3)","category":"Git","enablement":"isMergeEditor"},{"command":"git.manageUnsafeRepositories","title":"Manage Unsafe Repositories","category":"Git"},{"command":"git.openRepositoriesInParentFolders","title":"Open Repositories In Parent Folders","category":"Git"},{"command":"git.viewChanges","title":"Open Changes","icon":"$(diff-multiple)","category":"Git","enablement":"!operationInProgress"},{"command":"git.viewStagedChanges","title":"Open Staged Changes","icon":"$(diff-multiple)","category":"Git","enablement":"!operationInProgress"},{"command":"git.viewUntrackedChanges","title":"Open Untracked Changes","icon":"$(diff-multiple)","category":"Git","enablement":"!operationInProgress"},{"command":"git.viewCommit","title":"Open Commit","icon":"$(diff-multiple)","category":"Git","enablement":"!operationInProgress"},{"command":"git.copyCommitId","title":"Copy Commit ID","category":"Git"},{"command":"git.copyCommitMessage","title":"Copy Commit Message","category":"Git"},{"command":"git.blame.toggleEditorDecoration","title":"Toggle Git Blame Editor Decoration","category":"Git"},{"command":"git.blame.toggleStatusBarItem","title":"Toggle Git Blame Status Bar Item","category":"Git"}],"continueEditSession":[{"command":"git.continueInLocalClone","qualifiedName":"Continue Working in New Local Clone","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && remoteName","remoteGroup":"remote_42_git_0_local@0"}],"keybindings":[{"command":"git.stageSelectedRanges","key":"ctrl+k ctrl+alt+s","mac":"cmd+k cmd+alt+s","when":"editorTextFocus && resourceScheme == file"},{"command":"git.unstageSelectedRanges","key":"ctrl+k ctrl+n","mac":"cmd+k cmd+n","when":"editorTextFocus && isInDiffEditor && isInDiffRightEditor && resourceScheme == git"},{"command":"git.revertSelectedRanges","key":"ctrl+k ctrl+r","mac":"cmd+k cmd+r","when":"editorTextFocus && resourceScheme == file"}],"menus":{"commandPalette":[{"command":"git.continueInLocalClone","when":"false"},{"command":"git.clone","when":"config.git.enabled && !git.missing"},{"command":"git.cloneRecursive","when":"config.git.enabled && !git.missing"},{"command":"git.init","when":"config.git.enabled && !git.missing && remoteName != 'codespaces'"},{"command":"git.openRepository","when":"config.git.enabled && !git.missing"},{"command":"git.close","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.closeOtherRepositories","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount > 1"},{"command":"git.openWorktree","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount > 1"},{"command":"git.openWorktreeInNewWindow","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount > 1"},{"command":"git.refresh","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.openFile","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file && scmActiveResourceHasChanges"},{"command":"git.openHEADFile","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file && scmActiveResourceHasChanges"},{"command":"git.openChange","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stage","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stageAll","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stageAllTracked","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stageAllUntracked","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stageAllMerge","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stageSelectedRanges","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file"},{"command":"git.stageChange","when":"false"},{"command":"git.revertSelectedRanges","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file"},{"command":"git.revertChange","when":"false"},{"command":"git.openFile2","when":"false"},{"command":"git.unstage","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.unstageAll","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.unstageSelectedRanges","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == git"},{"command":"git.unstageChange","when":"false"},{"command":"git.clean","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.cleanAll","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.cleanAllTracked","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.cleanAllUntracked","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.rename","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file && scmActiveResourceRepository"},{"command":"git.commit","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.commitAmend","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.commitSigned","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.commitStaged","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.commitEmpty","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.commitStagedSigned","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.commitStagedAmend","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.commitAll","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.commitAllSigned","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.commitAllAmend","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.rebaseAbort","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && gitRebaseInProgress"},{"command":"git.commitNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.commitStagedNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.commitEmptyNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.commitStagedSignedNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.commitAmendNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.commitSignedNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.commitStagedAmendNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.commitAllNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.commitAllSignedNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.commitAllAmendNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.restoreCommitTemplate","when":"false"},{"command":"git.commitMessageAccept","when":"false"},{"command":"git.commitMessageDiscard","when":"false"},{"command":"git.revealInExplorer","when":"false"},{"command":"git.revealFileInOS.linux","when":"false"},{"command":"git.revealFileInOS.mac","when":"false"},{"command":"git.revealFileInOS.windows","when":"false"},{"command":"git.undoCommit","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.checkout","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.branch","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.branchFrom","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.deleteBranch","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.deleteRemoteBranch","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.renameBranch","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.cherryPick","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.cherryPickAbort","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && gitCherryPickInProgress"},{"command":"git.pull","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.pullFrom","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.pullRebase","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.merge","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.mergeAbort","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && gitMergeInProgress"},{"command":"git.rebase","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.createTag","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.deleteTag","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.migrateWorktreeChanges","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.createWorktree","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.deleteWorktree","when":"false"},{"command":"git.openWorktree","when":"false"},{"command":"git.openWorktreeInNewWindow","when":"false"},{"command":"git.deleteWorktreeFromPalette","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.deleteRemoteTag","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.fetch","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.fetchPrune","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.fetchAll","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.push","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.pushForce","when":"config.git.enabled && !git.missing && config.git.allowForcePush && gitOpenRepositoryCount != 0"},{"command":"git.pushTo","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.pushToForce","when":"config.git.enabled && !git.missing && config.git.allowForcePush && gitOpenRepositoryCount != 0"},{"command":"git.pushWithTags","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.pushWithTagsForce","when":"config.git.enabled && !git.missing && config.git.allowForcePush && gitOpenRepositoryCount != 0"},{"command":"git.pushTags","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.addRemote","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.removeRemote","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.sync","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.syncRebase","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.publish","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.showOutput","when":"config.git.enabled"},{"command":"git.ignore","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file && scmActiveResourceRepository"},{"command":"git.stashIncludeUntracked","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stash","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stashStaged","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && gitVersion2.35"},{"command":"git.stashPop","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stashPopLatest","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stashPopEditor","when":"false"},{"command":"git.stashApply","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stashApplyLatest","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stashApplyEditor","when":"false"},{"command":"git.stashDrop","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stashDropAll","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stashDropEditor","when":"false"},{"command":"git.timeline.openDiff","when":"false"},{"command":"git.timeline.copyCommitId","when":"false"},{"command":"git.timeline.copyCommitMessage","when":"false"},{"command":"git.timeline.selectForCompare","when":"false"},{"command":"git.timeline.compareWithSelected","when":"false"},{"command":"git.timeline.viewCommit","when":"false"},{"command":"git.closeAllDiffEditors","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.api.getRepositories","when":"false"},{"command":"git.api.getRepositoryState","when":"false"},{"command":"git.api.getRemoteSources","when":"false"},{"command":"git.openMergeEditor","when":"false"},{"command":"git.manageUnsafeRepositories","when":"config.git.enabled && !git.missing && git.unsafeRepositoryCount != 0"},{"command":"git.openRepositoriesInParentFolders","when":"config.git.enabled && !git.missing && git.parentRepositoryCount != 0"},{"command":"git.stashView","when":"config.git.enabled && !git.missing && config.multiDiffEditor.experimental.enabled"},{"command":"git.viewChanges","when":"config.git.enabled && !git.missing && config.multiDiffEditor.experimental.enabled"},{"command":"git.viewStagedChanges","when":"config.git.enabled && !git.missing && config.multiDiffEditor.experimental.enabled"},{"command":"git.viewUntrackedChanges","when":"config.git.enabled && !git.missing && config.multiDiffEditor.experimental.enabled && config.git.untrackedChanges == separate"},{"command":"git.viewCommit","when":"false"},{"command":"git.stageFile","when":"false"},{"command":"git.unstageFile","when":"false"},{"command":"git.fetchRef","when":"false"},{"command":"git.pullRef","when":"false"},{"command":"git.pushRef","when":"false"},{"command":"git.copyCommitId","when":"false"},{"command":"git.copyCommitMessage","when":"false"},{"command":"git.graph.checkout","when":"false"},{"command":"git.graph.checkoutDetached","when":"false"},{"command":"git.graph.deleteBranch","when":"false"},{"command":"git.graph.deleteTag","when":"false"},{"command":"git.graph.cherryPick","when":"false"},{"command":"git.diff.stageHunk","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && diffEditorOriginalUri =~ /^git\\:.*%22ref%22%3A%22~%22%7D$/"},{"command":"git.diff.stageSelection","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && diffEditorOriginalUri =~ /^git\\:.*%22ref%22%3A%22~%22%7D$/"}],"scm/title":[{"command":"git.commit","group":"navigation","when":"scmProvider == git"},{"command":"git.refresh","group":"navigation","when":"scmProvider == git"},{"command":"git.pull","group":"1_header@1","when":"scmProvider == git"},{"command":"git.push","group":"1_header@2","when":"scmProvider == git"},{"command":"git.clone","group":"1_header@3","when":"scmProvider == git"},{"command":"git.checkout","group":"1_header@4","when":"scmProvider == git"},{"command":"git.fetch","group":"1_header@5","when":"scmProvider == git"},{"submenu":"git.commit","group":"2_main@1","when":"scmProvider == git"},{"submenu":"git.changes","group":"2_main@2","when":"scmProvider == git"},{"submenu":"git.pullpush","group":"2_main@3","when":"scmProvider == git"},{"submenu":"git.branch","group":"2_main@4","when":"scmProvider == git"},{"submenu":"git.remotes","group":"2_main@5","when":"scmProvider == git"},{"submenu":"git.stash","group":"2_main@6","when":"scmProvider == git"},{"submenu":"git.tags","group":"2_main@7","when":"scmProvider == git"},{"submenu":"git.worktrees","group":"2_main@8","when":"scmProvider == git"},{"command":"git.showOutput","group":"3_footer","when":"scmProvider == git"}],"scm/sourceControl/title":[{"command":"git.reopenClosedRepositories","group":"navigation@1","when":"git.closedRepositoryCount > 0"}],"scm/sourceControl":[{"command":"git.close","group":"navigation@1","when":"scmProvider == git"},{"command":"git.closeOtherRepositories","group":"navigation@2","when":"scmProvider == git && gitOpenRepositoryCount > 1"},{"command":"git.openWorktree","group":"1_worktree@1","when":"scmProvider == git && scmProviderContext == worktree"},{"command":"git.openWorktreeInNewWindow","group":"1_worktree@2","when":"scmProvider == git && scmProviderContext == worktree"},{"command":"git.deleteWorktree","group":"2_worktree@1","when":"scmProvider == git && scmProviderContext == worktree"}],"scm/resourceGroup/context":[{"command":"git.stageAllMerge","when":"scmProvider == git && scmResourceGroup == merge","group":"1_modification"},{"command":"git.stageAllMerge","when":"scmProvider == git && scmResourceGroup == merge","group":"inline@2"},{"command":"git.unstageAll","when":"scmProvider == git && scmResourceGroup == index","group":"1_modification"},{"command":"git.unstageAll","when":"scmProvider == git && scmResourceGroup == index","group":"inline@2"},{"command":"git.viewStagedChanges","when":"scmProvider == git && scmResourceGroup == index && config.multiDiffEditor.experimental.enabled","group":"inline@1"},{"command":"git.viewChanges","when":"scmProvider == git && scmResourceGroup == workingTree && config.multiDiffEditor.experimental.enabled","group":"inline@1"},{"command":"git.cleanAll","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges == mixed","group":"1_modification"},{"command":"git.stageAll","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges == mixed","group":"1_modification"},{"command":"git.cleanAll","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges == mixed","group":"inline@2"},{"command":"git.stageAll","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges == mixed","group":"inline@2"},{"command":"git.cleanAllTracked","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges != mixed","group":"1_modification"},{"command":"git.stageAllTracked","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges != mixed","group":"1_modification"},{"command":"git.cleanAllTracked","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges != mixed","group":"inline@2"},{"command":"git.stageAllTracked","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges != mixed","group":"inline@2"},{"command":"git.cleanAllUntracked","when":"scmProvider == git && scmResourceGroup == untracked","group":"1_modification"},{"command":"git.stageAllUntracked","when":"scmProvider == git && scmResourceGroup == untracked","group":"1_modification"},{"command":"git.viewUntrackedChanges","when":"scmProvider == git && scmResourceGroup == untracked && config.multiDiffEditor.experimental.enabled","group":"inline@1"},{"command":"git.cleanAllUntracked","when":"scmProvider == git && scmResourceGroup == untracked","group":"inline@2"},{"command":"git.stageAllUntracked","when":"scmProvider == git && scmResourceGroup == untracked","group":"inline@2"}],"scm/resourceFolder/context":[{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == merge","group":"1_modification"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == merge","group":"inline@2"},{"command":"git.unstage","when":"scmProvider == git && scmResourceGroup == index","group":"1_modification"},{"command":"git.unstage","when":"scmProvider == git && scmResourceGroup == index","group":"inline@2"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == workingTree","group":"1_modification"},{"command":"git.clean","when":"scmProvider == git && scmResourceGroup == workingTree","group":"1_modification"},{"command":"git.clean","when":"scmProvider == git && scmResourceGroup == workingTree","group":"inline@2"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == workingTree","group":"inline@2"},{"command":"git.ignore","when":"scmProvider == git && scmResourceGroup == workingTree","group":"1_modification@3"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == untracked","group":"1_modification"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == untracked","group":"inline@2"},{"command":"git.clean","when":"scmProvider == git && scmResourceGroup == untracked","group":"1_modification"},{"command":"git.clean","when":"scmProvider == git && scmResourceGroup == untracked","group":"inline@2"},{"command":"git.ignore","when":"scmProvider == git && scmResourceGroup == untracked","group":"1_modification@3"}],"scm/resourceState/context":[{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == merge","group":"1_modification"},{"command":"git.openFile","when":"scmProvider == git && scmResourceGroup == merge","group":"navigation"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == merge","group":"inline@2"},{"command":"git.revealFileInOS.linux","when":"scmProvider == git && scmResourceGroup == merge && remoteName == '' && isLinux","group":"2_view@1"},{"command":"git.revealFileInOS.mac","when":"scmProvider == git && scmResourceGroup == merge && remoteName == '' && isMac","group":"2_view@1"},{"command":"git.revealFileInOS.windows","when":"scmProvider == git && scmResourceGroup == merge && remoteName == '' && isWindows","group":"2_view@1"},{"command":"git.revealInExplorer","when":"scmProvider == git && scmResourceGroup == merge","group":"2_view@2"},{"command":"git.openFile2","when":"scmProvider == git && scmResourceGroup == merge && config.git.showInlineOpenFileAction && config.git.openDiffOnClick","group":"inline@1"},{"command":"git.openChange","when":"scmProvider == git && scmResourceGroup == merge && config.git.showInlineOpenFileAction && !config.git.openDiffOnClick","group":"inline@1"},{"command":"git.openChange","when":"scmProvider == git && scmResourceGroup == index","group":"navigation"},{"command":"git.openFile","when":"scmProvider == git && scmResourceGroup == index","group":"navigation"},{"command":"git.openHEADFile","when":"scmProvider == git && scmResourceGroup == index","group":"navigation"},{"command":"git.unstage","when":"scmProvider == git && scmResourceGroup == index","group":"1_modification"},{"command":"git.unstage","when":"scmProvider == git && scmResourceGroup == index","group":"inline@2"},{"command":"git.revealFileInOS.linux","when":"scmProvider == git && scmResourceGroup == index && remoteName == '' && isLinux","group":"2_view@1"},{"command":"git.revealFileInOS.mac","when":"scmProvider == git && scmResourceGroup == index && remoteName == '' && isMac","group":"2_view@1"},{"command":"git.revealFileInOS.windows","when":"scmProvider == git && scmResourceGroup == index && remoteName == '' && isWindows","group":"2_view@1"},{"command":"git.revealInExplorer","when":"scmProvider == git && scmResourceGroup == index","group":"2_view@2"},{"command":"git.compareWithWorkspace","when":"scmProvider == git && scmResourceGroup == index && scmResourceState == worktree","group":"worktree_diff"},{"command":"git.openFile2","when":"scmProvider == git && scmResourceGroup == index && config.git.showInlineOpenFileAction && config.git.openDiffOnClick","group":"inline@1"},{"command":"git.openChange","when":"scmProvider == git && scmResourceGroup == index && config.git.showInlineOpenFileAction && !config.git.openDiffOnClick","group":"inline@1"},{"command":"git.openChange","when":"scmProvider == git && scmResourceGroup == workingTree","group":"navigation"},{"command":"git.openHEADFile","when":"scmProvider == git && scmResourceGroup == workingTree","group":"navigation"},{"command":"git.openFile","when":"scmProvider == git && scmResourceGroup == workingTree","group":"navigation"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == workingTree","group":"1_modification"},{"command":"git.clean","when":"scmProvider == git && scmResourceGroup == workingTree","group":"1_modification"},{"command":"git.clean","when":"scmProvider == git && scmResourceGroup == workingTree","group":"inline@2"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == workingTree","group":"inline@2"},{"command":"git.compareWithWorkspace","when":"scmProvider == git && scmResourceGroup == workingTree && scmResourceState == worktree","group":"worktree_diff"},{"command":"git.openFile2","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.showInlineOpenFileAction && config.git.openDiffOnClick","group":"inline@1"},{"command":"git.openChange","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.showInlineOpenFileAction && !config.git.openDiffOnClick","group":"inline@1"},{"command":"git.ignore","when":"scmProvider == git && scmResourceGroup == workingTree","group":"1_modification@3"},{"command":"git.revealFileInOS.linux","when":"scmProvider == git && scmResourceGroup == workingTree && remoteName == '' && isLinux","group":"2_view@1"},{"command":"git.revealFileInOS.mac","when":"scmProvider == git && scmResourceGroup == workingTree && remoteName == '' && isMac","group":"2_view@1"},{"command":"git.revealFileInOS.windows","when":"scmProvider == git && scmResourceGroup == workingTree && remoteName == '' && isWindows","group":"2_view@1"},{"command":"git.revealInExplorer","when":"scmProvider == git && scmResourceGroup == workingTree","group":"2_view@2"},{"command":"git.openChange","when":"scmProvider == git && scmResourceGroup == untracked","group":"navigation"},{"command":"git.openHEADFile","when":"scmProvider == git && scmResourceGroup == untracked","group":"navigation"},{"command":"git.openFile","when":"scmProvider == git && scmResourceGroup == untracked","group":"navigation"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == untracked","group":"1_modification"},{"command":"git.clean","when":"scmProvider == git && scmResourceGroup == untracked && !gitFreshRepository","group":"1_modification"},{"command":"git.clean","when":"scmProvider == git && scmResourceGroup == untracked && !gitFreshRepository","group":"inline@2"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == untracked","group":"inline@2"},{"command":"git.openFile2","when":"scmProvider == git && scmResourceGroup == untracked && config.git.showInlineOpenFileAction && config.git.openDiffOnClick","group":"inline@1"},{"command":"git.openChange","when":"scmProvider == git && scmResourceGroup == untracked && config.git.showInlineOpenFileAction && !config.git.openDiffOnClick","group":"inline@1"},{"command":"git.ignore","when":"scmProvider == git && scmResourceGroup == untracked","group":"1_modification@3"}],"scm/history/title":[{"command":"git.fetchAll","group":"navigation@900","when":"scmProvider == git"},{"command":"git.pullRef","group":"navigation@901","when":"scmProvider == git"},{"command":"git.pushRef","when":"scmProvider == git && scmCurrentHistoryItemRefHasRemote","group":"navigation@902"},{"command":"git.publish","when":"scmProvider == git && !scmCurrentHistoryItemRefHasRemote","group":"navigation@903"}],"scm/historyItem/context":[{"command":"git.graph.checkoutDetached","when":"scmProvider == git","group":"1_checkout@2"},{"command":"git.branch","when":"scmProvider == git","group":"2_branch@2"},{"command":"git.createTag","when":"scmProvider == git","group":"3_tag@1"},{"command":"git.graph.cherryPick","when":"scmProvider == git","group":"4_modify@1"},{"command":"git.copyCommitId","when":"scmProvider == git && !listMultiSelection","group":"9_copy@1"},{"command":"git.copyCommitMessage","when":"scmProvider == git && !listMultiSelection","group":"9_copy@2"}],"scm/historyItemRef/context":[{"command":"git.graph.checkout","when":"scmProvider == git","group":"1_checkout@1"},{"command":"git.graph.deleteBranch","when":"scmProvider == git && scmHistoryItemRef =~ /^refs\\/heads\\/|^refs\\/remotes\\//","group":"2_branch@2"},{"command":"git.graph.deleteTag","when":"scmProvider == git && scmHistoryItemRef =~ /^refs\\/tags\\//","group":"3_tag@2"}],"editor/title":[{"command":"git.openFile","group":"navigation","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && resourceScheme =~ /^git$|^file$/"},{"command":"git.openFile","group":"navigation","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInNotebookTextDiffEditor && resourceScheme =~ /^git$|^file$/"},{"command":"git.openChange","group":"navigation@2","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && !isInDiffEditor && !isMergeEditor && resourceScheme == file && scmActiveResourceHasChanges"},{"command":"git.commitMessageAccept","group":"navigation","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && editorLangId == git-commit"},{"command":"git.commitMessageDiscard","group":"navigation","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && editorLangId == git-commit"},{"command":"git.stashApplyEditor","alt":"git.stashPopEditor","group":"navigation@1","when":"config.git.enabled && !git.missing && resourceScheme == git-stash"},{"command":"git.stashDropEditor","group":"navigation@2","when":"config.git.enabled && !git.missing && resourceScheme == git-stash"},{"command":"git.stage","group":"2_git@1","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && !isInDiffEditor && !isMergeEditor && resourceScheme == file && git.activeResourceHasUnstagedChanges"},{"command":"git.unstage","group":"2_git@2","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && !isInDiffEditor && !isMergeEditor && resourceScheme == file && git.activeResourceHasStagedChanges"},{"command":"git.stage","group":"2_git@1","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == file"},{"command":"git.stageSelectedRanges","group":"2_git@2","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == file"},{"command":"git.unstage","group":"2_git@3","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == git"},{"command":"git.unstageSelectedRanges","group":"2_git@4","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == git"},{"command":"git.revertSelectedRanges","group":"2_git@5","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == file"}],"editor/context":[{"command":"git.stageSelectedRanges","group":"2_git@1","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == file"},{"command":"git.unstageSelectedRanges","group":"2_git@2","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == git"},{"command":"git.revertSelectedRanges","group":"2_git@3","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == file"}],"editor/content":[{"command":"git.acceptMerge","when":"isMergeResultEditor && mergeEditorBaseUri =~ /^(git|file):/ && mergeEditorResultUri in git.mergeChanges"},{"command":"git.openMergeEditor","group":"navigation@-10","when":"config.git.enabled && !git.missing && !isInDiffEditor && !isMergeEditor && git.activeResourceHasMergeConflicts"}],"multiDiffEditor/resource/title":[{"command":"git.stageFile","group":"navigation","when":"scmProvider == git && scmResourceGroup == workingTree"},{"command":"git.stageFile","group":"navigation","when":"scmProvider == git && scmResourceGroup == untracked"},{"command":"git.unstageFile","group":"navigation","when":"scmProvider == git && scmResourceGroup == index"}],"diffEditor/gutter/hunk":[{"command":"git.diff.stageHunk","group":"primary@10","when":"diffEditorOriginalUri =~ /^git\\:.*%22ref%22%3A%22~%22%7D$/"}],"diffEditor/gutter/selection":[{"command":"git.diff.stageSelection","group":"primary@10","when":"diffEditorOriginalUri =~ /^git\\:.*%22ref%22%3A%22~%22%7D$/"}],"scm/change/title":[{"command":"git.stageChange","when":"config.git.enabled && !git.missing && originalResource =~ /^git\\:.*%22ref%22%3A%22%22%7D$/"},{"command":"git.revertChange","when":"config.git.enabled && !git.missing && originalResource =~ /^git\\:.*%22ref%22%3A%22%22%7D$/"},{"command":"git.unstageChange","when":"false"}],"timeline/item/context":[{"command":"git.timeline.viewCommit","group":"inline","when":"config.git.enabled && !git.missing && timelineItem =~ /git:file:commit\\b/ && !listMultiSelection && config.multiDiffEditor.experimental.enabled"},{"command":"git.timeline.openDiff","group":"1_actions@1","when":"config.git.enabled && !git.missing && timelineItem =~ /git:file\\b/ && !listMultiSelection"},{"command":"git.timeline.viewCommit","group":"1_actions@2","when":"config.git.enabled && !git.missing && timelineItem =~ /git:file:commit\\b/ && !listMultiSelection && config.multiDiffEditor.experimental.enabled"},{"command":"git.timeline.compareWithSelected","group":"3_compare@1","when":"config.git.enabled && !git.missing && git.timeline.selectedForCompare && timelineItem =~ /git:file\\b/ && !listMultiSelection"},{"command":"git.timeline.selectForCompare","group":"3_compare@2","when":"config.git.enabled && !git.missing && timelineItem =~ /git:file\\b/ && !listMultiSelection"},{"command":"git.timeline.copyCommitId","group":"5_copy@1","when":"config.git.enabled && !git.missing && timelineItem =~ /git:file:commit\\b/ && !listMultiSelection"},{"command":"git.timeline.copyCommitMessage","group":"5_copy@2","when":"config.git.enabled && !git.missing && timelineItem =~ /git:file:commit\\b/ && !listMultiSelection"}],"git.commit":[{"command":"git.commit","group":"1_commit@1"},{"command":"git.commitStaged","group":"1_commit@2"},{"command":"git.commitAll","group":"1_commit@3"},{"command":"git.undoCommit","group":"1_commit@4"},{"command":"git.rebaseAbort","group":"1_commit@5"},{"command":"git.commitNoVerify","group":"2_commit_noverify@1","when":"config.git.allowNoVerifyCommit"},{"command":"git.commitStagedNoVerify","group":"2_commit_noverify@2","when":"config.git.allowNoVerifyCommit"},{"command":"git.commitAllNoVerify","group":"2_commit_noverify@3","when":"config.git.allowNoVerifyCommit"},{"command":"git.commitAmend","group":"3_amend@1"},{"command":"git.commitStagedAmend","group":"3_amend@2"},{"command":"git.commitAllAmend","group":"3_amend@3"},{"command":"git.commitAmendNoVerify","group":"4_amend_noverify@1","when":"config.git.allowNoVerifyCommit"},{"command":"git.commitStagedAmendNoVerify","group":"4_amend_noverify@2","when":"config.git.allowNoVerifyCommit"},{"command":"git.commitAllAmendNoVerify","group":"4_amend_noverify@3","when":"config.git.allowNoVerifyCommit"},{"command":"git.commitSigned","group":"5_signoff@1"},{"command":"git.commitStagedSigned","group":"5_signoff@2"},{"command":"git.commitAllSigned","group":"5_signoff@3"},{"command":"git.commitSignedNoVerify","group":"6_signoff_noverify@1","when":"config.git.allowNoVerifyCommit"},{"command":"git.commitStagedSignedNoVerify","group":"6_signoff_noverify@2","when":"config.git.allowNoVerifyCommit"},{"command":"git.commitAllSignedNoVerify","group":"6_signoff_noverify@3","when":"config.git.allowNoVerifyCommit"}],"git.changes":[{"command":"git.stageAll","group":"changes@1"},{"command":"git.unstageAll","group":"changes@2"},{"command":"git.cleanAll","group":"changes@3"}],"git.pullpush":[{"command":"git.sync","group":"1_sync@1"},{"command":"git.syncRebase","when":"gitState == idle","group":"1_sync@2"},{"command":"git.pull","group":"2_pull@1"},{"command":"git.pullRebase","group":"2_pull@2"},{"command":"git.pullFrom","group":"2_pull@3"},{"command":"git.push","group":"3_push@1"},{"command":"git.pushForce","when":"config.git.allowForcePush","group":"3_push@2"},{"command":"git.pushTo","group":"3_push@3"},{"command":"git.pushToForce","when":"config.git.allowForcePush","group":"3_push@4"},{"command":"git.fetch","group":"4_fetch@1"},{"command":"git.fetchPrune","group":"4_fetch@2"},{"command":"git.fetchAll","group":"4_fetch@3"}],"git.branch":[{"command":"git.merge","group":"1_merge@1"},{"command":"git.rebase","group":"1_merge@2"},{"command":"git.branch","group":"2_branch@1"},{"command":"git.branchFrom","group":"2_branch@2"},{"command":"git.renameBranch","group":"3_modify@1"},{"command":"git.deleteBranch","group":"3_modify@2"},{"command":"git.deleteRemoteBranch","group":"3_modify@3"},{"command":"git.publish","group":"4_publish@1"}],"git.remotes":[{"command":"git.addRemote","group":"remote@1"},{"command":"git.removeRemote","group":"remote@2"}],"git.stash":[{"command":"git.stash","group":"1_stash@1"},{"command":"git.stashIncludeUntracked","group":"1_stash@2"},{"command":"git.stashStaged","when":"gitVersion2.35","group":"1_stash@3"},{"command":"git.stashApplyLatest","group":"2_apply@1"},{"command":"git.stashApply","group":"2_apply@2"},{"command":"git.stashPopLatest","group":"3_pop@1"},{"command":"git.stashPop","group":"3_pop@2"},{"command":"git.stashDrop","group":"4_drop@1"},{"command":"git.stashDropAll","group":"4_drop@2"},{"command":"git.stashView","when":"config.multiDiffEditor.experimental.enabled","group":"5_preview@1"}],"git.tags":[{"command":"git.createTag","group":"tags@1"},{"command":"git.deleteTag","group":"tags@2"},{"command":"git.deleteRemoteTag","group":"tags@3"}],"git.worktrees":[{"when":"scmProviderContext == worktree","command":"git.openWorktree","group":"openWorktrees@1"},{"when":"scmProviderContext == worktree","command":"git.openWorktreeInNewWindow","group":"openWorktrees@2"},{"when":"scmProviderContext == repository","command":"git.createWorktree","group":"worktrees@1"},{"when":"scmProviderContext == worktree","command":"git.deleteWorktree","group":"worktrees@2"}]},"submenus":[{"id":"git.commit","label":"Commit"},{"id":"git.changes","label":"Changes"},{"id":"git.pullpush","label":"Pull, Push"},{"id":"git.branch","label":"Branch"},{"id":"git.remotes","label":"Remote"},{"id":"git.stash","label":"Stash"},{"id":"git.tags","label":"Tags"},{"id":"git.worktrees","label":"Worktrees"}],"configuration":{"title":"Git","properties":{"git.enabled":{"type":"boolean","scope":"resource","description":"Whether Git is enabled.","default":true},"git.path":{"type":["string","null","array"],"markdownDescription":"Path and filename of the git executable, e.g. `C:\\Program Files\\Git\\bin\\git.exe` (Windows). This can also be an array of string values containing multiple paths to look up.","default":null,"scope":"machine"},"git.autoRepositoryDetection":{"type":["boolean","string"],"enum":[true,false,"subFolders","openEditors"],"enumDescriptions":["Scan for both subfolders of the current opened folder and parent folders of open files.","Disable automatic repository scanning.","Scan for subfolders of the currently opened folder.","Scan for parent folders of open files."],"description":"Configures when repositories should be automatically detected.","default":true},"git.autorefresh":{"type":"boolean","description":"Whether auto refreshing is enabled.","default":true},"git.autofetch":{"type":["boolean","string"],"enum":[true,false,"all"],"scope":"resource","markdownDescription":"When set to true, commits will automatically be fetched from the default remote of the current Git repository. Setting to `all` will fetch from all remotes.","default":false,"tags":["usesOnlineServices"]},"git.autofetchPeriod":{"type":"number","scope":"resource","markdownDescription":"Duration in seconds between each automatic git fetch, when `#git.autofetch#` is enabled.","default":180},"git.defaultBranchName":{"type":"string","markdownDescription":"The name of the default branch (example: main, trunk, development) when initializing a new Git repository. When set to empty, the default branch name configured in Git will be used. **Note:** Requires Git version `2.28.0` or later.","default":"main","scope":"resource"},"git.branchPrefix":{"type":"string","description":"Prefix used when creating a new branch.","default":"","scope":"resource"},"git.branchProtection":{"type":"array","markdownDescription":"List of protected branches. By default, a prompt is shown before changes are committed to a protected branch. The prompt can be controlled using the `#git.branchProtectionPrompt#` setting.","items":{"type":"string"},"default":[],"scope":"resource"},"git.branchProtectionPrompt":{"type":"string","description":"Controls whether a prompt is being shown before changes are committed to a protected branch.","enum":["alwaysCommit","alwaysCommitToNewBranch","alwaysPrompt"],"enumDescriptions":["Always commit changes to the protected branch.","Always commit changes to a new branch.","Always prompt before changes are committed to a protected branch."],"default":"alwaysPrompt","scope":"resource"},"git.branchValidationRegex":{"type":"string","description":"A regular expression to validate new branch names.","default":""},"git.branchWhitespaceChar":{"type":"string","description":"The character to replace whitespace in new branch names, and to separate segments of a randomly generated branch name.","default":"-"},"git.branchRandomName.enable":{"type":"boolean","description":"Controls whether a random name is generated when creating a new branch.","default":false,"scope":"resource"},"git.branchRandomName.dictionary":{"type":"array","markdownDescription":"List of dictionaries used for the randomly generated branch name. Each value represents the dictionary used to generate the segment of the branch name. Supported dictionaries: `adjectives`, `animals`, `colors` and `numbers`.","items":{"type":"string","enum":["adjectives","animals","colors","numbers"],"enumDescriptions":["A random adjective","A random animal name","A random color name","A random number between 100 and 999"]},"minItems":1,"maxItems":5,"default":["adjectives","animals"],"scope":"resource"},"git.confirmSync":{"type":"boolean","description":"Confirm before synchronizing Git repositories.","default":true},"git.countBadge":{"type":"string","enum":["all","tracked","off"],"enumDescriptions":["Count all changes.","Count only tracked changes.","Turn off counter."],"description":"Controls the Git count badge.","default":"all","scope":"resource"},"git.checkoutType":{"type":"array","items":{"type":"string","enum":["local","tags","remote"],"enumDescriptions":["Local branches","Tags","Remote branches"]},"uniqueItems":true,"markdownDescription":"Controls what type of Git refs are listed when running `Checkout to...`.","default":["local","remote","tags"]},"git.ignoreLegacyWarning":{"type":"boolean","description":"Ignores the legacy Git warning.","default":false},"git.ignoreMissingGitWarning":{"type":"boolean","description":"Ignores the warning when Git is missing.","default":false},"git.ignoreWindowsGit27Warning":{"type":"boolean","description":"Ignores the warning when Git 2.25 - 2.26 is installed on Windows.","default":false},"git.ignoreLimitWarning":{"type":"boolean","description":"Ignores the warning when there are too many changes in a repository.","default":false},"git.ignoreRebaseWarning":{"type":"boolean","description":"Ignores the warning when it looks like the branch might have been rebased when pulling.","default":false},"git.defaultCloneDirectory":{"type":["string","null"],"default":null,"scope":"machine","description":"The default location to clone a Git repository."},"git.useEditorAsCommitInput":{"type":"boolean","description":"Controls whether a full text editor will be used to author commit messages, whenever no message is provided in the commit input box.","default":true},"git.verboseCommit":{"type":"boolean","scope":"resource","markdownDescription":"Enable verbose output when `#git.useEditorAsCommitInput#` is enabled.","default":false},"git.enableSmartCommit":{"type":"boolean","scope":"resource","description":"Commit all changes when there are no staged changes.","default":false},"git.smartCommitChanges":{"type":"string","enum":["all","tracked"],"enumDescriptions":["Automatically stage all changes.","Automatically stage tracked changes only."],"scope":"resource","description":"Control which changes are automatically staged by Smart Commit.","default":"all"},"git.suggestSmartCommit":{"type":"boolean","scope":"resource","description":"Suggests to enable smart commit (commit all changes when there are no staged changes).","default":true},"git.enableCommitSigning":{"type":"boolean","scope":"resource","description":"Enables commit signing with GPG, X.509, or SSH.","default":false},"git.confirmEmptyCommits":{"type":"boolean","scope":"resource","description":"Always confirm the creation of empty commits for the 'Git: Commit Empty' command.","default":true},"git.decorations.enabled":{"type":"boolean","default":true,"description":"Controls whether Git contributes colors and badges to the Explorer and the Open Editors view."},"git.enableStatusBarSync":{"type":"boolean","default":true,"description":"Controls whether the Git Sync command appears in the status bar.","scope":"resource"},"git.followTagsWhenSync":{"type":"boolean","scope":"resource","default":false,"description":"Push all annotated tags when running the sync command."},"git.replaceTagsWhenPull":{"type":"boolean","scope":"resource","default":false,"description":"Automatically replace the local tags with the remote tags in case of a conflict when running the pull command."},"git.promptToSaveFilesBeforeStash":{"type":"string","enum":["always","staged","never"],"enumDescriptions":["Check for any unsaved files.","Check only for unsaved staged files.","Disable this check."],"scope":"resource","default":"always","description":"Controls whether Git should check for unsaved files before stashing changes."},"git.promptToSaveFilesBeforeCommit":{"type":"string","enum":["always","staged","never"],"enumDescriptions":["Check for any unsaved files.","Check only for unsaved staged files.","Disable this check."],"scope":"resource","default":"always","description":"Controls whether Git should check for unsaved files before committing."},"git.postCommitCommand":{"type":"string","enum":["none","push","sync"],"enumDescriptions":["Don't run any command after a commit.","Run 'git push' after a successful commit.","Run 'git pull' and 'git push' after a successful commit."],"markdownDescription":"Run a git command after a successful commit.","scope":"resource","default":"none"},"git.rememberPostCommitCommand":{"type":"boolean","description":"Remember the last git command that ran after a commit.","scope":"resource","default":false},"git.openAfterClone":{"type":"string","enum":["always","alwaysNewWindow","whenNoFolderOpen","prompt"],"enumDescriptions":["Always open in current window.","Always open in a new window.","Only open in current window when no folder is opened.","Always prompt for action."],"default":"prompt","description":"Controls whether to open a repository automatically after cloning."},"git.showInlineOpenFileAction":{"type":"boolean","default":true,"description":"Controls whether to show an inline Open File action in the Git changes view."},"git.showPushSuccessNotification":{"type":"boolean","description":"Controls whether to show a notification when a push is successful.","default":false},"git.inputValidation":{"type":"boolean","default":false,"description":"Controls whether to show commit message input validation diagnostics."},"git.inputValidationLength":{"type":"number","default":72,"description":"Controls the commit message length threshold for showing a warning."},"git.inputValidationSubjectLength":{"type":["number","null"],"default":50,"markdownDescription":"Controls the commit message subject length threshold for showing a warning. Unset it to inherit the value of `#git.inputValidationLength#`."},"git.detectSubmodules":{"type":"boolean","scope":"resource","default":true,"description":"Controls whether to automatically detect Git submodules."},"git.detectSubmodulesLimit":{"type":"number","scope":"resource","default":10,"description":"Controls the limit of Git submodules detected."},"git.detectWorktrees":{"type":"boolean","scope":"resource","default":true,"description":"Controls whether to automatically detect Git worktrees."},"git.detectWorktreesLimit":{"type":"number","scope":"resource","default":10,"description":"Controls the limit of Git worktrees detected."},"git.alwaysShowStagedChangesResourceGroup":{"type":"boolean","scope":"resource","default":false,"description":"Always show the Staged Changes resource group."},"git.alwaysSignOff":{"type":"boolean","scope":"resource","default":false,"description":"Controls the signoff flag for all commits."},"git.ignoreSubmodules":{"type":"boolean","scope":"resource","default":false,"description":"Ignore modifications to submodules in the file tree."},"git.ignoredRepositories":{"type":"array","items":{"type":"string"},"default":[],"scope":"window","description":"List of Git repositories to ignore."},"git.scanRepositories":{"type":"array","items":{"type":"string"},"default":[],"scope":"resource","description":"List of paths to search for Git repositories in."},"git.showProgress":{"type":"boolean","description":"Controls whether Git actions should show progress.","default":true,"scope":"resource"},"git.rebaseWhenSync":{"type":"boolean","scope":"resource","default":false,"description":"Force Git to use rebase when running the sync command."},"git.pullBeforeCheckout":{"type":"boolean","scope":"resource","default":false,"description":"Controls whether a branch that does not have outgoing commits is fast-forwarded before it is checked out."},"git.fetchOnPull":{"type":"boolean","scope":"resource","default":false,"description":"When enabled, fetch all branches when pulling. Otherwise, fetch just the current one."},"git.pruneOnFetch":{"type":"boolean","scope":"resource","default":false,"description":"Prune when fetching."},"git.pullTags":{"type":"boolean","scope":"resource","default":true,"description":"Fetch all tags when pulling."},"git.autoStash":{"type":"boolean","scope":"resource","default":false,"description":"Stash any changes before pulling and restore them after successful pull."},"git.allowForcePush":{"type":"boolean","default":false,"description":"Controls whether force push (with or without lease) is enabled."},"git.useForcePushWithLease":{"type":"boolean","default":true,"description":"Controls whether force pushing uses the safer force-with-lease variant."},"git.useForcePushIfIncludes":{"type":"boolean","default":true,"markdownDescription":"Controls whether force pushing uses the safer force-if-includes variant. Note: This setting requires the `#git.useForcePushWithLease#` setting to be enabled, and Git version `2.30.0` or later."},"git.confirmForcePush":{"type":"boolean","default":true,"description":"Controls whether to ask for confirmation before force-pushing."},"git.allowNoVerifyCommit":{"type":"boolean","default":false,"description":"Controls whether commits without running pre-commit and commit-msg hooks are allowed."},"git.confirmNoVerifyCommit":{"type":"boolean","default":true,"description":"Controls whether to ask for confirmation before committing without verification."},"git.closeDiffOnOperation":{"type":"boolean","scope":"resource","default":false,"description":"Controls whether the diff editor should be automatically closed when changes are stashed, committed, discarded, staged, or unstaged."},"git.openDiffOnClick":{"type":"boolean","scope":"resource","default":true,"description":"Controls whether the diff editor should be opened when clicking a change. Otherwise the regular editor will be opened."},"git.supportCancellation":{"type":"boolean","scope":"resource","default":false,"description":"Controls whether a notification comes up when running the Sync action, which allows the user to cancel the operation."},"git.branchSortOrder":{"type":"string","enum":["committerdate","alphabetically"],"default":"committerdate","description":"Controls the sort order for branches."},"git.untrackedChanges":{"type":"string","enum":["mixed","separate","hidden"],"enumDescriptions":["All changes, tracked and untracked, appear together and behave equally.","Untracked changes appear separately in the Source Control view. They are also excluded from several actions.","Untracked changes are hidden and excluded from several actions."],"default":"mixed","description":"Controls how untracked changes behave.","scope":"resource"},"git.requireGitUserConfig":{"type":"boolean","description":"Controls whether to require explicit Git user configuration or allow Git to guess if missing.","default":true,"scope":"resource"},"git.showCommitInput":{"type":"boolean","scope":"resource","default":true,"description":"Controls whether to show the commit input in the Git source control panel."},"git.terminalAuthentication":{"type":"boolean","default":true,"description":"Controls whether to enable VS Code to be the authentication handler for Git processes spawned in the Integrated Terminal. Note: Terminals need to be restarted to pick up a change in this setting."},"git.terminalGitEditor":{"type":"boolean","default":false,"description":"Controls whether to enable VS Code to be the Git editor for Git processes spawned in the integrated terminal. Note: Terminals need to be restarted to pick up a change in this setting."},"git.useCommitInputAsStashMessage":{"type":"boolean","scope":"resource","default":false,"description":"Controls whether to use the message from the commit input box as the default stash message."},"git.useIntegratedAskPass":{"type":"boolean","default":true,"description":"Controls whether GIT_ASKPASS should be overwritten to use the integrated version."},"git.githubAuthentication":{"markdownDeprecationMessage":"This setting is now deprecated, please use `#github.gitAuthentication#` instead."},"git.timeline.date":{"type":"string","enum":["committed","authored"],"enumDescriptions":["Use the committed date","Use the authored date"],"default":"committed","description":"Controls which date to use for items in the Timeline view.","scope":"window"},"git.timeline.showAuthor":{"type":"boolean","default":true,"description":"Controls whether to show the commit author in the Timeline view.","scope":"window"},"git.timeline.showUncommitted":{"type":"boolean","default":false,"description":"Controls whether to show uncommitted changes in the Timeline view.","scope":"window"},"git.showActionButton":{"type":"object","additionalProperties":false,"description":"Controls whether an action button is shown in the Source Control view.","properties":{"commit":{"type":"boolean","description":"Show an action button to commit changes when the local branch has modified files ready to be committed."},"publish":{"type":"boolean","description":"Show an action button to publish the local branch when it does not have a tracking remote branch."},"sync":{"type":"boolean","description":"Show an action button to synchronize changes when the local branch is either ahead or behind the remote branch."}},"default":{"commit":true,"publish":true,"sync":true},"scope":"resource"},"git.statusLimit":{"type":"number","scope":"resource","default":10000,"description":"Controls how to limit the number of changes that can be parsed from Git status command. Can be set to 0 for no limit."},"git.repositoryScanIgnoredFolders":{"type":"array","items":{"type":"string"},"default":["node_modules"],"scope":"resource","markdownDescription":"List of folders that are ignored while scanning for Git repositories when `#git.autoRepositoryDetection#` is set to `true` or `subFolders`."},"git.repositoryScanMaxDepth":{"type":"number","scope":"resource","default":1,"markdownDescription":"Controls the depth used when scanning workspace folders for Git repositories when `#git.autoRepositoryDetection#` is set to `true` or `subFolders`. Can be set to `-1` for no limit."},"git.commandsToLog":{"type":"array","items":{"type":"string"},"default":[],"markdownDescription":"List of git commands (ex: commit, push) that would have their `stdout` logged to the [git output](command:git.showOutput). If the git command has a client-side hook configured, the client-side hook's `stdout` will also be logged to the [git output](command:git.showOutput)."},"git.mergeEditor":{"type":"boolean","default":false,"markdownDescription":"Open the merge editor for files that are currently under conflict.","scope":"window"},"git.optimisticUpdate":{"type":"boolean","default":true,"markdownDescription":"Controls whether to optimistically update the state of the Source Control view after running git commands.","scope":"resource","tags":["experimental"]},"git.openRepositoryInParentFolders":{"type":"string","enum":["always","never","prompt"],"enumDescriptions":["Always open a repository in parent folders of workspaces or open files.","Never open a repository in parent folders of workspaces or open files.","Prompt before opening a repository the parent folders of workspaces or open files."],"default":"prompt","markdownDescription":"Control whether a repository in parent folders of workspaces or open files should be opened.","scope":"resource"},"git.similarityThreshold":{"type":"number","default":50,"minimum":0,"maximum":100,"markdownDescription":"Controls the threshold of the similarity index (the amount of additions/deletions compared to the file's size) for changes in a pair of added/deleted files to be considered a rename. **Note:** Requires Git version `2.18.0` or later.","scope":"resource"},"git.blame.editorDecoration.enabled":{"type":"boolean","default":false,"markdownDescription":"Controls whether to show blame information in the editor using editor decorations."},"git.blame.editorDecoration.template":{"type":"string","default":"${subject}, ${authorName} (${authorDateAgo})","markdownDescription":"Template for the blame information editor decoration. Supported variables:\n\n* `hash`: Commit hash\n\n* `hashShort`: First N characters of the commit hash according to `#git.commitShortHashLength#`\n\n* `subject`: First line of the commit message\n\n* `authorName`: Author name\n\n* `authorEmail`: Author email\n\n* `authorDate`: Author date\n\n* `authorDateAgo`: Time difference between now and the author date\n\n"},"git.blame.statusBarItem.enabled":{"type":"boolean","default":true,"markdownDescription":"Controls whether to show blame information in the status bar."},"git.blame.statusBarItem.template":{"type":"string","default":"${authorName} (${authorDateAgo})","markdownDescription":"Template for the blame information status bar item. Supported variables:\n\n* `hash`: Commit hash\n\n* `hashShort`: First N characters of the commit hash according to `#git.commitShortHashLength#`\n\n* `subject`: First line of the commit message\n\n* `authorName`: Author name\n\n* `authorEmail`: Author email\n\n* `authorDate`: Author date\n\n* `authorDateAgo`: Time difference between now and the author date\n\n"},"git.commitShortHashLength":{"type":"number","default":7,"minimum":7,"maximum":40,"markdownDescription":"Controls the length of the commit short hash.","scope":"resource"},"git.diagnosticsCommitHook.enabled":{"type":"boolean","default":false,"markdownDescription":"Controls whether to check for unresolved diagnostics before committing.","scope":"resource"},"git.diagnosticsCommitHook.sources":{"type":"object","additionalProperties":{"type":"string","enum":["error","warning","information","hint","none"]},"default":{"*":"error"},"markdownDescription":"Controls the list of sources (**Item**) and the minimum severity (**Value**) to be considered before committing. **Note:** To ignore diagnostics from a particular source, add the source to the list and set the minimum severity to `none`.","scope":"resource"},"git.discardUntrackedChangesToTrash":{"type":"boolean","default":true,"markdownDescription":"Controls whether discarding untracked changes moves the file(s) to the Recycle Bin (Windows), Trash (macOS, Linux) instead of deleting them permanently. **Note:** This setting has no effect when connected to a remote or when running in Linux as a snap package."},"git.showReferenceDetails":{"type":"boolean","default":true,"markdownDescription":"Controls whether to show the details of the last commit for Git refs in the checkout, branch, and tag pickers."}}},"colors":[{"id":"gitDecoration.addedResourceForeground","description":"Color for added resources.","defaults":{"light":"#587c0c","dark":"#81b88b","highContrast":"#a1e3ad","highContrastLight":"#374e06"}},{"id":"gitDecoration.modifiedResourceForeground","description":"Color for modified resources.","defaults":{"light":"#895503","dark":"#E2C08D","highContrast":"#E2C08D","highContrastLight":"#895503"}},{"id":"gitDecoration.deletedResourceForeground","description":"Color for deleted resources.","defaults":{"light":"#ad0707","dark":"#c74e39","highContrast":"#c74e39","highContrastLight":"#ad0707"}},{"id":"gitDecoration.renamedResourceForeground","description":"Color for renamed or copied resources.","defaults":{"light":"#007100","dark":"#73C991","highContrast":"#73C991","highContrastLight":"#007100"}},{"id":"gitDecoration.untrackedResourceForeground","description":"Color for untracked resources.","defaults":{"light":"#007100","dark":"#73C991","highContrast":"#73C991","highContrastLight":"#007100"}},{"id":"gitDecoration.ignoredResourceForeground","description":"Color for ignored resources.","defaults":{"light":"#8E8E90","dark":"#8C8C8C","highContrast":"#A7A8A9","highContrastLight":"#8e8e90"}},{"id":"gitDecoration.stageModifiedResourceForeground","description":"Color for modified resources which have been staged.","defaults":{"light":"#895503","dark":"#E2C08D","highContrast":"#E2C08D","highContrastLight":"#895503"}},{"id":"gitDecoration.stageDeletedResourceForeground","description":"Color for deleted resources which have been staged.","defaults":{"light":"#ad0707","dark":"#c74e39","highContrast":"#c74e39","highContrastLight":"#ad0707"}},{"id":"gitDecoration.conflictingResourceForeground","description":"Color for resources with conflicts.","defaults":{"light":"#ad0707","dark":"#e4676b","highContrast":"#c74e39","highContrastLight":"#ad0707"}},{"id":"gitDecoration.submoduleResourceForeground","description":"Color for submodule resources.","defaults":{"light":"#1258a7","dark":"#8db9e2","highContrast":"#8db9e2","highContrastLight":"#1258a7"}},{"id":"git.blame.editorDecorationForeground","description":"Color for the blame editor decoration.","defaults":{"dark":"editorInlayHint.foreground","light":"editorInlayHint.foreground","highContrast":"editorInlayHint.foreground","highContrastLight":"editorInlayHint.foreground"}}],"configurationDefaults":{"[git-commit]":{"editor.rulers":[50,72],"editor.wordWrap":"off","workbench.editor.restoreViewState":false},"[git-rebase]":{"workbench.editor.restoreViewState":false}},"viewsWelcome":[{"view":"scm","contents":"If you would like to use Git features, please enable Git in your [settings](command:workbench.action.openSettings?%5B%22git.enabled%22%5D).\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).","when":"!config.git.enabled"},{"view":"scm","contents":"Install Git, a popular source control system, to track code changes and collaborate with others. Learn more in our [Git guides](https://aka.ms/vscode-scm).","when":"config.git.enabled && git.missing && remoteName != ''"},{"view":"scm","contents":"[Download Git for macOS](https://git-scm.com/download/mac)\nAfter installing, please [reload](command:workbench.action.reloadWindow) (or [troubleshoot](command:git.showOutput)). Additional source control providers can be installed [from the Marketplace](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22).","when":"config.git.enabled && git.missing && remoteName == '' && isMac"},{"view":"scm","contents":"[Download Git for Windows](https://git-scm.com/download/win)\nAfter installing, please [reload](command:workbench.action.reloadWindow) (or [troubleshoot](command:git.showOutput)). Additional source control providers can be installed [from the Marketplace](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22).","when":"config.git.enabled && git.missing && remoteName == '' && isWindows"},{"view":"scm","contents":"Source control depends on Git being installed.\n[Download Git for Linux](https://git-scm.com/download/linux)\nAfter installing, please [reload](command:workbench.action.reloadWindow) (or [troubleshoot](command:git.showOutput)). Additional source control providers can be installed [from the Marketplace](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22).","when":"config.git.enabled && git.missing && remoteName == '' && isLinux"},{"view":"scm","contents":"In order to use Git features, you can open a folder containing a Git repository or clone from a URL.\n[Open Folder](command:vscode.openFolder)\n[Clone Repository](command:git.cloneRecursive)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).","when":"config.git.enabled && !git.missing && workbenchState == empty && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0","enablement":"git.state == initialized","group":"2_open@1"},{"view":"scm","contents":"The workspace currently open doesn't have any folders containing Git repositories.\n[Add Folder to Workspace](command:workbench.action.addRootFolder)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).","when":"config.git.enabled && !git.missing && workbenchState == workspace && workspaceFolderCount == 0 && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0","enablement":"git.state == initialized","group":"2_open@1"},{"view":"scm","contents":"Scanning folder for Git repositories...","when":"config.git.enabled && !git.missing && workbenchState == folder && workspaceFolderCount != 0 && git.state != initialized"},{"view":"scm","contents":"Scanning workspace for Git repositories...","when":"config.git.enabled && !git.missing && workbenchState == workspace && workspaceFolderCount != 0 && git.state != initialized"},{"view":"scm","contents":"The folder currently open doesn't have a Git repository. You can initialize a repository which will enable source control features powered by Git.\n[Initialize Repository](command:git.init?%5Btrue%5D)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).","when":"config.git.enabled && !git.missing && git.state == initialized && workbenchState == folder && scm.providerCount == 0 && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0 && remoteName != 'codespaces'","group":"5_scm@1"},{"view":"scm","contents":"The workspace currently open doesn't have any folders containing Git repositories. You can initialize a repository on a folder which will enable source control features powered by Git.\n[Initialize Repository](command:git.init)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).","when":"config.git.enabled && !git.missing && git.state == initialized && workbenchState == workspace && workspaceFolderCount != 0 && scm.providerCount == 0 && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0 && remoteName != 'codespaces'","group":"5_scm@1"},{"view":"scm","contents":"A Git repository was found in the parent folders of the workspace or the open file(s).\n[Open Repository](command:git.openRepositoriesInParentFolders)\nUse the [git.openRepositoryInParentFolders](command:workbench.action.openSettings?%5B%22git.openRepositoryInParentFolders%22%5D) setting to control whether Git repositories in parent folders of workspaces or open files are opened. To learn more [read our docs](https://aka.ms/vscode-git-repository-in-parent-folders).","when":"config.git.enabled && !git.missing && git.state == initialized && git.parentRepositoryCount == 1"},{"view":"scm","contents":"Git repositories were found in the parent folders of the workspace or the open file(s).\n[Open Repository](command:git.openRepositoriesInParentFolders)\nUse the [git.openRepositoryInParentFolders](command:workbench.action.openSettings?%5B%22git.openRepositoryInParentFolders%22%5D) setting to control whether Git repositories in parent folders of workspace or open files are opened. To learn more [read our docs](https://aka.ms/vscode-git-repository-in-parent-folders).","when":"config.git.enabled && !git.missing && git.state == initialized && git.parentRepositoryCount > 1"},{"view":"scm","contents":"The detected Git repository is potentially unsafe as the folder is owned by someone other than the current user.\n[Manage Unsafe Repositories](command:git.manageUnsafeRepositories)\nTo learn more about unsafe repositories [read our docs](https://aka.ms/vscode-git-unsafe-repository).","when":"config.git.enabled && !git.missing && git.state == initialized && git.unsafeRepositoryCount == 1"},{"view":"scm","contents":"The detected Git repositories are potentially unsafe as the folders are owned by someone other than the current user.\n[Manage Unsafe Repositories](command:git.manageUnsafeRepositories)\nTo learn more about unsafe repositories [read our docs](https://aka.ms/vscode-git-unsafe-repository).","when":"config.git.enabled && !git.missing && git.state == initialized && git.unsafeRepositoryCount > 1"},{"view":"scm","contents":"A Git repository was found that was previously closed.\n[Reopen Closed Repository](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).","when":"config.git.enabled && !git.missing && git.state == initialized && git.closedRepositoryCount == 1"},{"view":"scm","contents":"Git repositories were found that were previously closed.\n[Reopen Closed Repositories](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).","when":"config.git.enabled && !git.missing && git.state == initialized && git.closedRepositoryCount > 1"},{"view":"explorer","contents":"You can clone a repository locally.\n[Clone Repository](command:git.clone 'Clone a repository once the Git extension has activated')","when":"config.git.enabled && git.state == initialized && scm.providerCount == 0","group":"5_scm@1"},{"view":"explorer","contents":"To learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).","when":"config.git.enabled && git.state == initialized && scm.providerCount == 0","group":"5_scm@10"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/git","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.git-base"},"manifest":{"name":"git-base","displayName":"Git Base","description":"Git static contributions and pickers.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"categories":["Other"],"activationEvents":["*"],"main":"./dist/extension.js","browser":"./dist/browser/extension.js","icon":"resources/icons/git.png","capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"contributes":{"commands":[{"command":"git-base.api.getRemoteSources","title":"Get Remote Sources","category":"Git Base API"}],"menus":{"commandPalette":[{"command":"git-base.api.getRemoteSources","when":"false"}]},"languages":[{"id":"git-commit","aliases":["Git Commit Message","git-commit"],"filenames":["COMMIT_EDITMSG","MERGE_MSG"],"configuration":"./languages/git-commit.language-configuration.json"},{"id":"git-rebase","aliases":["Git Rebase Message","git-rebase"],"filenames":["git-rebase-todo"],"filenamePatterns":["**/rebase-merge/done"],"configuration":"./languages/git-rebase.language-configuration.json"},{"id":"ignore","aliases":["Ignore","ignore"],"extensions":[".gitignore_global",".gitignore",".git-blame-ignore-revs"],"configuration":"./languages/ignore.language-configuration.json"}],"grammars":[{"language":"git-commit","scopeName":"text.git-commit","path":"./syntaxes/git-commit.tmLanguage.json"},{"language":"git-rebase","scopeName":"text.git-rebase","path":"./syntaxes/git-rebase.tmLanguage.json"},{"language":"ignore","scopeName":"source.ignore","path":"./syntaxes/ignore.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/git-base","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.github"},"manifest":{"name":"github","displayName":"GitHub","description":"GitHub features for VS Code","publisher":"vscode","license":"MIT","version":"0.0.1","engines":{"vscode":"^1.41.0"},"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","icon":"images/icon.png","categories":["Other"],"activationEvents":["*"],"extensionDependencies":["vscode.git-base"],"main":"./dist/extension.js","type":"module","capabilities":{"virtualWorkspaces":false,"untrustedWorkspaces":{"supported":true}},"enabledApiProposals":["canonicalUriProvider","contribEditSessions","contribShareMenu","contribSourceControlHistoryItemMenu","scmHistoryProvider","shareProvider","timeline"],"contributes":{"commands":[{"command":"github.publish","title":"Publish to GitHub"},{"command":"github.copyVscodeDevLink","title":"Copy vscode.dev Link"},{"command":"github.copyVscodeDevLinkFile","title":"Copy vscode.dev Link"},{"command":"github.copyVscodeDevLinkWithoutRange","title":"Copy vscode.dev Link"},{"command":"github.openOnVscodeDev","title":"Open in vscode.dev","icon":"$(globe)"},{"command":"github.graph.openOnGitHub","title":"Open on GitHub","icon":"$(github)"},{"command":"github.timeline.openOnGitHub","title":"Open on GitHub","icon":"$(github)"}],"continueEditSession":[{"command":"github.openOnVscodeDev","when":"github.hasGitHubRepo","qualifiedName":"Continue Working in vscode.dev","category":"Remote Repositories","remoteGroup":"virtualfs_44_vscode-vfs_2_web@2"}],"menus":{"commandPalette":[{"command":"github.publish","when":"git-base.gitEnabled && workspaceFolderCount != 0 && remoteName != 'codespaces'"},{"command":"github.graph.openOnGitHub","when":"false"},{"command":"github.copyVscodeDevLink","when":"false"},{"command":"github.copyVscodeDevLinkFile","when":"false"},{"command":"github.copyVscodeDevLinkWithoutRange","when":"false"},{"command":"github.openOnVscodeDev","when":"false"},{"command":"github.timeline.openOnGitHub","when":"false"}],"file/share":[{"command":"github.copyVscodeDevLinkFile","when":"github.hasGitHubRepo && remoteName != 'codespaces'","group":"0_vscode@0"}],"editor/context/share":[{"command":"github.copyVscodeDevLink","when":"github.hasGitHubRepo && resourceScheme != untitled && !isInEmbeddedEditor && remoteName != 'codespaces'","group":"0_vscode@0"}],"explorer/context/share":[{"command":"github.copyVscodeDevLinkWithoutRange","when":"github.hasGitHubRepo && resourceScheme != untitled && !isInEmbeddedEditor && remoteName != 'codespaces'","group":"0_vscode@0"}],"editor/lineNumber/context":[{"command":"github.copyVscodeDevLink","when":"github.hasGitHubRepo && resourceScheme != untitled && activeEditor == workbench.editors.files.textFileEditor && config.editor.lineNumbers == on && remoteName != 'codespaces'","group":"1_cutcopypaste@2"},{"command":"github.copyVscodeDevLink","when":"github.hasGitHubRepo && resourceScheme != untitled && activeEditor == workbench.editor.notebook && remoteName != 'codespaces'","group":"1_cutcopypaste@2"}],"editor/title/context/share":[{"command":"github.copyVscodeDevLinkWithoutRange","when":"github.hasGitHubRepo && resourceScheme != untitled && remoteName != 'codespaces'","group":"0_vscode@0"}],"scm/historyItem/context":[{"command":"github.graph.openOnGitHub","when":"github.hasGitHubRepo","group":"0_view@2"}],"scm/historyItem/hover":[{"command":"github.graph.openOnGitHub","when":"github.hasGitHubRepo","group":"1_open@1"}],"timeline/item/context":[{"command":"github.timeline.openOnGitHub","group":"1_actions@3","when":"github.hasGitHubRepo && timelineItem =~ /git:file:commit\\b/"}]},"configuration":[{"title":"GitHub","properties":{"github.branchProtection":{"type":"boolean","scope":"resource","default":true,"description":"Controls whether to query repository rules for GitHub repositories"},"github.gitAuthentication":{"type":"boolean","scope":"resource","default":true,"description":"Controls whether to enable automatic GitHub authentication for git commands within VS Code."},"github.gitProtocol":{"type":"string","enum":["https","ssh"],"default":"https","description":"Controls which protocol is used to clone a GitHub repository"},"github.showAvatar":{"type":"boolean","scope":"resource","default":true,"description":"Controls whether to show the GitHub avatar of the commit author in various hovers (ex: Git blame, Timeline, Source Control Graph, etc.)"}}}],"viewsWelcome":[{"view":"scm","contents":"You can directly publish this folder to a GitHub repository. Once published, you'll have access to source control features powered by Git and GitHub.\n[$(github) Publish to GitHub](command:github.publish)","when":"config.git.enabled && git.state == initialized && workbenchState == folder && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0"},{"view":"scm","contents":"You can directly publish a workspace folder to a GitHub repository. Once published, you'll have access to source control features powered by Git and GitHub.\n[$(github) Publish to GitHub](command:github.publish)","when":"config.git.enabled && git.state == initialized && workbenchState == workspace && workspaceFolderCount != 0 && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0"}],"markdown.previewStyles":["./markdown.css"]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/github","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.github-authentication"},"manifest":{"name":"github-authentication","displayName":"GitHub Authentication","description":"GitHub Authentication Provider","publisher":"vscode","license":"MIT","version":"0.0.2","engines":{"vscode":"^1.41.0"},"icon":"images/icon.png","categories":["Other"],"api":"none","extensionKind":["ui","workspace"],"enabledApiProposals":["authIssuers","authProviderSpecific"],"activationEvents":[],"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":"limited","restrictedConfigurations":["github-enterprise.uri"]}},"contributes":{"authentication":[{"label":"GitHub","id":"github","authorizationServerGlobs":["https://github.com/login/oauth"]},{"label":"GitHub Enterprise Server","id":"github-enterprise","authorizationServerGlobs":["*"]}],"configuration":[{"title":"GHE.com & GitHub Enterprise Server Authentication","properties":{"github-enterprise.uri":{"type":"string","markdownDescription":"The URI for your GHE.com or GitHub Enterprise Server instance.\n\nExamples:\n* GHE.com: `https://octocat.ghe.com`\n* GitHub Enterprise Server: `https://github.octocat.com`\n\n> **Note:** This should _not_ be set to a GitHub.com URI. If your account exists on GitHub.com or is a GitHub Enterprise Managed User, you do not need any additional configuration and can simply log in to GitHub.","pattern":"^(?:$|(https?)://(?!github\\.com).*)"},"github-authentication.useElectronFetch":{"type":"boolean","default":true,"scope":"application","markdownDescription":"When true, uses Electron's built-in fetch function for HTTP requests. When false, uses the Node.js global fetch function. This setting only applies when running in the Electron environment. **Note:** A restart is required for this setting to take effect."}}}]},"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","main":"./dist/extension.js","browser":"./dist/browser/extension.js","repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/github-authentication","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.go"},"manifest":{"name":"go","displayName":"Go Language Basics","description":"Provides syntax highlighting and bracket matching in Go files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin worlpaker/go-syntax syntaxes/go.tmLanguage.json ./syntaxes/go.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"go","extensions":[".go"],"aliases":["Go"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"go","scopeName":"source.go","path":"./syntaxes/go.tmLanguage.json"}],"configurationDefaults":{"[go]":{"editor.insertSpaces":false}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/go","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.groovy"},"manifest":{"name":"groovy","displayName":"Groovy Language Basics","description":"Provides snippets, syntax highlighting and bracket matching in Groovy files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin textmate/groovy.tmbundle Syntaxes/Groovy.tmLanguage ./syntaxes/groovy.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"groovy","aliases":["Groovy","groovy"],"extensions":[".groovy",".gvy",".gradle",".jenkinsfile",".nf"],"filenames":["Jenkinsfile"],"filenamePatterns":["Jenkinsfile*"],"firstLine":"^#!.*\\bgroovy\\b","configuration":"./language-configuration.json"}],"grammars":[{"language":"groovy","scopeName":"source.groovy","path":"./syntaxes/groovy.tmLanguage.json"}],"snippets":[{"language":"groovy","path":"./snippets/groovy.code-snippets"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/groovy","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.grunt"},"manifest":{"name":"grunt","publisher":"vscode","description":"Extension to add Grunt capabilities to VS Code.","displayName":"Grunt support for VS Code","version":"1.0.0","private":true,"icon":"images/grunt.png","license":"MIT","engines":{"vscode":"*"},"categories":["Other"],"main":"./dist/main","activationEvents":["onTaskType:grunt"],"capabilities":{"virtualWorkspaces":false,"untrustedWorkspaces":{"supported":true}},"contributes":{"configuration":{"id":"grunt","type":"object","title":"Grunt","properties":{"grunt.autoDetect":{"scope":"application","type":"string","enum":["off","on"],"default":"off","description":"Controls enablement of Grunt task detection. Grunt task detection can cause files in any open workspace to be executed."}}},"taskDefinitions":[{"type":"grunt","required":["task"],"properties":{"task":{"type":"string","description":"The Grunt task to customize."},"args":{"type":"array","description":"Command line arguments to pass to the grunt task"},"file":{"type":"string","description":"The Grunt file that provides the task. Can be omitted."}},"when":"shellExecutionSupported"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/grunt","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.gulp"},"manifest":{"name":"gulp","publisher":"vscode","description":"Extension to add Gulp capabilities to VSCode.","displayName":"Gulp support for VSCode","version":"1.0.0","icon":"images/gulp.png","license":"MIT","engines":{"vscode":"*"},"categories":["Other"],"main":"./dist/main","activationEvents":["onTaskType:gulp"],"capabilities":{"virtualWorkspaces":false,"untrustedWorkspaces":{"supported":true}},"contributes":{"configuration":{"id":"gulp","type":"object","title":"Gulp","properties":{"gulp.autoDetect":{"scope":"application","type":"string","enum":["off","on"],"default":"off","description":"Controls enablement of Gulp task detection. Gulp task detection can cause files in any open workspace to be executed."}}},"taskDefinitions":[{"type":"gulp","required":["task"],"properties":{"task":{"type":"string","description":"The Gulp task to customize."},"file":{"type":"string","description":"The Gulp file that provides the task. Can be omitted."}},"when":"shellExecutionSupported"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/gulp","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.handlebars"},"manifest":{"name":"handlebars","displayName":"Handlebars Language Basics","description":"Provides syntax highlighting and bracket matching in Handlebars files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin daaain/Handlebars grammars/Handlebars.json ./syntaxes/Handlebars.tmLanguage.json"},"categories":["Programming Languages"],"extensionKind":["ui","workspace"],"contributes":{"languages":[{"id":"handlebars","extensions":[".handlebars",".hbs",".hjs"],"aliases":["Handlebars","handlebars"],"mimetypes":["text/x-handlebars-template"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"handlebars","scopeName":"text.html.handlebars","path":"./syntaxes/Handlebars.tmLanguage.json"}],"htmlLanguageParticipants":[{"languageId":"handlebars","autoInsert":true}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/handlebars","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[[2,"property `extensionKind` can be defined only if property `main` is also defined."]],"preRelease":false},{"type":0,"identifier":{"id":"vscode.hlsl"},"manifest":{"name":"hlsl","displayName":"HLSL Language Basics","description":"Provides syntax highlighting and bracket matching in HLSL files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin tgjones/shaders-tmLanguage grammars/hlsl.json ./syntaxes/hlsl.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"hlsl","extensions":[".hlsl",".hlsli",".fx",".fxh",".vsh",".psh",".cginc",".compute"],"aliases":["HLSL","hlsl"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"hlsl","path":"./syntaxes/hlsl.tmLanguage.json","scopeName":"source.hlsl"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/hlsl","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.html"},"manifest":{"name":"html","displayName":"HTML Language Basics","description":"Provides syntax highlighting, bracket matching & snippets in HTML files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"scripts":{"update-grammar":"node ./build/update-grammar.mjs"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"html","extensions":[".html",".htm",".shtml",".xhtml",".xht",".mdoc",".jsp",".asp",".aspx",".jshtm",".volt",".ejs",".rhtml"],"aliases":["HTML","htm","html","xhtml"],"mimetypes":["text/html","text/x-jshtm","text/template","text/ng-template","application/xhtml+xml"],"configuration":"./language-configuration.json"}],"grammars":[{"scopeName":"text.html.basic","path":"./syntaxes/html.tmLanguage.json","embeddedLanguages":{"text.html":"html","source.css":"css","source.js":"javascript","source.python":"python","source.smarty":"smarty"},"tokenTypes":{"meta.tag string.quoted":"other"}},{"language":"html","scopeName":"text.html.derivative","path":"./syntaxes/html-derivative.tmLanguage.json","embeddedLanguages":{"text.html":"html","source.css":"css","source.js":"javascript","source.python":"python","source.smarty":"smarty"},"tokenTypes":{"meta.tag string.quoted":"other"}}],"snippets":[{"language":"html","path":"./snippets/html.code-snippets"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/html","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.html-language-features"},"manifest":{"name":"html-language-features","displayName":"HTML Language Features","description":"Provides rich language support for HTML and Handlebar files","version":"1.0.0","publisher":"vscode","license":"MIT","aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","engines":{"vscode":"^1.77.0"},"icon":"icons/html.png","activationEvents":["onLanguage:html","onLanguage:handlebars"],"enabledApiProposals":["extensionsAny"],"main":"./client/dist/node/htmlClientMain","browser":"./client/dist/browser/htmlClientMain","capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"categories":["Programming Languages"],"contributes":{"configuration":{"id":"html","order":20,"type":"object","title":"HTML","properties":{"html.completion.attributeDefaultValue":{"type":"string","scope":"resource","enum":["doublequotes","singlequotes","empty"],"enumDescriptions":["Attribute value is set to \"\".","Attribute value is set to ''.","Attribute value is not set."],"default":"doublequotes","markdownDescription":"Controls the default value for attributes when completion is accepted."},"html.customData":{"type":"array","markdownDescription":"A list of relative file paths pointing to JSON files following the [custom data format](https://github.com/microsoft/vscode-html-languageservice/blob/master/docs/customData.md).\n\nVS Code loads custom data on startup to enhance its HTML support for the custom HTML tags, attributes and attribute values you specify in the JSON files.\n\nThe file paths are relative to workspace and only workspace folder settings are considered.","default":[],"items":{"type":"string"},"scope":"resource"},"html.format.enable":{"type":"boolean","scope":"window","default":true,"description":"Enable/disable default HTML formatter."},"html.format.wrapLineLength":{"type":"integer","scope":"resource","default":120,"description":"Maximum amount of characters per line (0 = disable)."},"html.format.unformatted":{"type":["string","null"],"scope":"resource","default":"wbr","markdownDescription":"List of tags, comma separated, that shouldn't be reformatted. `null` defaults to all tags listed at https://www.w3.org/TR/html5/dom.html#phrasing-content."},"html.format.contentUnformatted":{"type":["string","null"],"scope":"resource","default":"pre,code,textarea","markdownDescription":"List of tags, comma separated, where the content shouldn't be reformatted. `null` defaults to the `pre` tag."},"html.format.indentInnerHtml":{"type":"boolean","scope":"resource","default":false,"markdownDescription":"Indent `` and `` sections."},"html.format.preserveNewLines":{"type":"boolean","scope":"resource","default":true,"description":"Controls whether existing line breaks before elements should be preserved. Only works before elements, not inside tags or for text."},"html.format.maxPreserveNewLines":{"type":["number","null"],"scope":"resource","default":null,"markdownDescription":"Maximum number of line breaks to be preserved in one chunk. Use `null` for unlimited."},"html.format.indentHandlebars":{"type":"boolean","scope":"resource","default":false,"markdownDescription":"Format and indent `{{#foo}}` and `{{/foo}}`."},"html.format.extraLiners":{"type":["string","null"],"scope":"resource","default":"head, body, /html","markdownDescription":"List of tags, comma separated, that should have an extra newline before them. `null` defaults to `\"head, body, /html\"`."},"html.format.wrapAttributes":{"type":"string","scope":"resource","default":"auto","enum":["auto","force","force-aligned","force-expand-multiline","aligned-multiple","preserve","preserve-aligned"],"enumDescriptions":["Wrap attributes only when line length is exceeded.","Wrap each attribute except first.","Wrap each attribute except first and keep aligned.","Wrap each attribute.","Wrap when line length is exceeded, align attributes vertically.","Preserve wrapping of attributes.","Preserve wrapping of attributes but align."],"description":"Wrap attributes."},"html.format.wrapAttributesIndentSize":{"type":["number","null"],"scope":"resource","default":null,"markdownDescription":"Indent wrapped attributes to after N characters. Use `null` to use the default indent size. Ignored if `#html.format.wrapAttributes#` is set to `aligned`."},"html.format.templating":{"type":"boolean","scope":"resource","default":false,"description":"Honor django, erb, handlebars and php templating language tags."},"html.format.unformattedContentDelimiter":{"type":"string","scope":"resource","default":"","markdownDescription":"Keep text content together between this string."},"html.suggest.html5":{"type":"boolean","scope":"resource","default":true,"description":"Controls whether the built-in HTML language support suggests HTML5 tags, properties and values."},"html.validate.scripts":{"type":"boolean","scope":"resource","default":true,"description":"Controls whether the built-in HTML language support validates embedded scripts."},"html.validate.styles":{"type":"boolean","scope":"resource","default":true,"description":"Controls whether the built-in HTML language support validates embedded styles."},"html.autoCreateQuotes":{"type":"boolean","scope":"resource","default":true,"markdownDescription":"Enable/disable auto creation of quotes for HTML attribute assignment. The type of quotes can be configured by `#html.completion.attributeDefaultValue#`."},"html.autoClosingTags":{"type":"boolean","scope":"resource","default":true,"description":"Enable/disable autoclosing of HTML tags."},"html.hover.documentation":{"type":"boolean","scope":"resource","default":true,"description":"Show tag and attribute documentation in hover."},"html.hover.references":{"type":"boolean","scope":"resource","default":true,"description":"Show references to MDN in hover."},"html.mirrorCursorOnMatchingTag":{"type":"boolean","scope":"resource","default":false,"description":"Enable/disable mirroring cursor on matching HTML tag.","deprecationMessage":"Deprecated in favor of `editor.linkedEditing`"},"html.trace.server":{"type":"string","scope":"window","enum":["off","messages","verbose"],"default":"off","description":"Traces the communication between VS Code and the HTML language server."}}},"configurationDefaults":{"[html]":{"editor.suggest.insertMode":"replace"},"[handlebars]":{"editor.suggest.insertMode":"replace"}},"jsonValidation":[{"fileMatch":"*.html-data.json","url":"https://raw.githubusercontent.com/microsoft/vscode-html-languageservice/master/docs/customData.schema.json"},{"fileMatch":"package.json","url":"./schemas/package.schema.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/html-language-features","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.ini"},"manifest":{"name":"ini","displayName":"Ini Language Basics","description":"Provides syntax highlighting and bracket matching in Ini files.","version":"1.0.0","private":true,"publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin textmate/ini.tmbundle Syntaxes/Ini.plist ./syntaxes/ini.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"ini","extensions":[".ini"],"aliases":["Ini","ini"],"configuration":"./ini.language-configuration.json"},{"id":"properties","extensions":[".conf",".properties",".cfg",".directory",".gitattributes",".gitconfig",".gitmodules",".editorconfig",".repo"],"filenames":["gitconfig",".env"],"filenamePatterns":["**/.config/git/config","**/.git/config",".*.env"],"aliases":["Properties","properties"],"configuration":"./properties.language-configuration.json"}],"grammars":[{"language":"ini","scopeName":"source.ini","path":"./syntaxes/ini.tmLanguage.json"},{"language":"properties","scopeName":"source.ini","path":"./syntaxes/ini.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/ini","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.ipynb"},"manifest":{"name":"ipynb","displayName":".ipynb Support","description":"Provides basic support for opening and reading Jupyter's .ipynb notebook files","publisher":"vscode","version":"1.0.0","license":"MIT","icon":"media/icon.png","engines":{"vscode":"^1.57.0"},"enabledApiProposals":["diffContentOptions"],"activationEvents":["onNotebook:jupyter-notebook","onNotebookSerializer:interactive","onNotebookSerializer:repl"],"extensionKind":["workspace","ui"],"main":"./dist/ipynbMain.node.js","browser":"./dist/browser/ipynbMain.browser.js","capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"contributes":{"configuration":[{"properties":{"ipynb.pasteImagesAsAttachments.enabled":{"type":"boolean","scope":"resource","markdownDescription":"Enable/disable pasting of images into Markdown cells in ipynb notebook files. Pasted images are inserted as attachments to the cell.","default":true},"ipynb.experimental.serialization":{"type":"boolean","scope":"resource","markdownDescription":"Experimental feature to serialize the Jupyter notebook in a worker thread.","default":true,"tags":["experimental"]}}}],"commands":[{"command":"ipynb.newUntitledIpynb","title":"New Jupyter Notebook","shortTitle":"Jupyter Notebook","category":"Create"},{"command":"ipynb.openIpynbInNotebookEditor","title":"Open IPYNB File In Notebook Editor"},{"command":"ipynb.cleanInvalidImageAttachment","title":"Clean Invalid Image Attachment Reference"},{"command":"notebook.cellOutput.copy","title":"Copy Cell Output","category":"Notebook"},{"command":"notebook.cellOutput.addToChat","title":"Add Cell Output to Chat","category":"Notebook","enablement":"chatIsEnabled"},{"command":"notebook.cellOutput.openInTextEditor","title":"Open Cell Output in Text Editor","category":"Notebook"}],"notebooks":[{"type":"jupyter-notebook","displayName":"Jupyter Notebook","selector":[{"filenamePattern":"*.ipynb"}],"priority":"default"}],"notebookRenderer":[{"id":"vscode.markdown-it-cell-attachment-renderer","displayName":"Markdown-It ipynb Cell Attachment renderer","entrypoint":{"extends":"vscode.markdown-it-renderer","path":"./notebook-out/cellAttachmentRenderer.js"}}],"menus":{"file/newFile":[{"command":"ipynb.newUntitledIpynb","group":"notebook"}],"commandPalette":[{"command":"ipynb.newUntitledIpynb"},{"command":"ipynb.openIpynbInNotebookEditor","when":"false"},{"command":"ipynb.cleanInvalidImageAttachment","when":"false"},{"command":"notebook.cellOutput.copy","when":"notebookCellHasOutputs"},{"command":"notebook.cellOutput.openInTextEditor","when":"false"}],"webview/context":[{"command":"notebook.cellOutput.copy","when":"webviewId == 'notebook.output' && webviewSection == 'image'","group":"context@1"},{"command":"notebook.cellOutput.copy","when":"webviewId == 'notebook.output' && webviewSection == 'text'"},{"command":"notebook.cellOutput.addToChat","when":"webviewId == 'notebook.output' && (webviewSection == 'text' || webviewSection == 'image')","group":"context@2"},{"command":"notebook.cellOutput.openInTextEditor","when":"webviewId == 'notebook.output' && webviewSection == 'text'"}]}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/ipynb","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.jake"},"manifest":{"name":"jake","publisher":"vscode","description":"Extension to add Jake capabilities to VS Code.","displayName":"Jake support for VS Code","icon":"images/cowboy_hat.png","version":"1.0.0","license":"MIT","engines":{"vscode":"*"},"categories":["Other"],"main":"./dist/main","activationEvents":["onTaskType:jake"],"capabilities":{"virtualWorkspaces":false,"untrustedWorkspaces":{"supported":true}},"contributes":{"configuration":{"id":"jake","type":"object","title":"Jake","properties":{"jake.autoDetect":{"scope":"application","type":"string","enum":["off","on"],"default":"off","description":"Controls enablement of Jake task detection. Jake task detection can cause files in any open workspace to be executed."}}},"taskDefinitions":[{"type":"jake","required":["task"],"properties":{"task":{"type":"string","description":"The Jake task to customize."},"file":{"type":"string","description":"The Jake file that provides the task. Can be omitted."}},"when":"shellExecutionSupported"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/jake","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.java"},"manifest":{"name":"java","displayName":"Java Language Basics","description":"Provides snippets, syntax highlighting, bracket matching and folding in Java files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin redhat-developer/vscode-java language-support/java/java.tmLanguage.json ./syntaxes/java.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"java","extensions":[".java",".jav"],"aliases":["Java","java"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"java","scopeName":"source.java","path":"./syntaxes/java.tmLanguage.json"}],"snippets":[{"language":"java","path":"./snippets/java.code-snippets"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/java","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.javascript"},"manifest":{"name":"javascript","displayName":"JavaScript Language Basics","description":"Provides snippets, syntax highlighting, bracket matching and folding in JavaScript files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"categories":["Programming Languages"],"contributes":{"configurationDefaults":{"[javascript]":{"editor.maxTokenizationLineLength":2500}},"languages":[{"id":"javascriptreact","aliases":["JavaScript JSX","JavaScript React","jsx"],"extensions":[".jsx"],"configuration":"./javascript-language-configuration.json"},{"id":"javascript","aliases":["JavaScript","javascript","js"],"extensions":[".js",".es6",".mjs",".cjs",".pac"],"filenames":["jakefile"],"firstLine":"^#!.*\\bnode","mimetypes":["text/javascript"],"configuration":"./javascript-language-configuration.json"},{"id":"jsx-tags","aliases":[],"configuration":"./tags-language-configuration.json"}],"grammars":[{"language":"javascriptreact","scopeName":"source.js.jsx","path":"./syntaxes/JavaScriptReact.tmLanguage.json","embeddedLanguages":{"meta.tag.js":"jsx-tags","meta.tag.without-attributes.js":"jsx-tags","meta.tag.attributes.js.jsx":"javascriptreact","meta.embedded.expression.js":"javascriptreact"},"tokenTypes":{"punctuation.definition.template-expression":"other","entity.name.type.instance.jsdoc":"other","entity.name.function.tagged-template":"other","meta.import string.quoted":"other","variable.other.jsdoc":"other"}},{"language":"javascript","scopeName":"source.js","path":"./syntaxes/JavaScript.tmLanguage.json","embeddedLanguages":{"meta.tag.js":"jsx-tags","meta.tag.without-attributes.js":"jsx-tags","meta.tag.attributes.js":"javascript","meta.embedded.expression.js":"javascript"},"tokenTypes":{"punctuation.definition.template-expression":"other","entity.name.type.instance.jsdoc":"other","entity.name.function.tagged-template":"other","meta.import string.quoted":"other","variable.other.jsdoc":"other"}},{"scopeName":"source.js.regexp","path":"./syntaxes/Regular Expressions (JavaScript).tmLanguage"}],"semanticTokenScopes":[{"language":"javascript","scopes":{"property":["variable.other.property.js"],"property.readonly":["variable.other.constant.property.js"],"variable":["variable.other.readwrite.js"],"variable.readonly":["variable.other.constant.object.js"],"function":["entity.name.function.js"],"namespace":["entity.name.type.module.js"],"variable.defaultLibrary":["support.variable.js"],"function.defaultLibrary":["support.function.js"]}},{"language":"javascriptreact","scopes":{"property":["variable.other.property.jsx"],"property.readonly":["variable.other.constant.property.jsx"],"variable":["variable.other.readwrite.jsx"],"variable.readonly":["variable.other.constant.object.jsx"],"function":["entity.name.function.jsx"],"namespace":["entity.name.type.module.jsx"],"variable.defaultLibrary":["support.variable.js"],"function.defaultLibrary":["support.function.js"]}}],"snippets":[{"language":"javascript","path":"./snippets/javascript.code-snippets"},{"language":"javascriptreact","path":"./snippets/javascript.code-snippets"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/javascript","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.json"},"manifest":{"name":"json","displayName":"JSON Language Basics","description":"Provides syntax highlighting & bracket matching in JSON files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"scripts":{"update-grammar":"node ./build/update-grammars.js"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"json","aliases":["JSON","json"],"extensions":[".json",".bowerrc",".jscsrc",".webmanifest",".js.map",".css.map",".ts.map",".har",".jslintrc",".jsonld",".geojson",".ipynb",".vuerc"],"filenames":["composer.lock",".watchmanconfig"],"mimetypes":["application/json","application/manifest+json"],"configuration":"./language-configuration.json"},{"id":"jsonc","aliases":["JSON with Comments"],"extensions":[".jsonc",".eslintrc",".eslintrc.json",".jsfmtrc",".jshintrc",".swcrc",".hintrc",".babelrc",".toolset.jsonc"],"filenames":["babel.config.json","bun.lock",".babelrc.json",".ember-cli","typedoc.json"],"configuration":"./language-configuration.json"},{"id":"jsonl","aliases":["JSON Lines"],"extensions":[".jsonl",".ndjson"],"filenames":[],"configuration":"./language-configuration.json"},{"id":"snippets","aliases":["Code Snippets"],"extensions":[".code-snippets"],"filenamePatterns":["**/User/snippets/*.json","**/User/profiles/*/snippets/*.json","**/snippets*.json"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"json","scopeName":"source.json","path":"./syntaxes/JSON.tmLanguage.json"},{"language":"jsonc","scopeName":"source.json.comments","path":"./syntaxes/JSONC.tmLanguage.json"},{"language":"jsonl","scopeName":"source.json.lines","path":"./syntaxes/JSONL.tmLanguage.json"},{"language":"snippets","scopeName":"source.json.comments.snippets","path":"./syntaxes/snippets.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/json","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.json-language-features"},"manifest":{"name":"json-language-features","displayName":"JSON Language Features","description":"Provides rich language support for JSON files.","version":"1.0.0","publisher":"vscode","license":"MIT","aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","engines":{"vscode":"^1.77.0"},"enabledApiProposals":["extensionsAny"],"icon":"icons/json.png","activationEvents":["onLanguage:json","onLanguage:jsonc","onLanguage:snippets","onCommand:json.validate"],"main":"./client/dist/node/jsonClientMain","browser":"./client/dist/browser/jsonClientMain","capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":"limited","description":"The extension requires workspace trust to load schemas from http and https."}},"categories":["Programming Languages"],"contributes":{"configuration":{"id":"json","order":20,"type":"object","title":"JSON","properties":{"json.schemas":{"type":"array","scope":"resource","description":"Associate schemas to JSON files in the current project.","items":{"type":"object","default":{"fileMatch":["/myfile"],"url":"schemaURL"},"properties":{"url":{"type":"string","default":"/user.schema.json","description":"A URL or absolute file path to a schema. Can be a relative path (starting with './') in workspace and workspace folder settings."},"fileMatch":{"type":"array","items":{"type":"string","default":"MyFile.json","description":"A file pattern that can contain '*' and '**' to match against when resolving JSON files to schemas. When beginning with '!', it defines an exclusion pattern."},"minItems":1,"description":"An array of file patterns to match against when resolving JSON files to schemas. `*` and '**' can be used as a wildcard. Exclusion patterns can also be defined and start with '!'. A file matches when there is at least one matching pattern and the last matching pattern is not an exclusion pattern."},"schema":{"$ref":"http://json-schema.org/draft-07/schema#","description":"The schema definition for the given URL. The schema only needs to be provided to avoid accesses to the schema URL."}}}},"json.validate.enable":{"type":"boolean","scope":"window","default":true,"description":"Enable/disable JSON validation."},"json.format.enable":{"type":"boolean","scope":"window","default":true,"description":"Enable/disable default JSON formatter"},"json.format.keepLines":{"type":"boolean","scope":"window","default":false,"description":"Keep all existing new lines when formatting."},"json.trace.server":{"type":"string","scope":"window","enum":["off","messages","verbose"],"default":"off","description":"Traces the communication between VS Code and the JSON language server."},"json.colorDecorators.enable":{"type":"boolean","scope":"window","default":true,"description":"Enables or disables color decorators","deprecationMessage":"The setting `json.colorDecorators.enable` has been deprecated in favor of `editor.colorDecorators`."},"json.maxItemsComputed":{"type":"number","default":5000,"description":"The maximum number of outline symbols and folding regions computed (limited for performance reasons)."},"json.schemaDownload.enable":{"type":"boolean","default":true,"description":"When enabled, JSON schemas can be fetched from http and https locations.","tags":["usesOnlineServices"]}}},"configurationDefaults":{"[json]":{"editor.quickSuggestions":{"strings":true},"editor.suggest.insertMode":"replace"},"[jsonc]":{"editor.quickSuggestions":{"strings":true},"editor.suggest.insertMode":"replace"},"[snippets]":{"editor.quickSuggestions":{"strings":true},"editor.suggest.insertMode":"replace"}},"jsonValidation":[{"fileMatch":"*.schema.json","url":"http://json-schema.org/draft-07/schema#"}],"commands":[{"command":"json.clearCache","title":"Clear Schema Cache","category":"JSON"},{"command":"json.sort","title":"Sort Document","category":"JSON"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/json-language-features","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.julia"},"manifest":{"name":"julia","displayName":"Julia Language Basics","description":"Provides syntax highlighting & bracket matching in Julia files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin JuliaEditorSupport/atom-language-julia grammars/julia_vscode.json ./syntaxes/julia.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"julia","aliases":["Julia","julia"],"extensions":[".jl"],"firstLine":"^#!\\s*/.*\\bjulia[0-9.-]*\\b","configuration":"./language-configuration.json"},{"id":"juliamarkdown","aliases":["Julia Markdown","juliamarkdown"],"extensions":[".jmd"]}],"grammars":[{"language":"julia","scopeName":"source.julia","path":"./syntaxes/julia.tmLanguage.json","embeddedLanguages":{"meta.embedded.inline.cpp":"cpp","meta.embedded.inline.javascript":"javascript","meta.embedded.inline.python":"python","meta.embedded.inline.r":"r","meta.embedded.inline.sql":"sql"}}],"configurationDefaults":{"[julia]":{"editor.defaultColorDecorators":"never"}}}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/julia","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.latex"},"manifest":{"name":"latex","displayName":"LaTeX Language Basics","description":"Provides syntax highlighting and bracket matching for TeX, LaTeX and BibTeX.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ./build/update-grammars.js"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"tex","aliases":["TeX","tex"],"extensions":[".sty",".cls",".bbx",".cbx"],"configuration":"latex-language-configuration.json"},{"id":"latex","aliases":["LaTeX","latex"],"extensions":[".tex",".ltx",".ctx"],"configuration":"latex-language-configuration.json"},{"id":"bibtex","aliases":["BibTeX","bibtex"],"extensions":[".bib"]},{"id":"cpp_embedded_latex","configuration":"latex-cpp-embedded-language-configuration.json","aliases":[]},{"id":"markdown_latex_combined","configuration":"markdown-latex-combined-language-configuration.json","aliases":[]}],"grammars":[{"language":"tex","scopeName":"text.tex","path":"./syntaxes/TeX.tmLanguage.json"},{"language":"latex","scopeName":"text.tex.latex","path":"./syntaxes/LaTeX.tmLanguage.json","embeddedLanguages":{"source.cpp":"cpp_embedded_latex","source.css":"css","text.html":"html","source.java":"java","source.js":"javascript","source.julia":"julia","source.lua":"lua","source.python":"python","source.ruby":"ruby","source.ts":"typescript","text.xml":"xml","source.yaml":"yaml","meta.embedded.markdown_latex_combined":"markdown_latex_combined"}},{"language":"bibtex","scopeName":"text.bibtex","path":"./syntaxes/Bibtex.tmLanguage.json"},{"language":"markdown_latex_combined","scopeName":"text.tex.markdown_latex_combined","path":"./syntaxes/markdown-latex-combined.tmLanguage.json"},{"language":"cpp_embedded_latex","scopeName":"source.cpp.embedded.latex","path":"./syntaxes/cpp-grammar-bailout.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/latex","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.less"},"manifest":{"name":"less","displayName":"Less Language Basics","description":"Provides syntax highlighting, bracket matching and folding in Less files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ./build/update-grammar.js"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"less","aliases":["Less","less"],"extensions":[".less"],"mimetypes":["text/x-less","text/less"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"less","scopeName":"source.css.less","path":"./syntaxes/less.tmLanguage.json"}],"problemMatchers":[{"name":"lessc","label":"Lessc compiler","owner":"lessc","source":"less","fileLocation":"absolute","pattern":{"regexp":"(.*)\\sin\\s(.*)\\son line\\s(\\d+),\\scolumn\\s(\\d+)","message":1,"file":2,"line":3,"column":4}}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/less","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.log"},"manifest":{"name":"log","displayName":"Log","description":"Provides syntax highlighting for files with .log extension.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin emilast/vscode-logfile-highlighter syntaxes/log.tmLanguage ./syntaxes/log.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"log","extensions":[".log","*.log.?"],"aliases":["Log"]}],"grammars":[{"language":"log","scopeName":"text.log","path":"./syntaxes/log.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/log","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.lua"},"manifest":{"name":"lua","displayName":"Lua Language Basics","description":"Provides syntax highlighting and bracket matching in Lua files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin sumneko/lua.tmbundle Syntaxes/Lua.plist ./syntaxes/lua.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"lua","extensions":[".lua"],"aliases":["Lua","lua"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"lua","scopeName":"source.lua","path":"./syntaxes/lua.tmLanguage.json","tokenTypes":{"comment.line.double-dash.doc.lua":"other"}}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/lua","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.make"},"manifest":{"name":"make","displayName":"Make Language Basics","description":"Provides syntax highlighting and bracket matching in Make files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin fadeevab/make.tmbundle Syntaxes/Makefile.plist ./syntaxes/make.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"makefile","aliases":["Makefile","makefile"],"extensions":[".mak",".mk"],"filenames":["Makefile","makefile","GNUmakefile","OCamlMakefile"],"firstLine":"^#!\\s*/usr/bin/make","configuration":"./language-configuration.json"}],"grammars":[{"language":"makefile","scopeName":"source.makefile","path":"./syntaxes/make.tmLanguage.json","tokenTypes":{"string.interpolated":"other"}}],"configurationDefaults":{"[makefile]":{"editor.insertSpaces":false}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/make","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.markdown"},"manifest":{"name":"markdown","displayName":"Markdown Language Basics","description":"Provides snippets and syntax highlighting for Markdown.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.20.0"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"markdown","aliases":["Markdown","markdown"],"extensions":[".md",".mkd",".mdwn",".mdown",".markdown",".markdn",".mdtxt",".mdtext",".workbook"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"markdown","scopeName":"text.html.markdown","path":"./syntaxes/markdown.tmLanguage.json","embeddedLanguages":{"meta.embedded.block.html":"html","source.js":"javascript","source.css":"css","meta.embedded.block.frontmatter":"yaml","meta.embedded.block.css":"css","meta.embedded.block.ini":"ini","meta.embedded.block.java":"java","meta.embedded.block.lua":"lua","meta.embedded.block.makefile":"makefile","meta.embedded.block.perl":"perl","meta.embedded.block.r":"r","meta.embedded.block.ruby":"ruby","meta.embedded.block.php":"php","meta.embedded.block.sql":"sql","meta.embedded.block.vs_net":"vs_net","meta.embedded.block.xml":"xml","meta.embedded.block.xsl":"xsl","meta.embedded.block.yaml":"yaml","meta.embedded.block.dosbatch":"dosbatch","meta.embedded.block.clojure":"clojure","meta.embedded.block.coffee":"coffee","meta.embedded.block.c":"c","meta.embedded.block.cpp":"cpp","meta.embedded.block.diff":"diff","meta.embedded.block.dockerfile":"dockerfile","meta.embedded.block.go":"go","meta.embedded.block.groovy":"groovy","meta.embedded.block.pug":"jade","meta.embedded.block.ignore":"ignore","meta.embedded.block.javascript":"javascript","meta.embedded.block.json":"json","meta.embedded.block.jsonc":"jsonc","meta.embedded.block.jsonl":"jsonl","meta.embedded.block.latex":"latex","meta.embedded.block.less":"less","meta.embedded.block.objc":"objc","meta.embedded.block.scss":"scss","meta.embedded.block.perl6":"perl6","meta.embedded.block.powershell":"powershell","meta.embedded.block.python":"python","meta.embedded.block.restructuredtext":"restructuredtext","meta.embedded.block.rust":"rust","meta.embedded.block.scala":"scala","meta.embedded.block.shellscript":"shellscript","meta.embedded.block.typescript":"typescript","meta.embedded.block.typescriptreact":"typescriptreact","meta.embedded.block.csharp":"csharp","meta.embedded.block.fsharp":"fsharp"},"unbalancedBracketScopes":["markup.underline.link.markdown","punctuation.definition.list.begin.markdown"]}],"snippets":[{"language":"markdown","path":"./snippets/markdown.code-snippets"}],"configurationDefaults":{"[markdown]":{"editor.unicodeHighlight.ambiguousCharacters":false,"editor.unicodeHighlight.invisibleCharacters":false,"diffEditor.ignoreTrimWhitespace":false}}},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin microsoft/vscode-markdown-tm-grammar syntaxes/markdown.tmLanguage ./syntaxes/markdown.tmLanguage.json"},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/markdown-basics","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.markdown-language-features"},"manifest":{"name":"markdown-language-features","displayName":"Markdown Language Features","description":"Provides rich language support for Markdown.","version":"1.0.0","icon":"icon.png","publisher":"vscode","license":"MIT","aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","engines":{"vscode":"^1.70.0"},"main":"./dist/extension","browser":"./dist/browser/extension","categories":["Programming Languages"],"activationEvents":["onLanguage:markdown","onLanguage:prompt","onLanguage:instructions","onLanguage:chatmode","onCommand:markdown.api.render","onCommand:markdown.api.reloadPlugins","onWebviewPanel:markdown.preview"],"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":"limited","description":"Required for loading styles configured in the workspace.","restrictedConfigurations":["markdown.styles"]}},"contributes":{"notebookRenderer":[{"id":"vscode.markdown-it-renderer","displayName":"Markdown it renderer","entrypoint":"./notebook-out/index.js","mimeTypes":["text/markdown","text/latex","text/x-css","text/x-html","text/x-json","text/x-typescript","text/x-abap","text/x-apex","text/x-azcli","text/x-bat","text/x-cameligo","text/x-clojure","text/x-coffee","text/x-cpp","text/x-csharp","text/x-csp","text/x-css","text/x-dart","text/x-dockerfile","text/x-ecl","text/x-fsharp","text/x-go","text/x-graphql","text/x-handlebars","text/x-hcl","text/x-html","text/x-ini","text/x-java","text/x-javascript","text/x-julia","text/x-kotlin","text/x-less","text/x-lexon","text/x-lua","text/x-m3","text/x-markdown","text/x-mips","text/x-msdax","text/x-mysql","text/x-objective-c/objective","text/x-pascal","text/x-pascaligo","text/x-perl","text/x-pgsql","text/x-php","text/x-postiats","text/x-powerquery","text/x-powershell","text/x-pug","text/x-python","text/x-r","text/x-razor","text/x-redis","text/x-redshift","text/x-restructuredtext","text/x-ruby","text/x-rust","text/x-sb","text/x-scala","text/x-scheme","text/x-scss","text/x-shell","text/x-solidity","text/x-sophia","text/x-sql","text/x-st","text/x-swift","text/x-systemverilog","text/x-tcl","text/x-twig","text/x-typescript","text/x-vb","text/x-xml","text/x-yaml","application/json"]}],"commands":[{"command":"_markdown.copyImage","title":"Copy Image","category":"Markdown"},{"command":"_markdown.openImage","title":"Open Image","category":"Markdown"},{"command":"markdown.showPreview","title":"Open Preview","category":"Markdown","icon":{"light":"./media/preview-light.svg","dark":"./media/preview-dark.svg"}},{"command":"markdown.showPreviewToSide","title":"Open Preview to the Side","category":"Markdown","icon":"$(open-preview)"},{"command":"markdown.showLockedPreviewToSide","title":"Open Locked Preview to the Side","category":"Markdown","icon":"$(open-preview)"},{"command":"markdown.showSource","title":"Show Source","category":"Markdown","icon":"$(go-to-file)"},{"command":"markdown.showPreviewSecuritySelector","title":"Change Preview Security Settings","category":"Markdown"},{"command":"markdown.preview.refresh","title":"Refresh Preview","category":"Markdown"},{"command":"markdown.preview.toggleLock","title":"Toggle Preview Locking","category":"Markdown"},{"command":"markdown.findAllFileReferences","title":"Find File References","category":"Markdown"},{"command":"markdown.editor.insertLinkFromWorkspace","title":"Insert Link to File in Workspace","category":"Markdown","enablement":"editorLangId == markdown && !activeEditorIsReadonly"},{"command":"markdown.editor.insertImageFromWorkspace","title":"Insert Image from Workspace","category":"Markdown","enablement":"editorLangId == markdown && !activeEditorIsReadonly"}],"menus":{"webview/context":[{"command":"_markdown.copyImage","when":"webviewId == 'markdown.preview' && (webviewSection == 'image' || webviewSection == 'localImage')"},{"command":"_markdown.openImage","when":"webviewId == 'markdown.preview' && webviewSection == 'localImage'"}],"editor/title":[{"command":"markdown.showPreviewToSide","when":"editorLangId == markdown && !notebookEditorFocused && !hasCustomMarkdownPreview","alt":"markdown.showPreview","group":"navigation"},{"command":"markdown.showSource","when":"activeWebviewPanelId == 'markdown.preview' || activeCustomEditorId == 'vscode.markdown.preview.editor'","group":"navigation"},{"command":"markdown.preview.refresh","when":"activeWebviewPanelId == 'markdown.preview' || activeCustomEditorId == 'vscode.markdown.preview.editor'","group":"1_markdown"},{"command":"markdown.preview.toggleLock","when":"activeWebviewPanelId == 'markdown.preview' || activeCustomEditorId == 'vscode.markdown.preview.editor'","group":"1_markdown"},{"command":"markdown.showPreviewSecuritySelector","when":"activeWebviewPanelId == 'markdown.preview' || activeCustomEditorId == 'vscode.markdown.preview.editor'","group":"1_markdown"}],"explorer/context":[{"command":"markdown.showPreview","when":"resourceLangId == markdown && !hasCustomMarkdownPreview","group":"navigation"},{"command":"markdown.findAllFileReferences","when":"resourceLangId == markdown","group":"4_search"}],"editor/title/context":[{"command":"markdown.showPreview","when":"resourceLangId == markdown && !hasCustomMarkdownPreview","group":"1_open"},{"command":"markdown.findAllFileReferences","when":"resourceLangId == markdown"}],"commandPalette":[{"command":"_markdown.openImage","when":"false"},{"command":"_markdown.copyImage","when":"false"},{"command":"markdown.showPreview","when":"editorLangId == markdown && !notebookEditorFocused","group":"navigation"},{"command":"markdown.showPreviewToSide","when":"editorLangId == markdown && !notebookEditorFocused","group":"navigation"},{"command":"markdown.showLockedPreviewToSide","when":"editorLangId == markdown && !notebookEditorFocused","group":"navigation"},{"command":"markdown.showSource","when":"activeWebviewPanelId == 'markdown.preview' || activeCustomEditorId == 'vscode.markdown.preview.editor'","group":"navigation"},{"command":"markdown.showPreviewSecuritySelector","when":"editorLangId == markdown && !notebookEditorFocused"},{"command":"markdown.showPreviewSecuritySelector","when":"activeWebviewPanelId == 'markdown.preview' || activeCustomEditorId == 'vscode.markdown.preview.editor'"},{"command":"markdown.preview.toggleLock","when":"activeWebviewPanelId == 'markdown.preview' || activeCustomEditorId == 'vscode.markdown.preview.editor'"},{"command":"markdown.preview.refresh","when":"editorLangId == markdown && !notebookEditorFocused"},{"command":"markdown.preview.refresh","when":"activeWebviewPanelId == 'markdown.preview' || activeCustomEditorId == 'vscode.markdown.preview.editor'"},{"command":"markdown.findAllFileReferences","when":"editorLangId == markdown"}]},"keybindings":[{"command":"markdown.showPreview","key":"shift+ctrl+v","mac":"shift+cmd+v","when":"editorLangId == markdown && !notebookEditorFocused"},{"command":"markdown.showPreviewToSide","key":"ctrl+k v","mac":"cmd+k v","when":"editorLangId == markdown && !notebookEditorFocused"}],"configuration":{"type":"object","title":"Markdown","order":20,"properties":{"markdown.styles":{"type":"array","items":{"type":"string"},"default":[],"description":"A list of URLs or local paths to CSS style sheets to use from the Markdown preview. Relative paths are interpreted relative to the folder open in the Explorer. If there is no open folder, they are interpreted relative to the location of the Markdown file. All '\\' need to be written as '\\\\'.","scope":"resource"},"markdown.preview.breaks":{"type":"boolean","default":false,"markdownDescription":"Sets how line-breaks are rendered in the Markdown preview. Setting it to `true` creates a `
` for newlines inside paragraphs.","scope":"resource"},"markdown.preview.linkify":{"type":"boolean","default":true,"description":"Convert URL-like text to links in the Markdown preview.","scope":"resource"},"markdown.preview.typographer":{"type":"boolean","default":false,"description":"Enable some language-neutral replacement and quotes beautification in the Markdown preview.","scope":"resource"},"markdown.preview.fontFamily":{"type":"string","default":"-apple-system, BlinkMacSystemFont, 'Segoe WPC', 'Segoe UI', system-ui, 'Ubuntu', 'Droid Sans', sans-serif","description":"Controls the font family used in the Markdown preview.","scope":"resource"},"markdown.preview.fontSize":{"type":"number","default":14,"description":"Controls the font size in pixels used in the Markdown preview.","scope":"resource"},"markdown.preview.lineHeight":{"type":"number","default":1.6,"description":"Controls the line height used in the Markdown preview. This number is relative to the font size.","scope":"resource"},"markdown.preview.scrollPreviewWithEditor":{"type":"boolean","default":true,"description":"When a Markdown editor is scrolled, update the view of the preview.","scope":"resource"},"markdown.preview.markEditorSelection":{"type":"boolean","default":true,"description":"Mark the current editor selection in the Markdown preview.","scope":"resource"},"markdown.preview.scrollEditorWithPreview":{"type":"boolean","default":true,"description":"When a Markdown preview is scrolled, update the view of the editor.","scope":"resource"},"markdown.preview.doubleClickToSwitchToEditor":{"type":"boolean","default":true,"description":"Double-click in the Markdown preview to switch to the editor.","scope":"resource"},"markdown.preview.openMarkdownLinks":{"type":"string","default":"inPreview","description":"Controls how links to other Markdown files in the Markdown preview should be opened.","scope":"resource","enum":["inPreview","inEditor"],"enumDescriptions":["Try to open links in the Markdown preview.","Try to open links in the editor."]},"markdown.links.openLocation":{"type":"string","default":"currentGroup","description":"Controls where links in Markdown files should be opened.","scope":"resource","enum":["currentGroup","beside"],"enumDescriptions":["Open links in the active editor group.","Open links beside the active editor."]},"markdown.suggest.paths.enabled":{"type":"boolean","default":true,"description":"Enable path suggestions while writing links in Markdown files.","scope":"resource"},"markdown.suggest.paths.includeWorkspaceHeaderCompletions":{"type":"string","default":"onDoubleHash","scope":"resource","markdownDescription":"Enable suggestions for headers in other Markdown files in the current workspace. Accepting one of these suggestions inserts the full path to header in that file, for example: `[link text](/path/to/file.md#header)`.","enum":["never","onDoubleHash","onSingleOrDoubleHash"],"markdownEnumDescriptions":["Disable workspace header suggestions.","Enable workspace header suggestions after typing `##` in a path, for example: `[link text](##`.","Enable workspace header suggestions after typing either `##` or `#` in a path, for example: `[link text](#` or `[link text](##`."]},"markdown.trace.server":{"type":"string","scope":"window","enum":["off","messages","verbose"],"default":"off","description":"Traces the communication between VS Code and the Markdown language server."},"markdown.server.log":{"type":"string","scope":"window","enum":["off","debug","trace"],"default":"off","description":"Controls the logging level of the Markdown language server."},"markdown.editor.drop.enabled":{"type":"string","scope":"resource","markdownDescription":"Enable dropping files into a Markdown editor while holding Shift. Requires enabling `#editor.dropIntoEditor.enabled#`.","default":"smart","enum":["always","smart","never"],"markdownEnumDescriptions":["Always insert Markdown links.","Smartly create Markdown links by default when not dropping into a code block or other special element. Use the drop widget to switch between pasting as plain text or as Markdown links.","Never create Markdown links."]},"markdown.editor.drop.copyIntoWorkspace":{"type":"string","markdownDescription":"Controls if files outside of the workspace that are dropped into a Markdown editor should be copied into the workspace.\n\nUse `#markdown.copyFiles.destination#` to configure where copied dropped files should be created","default":"mediaFiles","enum":["mediaFiles","never"],"markdownEnumDescriptions":["Try to copy external image and video files into the workspace.","Do not copy external files into the workspace."]},"markdown.editor.filePaste.enabled":{"type":"string","scope":"resource","markdownDescription":"Enable pasting files into a Markdown editor to create Markdown links. Requires enabling `#editor.pasteAs.enabled#`.","default":"smart","enum":["always","smart","never"],"markdownEnumDescriptions":["Always insert Markdown links.","Smartly create Markdown links by default when not pasting into a code block or other special element. Use the paste widget to switch between pasting as plain text or as Markdown links.","Never create Markdown links."]},"markdown.editor.filePaste.copyIntoWorkspace":{"type":"string","markdownDescription":"Controls if files outside of the workspace that are pasted into a Markdown editor should be copied into the workspace.\n\nUse `#markdown.copyFiles.destination#` to configure where copied files should be created.","default":"mediaFiles","enum":["mediaFiles","never"],"markdownEnumDescriptions":["Try to copy external image and video files into the workspace.","Do not copy external files into the workspace."]},"markdown.editor.filePaste.videoSnippet":{"type":"string","markdownDescription":"Snippet used when adding videos to Markdown. This snippet can use the following variables:\n- `${src}` — The resolved path of the video file.\n- `${title}` — The title used for the video. A snippet placeholder will automatically be created for this variable.","default":""},"markdown.editor.filePaste.audioSnippet":{"type":"string","markdownDescription":"Snippet used when adding audio to Markdown. This snippet can use the following variables:\n- `${src}` — The resolved path of the audio file.\n- `${title}` — The title used for the audio. A snippet placeholder will automatically be created for this variable.","default":""},"markdown.editor.pasteUrlAsFormattedLink.enabled":{"type":"string","scope":"resource","markdownDescription":"Controls if Markdown links are created when URLs are pasted into a Markdown editor. Requires enabling `#editor.pasteAs.enabled#`.","default":"smartWithSelection","enum":["always","smart","smartWithSelection","never"],"markdownEnumDescriptions":["Always insert Markdown links.","Smartly create Markdown links by default when not pasting into a code block or other special element. Use the paste widget to switch between pasting as plain text or as Markdown links.","Smartly create Markdown links by default when you have selected text and are not pasting into a code block or other special element. Use the paste widget to switch between pasting as plain text or as Markdown links.","Never create Markdown links."]},"markdown.validate.enabled":{"type":"boolean","scope":"resource","description":"Enable all error reporting in Markdown files.","default":false},"markdown.validate.referenceLinks.enabled":{"type":"string","scope":"resource","markdownDescription":"Validate reference links in Markdown files, for example: `[link][ref]`. Requires enabling `#markdown.validate.enabled#`.","default":"warning","enum":["ignore","warning","error"]},"markdown.validate.fragmentLinks.enabled":{"type":"string","scope":"resource","markdownDescription":"Validate fragment links to headers in the current Markdown file, for example: `[link](#header)`. Requires enabling `#markdown.validate.enabled#`.","default":"warning","enum":["ignore","warning","error"]},"markdown.validate.fileLinks.enabled":{"type":"string","scope":"resource","markdownDescription":"Validate links to other files in Markdown files, for example `[link](/path/to/file.md)`. This checks that the target files exists. Requires enabling `#markdown.validate.enabled#`.","default":"warning","enum":["ignore","warning","error"]},"markdown.validate.fileLinks.markdownFragmentLinks":{"type":"string","scope":"resource","markdownDescription":"Validate the fragment part of links to headers in other files in Markdown files, for example: `[link](/path/to/file.md#header)`. Inherits the setting value from `#markdown.validate.fragmentLinks.enabled#` by default.","default":"inherit","enum":["inherit","ignore","warning","error"]},"markdown.validate.ignoredLinks":{"type":"array","scope":"resource","markdownDescription":"Configure links that should not be validated. For example adding `/about` would not validate the link `[about](/about)`, while the glob `/assets/**/*.svg` would let you skip validation for any link to `.svg` files under the `assets` directory.","items":{"type":"string"}},"markdown.validate.unusedLinkDefinitions.enabled":{"type":"string","scope":"resource","markdownDescription":"Validate link definitions that are unused in the current file.","default":"hint","enum":["ignore","hint","warning","error"]},"markdown.validate.duplicateLinkDefinitions.enabled":{"type":"string","scope":"resource","markdownDescription":"Validate duplicated definitions in the current file.","default":"warning","enum":["ignore","warning","error"]},"markdown.updateLinksOnFileMove.enabled":{"type":"string","enum":["prompt","always","never"],"markdownEnumDescriptions":["Prompt on each file move.","Always update links automatically.","Never try to update link and don't prompt."],"default":"never","markdownDescription":"Try to update links in Markdown files when a file is renamed/moved in the workspace. Use `#markdown.updateLinksOnFileMove.include#` to configure which files trigger link updates.","scope":"window"},"markdown.updateLinksOnFileMove.include":{"type":"array","markdownDescription":"Glob patterns that specifies files that trigger automatic link updates. See `#markdown.updateLinksOnFileMove.enabled#` for details about this feature.","scope":"window","items":{"type":"string","description":"The glob pattern to match file paths against. Set to true to enable the pattern."},"default":["**/*.{md,mkd,mdwn,mdown,markdown,markdn,mdtxt,mdtext,workbook}","**/*.{jpg,jpe,jpeg,png,bmp,gif,ico,webp,avif,tiff,svg,mp4}"]},"markdown.updateLinksOnFileMove.enableForDirectories":{"type":"boolean","default":true,"description":"Enable updating links when a directory is moved or renamed in the workspace.","scope":"window"},"markdown.occurrencesHighlight.enabled":{"type":"boolean","default":false,"description":"Enable highlighting link occurrences in the current document.","scope":"resource"},"markdown.copyFiles.destination":{"type":"object","markdownDescription":"Configures the path and file name of files created by copy/paste or drag and drop. This is a map of globs that match against a Markdown document path to the destination path where the new file should be created.\n\nThe destination path may use the following variables:\n\n- `${documentDirName}` — Absolute parent directory path of the Markdown document, e.g. `/Users/me/myProject/docs`.\n- `${documentRelativeDirName}` — Relative parent directory path of the Markdown document, e.g. `docs`. This is the same as `${documentDirName}` if the file is not part of a workspace.\n- `${documentFileName}` — The full filename of the Markdown document, e.g. `README.md`.\n- `${documentBaseName}` — The basename of the Markdown document, e.g. `README`.\n- `${documentExtName}` — The extension of the Markdown document, e.g. `md`.\n- `${documentFilePath}` — Absolute path of the Markdown document, e.g. `/Users/me/myProject/docs/README.md`.\n- `${documentRelativeFilePath}` — Relative path of the Markdown document, e.g. `docs/README.md`. This is the same as `${documentFilePath}` if the file is not part of a workspace.\n- `${documentWorkspaceFolder}` — The workspace folder for the Markdown document, e.g. `/Users/me/myProject`. This is the same as `${documentDirName}` if the file is not part of a workspace.\n- `${fileName}` — The file name of the dropped file, e.g. `image.png`.\n- `${fileExtName}` — The extension of the dropped file, e.g. `png`.\n- `${unixTime}` — The current Unix timestamp in milliseconds.\n- `${isoTime}` — The current time in ISO 8601 format, e.g. '2025-06-06T08:40:32.123Z'.","additionalProperties":{"type":"string"}},"markdown.copyFiles.overwriteBehavior":{"type":"string","markdownDescription":"Controls if files created by drop or paste should overwrite existing files.","default":"nameIncrementally","enum":["nameIncrementally","overwrite"],"markdownEnumDescriptions":["If a file with the same name already exists, append a number to the file name, for example: `image.png` becomes `image-1.png`.","If a file with the same name already exists, overwrite it."]},"markdown.preferredMdPathExtensionStyle":{"type":"string","default":"auto","markdownDescription":"Controls if file extensions (for example `.md`) are added or not for links to Markdown files. This setting is used when file paths are added by tooling such as path completions or file renames.","enum":["auto","includeExtension","removeExtension"],"markdownEnumDescriptions":["For existing paths, try to maintain the file extension style. For new paths, add file extensions.","Prefer including the file extension. For example, path completions to a file named `file.md` will insert `file.md`.","Prefer removing the file extension. For example, path completions to a file named `file.md` will insert `file` without the `.md`."]},"markdown.editor.updateLinksOnPaste.enabled":{"type":"boolean","markdownDescription":"Enable/disable a paste option that updates links and reference in text that is copied and pasted between Markdown editors.\n\nTo use this feature, after pasting text that contains updatable links, just click on the Paste Widget and select `Paste and update pasted links`.","scope":"resource","default":true}}},"configurationDefaults":{"[markdown]":{"editor.wordWrap":"on","editor.quickSuggestions":{"comments":"off","strings":"off","other":"off"}}},"jsonValidation":[{"fileMatch":"package.json","url":"./schemas/package.schema.json"}],"markdown.previewStyles":["./media/markdown.css","./media/highlight.css"],"markdown.previewScripts":["./media/index.js"],"customEditors":[{"viewType":"vscode.markdown.preview.editor","displayName":"Markdown Preview","priority":"option","selector":[{"filenamePattern":"*.md"}]}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/markdown-language-features","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.markdown-math"},"manifest":{"name":"markdown-math","displayName":"Markdown Math","description":"Adds math support to Markdown in notebooks.","version":"1.0.0","icon":"icon.png","publisher":"vscode","license":"MIT","aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","engines":{"vscode":"^1.54.0"},"categories":["Other","Programming Languages"],"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"main":"./dist/extension","browser":"./dist/browser/extension","activationEvents":[],"contributes":{"languages":[{"id":"markdown-math","aliases":[]}],"grammars":[{"language":"markdown-math","scopeName":"text.html.markdown.math","path":"./syntaxes/md-math.tmLanguage.json"},{"scopeName":"markdown.math.block","path":"./syntaxes/md-math-block.tmLanguage.json","injectTo":["text.html.markdown"],"embeddedLanguages":{"meta.embedded.math.markdown":"latex"}},{"scopeName":"markdown.math.inline","path":"./syntaxes/md-math-inline.tmLanguage.json","injectTo":["text.html.markdown"],"embeddedLanguages":{"meta.embedded.math.markdown":"latex","punctuation.definition.math.end.markdown":"latex"}},{"scopeName":"markdown.math.codeblock","path":"./syntaxes/md-math-fence.tmLanguage.json","injectTo":["text.html.markdown"],"embeddedLanguages":{"meta.embedded.math.markdown":"latex"}}],"notebookRenderer":[{"id":"vscode.markdown-it-katex-extension","displayName":"Markdown it KaTeX renderer","entrypoint":{"extends":"vscode.markdown-it-renderer","path":"./notebook-out/katex.js"}}],"markdown.markdownItPlugins":true,"markdown.previewStyles":["./notebook-out/katex.min.css","./preview-styles/index.css"],"configuration":[{"title":"Markdown Math","properties":{"markdown.math.enabled":{"type":"boolean","default":true,"description":"Enable/disable rendering math in the built-in Markdown preview."},"markdown.math.macros":{"type":"object","additionalProperties":{"type":"string"},"default":{},"description":"A collection of custom macros. Each macro is a key-value pair where the key is a new command name and the value is the expansion of the macro.","scope":"resource"}}}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/markdown-math","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.media-preview"},"manifest":{"name":"media-preview","displayName":"Media Preview","description":"Provides VS Code's built-in previews for images, audio, and video","extensionKind":["ui","workspace"],"version":"1.0.0","publisher":"vscode","icon":"icon.png","license":"MIT","aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","engines":{"vscode":"^1.70.0"},"main":"./dist/extension","browser":"./dist/browser/extension.js","categories":["Other"],"activationEvents":[],"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"contributes":{"configuration":{"type":"object","title":"Media Previewer","properties":{"mediaPreview.video.autoPlay":{"type":"boolean","default":false,"markdownDescription":"Start playing videos on mute automatically."},"mediaPreview.video.loop":{"type":"boolean","default":false,"markdownDescription":"Loop videos over again automatically."}}},"customEditors":[{"viewType":"imagePreview.previewEditor","displayName":"Image Preview","priority":"builtin","selector":[{"filenamePattern":"*.{jpg,jpe,jpeg,png,bmp,gif,ico,webp,avif,svg}"}]},{"viewType":"vscode.audioPreview","displayName":"Audio Preview","priority":"builtin","selector":[{"filenamePattern":"*.{mp3,wav,ogg,oga}"}]},{"viewType":"vscode.videoPreview","displayName":"Video Preview","priority":"builtin","selector":[{"filenamePattern":"*.{mp4,webm}"}]}],"commands":[{"command":"imagePreview.zoomIn","title":"Zoom in","category":"Image Preview"},{"command":"imagePreview.zoomOut","title":"Zoom out","category":"Image Preview"},{"command":"imagePreview.copyImage","title":"Copy","category":"Image Preview"},{"command":"imagePreview.reopenAsPreview","title":"Reopen as image preview","category":"Image Preview","icon":"$(preview)"},{"command":"imagePreview.reopenAsText","title":"Reopen as source text","category":"Image Preview","icon":"$(go-to-file)"}],"menus":{"commandPalette":[{"command":"imagePreview.zoomIn","when":"activeCustomEditorId == 'imagePreview.previewEditor'","group":"1_imagePreview"},{"command":"imagePreview.zoomOut","when":"activeCustomEditorId == 'imagePreview.previewEditor'","group":"1_imagePreview"},{"command":"imagePreview.copyImage","when":"false"},{"command":"imagePreview.reopenAsPreview","when":"activeEditor == workbench.editors.files.textFileEditor && resourceExtname == '.svg'","group":"navigation"},{"command":"imagePreview.reopenAsText","when":"activeCustomEditorId == 'imagePreview.previewEditor' && resourceExtname == '.svg'","group":"navigation"}],"webview/context":[{"command":"imagePreview.copyImage","when":"webviewId == 'imagePreview.previewEditor'"}],"editor/title":[{"command":"imagePreview.reopenAsPreview","when":"editorFocus && resourceExtname == '.svg'","group":"navigation"},{"command":"imagePreview.reopenAsText","when":"activeCustomEditorId == 'imagePreview.previewEditor' && resourceExtname == '.svg'","group":"navigation"}]}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/media-preview","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.merge-conflict"},"manifest":{"name":"merge-conflict","publisher":"vscode","displayName":"Merge Conflict","description":"Highlighting and commands for inline merge conflicts.","icon":"media/icon.png","version":"1.0.0","license":"MIT","aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","engines":{"vscode":"^1.5.0"},"categories":["Other"],"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"activationEvents":["onStartupFinished"],"main":"./dist/mergeConflictMain","browser":"./dist/browser/mergeConflictMain","contributes":{"commands":[{"category":"Merge Conflict","title":"Accept All Current","original":"Accept All Current","command":"merge-conflict.accept.all-current","enablement":"!isMergeEditor"},{"category":"Merge Conflict","title":"Accept All Incoming","original":"Accept All Incoming","command":"merge-conflict.accept.all-incoming","enablement":"!isMergeEditor"},{"category":"Merge Conflict","title":"Accept All Both","original":"Accept All Both","command":"merge-conflict.accept.all-both","enablement":"!isMergeEditor"},{"category":"Merge Conflict","title":"Accept Current","original":"Accept Current","command":"merge-conflict.accept.current","enablement":"!isMergeEditor"},{"category":"Merge Conflict","title":"Accept Incoming","original":"Accept Incoming","command":"merge-conflict.accept.incoming","enablement":"!isMergeEditor"},{"category":"Merge Conflict","title":"Accept Selection","original":"Accept Selection","command":"merge-conflict.accept.selection","enablement":"!isMergeEditor"},{"category":"Merge Conflict","title":"Accept Both","original":"Accept Both","command":"merge-conflict.accept.both","enablement":"!isMergeEditor"},{"category":"Merge Conflict","title":"Next Conflict","original":"Next Conflict","command":"merge-conflict.next","enablement":"!isMergeEditor","icon":"$(arrow-down)"},{"category":"Merge Conflict","title":"Previous Conflict","original":"Previous Conflict","command":"merge-conflict.previous","enablement":"!isMergeEditor","icon":"$(arrow-up)"},{"category":"Merge Conflict","title":"Compare Current Conflict","original":"Compare Current Conflict","command":"merge-conflict.compare","enablement":"!isMergeEditor"}],"menus":{"scm/resourceState/context":[{"command":"merge-conflict.accept.all-current","when":"scmProvider == git && scmResourceGroup == merge","group":"1_modification"},{"command":"merge-conflict.accept.all-incoming","when":"scmProvider == git && scmResourceGroup == merge","group":"1_modification"}],"editor/title":[{"command":"merge-conflict.previous","group":"navigation@1","when":"!isMergeEditor && mergeConflictsCount && mergeConflictsCount != 0"},{"command":"merge-conflict.next","group":"navigation@2","when":"!isMergeEditor && mergeConflictsCount && mergeConflictsCount != 0"}]},"configuration":{"title":"Merge Conflict","properties":{"merge-conflict.codeLens.enabled":{"type":"boolean","description":"Create a CodeLens for merge conflict blocks within editor.","default":true},"merge-conflict.decorators.enabled":{"type":"boolean","description":"Create decorators for merge conflict blocks within editor.","default":true},"merge-conflict.autoNavigateNextConflict.enabled":{"type":"boolean","description":"Whether to automatically navigate to the next merge conflict after resolving a merge conflict.","default":false},"merge-conflict.diffViewPosition":{"type":"string","enum":["Current","Beside","Below"],"description":"Controls where the diff view should be opened when comparing changes in merge conflicts.","enumDescriptions":["Open the diff view in the current editor group.","Open the diff view next to the current editor group.","Open the diff view below the current editor group."],"default":"Current"}}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/merge-conflict","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.mermaid-chat-features"},"manifest":{"name":"mermaid-chat-features","displayName":"Mermaid Chat Features","description":"Adds Mermaid diagram support to built-in chats.","version":"1.0.0","publisher":"vscode","license":"MIT","repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"},"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","engines":{"vscode":"^1.104.0"},"enabledApiProposals":["chatOutputRenderer"],"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"main":"./dist/extension","browser":"./dist/browser/extension","activationEvents":[],"contributes":{"configuration":{"title":"Mermaid Chat Features","properties":{"mermaid-chat.enabled":{"type":"boolean","default":false,"description":"Enable a tool for experimental Mermaid diagram rendering in chat responses.","scope":"application","tags":["experimental"]}}},"chatOutputRenderers":[{"viewType":"vscode.chatMermaidDiagram","mimeTypes":["text/vnd.mermaid"]}],"languageModelTools":[{"name":"renderMermaidDiagram","displayName":"Mermaid Renderer","toolReferenceName":"renderMermaidDiagram","canBeReferencedInPrompt":true,"modelDescription":"Renders a Mermaid diagram from Mermaid.js markup.","userDescription":"Render a Mermaid.js diagrams from markup.","when":"config.mermaid-chat.enabled","inputSchema":{"type":"object","properties":{"markup":{"type":"string","description":"The mermaid diagram markup to render as a Mermaid diagram. This should only be the markup of the diagram. Do not include a wrapping code block."}}}}]}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/mermaid-chat-features","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.microsoft-authentication"},"manifest":{"name":"microsoft-authentication","publisher":"vscode","license":"MIT","displayName":"Microsoft Account","description":"Microsoft authentication provider","version":"0.0.1","engines":{"vscode":"^1.42.0"},"icon":"media/icon.png","categories":["Other"],"activationEvents":[],"enabledApiProposals":["idToken","nativeWindowHandle","authIssuers","authenticationChallenges"],"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"extensionKind":["ui","workspace"],"contributes":{"authentication":[{"label":"Microsoft","id":"microsoft","authorizationServerGlobs":["https://login.microsoftonline.com/*","https://login.microsoftonline.com/*/v2.0"]},{"label":"Microsoft Sovereign Cloud","id":"microsoft-sovereign-cloud"}],"configuration":[{"title":"Microsoft Sovereign Cloud","properties":{"microsoft-sovereign-cloud.environment":{"type":"string","markdownDescription":"The Sovereign Cloud to use for authentication. If you select `custom`, you must also set the `#microsoft-sovereign-cloud.customEnvironment#` setting.","enum":["ChinaCloud","USGovernment","custom"],"enumDescriptions":["Azure China","Azure US Government","A custom Microsoft Sovereign Cloud"]},"microsoft-sovereign-cloud.customEnvironment":{"type":"object","additionalProperties":true,"markdownDescription":"The custom configuration for the Sovereign Cloud to use with the Microsoft Sovereign Cloud authentication provider. This along with setting `#microsoft-sovereign-cloud.environment#` to `custom` is required to use this feature.","properties":{"name":{"type":"string","description":"The name of the custom Sovereign Cloud."},"portalUrl":{"type":"string","description":"The portal URL for the custom Sovereign Cloud."},"managementEndpointUrl":{"type":"string","description":"The management endpoint for the custom Sovereign Cloud."},"resourceManagerEndpointUrl":{"type":"string","description":"The resource manager endpoint for the custom Sovereign Cloud."},"activeDirectoryEndpointUrl":{"type":"string","description":"The Active Directory endpoint for the custom Sovereign Cloud."},"activeDirectoryResourceId":{"type":"string","description":"The Active Directory resource ID for the custom Sovereign Cloud."}},"required":["name","portalUrl","managementEndpointUrl","resourceManagerEndpointUrl","activeDirectoryEndpointUrl","activeDirectoryResourceId"]}}},{"title":"Microsoft","properties":{"microsoft-authentication.implementation":{"type":"string","default":"msal","enum":["msal","msal-no-broker","classic"],"enumDescriptions":["Use the Microsoft Authentication Library (MSAL) to sign in with a Microsoft account.","Use the Microsoft Authentication Library (MSAL) to sign in with a Microsoft account using a browser. This is useful if you are having issues with the native broker.","(deprecated) Use the classic authentication flow to sign in with a Microsoft account."],"markdownDescription":"The authentication implementation to use for signing in with a Microsoft account.\n\n*NOTE: The `classic` implementation is deprecated and will be removed in a future release. If the `msal` implementation does not work for you, please [open an issue](command:workbench.action.openIssueReporter) and explain what you are trying to log in to.*","tags":["onExP"]}}}]},"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","main":"./dist/extension.js","browser":"./dist/browser/extension.js","repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/microsoft-authentication","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"ms-vscode.js-debug"},"manifest":{"name":"js-debug","displayName":"JavaScript Debugger","version":"1.105.0","publisher":"ms-vscode","author":{"name":"Microsoft Corporation"},"keywords":["pwa","javascript","node","chrome","debugger"],"description":"An extension for debugging Node.js programs and Chrome.","license":"MIT","engines":{"vscode":"^1.80.0","node":">=10"},"icon":"resources/logo.png","categories":["Debuggers"],"private":true,"repository":{"type":"git","url":"https://github.com/Microsoft/vscode-pwa.git"},"bugs":{"url":"https://github.com/Microsoft/vscode-pwa/issues"},"main":"./src/extension.js","enabledApiProposals":["portsAttributes","workspaceTrust","tunnels"],"extensionKind":["workspace"],"capabilities":{"virtualWorkspaces":false,"untrustedWorkspaces":{"supported":"limited","description":"Trust is required to debug code in this workspace."}},"activationEvents":["onDebugDynamicConfigurations","onDebugInitialConfigurations","onFileSystem:jsDebugNetworkFs","onDebugResolve:pwa-node","onDebugResolve:node-terminal","onDebugResolve:pwa-extensionHost","onDebugResolve:pwa-chrome","onDebugResolve:pwa-msedge","onDebugResolve:node","onDebugResolve:chrome","onDebugResolve:extensionHost","onDebugResolve:msedge","onCommand:extension.js-debug.clearAutoAttachVariables","onCommand:extension.js-debug.setAutoAttachVariables","onCommand:extension.js-debug.autoAttachToProcess","onCommand:extension.js-debug.pickNodeProcess","onCommand:extension.js-debug.requestCDPProxy","onCommand:extension.js-debug.completion.nodeTool"],"contributes":{"menus":{"commandPalette":[{"command":"extension.js-debug.prettyPrint","title":"Pretty print for debugging","when":"debugType == pwa-extensionHost && debugState == stopped || debugType == node-terminal && debugState == stopped || debugType == pwa-node && debugState == stopped || debugType == pwa-chrome && debugState == stopped || debugType == pwa-msedge && debugState == stopped"},{"command":"extension.js-debug.startProfile","title":"Take Performance Profile","when":"debugType == pwa-extensionHost && inDebugMode && !jsDebugIsProfiling || debugType == node-terminal && inDebugMode && !jsDebugIsProfiling || debugType == pwa-node && inDebugMode && !jsDebugIsProfiling || debugType == pwa-chrome && inDebugMode && !jsDebugIsProfiling || debugType == pwa-msedge && inDebugMode && !jsDebugIsProfiling"},{"command":"extension.js-debug.stopProfile","title":"Stop Performance Profile","when":"debugType == pwa-extensionHost && inDebugMode && jsDebugIsProfiling || debugType == node-terminal && inDebugMode && jsDebugIsProfiling || debugType == pwa-node && inDebugMode && jsDebugIsProfiling || debugType == pwa-chrome && inDebugMode && jsDebugIsProfiling || debugType == pwa-msedge && inDebugMode && jsDebugIsProfiling"},{"command":"extension.js-debug.revealPage","when":"false"},{"command":"extension.js-debug.debugLink","title":"Open Link","when":"!isWeb"},{"command":"extension.js-debug.createDiagnostics","title":"Diagnose Breakpoint Problems","when":"debugType == pwa-extensionHost && inDebugMode || debugType == node-terminal && inDebugMode || debugType == pwa-node && inDebugMode || debugType == pwa-chrome && inDebugMode || debugType == pwa-msedge && inDebugMode"},{"command":"extension.js-debug.getDiagnosticLogs","title":"Save Diagnostic JS Debug Logs","when":"debugType == pwa-extensionHost && inDebugMode || debugType == node-terminal && inDebugMode || debugType == pwa-node && inDebugMode || debugType == pwa-chrome && inDebugMode || debugType == pwa-msedge && inDebugMode"},{"command":"extension.js-debug.openEdgeDevTools","title":"Open Browser Devtools","when":"debugType == pwa-msedge"},{"command":"extension.js-debug.callers.add","title":"Exclude caller from pausing in the current location","when":"debugType == pwa-extensionHost && debugState == \"stopped\" || debugType == node-terminal && debugState == \"stopped\" || debugType == pwa-node && debugState == \"stopped\" || debugType == pwa-chrome && debugState == \"stopped\" || debugType == pwa-msedge && debugState == \"stopped\""},{"command":"extension.js-debug.callers.goToCaller","when":"false"},{"command":"extension.js-debug.callers.gotToTarget","when":"false"},{"command":"extension.js-debug.network.copyUri","when":"false"},{"command":"extension.js-debug.network.openBody","when":"false"},{"command":"extension.js-debug.network.openBodyInHex","when":"false"},{"command":"extension.js-debug.network.replayXHR","when":"false"},{"command":"extension.js-debug.network.viewRequest","when":"false"},{"command":"extension.js-debug.network.clear","when":"false"},{"command":"extension.js-debug.enableSourceMapStepping","when":"jsDebugIsMapSteppingDisabled"},{"command":"extension.js-debug.disableSourceMapStepping","when":"!jsDebugIsMapSteppingDisabled"}],"debug/callstack/context":[{"command":"extension.js-debug.revealPage","group":"navigation","when":"debugType == pwa-chrome && callStackItemType == 'session' || debugType == pwa-msedge && callStackItemType == 'session'"},{"command":"extension.js-debug.toggleSkippingFile","group":"navigation","when":"debugType == pwa-extensionHost && callStackItemType == 'session' || debugType == node-terminal && callStackItemType == 'session' || debugType == pwa-node && callStackItemType == 'session' || debugType == pwa-chrome && callStackItemType == 'session' || debugType == pwa-msedge && callStackItemType == 'session'"},{"command":"extension.js-debug.startProfile","group":"navigation","when":"debugType == pwa-extensionHost && !jsDebugIsProfiling && callStackItemType == 'session' || debugType == node-terminal && !jsDebugIsProfiling && callStackItemType == 'session' || debugType == pwa-node && !jsDebugIsProfiling && callStackItemType == 'session' || debugType == pwa-chrome && !jsDebugIsProfiling && callStackItemType == 'session' || debugType == pwa-msedge && !jsDebugIsProfiling && callStackItemType == 'session'"},{"command":"extension.js-debug.stopProfile","group":"navigation","when":"debugType == pwa-extensionHost && jsDebugIsProfiling && callStackItemType == 'session' || debugType == node-terminal && jsDebugIsProfiling && callStackItemType == 'session' || debugType == pwa-node && jsDebugIsProfiling && callStackItemType == 'session' || debugType == pwa-chrome && jsDebugIsProfiling && callStackItemType == 'session' || debugType == pwa-msedge && jsDebugIsProfiling && callStackItemType == 'session'"},{"command":"extension.js-debug.startProfile","group":"inline","when":"debugType == pwa-extensionHost && !jsDebugIsProfiling || debugType == node-terminal && !jsDebugIsProfiling || debugType == pwa-node && !jsDebugIsProfiling || debugType == pwa-chrome && !jsDebugIsProfiling || debugType == pwa-msedge && !jsDebugIsProfiling"},{"command":"extension.js-debug.stopProfile","group":"inline","when":"debugType == pwa-extensionHost && jsDebugIsProfiling || debugType == node-terminal && jsDebugIsProfiling || debugType == pwa-node && jsDebugIsProfiling || debugType == pwa-chrome && jsDebugIsProfiling || debugType == pwa-msedge && jsDebugIsProfiling"},{"command":"extension.js-debug.callers.add","when":"debugType == pwa-extensionHost && callStackItemType == 'stackFrame' || debugType == node-terminal && callStackItemType == 'stackFrame' || debugType == pwa-node && callStackItemType == 'stackFrame' || debugType == pwa-chrome && callStackItemType == 'stackFrame' || debugType == pwa-msedge && callStackItemType == 'stackFrame'"}],"debug/toolBar":[{"command":"extension.js-debug.stopProfile","when":"debugType == pwa-extensionHost && jsDebugIsProfiling || debugType == node-terminal && jsDebugIsProfiling || debugType == pwa-node && jsDebugIsProfiling || debugType == pwa-chrome && jsDebugIsProfiling || debugType == pwa-msedge && jsDebugIsProfiling"},{"command":"extension.js-debug.openEdgeDevTools","when":"debugType == pwa-msedge"},{"command":"extension.js-debug.enableSourceMapStepping","when":"jsDebugIsMapSteppingDisabled"}],"view/title":[{"command":"extension.js-debug.addCustomBreakpoints","when":"view == jsBrowserBreakpoints","group":"navigation"},{"command":"extension.js-debug.removeAllCustomBreakpoints","when":"view == jsBrowserBreakpoints","group":"navigation"},{"command":"extension.js-debug.callers.removeAll","group":"navigation","when":"view == jsExcludedCallers"},{"command":"extension.js-debug.disableSourceMapStepping","group":"navigation","when":"debugType == pwa-extensionHost && view == workbench.debug.callStackView && !jsDebugIsMapSteppingDisabled || debugType == node-terminal && view == workbench.debug.callStackView && !jsDebugIsMapSteppingDisabled || debugType == pwa-node && view == workbench.debug.callStackView && !jsDebugIsMapSteppingDisabled || debugType == pwa-chrome && view == workbench.debug.callStackView && !jsDebugIsMapSteppingDisabled || debugType == pwa-msedge && view == workbench.debug.callStackView && !jsDebugIsMapSteppingDisabled"},{"command":"extension.js-debug.enableSourceMapStepping","group":"navigation","when":"debugType == pwa-extensionHost && view == workbench.debug.callStackView && jsDebugIsMapSteppingDisabled || debugType == node-terminal && view == workbench.debug.callStackView && jsDebugIsMapSteppingDisabled || debugType == pwa-node && view == workbench.debug.callStackView && jsDebugIsMapSteppingDisabled || debugType == pwa-chrome && view == workbench.debug.callStackView && jsDebugIsMapSteppingDisabled || debugType == pwa-msedge && view == workbench.debug.callStackView && jsDebugIsMapSteppingDisabled"},{"command":"extension.js-debug.network.clear","group":"navigation","when":"view == jsDebugNetworkTree"}],"view/item/context":[{"command":"extension.js-debug.addXHRBreakpoints","when":"view == jsBrowserBreakpoints && viewItem == xhrBreakpoint"},{"command":"extension.js-debug.editXHRBreakpoints","when":"view == jsBrowserBreakpoints && viewItem == xhrBreakpoint","group":"inline"},{"command":"extension.js-debug.editXHRBreakpoints","when":"view == jsBrowserBreakpoints && viewItem == xhrBreakpoint"},{"command":"extension.js-debug.removeXHRBreakpoint","when":"view == jsBrowserBreakpoints && viewItem == xhrBreakpoint","group":"inline"},{"command":"extension.js-debug.removeXHRBreakpoint","when":"view == jsBrowserBreakpoints && viewItem == xhrBreakpoint"},{"command":"extension.js-debug.addXHRBreakpoints","when":"view == jsBrowserBreakpoints && viewItem == xhrCategory","group":"inline"},{"command":"extension.js-debug.callers.goToCaller","group":"inline","when":"view == jsExcludedCallers"},{"command":"extension.js-debug.callers.gotToTarget","group":"inline","when":"view == jsExcludedCallers"},{"command":"extension.js-debug.callers.remove","group":"inline","when":"view == jsExcludedCallers"},{"command":"extension.js-debug.network.viewRequest","group":"inline@1","when":"view == jsDebugNetworkTree"},{"command":"extension.js-debug.network.openBody","group":"body@1","when":"view == jsDebugNetworkTree"},{"command":"extension.js-debug.network.openBodyInHex","group":"body@2","when":"view == jsDebugNetworkTree"},{"command":"extension.js-debug.network.copyUri","group":"other@1","when":"view == jsDebugNetworkTree"},{"command":"extension.js-debug.network.replayXHR","group":"other@2","when":"view == jsDebugNetworkTree"}],"editor/title":[{"command":"extension.js-debug.prettyPrint","group":"navigation","when":"jsDebugCanPrettyPrint"}]},"breakpoints":[{"language":"javascript"},{"language":"typescript"},{"language":"typescriptreact"},{"language":"javascriptreact"},{"language":"fsharp"},{"language":"html"},{"language":"wat"},{"language":"c"},{"language":"cpp"},{"language":"rust"},{"language":"zig"}],"debuggers":[{"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","configurationAttributes":{"attach":{"properties":{"address":{"default":"localhost","description":"TCP/IP address of process to be debugged. Default is 'localhost'.","type":"string"},"attachExistingChildren":{"default":false,"description":"Whether to attempt to attach to already-spawned child processes.","type":"boolean"},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"continueOnAttach":{"default":true,"markdownDescription":"If true, we'll automatically resume programs launched and waiting on `--inspect-brk`","type":"boolean"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"port":{"default":9229,"description":"Debug port to attach to. Default is 9229.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}],"tags":["setup"]},"processId":{"default":"${command:PickProcess}","description":"ID of process to attach to.","type":"string"},"remoteHostHeader":{"description":"Explicit Host header to use when connecting to the websocket of inspector. If unspecified, the host header will be set to 'localhost'. This is useful when the inspector is running behind a proxy that only accept particular Host header.","type":"string"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]},"websocketAddress":{"description":"Exact websocket address to attach to. If unspecified, it will be discovered from the address and port.","type":"string"}}},"launch":{"properties":{"args":{"default":[],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"Where to launch the debug target.","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code Debug Console (which doesn't support to read input from a program)","VS Code's integrated terminal","External terminal that can be configured via user settings"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"experimentalNetworking":{"default":"auto","description":"Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"profileStartup":{"default":true,"description":"If true, will start profiling as soon as the process launches","type":"boolean"},"program":{"default":"","description":"Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed.","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"Version of `node` runtime to use. Requires `nvm`.","type":"string"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"stopOnEntry":{"default":true,"description":"Automatically stop program after launch.","type":["boolean","string"]},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}}}},"configurationSnippets":[],"deprecated":"Please use type node instead","label":"Node.js","languages":["javascript","typescript","javascriptreact","typescriptreact"],"strings":{"unverifiedBreakpoints":"Some of your breakpoints could not be set. If you're having an issue, you can [troubleshoot your launch configuration](command:extension.js-debug.createDiagnostics)."},"type":"pwa-node","variables":{"PickProcess":"extension.js-debug.pickNodeProcess"}},{"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","configurationAttributes":{"attach":{"properties":{"address":{"default":"localhost","description":"TCP/IP address of process to be debugged. Default is 'localhost'.","type":"string"},"attachExistingChildren":{"default":false,"description":"Whether to attempt to attach to already-spawned child processes.","type":"boolean"},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"continueOnAttach":{"default":true,"markdownDescription":"If true, we'll automatically resume programs launched and waiting on `--inspect-brk`","type":"boolean"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"port":{"default":9229,"description":"Debug port to attach to. Default is 9229.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}],"tags":["setup"]},"processId":{"default":"${command:PickProcess}","description":"ID of process to attach to.","type":"string"},"remoteHostHeader":{"description":"Explicit Host header to use when connecting to the websocket of inspector. If unspecified, the host header will be set to 'localhost'. This is useful when the inspector is running behind a proxy that only accept particular Host header.","type":"string"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]},"websocketAddress":{"description":"Exact websocket address to attach to. If unspecified, it will be discovered from the address and port.","type":"string"}}},"launch":{"properties":{"args":{"default":[],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"Where to launch the debug target.","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code Debug Console (which doesn't support to read input from a program)","VS Code's integrated terminal","External terminal that can be configured via user settings"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"experimentalNetworking":{"default":"auto","description":"Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"profileStartup":{"default":true,"description":"If true, will start profiling as soon as the process launches","type":"boolean"},"program":{"default":"","description":"Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed.","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"Version of `node` runtime to use. Requires `nvm`.","type":"string"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"stopOnEntry":{"default":true,"description":"Automatically stop program after launch.","type":["boolean","string"]},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}}}},"configurationSnippets":[{"body":{"name":"${1:Attach}","port":9229,"request":"attach","skipFiles":["/**"],"type":"node"},"description":"Attach to a running node program","label":"Node.js: Attach"},{"body":{"address":"${2:TCP/IP address of process to be debugged}","localRoot":"^\"\\${workspaceFolder}\"","name":"${1:Attach to Remote}","port":9229,"remoteRoot":"${3:Absolute path to the remote directory containing the program}","request":"attach","skipFiles":["/**"],"type":"node"},"description":"Attach to the debug port of a remote node program","label":"Node.js: Attach to Remote Program"},{"body":{"name":"${1:Attach by Process ID}","processId":"^\"\\${command:PickProcess}\"","request":"attach","skipFiles":["/**"],"type":"node"},"description":"Open process picker to select node process to attach to","label":"Node.js: Attach to Process"},{"body":{"name":"${2:Launch Program}","program":"^\"\\${workspaceFolder}/${1:app.js}\"","request":"launch","skipFiles":["/**"],"type":"node"},"description":"Launch a node program in debug mode","label":"Node.js: Launch Program"},{"body":{"name":"${1:Launch via NPM}","request":"launch","runtimeArgs":["run-script","debug"],"runtimeExecutable":"npm","skipFiles":["/**"],"type":"node"},"label":"Node.js: Launch via npm","markdownDescription":"Launch a node program through an npm `debug` script"},{"body":{"console":"integratedTerminal","internalConsoleOptions":"neverOpen","name":"nodemon","program":"^\"\\${workspaceFolder}/${1:app.js}\"","request":"launch","restart":true,"runtimeExecutable":"nodemon","skipFiles":["/**"],"type":"node"},"description":"Use nodemon to relaunch a debug session on source changes","label":"Node.js: Nodemon Setup"},{"body":{"args":["-u","tdd","--timeout","999999","--colors","^\"\\${workspaceFolder}/${1:test}\""],"internalConsoleOptions":"openOnSessionStart","name":"Mocha Tests","program":"^\"mocha\"","request":"launch","skipFiles":["/**"],"type":"node"},"description":"Debug mocha tests","label":"Node.js: Mocha Tests"},{"body":{"args":["${1:generator}"],"console":"integratedTerminal","internalConsoleOptions":"neverOpen","name":"Yeoman ${1:generator}","program":"^\"\\${workspaceFolder}/node_modules/yo/lib/cli.js\"","request":"launch","skipFiles":["/**"],"type":"node"},"label":"Node.js: Yeoman generator","markdownDescription":"Debug yeoman generator (install by running `npm link` in project folder)"},{"body":{"args":["${1:task}"],"name":"Gulp ${1:task}","program":"^\"\\${workspaceFolder}/node_modules/gulp/bin/gulp.js\"","request":"launch","skipFiles":["/**"],"type":"node"},"description":"Debug gulp task (make sure to have a local gulp installed in your project)","label":"Node.js: Gulp task"},{"body":{"name":"Electron Main","program":"^\"\\${workspaceFolder}/main.js\"","request":"launch","runtimeExecutable":"^\"electron\"","skipFiles":["/**"],"type":"node"},"description":"Debug the Electron main process","label":"Node.js: Electron Main"}],"label":"Node.js","strings":{"unverifiedBreakpoints":"Some of your breakpoints could not be set. If you're having an issue, you can [troubleshoot your launch configuration](command:extension.js-debug.createDiagnostics)."},"type":"node","variables":{"PickProcess":"extension.js-debug.pickNodeProcess"}},{"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","configurationAttributes":{"launch":{"properties":{"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"Command to run in the launched terminal. If not provided, the terminal will open without launching a program.","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}}}},"configurationSnippets":[{"body":{"command":"npm start","name":"Run npm start","request":"launch","type":"node-terminal"},"description":"Run \"npm start\" in a debug terminal","label":"Run \"npm start\" in a debug terminal"}],"label":"JavaScript Debug Terminal","languages":[],"strings":{"unverifiedBreakpoints":"Some of your breakpoints could not be set. If you're having an issue, you can [troubleshoot your launch configuration](command:extension.js-debug.createDiagnostics)."},"type":"node-terminal"},{"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","configurationAttributes":{"launch":{"properties":{"args":{"default":["--extensionDevelopmentPath=${workspaceFolder}"],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"tags":["setup"],"type":"array"},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"debugWebWorkerHost":{"default":true,"markdownDescription":"Configures whether we should try to attach to the web worker extension host.","type":["boolean"]},"debugWebviews":{"default":true,"markdownDescription":"Configures whether we should try to attach to webviews in the launched VS Code instance. This will only work in desktop VS Code.","type":["boolean"]},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"rendererDebugOptions":{"default":{"webRoot":"${workspaceFolder}"},"markdownDescription":"Chrome launch options used when attaching to the renderer process, with `debugWebviews` or `debugWebWorkerHost`.","properties":{"address":{"default":"localhost","description":"IP address or hostname the debugged browser is listening on.","type":"string"},"browserAttachLocation":{"default":null,"description":"Forces the browser to attach in one location. In a remote workspace (through ssh or WSL, for example) this can be used to attach to a browser on the remote machine rather than locally.","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"disableNetworkCache":{"default":true,"description":"Controls whether to skip the network cache for each request","type":"boolean"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"inspectUri":{"default":null,"description":"Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n","type":["string","null"]},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pathMapping":{"default":{},"description":"A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.","enum":["yes","no","auto"],"type":"string"},"port":{"default":9229,"description":"Port to use to remote debugging the browser, given as `--remote-debugging-port` when launching the browser.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}],"tags":["setup"]},"resolveSourceMapLocations":{"default":null,"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":false,"markdownDescription":"Whether to reconnect if the browser connection is closed","type":"boolean"},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"Configures a web server to start up. Takes the same configuration as the 'node' launch task.","properties":{"args":{"default":[],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"Where to launch the debug target.","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code Debug Console (which doesn't support to read input from a program)","VS Code's integrated terminal","External terminal that can be configured via user settings"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"experimentalNetworking":{"default":"auto","description":"Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"profileStartup":{"default":true,"description":"If true, will start profiling as soon as the process launches","type":"boolean"},"program":{"default":"","description":"Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed.","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"Version of `node` runtime to use. Requires `nvm`.","type":"string"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"stopOnEntry":{"default":true,"description":"Automatically stop program after launch.","type":["boolean","string"]},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript Debug Terminal","properties":{"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"Command to run in the launched terminal. If not provided, the terminal will open without launching a program.","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"targetSelection":{"default":"automatic","enum":["pick","automatic"],"markdownDescription":"Whether to attach to all targets that match the URL filter (\"automatic\") or ask to pick one (\"pick\").","type":"string"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"Will search for a tab with this exact url and attach to it, if found","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"Will search for a page with this url and attach to it, if found. Can have * wildcards.","type":"string"},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"","tags":["setup"],"type":"string"}},"type":"object"},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeExecutable":{"default":"node","markdownDescription":"Absolute path to VS Code.","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"testConfiguration":{"default":"${workspaceFolder}/.vscode-test.js","markdownDescription":"Path to a test configuration file for the [test CLI](https://code.visualstudio.com/api/working-with-extensions/testing-extension#quick-setup-the-test-cli).","type":"string"},"testConfigurationLabel":{"default":"","markdownDescription":"A single configuration to run from the file. If not specified, you may be asked to pick.","type":"string"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"required":[]}},"configurationSnippets":[],"deprecated":"Please use type extensionHost instead","label":"VS Code Extension Development","languages":["javascript","typescript","javascriptreact","typescriptreact"],"strings":{"unverifiedBreakpoints":"Some of your breakpoints could not be set. If you're having an issue, you can [troubleshoot your launch configuration](command:extension.js-debug.createDiagnostics)."},"type":"pwa-extensionHost"},{"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","configurationAttributes":{"launch":{"properties":{"args":{"default":["--extensionDevelopmentPath=${workspaceFolder}"],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"tags":["setup"],"type":"array"},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"debugWebWorkerHost":{"default":true,"markdownDescription":"Configures whether we should try to attach to the web worker extension host.","type":["boolean"]},"debugWebviews":{"default":true,"markdownDescription":"Configures whether we should try to attach to webviews in the launched VS Code instance. This will only work in desktop VS Code.","type":["boolean"]},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"rendererDebugOptions":{"default":{"webRoot":"${workspaceFolder}"},"markdownDescription":"Chrome launch options used when attaching to the renderer process, with `debugWebviews` or `debugWebWorkerHost`.","properties":{"address":{"default":"localhost","description":"IP address or hostname the debugged browser is listening on.","type":"string"},"browserAttachLocation":{"default":null,"description":"Forces the browser to attach in one location. In a remote workspace (through ssh or WSL, for example) this can be used to attach to a browser on the remote machine rather than locally.","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"disableNetworkCache":{"default":true,"description":"Controls whether to skip the network cache for each request","type":"boolean"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"inspectUri":{"default":null,"description":"Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n","type":["string","null"]},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pathMapping":{"default":{},"description":"A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.","enum":["yes","no","auto"],"type":"string"},"port":{"default":9229,"description":"Port to use to remote debugging the browser, given as `--remote-debugging-port` when launching the browser.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}],"tags":["setup"]},"resolveSourceMapLocations":{"default":null,"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":false,"markdownDescription":"Whether to reconnect if the browser connection is closed","type":"boolean"},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"Configures a web server to start up. Takes the same configuration as the 'node' launch task.","properties":{"args":{"default":[],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"Where to launch the debug target.","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code Debug Console (which doesn't support to read input from a program)","VS Code's integrated terminal","External terminal that can be configured via user settings"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"experimentalNetworking":{"default":"auto","description":"Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"profileStartup":{"default":true,"description":"If true, will start profiling as soon as the process launches","type":"boolean"},"program":{"default":"","description":"Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed.","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"Version of `node` runtime to use. Requires `nvm`.","type":"string"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"stopOnEntry":{"default":true,"description":"Automatically stop program after launch.","type":["boolean","string"]},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript Debug Terminal","properties":{"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"Command to run in the launched terminal. If not provided, the terminal will open without launching a program.","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"targetSelection":{"default":"automatic","enum":["pick","automatic"],"markdownDescription":"Whether to attach to all targets that match the URL filter (\"automatic\") or ask to pick one (\"pick\").","type":"string"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"Will search for a tab with this exact url and attach to it, if found","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"Will search for a page with this url and attach to it, if found. Can have * wildcards.","type":"string"},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"","tags":["setup"],"type":"string"}},"type":"object"},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeExecutable":{"default":"node","markdownDescription":"Absolute path to VS Code.","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"testConfiguration":{"default":"${workspaceFolder}/.vscode-test.js","markdownDescription":"Path to a test configuration file for the [test CLI](https://code.visualstudio.com/api/working-with-extensions/testing-extension#quick-setup-the-test-cli).","type":"string"},"testConfigurationLabel":{"default":"","markdownDescription":"A single configuration to run from the file. If not specified, you may be asked to pick.","type":"string"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"required":[]}},"configurationSnippets":[{"body":{"args":["^\"--extensionDevelopmentPath=\\${workspaceFolder}\""],"name":"Launch Extension","outFiles":["^\"\\${workspaceFolder}/out/**/*.js\""],"preLaunchTask":"npm","request":"launch","type":"extensionHost"},"description":"Launch a VS Code extension in debug mode","label":"VS Code Extension Development"}],"label":"VS Code Extension Development","strings":{"unverifiedBreakpoints":"Some of your breakpoints could not be set. If you're having an issue, you can [troubleshoot your launch configuration](command:extension.js-debug.createDiagnostics)."},"type":"extensionHost"},{"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","configurationAttributes":{"attach":{"properties":{"address":{"default":"localhost","description":"IP address or hostname the debugged browser is listening on.","type":"string"},"browserAttachLocation":{"default":null,"description":"Forces the browser to attach in one location. In a remote workspace (through ssh or WSL, for example) this can be used to attach to a browser on the remote machine rather than locally.","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"disableNetworkCache":{"default":true,"description":"Controls whether to skip the network cache for each request","type":"boolean"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"inspectUri":{"default":null,"description":"Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n","type":["string","null"]},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pathMapping":{"default":{},"description":"A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.","enum":["yes","no","auto"],"type":"string"},"port":{"default":9229,"description":"Port to use to remote debugging the browser, given as `--remote-debugging-port` when launching the browser.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}],"tags":["setup"]},"resolveSourceMapLocations":{"default":null,"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":false,"markdownDescription":"Whether to reconnect if the browser connection is closed","type":"boolean"},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"Configures a web server to start up. Takes the same configuration as the 'node' launch task.","properties":{"args":{"default":[],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"Where to launch the debug target.","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code Debug Console (which doesn't support to read input from a program)","VS Code's integrated terminal","External terminal that can be configured via user settings"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"experimentalNetworking":{"default":"auto","description":"Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"profileStartup":{"default":true,"description":"If true, will start profiling as soon as the process launches","type":"boolean"},"program":{"default":"","description":"Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed.","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"Version of `node` runtime to use. Requires `nvm`.","type":"string"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"stopOnEntry":{"default":true,"description":"Automatically stop program after launch.","type":["boolean","string"]},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript Debug Terminal","properties":{"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"Command to run in the launched terminal. If not provided, the terminal will open without launching a program.","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"targetSelection":{"default":"automatic","enum":["pick","automatic"],"markdownDescription":"Whether to attach to all targets that match the URL filter (\"automatic\") or ask to pick one (\"pick\").","type":"string"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"Will search for a tab with this exact url and attach to it, if found","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"Will search for a page with this url and attach to it, if found. Can have * wildcards.","type":"string"},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"","tags":["setup"],"type":"string"}}},"launch":{"properties":{"browserLaunchLocation":{"default":null,"description":"Forces the browser to be launched in one location. In a remote workspace (through ssh or WSL, for example) this can be used to open the browser on the remote machine rather than locally.","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"cleanUp":{"default":"wholeBrowser","description":"What clean-up to do after the debugging session finishes. Close only the tab being debug, vs. close the whole browser.","enum":["wholeBrowser","onlyTab"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":null,"description":"Optional working directory for the runtime executable.","type":"string"},"disableNetworkCache":{"default":true,"description":"Controls whether to skip the network cache for each request","type":"boolean"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"default":{},"description":"Optional dictionary of environment key/value pairs for the browser.","type":"object"},"file":{"default":"${workspaceFolder}/index.html","description":"A local html file to open in the browser","tags":["setup"],"type":"string"},"includeDefaultArgs":{"default":true,"description":"Whether default browser launch arguments (to disable features that may make debugging harder) will be included in the launch.","type":"boolean"},"includeLaunchArgs":{"default":true,"description":"Advanced: whether any default launch/debugging arguments are set on the browser. The debugger will assume the browser will use pipe debugging such as that which is provided with `--remote-debugging-pipe`.","type":"boolean"},"inspectUri":{"default":null,"description":"Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n","type":["string","null"]},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how browser processes are killed when stopping the session with `cleanUp: wholeBrowser`. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pathMapping":{"default":{},"description":"A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.","enum":["yes","no","auto"],"type":"string"},"port":{"default":0,"description":"Port for the browser to listen on. Defaults to \"0\", which will cause the browser to be debugged via pipes, which is generally more secure and should be chosen unless you need to attach to the browser from another tool.","type":"number"},"profileStartup":{"default":true,"description":"If true, will start profiling soon as the process launches","type":"boolean"},"resolveSourceMapLocations":{"default":null,"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"type":"array"},"runtimeExecutable":{"default":"stable","description":"Either 'canary', 'stable', 'custom' or path to the browser executable. Custom means a custom wrapper, custom build or CHROME_PATH environment variable.","type":["string","null"]},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"Configures a web server to start up. Takes the same configuration as the 'node' launch task.","properties":{"args":{"default":[],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"Where to launch the debug target.","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code Debug Console (which doesn't support to read input from a program)","VS Code's integrated terminal","External terminal that can be configured via user settings"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"experimentalNetworking":{"default":"auto","description":"Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"profileStartup":{"default":true,"description":"If true, will start profiling as soon as the process launches","type":"boolean"},"program":{"default":"","description":"Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed.","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"Version of `node` runtime to use. Requires `nvm`.","type":"string"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"stopOnEntry":{"default":true,"description":"Automatically stop program after launch.","type":["boolean","string"]},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript Debug Terminal","properties":{"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"Command to run in the launched terminal. If not provided, the terminal will open without launching a program.","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"Will search for a tab with this exact url and attach to it, if found","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"Will search for a page with this url and attach to it, if found. Can have * wildcards.","type":"string"},"userDataDir":{"default":true,"description":"By default, the browser is launched with a separate user profile in a temp folder. Use this option to override it. Set to false to launch with your default user profile. A new browser can't be launched if an instance is already running from `userDataDir`.","type":["string","boolean"]},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"","tags":["setup"],"type":"string"}}}},"configurationSnippets":[],"deprecated":"Please use type chrome instead","label":"Web App (Chrome)","languages":["javascript","typescript","javascriptreact","typescriptreact","html","css","coffeescript","handlebars","vue"],"strings":{"unverifiedBreakpoints":"Some of your breakpoints could not be set. If you're having an issue, you can [troubleshoot your launch configuration](command:extension.js-debug.createDiagnostics)."},"type":"pwa-chrome"},{"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","configurationAttributes":{"attach":{"properties":{"address":{"default":"localhost","description":"IP address or hostname the debugged browser is listening on.","type":"string"},"browserAttachLocation":{"default":null,"description":"Forces the browser to attach in one location. In a remote workspace (through ssh or WSL, for example) this can be used to attach to a browser on the remote machine rather than locally.","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"disableNetworkCache":{"default":true,"description":"Controls whether to skip the network cache for each request","type":"boolean"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"inspectUri":{"default":null,"description":"Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n","type":["string","null"]},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pathMapping":{"default":{},"description":"A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.","enum":["yes","no","auto"],"type":"string"},"port":{"default":9229,"description":"Port to use to remote debugging the browser, given as `--remote-debugging-port` when launching the browser.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}],"tags":["setup"]},"resolveSourceMapLocations":{"default":null,"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":false,"markdownDescription":"Whether to reconnect if the browser connection is closed","type":"boolean"},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"Configures a web server to start up. Takes the same configuration as the 'node' launch task.","properties":{"args":{"default":[],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"Where to launch the debug target.","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code Debug Console (which doesn't support to read input from a program)","VS Code's integrated terminal","External terminal that can be configured via user settings"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"experimentalNetworking":{"default":"auto","description":"Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"profileStartup":{"default":true,"description":"If true, will start profiling as soon as the process launches","type":"boolean"},"program":{"default":"","description":"Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed.","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"Version of `node` runtime to use. Requires `nvm`.","type":"string"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"stopOnEntry":{"default":true,"description":"Automatically stop program after launch.","type":["boolean","string"]},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript Debug Terminal","properties":{"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"Command to run in the launched terminal. If not provided, the terminal will open without launching a program.","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"targetSelection":{"default":"automatic","enum":["pick","automatic"],"markdownDescription":"Whether to attach to all targets that match the URL filter (\"automatic\") or ask to pick one (\"pick\").","type":"string"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"Will search for a tab with this exact url and attach to it, if found","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"Will search for a page with this url and attach to it, if found. Can have * wildcards.","type":"string"},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"","tags":["setup"],"type":"string"}}},"launch":{"properties":{"browserLaunchLocation":{"default":null,"description":"Forces the browser to be launched in one location. In a remote workspace (through ssh or WSL, for example) this can be used to open the browser on the remote machine rather than locally.","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"cleanUp":{"default":"wholeBrowser","description":"What clean-up to do after the debugging session finishes. Close only the tab being debug, vs. close the whole browser.","enum":["wholeBrowser","onlyTab"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":null,"description":"Optional working directory for the runtime executable.","type":"string"},"disableNetworkCache":{"default":true,"description":"Controls whether to skip the network cache for each request","type":"boolean"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"default":{},"description":"Optional dictionary of environment key/value pairs for the browser.","type":"object"},"file":{"default":"${workspaceFolder}/index.html","description":"A local html file to open in the browser","tags":["setup"],"type":"string"},"includeDefaultArgs":{"default":true,"description":"Whether default browser launch arguments (to disable features that may make debugging harder) will be included in the launch.","type":"boolean"},"includeLaunchArgs":{"default":true,"description":"Advanced: whether any default launch/debugging arguments are set on the browser. The debugger will assume the browser will use pipe debugging such as that which is provided with `--remote-debugging-pipe`.","type":"boolean"},"inspectUri":{"default":null,"description":"Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n","type":["string","null"]},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how browser processes are killed when stopping the session with `cleanUp: wholeBrowser`. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pathMapping":{"default":{},"description":"A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.","enum":["yes","no","auto"],"type":"string"},"port":{"default":0,"description":"Port for the browser to listen on. Defaults to \"0\", which will cause the browser to be debugged via pipes, which is generally more secure and should be chosen unless you need to attach to the browser from another tool.","type":"number"},"profileStartup":{"default":true,"description":"If true, will start profiling soon as the process launches","type":"boolean"},"resolveSourceMapLocations":{"default":null,"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"type":"array"},"runtimeExecutable":{"default":"stable","description":"Either 'canary', 'stable', 'custom' or path to the browser executable. Custom means a custom wrapper, custom build or CHROME_PATH environment variable.","type":["string","null"]},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"Configures a web server to start up. Takes the same configuration as the 'node' launch task.","properties":{"args":{"default":[],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"Where to launch the debug target.","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code Debug Console (which doesn't support to read input from a program)","VS Code's integrated terminal","External terminal that can be configured via user settings"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"experimentalNetworking":{"default":"auto","description":"Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"profileStartup":{"default":true,"description":"If true, will start profiling as soon as the process launches","type":"boolean"},"program":{"default":"","description":"Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed.","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"Version of `node` runtime to use. Requires `nvm`.","type":"string"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"stopOnEntry":{"default":true,"description":"Automatically stop program after launch.","type":["boolean","string"]},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript Debug Terminal","properties":{"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"Command to run in the launched terminal. If not provided, the terminal will open without launching a program.","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"Will search for a tab with this exact url and attach to it, if found","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"Will search for a page with this url and attach to it, if found. Can have * wildcards.","type":"string"},"userDataDir":{"default":true,"description":"By default, the browser is launched with a separate user profile in a temp folder. Use this option to override it. Set to false to launch with your default user profile. A new browser can't be launched if an instance is already running from `userDataDir`.","type":["string","boolean"]},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"","tags":["setup"],"type":"string"}}}},"configurationSnippets":[{"body":{"name":"Launch Chrome","request":"launch","type":"chrome","url":"http://localhost:8080","webRoot":"^\"${2:\\${workspaceFolder\\}}\""},"description":"Launch Chrome to debug a URL","label":"Chrome: Launch"},{"body":{"name":"Attach to Chrome","port":9222,"request":"attach","type":"chrome","webRoot":"^\"${2:\\${workspaceFolder\\}}\""},"description":"Attach to an instance of Chrome already in debug mode","label":"Chrome: Attach"}],"label":"Web App (Chrome)","strings":{"unverifiedBreakpoints":"Some of your breakpoints could not be set. If you're having an issue, you can [troubleshoot your launch configuration](command:extension.js-debug.createDiagnostics)."},"type":"chrome"},{"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","configurationAttributes":{"attach":{"properties":{"address":{"default":"localhost","description":"IP address or hostname the debugged browser is listening on.","type":"string"},"browserAttachLocation":{"default":null,"description":"Forces the browser to attach in one location. In a remote workspace (through ssh or WSL, for example) this can be used to attach to a browser on the remote machine rather than locally.","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"disableNetworkCache":{"default":true,"description":"Controls whether to skip the network cache for each request","type":"boolean"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"inspectUri":{"default":null,"description":"Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n","type":["string","null"]},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pathMapping":{"default":{},"description":"A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.","enum":["yes","no","auto"],"type":"string"},"port":{"default":9229,"description":"Port to use to remote debugging the browser, given as `--remote-debugging-port` when launching the browser.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}],"tags":["setup"]},"resolveSourceMapLocations":{"default":null,"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":false,"markdownDescription":"Whether to reconnect if the browser connection is closed","type":"boolean"},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"Configures a web server to start up. Takes the same configuration as the 'node' launch task.","properties":{"args":{"default":[],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"Where to launch the debug target.","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code Debug Console (which doesn't support to read input from a program)","VS Code's integrated terminal","External terminal that can be configured via user settings"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"experimentalNetworking":{"default":"auto","description":"Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"profileStartup":{"default":true,"description":"If true, will start profiling as soon as the process launches","type":"boolean"},"program":{"default":"","description":"Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed.","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"Version of `node` runtime to use. Requires `nvm`.","type":"string"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"stopOnEntry":{"default":true,"description":"Automatically stop program after launch.","type":["boolean","string"]},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript Debug Terminal","properties":{"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"Command to run in the launched terminal. If not provided, the terminal will open without launching a program.","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"targetSelection":{"default":"automatic","enum":["pick","automatic"],"markdownDescription":"Whether to attach to all targets that match the URL filter (\"automatic\") or ask to pick one (\"pick\").","type":"string"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"Will search for a tab with this exact url and attach to it, if found","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"Will search for a page with this url and attach to it, if found. Can have * wildcards.","type":"string"},"useWebView":{"default":{"pipeName":"MyPipeName"},"description":"An object containing the `pipeName` of a debug pipe for a UWP hosted Webview2. This is the \"MyTestSharedMemory\" when creating the pipe \"\\\\.\\pipe\\LOCAL\\MyTestSharedMemory\"","properties":{"pipeName":{"type":"string"}},"type":"object"},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"","tags":["setup"],"type":"string"}}},"launch":{"properties":{"address":{"default":"localhost","description":"When debugging webviews, the IP address or hostname the webview is listening on. Will be automatically discovered if not set.","type":"string"},"browserLaunchLocation":{"default":null,"description":"Forces the browser to be launched in one location. In a remote workspace (through ssh or WSL, for example) this can be used to open the browser on the remote machine rather than locally.","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"cleanUp":{"default":"wholeBrowser","description":"What clean-up to do after the debugging session finishes. Close only the tab being debug, vs. close the whole browser.","enum":["wholeBrowser","onlyTab"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":null,"description":"Optional working directory for the runtime executable.","type":"string"},"disableNetworkCache":{"default":true,"description":"Controls whether to skip the network cache for each request","type":"boolean"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"default":{},"description":"Optional dictionary of environment key/value pairs for the browser.","type":"object"},"file":{"default":"${workspaceFolder}/index.html","description":"A local html file to open in the browser","tags":["setup"],"type":"string"},"includeDefaultArgs":{"default":true,"description":"Whether default browser launch arguments (to disable features that may make debugging harder) will be included in the launch.","type":"boolean"},"includeLaunchArgs":{"default":true,"description":"Advanced: whether any default launch/debugging arguments are set on the browser. The debugger will assume the browser will use pipe debugging such as that which is provided with `--remote-debugging-pipe`.","type":"boolean"},"inspectUri":{"default":null,"description":"Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n","type":["string","null"]},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how browser processes are killed when stopping the session with `cleanUp: wholeBrowser`. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pathMapping":{"default":{},"description":"A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.","enum":["yes","no","auto"],"type":"string"},"port":{"default":9229,"description":"When debugging webviews, the port the webview debugger is listening on. Will be automatically discovered if not set.","type":"number"},"profileStartup":{"default":true,"description":"If true, will start profiling soon as the process launches","type":"boolean"},"resolveSourceMapLocations":{"default":null,"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"type":"array"},"runtimeExecutable":{"default":"stable","description":"Either 'canary', 'stable', 'dev', 'custom' or path to the browser executable. Custom means a custom wrapper, custom build or EDGE_PATH environment variable.","type":["string","null"]},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"Configures a web server to start up. Takes the same configuration as the 'node' launch task.","properties":{"args":{"default":[],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"Where to launch the debug target.","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code Debug Console (which doesn't support to read input from a program)","VS Code's integrated terminal","External terminal that can be configured via user settings"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"experimentalNetworking":{"default":"auto","description":"Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"profileStartup":{"default":true,"description":"If true, will start profiling as soon as the process launches","type":"boolean"},"program":{"default":"","description":"Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed.","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"Version of `node` runtime to use. Requires `nvm`.","type":"string"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"stopOnEntry":{"default":true,"description":"Automatically stop program after launch.","type":["boolean","string"]},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript Debug Terminal","properties":{"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"Command to run in the launched terminal. If not provided, the terminal will open without launching a program.","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"Will search for a tab with this exact url and attach to it, if found","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"Will search for a page with this url and attach to it, if found. Can have * wildcards.","type":"string"},"useWebView":{"default":false,"description":"When 'true', the debugger will treat the runtime executable as a host application that contains a WebView allowing you to debug the WebView script content.","type":"boolean"},"userDataDir":{"default":true,"description":"By default, the browser is launched with a separate user profile in a temp folder. Use this option to override it. Set to false to launch with your default user profile. A new browser can't be launched if an instance is already running from `userDataDir`.","type":["string","boolean"]},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"","tags":["setup"],"type":"string"}}}},"configurationSnippets":[],"deprecated":"Please use type msedge instead","label":"Web App (Edge)","languages":["javascript","typescript","javascriptreact","typescriptreact","html","css","coffeescript","handlebars","vue"],"strings":{"unverifiedBreakpoints":"Some of your breakpoints could not be set. If you're having an issue, you can [troubleshoot your launch configuration](command:extension.js-debug.createDiagnostics)."},"type":"pwa-msedge"},{"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","configurationAttributes":{"attach":{"properties":{"address":{"default":"localhost","description":"IP address or hostname the debugged browser is listening on.","type":"string"},"browserAttachLocation":{"default":null,"description":"Forces the browser to attach in one location. In a remote workspace (through ssh or WSL, for example) this can be used to attach to a browser on the remote machine rather than locally.","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"disableNetworkCache":{"default":true,"description":"Controls whether to skip the network cache for each request","type":"boolean"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"inspectUri":{"default":null,"description":"Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n","type":["string","null"]},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pathMapping":{"default":{},"description":"A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.","enum":["yes","no","auto"],"type":"string"},"port":{"default":9229,"description":"Port to use to remote debugging the browser, given as `--remote-debugging-port` when launching the browser.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}],"tags":["setup"]},"resolveSourceMapLocations":{"default":null,"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":false,"markdownDescription":"Whether to reconnect if the browser connection is closed","type":"boolean"},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"Configures a web server to start up. Takes the same configuration as the 'node' launch task.","properties":{"args":{"default":[],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"Where to launch the debug target.","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code Debug Console (which doesn't support to read input from a program)","VS Code's integrated terminal","External terminal that can be configured via user settings"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"experimentalNetworking":{"default":"auto","description":"Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"profileStartup":{"default":true,"description":"If true, will start profiling as soon as the process launches","type":"boolean"},"program":{"default":"","description":"Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed.","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"Version of `node` runtime to use. Requires `nvm`.","type":"string"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"stopOnEntry":{"default":true,"description":"Automatically stop program after launch.","type":["boolean","string"]},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript Debug Terminal","properties":{"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"Command to run in the launched terminal. If not provided, the terminal will open without launching a program.","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"targetSelection":{"default":"automatic","enum":["pick","automatic"],"markdownDescription":"Whether to attach to all targets that match the URL filter (\"automatic\") or ask to pick one (\"pick\").","type":"string"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"Will search for a tab with this exact url and attach to it, if found","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"Will search for a page with this url and attach to it, if found. Can have * wildcards.","type":"string"},"useWebView":{"default":{"pipeName":"MyPipeName"},"description":"An object containing the `pipeName` of a debug pipe for a UWP hosted Webview2. This is the \"MyTestSharedMemory\" when creating the pipe \"\\\\.\\pipe\\LOCAL\\MyTestSharedMemory\"","properties":{"pipeName":{"type":"string"}},"type":"object"},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"","tags":["setup"],"type":"string"}}},"launch":{"properties":{"address":{"default":"localhost","description":"When debugging webviews, the IP address or hostname the webview is listening on. Will be automatically discovered if not set.","type":"string"},"browserLaunchLocation":{"default":null,"description":"Forces the browser to be launched in one location. In a remote workspace (through ssh or WSL, for example) this can be used to open the browser on the remote machine rather than locally.","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"cleanUp":{"default":"wholeBrowser","description":"What clean-up to do after the debugging session finishes. Close only the tab being debug, vs. close the whole browser.","enum":["wholeBrowser","onlyTab"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":null,"description":"Optional working directory for the runtime executable.","type":"string"},"disableNetworkCache":{"default":true,"description":"Controls whether to skip the network cache for each request","type":"boolean"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"default":{},"description":"Optional dictionary of environment key/value pairs for the browser.","type":"object"},"file":{"default":"${workspaceFolder}/index.html","description":"A local html file to open in the browser","tags":["setup"],"type":"string"},"includeDefaultArgs":{"default":true,"description":"Whether default browser launch arguments (to disable features that may make debugging harder) will be included in the launch.","type":"boolean"},"includeLaunchArgs":{"default":true,"description":"Advanced: whether any default launch/debugging arguments are set on the browser. The debugger will assume the browser will use pipe debugging such as that which is provided with `--remote-debugging-pipe`.","type":"boolean"},"inspectUri":{"default":null,"description":"Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n","type":["string","null"]},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how browser processes are killed when stopping the session with `cleanUp: wholeBrowser`. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pathMapping":{"default":{},"description":"A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.","enum":["yes","no","auto"],"type":"string"},"port":{"default":9229,"description":"When debugging webviews, the port the webview debugger is listening on. Will be automatically discovered if not set.","type":"number"},"profileStartup":{"default":true,"description":"If true, will start profiling soon as the process launches","type":"boolean"},"resolveSourceMapLocations":{"default":null,"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"type":"array"},"runtimeExecutable":{"default":"stable","description":"Either 'canary', 'stable', 'dev', 'custom' or path to the browser executable. Custom means a custom wrapper, custom build or EDGE_PATH environment variable.","type":["string","null"]},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"Configures a web server to start up. Takes the same configuration as the 'node' launch task.","properties":{"args":{"default":[],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"Where to launch the debug target.","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code Debug Console (which doesn't support to read input from a program)","VS Code's integrated terminal","External terminal that can be configured via user settings"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"experimentalNetworking":{"default":"auto","description":"Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"profileStartup":{"default":true,"description":"If true, will start profiling as soon as the process launches","type":"boolean"},"program":{"default":"","description":"Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed.","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"Version of `node` runtime to use. Requires `nvm`.","type":"string"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"stopOnEntry":{"default":true,"description":"Automatically stop program after launch.","type":["boolean","string"]},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript Debug Terminal","properties":{"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"Command to run in the launched terminal. If not provided, the terminal will open without launching a program.","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"Will search for a tab with this exact url and attach to it, if found","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"Will search for a page with this url and attach to it, if found. Can have * wildcards.","type":"string"},"useWebView":{"default":false,"description":"When 'true', the debugger will treat the runtime executable as a host application that contains a WebView allowing you to debug the WebView script content.","type":"boolean"},"userDataDir":{"default":true,"description":"By default, the browser is launched with a separate user profile in a temp folder. Use this option to override it. Set to false to launch with your default user profile. A new browser can't be launched if an instance is already running from `userDataDir`.","type":["string","boolean"]},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"","tags":["setup"],"type":"string"}}}},"configurationSnippets":[{"body":{"name":"Launch Edge","request":"launch","type":"msedge","url":"http://localhost:8080","webRoot":"^\"${2:\\${workspaceFolder\\}}\""},"description":"Launch Edge to debug a URL","label":"Edge: Launch"},{"body":{"name":"Attach to Edge","port":9222,"request":"attach","type":"msedge","webRoot":"^\"${2:\\${workspaceFolder\\}}\""},"description":"Attach to an instance of Edge already in debug mode","label":"Edge: Attach"}],"label":"Web App (Edge)","strings":{"unverifiedBreakpoints":"Some of your breakpoints could not be set. If you're having an issue, you can [troubleshoot your launch configuration](command:extension.js-debug.createDiagnostics)."},"type":"msedge"}],"commands":[{"command":"extension.js-debug.prettyPrint","title":"Pretty print for debugging","category":"Debug","icon":"$(json)"},{"command":"extension.js-debug.toggleSkippingFile","title":"Toggle Skipping this File","category":"Debug"},{"command":"extension.js-debug.addCustomBreakpoints","title":"Toggle Event Listener Breakpoints","icon":"$(add)"},{"command":"extension.js-debug.removeAllCustomBreakpoints","title":"Remove All Event Listener Breakpoints","icon":"$(close-all)"},{"command":"extension.js-debug.addXHRBreakpoints","title":"Add XHR/fetch Breakpoint","icon":"$(add)"},{"command":"extension.js-debug.removeXHRBreakpoint","title":"Remove XHR/fetch Breakpoint","icon":"$(remove)"},{"command":"extension.js-debug.editXHRBreakpoints","title":"Edit XHR/fetch Breakpoint","icon":"$(edit)"},{"command":"extension.pwa-node-debug.attachNodeProcess","title":"Attach to Node Process","category":"Debug"},{"command":"extension.js-debug.npmScript","title":"Debug npm Script","category":"Debug"},{"command":"extension.js-debug.createDebuggerTerminal","title":"JavaScript Debug Terminal","category":"Debug"},{"command":"extension.js-debug.startProfile","title":"Take Performance Profile","category":"Debug","icon":"$(record)"},{"command":"extension.js-debug.stopProfile","title":"Stop Performance Profile","category":"Debug","icon":"resources/dark/stop-profiling.svg"},{"command":"extension.js-debug.revealPage","title":"Focus Tab","category":"Debug"},{"command":"extension.js-debug.debugLink","title":"Open Link","category":"Debug"},{"command":"extension.js-debug.createDiagnostics","title":"Diagnose Breakpoint Problems","category":"Debug"},{"command":"extension.js-debug.getDiagnosticLogs","title":"Save Diagnostic JS Debug Logs","category":"Debug"},{"command":"extension.node-debug.startWithStopOnEntry","title":"Start Debugging and Stop on Entry","category":"Debug"},{"command":"extension.js-debug.openEdgeDevTools","title":"Open Browser Devtools","icon":"$(inspect)","category":"Debug"},{"command":"extension.js-debug.callers.add","title":"Exclude Caller","category":"Debug"},{"command":"extension.js-debug.callers.remove","title":"Remove excluded caller","icon":"$(close)"},{"command":"extension.js-debug.callers.removeAll","title":"Remove all excluded callers","icon":"$(clear-all)"},{"command":"extension.js-debug.callers.goToCaller","title":"Go to caller location","icon":"$(call-outgoing)"},{"command":"extension.js-debug.callers.gotToTarget","title":"Go to target location","icon":"$(call-incoming)"},{"command":"extension.js-debug.enableSourceMapStepping","title":"Enable Source Mapped Stepping","icon":"$(compass-dot)"},{"command":"extension.js-debug.disableSourceMapStepping","title":"Disable Source Mapped Stepping","icon":"$(compass)"},{"command":"extension.js-debug.network.viewRequest","title":"View Request as cURL","icon":"$(arrow-right)"},{"command":"extension.js-debug.network.clear","title":"Clear Network Log","icon":"$(clear-all)"},{"command":"extension.js-debug.network.openBody","title":"Open Response Body"},{"command":"extension.js-debug.network.openBodyInHex","title":"Open Response Body in Hex Editor"},{"command":"extension.js-debug.network.replayXHR","title":"Replay Request"},{"command":"extension.js-debug.network.copyUri","title":"Copy Request URL"}],"keybindings":[{"command":"extension.node-debug.startWithStopOnEntry","key":"F10","mac":"F10","when":"debugConfigurationType == pwa-node && !inDebugMode || debugConfigurationType == pwa-extensionHost && !inDebugMode || debugConfigurationType == node && !inDebugMode"},{"command":"extension.node-debug.startWithStopOnEntry","key":"F11","mac":"F11","when":"debugConfigurationType == pwa-node && !inDebugMode && activeViewlet == workbench.view.debug || debugConfigurationType == pwa-extensionHost && !inDebugMode && activeViewlet == workbench.view.debug || debugConfigurationType == node && !inDebugMode && activeViewlet == workbench.view.debug"}],"configuration":{"title":"JavaScript Debugger","properties":{"debug.javascript.codelens.npmScripts":{"enum":["top","all","never"],"default":"top","description":"Where a \"Run\" and \"Debug\" code lens should be shown in your npm scripts. It may be on \"all\", scripts, on \"top\" of the script section, or \"never\"."},"debug.javascript.terminalOptions":{"type":"object","description":"Default launch options for the JavaScript debug terminal and npm scripts.","default":{},"properties":{"resolveSourceMapLocations":{"type":["array","null"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","default":["${workspaceFolder}/**","!**/node_modules/**"],"items":{"type":"string"}},"outFiles":{"type":["array"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"items":{"type":"string"},"tags":["setup"]},"pauseForSourceMap":{"type":"boolean","markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","default":false},"showAsyncStacks":{"description":"Show the async calls that led to the current call stack.","default":true,"oneOf":[{"type":"boolean"},{"type":"object","required":["onAttach"],"properties":{"onAttach":{"type":"number","default":32}}},{"type":"object","required":["onceBreakpointResolved"],"properties":{"onceBreakpointResolved":{"type":"number","default":32}}}]},"skipFiles":{"type":"array","description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","default":["${/**"]},"smartStep":{"type":"boolean","description":"Automatically step through generated code that cannot be mapped back to the original source.","default":true},"sourceMaps":{"type":"boolean","description":"Use JavaScript source maps (if they exist).","default":true},"sourceMapRenames":{"type":"boolean","default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers."},"sourceMapPathOverrides":{"type":"object","description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","default":{"webpack://?:*/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","meteor://đź’»app/*":"${workspaceFolder}/*"}},"timeout":{"type":"number","description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","default":10000},"timeouts":{"type":"object","description":"Timeouts for several debugger operations.","default":{},"properties":{"sourceMapMinPause":{"type":"number","description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","default":1000},"sourceMapCumulativePause":{"type":"number","description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","default":1000},"hoverEvaluation":{"type":"number","description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","default":500}},"additionalProperties":false,"markdownDescription":"Timeouts for several debugger operations."},"trace":{"description":"Configures what diagnostic output is produced.","default":true,"oneOf":[{"type":"boolean","description":"Trace may be set to 'true' to write diagnostic logs to the disk."},{"type":"object","additionalProperties":false,"properties":{"stdio":{"type":"boolean","description":"Whether to return trace data from the launched application or browser."},"logFile":{"type":["string","null"],"description":"Configures where on disk logs are written."}}}]},"outputCapture":{"enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`.","default":"console"},"enableContentValidation":{"default":true,"type":"boolean","description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example."},"customDescriptionGenerator":{"type":"string","description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n "},"customPropertiesGenerator":{"type":"string","deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181"},"cascadeTerminateToConfigurations":{"type":"array","items":{"type":"string","uniqueItems":true},"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped."},"enableDWARF":{"type":"boolean","default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."},"cwd":{"type":"string","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","default":"${workspaceFolder}","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"]},"localRoot":{"type":["string","null"],"description":"Path to the local directory containing the program.","default":null},"remoteRoot":{"type":["string","null"],"description":"Absolute path to the remote directory containing the program.","default":null},"autoAttachChildProcesses":{"type":"boolean","description":"Attach debugger to new child processes automatically.","default":true},"env":{"type":"object","additionalProperties":{"type":["string","null"]},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","default":{},"tags":["setup"]},"envFile":{"type":"string","description":"Absolute path to a file containing environment variable definitions.","default":"${workspaceFolder}/.env"},"runtimeSourcemapPausePatterns":{"type":"array","items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","default":[]},"nodeVersionHint":{"type":"number","minimum":8,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","default":12},"command":{"type":["string","null"],"description":"Command to run in the launched terminal. If not provided, the terminal will open without launching a program.","default":"npm start","tags":["setup"]}}},"debug.javascript.automaticallyTunnelRemoteServer":{"type":"boolean","description":"When debugging a remote web app, configures whether to automatically tunnel the remote server to your local machine.","default":true},"debug.javascript.debugByLinkOptions":{"default":"on","description":"Options used when debugging open links clicked from inside the JavaScript Debug Terminal. Can be set to \"off\" to disable this behavior, or \"always\" to enable debugging in all terminals.","oneOf":[{"type":"string","enum":["on","off","always"]},{"type":"object","properties":{"resolveSourceMapLocations":{"type":["array","null"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","default":null,"items":{"type":"string"}},"outFiles":{"type":["array"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"items":{"type":"string"},"tags":["setup"]},"pauseForSourceMap":{"type":"boolean","markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","default":false},"showAsyncStacks":{"description":"Show the async calls that led to the current call stack.","default":true,"oneOf":[{"type":"boolean"},{"type":"object","required":["onAttach"],"properties":{"onAttach":{"type":"number","default":32}}},{"type":"object","required":["onceBreakpointResolved"],"properties":{"onceBreakpointResolved":{"type":"number","default":32}}}]},"skipFiles":{"type":"array","description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","default":["${/**"]},"smartStep":{"type":"boolean","description":"Automatically step through generated code that cannot be mapped back to the original source.","default":true},"sourceMaps":{"type":"boolean","description":"Use JavaScript source maps (if they exist).","default":true},"sourceMapRenames":{"type":"boolean","default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers."},"sourceMapPathOverrides":{"type":"object","description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","default":{"webpack://?:*/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","meteor://đź’»app/*":"${workspaceFolder}/*"}},"timeout":{"type":"number","description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","default":10000},"timeouts":{"type":"object","description":"Timeouts for several debugger operations.","default":{},"properties":{"sourceMapMinPause":{"type":"number","description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","default":1000},"sourceMapCumulativePause":{"type":"number","description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","default":1000},"hoverEvaluation":{"type":"number","description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","default":500}},"additionalProperties":false,"markdownDescription":"Timeouts for several debugger operations."},"trace":{"description":"Configures what diagnostic output is produced.","default":true,"oneOf":[{"type":"boolean","description":"Trace may be set to 'true' to write diagnostic logs to the disk."},{"type":"object","additionalProperties":false,"properties":{"stdio":{"type":"boolean","description":"Whether to return trace data from the launched application or browser."},"logFile":{"type":["string","null"],"description":"Configures where on disk logs are written."}}}]},"outputCapture":{"enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`.","default":"console"},"enableContentValidation":{"default":true,"type":"boolean","description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example."},"customDescriptionGenerator":{"type":"string","description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n "},"customPropertiesGenerator":{"type":"string","deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181"},"cascadeTerminateToConfigurations":{"type":"array","items":{"type":"string","uniqueItems":true},"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped."},"enableDWARF":{"type":"boolean","default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."},"disableNetworkCache":{"type":"boolean","description":"Controls whether to skip the network cache for each request","default":true},"pathMapping":{"type":"object","description":"A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk","default":{}},"webRoot":{"type":"string","description":"This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"","default":"${workspaceFolder}","tags":["setup"]},"urlFilter":{"type":"string","description":"Will search for a page with this url and attach to it, if found. Can have * wildcards.","default":""},"url":{"type":"string","description":"Will search for a tab with this exact url and attach to it, if found","default":"http://localhost:8080","tags":["setup"]},"inspectUri":{"type":["string","null"],"description":"Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n","default":null},"vueComponentPaths":{"type":"array","description":"A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.","default":["${workspaceFolder}/**/*.vue"]},"server":{"oneOf":[{"type":"object","description":"Configures a web server to start up. Takes the same configuration as the 'node' launch task.","additionalProperties":false,"default":{"program":"node my-server.js"},"properties":{"resolveSourceMapLocations":{"type":["array","null"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","default":["${workspaceFolder}/**","!**/node_modules/**"],"items":{"type":"string"}},"outFiles":{"type":["array"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"items":{"type":"string"},"tags":["setup"]},"pauseForSourceMap":{"type":"boolean","markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","default":false},"showAsyncStacks":{"description":"Show the async calls that led to the current call stack.","default":true,"oneOf":[{"type":"boolean"},{"type":"object","required":["onAttach"],"properties":{"onAttach":{"type":"number","default":32}}},{"type":"object","required":["onceBreakpointResolved"],"properties":{"onceBreakpointResolved":{"type":"number","default":32}}}]},"skipFiles":{"type":"array","description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","default":["${/**"]},"smartStep":{"type":"boolean","description":"Automatically step through generated code that cannot be mapped back to the original source.","default":true},"sourceMaps":{"type":"boolean","description":"Use JavaScript source maps (if they exist).","default":true},"sourceMapRenames":{"type":"boolean","default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers."},"sourceMapPathOverrides":{"type":"object","description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","default":{"webpack://?:*/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","meteor://đź’»app/*":"${workspaceFolder}/*"}},"timeout":{"type":"number","description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","default":10000},"timeouts":{"type":"object","description":"Timeouts for several debugger operations.","default":{},"properties":{"sourceMapMinPause":{"type":"number","description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","default":1000},"sourceMapCumulativePause":{"type":"number","description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","default":1000},"hoverEvaluation":{"type":"number","description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","default":500}},"additionalProperties":false,"markdownDescription":"Timeouts for several debugger operations."},"trace":{"description":"Configures what diagnostic output is produced.","default":true,"oneOf":[{"type":"boolean","description":"Trace may be set to 'true' to write diagnostic logs to the disk."},{"type":"object","additionalProperties":false,"properties":{"stdio":{"type":"boolean","description":"Whether to return trace data from the launched application or browser."},"logFile":{"type":["string","null"],"description":"Configures where on disk logs are written."}}}]},"outputCapture":{"enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`.","default":"console"},"enableContentValidation":{"default":true,"type":"boolean","description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example."},"customDescriptionGenerator":{"type":"string","description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n "},"customPropertiesGenerator":{"type":"string","deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181"},"cascadeTerminateToConfigurations":{"type":"array","items":{"type":"string","uniqueItems":true},"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped."},"enableDWARF":{"type":"boolean","default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."},"cwd":{"type":"string","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","default":"${workspaceFolder}","tags":["setup"]},"localRoot":{"type":["string","null"],"description":"Path to the local directory containing the program.","default":null},"remoteRoot":{"type":["string","null"],"description":"Absolute path to the remote directory containing the program.","default":null},"autoAttachChildProcesses":{"type":"boolean","description":"Attach debugger to new child processes automatically.","default":true},"env":{"type":"object","additionalProperties":{"type":["string","null"]},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","default":{},"tags":["setup"]},"envFile":{"type":"string","description":"Absolute path to a file containing environment variable definitions.","default":"${workspaceFolder}/.env"},"runtimeSourcemapPausePatterns":{"type":"array","items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","default":[]},"nodeVersionHint":{"type":"number","minimum":8,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","default":12},"program":{"type":"string","description":"Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.","default":"","tags":["setup"]},"stopOnEntry":{"type":["boolean","string"],"description":"Automatically stop program after launch.","default":true},"console":{"type":"string","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code Debug Console (which doesn't support to read input from a program)","VS Code's integrated terminal","External terminal that can be configured via user settings"],"description":"Where to launch the debug target.","default":"internalConsole"},"args":{"type":["array","string"],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"default":[],"tags":["setup"]},"restart":{"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","default":true,"oneOf":[{"type":"boolean"},{"type":"object","properties":{"delay":{"type":"number","minimum":0,"default":1000},"maxAttempts":{"type":"number","minimum":0,"default":10}}}]},"runtimeExecutable":{"type":["string","null"],"markdownDescription":"Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed.","default":"node"},"runtimeVersion":{"type":"string","markdownDescription":"Version of `node` runtime to use. Requires `nvm`.","default":"default"},"runtimeArgs":{"type":"array","description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"default":[],"tags":["setup"]},"profileStartup":{"type":"boolean","description":"If true, will start profiling as soon as the process launches","default":true},"attachSimplePort":{"oneOf":[{"type":"integer"},{"type":"string","pattern":"^\\${.*}$"}],"description":"If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.","default":9229},"killBehavior":{"type":"string","enum":["forceful","polite","none"],"default":"forceful","markdownDescription":"Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen."},"experimentalNetworking":{"type":"string","default":"auto","description":"Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.","enum":["auto","on","off"]}}},{"type":"object","description":"JavaScript Debug Terminal","additionalProperties":false,"default":{"program":"npm start"},"properties":{"resolveSourceMapLocations":{"type":["array","null"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","default":["${workspaceFolder}/**","!**/node_modules/**"],"items":{"type":"string"}},"outFiles":{"type":["array"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"items":{"type":"string"},"tags":["setup"]},"pauseForSourceMap":{"type":"boolean","markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","default":false},"showAsyncStacks":{"description":"Show the async calls that led to the current call stack.","default":true,"oneOf":[{"type":"boolean"},{"type":"object","required":["onAttach"],"properties":{"onAttach":{"type":"number","default":32}}},{"type":"object","required":["onceBreakpointResolved"],"properties":{"onceBreakpointResolved":{"type":"number","default":32}}}]},"skipFiles":{"type":"array","description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","default":["${/**"]},"smartStep":{"type":"boolean","description":"Automatically step through generated code that cannot be mapped back to the original source.","default":true},"sourceMaps":{"type":"boolean","description":"Use JavaScript source maps (if they exist).","default":true},"sourceMapRenames":{"type":"boolean","default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers."},"sourceMapPathOverrides":{"type":"object","description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","default":{"webpack://?:*/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","meteor://đź’»app/*":"${workspaceFolder}/*"}},"timeout":{"type":"number","description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","default":10000},"timeouts":{"type":"object","description":"Timeouts for several debugger operations.","default":{},"properties":{"sourceMapMinPause":{"type":"number","description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","default":1000},"sourceMapCumulativePause":{"type":"number","description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","default":1000},"hoverEvaluation":{"type":"number","description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","default":500}},"additionalProperties":false,"markdownDescription":"Timeouts for several debugger operations."},"trace":{"description":"Configures what diagnostic output is produced.","default":true,"oneOf":[{"type":"boolean","description":"Trace may be set to 'true' to write diagnostic logs to the disk."},{"type":"object","additionalProperties":false,"properties":{"stdio":{"type":"boolean","description":"Whether to return trace data from the launched application or browser."},"logFile":{"type":["string","null"],"description":"Configures where on disk logs are written."}}}]},"outputCapture":{"enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`.","default":"console"},"enableContentValidation":{"default":true,"type":"boolean","description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example."},"customDescriptionGenerator":{"type":"string","description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n "},"customPropertiesGenerator":{"type":"string","deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181"},"cascadeTerminateToConfigurations":{"type":"array","items":{"type":"string","uniqueItems":true},"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped."},"enableDWARF":{"type":"boolean","default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."},"cwd":{"type":"string","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","default":"${workspaceFolder}","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"]},"localRoot":{"type":["string","null"],"description":"Path to the local directory containing the program.","default":null},"remoteRoot":{"type":["string","null"],"description":"Absolute path to the remote directory containing the program.","default":null},"autoAttachChildProcesses":{"type":"boolean","description":"Attach debugger to new child processes automatically.","default":true},"env":{"type":"object","additionalProperties":{"type":["string","null"]},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","default":{},"tags":["setup"]},"envFile":{"type":"string","description":"Absolute path to a file containing environment variable definitions.","default":"${workspaceFolder}/.env"},"runtimeSourcemapPausePatterns":{"type":"array","items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","default":[]},"nodeVersionHint":{"type":"number","minimum":8,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","default":12},"command":{"type":["string","null"],"description":"Command to run in the launched terminal. If not provided, the terminal will open without launching a program.","default":"npm start","tags":["setup"]}}}]},"perScriptSourcemaps":{"type":"string","default":"auto","enum":["yes","no","auto"],"description":"Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate."},"port":{"type":"number","description":"Port for the browser to listen on. Defaults to \"0\", which will cause the browser to be debugged via pipes, which is generally more secure and should be chosen unless you need to attach to the browser from another tool.","default":0},"file":{"type":"string","description":"A local html file to open in the browser","default":"${workspaceFolder}/index.html","tags":["setup"]},"userDataDir":{"type":["string","boolean"],"description":"By default, the browser is launched with a separate user profile in a temp folder. Use this option to override it. Set to false to launch with your default user profile. A new browser can't be launched if an instance is already running from `userDataDir`.","default":true},"includeDefaultArgs":{"type":"boolean","description":"Whether default browser launch arguments (to disable features that may make debugging harder) will be included in the launch.","default":true},"includeLaunchArgs":{"type":"boolean","description":"Advanced: whether any default launch/debugging arguments are set on the browser. The debugger will assume the browser will use pipe debugging such as that which is provided with `--remote-debugging-pipe`.","default":true},"runtimeExecutable":{"type":["string","null"],"description":"Either 'canary', 'stable', 'custom' or path to the browser executable. Custom means a custom wrapper, custom build or CHROME_PATH environment variable.","default":"stable"},"runtimeArgs":{"type":"array","description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"default":[]},"env":{"type":"object","description":"Optional dictionary of environment key/value pairs for the browser.","default":{}},"cwd":{"type":"string","description":"Optional working directory for the runtime executable.","default":null},"profileStartup":{"type":"boolean","description":"If true, will start profiling soon as the process launches","default":true},"cleanUp":{"type":"string","enum":["wholeBrowser","onlyTab"],"description":"What clean-up to do after the debugging session finishes. Close only the tab being debug, vs. close the whole browser.","default":"wholeBrowser"},"killBehavior":{"type":"string","enum":["forceful","polite","none"],"default":"forceful","markdownDescription":"Configures how browser processes are killed when stopping the session with `cleanUp: wholeBrowser`. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen."},"browserLaunchLocation":{"description":"Forces the browser to be launched in one location. In a remote workspace (through ssh or WSL, for example) this can be used to open the browser on the remote machine rather than locally.","default":null,"oneOf":[{"type":"null"},{"type":"string","enum":["ui","workspace"]}]},"enabled":{"type":"string","enum":["on","off","always"]}}}]},"debug.javascript.pickAndAttachOptions":{"type":"object","default":{},"markdownDescription":"Default options used when debugging a process through the `Debug: Attach to Node.js Process` command","properties":{"resolveSourceMapLocations":{"type":["array","null"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","default":["${workspaceFolder}/**","!**/node_modules/**"],"items":{"type":"string"}},"outFiles":{"type":["array"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"items":{"type":"string"},"tags":["setup"]},"pauseForSourceMap":{"type":"boolean","markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","default":false},"showAsyncStacks":{"description":"Show the async calls that led to the current call stack.","default":true,"oneOf":[{"type":"boolean"},{"type":"object","required":["onAttach"],"properties":{"onAttach":{"type":"number","default":32}}},{"type":"object","required":["onceBreakpointResolved"],"properties":{"onceBreakpointResolved":{"type":"number","default":32}}}]},"skipFiles":{"type":"array","description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","default":["${/**"]},"smartStep":{"type":"boolean","description":"Automatically step through generated code that cannot be mapped back to the original source.","default":true},"sourceMaps":{"type":"boolean","description":"Use JavaScript source maps (if they exist).","default":true},"sourceMapRenames":{"type":"boolean","default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers."},"sourceMapPathOverrides":{"type":"object","description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","default":{"webpack://?:*/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","meteor://đź’»app/*":"${workspaceFolder}/*"}},"timeout":{"type":"number","description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","default":10000},"timeouts":{"type":"object","description":"Timeouts for several debugger operations.","default":{},"properties":{"sourceMapMinPause":{"type":"number","description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","default":1000},"sourceMapCumulativePause":{"type":"number","description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","default":1000},"hoverEvaluation":{"type":"number","description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","default":500}},"additionalProperties":false,"markdownDescription":"Timeouts for several debugger operations."},"trace":{"description":"Configures what diagnostic output is produced.","default":true,"oneOf":[{"type":"boolean","description":"Trace may be set to 'true' to write diagnostic logs to the disk."},{"type":"object","additionalProperties":false,"properties":{"stdio":{"type":"boolean","description":"Whether to return trace data from the launched application or browser."},"logFile":{"type":["string","null"],"description":"Configures where on disk logs are written."}}}]},"outputCapture":{"enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`.","default":"console"},"enableContentValidation":{"default":true,"type":"boolean","description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example."},"customDescriptionGenerator":{"type":"string","description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n "},"customPropertiesGenerator":{"type":"string","deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181"},"cascadeTerminateToConfigurations":{"type":"array","items":{"type":"string","uniqueItems":true},"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped."},"enableDWARF":{"type":"boolean","default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."},"cwd":{"type":"string","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","default":"${workspaceFolder}","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"]},"localRoot":{"type":["string","null"],"description":"Path to the local directory containing the program.","default":null},"remoteRoot":{"type":["string","null"],"description":"Absolute path to the remote directory containing the program.","default":null},"autoAttachChildProcesses":{"type":"boolean","description":"Attach debugger to new child processes automatically.","default":true},"env":{"type":"object","additionalProperties":{"type":["string","null"]},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","default":{},"tags":["setup"]},"envFile":{"type":"string","description":"Absolute path to a file containing environment variable definitions.","default":"${workspaceFolder}/.env"},"runtimeSourcemapPausePatterns":{"type":"array","items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","default":[]},"nodeVersionHint":{"type":"number","minimum":8,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","default":12},"address":{"type":"string","description":"TCP/IP address of process to be debugged. Default is 'localhost'.","default":"localhost"},"port":{"description":"Debug port to attach to. Default is 9229.","default":9229,"oneOf":[{"type":"integer"},{"type":"string","pattern":"^\\${.*}$"}],"tags":["setup"]},"websocketAddress":{"type":"string","description":"Exact websocket address to attach to. If unspecified, it will be discovered from the address and port."},"remoteHostHeader":{"type":"string","description":"Explicit Host header to use when connecting to the websocket of inspector. If unspecified, the host header will be set to 'localhost'. This is useful when the inspector is running behind a proxy that only accept particular Host header."},"restart":{"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","default":true,"oneOf":[{"type":"boolean"},{"type":"object","properties":{"delay":{"type":"number","minimum":0,"default":1000},"maxAttempts":{"type":"number","minimum":0,"default":10}}}]},"processId":{"type":"string","description":"ID of process to attach to.","default":"${command:PickProcess}"},"attachExistingChildren":{"type":"boolean","description":"Whether to attempt to attach to already-spawned child processes.","default":false},"continueOnAttach":{"type":"boolean","markdownDescription":"If true, we'll automatically resume programs launched and waiting on `--inspect-brk`","default":true}}},"debug.javascript.autoAttachFilter":{"type":"string","default":"disabled","enum":["always","smart","onlyWithFlag","disabled"],"enumDescriptions":["Auto attach to every Node.js process launched in the terminal.","Auto attach when running scripts that aren't in a node_modules folder.","Only auto attach when the `--inspect` is given.","Auto attach is disabled and not shown in status bar."],"markdownDescription":"Configures which processes to automatically attach and debug when `#debug.node.autoAttach#` is on. A Node process launched with the `--inspect` flag will always be attached to, regardless of this setting."},"debug.javascript.autoAttachSmartPattern":{"type":"array","items":{"type":"string"},"default":["${workspaceFolder}/**","!**/node_modules/**","**/$KNOWN_TOOLS$/**"],"markdownDescription":"Configures glob patterns for determining when to attach in \"smart\" `#debug.javascript.autoAttachFilter#` mode. `$KNOWN_TOOLS$` is replaced with a list of names of common test and code runners. [Read more on the VS Code docs](https://code.visualstudio.com/docs/nodejs/nodejs-debugging#_auto-attach-smart-patterns)."},"debug.javascript.breakOnConditionalError":{"type":"boolean","default":false,"markdownDescription":"Whether to stop when conditional breakpoints throw an error."},"debug.javascript.unmapMissingSources":{"type":"boolean","default":false,"description":"Configures whether sourcemapped file where the original file can't be read will automatically be unmapped. If this is false (default), a prompt is shown."},"debug.javascript.defaultRuntimeExecutable":{"type":"object","default":{"pwa-node":"node"},"markdownDescription":"The default `runtimeExecutable` used for launch configurations, if unspecified. This can be used to config custom paths to Node.js or browser installations.","properties":{"pwa-node":{"type":"string"},"pwa-chrome":{"type":"string"},"pwa-msedge":{"type":"string"}}},"debug.javascript.resourceRequestOptions":{"type":"object","default":{},"markdownDescription":"Request options to use when loading resources, such as source maps, in the debugger. You may need to configure this if your sourcemaps require authentication or use a self-signed certificate, for instance. Options are used to create a request using the [`got`](https://github.com/sindresorhus/got) library.\n\nA common case to disable certificate verification can be done by passing `{ \"https\": { \"rejectUnauthorized\": false } }`."},"debug.javascript.enableNetworkView":{"type":"boolean","default":true,"description":"Enables the experimental network view for targets that support it."}}},"grammars":[{"language":"wat","scopeName":"text.wat","path":"./src/ui/basic-wat.tmLanguage.json"}],"languages":[{"id":"wat","extensions":[".wat",".wasm"],"aliases":["WebAssembly Text Format"],"firstLine":"^\\(module","mimetypes":["text/wat"],"configuration":"./src/ui/basic-wat.configuration.json"}],"terminal":{"profiles":[{"id":"extension.js-debug.debugTerminal","title":"JavaScript Debug Terminal","icon":"$(debug)"}]},"views":{"debug":[{"id":"jsBrowserBreakpoints","name":"Event Listener Breakpoints","when":"debugType == pwa-chrome || debugType == pwa-msedge"},{"id":"jsExcludedCallers","name":"Excluded Callers","when":"debugType == pwa-extensionHost && jsDebugHasExcludedCallers || debugType == node-terminal && jsDebugHasExcludedCallers || debugType == pwa-node && jsDebugHasExcludedCallers || debugType == pwa-chrome && jsDebugHasExcludedCallers || debugType == pwa-msedge && jsDebugHasExcludedCallers"},{"id":"jsDebugNetworkTree","name":"Network","when":"jsDebugNetworkAvailable"}]},"viewsWelcome":[{"view":"debug","contents":"[JavaScript Debug Terminal](command:extension.js-debug.createDebuggerTerminal)\n\nYou can use the JavaScript Debug Terminal to debug Node.js processes run on the command line.\n\n[Debug URL](command:extension.js-debug.debugLink)","when":"debugStartLanguage == javascript && !isWeb || debugStartLanguage == typescript && !isWeb || debugStartLanguage == javascriptreact && !isWeb || debugStartLanguage == typescriptreact && !isWeb"},{"view":"debug","contents":"[JavaScript Debug Terminal](command:extension.js-debug.createDebuggerTerminal)\n\nYou can use the JavaScript Debug Terminal to debug Node.js processes run on the command line.","when":"debugStartLanguage == javascript && isWeb || debugStartLanguage == typescript && isWeb || debugStartLanguage == javascriptreact && isWeb || debugStartLanguage == typescriptreact && isWeb"}]}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/ms-vscode.js-debug","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","metadata":{},"isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"ms-vscode.js-debug-companion"},"manifest":{"name":"js-debug-companion","displayName":"JavaScript Debugger Companion Extension","description":"Companion extension to js-debug that provides capability for remote debugging","version":"1.1.3","publisher":"ms-vscode","engines":{"vscode":"^1.90.0"},"icon":"resources/logo.png","categories":["Other"],"repository":{"type":"git","url":"https://github.com/microsoft/vscode-js-debug-companion.git"},"author":"Connor Peet ","license":"MIT","bugs":{"url":"https://github.com/microsoft/vscode-js-debug-companion/issues"},"homepage":"https://github.com/microsoft/vscode-js-debug-companion#readme","capabilities":{"virtualWorkspaces":false,"untrustedWorkspaces":{"supported":true}},"activationEvents":["onCommand:js-debug-companion.launchAndAttach","onCommand:js-debug-companion.kill","onCommand:js-debug-companion.launch","onCommand:js-debug-companion.defaultBrowser"],"main":"./out/extension.js","contributes":{},"extensionKind":["ui"],"api":"none","prettier":{"trailingComma":"all","singleQuote":true,"printWidth":100,"tabWidth":2,"arrowParens":"avoid"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/ms-vscode.js-debug-companion","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","metadata":{},"isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"ms-vscode.vscode-js-profile-table"},"manifest":{"name":"vscode-js-profile-table","version":"1.0.10","displayName":"Table Visualizer for JavaScript Profiles","description":"Text visualizer for profiles taken from the JavaScript debugger","author":"Connor Peet ","homepage":"https://github.com/microsoft/vscode-js-profile-visualizer#readme","license":"MIT","main":"out/extension.js","browser":"out/extension.web.js","repository":{"type":"git","url":"https://github.com/microsoft/vscode-js-profile-visualizer.git"},"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"icon":"resources/icon.png","publisher":"ms-vscode","sideEffects":false,"engines":{"vscode":"^1.74.0"},"contributes":{"customEditors":[{"viewType":"jsProfileVisualizer.cpuprofile.table","displayName":"CPU Profile Table Visualizer","priority":"default","selector":[{"filenamePattern":"*.cpuprofile"}]},{"viewType":"jsProfileVisualizer.heapprofile.table","displayName":"Heap Profile Table Visualizer","priority":"default","selector":[{"filenamePattern":"*.heapprofile"}]},{"viewType":"jsProfileVisualizer.heapsnapshot.table","displayName":"Heap Snapshot Table Visualizer","priority":"default","selector":[{"filenamePattern":"*.heapsnapshot"}]}],"commands":[{"command":"extension.jsProfileVisualizer.table.clearCodeLenses","title":"Clear Profile Code Lenses"}],"menus":{"commandPalette":[{"command":"extension.jsProfileVisualizer.table.clearCodeLenses","when":"jsProfileVisualizer.hasCodeLenses == true"}]}},"bugs":{"url":"https://github.com/microsoft/vscode-js-profile-visualizer/issues"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/ms-vscode.vscode-js-profile-table","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","metadata":{},"isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.builtin-notebook-renderers"},"manifest":{"name":"builtin-notebook-renderers","displayName":"Builtin Notebook Output Renderers","description":"Provides basic output renderers for notebooks","publisher":"vscode","version":"1.0.0","license":"MIT","icon":"media/icon.png","engines":{"vscode":"^1.57.0"},"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"contributes":{"notebookRenderer":[{"id":"vscode.builtin-renderer","entrypoint":"./renderer-out/index.js","displayName":"VS Code Builtin Notebook Output Renderer","requiresMessaging":"never","mimeTypes":["image/gif","image/png","image/jpeg","image/git","image/svg+xml","text/html","application/javascript","application/vnd.code.notebook.error","application/vnd.code.notebook.stdout","application/x.notebook.stdout","application/x.notebook.stream","application/vnd.code.notebook.stderr","application/x.notebook.stderr","text/plain"]}]},"scripts":{"compile":"npx gulp compile-extension:notebook-renderers && npm run build-notebook","watch":"npx gulp compile-watch:notebook-renderers","build-notebook":"node ./esbuild.mjs"},"dependencies":{},"devDependencies":{"@types/jsdom":"^21.1.0","@types/vscode-notebook-renderer":"^1.60.0","jsdom":"^21.1.1"},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/notebook-renderers","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.npm"},"manifest":{"name":"npm","publisher":"vscode","displayName":"NPM support for VS Code","description":"Extension to add task support for npm scripts.","version":"1.0.1","private":true,"license":"MIT","engines":{"vscode":"0.10.x"},"icon":"images/npm_icon.png","categories":["Other"],"enabledApiProposals":["terminalQuickFixProvider"],"main":"./dist/npmMain","browser":"./dist/browser/npmBrowserMain","activationEvents":["onTaskType:npm","onLanguage:json","workspaceContains:package.json"],"capabilities":{"virtualWorkspaces":{"supported":"limited","description":"Functionality that requires running the 'npm' command is not available in virtual workspaces."},"untrustedWorkspaces":{"supported":"limited","description":"This extension executes tasks, which require trust to run."}},"contributes":{"languages":[{"id":"ignore","extensions":[".npmignore"]},{"id":"properties","extensions":[".npmrc"]}],"views":{"explorer":[{"id":"npm","name":"NPM Scripts","when":"npm:showScriptExplorer","icon":"$(json)","visibility":"hidden","contextualTitle":"NPM Scripts"}]},"commands":[{"command":"npm.runScript","title":"Run","icon":"$(run)"},{"command":"npm.debugScript","title":"Debug","icon":"$(debug)"},{"command":"npm.openScript","title":"Open"},{"command":"npm.runInstall","title":"Run Install"},{"command":"npm.refresh","title":"Refresh","icon":"$(refresh)"},{"command":"npm.runSelectedScript","title":"Run Script"},{"command":"npm.runScriptFromFolder","title":"Run NPM Script in Folder..."},{"command":"npm.packageManager","title":"Get Configured Package Manager"}],"menus":{"commandPalette":[{"command":"npm.refresh","when":"false"},{"command":"npm.runScript","when":"false"},{"command":"npm.debugScript","when":"false"},{"command":"npm.openScript","when":"false"},{"command":"npm.runInstall","when":"false"},{"command":"npm.runSelectedScript","when":"false"},{"command":"npm.runScriptFromFolder","when":"false"},{"command":"npm.packageManager","when":"false"}],"editor/context":[{"command":"npm.runSelectedScript","when":"resourceFilename == 'package.json' && resourceScheme == file","group":"navigation@+1"}],"view/title":[{"command":"npm.refresh","when":"view == npm","group":"navigation"}],"view/item/context":[{"command":"npm.openScript","when":"view == npm && viewItem == packageJSON","group":"navigation@1"},{"command":"npm.runInstall","when":"view == npm && viewItem == packageJSON","group":"navigation@2"},{"command":"npm.openScript","when":"view == npm && viewItem == script","group":"navigation@1"},{"command":"npm.runScript","when":"view == npm && viewItem == script","group":"navigation@2"},{"command":"npm.runScript","when":"view == npm && viewItem == script","group":"inline"},{"command":"npm.debugScript","when":"view == npm && viewItem == script","group":"inline"},{"command":"npm.debugScript","when":"view == npm && viewItem == script","group":"navigation@3"}],"explorer/context":[{"when":"config.npm.enableRunFromFolder && explorerViewletVisible && explorerResourceIsFolder && resourceScheme == file","command":"npm.runScriptFromFolder","group":"2_workspace"}]},"configuration":{"id":"npm","type":"object","title":"Npm","properties":{"npm.autoDetect":{"type":"string","enum":["off","on"],"default":"on","scope":"resource","description":"Controls whether npm scripts should be automatically detected."},"npm.runSilent":{"type":"boolean","default":false,"scope":"resource","markdownDescription":"Run npm commands with the `--silent` option."},"npm.packageManager":{"scope":"resource","type":"string","enum":["auto","npm","yarn","pnpm","bun"],"enumDescriptions":["Auto-detect which package manager to use based on lock files and installed package managers.","Use npm as the package manager.","Use yarn as the package manager.","Use pnpm as the package manager.","Use bun as the package manager."],"default":"auto","description":"The package manager used to install dependencies."},"npm.scriptRunner":{"scope":"resource","type":"string","enum":["auto","npm","yarn","pnpm","bun","node"],"enumDescriptions":["Auto-detect which script runner to use based on lock files and installed package managers.","Use npm as the script runner.","Use yarn as the script runner.","Use pnpm as the script runner.","Use bun as the script runner.","Use Node.js as the script runner."],"default":"auto","description":"The script runner used to run scripts."},"npm.exclude":{"type":["string","array"],"items":{"type":"string"},"description":"Configure glob patterns for folders that should be excluded from automatic script detection.","scope":"resource"},"npm.enableScriptExplorer":{"type":"boolean","default":false,"scope":"resource","deprecationMessage":"The NPM Script Explorer is now available in 'Views' menu in the Explorer in all folders.","description":"Enable an explorer view for npm scripts when there is no top-level 'package.json' file."},"npm.enableRunFromFolder":{"type":"boolean","default":false,"scope":"resource","description":"Enable running npm scripts contained in a folder from the Explorer context menu."},"npm.scriptExplorerAction":{"type":"string","enum":["open","run"],"markdownDescription":"The default click action used in the NPM Scripts Explorer: `open` or `run`, the default is `open`.","scope":"window","default":"open"},"npm.scriptExplorerExclude":{"type":"array","items":{"type":"string"},"markdownDescription":"An array of regular expressions that indicate which scripts should be excluded from the NPM Scripts view.","scope":"resource","default":[]},"npm.fetchOnlinePackageInfo":{"type":"boolean","description":"Fetch data from https://registry.npmjs.org and https://registry.bower.io to provide auto-completion and information on hover features on npm dependencies.","default":true,"scope":"window","tags":["usesOnlineServices"]},"npm.scriptHover":{"type":"boolean","description":"Display hover with 'Run' and 'Debug' commands for scripts.","default":true,"scope":"window"}}},"jsonValidation":[{"fileMatch":"package.json","url":"https://www.schemastore.org/package"},{"fileMatch":"bower.json","url":"https://www.schemastore.org/bower"}],"taskDefinitions":[{"type":"npm","required":["script"],"properties":{"script":{"type":"string","description":"The npm script to customize."},"path":{"type":"string","description":"The path to the folder of the package.json file that provides the script. Can be omitted."}},"when":"shellExecutionSupported"}],"terminalQuickFixes":[{"id":"ms-vscode.npm-command","commandLineMatcher":"npm","commandExitResult":"error","outputMatcher":{"anchor":"bottom","length":8,"lineMatcher":"Did you mean (?:this|one of these)\\?((?:\\n.+?npm .+ #.+)+)","offset":2}}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/npm","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.objective-c"},"manifest":{"name":"objective-c","displayName":"Objective-C Language Basics","description":"Provides syntax highlighting and bracket matching in Objective-C files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ./build/update-grammars.js"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"objective-c","extensions":[".m"],"aliases":["Objective-C"],"configuration":"./language-configuration.json"},{"id":"objective-cpp","extensions":[".mm"],"aliases":["Objective-C++"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"objective-c","scopeName":"source.objc","path":"./syntaxes/objective-c.tmLanguage.json"},{"language":"objective-cpp","scopeName":"source.objcpp","path":"./syntaxes/objective-c++.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/objective-c","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.perl"},"manifest":{"name":"perl","displayName":"Perl Language Basics","description":"Provides syntax highlighting and bracket matching in Perl files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin textmate/perl.tmbundle Syntaxes/Perl.plist ./syntaxes/perl.tmLanguage.json Syntaxes/Perl%206.tmLanguage ./syntaxes/perl6.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"perl","aliases":["Perl","perl"],"extensions":[".pl",".pm",".pod",".t",".PL",".psgi"],"firstLine":"^#!.*\\bperl\\b","configuration":"./perl.language-configuration.json"},{"id":"raku","aliases":["Raku","Perl6","perl6"],"extensions":[".raku",".rakumod",".rakutest",".rakudoc",".nqp",".p6",".pl6",".pm6"],"firstLine":"(^#!.*\\bperl6\\b)|use\\s+v6|raku|=begin\\spod|my\\sclass","configuration":"./perl6.language-configuration.json"}],"grammars":[{"language":"perl","scopeName":"source.perl","path":"./syntaxes/perl.tmLanguage.json","unbalancedBracketScopes":["variable.other.predefined.perl"]},{"language":"raku","scopeName":"source.perl.6","path":"./syntaxes/perl6.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/perl","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.php"},"manifest":{"name":"php","displayName":"PHP Language Basics","description":"Provides syntax highlighting and bracket matching for PHP files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"php","extensions":[".php",".php4",".php5",".phtml",".ctp"],"aliases":["PHP","php"],"firstLine":"^#!\\s*/.*\\bphp\\b","mimetypes":["application/x-php"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"php","scopeName":"source.php","path":"./syntaxes/php.tmLanguage.json"},{"language":"php","scopeName":"text.html.php","path":"./syntaxes/html.tmLanguage.json","embeddedLanguages":{"text.html":"html","source.php":"php","source.sql":"sql","text.xml":"xml","source.js":"javascript","source.json":"json","source.css":"css"}}],"snippets":[{"language":"php","path":"./snippets/php.code-snippets"}]},"scripts":{"update-grammar":"node ./build/update-grammar.mjs"},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/php","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.php-language-features"},"manifest":{"name":"php-language-features","displayName":"PHP Language Features","description":"Provides rich language support for PHP files.","version":"1.0.0","publisher":"vscode","license":"MIT","icon":"icons/logo.png","engines":{"vscode":"0.10.x"},"activationEvents":["onLanguage:php"],"main":"./dist/phpMain","categories":["Programming Languages"],"capabilities":{"virtualWorkspaces":false,"untrustedWorkspaces":{"supported":"limited","description":"The extension requires workspace trust when the `php.validate.executablePath` setting will load a version of PHP in the workspace.","restrictedConfigurations":["php.validate.executablePath"]}},"contributes":{"configuration":{"title":"PHP","type":"object","order":20,"properties":{"php.suggest.basic":{"type":"boolean","default":true,"description":"Controls whether the built-in PHP language suggestions are enabled. The support suggests PHP globals and variables."},"php.validate.enable":{"type":"boolean","default":true,"description":"Enable/disable built-in PHP validation."},"php.validate.executablePath":{"type":["string","null"],"default":null,"description":"Points to the PHP executable.","scope":"machine-overridable"},"php.validate.run":{"type":"string","enum":["onSave","onType"],"default":"onSave","description":"Whether the linter is run on save or on type."}}},"jsonValidation":[{"fileMatch":"composer.json","url":"https://getcomposer.org/schema.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/php-language-features","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.powershell"},"manifest":{"name":"powershell","displayName":"Powershell Language Basics","description":"Provides snippets, syntax highlighting, bracket matching and folding in Powershell files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"powershell","extensions":[".ps1",".psm1",".psd1",".pssc",".psrc"],"aliases":["PowerShell","powershell","ps","ps1","pwsh"],"firstLine":"^#!\\s*/.*\\bpwsh\\b","configuration":"./language-configuration.json"}],"grammars":[{"language":"powershell","scopeName":"source.powershell","path":"./syntaxes/powershell.tmLanguage.json"}]},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin PowerShell/EditorSyntax PowerShellSyntax.tmLanguage ./syntaxes/powershell.tmLanguage.json"},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/powershell","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.prompt"},"manifest":{"name":"prompt","displayName":"Prompt Language Basics","description":"Syntax highlighting for Prompt and Instructions documents.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.20.0"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"prompt","aliases":["Prompt","prompt"],"extensions":[".prompt.md","copilot-instructions.md"],"configuration":"./language-configuration.json"},{"id":"instructions","aliases":["Instructions","instructions"],"extensions":[".instructions.md","copilot-instructions.md"],"configuration":"./language-configuration.json"},{"id":"chatmode","aliases":["Chat Mode","chat mode"],"extensions":[".chatmode.md"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"prompt","path":"./syntaxes/prompt.tmLanguage.json","scopeName":"text.html.markdown.prompt","unbalancedBracketScopes":["markup.underline.link.markdown","punctuation.definition.list.begin.markdown"]},{"language":"instructions","path":"./syntaxes/prompt.tmLanguage.json","scopeName":"text.html.markdown.prompt","unbalancedBracketScopes":["markup.underline.link.markdown","punctuation.definition.list.begin.markdown"]},{"language":"chatmode","path":"./syntaxes/prompt.tmLanguage.json","scopeName":"text.html.markdown.prompt","unbalancedBracketScopes":["markup.underline.link.markdown","punctuation.definition.list.begin.markdown"]}],"configurationDefaults":{"[prompt]":{"editor.unicodeHighlight.ambiguousCharacters":false,"editor.unicodeHighlight.invisibleCharacters":false,"diffEditor.ignoreTrimWhitespace":false,"editor.wordWrap":"on","editor.quickSuggestions":{"comments":"off","strings":"off","other":"off"}},"[instructions]":{"editor.unicodeHighlight.ambiguousCharacters":false,"editor.unicodeHighlight.invisibleCharacters":false,"diffEditor.ignoreTrimWhitespace":false,"editor.wordWrap":"on","editor.quickSuggestions":{"comments":"off","strings":"off","other":"off"}},"[chatmode]":{"editor.unicodeHighlight.ambiguousCharacters":false,"editor.unicodeHighlight.invisibleCharacters":false,"diffEditor.ignoreTrimWhitespace":false,"editor.wordWrap":"on","editor.quickSuggestions":{"comments":"off","strings":"off","other":"off"}}}},"scripts":{},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/prompt-basics","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.pug"},"manifest":{"name":"pug","displayName":"Pug Language Basics","description":"Provides syntax highlighting and bracket matching in Pug files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin davidrios/pug-tmbundle Syntaxes/Pug.JSON-tmLanguage ./syntaxes/pug.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"jade","extensions":[".pug",".jade"],"aliases":["Pug","Jade","jade"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"jade","scopeName":"text.pug","path":"./syntaxes/pug.tmLanguage.json"}],"configurationDefaults":{"[jade]":{"diffEditor.ignoreTrimWhitespace":false}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/pug","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.python"},"manifest":{"name":"python","displayName":"Python Language Basics","description":"Provides syntax highlighting, bracket matching and folding in Python files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"python","extensions":[".py",".rpy",".pyw",".cpy",".gyp",".gypi",".pyi",".ipy",".pyt"],"aliases":["Python","py"],"filenames":["SConstruct","SConscript"],"firstLine":"^#!\\s*/?.*\\bpython[0-9.-]*\\b","configuration":"./language-configuration.json"}],"grammars":[{"language":"python","scopeName":"source.python","path":"./syntaxes/MagicPython.tmLanguage.json"},{"scopeName":"source.regexp.python","path":"./syntaxes/MagicRegExp.tmLanguage.json"}],"configurationDefaults":{"[python]":{"diffEditor.ignoreTrimWhitespace":false,"editor.defaultColorDecorators":"never"}}},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin MagicStack/MagicPython grammars/MagicPython.tmLanguage ./syntaxes/MagicPython.tmLanguage.json grammars/MagicRegExp.tmLanguage ./syntaxes/MagicRegExp.tmLanguage.json"},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/python","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.r"},"manifest":{"name":"r","displayName":"R Language Basics","description":"Provides syntax highlighting and bracket matching in R files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin REditorSupport/vscode-R-syntax syntaxes/r.json ./syntaxes/r.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"r","extensions":[".r",".rhistory",".rprofile",".rt"],"aliases":["R","r"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"r","scopeName":"source.r","path":"./syntaxes/r.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/r","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.razor"},"manifest":{"name":"razor","displayName":"Razor Language Basics","description":"Provides syntax highlighting, bracket matching and folding in Razor files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"scripts":{"update-grammar":"node ./build/update-grammar.mjs"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"razor","extensions":[".cshtml",".razor"],"aliases":["Razor","razor"],"mimetypes":["text/x-cshtml"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"razor","scopeName":"text.html.cshtml","path":"./syntaxes/cshtml.tmLanguage.json","embeddedLanguages":{"section.embedded.source.cshtml":"csharp","source.css":"css","source.js":"javascript"}}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/razor","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.references-view"},"manifest":{"name":"references-view","displayName":"Reference Search View","description":"Reference Search results as separate, stable view in the sidebar","icon":"media/icon.png","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.67.0"},"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"repository":{"type":"git","url":"https://github.com/Microsoft/vscode-references-view"},"bugs":{"url":"https://github.com/Microsoft/vscode-references-view/issues"},"activationEvents":["onCommand:references-view.find","onCommand:editor.action.showReferences"],"main":"./dist/extension","browser":"./dist/extension.js","contributes":{"configuration":{"properties":{"references.preferredLocation":{"description":"Controls whether 'Peek References' or 'Find References' is invoked when selecting CodeLens references.","type":"string","default":"peek","enum":["peek","view"],"enumDescriptions":["Show references in peek editor.","Show references in separate view."]}}},"viewsContainers":{"activitybar":[{"id":"references-view","icon":"$(references)","title":"References"}]},"views":{"references-view":[{"id":"references-view.tree","name":"Reference Search Results","when":"reference-list.isActive"}]},"commands":[{"command":"references-view.findReferences","title":"Find All References","category":"References"},{"command":"references-view.findImplementations","title":"Find All Implementations","category":"References"},{"command":"references-view.clearHistory","title":"Clear History","category":"References","icon":"$(clear-all)"},{"command":"references-view.clear","title":"Clear","category":"References","icon":"$(clear-all)"},{"command":"references-view.refresh","title":"Refresh","category":"References","icon":"$(refresh)"},{"command":"references-view.pickFromHistory","title":"Show History","category":"References"},{"command":"references-view.removeReferenceItem","title":"Dismiss","icon":"$(close)"},{"command":"references-view.copy","title":"Copy"},{"command":"references-view.copyAll","title":"Copy All"},{"command":"references-view.copyPath","title":"Copy Path"},{"command":"references-view.refind","title":"Rerun","icon":"$(refresh)"},{"command":"references-view.showCallHierarchy","title":"Show Call Hierarchy","category":"Calls"},{"command":"references-view.showOutgoingCalls","title":"Show Outgoing Calls","category":"Calls","icon":"$(call-outgoing)"},{"command":"references-view.showIncomingCalls","title":"Show Incoming Calls","category":"Calls","icon":"$(call-incoming)"},{"command":"references-view.removeCallItem","title":"Dismiss","icon":"$(close)"},{"command":"references-view.next","title":"Go to Next Reference","enablement":"references-view.canNavigate"},{"command":"references-view.prev","title":"Go to Previous Reference","enablement":"references-view.canNavigate"},{"command":"references-view.showTypeHierarchy","title":"Show Type Hierarchy","category":"Types"},{"command":"references-view.showSupertypes","title":"Show Supertypes","category":"Types","icon":"$(type-hierarchy-super)"},{"command":"references-view.showSubtypes","title":"Show Subtypes","category":"Types","icon":"$(type-hierarchy-sub)"},{"command":"references-view.removeTypeItem","title":"Dismiss","icon":"$(close)"}],"menus":{"editor/context":[{"command":"references-view.findReferences","when":"editorHasReferenceProvider","group":"0_navigation@1"},{"command":"references-view.findImplementations","when":"editorHasImplementationProvider","group":"0_navigation@2"},{"command":"references-view.showCallHierarchy","when":"editorHasCallHierarchyProvider","group":"0_navigation@3"},{"command":"references-view.showTypeHierarchy","when":"editorHasTypeHierarchyProvider","group":"0_navigation@4"}],"view/title":[{"command":"references-view.clear","group":"navigation@3","when":"view == references-view.tree && reference-list.hasResult"},{"command":"references-view.clearHistory","group":"navigation@3","when":"view == references-view.tree && reference-list.hasHistory && !reference-list.hasResult"},{"command":"references-view.refresh","group":"navigation@2","when":"view == references-view.tree && reference-list.hasResult"},{"command":"references-view.showOutgoingCalls","group":"navigation@1","when":"view == references-view.tree && reference-list.hasResult && reference-list.source == callHierarchy && references-view.callHierarchyMode == showIncoming"},{"command":"references-view.showIncomingCalls","group":"navigation@1","when":"view == references-view.tree && reference-list.hasResult && reference-list.source == callHierarchy && references-view.callHierarchyMode == showOutgoing"},{"command":"references-view.showSupertypes","group":"navigation@1","when":"view == references-view.tree && reference-list.hasResult && reference-list.source == typeHierarchy && references-view.typeHierarchyMode != supertypes"},{"command":"references-view.showSubtypes","group":"navigation@1","when":"view == references-view.tree && reference-list.hasResult && reference-list.source == typeHierarchy && references-view.typeHierarchyMode != subtypes"}],"view/item/context":[{"command":"references-view.removeReferenceItem","group":"inline","when":"view == references-view.tree && viewItem == file-item || view == references-view.tree && viewItem == reference-item"},{"command":"references-view.removeCallItem","group":"inline","when":"view == references-view.tree && viewItem == call-item"},{"command":"references-view.removeTypeItem","group":"inline","when":"view == references-view.tree && viewItem == type-item"},{"command":"references-view.refind","group":"inline","when":"view == references-view.tree && viewItem == history-item"},{"command":"references-view.removeReferenceItem","group":"1","when":"view == references-view.tree && viewItem == file-item || view == references-view.tree && viewItem == reference-item"},{"command":"references-view.removeCallItem","group":"1","when":"view == references-view.tree && viewItem == call-item"},{"command":"references-view.removeTypeItem","group":"1","when":"view == references-view.tree && viewItem == type-item"},{"command":"references-view.refind","group":"1","when":"view == references-view.tree && viewItem == history-item"},{"command":"references-view.copy","group":"2@1","when":"view == references-view.tree && viewItem == file-item || view == references-view.tree && viewItem == reference-item"},{"command":"references-view.copyPath","group":"2@2","when":"view == references-view.tree && viewItem == file-item"},{"command":"references-view.copyAll","group":"2@3","when":"view == references-view.tree && viewItem == file-item || view == references-view.tree && viewItem == reference-item"},{"command":"references-view.showOutgoingCalls","group":"1","when":"view == references-view.tree && viewItem == call-item"},{"command":"references-view.showIncomingCalls","group":"1","when":"view == references-view.tree && viewItem == call-item"},{"command":"references-view.showSupertypes","group":"1","when":"view == references-view.tree && viewItem == type-item"},{"command":"references-view.showSubtypes","group":"1","when":"view == references-view.tree && viewItem == type-item"}],"commandPalette":[{"command":"references-view.removeReferenceItem","when":"never"},{"command":"references-view.removeCallItem","when":"never"},{"command":"references-view.removeTypeItem","when":"never"},{"command":"references-view.copy","when":"never"},{"command":"references-view.copyAll","when":"never"},{"command":"references-view.copyPath","when":"never"},{"command":"references-view.refind","when":"never"},{"command":"references-view.findReferences","when":"editorHasReferenceProvider"},{"command":"references-view.clear","when":"reference-list.hasResult"},{"command":"references-view.clearHistory","when":"reference-list.isActive && !reference-list.hasResult"},{"command":"references-view.refresh","when":"reference-list.hasResult"},{"command":"references-view.pickFromHistory","when":"reference-list.isActive"},{"command":"references-view.next","when":"never"},{"command":"references-view.prev","when":"never"}]},"keybindings":[{"command":"references-view.findReferences","when":"editorHasReferenceProvider","key":"shift+alt+f12"},{"command":"references-view.next","when":"reference-list.hasResult","key":"f4"},{"command":"references-view.prev","when":"reference-list.hasResult","key":"shift+f4"},{"command":"references-view.showCallHierarchy","when":"editorHasCallHierarchyProvider","key":"shift+alt+h"}]}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/references-view","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.restructuredtext"},"manifest":{"name":"restructuredtext","displayName":"reStructuredText Language Basics","description":"Provides syntax highlighting in reStructuredText files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin trond-snekvik/vscode-rst syntaxes/rst.tmLanguage.json ./syntaxes/rst.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"restructuredtext","aliases":["reStructuredText"],"configuration":"./language-configuration.json","extensions":[".rst"]}],"grammars":[{"language":"restructuredtext","scopeName":"source.rst","path":"./syntaxes/rst.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/restructuredtext","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.ruby"},"manifest":{"name":"ruby","displayName":"Ruby Language Basics","description":"Provides syntax highlighting and bracket matching in Ruby files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin Shopify/ruby-lsp vscode/grammars/ruby.cson.json ./syntaxes/ruby.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"ruby","extensions":[".rb",".rbx",".rjs",".gemspec",".rake",".ru",".erb",".podspec",".rbi"],"filenames":["rakefile","gemfile","guardfile","podfile","capfile","cheffile","hobofile","vagrantfile","appraisals","rantfile","berksfile","berksfile.lock","thorfile","puppetfile","dangerfile","brewfile","fastfile","appfile","deliverfile","matchfile","scanfile","snapfile","gymfile"],"aliases":["Ruby","rb"],"firstLine":"^#!\\s*/.*\\bruby\\b","configuration":"./language-configuration.json"}],"grammars":[{"language":"ruby","scopeName":"source.ruby","path":"./syntaxes/ruby.tmLanguage.json"}],"configurationDefaults":{"[ruby]":{"editor.defaultColorDecorators":"never"}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/ruby","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.rust"},"manifest":{"name":"rust","displayName":"Rust Language Basics","description":"Provides syntax highlighting and bracket matching in Rust files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ./build/update-grammar.mjs"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"rust","extensions":[".rs"],"aliases":["Rust","rust"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"rust","path":"./syntaxes/rust.tmLanguage.json","scopeName":"source.rust"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/rust","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.scss"},"manifest":{"name":"scss","displayName":"SCSS Language Basics","description":"Provides syntax highlighting, bracket matching and folding in SCSS files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin atom/language-sass grammars/scss.cson ./syntaxes/scss.tmLanguage.json grammars/sassdoc.cson ./syntaxes/sassdoc.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"scss","aliases":["SCSS","scss"],"extensions":[".scss"],"mimetypes":["text/x-scss","text/scss"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"scss","scopeName":"source.css.scss","path":"./syntaxes/scss.tmLanguage.json"},{"scopeName":"source.sassdoc","path":"./syntaxes/sassdoc.tmLanguage.json"}],"problemMatchers":[{"name":"node-sass","label":"Node Sass Compiler","owner":"node-sass","fileLocation":"absolute","pattern":[{"regexp":"^{$"},{"regexp":"\\s*\"status\":\\s\\d+,"},{"regexp":"\\s*\"file\":\\s\"(.*)\",","file":1},{"regexp":"\\s*\"line\":\\s(\\d+),","line":1},{"regexp":"\\s*\"column\":\\s(\\d+),","column":1},{"regexp":"\\s*\"message\":\\s\"(.*)\",","message":1},{"regexp":"\\s*\"formatted\":\\s(.*)"},{"regexp":"^}$"}]}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/scss","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.search-result"},"manifest":{"name":"search-result","displayName":"Search Result","description":"Provides syntax highlighting and language features for tabbed search results.","version":"1.0.0","publisher":"vscode","license":"MIT","icon":"images/icon.png","engines":{"vscode":"^1.39.0"},"main":"./dist/extension.js","browser":"./dist/extension.js","activationEvents":["onLanguage:search-result"],"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"enabledApiProposals":["documentFiltersExclusive"],"contributes":{"configurationDefaults":{"[search-result]":{"editor.lineNumbers":"off"}},"languages":[{"id":"search-result","extensions":[".code-search"],"aliases":["Search Result"]}],"grammars":[{"language":"search-result","scopeName":"text.searchResult","path":"./syntaxes/searchResult.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/search-result","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.shaderlab"},"manifest":{"name":"shaderlab","displayName":"Shaderlab Language Basics","description":"Provides syntax highlighting and bracket matching in Shaderlab files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin tgjones/shaders-tmLanguage grammars/shaderlab.json ./syntaxes/shaderlab.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"shaderlab","extensions":[".shader"],"aliases":["ShaderLab","shaderlab"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"shaderlab","path":"./syntaxes/shaderlab.tmLanguage.json","scopeName":"source.shaderlab"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/shaderlab","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.shellscript"},"manifest":{"name":"shellscript","displayName":"Shell Script Language Basics","description":"Provides syntax highlighting and bracket matching in Shell Script files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin jeff-hykin/better-shell-syntax autogenerated/shell.tmLanguage.json ./syntaxes/shell-unix-bash.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"shellscript","aliases":["Shell Script","shellscript","bash","fish","sh","zsh","ksh","csh"],"extensions":[".sh",".bash",".bashrc",".bash_aliases",".bash_profile",".bash_login",".ebuild",".eclass",".profile",".bash_logout",".xprofile",".xsession",".xsessionrc",".Xsession",".zsh",".zshrc",".zprofile",".zlogin",".zlogout",".zshenv",".zsh-theme",".fish",".ksh",".csh",".cshrc",".tcshrc",".yashrc",".yash_profile"],"filenames":["APKBUILD","PKGBUILD",".envrc",".hushlogin","zshrc","zshenv","zlogin","zprofile","zlogout","bashrc_Apple_Terminal","zshrc_Apple_Terminal"],"filenamePatterns":[".env.*"],"firstLine":"^#!.*\\b(bash|fish|zsh|sh|ksh|dtksh|pdksh|mksh|ash|dash|yash|sh|csh|jcsh|tcsh|itcsh).*|^#\\s*-\\*-[^*]*mode:\\s*shell-script[^*]*-\\*-","configuration":"./language-configuration.json","mimetypes":["text/x-shellscript"]}],"grammars":[{"language":"shellscript","scopeName":"source.shell","path":"./syntaxes/shell-unix-bash.tmLanguage.json","balancedBracketScopes":["*"],"unbalancedBracketScopes":["meta.scope.case-pattern.shell"]}],"configurationDefaults":{"[shellscript]":{"files.eol":"\n","editor.defaultColorDecorators":"never"}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/shellscript","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.simple-browser"},"manifest":{"name":"simple-browser","displayName":"Simple Browser","description":"A very basic built-in webview for displaying web content.","enabledApiProposals":["externalUriOpener"],"version":"1.0.0","icon":"media/icon.png","publisher":"vscode","license":"MIT","aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","engines":{"vscode":"^1.70.0"},"main":"./dist/extension","browser":"./dist/browser/extension","categories":["Other"],"extensionKind":["ui","workspace"],"activationEvents":["onCommand:simpleBrowser.api.open","onOpenExternalUri:http","onOpenExternalUri:https","onWebviewPanel:simpleBrowser.view"],"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"contributes":{"commands":[{"command":"simpleBrowser.show","title":"Show","category":"Simple Browser"}],"configuration":[{"title":"Simple Browser","properties":{"simpleBrowser.focusLockIndicator.enabled":{"type":"boolean","default":true,"title":"Focus Lock Indicator Enabled","description":"Enable/disable the floating indicator that shows when focused in the simple browser."}}}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/simple-browser","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.sql"},"manifest":{"name":"sql","displayName":"SQL Language Basics","description":"Provides syntax highlighting and bracket matching in SQL files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ./build/update-grammar.mjs"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"sql","extensions":[".sql",".dsql"],"aliases":["MS SQL","T-SQL"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"sql","scopeName":"source.sql","path":"./syntaxes/sql.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/sql","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.swift"},"manifest":{"name":"swift","displayName":"Swift Language Basics","description":"Provides snippets, syntax highlighting and bracket matching in Swift files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin jtbandes/swift-tmlanguage Swift.tmLanguage.json ./syntaxes/swift.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"swift","aliases":["Swift","swift"],"extensions":[".swift"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"swift","scopeName":"source.swift","path":"./syntaxes/swift.tmLanguage.json"}],"snippets":[{"language":"swift","path":"./snippets/swift.code-snippets"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/swift","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.terminal-suggest"},"manifest":{"name":"terminal-suggest","publisher":"vscode","displayName":"Terminal Suggest for VS Code","description":"Extension to add terminal completions for zsh, bash, and fish terminals.","version":"1.0.1","private":true,"license":"MIT","icon":"./src/media/icon.png","engines":{"vscode":"^1.95.0"},"categories":["Other"],"enabledApiProposals":["terminalCompletionProvider","terminalShellEnv"],"contributes":{"commands":[{"command":"terminal.integrated.suggest.clearCachedGlobals","category":"Terminal","title":"Clear Suggest Cached Globals"}]},"main":"./dist/terminalSuggestMain","activationEvents":["onTerminalShellIntegration:*"],"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/terminal-suggest","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.theme-abyss"},"manifest":{"name":"theme-abyss","displayName":"Abyss Theme","description":"Abyss theme for Visual Studio Code","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"themes":[{"id":"Abyss","label":"Abyss","uiTheme":"vs-dark","path":"./themes/abyss-color-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/theme-abyss","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.theme-defaults"},"manifest":{"name":"theme-defaults","displayName":"Default Themes","description":"The default Visual Studio light and dark themes","categories":["Themes"],"version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"contributes":{"themes":[{"id":"Default Dark+","label":"Dark+","uiTheme":"vs-dark","path":"./themes/dark_plus.json"},{"id":"Default Dark Modern","label":"Dark Modern","uiTheme":"vs-dark","path":"./themes/dark_modern.json"},{"id":"Default Light+","label":"Light+","uiTheme":"vs","path":"./themes/light_plus.json"},{"id":"Default Light Modern","label":"Light Modern","uiTheme":"vs","path":"./themes/light_modern.json"},{"id":"Visual Studio Dark","label":"Dark (Visual Studio)","uiTheme":"vs-dark","path":"./themes/dark_vs.json"},{"id":"Visual Studio Light","label":"Light (Visual Studio)","uiTheme":"vs","path":"./themes/light_vs.json"},{"id":"Default High Contrast","label":"Dark High Contrast","uiTheme":"hc-black","path":"./themes/hc_black.json"},{"id":"Default High Contrast Light","label":"Light High Contrast","uiTheme":"hc-light","path":"./themes/hc_light.json"}],"iconThemes":[{"id":"vs-minimal","label":"Minimal (Visual Studio Code)","path":"./fileicons/vs_minimal-icon-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/theme-defaults","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.theme-kimbie-dark"},"manifest":{"name":"theme-kimbie-dark","displayName":"Kimbie Dark Theme","description":"Kimbie dark theme for Visual Studio Code","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"themes":[{"id":"Kimbie Dark","label":"Kimbie Dark","uiTheme":"vs-dark","path":"./themes/kimbie-dark-color-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/theme-kimbie-dark","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.theme-monokai"},"manifest":{"name":"theme-monokai","displayName":"Monokai Theme","description":"Monokai theme for Visual Studio Code","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"themes":[{"id":"Monokai","label":"Monokai","uiTheme":"vs-dark","path":"./themes/monokai-color-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/theme-monokai","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.theme-monokai-dimmed"},"manifest":{"name":"theme-monokai-dimmed","displayName":"Monokai Dimmed Theme","description":"Monokai dimmed theme for Visual Studio Code","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"themes":[{"id":"Monokai Dimmed","label":"Monokai Dimmed","uiTheme":"vs-dark","path":"./themes/dimmed-monokai-color-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/theme-monokai-dimmed","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.theme-quietlight"},"manifest":{"name":"theme-quietlight","displayName":"Quiet Light Theme","description":"Quiet light theme for Visual Studio Code","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"themes":[{"id":"Quiet Light","label":"Quiet Light","uiTheme":"vs","path":"./themes/quietlight-color-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/theme-quietlight","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.theme-red"},"manifest":{"name":"theme-red","displayName":"Red Theme","description":"Red theme for Visual Studio Code","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"themes":[{"id":"Red","label":"Red","uiTheme":"vs-dark","path":"./themes/Red-color-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/theme-red","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.vscode-theme-seti"},"manifest":{"name":"vscode-theme-seti","private":true,"version":"1.0.0","displayName":"Seti File Icon Theme","description":"A file icon theme made out of the Seti UI file icons","publisher":"vscode","license":"MIT","icon":"icons/seti-circular-128x128.png","scripts":{"update":"node ./build/update-icon-theme.js"},"engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"iconThemes":[{"id":"vs-seti","label":"Seti (Visual Studio Code)","path":"./icons/vs-seti-icon-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/theme-seti","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.theme-solarized-dark"},"manifest":{"name":"theme-solarized-dark","displayName":"Solarized Dark Theme","description":"Solarized dark theme for Visual Studio Code","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"themes":[{"id":"Solarized Dark","label":"Solarized Dark","uiTheme":"vs-dark","path":"./themes/solarized-dark-color-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/theme-solarized-dark","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.theme-solarized-light"},"manifest":{"name":"theme-solarized-light","displayName":"Solarized Light Theme","description":"Solarized light theme for Visual Studio Code","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"themes":[{"id":"Solarized Light","label":"Solarized Light","uiTheme":"vs","path":"./themes/solarized-light-color-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/theme-solarized-light","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.theme-tomorrow-night-blue"},"manifest":{"name":"theme-tomorrow-night-blue","displayName":"Tomorrow Night Blue Theme","description":"Tomorrow night blue theme for Visual Studio Code","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"themes":[{"id":"Tomorrow Night Blue","label":"Tomorrow Night Blue","uiTheme":"vs-dark","path":"./themes/tomorrow-night-blue-color-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/theme-tomorrow-night-blue","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.tunnel-forwarding"},"manifest":{"name":"tunnel-forwarding","displayName":"Local Tunnel Port Forwarding","description":"Allows forwarding local ports to be accessible over the internet.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.82.0"},"icon":"media/icon.png","capabilities":{"virtualWorkspaces":false,"untrustedWorkspaces":{"supported":true}},"enabledApiProposals":["resolvers","tunnelFactory"],"activationEvents":["onTunnel"],"contributes":{"commands":[{"category":"Port Forwarding","command":"tunnel-forwarding.showLog","title":"Show Log","enablement":"tunnelForwardingHasLog"},{"category":"Port Forwarding","command":"tunnel-forwarding.restart","title":"Restart Forwarding System","enablement":"tunnelForwardingIsRunning"}]},"main":"./dist/extension","prettier":{"printWidth":100,"trailingComma":"all","singleQuote":true,"arrowParens":"avoid"},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/tunnel-forwarding","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.typescript"},"manifest":{"name":"typescript","description":"Provides snippets, syntax highlighting, bracket matching and folding in TypeScript files.","displayName":"TypeScript Language Basics","version":"1.0.0","author":"vscode","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ./build/update-grammars.mjs"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"typescript","aliases":["TypeScript","ts","typescript"],"extensions":[".ts",".cts",".mts"],"configuration":"./language-configuration.json"},{"id":"typescriptreact","aliases":["TypeScript JSX","TypeScript React","tsx"],"extensions":[".tsx"],"configuration":"./language-configuration.json"},{"id":"jsonc","filenames":["tsconfig.json","jsconfig.json"],"filenamePatterns":["tsconfig.*.json","jsconfig.*.json","tsconfig-*.json","jsconfig-*.json"]},{"id":"json","extensions":[".tsbuildinfo"]}],"grammars":[{"language":"typescript","scopeName":"source.ts","path":"./syntaxes/TypeScript.tmLanguage.json","unbalancedBracketScopes":["keyword.operator.relational","storage.type.function.arrow","keyword.operator.bitwise.shift","meta.brace.angle","punctuation.definition.tag","keyword.operator.assignment.compound.bitwise.ts"],"tokenTypes":{"punctuation.definition.template-expression":"other","entity.name.type.instance.jsdoc":"other","entity.name.function.tagged-template":"other","meta.import string.quoted":"other","variable.other.jsdoc":"other"}},{"language":"typescriptreact","scopeName":"source.tsx","path":"./syntaxes/TypeScriptReact.tmLanguage.json","unbalancedBracketScopes":["keyword.operator.relational","storage.type.function.arrow","keyword.operator.bitwise.shift","punctuation.definition.tag","keyword.operator.assignment.compound.bitwise.ts"],"embeddedLanguages":{"meta.tag.tsx":"jsx-tags","meta.tag.without-attributes.tsx":"jsx-tags","meta.tag.attributes.tsx":"typescriptreact","meta.embedded.expression.tsx":"typescriptreact"},"tokenTypes":{"punctuation.definition.template-expression":"other","entity.name.type.instance.jsdoc":"other","entity.name.function.tagged-template":"other","meta.import string.quoted":"other","variable.other.jsdoc":"other"}},{"scopeName":"documentation.injection.ts","path":"./syntaxes/jsdoc.ts.injection.tmLanguage.json","injectTo":["source.ts","source.tsx"]},{"scopeName":"documentation.injection.js.jsx","path":"./syntaxes/jsdoc.js.injection.tmLanguage.json","injectTo":["source.js","source.js.jsx"]}],"semanticTokenScopes":[{"language":"typescript","scopes":{"property":["variable.other.property.ts"],"property.readonly":["variable.other.constant.property.ts"],"variable":["variable.other.readwrite.ts"],"variable.readonly":["variable.other.constant.object.ts"],"function":["entity.name.function.ts"],"namespace":["entity.name.type.module.ts"],"variable.defaultLibrary":["support.variable.ts"],"function.defaultLibrary":["support.function.ts"]}},{"language":"typescriptreact","scopes":{"property":["variable.other.property.tsx"],"property.readonly":["variable.other.constant.property.tsx"],"variable":["variable.other.readwrite.tsx"],"variable.readonly":["variable.other.constant.object.tsx"],"function":["entity.name.function.tsx"],"namespace":["entity.name.type.module.tsx"],"variable.defaultLibrary":["support.variable.tsx"],"function.defaultLibrary":["support.function.tsx"]}}],"snippets":[{"language":"typescript","path":"./snippets/typescript.code-snippets"},{"language":"typescriptreact","path":"./snippets/typescript.code-snippets"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/typescript-basics","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.typescript-language-features"},"manifest":{"name":"typescript-language-features","description":"Provides rich language support for JavaScript and TypeScript.","displayName":"TypeScript and JavaScript Language Features","version":"1.0.0","author":"vscode","publisher":"vscode","license":"MIT","aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","enabledApiProposals":["workspaceTrust","multiDocumentHighlightProvider","codeActionAI","codeActionRanges","editorHoverVerbosityLevel"],"capabilities":{"virtualWorkspaces":{"supported":"limited","description":"In virtual workspaces, resolving and finding references across files is not supported."},"untrustedWorkspaces":{"supported":"limited","description":"The extension requires workspace trust when the workspace version is used because it executes code specified by the workspace.","restrictedConfigurations":["typescript.tsdk","typescript.tsserver.pluginPaths","typescript.npm","typescript.tsserver.nodePath"]}},"engines":{"vscode":"^1.30.0"},"icon":"media/icon.png","categories":["Programming Languages"],"activationEvents":["onLanguage:javascript","onLanguage:javascriptreact","onLanguage:typescript","onLanguage:typescriptreact","onLanguage:jsx-tags","onCommand:typescript.tsserverRequest","onCommand:_typescript.configurePlugin","onCommand:_typescript.learnMoreAboutRefactorings","onCommand:typescript.fileReferences","onTaskType:typescript","onLanguage:jsonc","onWalkthrough:nodejsWelcome"],"main":"./dist/extension","browser":"./dist/browser/extension","contributes":{"jsonValidation":[{"fileMatch":"package.json","url":"./schemas/package.schema.json"},{"fileMatch":"tsconfig.json","url":"https://www.schemastore.org/tsconfig"},{"fileMatch":"tsconfig.json","url":"./schemas/tsconfig.schema.json"},{"fileMatch":"tsconfig.*.json","url":"https://www.schemastore.org/tsconfig"},{"fileMatch":"tsconfig-*.json","url":"./schemas/tsconfig.schema.json"},{"fileMatch":"tsconfig-*.json","url":"https://www.schemastore.org/tsconfig"},{"fileMatch":"tsconfig.*.json","url":"./schemas/tsconfig.schema.json"},{"fileMatch":"typings.json","url":"https://www.schemastore.org/typings"},{"fileMatch":".bowerrc","url":"https://www.schemastore.org/bowerrc"},{"fileMatch":".babelrc","url":"https://www.schemastore.org/babelrc"},{"fileMatch":".babelrc.json","url":"https://www.schemastore.org/babelrc"},{"fileMatch":"babel.config.json","url":"https://www.schemastore.org/babelrc"},{"fileMatch":"jsconfig.json","url":"https://www.schemastore.org/jsconfig"},{"fileMatch":"jsconfig.json","url":"./schemas/jsconfig.schema.json"},{"fileMatch":"jsconfig.*.json","url":"https://www.schemastore.org/jsconfig"},{"fileMatch":"jsconfig.*.json","url":"./schemas/jsconfig.schema.json"},{"fileMatch":".swcrc","url":"https://swc.rs/schema.json"},{"fileMatch":"typedoc.json","url":"https://typedoc.org/schema.json"}],"configuration":[{"type":"object","order":20,"properties":{"typescript.tsdk":{"type":"string","markdownDescription":"Specifies the folder path to the tsserver and `lib*.d.ts` files under a TypeScript install to use for IntelliSense, for example: `./node_modules/typescript/lib`.\n\n- When specified as a user setting, the TypeScript version from `typescript.tsdk` automatically replaces the built-in TypeScript version.\n- When specified as a workspace setting, `typescript.tsdk` allows you to switch to use that workspace version of TypeScript for IntelliSense with the `TypeScript: Select TypeScript version` command.\n\nSee the [TypeScript documentation](https://code.visualstudio.com/docs/typescript/typescript-compiling#_using-newer-typescript-versions) for more detail about managing TypeScript versions.","scope":"window"},"typescript.disableAutomaticTypeAcquisition":{"type":"boolean","default":false,"markdownDescription":"Disables [automatic type acquisition](https://code.visualstudio.com/docs/nodejs/working-with-javascript#_typings-and-automatic-type-acquisition). Automatic type acquisition fetches `@types` packages from npm to improve IntelliSense for external libraries.","scope":"window","tags":["usesOnlineServices"]},"typescript.enablePromptUseWorkspaceTsdk":{"type":"boolean","default":false,"description":"Enables prompting of users to use the TypeScript version configured in the workspace for Intellisense.","scope":"window"},"javascript.referencesCodeLens.enabled":{"type":"boolean","default":false,"description":"Enable/disable references CodeLens in JavaScript files.","scope":"window"},"javascript.referencesCodeLens.showOnAllFunctions":{"type":"boolean","default":false,"description":"Enable/disable references CodeLens on all functions in JavaScript files.","scope":"window"},"typescript.referencesCodeLens.enabled":{"type":"boolean","default":false,"description":"Enable/disable references CodeLens in TypeScript files.","scope":"window"},"typescript.referencesCodeLens.showOnAllFunctions":{"type":"boolean","default":false,"description":"Enable/disable references CodeLens on all functions in TypeScript files.","scope":"window"},"typescript.implementationsCodeLens.enabled":{"type":"boolean","default":false,"description":"Enable/disable implementations CodeLens. This CodeLens shows the implementers of an interface.","scope":"window"},"typescript.experimental.useTsgo":{"type":"boolean","default":false,"markdownDescription":"Disables TypeScript and JavaScript language features to allow usage of the TypeScript Go experimental extension. Requires TypeScript Go to be installed and configured. Requires reloading extensions after changing this setting.","scope":"window","tags":["experimental"]},"typescript.implementationsCodeLens.showOnInterfaceMethods":{"type":"boolean","default":false,"description":"Enable/disable implementations CodeLens on interface methods.","scope":"window"},"typescript.reportStyleChecksAsWarnings":{"type":"boolean","default":true,"description":"Report style checks as warnings.","scope":"window"},"typescript.validate.enable":{"type":"boolean","default":true,"description":"Enable/disable TypeScript validation.","scope":"window"},"javascript.validate.enable":{"type":"boolean","default":true,"description":"Enable/disable JavaScript validation.","scope":"window"},"js/ts.implicitProjectConfig.module":{"type":"string","markdownDescription":"Sets the module system for the program. See more: https://www.typescriptlang.org/tsconfig#module.","default":"ESNext","enum":["CommonJS","AMD","System","UMD","ES6","ES2015","ES2020","ESNext","None","ES2022","Node12","NodeNext"],"scope":"window"},"js/ts.implicitProjectConfig.target":{"type":"string","default":"ES2024","markdownDescription":"Set target JavaScript language version for emitted JavaScript and include library declarations. See more: https://www.typescriptlang.org/tsconfig#target.","enum":["ES3","ES5","ES6","ES2015","ES2016","ES2017","ES2018","ES2019","ES2020","ES2021","ES2022","ES2023","ES2024","ESNext"],"scope":"window"},"js/ts.implicitProjectConfig.checkJs":{"type":"boolean","default":false,"markdownDescription":"Enable/disable semantic checking of JavaScript files. Existing `jsconfig.json` or `tsconfig.json` files override this setting.","scope":"window"},"js/ts.implicitProjectConfig.experimentalDecorators":{"type":"boolean","default":false,"markdownDescription":"Enable/disable `experimentalDecorators` in JavaScript files that are not part of a project. Existing `jsconfig.json` or `tsconfig.json` files override this setting.","scope":"window"},"js/ts.implicitProjectConfig.strictNullChecks":{"type":"boolean","default":true,"markdownDescription":"Enable/disable [strict null checks](https://www.typescriptlang.org/tsconfig#strictNullChecks) in JavaScript and TypeScript files that are not part of a project. Existing `jsconfig.json` or `tsconfig.json` files override this setting.","scope":"window"},"js/ts.implicitProjectConfig.strictFunctionTypes":{"type":"boolean","default":true,"markdownDescription":"Enable/disable [strict function types](https://www.typescriptlang.org/tsconfig#strictFunctionTypes) in JavaScript and TypeScript files that are not part of a project. Existing `jsconfig.json` or `tsconfig.json` files override this setting.","scope":"window"},"js/ts.implicitProjectConfig.strict":{"type":"boolean","default":true,"markdownDescription":"Enable/disable [strict mode](https://www.typescriptlang.org/tsconfig#strict) in JavaScript and TypeScript files that are not part of a project. Existing `jsconfig.json` or `tsconfig.json` files override this setting.","scope":"window"},"typescript.tsc.autoDetect":{"type":"string","default":"on","enum":["on","off","build","watch"],"markdownEnumDescriptions":["Create both build and watch tasks.","Disable this feature.","Only create single run compile tasks.","Only create compile and watch tasks."],"description":"Controls auto detection of tsc tasks.","scope":"window"},"typescript.locale":{"type":"string","default":"auto","enum":["auto","de","es","en","fr","it","ja","ko","ru","zh-CN","zh-TW"],"enumDescriptions":["Use VS Code's configured display language.","Deutsch","español","English","français","italiano","日本語","한국어","Ń€ŃŃŃкий","中文(简体)","中文(çąé«”)"],"markdownDescription":"Sets the locale used to report JavaScript and TypeScript errors. Defaults to use VS Code's locale.","scope":"window"},"javascript.suggestionActions.enabled":{"type":"boolean","default":true,"description":"Enable/disable suggestion diagnostics for JavaScript files in the editor.","scope":"resource"},"typescript.suggestionActions.enabled":{"type":"boolean","default":true,"description":"Enable/disable suggestion diagnostics for TypeScript files in the editor.","scope":"resource"},"typescript.updateImportsOnFileMove.enabled":{"type":"string","enum":["prompt","always","never"],"markdownEnumDescriptions":["Prompt on each rename.","Always update paths automatically.","Never rename paths and don't prompt."],"default":"prompt","description":"Enable/disable automatic updating of import paths when you rename or move a file in VS Code.","scope":"resource"},"javascript.updateImportsOnFileMove.enabled":{"type":"string","enum":["prompt","always","never"],"markdownEnumDescriptions":["Prompt on each rename.","Always update paths automatically.","Never rename paths and don't prompt."],"default":"prompt","description":"Enable/disable automatic updating of import paths when you rename or move a file in VS Code.","scope":"resource"},"typescript.autoClosingTags":{"type":"boolean","default":true,"description":"Enable/disable automatic closing of JSX tags.","scope":"language-overridable"},"javascript.autoClosingTags":{"type":"boolean","default":true,"description":"Enable/disable automatic closing of JSX tags.","scope":"language-overridable"},"typescript.workspaceSymbols.scope":{"type":"string","enum":["allOpenProjects","currentProject"],"enumDescriptions":["Search all open JavaScript or TypeScript projects for symbols.","Only search for symbols in the current JavaScript or TypeScript project."],"default":"allOpenProjects","markdownDescription":"Controls which files are searched by [Go to Symbol in Workspace](https://code.visualstudio.com/docs/editor/editingevolved#_open-symbol-by-name).","scope":"window"},"typescript.preferGoToSourceDefinition":{"type":"boolean","default":false,"description":"Makes `Go to Definition` avoid type declaration files when possible by triggering `Go to Source Definition` instead. This allows `Go to Source Definition` to be triggered with the mouse gesture.","scope":"window"},"javascript.preferGoToSourceDefinition":{"type":"boolean","default":false,"description":"Makes `Go to Definition` avoid type declaration files when possible by triggering `Go to Source Definition` instead. This allows `Go to Source Definition` to be triggered with the mouse gesture.","scope":"window"},"typescript.workspaceSymbols.excludeLibrarySymbols":{"type":"boolean","default":true,"markdownDescription":"Exclude symbols that come from library files in `Go to Symbol in Workspace` results. Requires using TypeScript 5.3+ in the workspace.","scope":"window"},"typescript.tsserver.enableRegionDiagnostics":{"type":"boolean","default":true,"description":"Enables region-based diagnostics in TypeScript. Requires using TypeScript 5.6+ in the workspace.","scope":"window"},"javascript.updateImportsOnPaste.enabled":{"scope":"window","type":"boolean","default":true,"markdownDescription":"Automatically update imports when pasting code. Requires TypeScript 5.6+."},"typescript.updateImportsOnPaste.enabled":{"scope":"window","type":"boolean","default":true,"markdownDescription":"Automatically update imports when pasting code. Requires TypeScript 5.6+."},"js/ts.hover.maximumLength":{"type":"number","default":500,"description":"The maximum number of characters in a hover. If the hover is longer than this, it will be truncated. Requires TypeScript 5.9+.","scope":"resource"}}},{"type":"object","title":"Suggestions","order":21,"properties":{"javascript.suggest.enabled":{"type":"boolean","default":true,"description":"Enable/disable autocomplete suggestions.","scope":"language-overridable"},"typescript.suggest.enabled":{"type":"boolean","default":true,"description":"Enable/disable autocomplete suggestions.","scope":"language-overridable"},"javascript.suggest.autoImports":{"type":"boolean","default":true,"description":"Enable/disable auto import suggestions.","scope":"resource"},"typescript.suggest.autoImports":{"type":"boolean","default":true,"description":"Enable/disable auto import suggestions.","scope":"resource"},"javascript.suggest.names":{"type":"boolean","default":true,"markdownDescription":"Enable/disable including unique names from the file in JavaScript suggestions. Note that name suggestions are always disabled in JavaScript code that is semantically checked using `@ts-check` or `checkJs`.","scope":"resource"},"javascript.suggest.completeFunctionCalls":{"type":"boolean","default":false,"description":"Complete functions with their parameter signature.","scope":"resource"},"typescript.suggest.completeFunctionCalls":{"type":"boolean","default":false,"description":"Complete functions with their parameter signature.","scope":"resource"},"javascript.suggest.paths":{"type":"boolean","default":true,"description":"Enable/disable suggestions for paths in import statements and require calls.","scope":"resource"},"typescript.suggest.paths":{"type":"boolean","default":true,"description":"Enable/disable suggestions for paths in import statements and require calls.","scope":"resource"},"javascript.suggest.completeJSDocs":{"type":"boolean","default":true,"description":"Enable/disable suggestion to complete JSDoc comments.","scope":"language-overridable"},"typescript.suggest.completeJSDocs":{"type":"boolean","default":true,"description":"Enable/disable suggestion to complete JSDoc comments.","scope":"language-overridable"},"javascript.suggest.jsdoc.generateReturns":{"type":"boolean","default":true,"markdownDescription":"Enable/disable generating `@returns` annotations for JSDoc templates.","scope":"language-overridable"},"typescript.suggest.jsdoc.generateReturns":{"type":"boolean","default":true,"markdownDescription":"Enable/disable generating `@returns` annotations for JSDoc templates.","scope":"language-overridable"},"javascript.suggest.includeAutomaticOptionalChainCompletions":{"type":"boolean","default":true,"description":"Enable/disable showing completions on potentially undefined values that insert an optional chain call. Requires strict null checks to be enabled.","scope":"resource"},"typescript.suggest.includeAutomaticOptionalChainCompletions":{"type":"boolean","default":true,"description":"Enable/disable showing completions on potentially undefined values that insert an optional chain call. Requires strict null checks to be enabled.","scope":"resource"},"javascript.suggest.includeCompletionsForImportStatements":{"type":"boolean","default":true,"description":"Enable/disable auto-import-style completions on partially-typed import statements.","scope":"resource"},"typescript.suggest.includeCompletionsForImportStatements":{"type":"boolean","default":true,"description":"Enable/disable auto-import-style completions on partially-typed import statements.","scope":"resource"},"javascript.suggest.classMemberSnippets.enabled":{"type":"boolean","default":true,"description":"Enable/disable snippet completions for class members.","scope":"resource"},"typescript.suggest.classMemberSnippets.enabled":{"type":"boolean","default":true,"description":"Enable/disable snippet completions for class members.","scope":"resource"},"typescript.suggest.objectLiteralMethodSnippets.enabled":{"type":"boolean","default":true,"description":"Enable/disable snippet completions for methods in object literals.","scope":"resource"}}},{"type":"object","title":"Preferences","order":21,"properties":{"javascript.preferences.quoteStyle":{"type":"string","enum":["auto","single","double"],"default":"auto","markdownDescription":"Preferred quote style to use for Quick Fixes.","markdownEnumDescriptions":["Infer quote type from existing code","Always use single quotes: `'`","Always use double quotes: `\"`"],"scope":"language-overridable"},"typescript.preferences.quoteStyle":{"type":"string","enum":["auto","single","double"],"default":"auto","markdownDescription":"Preferred quote style to use for Quick Fixes.","markdownEnumDescriptions":["Infer quote type from existing code","Always use single quotes: `'`","Always use double quotes: `\"`"],"scope":"language-overridable"},"javascript.preferences.importModuleSpecifier":{"type":"string","enum":["shortest","relative","non-relative","project-relative"],"markdownEnumDescriptions":["Prefers a non-relative import only if one is available that has fewer path segments than a relative import.","Prefers a relative path to the imported file location.","Prefers a non-relative import based on the `baseUrl` or `paths` configured in your `jsconfig.json` / `tsconfig.json`.","Prefers a non-relative import only if the relative import path would leave the package or project directory."],"default":"shortest","description":"Preferred path style for auto imports.","scope":"language-overridable"},"typescript.preferences.importModuleSpecifier":{"type":"string","enum":["shortest","relative","non-relative","project-relative"],"markdownEnumDescriptions":["Prefers a non-relative import only if one is available that has fewer path segments than a relative import.","Prefers a relative path to the imported file location.","Prefers a non-relative import based on the `baseUrl` or `paths` configured in your `jsconfig.json` / `tsconfig.json`.","Prefers a non-relative import only if the relative import path would leave the package or project directory."],"default":"shortest","description":"Preferred path style for auto imports.","scope":"language-overridable"},"javascript.preferences.importModuleSpecifierEnding":{"type":"string","enum":["auto","minimal","index","js"],"enumItemLabels":[null,null,null,".js / .ts"],"markdownEnumDescriptions":["Use project settings to select a default.","Shorten `./component/index.js` to `./component`.","Shorten `./component/index.js` to `./component/index`.","Do not shorten path endings; include the `.js` or `.ts` extension."],"default":"auto","description":"Preferred path ending for auto imports.","scope":"language-overridable"},"typescript.preferences.importModuleSpecifierEnding":{"type":"string","enum":["auto","minimal","index","js"],"enumItemLabels":[null,null,null,".js / .ts"],"markdownEnumDescriptions":["Use project settings to select a default.","Shorten `./component/index.js` to `./component`.","Shorten `./component/index.js` to `./component/index`.","Do not shorten path endings; include the `.js` or `.ts` extension."],"default":"auto","description":"Preferred path ending for auto imports.","scope":"language-overridable"},"javascript.preferences.jsxAttributeCompletionStyle":{"type":"string","enum":["auto","braces","none"],"markdownEnumDescriptions":["Insert `={}` or `=\"\"` after attribute names based on the prop type. See `#javascript.preferences.quoteStyle#` to control the type of quotes used for string attributes.","Insert `={}` after attribute names.","Only insert attribute names."],"default":"auto","description":"Preferred style for JSX attribute completions.","scope":"language-overridable"},"typescript.preferences.jsxAttributeCompletionStyle":{"type":"string","enum":["auto","braces","none"],"markdownEnumDescriptions":["Insert `={}` or `=\"\"` after attribute names based on the prop type. See `#typescript.preferences.quoteStyle#` to control the type of quotes used for string attributes.","Insert `={}` after attribute names.","Only insert attribute names."],"default":"auto","description":"Preferred style for JSX attribute completions.","scope":"language-overridable"},"typescript.preferences.includePackageJsonAutoImports":{"type":"string","enum":["auto","on","off"],"enumDescriptions":["Search dependencies based on estimated performance impact.","Always search dependencies.","Never search dependencies."],"default":"auto","markdownDescription":"Enable/disable searching `package.json` dependencies for available auto imports.","scope":"window"},"javascript.preferences.autoImportFileExcludePatterns":{"type":"array","items":{"type":"string"},"markdownDescription":"Specify glob patterns of files to exclude from auto imports. Relative paths are resolved relative to the workspace root. Patterns are evaluated using tsconfig.json [`exclude`](https://www.typescriptlang.org/tsconfig#exclude) semantics.","scope":"resource"},"typescript.preferences.autoImportFileExcludePatterns":{"type":"array","items":{"type":"string"},"markdownDescription":"Specify glob patterns of files to exclude from auto imports. Relative paths are resolved relative to the workspace root. Patterns are evaluated using tsconfig.json [`exclude`](https://www.typescriptlang.org/tsconfig#exclude) semantics.","scope":"resource"},"javascript.preferences.autoImportSpecifierExcludeRegexes":{"type":"array","items":{"type":"string"},"markdownDescription":"Specify regular expressions to exclude auto imports with matching import specifiers. Examples:\n\n- `^node:`\n- `lib/internal` (slashes don't need to be escaped...)\n- `/lib\\/internal/i` (...unless including surrounding slashes for `i` or `u` flags)\n- `^lodash$` (only allow subpath imports from lodash)","scope":"resource"},"typescript.preferences.autoImportSpecifierExcludeRegexes":{"type":"array","items":{"type":"string"},"markdownDescription":"Specify regular expressions to exclude auto imports with matching import specifiers. Examples:\n\n- `^node:`\n- `lib/internal` (slashes don't need to be escaped...)\n- `/lib\\/internal/i` (...unless including surrounding slashes for `i` or `u` flags)\n- `^lodash$` (only allow subpath imports from lodash)","scope":"resource"},"typescript.preferences.preferTypeOnlyAutoImports":{"type":"boolean","default":false,"markdownDescription":"Include the `type` keyword in auto-imports whenever possible. Requires using TypeScript 5.3+ in the workspace.","scope":"resource"},"javascript.preferences.useAliasesForRenames":{"type":"boolean","default":true,"description":"Enable/disable introducing aliases for object shorthand properties during renames.","scope":"language-overridable"},"typescript.preferences.useAliasesForRenames":{"type":"boolean","default":true,"description":"Enable/disable introducing aliases for object shorthand properties during renames.","scope":"language-overridable"},"javascript.preferences.renameMatchingJsxTags":{"type":"boolean","default":true,"description":"When on a JSX tag, try to rename the matching tag instead of renaming the symbol. Requires using TypeScript 5.1+ in the workspace.","scope":"language-overridable"},"typescript.preferences.renameMatchingJsxTags":{"type":"boolean","default":true,"description":"When on a JSX tag, try to rename the matching tag instead of renaming the symbol. Requires using TypeScript 5.1+ in the workspace.","scope":"language-overridable"},"javascript.preferences.organizeImports":{"type":"object","markdownDescription":"Advanced preferences that control how imports are ordered.","properties":{"caseSensitivity":{"type":"string","markdownDescription":"Specifies how imports should be sorted with regards to case-sensitivity. If `auto` or unspecified, we will detect the case-sensitivity per file","enum":["auto","caseInsensitive","caseSensitive"],"markdownEnumDescriptions":["Detect case-sensitivity for import sorting.","%typescript.preferences.organizeImports.caseSensitivity.insensitive","Sort imports case-sensitively."],"default":"auto"},"typeOrder":{"type":"string","markdownDescription":"Specify how type-only named imports should be sorted.","enum":["auto","last","inline","first"],"default":"auto","markdownEnumDescriptions":["Detect where type-only named imports should be sorted.","Type only named imports are sorted to the end of the import list. E.g. `import { B, Z, type A, type Y } from 'module';`","Named imports are sorted by name only. E.g. `import { type A, B, type Y, Z } from 'module';`","Type only named imports are sorted to the beginning of the import list. E.g. `import { type A, type Y, B, Z } from 'module';`"]},"unicodeCollation":{"type":"string","markdownDescription":"Specify whether to sort imports using Unicode or Ordinal collation.","enum":["ordinal","unicode"],"markdownEnumDescriptions":["Sort imports using the numeric value of each code point.","Sort imports using the Unicode code collation."],"default":"ordinal"},"locale":{"type":"string","markdownDescription":"Requires `organizeImports.unicodeCollation: 'unicode'`. Overrides the locale used for collation. Specify `auto` to use the UI locale."},"numericCollation":{"type":"boolean","markdownDescription":"Requires `organizeImports.unicodeCollation: 'unicode'`. Sort numeric strings by integer value."},"accentCollation":{"type":"boolean","markdownDescription":"Requires `organizeImports.unicodeCollation: 'unicode'`. Compare characters with diacritical marks as unequal to base character."},"caseFirst":{"type":"string","markdownDescription":"Requires `organizeImports.unicodeCollation: 'unicode'`, and `organizeImports.caseSensitivity` is not `caseInsensitive`. Indicates whether upper-case will sort before lower-case.","enum":["default","upper","lower"],"markdownEnumDescriptions":["Default order given by `locale`.","Upper-case comes before lower-case. E.g. ` A, a, B, b`.","Lower-case comes before upper-case. E.g.` a, A, z, Z`."],"default":"default"}}},"typescript.preferences.organizeImports":{"type":"object","markdownDescription":"Advanced preferences that control how imports are ordered.","properties":{"caseSensitivity":{"type":"string","markdownDescription":"Specifies how imports should be sorted with regards to case-sensitivity. If `auto` or unspecified, we will detect the case-sensitivity per file","enum":["auto","caseInsensitive","caseSensitive"],"markdownEnumDescriptions":["Detect case-sensitivity for import sorting.","%typescript.preferences.organizeImports.caseSensitivity.insensitive","Sort imports case-sensitively."],"default":"auto"},"typeOrder":{"type":"string","markdownDescription":"Specify how type-only named imports should be sorted.","enum":["auto","last","inline","first"],"default":"auto","markdownEnumDescriptions":["Detect where type-only named imports should be sorted.","Type only named imports are sorted to the end of the import list. E.g. `import { B, Z, type A, type Y } from 'module';`","Named imports are sorted by name only. E.g. `import { type A, B, type Y, Z } from 'module';`","Type only named imports are sorted to the beginning of the import list. E.g. `import { type A, type Y, B, Z } from 'module';`"]},"unicodeCollation":{"type":"string","markdownDescription":"Specify whether to sort imports using Unicode or Ordinal collation.","enum":["ordinal","unicode"],"markdownEnumDescriptions":["Sort imports using the numeric value of each code point.","Sort imports using the Unicode code collation."],"default":"ordinal"},"locale":{"type":"string","markdownDescription":"Requires `organizeImports.unicodeCollation: 'unicode'`. Overrides the locale used for collation. Specify `auto` to use the UI locale."},"numericCollation":{"type":"boolean","markdownDescription":"Requires `organizeImports.unicodeCollation: 'unicode'`. Sort numeric strings by integer value."},"accentCollation":{"type":"boolean","markdownDescription":"Requires `organizeImports.unicodeCollation: 'unicode'`. Compare characters with diacritical marks as unequal to base character."},"caseFirst":{"type":"string","markdownDescription":"Requires `organizeImports.unicodeCollation: 'unicode'`, and `organizeImports.caseSensitivity` is not `caseInsensitive`. Indicates whether upper-case will sort before lower-case.","enum":["default","upper","lower"],"markdownEnumDescriptions":["Default order given by `locale`.","Upper-case comes before lower-case. E.g. ` A, a, B, b`.","Lower-case comes before upper-case. E.g.` a, A, z, Z`."],"default":"default"}}}}},{"type":"object","title":"Formatting","order":23,"properties":{"javascript.format.enable":{"type":"boolean","default":true,"description":"Enable/disable default JavaScript formatter.","scope":"window"},"typescript.format.enable":{"type":"boolean","default":true,"description":"Enable/disable default TypeScript formatter.","scope":"window"},"javascript.format.insertSpaceAfterCommaDelimiter":{"type":"boolean","default":true,"description":"Defines space handling after a comma delimiter.","scope":"resource"},"typescript.format.insertSpaceAfterCommaDelimiter":{"type":"boolean","default":true,"description":"Defines space handling after a comma delimiter.","scope":"resource"},"javascript.format.insertSpaceAfterConstructor":{"type":"boolean","default":false,"description":"Defines space handling after the constructor keyword.","scope":"resource"},"typescript.format.insertSpaceAfterConstructor":{"type":"boolean","default":false,"description":"Defines space handling after the constructor keyword.","scope":"resource"},"javascript.format.insertSpaceAfterSemicolonInForStatements":{"type":"boolean","default":true,"description":"Defines space handling after a semicolon in a for statement.","scope":"resource"},"typescript.format.insertSpaceAfterSemicolonInForStatements":{"type":"boolean","default":true,"description":"Defines space handling after a semicolon in a for statement.","scope":"resource"},"javascript.format.insertSpaceBeforeAndAfterBinaryOperators":{"type":"boolean","default":true,"description":"Defines space handling after a binary operator.","scope":"resource"},"typescript.format.insertSpaceBeforeAndAfterBinaryOperators":{"type":"boolean","default":true,"description":"Defines space handling after a binary operator.","scope":"resource"},"javascript.format.insertSpaceAfterKeywordsInControlFlowStatements":{"type":"boolean","default":true,"description":"Defines space handling after keywords in a control flow statement.","scope":"resource"},"typescript.format.insertSpaceAfterKeywordsInControlFlowStatements":{"type":"boolean","default":true,"description":"Defines space handling after keywords in a control flow statement.","scope":"resource"},"javascript.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions":{"type":"boolean","default":true,"description":"Defines space handling after function keyword for anonymous functions.","scope":"resource"},"typescript.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions":{"type":"boolean","default":true,"description":"Defines space handling after function keyword for anonymous functions.","scope":"resource"},"javascript.format.insertSpaceBeforeFunctionParenthesis":{"type":"boolean","default":false,"description":"Defines space handling before function argument parentheses.","scope":"resource"},"typescript.format.insertSpaceBeforeFunctionParenthesis":{"type":"boolean","default":false,"description":"Defines space handling before function argument parentheses.","scope":"resource"},"javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis":{"type":"boolean","default":false,"description":"Defines space handling after opening and before closing non-empty parenthesis.","scope":"resource"},"typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis":{"type":"boolean","default":false,"description":"Defines space handling after opening and before closing non-empty parenthesis.","scope":"resource"},"javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets":{"type":"boolean","default":false,"description":"Defines space handling after opening and before closing non-empty brackets.","scope":"resource"},"typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets":{"type":"boolean","default":false,"description":"Defines space handling after opening and before closing non-empty brackets.","scope":"resource"},"javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces":{"type":"boolean","default":true,"description":"Defines space handling after opening and before closing non-empty braces.","scope":"resource"},"typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces":{"type":"boolean","default":true,"description":"Defines space handling after opening and before closing non-empty braces.","scope":"resource"},"javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces":{"type":"boolean","default":true,"description":"Defines space handling after opening and before closing empty braces.","scope":"resource"},"typescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces":{"type":"boolean","default":true,"description":"Defines space handling after opening and before closing empty braces.","scope":"resource"},"javascript.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces":{"type":"boolean","default":false,"description":"Defines space handling after opening and before closing template string braces.","scope":"resource"},"typescript.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces":{"type":"boolean","default":false,"description":"Defines space handling after opening and before closing template string braces.","scope":"resource"},"javascript.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces":{"type":"boolean","default":false,"description":"Defines space handling after opening and before closing JSX expression braces.","scope":"resource"},"typescript.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces":{"type":"boolean","default":false,"description":"Defines space handling after opening and before closing JSX expression braces.","scope":"resource"},"typescript.format.insertSpaceAfterTypeAssertion":{"type":"boolean","default":false,"description":"Defines space handling after type assertions in TypeScript.","scope":"resource"},"javascript.format.placeOpenBraceOnNewLineForFunctions":{"type":"boolean","default":false,"description":"Defines whether an open brace is put onto a new line for functions or not.","scope":"resource"},"typescript.format.placeOpenBraceOnNewLineForFunctions":{"type":"boolean","default":false,"description":"Defines whether an open brace is put onto a new line for functions or not.","scope":"resource"},"javascript.format.placeOpenBraceOnNewLineForControlBlocks":{"type":"boolean","default":false,"description":"Defines whether an open brace is put onto a new line for control blocks or not.","scope":"resource"},"typescript.format.placeOpenBraceOnNewLineForControlBlocks":{"type":"boolean","default":false,"description":"Defines whether an open brace is put onto a new line for control blocks or not.","scope":"resource"},"javascript.format.semicolons":{"type":"string","default":"ignore","description":"Defines handling of optional semicolons.","scope":"resource","enum":["ignore","insert","remove"],"enumDescriptions":["Don't insert or remove any semicolons.","Insert semicolons at statement ends.","Remove unnecessary semicolons."]},"typescript.format.semicolons":{"type":"string","default":"ignore","description":"Defines handling of optional semicolons.","scope":"resource","enum":["ignore","insert","remove"],"enumDescriptions":["Don't insert or remove any semicolons.","Insert semicolons at statement ends.","Remove unnecessary semicolons."]},"javascript.format.indentSwitchCase":{"type":"boolean","default":true,"description":"Indent case clauses in switch statements. Requires using TypeScript 5.1+ in the workspace.","scope":"resource"},"typescript.format.indentSwitchCase":{"type":"boolean","default":true,"description":"Indent case clauses in switch statements. Requires using TypeScript 5.1+ in the workspace.","scope":"resource"}}},{"type":"object","title":"Inlay Hints","order":24,"properties":{"typescript.inlayHints.parameterNames.enabled":{"type":"string","enum":["none","literals","all"],"enumDescriptions":["Disable parameter name hints.","Enable parameter name hints only for literal arguments.","Enable parameter name hints for literal and non-literal arguments."],"default":"none","markdownDescription":"Enable/disable inlay hints for parameter names:\n```typescript\n\nparseInt(/* str: */ '123', /* radix: */ 8)\n \n```","scope":"resource"},"typescript.inlayHints.parameterNames.suppressWhenArgumentMatchesName":{"type":"boolean","default":true,"markdownDescription":"Suppress parameter name hints on arguments whose text is identical to the parameter name.","scope":"resource"},"typescript.inlayHints.parameterTypes.enabled":{"type":"boolean","default":false,"markdownDescription":"Enable/disable inlay hints for implicit parameter types:\n```typescript\n\nel.addEventListener('click', e /* :MouseEvent */ => ...)\n \n```","scope":"resource"},"typescript.inlayHints.variableTypes.enabled":{"type":"boolean","default":false,"markdownDescription":"Enable/disable inlay hints for implicit variable types:\n```typescript\n\nconst foo /* :number */ = Date.now();\n \n```","scope":"resource"},"typescript.inlayHints.variableTypes.suppressWhenTypeMatchesName":{"type":"boolean","default":true,"markdownDescription":"Suppress type hints on variables whose name is identical to the type name.","scope":"resource"},"typescript.inlayHints.propertyDeclarationTypes.enabled":{"type":"boolean","default":false,"markdownDescription":"Enable/disable inlay hints for implicit types on property declarations:\n```typescript\n\nclass Foo {\n\tprop /* :number */ = Date.now();\n}\n \n```","scope":"resource"},"typescript.inlayHints.functionLikeReturnTypes.enabled":{"type":"boolean","default":false,"markdownDescription":"Enable/disable inlay hints for implicit return types on function signatures:\n```typescript\n\nfunction foo() /* :number */ {\n\treturn Date.now();\n} \n \n```","scope":"resource"},"typescript.inlayHints.enumMemberValues.enabled":{"type":"boolean","default":false,"markdownDescription":"Enable/disable inlay hints for member values in enum declarations:\n```typescript\n\nenum MyValue {\n\tA /* = 0 */;\n\tB /* = 1 */;\n}\n \n```","scope":"resource"},"javascript.inlayHints.parameterNames.enabled":{"type":"string","enum":["none","literals","all"],"enumDescriptions":["Disable parameter name hints.","Enable parameter name hints only for literal arguments.","Enable parameter name hints for literal and non-literal arguments."],"default":"none","markdownDescription":"Enable/disable inlay hints for parameter names:\n```typescript\n\nparseInt(/* str: */ '123', /* radix: */ 8)\n \n```","scope":"resource"},"javascript.inlayHints.parameterNames.suppressWhenArgumentMatchesName":{"type":"boolean","default":true,"markdownDescription":"Suppress parameter name hints on arguments whose text is identical to the parameter name.","scope":"resource"},"javascript.inlayHints.parameterTypes.enabled":{"type":"boolean","default":false,"markdownDescription":"Enable/disable inlay hints for implicit parameter types:\n```typescript\n\nel.addEventListener('click', e /* :MouseEvent */ => ...)\n \n```","scope":"resource"},"javascript.inlayHints.variableTypes.enabled":{"type":"boolean","default":false,"markdownDescription":"Enable/disable inlay hints for implicit variable types:\n```typescript\n\nconst foo /* :number */ = Date.now();\n \n```","scope":"resource"},"javascript.inlayHints.variableTypes.suppressWhenTypeMatchesName":{"type":"boolean","default":true,"markdownDescription":"Suppress type hints on variables whose name is identical to the type name.","scope":"resource"},"javascript.inlayHints.propertyDeclarationTypes.enabled":{"type":"boolean","default":false,"markdownDescription":"Enable/disable inlay hints for implicit types on property declarations:\n```typescript\n\nclass Foo {\n\tprop /* :number */ = Date.now();\n}\n \n```","scope":"resource"},"javascript.inlayHints.functionLikeReturnTypes.enabled":{"type":"boolean","default":false,"markdownDescription":"Enable/disable inlay hints for implicit return types on function signatures:\n```typescript\n\nfunction foo() /* :number */ {\n\treturn Date.now();\n} \n \n```","scope":"resource"}}},{"type":"object","title":"TS Server","order":25,"properties":{"typescript.tsserver.nodePath":{"type":"string","description":"Run TS Server on a custom Node installation. This can be a path to a Node executable, or 'node' if you want VS Code to detect a Node installation.","scope":"window"},"typescript.npm":{"type":"string","markdownDescription":"Specifies the path to the npm executable used for [Automatic Type Acquisition](https://code.visualstudio.com/docs/nodejs/working-with-javascript#_typings-and-automatic-type-acquisition).","scope":"machine"},"typescript.check.npmIsInstalled":{"type":"boolean","default":true,"markdownDescription":"Check if npm is installed for [Automatic Type Acquisition](https://code.visualstudio.com/docs/nodejs/working-with-javascript#_typings-and-automatic-type-acquisition).","scope":"window"},"typescript.tsserver.web.projectWideIntellisense.enabled":{"type":"boolean","default":true,"description":"Enable/disable project-wide IntelliSense on web. Requires that VS Code is running in a trusted context.","scope":"window"},"typescript.tsserver.web.projectWideIntellisense.suppressSemanticErrors":{"type":"boolean","default":false,"description":"Suppresses semantic errors on web even when project wide IntelliSense is enabled. This is always on when project wide IntelliSense is not enabled or available. See `#typescript.tsserver.web.projectWideIntellisense.enabled#`","scope":"window"},"typescript.tsserver.web.typeAcquisition.enabled":{"type":"boolean","default":true,"description":"Enable/disable package acquisition on the web. This enables IntelliSense for imported packages. Requires `#typescript.tsserver.web.projectWideIntellisense.enabled#`. Currently not supported for Safari.","scope":"window"},"typescript.tsserver.useSyntaxServer":{"type":"string","scope":"window","description":"Controls if TypeScript launches a dedicated server to more quickly handle syntax related operations, such as computing code folding.","default":"auto","enum":["always","never","auto"],"enumDescriptions":["Use a lighter weight syntax server to handle all IntelliSense operations. This syntax server can only provide IntelliSense for opened files.","Don't use a dedicated syntax server. Use a single server to handle all IntelliSense operations.","Spawn both a full server and a lighter weight server dedicated to syntax operations. The syntax server is used to speed up syntax operations and provide IntelliSense while projects are loading."]},"typescript.tsserver.maxTsServerMemory":{"type":"number","default":3072,"markdownDescription":"The maximum amount of memory (in MB) to allocate to the TypeScript server process. To use a memory limit greater than 4 GB, use `#typescript.tsserver.nodePath#` to run TS Server with a custom Node installation.","scope":"window"},"typescript.tsserver.experimental.enableProjectDiagnostics":{"type":"boolean","default":false,"description":"Enables project wide error reporting.","scope":"window","tags":["experimental"]},"typescript.tsserver.watchOptions":{"description":"Configure which watching strategies should be used to keep track of files and directories.","scope":"window","default":"vscode","oneOf":[{"type":"string","const":"vscode","description":"Use VS Code's file watchers instead of TypeScript's. Requires using TypeScript 5.4+ in the workspace."},{"type":"object","properties":{"watchFile":{"type":"string","description":"Strategy for how individual files are watched.","enum":["fixedChunkSizePolling","fixedPollingInterval","priorityPollingInterval","dynamicPriorityPolling","useFsEvents","useFsEventsOnParentDirectory"],"enumDescriptions":["Polls files in chunks at regular interval.","Check every file for changes several times a second at a fixed interval.","Check every file for changes several times a second, but use heuristics to check certain types of files less frequently than others.","Use a dynamic queue where less-frequently modified files will be checked less often.","Attempt to use the operating system/file system's native events for file changes.","Attempt to use the operating system/file system's native events to listen for changes on a file's containing directories. This can use fewer file watchers, but might be less accurate."],"default":"useFsEvents"},"watchDirectory":{"type":"string","description":"Strategy for how entire directory trees are watched under systems that lack recursive file-watching functionality.","enum":["fixedChunkSizePolling","fixedPollingInterval","dynamicPriorityPolling","useFsEvents"],"enumDescriptions":["Polls directories in chunks at regular interval.","Check every directory for changes several times a second at a fixed interval.","Use a dynamic queue where less-frequently modified directories will be checked less often.","Attempt to use the operating system/file system's native events for directory changes."],"default":"useFsEvents"},"fallbackPolling":{"type":"string","description":"When using file system events, this option specifies the polling strategy that gets used when the system runs out of native file watchers and/or doesn't support native file watchers.","enum":["fixedPollingInterval","priorityPollingInterval","dynamicPriorityPolling"],"enumDescriptions":["configuration.tsserver.watchOptions.fallbackPolling.fixedPollingInterval","configuration.tsserver.watchOptions.fallbackPolling.priorityPollingInterval","configuration.tsserver.watchOptions.fallbackPolling.dynamicPriorityPolling"]},"synchronousWatchDirectory":{"type":"boolean","description":"Disable deferred watching on directories. Deferred watching is useful when lots of file changes might occur at once (e.g. a change in node_modules from running npm install), but you might want to disable it with this flag for some less-common setups."}}}]},"typescript.tsserver.enableTracing":{"type":"boolean","default":false,"description":"Enables tracing TS server performance to a directory. These trace files can be used to diagnose TS Server performance issues. The log may contain file paths, source code, and other potentially sensitive information from your project.","scope":"window"},"typescript.tsserver.log":{"type":"string","enum":["off","terse","normal","verbose","requestTime"],"default":"off","description":"Enables logging of the TS server to a file. This log can be used to diagnose TS Server issues. The log may contain file paths, source code, and other potentially sensitive information from your project.","scope":"window"},"typescript.tsserver.pluginPaths":{"type":"array","items":{"type":"string","description":"Either an absolute or relative path. Relative path will be resolved against workspace folder(s)."},"default":[],"description":"Additional paths to discover TypeScript Language Service plugins.","scope":"machine"}}}],"commands":[{"command":"typescript.reloadProjects","title":"Reload Project","category":"TypeScript"},{"command":"javascript.reloadProjects","title":"Reload Project","category":"JavaScript"},{"command":"typescript.selectTypeScriptVersion","title":"Select TypeScript Version...","category":"TypeScript"},{"command":"typescript.goToProjectConfig","title":"Go to Project Configuration (tsconfig)","category":"TypeScript"},{"command":"javascript.goToProjectConfig","title":"Go to Project Configuration (jsconfig / tsconfig)","category":"JavaScript"},{"command":"typescript.openTsServerLog","title":"Open TS Server log","category":"TypeScript"},{"command":"typescript.restartTsServer","title":"Restart TS Server","category":"TypeScript"},{"command":"typescript.findAllFileReferences","title":"Find File References","category":"TypeScript"},{"command":"typescript.goToSourceDefinition","title":"Go to Source Definition","category":"TypeScript"},{"command":"typescript.sortImports","title":"Sort Imports","category":"TypeScript"},{"command":"javascript.sortImports","title":"Sort Imports","category":"JavaScript"},{"command":"typescript.removeUnusedImports","title":"Remove Unused Imports","category":"TypeScript"},{"command":"javascript.removeUnusedImports","title":"Remove Unused Imports","category":"JavaScript"},{"command":"typescript.experimental.enableTsgo","title":"Use TypeScript Go (Experimental)","category":"TypeScript","enablement":"!config.typescript.experimental.useTsgo && config.typescript-go.executablePath"},{"command":"typescript.experimental.disableTsgo","title":"Stop using TypeScript Go (Experimental)","category":"TypeScript","enablement":"config.typescript.experimental.useTsgo"}],"menus":{"commandPalette":[{"command":"typescript.reloadProjects","when":"editorLangId == typescript && typescript.isManagedFile"},{"command":"typescript.reloadProjects","when":"editorLangId == typescriptreact && typescript.isManagedFile"},{"command":"javascript.reloadProjects","when":"editorLangId == javascript && typescript.isManagedFile"},{"command":"javascript.reloadProjects","when":"editorLangId == javascriptreact && typescript.isManagedFile"},{"command":"typescript.goToProjectConfig","when":"editorLangId == typescript && typescript.isManagedFile"},{"command":"typescript.goToProjectConfig","when":"editorLangId == typescriptreact"},{"command":"javascript.goToProjectConfig","when":"editorLangId == javascript && typescript.isManagedFile"},{"command":"javascript.goToProjectConfig","when":"editorLangId == javascriptreact && typescript.isManagedFile"},{"command":"typescript.selectTypeScriptVersion","when":"typescript.isManagedFile"},{"command":"typescript.openTsServerLog","when":"typescript.isManagedFile"},{"command":"typescript.restartTsServer","when":"typescript.isManagedFile"},{"command":"typescript.findAllFileReferences","when":"tsSupportsFileReferences && typescript.isManagedFile"},{"command":"typescript.goToSourceDefinition","when":"tsSupportsSourceDefinition && typescript.isManagedFile"},{"command":"typescript.sortImports","when":"supportedCodeAction =~ /(\\s|^)source\\.sortImports\\b/ && editorLangId =~ /^typescript(react)?$/"},{"command":"javascript.sortImports","when":"supportedCodeAction =~ /(\\s|^)source\\.sortImports\\b/ && editorLangId =~ /^javascript(react)?$/"},{"command":"typescript.removeUnusedImports","when":"supportedCodeAction =~ /(\\s|^)source\\.removeUnusedImports\\b/ && editorLangId =~ /^typescript(react)?$/"},{"command":"javascript.removeUnusedImports","when":"supportedCodeAction =~ /(\\s|^)source\\.removeUnusedImports\\b/ && editorLangId =~ /^javascript(react)?$/"}],"editor/context":[{"command":"typescript.goToSourceDefinition","when":"tsSupportsSourceDefinition && (resourceLangId == typescript || resourceLangId == typescriptreact || resourceLangId == javascript || resourceLangId == javascriptreact)","group":"navigation@1.41"}],"explorer/context":[{"command":"typescript.findAllFileReferences","when":"tsSupportsFileReferences && resourceLangId == typescript","group":"4_search"},{"command":"typescript.findAllFileReferences","when":"tsSupportsFileReferences && resourceLangId == typescriptreact","group":"4_search"},{"command":"typescript.findAllFileReferences","when":"tsSupportsFileReferences && resourceLangId == javascript","group":"4_search"},{"command":"typescript.findAllFileReferences","when":"tsSupportsFileReferences && resourceLangId == javascriptreact","group":"4_search"}],"editor/title/context":[{"command":"typescript.findAllFileReferences","when":"tsSupportsFileReferences && resourceLangId == javascript"},{"command":"typescript.findAllFileReferences","when":"tsSupportsFileReferences && resourceLangId == javascriptreact"},{"command":"typescript.findAllFileReferences","when":"tsSupportsFileReferences && resourceLangId == typescript"},{"command":"typescript.findAllFileReferences","when":"tsSupportsFileReferences && resourceLangId == typescriptreact"}]},"breakpoints":[{"language":"typescript"},{"language":"typescriptreact"}],"taskDefinitions":[{"type":"typescript","required":["tsconfig"],"properties":{"tsconfig":{"type":"string","description":"The tsconfig file that defines the TS build."},"option":{"type":"string"}},"when":"shellExecutionSupported"}],"problemPatterns":[{"name":"tsc","regexp":"^([^\\s].*)[\\(:](\\d+)[,:](\\d+)(?:\\):\\s+|\\s+-\\s+)(error|warning|info)\\s+TS(\\d+)\\s*:\\s*(.*)$","file":1,"line":2,"column":3,"severity":4,"code":5,"message":6}],"problemMatchers":[{"name":"tsc","label":"TypeScript problems","owner":"typescript","source":"ts","applyTo":"closedDocuments","fileLocation":["relative","${cwd}"],"pattern":"$tsc"},{"name":"tsc-watch","label":"TypeScript problems (watch mode)","owner":"typescript","source":"ts","applyTo":"closedDocuments","fileLocation":["relative","${cwd}"],"pattern":"$tsc","background":{"activeOnStart":true,"beginsPattern":{"regexp":"^\\s*(?:message TS6032:|\\[?\\D*.{1,2}[:.].{1,2}[:.].{1,2}\\D*(├\\D*\\d{1,2}\\D+┤)?(?:\\]| -)) (Starting compilation in watch mode|File change detected\\. Starting incremental compilation)\\.\\.\\."},"endsPattern":{"regexp":"^\\s*(?:message TS6042:|\\[?\\D*.{1,2}[:.].{1,2}[:.].{1,2}\\D*(├\\D*\\d{1,2}\\D+┤)?(?:\\]| -)) (?:Compilation complete\\.|Found \\d+ errors?\\.) Watching for file changes\\."}}}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/typescript-language-features","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.vb"},"manifest":{"name":"vb","displayName":"Visual Basic Language Basics","description":"Provides snippets, syntax highlighting, bracket matching and folding in Visual Basic files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin textmate/asp.vb.net.tmbundle Syntaxes/ASP%20VB.net.plist ./syntaxes/asp-vb-net.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"vb","extensions":[".vb",".brs",".vbs",".bas",".vba"],"aliases":["Visual Basic","vb"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"vb","scopeName":"source.asp.vb.net","path":"./syntaxes/asp-vb-net.tmLanguage.json"}],"snippets":[{"language":"vb","path":"./snippets/vb.code-snippets"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/vb","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.xml"},"manifest":{"name":"xml","displayName":"XML Language Basics","description":"Provides syntax highlighting and bracket matching in XML files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"xml","extensions":[".xml",".xsd",".ascx",".atom",".axml",".axaml",".bpmn",".cpt",".csl",".csproj",".csproj.user",".dita",".ditamap",".dtd",".ent",".mod",".dtml",".fsproj",".fxml",".iml",".isml",".jmx",".launch",".menu",".mxml",".nuspec",".opml",".owl",".proj",".props",".pt",".publishsettings",".pubxml",".pubxml.user",".rbxlx",".rbxmx",".rdf",".rng",".rss",".shproj",".slnx",".storyboard",".svg",".targets",".tld",".tmx",".vbproj",".vbproj.user",".vcxproj",".vcxproj.filters",".wsdl",".wxi",".wxl",".wxs",".xaml",".xbl",".xib",".xlf",".xliff",".xpdl",".xul",".xoml"],"firstLine":"(\\<\\?xml.*)|(\\', '+', '~' (e.g. `a > b`)."},"css.format.braceStyle":{"type":"string","scope":"resource","default":"collapse","enum":["collapse","expand"],"markdownDescription":"Put braces on the same line as rules (`collapse`) or put braces on own line (`expand`)."},"css.format.preserveNewLines":{"type":"boolean","scope":"resource","default":true,"markdownDescription":"Whether existing line breaks before rules and declarations should be preserved."},"css.format.maxPreserveNewLines":{"type":["number","null"],"scope":"resource","default":null,"markdownDescription":"Maximum number of line breaks to be preserved in one chunk, when `#css.format.preserveNewLines#` is enabled."}}},{"id":"scss","order":24,"title":"SCSS (Sass)","properties":{"scss.completion.triggerPropertyValueCompletion":{"type":"boolean","scope":"resource","default":true,"description":"By default, VS Code triggers property value completion after selecting a CSS property. Use this setting to disable this behavior."},"scss.completion.completePropertyWithSemicolon":{"type":"boolean","scope":"resource","default":true,"description":"Insert semicolon at end of line when completing CSS properties."},"scss.validate":{"type":"boolean","scope":"resource","default":true,"description":"Enables or disables all validations."},"scss.hover.documentation":{"type":"boolean","scope":"resource","default":true,"description":"Show property and value documentation in SCSS hovers."},"scss.hover.references":{"type":"boolean","scope":"resource","default":true,"description":"Show references to MDN in SCSS hovers."},"scss.lint.compatibleVendorPrefixes":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"When using a vendor-specific prefix make sure to also include all other vendor-specific properties."},"scss.lint.vendorPrefix":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"When using a vendor-specific prefix, also include the standard property."},"scss.lint.duplicateProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"Do not use duplicate style definitions."},"scss.lint.emptyRules":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"Do not use empty rulesets."},"scss.lint.importStatement":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"Import statements do not load in parallel."},"scss.lint.boxModel":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"Do not use `width` or `height` when using `padding` or `border`."},"scss.lint.universalSelector":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"The universal selector (`*`) is known to be slow."},"scss.lint.zeroUnits":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"No unit for zero needed."},"scss.lint.fontFaceProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","markdownDescription":"`@font-face` rule must define `src` and `font-family` properties."},"scss.lint.hexColorLength":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"error","description":"Hex colors must consist of 3, 4, 6 or 8 hex numbers."},"scss.lint.argumentsInColorFunction":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"error","description":"Invalid number of parameters."},"scss.lint.unknownProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"Unknown property."},"scss.lint.validProperties":{"type":"array","uniqueItems":true,"items":{"type":"string"},"scope":"resource","default":[],"description":"A list of properties that are not validated against the `unknownProperties` rule."},"scss.lint.ieHack":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"IE hacks are only necessary when supporting IE7 and older."},"scss.lint.unknownVendorSpecificProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"Unknown vendor specific property."},"scss.lint.propertyIgnoredDueToDisplay":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","markdownDescription":"Property is ignored due to the display. E.g. with `display: inline`, the `width`, `height`, `margin-top`, `margin-bottom`, and `float` properties have no effect."},"scss.lint.important":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"Avoid using `!important`. It is an indication that the specificity of the entire CSS has gotten out of control and needs to be refactored."},"scss.lint.float":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"Avoid using `float`. Floats lead to fragile CSS that is easy to break if one aspect of the layout changes."},"scss.lint.idSelector":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"Selectors should not contain IDs because these rules are too tightly coupled with the HTML."},"scss.lint.unknownAtRules":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"Unknown at-rule."},"scss.format.enable":{"type":"boolean","scope":"window","default":true,"description":"Enable/disable default SCSS formatter."},"scss.format.newlineBetweenSelectors":{"type":"boolean","scope":"resource","default":true,"markdownDescription":"Separate selectors with a new line."},"scss.format.newlineBetweenRules":{"type":"boolean","scope":"resource","default":true,"markdownDescription":"Separate rulesets by a blank line."},"scss.format.spaceAroundSelectorSeparator":{"type":"boolean","scope":"resource","default":false,"markdownDescription":"Ensure a space character around selector separators '>', '+', '~' (e.g. `a > b`)."},"scss.format.braceStyle":{"type":"string","scope":"resource","default":"collapse","enum":["collapse","expand"],"markdownDescription":"Put braces on the same line as rules (`collapse`) or put braces on own line (`expand`)."},"scss.format.preserveNewLines":{"type":"boolean","scope":"resource","default":true,"markdownDescription":"Whether existing line breaks before rules and declarations should be preserved."},"scss.format.maxPreserveNewLines":{"type":["number","null"],"scope":"resource","default":null,"markdownDescription":"Maximum number of line breaks to be preserved in one chunk, when `#scss.format.preserveNewLines#` is enabled."}}},{"id":"less","order":23,"type":"object","title":"LESS","properties":{"less.completion.triggerPropertyValueCompletion":{"type":"boolean","scope":"resource","default":true,"description":"By default, VS Code triggers property value completion after selecting a CSS property. Use this setting to disable this behavior."},"less.completion.completePropertyWithSemicolon":{"type":"boolean","scope":"resource","default":true,"description":"Insert semicolon at end of line when completing CSS properties."},"less.validate":{"type":"boolean","scope":"resource","default":true,"description":"Enables or disables all validations."},"less.hover.documentation":{"type":"boolean","scope":"resource","default":true,"description":"Show property and value documentation in LESS hovers."},"less.hover.references":{"type":"boolean","scope":"resource","default":true,"description":"Show references to MDN in LESS hovers."},"less.lint.compatibleVendorPrefixes":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"When using a vendor-specific prefix make sure to also include all other vendor-specific properties."},"less.lint.vendorPrefix":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"When using a vendor-specific prefix, also include the standard property."},"less.lint.duplicateProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"Do not use duplicate style definitions."},"less.lint.emptyRules":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"Do not use empty rulesets."},"less.lint.importStatement":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"Import statements do not load in parallel."},"less.lint.boxModel":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"Do not use `width` or `height` when using `padding` or `border`."},"less.lint.universalSelector":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"The universal selector (`*`) is known to be slow."},"less.lint.zeroUnits":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"No unit for zero needed."},"less.lint.fontFaceProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","markdownDescription":"`@font-face` rule must define `src` and `font-family` properties."},"less.lint.hexColorLength":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"error","description":"Hex colors must consist of 3, 4, 6 or 8 hex numbers."},"less.lint.argumentsInColorFunction":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"error","description":"Invalid number of parameters."},"less.lint.unknownProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"Unknown property."},"less.lint.validProperties":{"type":"array","uniqueItems":true,"items":{"type":"string"},"scope":"resource","default":[],"description":"A list of properties that are not validated against the `unknownProperties` rule."},"less.lint.ieHack":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"IE hacks are only necessary when supporting IE7 and older."},"less.lint.unknownVendorSpecificProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"Unknown vendor specific property."},"less.lint.propertyIgnoredDueToDisplay":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","markdownDescription":"Property is ignored due to the display. E.g. with `display: inline`, the `width`, `height`, `margin-top`, `margin-bottom`, and `float` properties have no effect."},"less.lint.important":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"Avoid using `!important`. It is an indication that the specificity of the entire CSS has gotten out of control and needs to be refactored."},"less.lint.float":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"Avoid using `float`. Floats lead to fragile CSS that is easy to break if one aspect of the layout changes."},"less.lint.idSelector":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"Selectors should not contain IDs because these rules are too tightly coupled with the HTML."},"less.lint.unknownAtRules":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"Unknown at-rule."},"less.format.enable":{"type":"boolean","scope":"window","default":true,"description":"Enable/disable default LESS formatter."},"less.format.newlineBetweenSelectors":{"type":"boolean","scope":"resource","default":true,"markdownDescription":"Separate selectors with a new line."},"less.format.newlineBetweenRules":{"type":"boolean","scope":"resource","default":true,"markdownDescription":"Separate rulesets by a blank line."},"less.format.spaceAroundSelectorSeparator":{"type":"boolean","scope":"resource","default":false,"markdownDescription":"Ensure a space character around selector separators '>', '+', '~' (e.g. `a > b`)."},"less.format.braceStyle":{"type":"string","scope":"resource","default":"collapse","enum":["collapse","expand"],"markdownDescription":"Put braces on the same line as rules (`collapse`) or put braces on own line (`expand`)."},"less.format.preserveNewLines":{"type":"boolean","scope":"resource","default":true,"markdownDescription":"Whether existing line breaks before rules and declarations should be preserved."},"less.format.maxPreserveNewLines":{"type":["number","null"],"scope":"resource","default":null,"markdownDescription":"Maximum number of line breaks to be preserved in one chunk, when `#less.format.preserveNewLines#` is enabled."}}}],"configurationDefaults":{"[css]":{"editor.suggest.insertMode":"replace"},"[scss]":{"editor.suggest.insertMode":"replace"},"[less]":{"editor.suggest.insertMode":"replace"}},"jsonValidation":[{"fileMatch":"*.css-data.json","url":"https://raw.githubusercontent.com/microsoft/vscode-css-languageservice/master/docs/customData.schema.json"},{"fileMatch":"package.json","url":"./schemas/package.schema.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/css-language-features","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.dart"},"manifest":{"name":"dart","displayName":"Dart Language Basics","description":"Provides syntax highlighting & bracket matching in Dart files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin dart-lang/dart-syntax-highlight grammars/dart.json ./syntaxes/dart.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"dart","extensions":[".dart"],"aliases":["Dart"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"dart","scopeName":"source.dart","path":"./syntaxes/dart.tmLanguage.json"}]}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/dart","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.debug-auto-launch"},"manifest":{"name":"debug-auto-launch","displayName":"Node Debug Auto-attach","description":"Helper for auto-attach feature when node-debug extensions are not active.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.5.0"},"icon":"media/icon.png","capabilities":{"virtualWorkspaces":false,"untrustedWorkspaces":{"supported":true}},"activationEvents":["onStartupFinished"],"main":"./dist/extension","contributes":{"commands":[{"command":"extension.node-debug.toggleAutoAttach","title":"Toggle Auto Attach","category":"Debug"}]},"prettier":{"printWidth":100,"trailingComma":"all","singleQuote":true,"arrowParens":"avoid"},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/debug-auto-launch","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.debug-server-ready"},"manifest":{"name":"debug-server-ready","displayName":"Server Ready Action","description":"Open URI in browser if server under debugging is ready.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.32.0"},"icon":"media/icon.png","activationEvents":["onDebugResolve"],"capabilities":{"virtualWorkspaces":false,"untrustedWorkspaces":{"supported":true}},"enabledApiProposals":["terminalDataWriteEvent"],"main":"./dist/extension","contributes":{"debuggers":[{"type":"*","configurationAttributes":{"launch":{"properties":{"serverReadyAction":{"oneOf":[{"type":"object","additionalProperties":false,"markdownDescription":"Act upon a URI when a server program under debugging is ready (indicated by sending output of the form 'listening on port 3000' or 'Now listening on: https://localhost:5001' to the debug console.)","default":{"action":"openExternally","killOnServerStop":false},"properties":{"action":{"type":"string","enum":["openExternally"],"enumDescriptions":["Open URI externally with the default application."],"markdownDescription":"What to do with the URI when the server is ready.","default":"openExternally"},"pattern":{"type":"string","markdownDescription":"Server is ready if this pattern appears on the debug console. The first capture group must include a URI or a port number.","default":"listening on port ([0-9]+)"},"uriFormat":{"type":"string","markdownDescription":"A format string used when constructing the URI from a port number. The first '%s' is substituted with the port number.","default":"http://localhost:%s"},"killOnServerStop":{"type":"boolean","markdownDescription":"Stop the child session when the parent session stopped.","default":false}}},{"type":"object","additionalProperties":false,"markdownDescription":"Act upon a URI when a server program under debugging is ready (indicated by sending output of the form 'listening on port 3000' or 'Now listening on: https://localhost:5001' to the debug console.)","default":{"action":"debugWithEdge","pattern":"listening on port ([0-9]+)","uriFormat":"http://localhost:%s","webRoot":"${workspaceFolder}","killOnServerStop":false},"properties":{"action":{"type":"string","enum":["debugWithChrome","debugWithEdge"],"enumDescriptions":["Start debugging with the 'Debugger for Chrome'."],"markdownDescription":"What to do with the URI when the server is ready.","default":"debugWithEdge"},"pattern":{"type":"string","markdownDescription":"Server is ready if this pattern appears on the debug console. The first capture group must include a URI or a port number.","default":"listening on port ([0-9]+)"},"uriFormat":{"type":"string","markdownDescription":"A format string used when constructing the URI from a port number. The first '%s' is substituted with the port number.","default":"http://localhost:%s"},"webRoot":{"type":"string","markdownDescription":"Value passed to the debug configuration for the 'Debugger for Chrome'.","default":"${workspaceFolder}"},"killOnServerStop":{"type":"boolean","markdownDescription":"Stop the child session when the parent session stopped.","default":false}}},{"type":"object","additionalProperties":false,"markdownDescription":"Act upon a URI when a server program under debugging is ready (indicated by sending output of the form 'listening on port 3000' or 'Now listening on: https://localhost:5001' to the debug console.)","default":{"action":"startDebugging","name":"","killOnServerStop":false},"required":["name"],"properties":{"action":{"type":"string","enum":["startDebugging"],"enumDescriptions":["Run another launch configuration."],"markdownDescription":"What to do with the URI when the server is ready.","default":"startDebugging"},"pattern":{"type":"string","markdownDescription":"Server is ready if this pattern appears on the debug console. The first capture group must include a URI or a port number.","default":"listening on port ([0-9]+)"},"name":{"type":"string","markdownDescription":"Name of the launch configuration to run.","default":"Launch Browser"},"killOnServerStop":{"type":"boolean","markdownDescription":"Stop the child session when the parent session stopped.","default":false}}},{"type":"object","additionalProperties":false,"markdownDescription":"Act upon a URI when a server program under debugging is ready (indicated by sending output of the form 'listening on port 3000' or 'Now listening on: https://localhost:5001' to the debug console.)","default":{"action":"startDebugging","config":{"type":"node","request":"launch"},"killOnServerStop":false},"required":["config"],"properties":{"action":{"type":"string","enum":["startDebugging"],"enumDescriptions":["Run another launch configuration."],"markdownDescription":"What to do with the URI when the server is ready.","default":"startDebugging"},"pattern":{"type":"string","markdownDescription":"Server is ready if this pattern appears on the debug console. The first capture group must include a URI or a port number.","default":"listening on port ([0-9]+)"},"config":{"type":"object","markdownDescription":"The debug configuration to run.","default":{}},"killOnServerStop":{"type":"boolean","markdownDescription":"Stop the child session when the parent session stopped.","default":false}}}]}}}}}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/debug-server-ready","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.diff"},"manifest":{"name":"diff","displayName":"Diff Language Basics","description":"Provides syntax highlighting & bracket matching in Diff files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin textmate/diff.tmbundle Syntaxes/Diff.plist ./syntaxes/diff.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"diff","aliases":["Diff","diff"],"extensions":[".diff",".patch",".rej"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"diff","scopeName":"source.diff","path":"./syntaxes/diff.tmLanguage.json"}]}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/diff","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.docker"},"manifest":{"name":"docker","displayName":"Docker Language Basics","description":"Provides syntax highlighting and bracket matching in Docker files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"dockerfile","extensions":[".dockerfile",".containerfile"],"filenames":["Dockerfile","Containerfile"],"filenamePatterns":["Dockerfile.*","Containerfile.*"],"aliases":["Docker","Dockerfile","Containerfile"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"dockerfile","scopeName":"source.dockerfile","path":"./syntaxes/docker.tmLanguage.json"}],"configurationDefaults":{"[dockerfile]":{"editor.quickSuggestions":{"strings":true}}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/docker","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.dotenv"},"manifest":{"name":"dotenv","displayName":"Dotenv Language Basics","description":"Provides syntax highlighting and bracket matching in dotenv files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin dotenv-org/dotenv-vscode syntaxes/dotenv.tmLanguage.json ./syntaxes/dotenv.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"dotenv","extensions":[".env"],"filenames":[".env",".flaskenv","user-dirs.dirs"],"filenamePatterns":[".env.*"],"aliases":["Dotenv"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"dotenv","scopeName":"source.dotenv","path":"./syntaxes/dotenv.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/dotenv","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.emmet"},"manifest":{"name":"emmet","displayName":"Emmet","description":"Emmet support for VS Code","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.13.0"},"icon":"images/icon.png","categories":["Other"],"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"},"activationEvents":["onCommand:emmet.expandAbbreviation","onLanguage"],"main":"./dist/node/emmetNodeMain","browser":"./dist/browser/emmetBrowserMain","contributes":{"configuration":{"type":"object","title":"Emmet","properties":{"emmet.showExpandedAbbreviation":{"type":["string"],"enum":["never","always","inMarkupAndStylesheetFilesOnly"],"default":"always","markdownDescription":"Shows expanded Emmet abbreviations as suggestions.\nThe option `\"inMarkupAndStylesheetFilesOnly\"` applies to html, haml, jade, slim, xml, xsl, css, scss, sass, less and stylus.\nThe option `\"always\"` applies to all parts of the file regardless of markup/css."},"emmet.showAbbreviationSuggestions":{"type":"boolean","default":true,"scope":"language-overridable","markdownDescription":"Shows possible Emmet abbreviations as suggestions. Not applicable in stylesheets or when emmet.showExpandedAbbreviation is set to `\"never\"`."},"emmet.includeLanguages":{"type":"object","additionalProperties":{"type":"string"},"default":{},"markdownDescription":"Enable Emmet abbreviations in languages that are not supported by default. Add a mapping here between the language and Emmet supported language.\n For example: `{\"vue-html\": \"html\", \"javascript\": \"javascriptreact\"}`"},"emmet.variables":{"type":"object","properties":{"lang":{"type":"string","default":"en"},"charset":{"type":"string","default":"UTF-8"}},"additionalProperties":{"type":"string"},"default":{},"markdownDescription":"Variables to be used in Emmet snippets."},"emmet.syntaxProfiles":{"type":"object","default":{},"markdownDescription":"Define profile for specified syntax or use your own profile with specific rules."},"emmet.excludeLanguages":{"type":"array","items":{"type":"string"},"default":["markdown"],"markdownDescription":"An array of languages where Emmet abbreviations should not be expanded."},"emmet.extensionsPath":{"type":"array","items":{"type":"string","markdownDescription":"A path containing Emmet syntaxProfiles and/or snippets."},"default":[],"scope":"machine-overridable","markdownDescription":"An array of paths, where each path can contain Emmet syntaxProfiles and/or snippet files.\nIn case of conflicts, the profiles/snippets of later paths will override those of earlier paths.\nSee https://code.visualstudio.com/docs/editor/emmet for more information and an example snippet file."},"emmet.triggerExpansionOnTab":{"type":"boolean","default":false,"scope":"language-overridable","markdownDescription":"When enabled, Emmet abbreviations are expanded when pressing TAB, even when completions do not show up. When disabled, completions that show up can still be accepted by pressing TAB."},"emmet.useInlineCompletions":{"type":"boolean","default":false,"markdownDescription":"If `true`, Emmet will use inline completions to suggest expansions. To prevent the non-inline completion item provider from showing up as often while this setting is `true`, turn `#editor.quickSuggestions#` to `inline` or `off` for the `other` item."},"emmet.preferences":{"type":"object","default":{},"markdownDescription":"Preferences used to modify behavior of some actions and resolvers of Emmet.","properties":{"css.intUnit":{"type":"string","default":"px","markdownDescription":"Default unit for integer values."},"css.floatUnit":{"type":"string","default":"em","markdownDescription":"Default unit for float values."},"css.propertyEnd":{"type":"string","default":";","markdownDescription":"Symbol to be placed at the end of CSS property when expanding CSS abbreviations."},"sass.propertyEnd":{"type":"string","default":"","markdownDescription":"Symbol to be placed at the end of CSS property when expanding CSS abbreviations in Sass files."},"stylus.propertyEnd":{"type":"string","default":"","markdownDescription":"Symbol to be placed at the end of CSS property when expanding CSS abbreviations in Stylus files."},"css.valueSeparator":{"type":"string","default":": ","markdownDescription":"Symbol to be placed at the between CSS property and value when expanding CSS abbreviations."},"sass.valueSeparator":{"type":"string","default":": ","markdownDescription":"Symbol to be placed at the between CSS property and value when expanding CSS abbreviations in Sass files."},"stylus.valueSeparator":{"type":"string","default":" ","markdownDescription":"Symbol to be placed at the between CSS property and value when expanding CSS abbreviations in Stylus files."},"bem.elementSeparator":{"type":"string","default":"__","markdownDescription":"Element separator used for classes when using the BEM filter."},"bem.modifierSeparator":{"type":"string","default":"_","markdownDescription":"Modifier separator used for classes when using the BEM filter."},"filter.commentBefore":{"type":"string","default":"","markdownDescription":"A definition of comment that should be placed before matched element when comment filter is applied."},"filter.commentAfter":{"type":"string","default":"\n","markdownDescription":"A definition of comment that should be placed after matched element when comment filter is applied."},"filter.commentTrigger":{"type":"array","default":["id","class"],"markdownDescription":"A comma-separated list of attribute names that should exist in the abbreviation for the comment filter to be applied."},"format.noIndentTags":{"type":"array","default":["html"],"markdownDescription":"An array of tag names that should never get inner indentation."},"format.forceIndentationForTags":{"type":"array","default":["body"],"markdownDescription":"An array of tag names that should always get inner indentation."},"profile.allowCompactBoolean":{"type":"boolean","default":false,"markdownDescription":"If `true`, compact notation of boolean attributes are produced."},"css.webkitProperties":{"type":"string","default":null,"markdownDescription":"Comma separated CSS properties that get the 'webkit' vendor prefix when used in Emmet abbreviation that starts with `-`. Set to empty string to always avoid the 'webkit' prefix."},"css.mozProperties":{"type":"string","default":null,"markdownDescription":"Comma separated CSS properties that get the 'moz' vendor prefix when used in Emmet abbreviation that starts with `-`. Set to empty string to always avoid the 'moz' prefix."},"css.oProperties":{"type":"string","default":null,"markdownDescription":"Comma separated CSS properties that get the 'o' vendor prefix when used in Emmet abbreviation that starts with `-`. Set to empty string to always avoid the 'o' prefix."},"css.msProperties":{"type":"string","default":null,"markdownDescription":"Comma separated CSS properties that get the 'ms' vendor prefix when used in Emmet abbreviation that starts with `-`. Set to empty string to always avoid the 'ms' prefix."},"css.fuzzySearchMinScore":{"type":"number","default":0.3,"markdownDescription":"The minimum score (from 0 to 1) that fuzzy-matched abbreviation should achieve. Lower values may produce many false-positive matches, higher values may reduce possible matches."},"output.inlineBreak":{"type":"number","default":0,"markdownDescription":"The number of sibling inline elements needed for line breaks to be placed between those elements. If `0`, inline elements are always expanded onto a single line."},"output.reverseAttributes":{"type":"boolean","default":false,"markdownDescription":"If `true`, reverses attribute merging directions when resolving snippets."},"output.selfClosingStyle":{"type":"string","enum":["html","xhtml","xml"],"default":"html","markdownDescription":"Style of self-closing tags: html (`
`), xml (`
`) or xhtml (`
`)."},"css.color.short":{"type":"boolean","default":true,"markdownDescription":"If `true`, color values like `#f` will be expanded to `#fff` instead of `#ffffff`."}}},"emmet.showSuggestionsAsSnippets":{"type":"boolean","default":false,"markdownDescription":"If `true`, then Emmet suggestions will show up as snippets allowing you to order them as per `#editor.snippetSuggestions#` setting."},"emmet.optimizeStylesheetParsing":{"type":"boolean","default":true,"markdownDescription":"When set to `false`, the whole file is parsed to determine if current position is valid for expanding Emmet abbreviations. When set to `true`, only the content around the current position in CSS/SCSS/Less files is parsed."}}},"commands":[{"command":"editor.emmet.action.wrapWithAbbreviation","title":"Wrap with Abbreviation","category":"Emmet"},{"command":"editor.emmet.action.removeTag","title":"Remove Tag","category":"Emmet"},{"command":"editor.emmet.action.updateTag","title":"Update Tag","category":"Emmet"},{"command":"editor.emmet.action.matchTag","title":"Go to Matching Pair","category":"Emmet"},{"command":"editor.emmet.action.balanceIn","title":"Balance (inward)","category":"Emmet"},{"command":"editor.emmet.action.balanceOut","title":"Balance (outward)","category":"Emmet"},{"command":"editor.emmet.action.prevEditPoint","title":"Go to Previous Edit Point","category":"Emmet"},{"command":"editor.emmet.action.nextEditPoint","title":"Go to Next Edit Point","category":"Emmet"},{"command":"editor.emmet.action.mergeLines","title":"Merge Lines","category":"Emmet"},{"command":"editor.emmet.action.selectPrevItem","title":"Select Previous Item","category":"Emmet"},{"command":"editor.emmet.action.selectNextItem","title":"Select Next Item","category":"Emmet"},{"command":"editor.emmet.action.splitJoinTag","title":"Split/Join Tag","category":"Emmet"},{"command":"editor.emmet.action.toggleComment","title":"Toggle Comment","category":"Emmet"},{"command":"editor.emmet.action.evaluateMathExpression","title":"Evaluate Math Expression","category":"Emmet"},{"command":"editor.emmet.action.updateImageSize","title":"Update Image Size","category":"Emmet"},{"command":"editor.emmet.action.incrementNumberByOneTenth","title":"Increment by 0.1","category":"Emmet"},{"command":"editor.emmet.action.incrementNumberByOne","title":"Increment by 1","category":"Emmet"},{"command":"editor.emmet.action.incrementNumberByTen","title":"Increment by 10","category":"Emmet"},{"command":"editor.emmet.action.decrementNumberByOneTenth","title":"Decrement by 0.1","category":"Emmet"},{"command":"editor.emmet.action.decrementNumberByOne","title":"Decrement by 1","category":"Emmet"},{"command":"editor.emmet.action.decrementNumberByTen","title":"Decrement by 10","category":"Emmet"},{"command":"editor.emmet.action.reflectCSSValue","title":"Reflect CSS Value","category":"Emmet"},{"command":"workbench.action.showEmmetCommands","title":"Show Emmet Commands","category":""}],"menus":{"commandPalette":[{"command":"editor.emmet.action.wrapWithAbbreviation","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.removeTag","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.updateTag","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.matchTag","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.balanceIn","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.balanceOut","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.prevEditPoint","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.nextEditPoint","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.mergeLines","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.selectPrevItem","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.selectNextItem","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.splitJoinTag","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.toggleComment","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.evaluateMathExpression","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.updateImageSize","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.incrementNumberByOneTenth","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.incrementNumberByOne","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.incrementNumberByTen","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.decrementNumberByOneTenth","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.decrementNumberByOne","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.decrementNumberByTen","when":"!activeEditorIsReadonly"},{"command":"editor.emmet.action.reflectCSSValue","when":"!activeEditorIsReadonly"}]}},"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/emmet","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.extension-editing"},"manifest":{"name":"extension-editing","displayName":"Extension Authoring","description":"Provides linting capabilities for authoring extensions.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.4.0"},"icon":"images/icon.png","activationEvents":["onLanguage:json","onLanguage:markdown"],"main":"./dist/extensionEditingMain","browser":"./dist/browser/extensionEditingBrowserMain","capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"contributes":{"jsonValidation":[{"fileMatch":"package.json","url":"vscode://schemas/vscode-extensions"},{"fileMatch":"*language-configuration.json","url":"vscode://schemas/language-configuration"},{"fileMatch":["*icon-theme.json","!*product-icon-theme.json"],"url":"vscode://schemas/icon-theme"},{"fileMatch":"*product-icon-theme.json","url":"vscode://schemas/product-icon-theme"},{"fileMatch":"*color-theme.json","url":"vscode://schemas/color-theme"}],"languages":[{"id":"ignore","filenames":[".vscodeignore"]}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/extension-editing","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.fsharp"},"manifest":{"name":"fsharp","displayName":"F# Language Basics","description":"Provides snippets, syntax highlighting, bracket matching and folding in F# files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin ionide/ionide-fsgrammar grammars/fsharp.json ./syntaxes/fsharp.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"fsharp","extensions":[".fs",".fsi",".fsx",".fsscript"],"aliases":["F#","FSharp","fsharp"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"fsharp","scopeName":"source.fsharp","path":"./syntaxes/fsharp.tmLanguage.json"}],"snippets":[{"language":"fsharp","path":"./snippets/fsharp.code-snippets"}],"configurationDefaults":{"[fsharp]":{"diffEditor.ignoreTrimWhitespace":false}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/fsharp","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.git"},"manifest":{"name":"git","displayName":"Git","description":"Git SCM Integration","publisher":"vscode","license":"MIT","version":"1.0.0","engines":{"vscode":"^1.5.0"},"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","enabledApiProposals":["canonicalUriProvider","contribEditSessions","contribEditorContentMenu","contribMergeEditorMenus","contribMultiDiffEditorMenus","contribDiffEditorGutterToolBarMenus","contribSourceControlArtifactGroupMenu","contribSourceControlArtifactMenu","contribSourceControlHistoryItemMenu","contribSourceControlHistoryTitleMenu","contribSourceControlInputBoxMenu","contribSourceControlTitleMenu","contribViewsWelcome","editSessionIdentityProvider","quickDiffProvider","quickInputButtonLocation","quickPickSortByLabel","scmActionButton","scmArtifactProvider","scmHistoryProvider","scmMultiDiffEditor","scmProviderOptions","scmSelectedProvider","scmTextDocument","scmValidation","statusBarItemTooltip","tabInputMultiDiff","tabInputTextMerge","textEditorDiffInformation","timeline"],"categories":["Other"],"activationEvents":["*","onEditSession:file","onFileSystem:git","onFileSystem:git-show"],"extensionDependencies":["vscode.git-base"],"main":"./dist/main","icon":"resources/icons/git.png","capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":false}},"contributes":{"commands":[{"command":"git.continueInLocalClone","title":"Clone Repository Locally and Open on Desktop...","category":"Git","icon":"$(repo-clone)","enablement":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && remoteName"},{"command":"git.clone","title":"Clone","category":"Git","enablement":"!operationInProgress"},{"command":"git.cloneRecursive","title":"Clone (Recursive)","category":"Git","enablement":"!operationInProgress"},{"command":"git.init","title":"Initialize Repository","category":"Git","icon":"$(add)","enablement":"!operationInProgress"},{"command":"git.openRepository","title":"Open Repository","category":"Git","enablement":"!operationInProgress"},{"command":"git.reopenClosedRepositories","title":"Reopen Closed Repositories...","icon":"$(repo)","category":"Git","enablement":"!operationInProgress && git.closedRepositoryCount != 0"},{"command":"git.close","title":"Close Repository","category":"Git","enablement":"!operationInProgress"},{"command":"git.closeOtherRepositories","title":"Close Other Repositories","category":"Git","enablement":"!operationInProgress"},{"command":"git.openWorktree","title":"Open Worktree in Current Window","category":"Git","enablement":"!operationInProgress"},{"command":"git.openWorktreeInNewWindow","title":"Open Worktree in New Window","category":"Git","enablement":"!operationInProgress"},{"command":"git.refresh","title":"Refresh","category":"Git","icon":"$(refresh)","enablement":"!operationInProgress"},{"command":"git.compareWithWorkspace","title":"Compare with Workspace","category":"Git"},{"command":"git.openChange","title":"Open Changes","category":"Git","icon":"$(compare-changes)"},{"command":"git.openAllChanges","title":"Open All Changes","category":"Git"},{"command":"git.openFile","title":"Open File","category":"Git","icon":"$(go-to-file)"},{"command":"git.openFile2","title":"Open File","category":"Git","icon":"$(go-to-file)"},{"command":"git.openHEADFile","title":"Open File (HEAD)","category":"Git"},{"command":"git.stage","title":"Stage Changes","category":"Git","icon":"$(add)","enablement":"!operationInProgress"},{"command":"git.stageAll","title":"Stage All Changes","category":"Git","icon":"$(add)","enablement":"!operationInProgress"},{"command":"git.stageAllTracked","title":"Stage All Tracked Changes","category":"Git","icon":"$(add)","enablement":"!operationInProgress"},{"command":"git.stageAllUntracked","title":"Stage All Untracked Changes","category":"Git","icon":"$(add)","enablement":"!operationInProgress"},{"command":"git.stageAllMerge","title":"Stage All Merge Changes","category":"Git","icon":"$(add)","enablement":"!operationInProgress"},{"command":"git.stageSelectedRanges","title":"Stage Selected Ranges","category":"Git","enablement":"!operationInProgress"},{"command":"git.diff.stageHunk","title":"Stage Block","category":"Git","icon":"$(plus)"},{"command":"git.diff.stageSelection","title":"Stage Selection","category":"Git","icon":"$(plus)"},{"command":"git.revertSelectedRanges","title":"Revert Selected Ranges","category":"Git","enablement":"!operationInProgress"},{"command":"git.stageChange","title":"Stage Change","category":"Git","icon":"$(add)","enablement":"!operationInProgress"},{"command":"git.stageFile","title":"Stage Changes","category":"Git","icon":"$(add)","enablement":"!operationInProgress"},{"command":"git.revertChange","title":"Revert Change","category":"Git","icon":"$(discard)","enablement":"!operationInProgress"},{"command":"git.unstage","title":"Unstage Changes","category":"Git","icon":"$(remove)","enablement":"!operationInProgress"},{"command":"git.unstageAll","title":"Unstage All Changes","category":"Git","icon":"$(remove)","enablement":"!operationInProgress"},{"command":"git.unstageSelectedRanges","title":"Unstage Selected Ranges","category":"Git","enablement":"!operationInProgress"},{"command":"git.unstageChange","title":"Unstage Change","category":"Git","icon":"$(remove)","enablement":"!operationInProgress"},{"command":"git.unstageFile","title":"Unstage Changes","category":"Git","icon":"$(remove)","enablement":"!operationInProgress"},{"command":"git.clean","title":"Discard Changes","category":"Git","icon":"$(discard)","enablement":"!operationInProgress"},{"command":"git.cleanAll","title":"Discard All Changes","category":"Git","icon":"$(discard)","enablement":"!operationInProgress"},{"command":"git.cleanAllTracked","title":"Discard All Tracked Changes","category":"Git","icon":"$(discard)","enablement":"!operationInProgress"},{"command":"git.cleanAllUntracked","title":"Discard All Untracked Changes","category":"Git","icon":"$(discard)","enablement":"!operationInProgress"},{"command":"git.rename","title":"Rename","category":"Git","icon":"$(discard)","enablement":"!operationInProgress"},{"command":"git.commit","title":"Commit","category":"Git","icon":"$(check)","enablement":"!operationInProgress"},{"command":"git.commitAmend","title":"Commit (Amend)","category":"Git","icon":"$(check)","enablement":"!operationInProgress"},{"command":"git.commitSigned","title":"Commit (Signed Off)","category":"Git","icon":"$(check)","enablement":"!operationInProgress"},{"command":"git.commitStaged","title":"Commit Staged","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitEmpty","title":"Commit Empty","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitStagedSigned","title":"Commit Staged (Signed Off)","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitStagedAmend","title":"Commit Staged (Amend)","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitAll","title":"Commit All","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitAllSigned","title":"Commit All (Signed Off)","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitAllAmend","title":"Commit All (Amend)","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitNoVerify","title":"Commit (No Verify)","category":"Git","icon":"$(check)","enablement":"!operationInProgress"},{"command":"git.commitStagedNoVerify","title":"Commit Staged (No Verify)","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitEmptyNoVerify","title":"Commit Empty (No Verify)","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitStagedSignedNoVerify","title":"Commit Staged (Signed Off, No Verify)","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitAmendNoVerify","title":"Commit (Amend, No Verify)","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitSignedNoVerify","title":"Commit (Signed Off, No Verify)","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitStagedAmendNoVerify","title":"Commit Staged (Amend, No Verify)","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitAllNoVerify","title":"Commit All (No Verify)","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitAllSignedNoVerify","title":"Commit All (Signed Off, No Verify)","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitAllAmendNoVerify","title":"Commit All (Amend, No Verify)","category":"Git","enablement":"!operationInProgress"},{"command":"git.commitMessageAccept","title":"Accept Commit Message","icon":"$(check)","category":"Git"},{"command":"git.commitMessageDiscard","title":"Discard Commit Message","icon":"$(discard)","category":"Git"},{"command":"git.restoreCommitTemplate","title":"Restore Commit Template","category":"Git","enablement":"!operationInProgress"},{"command":"git.undoCommit","title":"Undo Last Commit","category":"Git","enablement":"!operationInProgress"},{"command":"git.checkout","title":"Checkout to...","category":"Git","enablement":"!operationInProgress"},{"command":"git.graph.checkout","title":"Checkout","category":"Git","enablement":"!operationInProgress"},{"command":"git.checkoutDetached","title":"Checkout to (Detached)...","category":"Git","enablement":"!operationInProgress"},{"command":"git.graph.checkoutDetached","title":"Checkout (Detached)","category":"Git","enablement":"!operationInProgress"},{"command":"git.branch","title":"Create Branch...","category":"Git","enablement":"!operationInProgress"},{"command":"git.branchFrom","title":"Create Branch From...","category":"Git","enablement":"!operationInProgress"},{"command":"git.deleteBranch","title":"Delete Branch...","category":"Git","enablement":"!operationInProgress"},{"command":"git.graph.deleteBranch","title":"Delete Branch","category":"Git","enablement":"!operationInProgress"},{"command":"git.deleteRemoteBranch","title":"Delete Remote Branch...","category":"Git","enablement":"!operationInProgress"},{"command":"git.renameBranch","title":"Rename Branch...","category":"Git","enablement":"!operationInProgress"},{"command":"git.merge","title":"Merge...","category":"Git","enablement":"!operationInProgress"},{"command":"git.mergeAbort","title":"Abort Merge","category":"Git","enablement":"gitMergeInProgress"},{"command":"git.rebase","title":"Rebase Branch...","category":"Git","enablement":"!operationInProgress"},{"command":"git.createTag","title":"Create Tag...","icon":"$(plus)","category":"Git","enablement":"!operationInProgress"},{"command":"git.deleteTag","title":"Delete Tag...","category":"Git","enablement":"!operationInProgress"},{"command":"git.migrateWorktreeChanges","title":"Migrate Worktree Changes...","category":"Git","enablement":"!operationInProgress"},{"command":"git.createWorktree","title":"Create Worktree...","category":"Git","enablement":"!operationInProgress"},{"command":"git.createWorktreeWithDefaults","title":"Create Worktree With Defaults","category":"Git","enablement":"!operationInProgress"},{"command":"git.deleteWorktree","title":"Delete Worktree","category":"Git","enablement":"!operationInProgress"},{"command":"git.deleteWorktreeFromPalette","title":"Delete Worktree...","category":"Git","enablement":"!operationInProgress"},{"command":"git.graph.deleteTag","title":"Delete Tag","category":"Git","enablement":"!operationInProgress"},{"command":"git.deleteRemoteTag","title":"Delete Remote Tag...","category":"Git","enablement":"!operationInProgress"},{"command":"git.fetch","title":"Fetch","category":"Git","enablement":"!operationInProgress"},{"command":"git.fetchPrune","title":"Fetch (Prune)","category":"Git","enablement":"!operationInProgress"},{"command":"git.fetchAll","title":"Fetch From All Remotes","icon":"$(git-fetch)","category":"Git","enablement":"!operationInProgress"},{"command":"git.fetchRef","title":"Fetch","icon":"$(git-fetch)","category":"Git","enablement":"!operationInProgress"},{"command":"git.pull","title":"Pull","category":"Git","enablement":"!operationInProgress"},{"command":"git.pullRebase","title":"Pull (Rebase)","category":"Git","enablement":"!operationInProgress"},{"command":"git.pullFrom","title":"Pull from...","category":"Git","enablement":"!operationInProgress"},{"command":"git.pullRef","title":"Pull","icon":"$(repo-pull)","category":"Git","enablement":"!operationInProgress && scmCurrentHistoryItemRefInFilter && scmCurrentHistoryItemRefHasRemote"},{"command":"git.push","title":"Push","category":"Git","enablement":"!operationInProgress"},{"command":"git.pushForce","title":"Push (Force)","category":"Git","enablement":"!operationInProgress"},{"command":"git.pushTo","title":"Push to...","category":"Git","enablement":"!operationInProgress"},{"command":"git.pushToForce","title":"Push to... (Force)","category":"Git","enablement":"!operationInProgress"},{"command":"git.pushTags","title":"Push Tags","category":"Git","enablement":"!operationInProgress"},{"command":"git.pushWithTags","title":"Push (Follow Tags)","category":"Git","enablement":"!operationInProgress"},{"command":"git.pushWithTagsForce","title":"Push (Follow Tags, Force)","category":"Git","enablement":"!operationInProgress"},{"command":"git.pushRef","title":"Push","icon":"$(repo-push)","category":"Git","enablement":"!operationInProgress && scmCurrentHistoryItemRefInFilter && scmCurrentHistoryItemRefHasRemote"},{"command":"git.cherryPick","title":"Cherry Pick...","category":"Git","enablement":"!operationInProgress"},{"command":"git.graph.cherryPick","title":"Cherry Pick","category":"Git","enablement":"!operationInProgress"},{"command":"git.cherryPickAbort","title":"Abort Cherry Pick","category":"Git","enablement":"!operationInProgress"},{"command":"git.addRemote","title":"Add Remote...","category":"Git","enablement":"!operationInProgress"},{"command":"git.removeRemote","title":"Remove Remote","category":"Git","enablement":"!operationInProgress"},{"command":"git.sync","title":"Sync","category":"Git","enablement":"!operationInProgress"},{"command":"git.syncRebase","title":"Sync (Rebase)","category":"Git","enablement":"!operationInProgress"},{"command":"git.publish","title":"Publish Branch...","category":"Git","icon":"$(cloud-upload)","enablement":"!operationInProgress"},{"command":"git.showOutput","title":"Show Git Output","category":"Git"},{"command":"git.ignore","title":"Add to .gitignore","category":"Git","enablement":"!operationInProgress"},{"command":"git.revealInExplorer","title":"Reveal in Explorer View","category":"Git"},{"command":"git.revealFileInOS.linux","title":"Open Containing Folder","category":"Git"},{"command":"git.revealFileInOS.mac","title":"Reveal in Finder","category":"Git"},{"command":"git.revealFileInOS.windows","title":"Reveal in File Explorer","category":"Git"},{"command":"git.stashIncludeUntracked","title":"Stash (Include Untracked)","category":"Git","enablement":"!operationInProgress"},{"command":"git.stash","title":"Stash","category":"Git","enablement":"!operationInProgress"},{"command":"git.stashStaged","title":"Stash Staged","category":"Git","enablement":"!operationInProgress && gitVersion2.35"},{"command":"git.stashPop","title":"Pop Stash...","category":"Git","enablement":"!operationInProgress"},{"command":"git.stashPopLatest","title":"Pop Latest Stash","category":"Git","enablement":"!operationInProgress"},{"command":"git.stashPopEditor","title":"Pop Stash","icon":"$(git-stash-pop)","category":"Git","enablement":"!operationInProgress"},{"command":"git.stashApply","title":"Apply Stash...","category":"Git","enablement":"!operationInProgress"},{"command":"git.stashApplyLatest","title":"Apply Latest Stash","category":"Git","enablement":"!operationInProgress"},{"command":"git.stashApplyEditor","title":"Apply Stash","icon":"$(git-stash-apply)","category":"Git","enablement":"!operationInProgress"},{"command":"git.stashDrop","title":"Drop Stash...","category":"Git","enablement":"!operationInProgress"},{"command":"git.stashDropAll","title":"Drop All Stashes...","category":"Git","enablement":"!operationInProgress"},{"command":"git.stashDropEditor","title":"Drop Stash","icon":"$(trash)","category":"Git","enablement":"!operationInProgress"},{"command":"git.stashView","title":"View Stash...","category":"Git","enablement":"!operationInProgress"},{"command":"git.timeline.openDiff","title":"Open Changes","icon":"$(compare-changes)","category":"Git"},{"command":"git.timeline.copyCommitId","title":"Copy Commit ID","category":"Git"},{"command":"git.timeline.copyCommitMessage","title":"Copy Commit Message","category":"Git"},{"command":"git.timeline.selectForCompare","title":"Select for Compare","category":"Git"},{"command":"git.timeline.compareWithSelected","title":"Compare with Selected","category":"Git"},{"command":"git.timeline.viewCommit","title":"Open Commit","icon":"$(diff-multiple)","category":"Git"},{"command":"git.rebaseAbort","title":"Abort Rebase","category":"Git","enablement":"gitRebaseInProgress"},{"command":"git.closeAllDiffEditors","title":"Close All Diff Editors","category":"Git","enablement":"!operationInProgress"},{"command":"git.closeAllUnmodifiedEditors","title":"Close All Unmodified Editors","category":"Git","enablement":"!operationInProgress"},{"command":"git.api.getRepositories","title":"Get Repositories","category":"Git API"},{"command":"git.api.getRepositoryState","title":"Get Repository State","category":"Git API"},{"command":"git.api.getRemoteSources","title":"Get Remote Sources","category":"Git API"},{"command":"git.acceptMerge","title":"Complete Merge","category":"Git","enablement":"isMergeEditor && mergeEditorResultUri in git.mergeChanges"},{"command":"git.openMergeEditor","title":"Resolve in Merge Editor","category":"Git"},{"command":"git.runGitMerge","title":"Compute Conflicts With Git","category":"Git","enablement":"isMergeEditor"},{"command":"git.runGitMergeDiff3","title":"Compute Conflicts With Git (Diff3)","category":"Git","enablement":"isMergeEditor"},{"command":"git.manageUnsafeRepositories","title":"Manage Unsafe Repositories","category":"Git"},{"command":"git.openRepositoriesInParentFolders","title":"Open Repositories In Parent Folders","category":"Git"},{"command":"git.viewChanges","title":"Open Changes","icon":"$(diff-multiple)","category":"Git","enablement":"!operationInProgress"},{"command":"git.viewStagedChanges","title":"Open Staged Changes","icon":"$(diff-multiple)","category":"Git","enablement":"!operationInProgress"},{"command":"git.viewUntrackedChanges","title":"Open Untracked Changes","icon":"$(diff-multiple)","category":"Git","enablement":"!operationInProgress"},{"command":"git.viewCommit","title":"Open Commit","icon":"$(diff-multiple)","category":"Git","enablement":"!operationInProgress"},{"command":"git.copyCommitId","title":"Copy Commit ID","category":"Git"},{"command":"git.copyCommitMessage","title":"Copy Commit Message","category":"Git"},{"command":"git.blame.toggleEditorDecoration","title":"Toggle Git Blame Editor Decoration","category":"Git"},{"command":"git.blame.toggleStatusBarItem","title":"Toggle Git Blame Status Bar Item","category":"Git"},{"command":"git.graph.compareRef","title":"Compare with...","category":"Git","enablement":"!operationInProgress"},{"command":"git.graph.compareWithRemote","title":"Compare with Remote","category":"Git","enablement":"!operationInProgress && scmCurrentHistoryItemRefHasRemote"},{"command":"git.graph.compareWithMergeBase","title":"Compare with Merge Base","category":"Git","enablement":"!operationInProgress && scmCurrentHistoryItemRefHasBase"},{"command":"git.repositories.checkout","title":"Checkout","icon":"$(target)","category":"Git","enablement":"!operationInProgress && !scmArtifactIsHistoryItemRef"},{"command":"git.repositories.checkoutDetached","title":"Checkout (Detached)","category":"Git","enablement":"!operationInProgress"},{"command":"git.repositories.compareRef","title":"Compare with...","category":"Git","enablement":"!operationInProgress"},{"command":"git.repositories.createBranch","title":"Create Branch...","icon":"$(plus)","category":"Git","enablement":"!operationInProgress"},{"command":"git.repositories.createTag","title":"Create Tag...","icon":"$(plus)","category":"Git","enablement":"!operationInProgress"},{"command":"git.repositories.merge","title":"Merge","category":"Git","enablement":"!operationInProgress"},{"command":"git.repositories.rebase","title":"Rebase","category":"Git","enablement":"!operationInProgress"},{"command":"git.repositories.deleteBranch","title":"Delete","category":"Git","enablement":"!operationInProgress && !scmArtifactIsHistoryItemRef"},{"command":"git.repositories.deleteTag","title":"Delete","category":"Git","enablement":"!operationInProgress && !scmArtifactIsHistoryItemRef"},{"command":"git.repositories.createFrom","title":"Create from...","category":"Git","enablement":"!operationInProgress"}],"continueEditSession":[{"command":"git.continueInLocalClone","qualifiedName":"Continue Working in New Local Clone","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && remoteName","remoteGroup":"remote_42_git_0_local@0"}],"keybindings":[{"command":"git.stageSelectedRanges","key":"ctrl+k ctrl+alt+s","mac":"cmd+k cmd+alt+s","when":"editorTextFocus && resourceScheme == file"},{"command":"git.unstageSelectedRanges","key":"ctrl+k ctrl+n","mac":"cmd+k cmd+n","when":"editorTextFocus && isInDiffEditor && isInDiffRightEditor && resourceScheme == git"},{"command":"git.revertSelectedRanges","key":"ctrl+k ctrl+r","mac":"cmd+k cmd+r","when":"editorTextFocus && resourceScheme == file"}],"menus":{"commandPalette":[{"command":"git.continueInLocalClone","when":"false"},{"command":"git.clone","when":"config.git.enabled && !git.missing"},{"command":"git.cloneRecursive","when":"config.git.enabled && !git.missing"},{"command":"git.init","when":"config.git.enabled && !git.missing && remoteName != 'codespaces'"},{"command":"git.openRepository","when":"config.git.enabled && !git.missing"},{"command":"git.close","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.closeOtherRepositories","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount > 1"},{"command":"git.openWorktree","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount > 1"},{"command":"git.openWorktreeInNewWindow","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount > 1"},{"command":"git.refresh","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.openFile","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file && scmActiveResourceHasChanges"},{"command":"git.openHEADFile","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file && scmActiveResourceHasChanges"},{"command":"git.openChange","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stage","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stageAll","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stageAllTracked","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stageAllUntracked","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stageAllMerge","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stageSelectedRanges","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file"},{"command":"git.stageChange","when":"false"},{"command":"git.revertSelectedRanges","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file"},{"command":"git.revertChange","when":"false"},{"command":"git.openFile2","when":"false"},{"command":"git.unstage","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.unstageAll","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.unstageSelectedRanges","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == git"},{"command":"git.unstageChange","when":"false"},{"command":"git.clean","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.cleanAll","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.cleanAllTracked","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.cleanAllUntracked","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.rename","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file && scmActiveResourceRepository"},{"command":"git.commit","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.commitAmend","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.commitSigned","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.commitStaged","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.commitEmpty","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.commitStagedSigned","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.commitStagedAmend","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.commitAll","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.commitAllSigned","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.commitAllAmend","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.rebaseAbort","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && gitRebaseInProgress"},{"command":"git.commitNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.commitStagedNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.commitEmptyNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.commitStagedSignedNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.commitAmendNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.commitSignedNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.commitStagedAmendNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.commitAllNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.commitAllSignedNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.commitAllAmendNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.restoreCommitTemplate","when":"false"},{"command":"git.commitMessageAccept","when":"false"},{"command":"git.commitMessageDiscard","when":"false"},{"command":"git.revealInExplorer","when":"false"},{"command":"git.revealFileInOS.linux","when":"false"},{"command":"git.revealFileInOS.mac","when":"false"},{"command":"git.revealFileInOS.windows","when":"false"},{"command":"git.undoCommit","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.checkout","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.branch","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.branchFrom","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.deleteBranch","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.deleteRemoteBranch","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.renameBranch","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.cherryPick","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.cherryPickAbort","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && gitCherryPickInProgress"},{"command":"git.pull","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.pullFrom","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.pullRebase","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.merge","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.mergeAbort","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && gitMergeInProgress"},{"command":"git.rebase","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.createTag","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.deleteTag","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.migrateWorktreeChanges","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.createWorktree","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.deleteWorktree","when":"false"},{"command":"git.openWorktree","when":"false"},{"command":"git.openWorktreeInNewWindow","when":"false"},{"command":"git.deleteWorktreeFromPalette","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.deleteRemoteTag","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.fetch","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.fetchPrune","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.fetchAll","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.push","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.pushForce","when":"config.git.enabled && !git.missing && config.git.allowForcePush && gitOpenRepositoryCount != 0"},{"command":"git.pushTo","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.pushToForce","when":"config.git.enabled && !git.missing && config.git.allowForcePush && gitOpenRepositoryCount != 0"},{"command":"git.pushWithTags","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.pushWithTagsForce","when":"config.git.enabled && !git.missing && config.git.allowForcePush && gitOpenRepositoryCount != 0"},{"command":"git.pushTags","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.addRemote","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.removeRemote","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.sync","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.syncRebase","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.publish","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.showOutput","when":"config.git.enabled"},{"command":"git.ignore","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file && scmActiveResourceRepository"},{"command":"git.stashIncludeUntracked","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stash","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stashStaged","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && gitVersion2.35"},{"command":"git.stashPop","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stashPopLatest","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stashPopEditor","when":"false"},{"command":"git.stashApply","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stashApplyLatest","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stashApplyEditor","when":"false"},{"command":"git.stashDrop","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stashDropAll","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stashDropEditor","when":"false"},{"command":"git.timeline.openDiff","when":"false"},{"command":"git.timeline.copyCommitId","when":"false"},{"command":"git.timeline.copyCommitMessage","when":"false"},{"command":"git.timeline.selectForCompare","when":"false"},{"command":"git.timeline.compareWithSelected","when":"false"},{"command":"git.timeline.viewCommit","when":"false"},{"command":"git.closeAllDiffEditors","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.api.getRepositories","when":"false"},{"command":"git.api.getRepositoryState","when":"false"},{"command":"git.api.getRemoteSources","when":"false"},{"command":"git.openMergeEditor","when":"false"},{"command":"git.manageUnsafeRepositories","when":"config.git.enabled && !git.missing && git.unsafeRepositoryCount != 0"},{"command":"git.openRepositoriesInParentFolders","when":"config.git.enabled && !git.missing && git.parentRepositoryCount != 0"},{"command":"git.stashView","when":"config.git.enabled && !git.missing && config.multiDiffEditor.experimental.enabled"},{"command":"git.viewChanges","when":"config.git.enabled && !git.missing && config.multiDiffEditor.experimental.enabled"},{"command":"git.viewStagedChanges","when":"config.git.enabled && !git.missing && config.multiDiffEditor.experimental.enabled"},{"command":"git.viewUntrackedChanges","when":"config.git.enabled && !git.missing && config.multiDiffEditor.experimental.enabled && config.git.untrackedChanges == separate"},{"command":"git.viewCommit","when":"false"},{"command":"git.stageFile","when":"false"},{"command":"git.unstageFile","when":"false"},{"command":"git.fetchRef","when":"false"},{"command":"git.pullRef","when":"false"},{"command":"git.pushRef","when":"false"},{"command":"git.copyCommitId","when":"false"},{"command":"git.copyCommitMessage","when":"false"},{"command":"git.graph.checkout","when":"false"},{"command":"git.graph.checkoutDetached","when":"false"},{"command":"git.graph.deleteBranch","when":"false"},{"command":"git.graph.compareRef","when":"false"},{"command":"git.graph.deleteTag","when":"false"},{"command":"git.graph.cherryPick","when":"false"},{"command":"git.graph.compareWithMergeBase","when":"false"},{"command":"git.graph.compareWithRemote","when":"false"},{"command":"git.diff.stageHunk","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && diffEditorOriginalUri =~ /^git\\:.*%22ref%22%3A%22~%22%7D$/"},{"command":"git.diff.stageSelection","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && diffEditorOriginalUri =~ /^git\\:.*%22ref%22%3A%22~%22%7D$/"},{"command":"git.repositories.checkout","when":"false"},{"command":"git.repositories.checkoutDetached","when":"false"},{"command":"git.repositories.compareRef","when":"false"},{"command":"git.repositories.createBranch","when":"false"},{"command":"git.repositories.createTag","when":"false"},{"command":"git.repositories.merge","when":"false"},{"command":"git.repositories.rebase","when":"false"},{"command":"git.repositories.deleteBranch","when":"false"},{"command":"git.repositories.deleteTag","when":"false"},{"command":"git.repositories.createFrom","when":"false"}],"scm/title":[{"command":"git.commit","group":"navigation","when":"scmProvider == git"},{"command":"git.refresh","group":"navigation","when":"scmProvider == git"},{"command":"git.pull","group":"1_header@1","when":"scmProvider == git"},{"command":"git.push","group":"1_header@2","when":"scmProvider == git"},{"command":"git.clone","group":"1_header@3","when":"scmProvider == git"},{"command":"git.checkout","group":"1_header@4","when":"scmProvider == git"},{"command":"git.fetch","group":"1_header@5","when":"scmProvider == git"},{"submenu":"git.commit","group":"2_main@1","when":"scmProvider == git"},{"submenu":"git.changes","group":"2_main@2","when":"scmProvider == git"},{"submenu":"git.pullpush","group":"2_main@3","when":"scmProvider == git"},{"submenu":"git.branch","group":"2_main@4","when":"scmProvider == git"},{"submenu":"git.remotes","group":"2_main@5","when":"scmProvider == git"},{"submenu":"git.stash","group":"2_main@6","when":"scmProvider == git"},{"submenu":"git.tags","group":"2_main@7","when":"scmProvider == git"},{"submenu":"git.worktrees","group":"2_main@8","when":"scmProvider == git"},{"command":"git.showOutput","group":"3_footer","when":"scmProvider == git"}],"scm/repositories/title":[{"command":"git.reopenClosedRepositories","group":"navigation@1","when":"git.closedRepositoryCount > 0"}],"scm/repository":[{"command":"git.pull","group":"1_header@1","when":"scmProvider == git"},{"command":"git.push","group":"1_header@2","when":"scmProvider == git"},{"command":"git.clone","group":"1_header@3","when":"scmProvider == git"},{"command":"git.checkout","group":"1_header@4","when":"scmProvider == git"},{"command":"git.fetch","group":"1_header@5","when":"scmProvider == git"},{"submenu":"git.commit","group":"2_main@1","when":"scmProvider == git"},{"submenu":"git.changes","group":"2_main@2","when":"scmProvider == git"},{"submenu":"git.pullpush","group":"2_main@3","when":"scmProvider == git"},{"submenu":"git.branch","group":"2_main@4","when":"scmProvider == git"},{"submenu":"git.remotes","group":"2_main@5","when":"scmProvider == git"},{"submenu":"git.stash","group":"2_main@6","when":"scmProvider == git"},{"submenu":"git.tags","group":"2_main@7","when":"scmProvider == git"},{"submenu":"git.worktrees","group":"2_main@8","when":"scmProvider == git"},{"command":"git.showOutput","group":"3_footer","when":"scmProvider == git"}],"scm/sourceControl":[{"command":"git.close","group":"navigation@1","when":"scmProvider == git"},{"command":"git.closeOtherRepositories","group":"navigation@2","when":"scmProvider == git && gitOpenRepositoryCount > 1"},{"command":"git.openWorktree","group":"1_worktree@1","when":"scmProvider == git && scmProviderContext == worktree"},{"command":"git.openWorktreeInNewWindow","group":"1_worktree@2","when":"scmProvider == git && scmProviderContext == worktree"},{"command":"git.deleteWorktree","group":"2_worktree@1","when":"scmProvider == git && scmProviderContext == worktree"}],"scm/artifactGroup/context":[{"command":"git.repositories.createBranch","group":"inline@1","when":"scmProvider == git && scmArtifactGroup == branches"},{"command":"git.repositories.createTag","group":"inline@1","when":"scmProvider == git && scmArtifactGroup == tags"}],"scm/artifact/context":[{"command":"git.repositories.checkout","group":"inline@1","when":"scmProvider == git"},{"command":"git.repositories.checkout","group":"1_checkout@1","when":"scmProvider == git"},{"command":"git.repositories.checkoutDetached","group":"1_checkout@2","when":"scmProvider == git"},{"command":"git.repositories.merge","group":"2_modify@1","when":"scmProvider == git && scmArtifactGroupId == branches"},{"command":"git.repositories.rebase","group":"2_modify@2","when":"scmProvider == git && scmArtifactGroupId == branches"},{"command":"git.repositories.createFrom","group":"3_modify@1","when":"scmProvider == git && scmArtifactGroupId == branches"},{"command":"git.repositories.deleteBranch","group":"3_modify@2","when":"scmProvider == git && scmArtifactGroupId == branches"},{"command":"git.repositories.deleteTag","group":"3_modify@1","when":"scmProvider == git && scmArtifactGroupId == tags"},{"command":"git.repositories.compareRef","group":"4_compare@1","when":"scmProvider == git"}],"scm/resourceGroup/context":[{"command":"git.stageAllMerge","when":"scmProvider == git && scmResourceGroup == merge","group":"1_modification"},{"command":"git.stageAllMerge","when":"scmProvider == git && scmResourceGroup == merge","group":"inline@2"},{"command":"git.unstageAll","when":"scmProvider == git && scmResourceGroup == index","group":"1_modification"},{"command":"git.unstageAll","when":"scmProvider == git && scmResourceGroup == index","group":"inline@2"},{"command":"git.viewStagedChanges","when":"scmProvider == git && scmResourceGroup == index && config.multiDiffEditor.experimental.enabled","group":"inline@1"},{"command":"git.viewChanges","when":"scmProvider == git && scmResourceGroup == workingTree && config.multiDiffEditor.experimental.enabled","group":"inline@1"},{"command":"git.cleanAll","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges == mixed","group":"1_modification"},{"command":"git.stageAll","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges == mixed","group":"1_modification"},{"command":"git.cleanAll","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges == mixed","group":"inline@2"},{"command":"git.stageAll","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges == mixed","group":"inline@2"},{"command":"git.cleanAllTracked","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges != mixed","group":"1_modification"},{"command":"git.stageAllTracked","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges != mixed","group":"1_modification"},{"command":"git.cleanAllTracked","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges != mixed","group":"inline@2"},{"command":"git.stageAllTracked","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges != mixed","group":"inline@2"},{"command":"git.cleanAllUntracked","when":"scmProvider == git && scmResourceGroup == untracked","group":"1_modification"},{"command":"git.stageAllUntracked","when":"scmProvider == git && scmResourceGroup == untracked","group":"1_modification"},{"command":"git.viewUntrackedChanges","when":"scmProvider == git && scmResourceGroup == untracked && config.multiDiffEditor.experimental.enabled","group":"inline@1"},{"command":"git.cleanAllUntracked","when":"scmProvider == git && scmResourceGroup == untracked","group":"inline@2"},{"command":"git.stageAllUntracked","when":"scmProvider == git && scmResourceGroup == untracked","group":"inline@2"}],"scm/resourceFolder/context":[{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == merge","group":"1_modification"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == merge","group":"inline@2"},{"command":"git.unstage","when":"scmProvider == git && scmResourceGroup == index","group":"1_modification"},{"command":"git.unstage","when":"scmProvider == git && scmResourceGroup == index","group":"inline@2"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == workingTree","group":"1_modification"},{"command":"git.clean","when":"scmProvider == git && scmResourceGroup == workingTree","group":"1_modification"},{"command":"git.clean","when":"scmProvider == git && scmResourceGroup == workingTree","group":"inline@2"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == workingTree","group":"inline@2"},{"command":"git.ignore","when":"scmProvider == git && scmResourceGroup == workingTree","group":"1_modification@3"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == untracked","group":"1_modification"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == untracked","group":"inline@2"},{"command":"git.clean","when":"scmProvider == git && scmResourceGroup == untracked","group":"1_modification"},{"command":"git.clean","when":"scmProvider == git && scmResourceGroup == untracked","group":"inline@2"},{"command":"git.ignore","when":"scmProvider == git && scmResourceGroup == untracked","group":"1_modification@3"}],"scm/resourceState/context":[{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == merge","group":"1_modification"},{"command":"git.openFile","when":"scmProvider == git && scmResourceGroup == merge","group":"navigation"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == merge","group":"inline@2"},{"command":"git.revealFileInOS.linux","when":"scmProvider == git && scmResourceGroup == merge && remoteName == '' && isLinux","group":"2_view@1"},{"command":"git.revealFileInOS.mac","when":"scmProvider == git && scmResourceGroup == merge && remoteName == '' && isMac","group":"2_view@1"},{"command":"git.revealFileInOS.windows","when":"scmProvider == git && scmResourceGroup == merge && remoteName == '' && isWindows","group":"2_view@1"},{"command":"git.revealInExplorer","when":"scmProvider == git && scmResourceGroup == merge","group":"2_view@2"},{"command":"git.openFile2","when":"scmProvider == git && scmResourceGroup == merge && config.git.showInlineOpenFileAction && config.git.openDiffOnClick","group":"inline@1"},{"command":"git.openChange","when":"scmProvider == git && scmResourceGroup == merge && config.git.showInlineOpenFileAction && !config.git.openDiffOnClick","group":"inline@1"},{"command":"git.openChange","when":"scmProvider == git && scmResourceGroup == index","group":"navigation"},{"command":"git.openFile","when":"scmProvider == git && scmResourceGroup == index","group":"navigation"},{"command":"git.openHEADFile","when":"scmProvider == git && scmResourceGroup == index","group":"navigation"},{"command":"git.unstage","when":"scmProvider == git && scmResourceGroup == index","group":"1_modification"},{"command":"git.unstage","when":"scmProvider == git && scmResourceGroup == index","group":"inline@2"},{"command":"git.revealFileInOS.linux","when":"scmProvider == git && scmResourceGroup == index && remoteName == '' && isLinux","group":"2_view@1"},{"command":"git.revealFileInOS.mac","when":"scmProvider == git && scmResourceGroup == index && remoteName == '' && isMac","group":"2_view@1"},{"command":"git.revealFileInOS.windows","when":"scmProvider == git && scmResourceGroup == index && remoteName == '' && isWindows","group":"2_view@1"},{"command":"git.revealInExplorer","when":"scmProvider == git && scmResourceGroup == index","group":"2_view@2"},{"command":"git.compareWithWorkspace","when":"scmProvider == git && scmResourceGroup == index && scmResourceState == worktree","group":"worktree_diff"},{"command":"git.openFile2","when":"scmProvider == git && scmResourceGroup == index && config.git.showInlineOpenFileAction && config.git.openDiffOnClick","group":"inline@1"},{"command":"git.openChange","when":"scmProvider == git && scmResourceGroup == index && config.git.showInlineOpenFileAction && !config.git.openDiffOnClick","group":"inline@1"},{"command":"git.openChange","when":"scmProvider == git && scmResourceGroup == workingTree","group":"navigation"},{"command":"git.openHEADFile","when":"scmProvider == git && scmResourceGroup == workingTree","group":"navigation"},{"command":"git.openFile","when":"scmProvider == git && scmResourceGroup == workingTree","group":"navigation"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == workingTree","group":"1_modification"},{"command":"git.clean","when":"scmProvider == git && scmResourceGroup == workingTree","group":"1_modification"},{"command":"git.clean","when":"scmProvider == git && scmResourceGroup == workingTree","group":"inline@2"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == workingTree","group":"inline@2"},{"command":"git.compareWithWorkspace","when":"scmProvider == git && scmResourceGroup == workingTree && scmResourceState == worktree","group":"worktree_diff"},{"command":"git.openFile2","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.showInlineOpenFileAction && config.git.openDiffOnClick","group":"inline@1"},{"command":"git.openChange","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.showInlineOpenFileAction && !config.git.openDiffOnClick","group":"inline@1"},{"command":"git.ignore","when":"scmProvider == git && scmResourceGroup == workingTree","group":"1_modification@3"},{"command":"git.revealFileInOS.linux","when":"scmProvider == git && scmResourceGroup == workingTree && remoteName == '' && isLinux","group":"2_view@1"},{"command":"git.revealFileInOS.mac","when":"scmProvider == git && scmResourceGroup == workingTree && remoteName == '' && isMac","group":"2_view@1"},{"command":"git.revealFileInOS.windows","when":"scmProvider == git && scmResourceGroup == workingTree && remoteName == '' && isWindows","group":"2_view@1"},{"command":"git.revealInExplorer","when":"scmProvider == git && scmResourceGroup == workingTree","group":"2_view@2"},{"command":"git.openChange","when":"scmProvider == git && scmResourceGroup == untracked","group":"navigation"},{"command":"git.openHEADFile","when":"scmProvider == git && scmResourceGroup == untracked","group":"navigation"},{"command":"git.openFile","when":"scmProvider == git && scmResourceGroup == untracked","group":"navigation"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == untracked","group":"1_modification"},{"command":"git.clean","when":"scmProvider == git && scmResourceGroup == untracked && !gitFreshRepository","group":"1_modification"},{"command":"git.clean","when":"scmProvider == git && scmResourceGroup == untracked && !gitFreshRepository","group":"inline@2"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == untracked","group":"inline@2"},{"command":"git.openFile2","when":"scmProvider == git && scmResourceGroup == untracked && config.git.showInlineOpenFileAction && config.git.openDiffOnClick","group":"inline@1"},{"command":"git.openChange","when":"scmProvider == git && scmResourceGroup == untracked && config.git.showInlineOpenFileAction && !config.git.openDiffOnClick","group":"inline@1"},{"command":"git.ignore","when":"scmProvider == git && scmResourceGroup == untracked","group":"1_modification@3"}],"scm/history/title":[{"command":"git.fetchAll","group":"navigation@900","when":"scmProvider == git"},{"command":"git.pullRef","group":"navigation@901","when":"scmProvider == git"},{"command":"git.pushRef","when":"scmProvider == git && scmCurrentHistoryItemRefHasRemote","group":"navigation@902"},{"command":"git.publish","when":"scmProvider == git && !scmCurrentHistoryItemRefHasRemote","group":"navigation@903"}],"scm/historyItem/context":[{"command":"git.graph.checkoutDetached","when":"scmProvider == git","group":"1_checkout@2"},{"command":"git.branch","when":"scmProvider == git","group":"2_branch@2"},{"command":"git.createTag","when":"scmProvider == git","group":"3_tag@1"},{"command":"git.graph.cherryPick","when":"scmProvider == git","group":"4_modify@1"},{"command":"git.graph.compareWithRemote","when":"scmProvider == git","group":"5_compare@1"},{"command":"git.graph.compareWithMergeBase","when":"scmProvider == git","group":"5_compare@2"},{"command":"git.graph.compareRef","when":"scmProvider == git","group":"5_compare@3"},{"command":"git.copyCommitId","when":"scmProvider == git && !listMultiSelection","group":"9_copy@1"},{"command":"git.copyCommitMessage","when":"scmProvider == git && !listMultiSelection","group":"9_copy@2"}],"scm/historyItemRef/context":[{"command":"git.graph.checkout","when":"scmProvider == git","group":"1_checkout@1"},{"command":"git.graph.deleteBranch","when":"scmProvider == git && scmHistoryItemRef =~ /^refs\\/heads\\/|^refs\\/remotes\\//","group":"2_branch@2"},{"command":"git.graph.deleteTag","when":"scmProvider == git && scmHistoryItemRef =~ /^refs\\/tags\\//","group":"3_tag@2"}],"editor/title":[{"command":"git.openFile","group":"navigation","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && resourceScheme =~ /^git$|^file$/"},{"command":"git.openFile","group":"navigation","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInNotebookTextDiffEditor && resourceScheme =~ /^git$|^file$/"},{"command":"git.openFile","group":"navigation","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && !isInDiffEditor && !isInNotebookTextDiffEditor && resourceScheme == git"},{"command":"git.openChange","group":"navigation@2","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && !isInDiffEditor && !isMergeEditor && resourceScheme == file && scmActiveResourceHasChanges"},{"command":"git.commitMessageAccept","group":"navigation","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && editorLangId == git-commit"},{"command":"git.commitMessageDiscard","group":"navigation","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && editorLangId == git-commit"},{"command":"git.stashApplyEditor","alt":"git.stashPopEditor","group":"navigation@1","when":"config.git.enabled && !git.missing && resourceScheme == git-stash"},{"command":"git.stashDropEditor","group":"navigation@2","when":"config.git.enabled && !git.missing && resourceScheme == git-stash"},{"command":"git.stage","group":"2_git@1","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && !isInDiffEditor && !isMergeEditor && resourceScheme == file && git.activeResourceHasUnstagedChanges"},{"command":"git.unstage","group":"2_git@2","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && !isInDiffEditor && !isMergeEditor && resourceScheme == file && git.activeResourceHasStagedChanges"},{"command":"git.stage","group":"2_git@1","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == file"},{"command":"git.stageSelectedRanges","group":"2_git@2","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == file"},{"command":"git.unstage","group":"2_git@3","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == git"},{"command":"git.unstageSelectedRanges","group":"2_git@4","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == git"},{"command":"git.revertSelectedRanges","group":"2_git@5","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == file"}],"editor/context":[{"command":"git.stageSelectedRanges","group":"2_git@1","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == file"},{"command":"git.unstageSelectedRanges","group":"2_git@2","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == git"},{"command":"git.revertSelectedRanges","group":"2_git@3","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == file"}],"editor/content":[{"command":"git.acceptMerge","when":"isMergeResultEditor && mergeEditorBaseUri =~ /^(git|file):/ && mergeEditorResultUri in git.mergeChanges"},{"command":"git.openMergeEditor","group":"navigation@-10","when":"config.git.enabled && !git.missing && !isInDiffEditor && !isMergeEditor && git.activeResourceHasMergeConflicts"}],"multiDiffEditor/resource/title":[{"command":"git.stageFile","group":"navigation","when":"scmProvider == git && scmResourceGroup == workingTree"},{"command":"git.stageFile","group":"navigation","when":"scmProvider == git && scmResourceGroup == untracked"},{"command":"git.unstageFile","group":"navigation","when":"scmProvider == git && scmResourceGroup == index"}],"diffEditor/gutter/hunk":[{"command":"git.diff.stageHunk","group":"primary@10","when":"diffEditorOriginalUri =~ /^git\\:.*%22ref%22%3A%22~%22%7D$/"}],"diffEditor/gutter/selection":[{"command":"git.diff.stageSelection","group":"primary@10","when":"diffEditorOriginalUri =~ /^git\\:.*%22ref%22%3A%22~%22%7D$/"}],"scm/change/title":[{"command":"git.stageChange","when":"config.git.enabled && !git.missing && originalResource =~ /^git\\:.*%22ref%22%3A%22%22%7D$/"},{"command":"git.revertChange","when":"config.git.enabled && !git.missing && originalResource =~ /^git\\:.*%22ref%22%3A%22%22%7D$/"},{"command":"git.unstageChange","when":"false"}],"timeline/item/context":[{"command":"git.timeline.viewCommit","group":"inline","when":"config.git.enabled && !git.missing && timelineItem =~ /git:file:commit\\b/ && !listMultiSelection && config.multiDiffEditor.experimental.enabled"},{"command":"git.timeline.openDiff","group":"1_actions@1","when":"config.git.enabled && !git.missing && timelineItem =~ /git:file\\b/ && !listMultiSelection"},{"command":"git.timeline.viewCommit","group":"1_actions@2","when":"config.git.enabled && !git.missing && timelineItem =~ /git:file:commit\\b/ && !listMultiSelection && config.multiDiffEditor.experimental.enabled"},{"command":"git.timeline.compareWithSelected","group":"3_compare@1","when":"config.git.enabled && !git.missing && git.timeline.selectedForCompare && timelineItem =~ /git:file\\b/ && !listMultiSelection"},{"command":"git.timeline.selectForCompare","group":"3_compare@2","when":"config.git.enabled && !git.missing && timelineItem =~ /git:file\\b/ && !listMultiSelection"},{"command":"git.timeline.copyCommitId","group":"5_copy@1","when":"config.git.enabled && !git.missing && timelineItem =~ /git:file:commit\\b/ && !listMultiSelection"},{"command":"git.timeline.copyCommitMessage","group":"5_copy@2","when":"config.git.enabled && !git.missing && timelineItem =~ /git:file:commit\\b/ && !listMultiSelection"}],"git.commit":[{"command":"git.commit","group":"1_commit@1"},{"command":"git.commitStaged","group":"1_commit@2"},{"command":"git.commitAll","group":"1_commit@3"},{"command":"git.undoCommit","group":"1_commit@4"},{"command":"git.rebaseAbort","group":"1_commit@5"},{"command":"git.commitNoVerify","group":"2_commit_noverify@1","when":"config.git.allowNoVerifyCommit"},{"command":"git.commitStagedNoVerify","group":"2_commit_noverify@2","when":"config.git.allowNoVerifyCommit"},{"command":"git.commitAllNoVerify","group":"2_commit_noverify@3","when":"config.git.allowNoVerifyCommit"},{"command":"git.commitAmend","group":"3_amend@1"},{"command":"git.commitStagedAmend","group":"3_amend@2"},{"command":"git.commitAllAmend","group":"3_amend@3"},{"command":"git.commitAmendNoVerify","group":"4_amend_noverify@1","when":"config.git.allowNoVerifyCommit"},{"command":"git.commitStagedAmendNoVerify","group":"4_amend_noverify@2","when":"config.git.allowNoVerifyCommit"},{"command":"git.commitAllAmendNoVerify","group":"4_amend_noverify@3","when":"config.git.allowNoVerifyCommit"},{"command":"git.commitSigned","group":"5_signoff@1"},{"command":"git.commitStagedSigned","group":"5_signoff@2"},{"command":"git.commitAllSigned","group":"5_signoff@3"},{"command":"git.commitSignedNoVerify","group":"6_signoff_noverify@1","when":"config.git.allowNoVerifyCommit"},{"command":"git.commitStagedSignedNoVerify","group":"6_signoff_noverify@2","when":"config.git.allowNoVerifyCommit"},{"command":"git.commitAllSignedNoVerify","group":"6_signoff_noverify@3","when":"config.git.allowNoVerifyCommit"}],"git.changes":[{"command":"git.stageAll","group":"changes@1"},{"command":"git.unstageAll","group":"changes@2"},{"command":"git.cleanAll","group":"changes@3"}],"git.pullpush":[{"command":"git.sync","group":"1_sync@1"},{"command":"git.syncRebase","when":"gitState == idle","group":"1_sync@2"},{"command":"git.pull","group":"2_pull@1"},{"command":"git.pullRebase","group":"2_pull@2"},{"command":"git.pullFrom","group":"2_pull@3"},{"command":"git.push","group":"3_push@1"},{"command":"git.pushForce","when":"config.git.allowForcePush","group":"3_push@2"},{"command":"git.pushTo","group":"3_push@3"},{"command":"git.pushToForce","when":"config.git.allowForcePush","group":"3_push@4"},{"command":"git.fetch","group":"4_fetch@1"},{"command":"git.fetchPrune","group":"4_fetch@2"},{"command":"git.fetchAll","group":"4_fetch@3"}],"git.branch":[{"command":"git.merge","group":"1_merge@1"},{"command":"git.rebase","group":"1_merge@2"},{"command":"git.branch","group":"2_branch@1"},{"command":"git.branchFrom","group":"2_branch@2"},{"command":"git.renameBranch","group":"3_modify@1"},{"command":"git.deleteBranch","group":"3_modify@2"},{"command":"git.deleteRemoteBranch","group":"3_modify@3"},{"command":"git.publish","group":"4_publish@1"}],"git.remotes":[{"command":"git.addRemote","group":"remote@1"},{"command":"git.removeRemote","group":"remote@2"}],"git.stash":[{"command":"git.stash","group":"1_stash@1"},{"command":"git.stashIncludeUntracked","group":"1_stash@2"},{"command":"git.stashStaged","when":"gitVersion2.35","group":"1_stash@3"},{"command":"git.stashApplyLatest","group":"2_apply@1"},{"command":"git.stashApply","group":"2_apply@2"},{"command":"git.stashPopLatest","group":"3_pop@1"},{"command":"git.stashPop","group":"3_pop@2"},{"command":"git.stashDrop","group":"4_drop@1"},{"command":"git.stashDropAll","group":"4_drop@2"},{"command":"git.stashView","when":"config.multiDiffEditor.experimental.enabled","group":"5_preview@1"}],"git.tags":[{"command":"git.createTag","group":"tags@1"},{"command":"git.deleteTag","group":"tags@2"},{"command":"git.deleteRemoteTag","group":"tags@3"}],"git.worktrees":[{"when":"scmProviderContext == worktree","command":"git.openWorktree","group":"openWorktrees@1"},{"when":"scmProviderContext == worktree","command":"git.openWorktreeInNewWindow","group":"openWorktrees@2"},{"when":"scmProviderContext == repository","command":"git.createWorktree","group":"worktrees@1"},{"when":"scmProviderContext == worktree","command":"git.deleteWorktree","group":"worktrees@2"}]},"submenus":[{"id":"git.commit","label":"Commit"},{"id":"git.changes","label":"Changes"},{"id":"git.pullpush","label":"Pull, Push"},{"id":"git.branch","label":"Branch"},{"id":"git.remotes","label":"Remote"},{"id":"git.stash","label":"Stash"},{"id":"git.tags","label":"Tags"},{"id":"git.worktrees","label":"Worktrees"}],"configuration":{"title":"Git","properties":{"git.enabled":{"type":"boolean","scope":"resource","description":"Whether Git is enabled.","default":true},"git.path":{"type":["string","null","array"],"markdownDescription":"Path and filename of the git executable, e.g. `C:\\Program Files\\Git\\bin\\git.exe` (Windows). This can also be an array of string values containing multiple paths to look up.","default":null,"scope":"machine"},"git.autoRepositoryDetection":{"type":["boolean","string"],"enum":[true,false,"subFolders","openEditors"],"enumDescriptions":["Scan for both subfolders of the current opened folder and parent folders of open files.","Disable automatic repository scanning.","Scan for subfolders of the currently opened folder.","Scan for parent folders of open files."],"description":"Configures when repositories should be automatically detected.","default":true},"git.autorefresh":{"type":"boolean","description":"Whether auto refreshing is enabled.","default":true},"git.autofetch":{"type":["boolean","string"],"enum":[true,false,"all"],"scope":"resource","markdownDescription":"When set to true, commits will automatically be fetched from the default remote of the current Git repository. Setting to `all` will fetch from all remotes.","default":false,"tags":["usesOnlineServices"]},"git.autofetchPeriod":{"type":"number","scope":"resource","markdownDescription":"Duration in seconds between each automatic git fetch, when `#git.autofetch#` is enabled.","default":180},"git.defaultBranchName":{"type":"string","markdownDescription":"The name of the default branch (example: main, trunk, development) when initializing a new Git repository. When set to empty, the default branch name configured in Git will be used. **Note:** Requires Git version `2.28.0` or later.","default":"main","scope":"resource"},"git.branchPrefix":{"type":"string","description":"Prefix used when creating a new branch.","default":"","scope":"resource"},"git.branchProtection":{"type":"array","markdownDescription":"List of protected branches. By default, a prompt is shown before changes are committed to a protected branch. The prompt can be controlled using the `#git.branchProtectionPrompt#` setting.","items":{"type":"string"},"default":[],"scope":"resource"},"git.branchProtectionPrompt":{"type":"string","description":"Controls whether a prompt is being shown before changes are committed to a protected branch.","enum":["alwaysCommit","alwaysCommitToNewBranch","alwaysPrompt"],"enumDescriptions":["Always commit changes to the protected branch.","Always commit changes to a new branch.","Always prompt before changes are committed to a protected branch."],"default":"alwaysPrompt","scope":"resource"},"git.branchValidationRegex":{"type":"string","description":"A regular expression to validate new branch names.","default":""},"git.branchWhitespaceChar":{"type":"string","description":"The character to replace whitespace in new branch names, and to separate segments of a randomly generated branch name.","default":"-"},"git.branchRandomName.enable":{"type":"boolean","description":"Controls whether a random name is generated when creating a new branch.","default":false,"scope":"resource"},"git.branchRandomName.dictionary":{"type":"array","markdownDescription":"List of dictionaries used for the randomly generated branch name. Each value represents the dictionary used to generate the segment of the branch name. Supported dictionaries: `adjectives`, `animals`, `colors` and `numbers`.","items":{"type":"string","enum":["adjectives","animals","colors","numbers"],"enumDescriptions":["A random adjective","A random animal name","A random color name","A random number between 100 and 999"]},"minItems":1,"maxItems":5,"default":["adjectives","animals"],"scope":"resource"},"git.confirmSync":{"type":"boolean","description":"Confirm before synchronizing Git repositories.","default":true},"git.countBadge":{"type":"string","enum":["all","tracked","off"],"enumDescriptions":["Count all changes.","Count only tracked changes.","Turn off counter."],"description":"Controls the Git count badge.","default":"all","scope":"resource"},"git.checkoutType":{"type":"array","items":{"type":"string","enum":["local","tags","remote"],"enumDescriptions":["Local branches","Tags","Remote branches"]},"uniqueItems":true,"markdownDescription":"Controls what type of Git refs are listed when running `Checkout to...`.","default":["local","remote","tags"]},"git.ignoreLegacyWarning":{"type":"boolean","description":"Ignores the legacy Git warning.","default":false},"git.ignoreMissingGitWarning":{"type":"boolean","description":"Ignores the warning when Git is missing.","default":false},"git.ignoreWindowsGit27Warning":{"type":"boolean","description":"Ignores the warning when Git 2.25 - 2.26 is installed on Windows.","default":false},"git.ignoreLimitWarning":{"type":"boolean","description":"Ignores the warning when there are too many changes in a repository.","default":false},"git.ignoreRebaseWarning":{"type":"boolean","description":"Ignores the warning when it looks like the branch might have been rebased when pulling.","default":false},"git.defaultCloneDirectory":{"type":["string","null"],"default":null,"scope":"machine","description":"The default location to clone a Git repository."},"git.useEditorAsCommitInput":{"type":"boolean","description":"Controls whether a full text editor will be used to author commit messages, whenever no message is provided in the commit input box.","default":true},"git.verboseCommit":{"type":"boolean","scope":"resource","markdownDescription":"Enable verbose output when `#git.useEditorAsCommitInput#` is enabled.","default":false},"git.enableSmartCommit":{"type":"boolean","scope":"resource","description":"Commit all changes when there are no staged changes.","default":false},"git.smartCommitChanges":{"type":"string","enum":["all","tracked"],"enumDescriptions":["Automatically stage all changes.","Automatically stage tracked changes only."],"scope":"resource","description":"Control which changes are automatically staged by Smart Commit.","default":"all"},"git.suggestSmartCommit":{"type":"boolean","scope":"resource","description":"Suggests to enable smart commit (commit all changes when there are no staged changes).","default":true},"git.enableCommitSigning":{"type":"boolean","scope":"resource","description":"Enables commit signing with GPG, X.509, or SSH.","default":false},"git.confirmEmptyCommits":{"type":"boolean","scope":"resource","description":"Always confirm the creation of empty commits for the 'Git: Commit Empty' command.","default":true},"git.decorations.enabled":{"type":"boolean","default":true,"description":"Controls whether Git contributes colors and badges to the Explorer and the Open Editors view."},"git.enableStatusBarSync":{"type":"boolean","default":true,"description":"Controls whether the Git Sync command appears in the status bar.","scope":"resource"},"git.followTagsWhenSync":{"type":"boolean","scope":"resource","default":false,"description":"Push all annotated tags when running the sync command."},"git.replaceTagsWhenPull":{"type":"boolean","scope":"resource","default":false,"description":"Automatically replace the local tags with the remote tags in case of a conflict when running the pull command."},"git.promptToSaveFilesBeforeStash":{"type":"string","enum":["always","staged","never"],"enumDescriptions":["Check for any unsaved files.","Check only for unsaved staged files.","Disable this check."],"scope":"resource","default":"always","description":"Controls whether Git should check for unsaved files before stashing changes."},"git.promptToSaveFilesBeforeCommit":{"type":"string","enum":["always","staged","never"],"enumDescriptions":["Check for any unsaved files.","Check only for unsaved staged files.","Disable this check."],"scope":"resource","default":"always","description":"Controls whether Git should check for unsaved files before committing."},"git.postCommitCommand":{"type":"string","enum":["none","push","sync"],"enumDescriptions":["Don't run any command after a commit.","Run 'git push' after a successful commit.","Run 'git pull' and 'git push' after a successful commit."],"markdownDescription":"Run a git command after a successful commit.","scope":"resource","default":"none"},"git.rememberPostCommitCommand":{"type":"boolean","description":"Remember the last git command that ran after a commit.","scope":"resource","default":false},"git.openAfterClone":{"type":"string","enum":["always","alwaysNewWindow","whenNoFolderOpen","prompt"],"enumDescriptions":["Always open in current window.","Always open in a new window.","Only open in current window when no folder is opened.","Always prompt for action."],"default":"prompt","description":"Controls whether to open a repository automatically after cloning."},"git.showInlineOpenFileAction":{"type":"boolean","default":true,"description":"Controls whether to show an inline Open File action in the Git changes view."},"git.showPushSuccessNotification":{"type":"boolean","description":"Controls whether to show a notification when a push is successful.","default":false},"git.inputValidation":{"type":"boolean","default":false,"description":"Controls whether to show commit message input validation diagnostics."},"git.inputValidationLength":{"type":"number","default":72,"description":"Controls the commit message length threshold for showing a warning."},"git.inputValidationSubjectLength":{"type":["number","null"],"default":50,"markdownDescription":"Controls the commit message subject length threshold for showing a warning. Unset it to inherit the value of `#git.inputValidationLength#`."},"git.detectSubmodules":{"type":"boolean","scope":"resource","default":true,"description":"Controls whether to automatically detect Git submodules."},"git.detectSubmodulesLimit":{"type":"number","scope":"resource","default":10,"description":"Controls the limit of Git submodules detected."},"git.detectWorktrees":{"type":"boolean","scope":"resource","default":true,"description":"Controls whether to automatically detect Git worktrees."},"git.detectWorktreesLimit":{"type":"number","scope":"resource","default":10,"description":"Controls the limit of Git worktrees detected."},"git.alwaysShowStagedChangesResourceGroup":{"type":"boolean","scope":"resource","default":false,"description":"Always show the Staged Changes resource group."},"git.alwaysSignOff":{"type":"boolean","scope":"resource","default":false,"description":"Controls the signoff flag for all commits."},"git.ignoreSubmodules":{"type":"boolean","scope":"resource","default":false,"description":"Ignore modifications to submodules in the file tree."},"git.ignoredRepositories":{"type":"array","items":{"type":"string"},"default":[],"scope":"window","description":"List of Git repositories to ignore."},"git.scanRepositories":{"type":"array","items":{"type":"string"},"default":[],"scope":"resource","description":"List of paths to search for Git repositories in."},"git.showProgress":{"type":"boolean","description":"Controls whether Git actions should show progress.","default":true,"scope":"resource"},"git.rebaseWhenSync":{"type":"boolean","scope":"resource","default":false,"description":"Force Git to use rebase when running the sync command."},"git.pullBeforeCheckout":{"type":"boolean","scope":"resource","default":false,"description":"Controls whether a branch that does not have outgoing commits is fast-forwarded before it is checked out."},"git.fetchOnPull":{"type":"boolean","scope":"resource","default":false,"description":"When enabled, fetch all branches when pulling. Otherwise, fetch just the current one."},"git.pruneOnFetch":{"type":"boolean","scope":"resource","default":false,"description":"Prune when fetching."},"git.pullTags":{"type":"boolean","scope":"resource","default":true,"description":"Fetch all tags when pulling."},"git.autoStash":{"type":"boolean","scope":"resource","default":false,"description":"Stash any changes before pulling and restore them after successful pull."},"git.allowForcePush":{"type":"boolean","default":false,"description":"Controls whether force push (with or without lease) is enabled."},"git.useForcePushWithLease":{"type":"boolean","default":true,"description":"Controls whether force pushing uses the safer force-with-lease variant."},"git.useForcePushIfIncludes":{"type":"boolean","default":true,"markdownDescription":"Controls whether force pushing uses the safer force-if-includes variant. Note: This setting requires the `#git.useForcePushWithLease#` setting to be enabled, and Git version `2.30.0` or later."},"git.confirmForcePush":{"type":"boolean","default":true,"description":"Controls whether to ask for confirmation before force-pushing."},"git.allowNoVerifyCommit":{"type":"boolean","default":false,"description":"Controls whether commits without running pre-commit and commit-msg hooks are allowed."},"git.confirmNoVerifyCommit":{"type":"boolean","default":true,"description":"Controls whether to ask for confirmation before committing without verification."},"git.closeDiffOnOperation":{"type":"boolean","scope":"resource","default":false,"description":"Controls whether the diff editor should be automatically closed when changes are stashed, committed, discarded, staged, or unstaged."},"git.openDiffOnClick":{"type":"boolean","scope":"resource","default":true,"description":"Controls whether the diff editor should be opened when clicking a change. Otherwise the regular editor will be opened."},"git.supportCancellation":{"type":"boolean","scope":"resource","default":false,"description":"Controls whether a notification comes up when running the Sync action, which allows the user to cancel the operation."},"git.branchSortOrder":{"type":"string","enum":["committerdate","alphabetically"],"default":"committerdate","description":"Controls the sort order for branches."},"git.untrackedChanges":{"type":"string","enum":["mixed","separate","hidden"],"enumDescriptions":["All changes, tracked and untracked, appear together and behave equally.","Untracked changes appear separately in the Source Control view. They are also excluded from several actions.","Untracked changes are hidden and excluded from several actions."],"default":"mixed","description":"Controls how untracked changes behave.","scope":"resource"},"git.requireGitUserConfig":{"type":"boolean","description":"Controls whether to require explicit Git user configuration or allow Git to guess if missing.","default":true,"scope":"resource"},"git.showCommitInput":{"type":"boolean","scope":"resource","default":true,"description":"Controls whether to show the commit input in the Git source control panel."},"git.terminalAuthentication":{"type":"boolean","default":true,"description":"Controls whether to enable VS Code to be the authentication handler for Git processes spawned in the Integrated Terminal. Note: Terminals need to be restarted to pick up a change in this setting."},"git.terminalGitEditor":{"type":"boolean","default":false,"description":"Controls whether to enable VS Code to be the Git editor for Git processes spawned in the integrated terminal. Note: Terminals need to be restarted to pick up a change in this setting."},"git.useCommitInputAsStashMessage":{"type":"boolean","scope":"resource","default":false,"description":"Controls whether to use the message from the commit input box as the default stash message."},"git.useIntegratedAskPass":{"type":"boolean","default":true,"description":"Controls whether GIT_ASKPASS should be overwritten to use the integrated version."},"git.githubAuthentication":{"markdownDeprecationMessage":"This setting is now deprecated, please use `#github.gitAuthentication#` instead."},"git.timeline.date":{"type":"string","enum":["committed","authored"],"enumDescriptions":["Use the committed date","Use the authored date"],"default":"committed","description":"Controls which date to use for items in the Timeline view.","scope":"window"},"git.timeline.showAuthor":{"type":"boolean","default":true,"description":"Controls whether to show the commit author in the Timeline view.","scope":"window"},"git.timeline.showUncommitted":{"type":"boolean","default":false,"description":"Controls whether to show uncommitted changes in the Timeline view.","scope":"window"},"git.showActionButton":{"type":"object","additionalProperties":false,"description":"Controls whether an action button is shown in the Source Control view.","properties":{"commit":{"type":"boolean","description":"Show an action button to commit changes when the local branch has modified files ready to be committed."},"publish":{"type":"boolean","description":"Show an action button to publish the local branch when it does not have a tracking remote branch."},"sync":{"type":"boolean","description":"Show an action button to synchronize changes when the local branch is either ahead or behind the remote branch."}},"default":{"commit":true,"publish":true,"sync":true},"scope":"resource"},"git.statusLimit":{"type":"number","scope":"resource","default":10000,"description":"Controls how to limit the number of changes that can be parsed from Git status command. Can be set to 0 for no limit."},"git.repositoryScanIgnoredFolders":{"type":"array","items":{"type":"string"},"default":["node_modules"],"scope":"resource","markdownDescription":"List of folders that are ignored while scanning for Git repositories when `#git.autoRepositoryDetection#` is set to `true` or `subFolders`."},"git.repositoryScanMaxDepth":{"type":"number","scope":"resource","default":1,"markdownDescription":"Controls the depth used when scanning workspace folders for Git repositories when `#git.autoRepositoryDetection#` is set to `true` or `subFolders`. Can be set to `-1` for no limit."},"git.commandsToLog":{"type":"array","items":{"type":"string"},"default":[],"markdownDescription":"List of git commands (ex: commit, push) that would have their `stdout` logged to the [git output](command:git.showOutput). If the git command has a client-side hook configured, the client-side hook's `stdout` will also be logged to the [git output](command:git.showOutput)."},"git.mergeEditor":{"type":"boolean","default":false,"markdownDescription":"Open the merge editor for files that are currently under conflict.","scope":"window"},"git.optimisticUpdate":{"type":"boolean","default":true,"markdownDescription":"Controls whether to optimistically update the state of the Source Control view after running git commands.","scope":"resource","tags":["experimental"]},"git.openRepositoryInParentFolders":{"type":"string","enum":["always","never","prompt"],"enumDescriptions":["Always open a repository in parent folders of workspaces or open files.","Never open a repository in parent folders of workspaces or open files.","Prompt before opening a repository the parent folders of workspaces or open files."],"default":"prompt","markdownDescription":"Control whether a repository in parent folders of workspaces or open files should be opened.","scope":"resource"},"git.similarityThreshold":{"type":"number","default":50,"minimum":0,"maximum":100,"markdownDescription":"Controls the threshold of the similarity index (the amount of additions/deletions compared to the file's size) for changes in a pair of added/deleted files to be considered a rename. **Note:** Requires Git version `2.18.0` or later.","scope":"resource"},"git.blame.editorDecoration.enabled":{"type":"boolean","default":false,"markdownDescription":"Controls whether to show blame information in the editor using editor decorations."},"git.blame.editorDecoration.template":{"type":"string","default":"${subject}, ${authorName} (${authorDateAgo})","markdownDescription":"Template for the blame information editor decoration. Supported variables:\n\n* `hash`: Commit hash\n\n* `hashShort`: First N characters of the commit hash according to `#git.commitShortHashLength#`\n\n* `subject`: First line of the commit message\n\n* `authorName`: Author name\n\n* `authorEmail`: Author email\n\n* `authorDate`: Author date\n\n* `authorDateAgo`: Time difference between now and the author date\n\n"},"git.blame.statusBarItem.enabled":{"type":"boolean","default":true,"markdownDescription":"Controls whether to show blame information in the status bar."},"git.blame.statusBarItem.template":{"type":"string","default":"${authorName} (${authorDateAgo})","markdownDescription":"Template for the blame information status bar item. Supported variables:\n\n* `hash`: Commit hash\n\n* `hashShort`: First N characters of the commit hash according to `#git.commitShortHashLength#`\n\n* `subject`: First line of the commit message\n\n* `authorName`: Author name\n\n* `authorEmail`: Author email\n\n* `authorDate`: Author date\n\n* `authorDateAgo`: Time difference between now and the author date\n\n"},"git.commitShortHashLength":{"type":"number","default":7,"minimum":7,"maximum":40,"markdownDescription":"Controls the length of the commit short hash.","scope":"resource"},"git.diagnosticsCommitHook.enabled":{"type":"boolean","default":false,"markdownDescription":"Controls whether to check for unresolved diagnostics before committing.","scope":"resource"},"git.diagnosticsCommitHook.sources":{"type":"object","additionalProperties":{"type":"string","enum":["error","warning","information","hint","none"]},"default":{"*":"error"},"markdownDescription":"Controls the list of sources (**Item**) and the minimum severity (**Value**) to be considered before committing. **Note:** To ignore diagnostics from a particular source, add the source to the list and set the minimum severity to `none`.","scope":"resource"},"git.discardUntrackedChangesToTrash":{"type":"boolean","default":true,"markdownDescription":"Controls whether discarding untracked changes moves the file(s) to the Recycle Bin (Windows), Trash (macOS, Linux) instead of deleting them permanently. **Note:** This setting has no effect when connected to a remote or when running in Linux as a snap package."},"git.showReferenceDetails":{"type":"boolean","default":true,"markdownDescription":"Controls whether to show the details of the last commit for Git refs in the checkout, branch, and tag pickers."}}},"colors":[{"id":"gitDecoration.addedResourceForeground","description":"Color for added resources.","defaults":{"light":"#587c0c","dark":"#81b88b","highContrast":"#a1e3ad","highContrastLight":"#374e06"}},{"id":"gitDecoration.modifiedResourceForeground","description":"Color for modified resources.","defaults":{"light":"#895503","dark":"#E2C08D","highContrast":"#E2C08D","highContrastLight":"#895503"}},{"id":"gitDecoration.deletedResourceForeground","description":"Color for deleted resources.","defaults":{"light":"#ad0707","dark":"#c74e39","highContrast":"#c74e39","highContrastLight":"#ad0707"}},{"id":"gitDecoration.renamedResourceForeground","description":"Color for renamed or copied resources.","defaults":{"light":"#007100","dark":"#73C991","highContrast":"#73C991","highContrastLight":"#007100"}},{"id":"gitDecoration.untrackedResourceForeground","description":"Color for untracked resources.","defaults":{"light":"#007100","dark":"#73C991","highContrast":"#73C991","highContrastLight":"#007100"}},{"id":"gitDecoration.ignoredResourceForeground","description":"Color for ignored resources.","defaults":{"light":"#8E8E90","dark":"#8C8C8C","highContrast":"#A7A8A9","highContrastLight":"#8e8e90"}},{"id":"gitDecoration.stageModifiedResourceForeground","description":"Color for modified resources which have been staged.","defaults":{"light":"#895503","dark":"#E2C08D","highContrast":"#E2C08D","highContrastLight":"#895503"}},{"id":"gitDecoration.stageDeletedResourceForeground","description":"Color for deleted resources which have been staged.","defaults":{"light":"#ad0707","dark":"#c74e39","highContrast":"#c74e39","highContrastLight":"#ad0707"}},{"id":"gitDecoration.conflictingResourceForeground","description":"Color for resources with conflicts.","defaults":{"light":"#ad0707","dark":"#e4676b","highContrast":"#c74e39","highContrastLight":"#ad0707"}},{"id":"gitDecoration.submoduleResourceForeground","description":"Color for submodule resources.","defaults":{"light":"#1258a7","dark":"#8db9e2","highContrast":"#8db9e2","highContrastLight":"#1258a7"}},{"id":"git.blame.editorDecorationForeground","description":"Color for the blame editor decoration.","defaults":{"dark":"editorInlayHint.foreground","light":"editorInlayHint.foreground","highContrast":"editorInlayHint.foreground","highContrastLight":"editorInlayHint.foreground"}}],"configurationDefaults":{"[git-commit]":{"editor.rulers":[50,72],"editor.wordWrap":"off","workbench.editor.restoreViewState":false},"[git-rebase]":{"workbench.editor.restoreViewState":false}},"viewsWelcome":[{"view":"scm","contents":"If you would like to use Git features, please enable Git in your [settings](command:workbench.action.openSettings?%5B%22git.enabled%22%5D).\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).","when":"!config.git.enabled"},{"view":"scm","contents":"Install Git, a popular source control system, to track code changes and collaborate with others. Learn more in our [Git guides](https://aka.ms/vscode-scm).","when":"config.git.enabled && git.missing && remoteName != ''"},{"view":"scm","contents":"[Download Git for macOS](https://git-scm.com/download/mac)\nAfter installing, please [reload](command:workbench.action.reloadWindow) (or [troubleshoot](command:git.showOutput)). Additional source control providers can be installed [from the Marketplace](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22).","when":"config.git.enabled && git.missing && remoteName == '' && isMac"},{"view":"scm","contents":"[Download Git for Windows](https://git-scm.com/download/win)\nAfter installing, please [reload](command:workbench.action.reloadWindow) (or [troubleshoot](command:git.showOutput)). Additional source control providers can be installed [from the Marketplace](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22).","when":"config.git.enabled && git.missing && remoteName == '' && isWindows"},{"view":"scm","contents":"Source control depends on Git being installed.\n[Download Git for Linux](https://git-scm.com/download/linux)\nAfter installing, please [reload](command:workbench.action.reloadWindow) (or [troubleshoot](command:git.showOutput)). Additional source control providers can be installed [from the Marketplace](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22).","when":"config.git.enabled && git.missing && remoteName == '' && isLinux"},{"view":"scm","contents":"In order to use Git features, you can open a folder containing a Git repository or clone from a URL.\n[Open Folder](command:vscode.openFolder)\n[Clone Repository](command:git.cloneRecursive)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).","when":"config.git.enabled && !git.missing && workbenchState == empty && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0","enablement":"git.state == initialized","group":"2_open@1"},{"view":"scm","contents":"The workspace currently open doesn't have any folders containing Git repositories.\n[Add Folder to Workspace](command:workbench.action.addRootFolder)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).","when":"config.git.enabled && !git.missing && workbenchState == workspace && workspaceFolderCount == 0 && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0","enablement":"git.state == initialized","group":"2_open@1"},{"view":"scm","contents":"Scanning folder for Git repositories...","when":"config.git.enabled && !git.missing && workbenchState == folder && workspaceFolderCount != 0 && git.state != initialized"},{"view":"scm","contents":"Scanning workspace for Git repositories...","when":"config.git.enabled && !git.missing && workbenchState == workspace && workspaceFolderCount != 0 && git.state != initialized"},{"view":"scm","contents":"The folder currently open doesn't have a Git repository. You can initialize a repository which will enable source control features powered by Git.\n[Initialize Repository](command:git.init?%5Btrue%5D)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).","when":"config.git.enabled && !git.missing && git.state == initialized && workbenchState == folder && scm.providerCount == 0 && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0 && remoteName != 'codespaces'","group":"5_scm@1"},{"view":"scm","contents":"The workspace currently open doesn't have any folders containing Git repositories. You can initialize a repository on a folder which will enable source control features powered by Git.\n[Initialize Repository](command:git.init)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).","when":"config.git.enabled && !git.missing && git.state == initialized && workbenchState == workspace && workspaceFolderCount != 0 && scm.providerCount == 0 && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0 && remoteName != 'codespaces'","group":"5_scm@1"},{"view":"scm","contents":"A Git repository was found in the parent folders of the workspace or the open file(s).\n[Open Repository](command:git.openRepositoriesInParentFolders)\nUse the [git.openRepositoryInParentFolders](command:workbench.action.openSettings?%5B%22git.openRepositoryInParentFolders%22%5D) setting to control whether Git repositories in parent folders of workspaces or open files are opened. To learn more [read our docs](https://aka.ms/vscode-git-repository-in-parent-folders).","when":"config.git.enabled && !git.missing && git.state == initialized && git.parentRepositoryCount == 1"},{"view":"scm","contents":"Git repositories were found in the parent folders of the workspace or the open file(s).\n[Open Repository](command:git.openRepositoriesInParentFolders)\nUse the [git.openRepositoryInParentFolders](command:workbench.action.openSettings?%5B%22git.openRepositoryInParentFolders%22%5D) setting to control whether Git repositories in parent folders of workspace or open files are opened. To learn more [read our docs](https://aka.ms/vscode-git-repository-in-parent-folders).","when":"config.git.enabled && !git.missing && git.state == initialized && git.parentRepositoryCount > 1"},{"view":"scm","contents":"The detected Git repository is potentially unsafe as the folder is owned by someone other than the current user.\n[Manage Unsafe Repositories](command:git.manageUnsafeRepositories)\nTo learn more about unsafe repositories [read our docs](https://aka.ms/vscode-git-unsafe-repository).","when":"config.git.enabled && !git.missing && git.state == initialized && git.unsafeRepositoryCount == 1"},{"view":"scm","contents":"The detected Git repositories are potentially unsafe as the folders are owned by someone other than the current user.\n[Manage Unsafe Repositories](command:git.manageUnsafeRepositories)\nTo learn more about unsafe repositories [read our docs](https://aka.ms/vscode-git-unsafe-repository).","when":"config.git.enabled && !git.missing && git.state == initialized && git.unsafeRepositoryCount > 1"},{"view":"scm","contents":"A Git repository was found that was previously closed.\n[Reopen Closed Repository](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).","when":"config.git.enabled && !git.missing && git.state == initialized && git.closedRepositoryCount == 1"},{"view":"scm","contents":"Git repositories were found that were previously closed.\n[Reopen Closed Repositories](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).","when":"config.git.enabled && !git.missing && git.state == initialized && git.closedRepositoryCount > 1"},{"view":"explorer","contents":"You can clone a repository locally.\n[Clone Repository](command:git.clone 'Clone a repository once the Git extension has activated')","when":"config.git.enabled && git.state == initialized && scm.providerCount == 0","group":"5_scm@1"},{"view":"explorer","contents":"To learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).","when":"config.git.enabled && git.state == initialized && scm.providerCount == 0","group":"5_scm@10"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/git","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.git-base"},"manifest":{"name":"git-base","displayName":"Git Base","description":"Git static contributions and pickers.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"categories":["Other"],"activationEvents":["*"],"main":"./dist/extension.js","browser":"./dist/browser/extension.js","icon":"resources/icons/git.png","capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"contributes":{"commands":[{"command":"git-base.api.getRemoteSources","title":"Get Remote Sources","category":"Git Base API"}],"menus":{"commandPalette":[{"command":"git-base.api.getRemoteSources","when":"false"}]},"languages":[{"id":"git-commit","aliases":["Git Commit Message","git-commit"],"filenames":["COMMIT_EDITMSG","MERGE_MSG"],"configuration":"./languages/git-commit.language-configuration.json"},{"id":"git-rebase","aliases":["Git Rebase Message","git-rebase"],"filenames":["git-rebase-todo"],"filenamePatterns":["**/rebase-merge/done"],"configuration":"./languages/git-rebase.language-configuration.json"},{"id":"ignore","aliases":["Ignore","ignore"],"extensions":[".gitignore_global",".gitignore",".git-blame-ignore-revs"],"configuration":"./languages/ignore.language-configuration.json"}],"grammars":[{"language":"git-commit","scopeName":"text.git-commit","path":"./syntaxes/git-commit.tmLanguage.json"},{"language":"git-rebase","scopeName":"text.git-rebase","path":"./syntaxes/git-rebase.tmLanguage.json"},{"language":"ignore","scopeName":"source.ignore","path":"./syntaxes/ignore.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/git-base","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.github"},"manifest":{"name":"github","displayName":"GitHub","description":"GitHub features for VS Code","publisher":"vscode","license":"MIT","version":"0.0.1","engines":{"vscode":"^1.41.0"},"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","icon":"images/icon.png","categories":["Other"],"activationEvents":["*"],"extensionDependencies":["vscode.git-base"],"main":"./dist/extension.js","type":"module","capabilities":{"virtualWorkspaces":false,"untrustedWorkspaces":{"supported":true}},"enabledApiProposals":["canonicalUriProvider","contribEditSessions","contribShareMenu","contribSourceControlHistoryItemMenu","scmHistoryProvider","shareProvider","timeline"],"contributes":{"commands":[{"command":"github.publish","title":"Publish to GitHub"},{"command":"github.copyVscodeDevLink","title":"Copy vscode.dev Link"},{"command":"github.copyVscodeDevLinkFile","title":"Copy vscode.dev Link"},{"command":"github.copyVscodeDevLinkWithoutRange","title":"Copy vscode.dev Link"},{"command":"github.openOnVscodeDev","title":"Open in vscode.dev","icon":"$(globe)"},{"command":"github.graph.openOnGitHub","title":"Open on GitHub","icon":"$(github)"},{"command":"github.timeline.openOnGitHub","title":"Open on GitHub","icon":"$(github)"}],"continueEditSession":[{"command":"github.openOnVscodeDev","when":"github.hasGitHubRepo","qualifiedName":"Continue Working in vscode.dev","category":"Remote Repositories","remoteGroup":"virtualfs_44_vscode-vfs_2_web@2"}],"menus":{"commandPalette":[{"command":"github.publish","when":"git-base.gitEnabled && workspaceFolderCount != 0 && remoteName != 'codespaces'"},{"command":"github.graph.openOnGitHub","when":"false"},{"command":"github.copyVscodeDevLink","when":"false"},{"command":"github.copyVscodeDevLinkFile","when":"false"},{"command":"github.copyVscodeDevLinkWithoutRange","when":"false"},{"command":"github.openOnVscodeDev","when":"false"},{"command":"github.timeline.openOnGitHub","when":"false"}],"file/share":[{"command":"github.copyVscodeDevLinkFile","when":"github.hasGitHubRepo && remoteName != 'codespaces'","group":"0_vscode@0"}],"editor/context/share":[{"command":"github.copyVscodeDevLink","when":"github.hasGitHubRepo && resourceScheme != untitled && !isInEmbeddedEditor && remoteName != 'codespaces'","group":"0_vscode@0"}],"explorer/context/share":[{"command":"github.copyVscodeDevLinkWithoutRange","when":"github.hasGitHubRepo && resourceScheme != untitled && !isInEmbeddedEditor && remoteName != 'codespaces'","group":"0_vscode@0"}],"editor/lineNumber/context":[{"command":"github.copyVscodeDevLink","when":"github.hasGitHubRepo && resourceScheme != untitled && activeEditor == workbench.editors.files.textFileEditor && config.editor.lineNumbers == on && remoteName != 'codespaces'","group":"1_cutcopypaste@2"},{"command":"github.copyVscodeDevLink","when":"github.hasGitHubRepo && resourceScheme != untitled && activeEditor == workbench.editor.notebook && remoteName != 'codespaces'","group":"1_cutcopypaste@2"}],"editor/title/context/share":[{"command":"github.copyVscodeDevLinkWithoutRange","when":"github.hasGitHubRepo && resourceScheme != untitled && remoteName != 'codespaces'","group":"0_vscode@0"}],"scm/historyItem/context":[{"command":"github.graph.openOnGitHub","when":"github.hasGitHubRepo","group":"0_view@2"}],"timeline/item/context":[{"command":"github.timeline.openOnGitHub","group":"1_actions@3","when":"github.hasGitHubRepo && timelineItem =~ /git:file:commit\\b/"}]},"configuration":[{"title":"GitHub","properties":{"github.branchProtection":{"type":"boolean","scope":"resource","default":true,"description":"Controls whether to query repository rules for GitHub repositories"},"github.gitAuthentication":{"type":"boolean","scope":"resource","default":true,"description":"Controls whether to enable automatic GitHub authentication for git commands within VS Code."},"github.gitProtocol":{"type":"string","enum":["https","ssh"],"default":"https","description":"Controls which protocol is used to clone a GitHub repository"},"github.showAvatar":{"type":"boolean","scope":"resource","default":true,"description":"Controls whether to show the GitHub avatar of the commit author in various hovers (ex: Git blame, Timeline, Source Control Graph, etc.)"}}}],"viewsWelcome":[{"view":"scm","contents":"You can directly publish this folder to a GitHub repository. Once published, you'll have access to source control features powered by Git and GitHub.\n[$(github) Publish to GitHub](command:github.publish)","when":"config.git.enabled && git.state == initialized && workbenchState == folder && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0"},{"view":"scm","contents":"You can directly publish a workspace folder to a GitHub repository. Once published, you'll have access to source control features powered by Git and GitHub.\n[$(github) Publish to GitHub](command:github.publish)","when":"config.git.enabled && git.state == initialized && workbenchState == workspace && workspaceFolderCount != 0 && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0"}],"markdown.previewStyles":["./markdown.css"]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/github","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.github-authentication"},"manifest":{"name":"github-authentication","displayName":"GitHub Authentication","description":"GitHub Authentication Provider","publisher":"vscode","license":"MIT","version":"0.0.2","engines":{"vscode":"^1.41.0"},"icon":"images/icon.png","categories":["Other"],"api":"none","extensionKind":["ui","workspace"],"enabledApiProposals":["authIssuers","authProviderSpecific"],"activationEvents":[],"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":"limited","restrictedConfigurations":["github-enterprise.uri"]}},"contributes":{"authentication":[{"label":"GitHub","id":"github","authorizationServerGlobs":["https://github.com/login/oauth"]},{"label":"GitHub Enterprise Server","id":"github-enterprise","authorizationServerGlobs":["*"]}],"configuration":[{"title":"GHE.com & GitHub Enterprise Server Authentication","properties":{"github-enterprise.uri":{"type":"string","markdownDescription":"The URI for your GHE.com or GitHub Enterprise Server instance.\n\nExamples:\n* GHE.com: `https://octocat.ghe.com`\n* GitHub Enterprise Server: `https://github.octocat.com`\n\n> **Note:** This should _not_ be set to a GitHub.com URI. If your account exists on GitHub.com or is a GitHub Enterprise Managed User, you do not need any additional configuration and can simply log in to GitHub.","pattern":"^(?:$|(https?)://(?!github\\.com).*)"},"github-authentication.useElectronFetch":{"type":"boolean","default":true,"scope":"application","markdownDescription":"When true, uses Electron's built-in fetch function for HTTP requests. When false, uses the Node.js global fetch function. This setting only applies when running in the Electron environment. **Note:** A restart is required for this setting to take effect."},"github-authentication.preferDeviceCodeFlow":{"type":"boolean","default":false,"scope":"application","markdownDescription":"When true, prioritize the device code flow for authentication instead of other available flows. This is useful for environments like WSL where the local server or URL handler flows may not work as expected."}}}]},"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","main":"./dist/extension.js","browser":"./dist/browser/extension.js","repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/github-authentication","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.go"},"manifest":{"name":"go","displayName":"Go Language Basics","description":"Provides syntax highlighting and bracket matching in Go files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin worlpaker/go-syntax syntaxes/go.tmLanguage.json ./syntaxes/go.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"go","extensions":[".go"],"aliases":["Go"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"go","scopeName":"source.go","path":"./syntaxes/go.tmLanguage.json"}],"configurationDefaults":{"[go]":{"editor.insertSpaces":false}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/go","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.groovy"},"manifest":{"name":"groovy","displayName":"Groovy Language Basics","description":"Provides snippets, syntax highlighting and bracket matching in Groovy files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin textmate/groovy.tmbundle Syntaxes/Groovy.tmLanguage ./syntaxes/groovy.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"groovy","aliases":["Groovy","groovy"],"extensions":[".groovy",".gvy",".gradle",".jenkinsfile",".nf"],"filenames":["Jenkinsfile"],"filenamePatterns":["Jenkinsfile*"],"firstLine":"^#!.*\\bgroovy\\b","configuration":"./language-configuration.json"}],"grammars":[{"language":"groovy","scopeName":"source.groovy","path":"./syntaxes/groovy.tmLanguage.json"}],"snippets":[{"language":"groovy","path":"./snippets/groovy.code-snippets"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/groovy","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.grunt"},"manifest":{"name":"grunt","publisher":"vscode","description":"Extension to add Grunt capabilities to VS Code.","displayName":"Grunt support for VS Code","version":"1.0.0","private":true,"icon":"images/grunt.png","license":"MIT","engines":{"vscode":"*"},"categories":["Other"],"main":"./dist/main","activationEvents":["onTaskType:grunt"],"capabilities":{"virtualWorkspaces":false,"untrustedWorkspaces":{"supported":true}},"contributes":{"configuration":{"id":"grunt","type":"object","title":"Grunt","properties":{"grunt.autoDetect":{"scope":"application","type":"string","enum":["off","on"],"default":"off","description":"Controls enablement of Grunt task detection. Grunt task detection can cause files in any open workspace to be executed."}}},"taskDefinitions":[{"type":"grunt","required":["task"],"properties":{"task":{"type":"string","description":"The Grunt task to customize."},"args":{"type":"array","description":"Command line arguments to pass to the grunt task"},"file":{"type":"string","description":"The Grunt file that provides the task. Can be omitted."}},"when":"shellExecutionSupported"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/grunt","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.gulp"},"manifest":{"name":"gulp","publisher":"vscode","description":"Extension to add Gulp capabilities to VSCode.","displayName":"Gulp support for VSCode","version":"1.0.0","icon":"images/gulp.png","license":"MIT","engines":{"vscode":"*"},"categories":["Other"],"main":"./dist/main","activationEvents":["onTaskType:gulp"],"capabilities":{"virtualWorkspaces":false,"untrustedWorkspaces":{"supported":true}},"contributes":{"configuration":{"id":"gulp","type":"object","title":"Gulp","properties":{"gulp.autoDetect":{"scope":"application","type":"string","enum":["off","on"],"default":"off","description":"Controls enablement of Gulp task detection. Gulp task detection can cause files in any open workspace to be executed."}}},"taskDefinitions":[{"type":"gulp","required":["task"],"properties":{"task":{"type":"string","description":"The Gulp task to customize."},"file":{"type":"string","description":"The Gulp file that provides the task. Can be omitted."}},"when":"shellExecutionSupported"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/gulp","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.handlebars"},"manifest":{"name":"handlebars","displayName":"Handlebars Language Basics","description":"Provides syntax highlighting and bracket matching in Handlebars files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin daaain/Handlebars grammars/Handlebars.json ./syntaxes/Handlebars.tmLanguage.json"},"categories":["Programming Languages"],"extensionKind":["ui","workspace"],"contributes":{"languages":[{"id":"handlebars","extensions":[".handlebars",".hbs",".hjs"],"aliases":["Handlebars","handlebars"],"mimetypes":["text/x-handlebars-template"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"handlebars","scopeName":"text.html.handlebars","path":"./syntaxes/Handlebars.tmLanguage.json"}],"htmlLanguageParticipants":[{"languageId":"handlebars","autoInsert":true}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/handlebars","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[[2,"property `extensionKind` can be defined only if property `main` is also defined."]],"preRelease":false},{"type":0,"identifier":{"id":"vscode.hlsl"},"manifest":{"name":"hlsl","displayName":"HLSL Language Basics","description":"Provides syntax highlighting and bracket matching in HLSL files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin tgjones/shaders-tmLanguage grammars/hlsl.json ./syntaxes/hlsl.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"hlsl","extensions":[".hlsl",".hlsli",".fx",".fxh",".vsh",".psh",".cginc",".compute"],"aliases":["HLSL","hlsl"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"hlsl","path":"./syntaxes/hlsl.tmLanguage.json","scopeName":"source.hlsl"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/hlsl","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.html"},"manifest":{"name":"html","displayName":"HTML Language Basics","description":"Provides syntax highlighting, bracket matching & snippets in HTML files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"scripts":{"update-grammar":"node ./build/update-grammar.mjs"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"html","extensions":[".html",".htm",".shtml",".xhtml",".xht",".mdoc",".jsp",".asp",".aspx",".jshtm",".volt",".ejs",".rhtml"],"aliases":["HTML","htm","html","xhtml"],"mimetypes":["text/html","text/x-jshtm","text/template","text/ng-template","application/xhtml+xml"],"configuration":"./language-configuration.json"}],"grammars":[{"scopeName":"text.html.basic","path":"./syntaxes/html.tmLanguage.json","embeddedLanguages":{"text.html":"html","source.css":"css","source.js":"javascript","source.python":"python","source.smarty":"smarty"},"tokenTypes":{"meta.tag string.quoted":"other"}},{"language":"html","scopeName":"text.html.derivative","path":"./syntaxes/html-derivative.tmLanguage.json","embeddedLanguages":{"text.html":"html","source.css":"css","source.js":"javascript","source.python":"python","source.smarty":"smarty"},"tokenTypes":{"meta.tag string.quoted":"other"}}],"snippets":[{"language":"html","path":"./snippets/html.code-snippets"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/html","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.html-language-features"},"manifest":{"name":"html-language-features","displayName":"HTML Language Features","description":"Provides rich language support for HTML and Handlebar files","version":"1.0.0","publisher":"vscode","license":"MIT","aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","engines":{"vscode":"^1.77.0"},"icon":"icons/html.png","activationEvents":["onLanguage:html","onLanguage:handlebars"],"enabledApiProposals":["extensionsAny"],"main":"./client/dist/node/htmlClientMain","browser":"./client/dist/browser/htmlClientMain","capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"categories":["Programming Languages"],"contributes":{"configuration":{"id":"html","order":20,"type":"object","title":"HTML","properties":{"html.completion.attributeDefaultValue":{"type":"string","scope":"resource","enum":["doublequotes","singlequotes","empty"],"enumDescriptions":["Attribute value is set to \"\".","Attribute value is set to ''.","Attribute value is not set."],"default":"doublequotes","markdownDescription":"Controls the default value for attributes when completion is accepted."},"html.customData":{"type":"array","markdownDescription":"A list of relative file paths pointing to JSON files following the [custom data format](https://github.com/microsoft/vscode-html-languageservice/blob/master/docs/customData.md).\n\nVS Code loads custom data on startup to enhance its HTML support for the custom HTML tags, attributes and attribute values you specify in the JSON files.\n\nThe file paths are relative to workspace and only workspace folder settings are considered.","default":[],"items":{"type":"string"},"scope":"resource"},"html.format.enable":{"type":"boolean","scope":"window","default":true,"description":"Enable/disable default HTML formatter."},"html.format.wrapLineLength":{"type":"integer","scope":"resource","default":120,"description":"Maximum amount of characters per line (0 = disable)."},"html.format.unformatted":{"type":["string","null"],"scope":"resource","default":"wbr","markdownDescription":"List of tags, comma separated, that shouldn't be reformatted. `null` defaults to all tags listed at https://www.w3.org/TR/html5/dom.html#phrasing-content."},"html.format.contentUnformatted":{"type":["string","null"],"scope":"resource","default":"pre,code,textarea","markdownDescription":"List of tags, comma separated, where the content shouldn't be reformatted. `null` defaults to the `pre` tag."},"html.format.indentInnerHtml":{"type":"boolean","scope":"resource","default":false,"markdownDescription":"Indent `` and `` sections."},"html.format.preserveNewLines":{"type":"boolean","scope":"resource","default":true,"description":"Controls whether existing line breaks before elements should be preserved. Only works before elements, not inside tags or for text."},"html.format.maxPreserveNewLines":{"type":["number","null"],"scope":"resource","default":null,"markdownDescription":"Maximum number of line breaks to be preserved in one chunk. Use `null` for unlimited."},"html.format.indentHandlebars":{"type":"boolean","scope":"resource","default":false,"markdownDescription":"Format and indent `{{#foo}}` and `{{/foo}}`."},"html.format.extraLiners":{"type":["string","null"],"scope":"resource","default":"head, body, /html","markdownDescription":"List of tags, comma separated, that should have an extra newline before them. `null` defaults to `\"head, body, /html\"`."},"html.format.wrapAttributes":{"type":"string","scope":"resource","default":"auto","enum":["auto","force","force-aligned","force-expand-multiline","aligned-multiple","preserve","preserve-aligned"],"enumDescriptions":["Wrap attributes only when line length is exceeded.","Wrap each attribute except first.","Wrap each attribute except first and keep aligned.","Wrap each attribute.","Wrap when line length is exceeded, align attributes vertically.","Preserve wrapping of attributes.","Preserve wrapping of attributes but align."],"description":"Wrap attributes."},"html.format.wrapAttributesIndentSize":{"type":["number","null"],"scope":"resource","default":null,"markdownDescription":"Indent wrapped attributes to after N characters. Use `null` to use the default indent size. Ignored if `#html.format.wrapAttributes#` is set to `aligned`."},"html.format.templating":{"type":"boolean","scope":"resource","default":false,"description":"Honor django, erb, handlebars and php templating language tags."},"html.format.unformattedContentDelimiter":{"type":"string","scope":"resource","default":"","markdownDescription":"Keep text content together between this string."},"html.suggest.html5":{"type":"boolean","scope":"resource","default":true,"description":"Controls whether the built-in HTML language support suggests HTML5 tags, properties and values."},"html.suggest.hideEndTagSuggestions":{"type":"boolean","scope":"resource","default":false,"description":"Controls whether the built-in HTML language support suggests closing tags. When disabled, end tag completions like `` will not be shown."},"html.validate.scripts":{"type":"boolean","scope":"resource","default":true,"description":"Controls whether the built-in HTML language support validates embedded scripts."},"html.validate.styles":{"type":"boolean","scope":"resource","default":true,"description":"Controls whether the built-in HTML language support validates embedded styles."},"html.autoCreateQuotes":{"type":"boolean","scope":"resource","default":true,"markdownDescription":"Enable/disable auto creation of quotes for HTML attribute assignment. The type of quotes can be configured by `#html.completion.attributeDefaultValue#`."},"html.autoClosingTags":{"type":"boolean","scope":"resource","default":true,"description":"Enable/disable autoclosing of HTML tags."},"html.hover.documentation":{"type":"boolean","scope":"resource","default":true,"description":"Show tag and attribute documentation in hover."},"html.hover.references":{"type":"boolean","scope":"resource","default":true,"description":"Show references to MDN in hover."},"html.mirrorCursorOnMatchingTag":{"type":"boolean","scope":"resource","default":false,"description":"Enable/disable mirroring cursor on matching HTML tag.","deprecationMessage":"Deprecated in favor of `editor.linkedEditing`"},"html.trace.server":{"type":"string","scope":"window","enum":["off","messages","verbose"],"default":"off","description":"Traces the communication between VS Code and the HTML language server."}}},"configurationDefaults":{"[html]":{"editor.suggest.insertMode":"replace"},"[handlebars]":{"editor.suggest.insertMode":"replace"}},"jsonValidation":[{"fileMatch":"*.html-data.json","url":"https://raw.githubusercontent.com/microsoft/vscode-html-languageservice/master/docs/customData.schema.json"},{"fileMatch":"package.json","url":"./schemas/package.schema.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/html-language-features","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.ini"},"manifest":{"name":"ini","displayName":"Ini Language Basics","description":"Provides syntax highlighting and bracket matching in Ini files.","version":"1.0.0","private":true,"publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin textmate/ini.tmbundle Syntaxes/Ini.plist ./syntaxes/ini.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"ini","extensions":[".ini"],"aliases":["Ini","ini"],"configuration":"./ini.language-configuration.json"},{"id":"properties","extensions":[".conf",".properties",".cfg",".directory",".gitattributes",".gitconfig",".gitmodules",".editorconfig",".repo"],"filenames":["gitconfig"],"filenamePatterns":["**/.config/git/config","**/.git/config"],"aliases":["Properties","properties"],"configuration":"./properties.language-configuration.json"}],"grammars":[{"language":"ini","scopeName":"source.ini","path":"./syntaxes/ini.tmLanguage.json"},{"language":"properties","scopeName":"source.ini","path":"./syntaxes/ini.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/ini","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.ipynb"},"manifest":{"name":"ipynb","displayName":".ipynb Support","description":"Provides basic support for opening and reading Jupyter's .ipynb notebook files","publisher":"vscode","version":"1.0.0","license":"MIT","icon":"media/icon.png","engines":{"vscode":"^1.57.0"},"enabledApiProposals":["diffContentOptions"],"activationEvents":["onNotebook:jupyter-notebook","onNotebookSerializer:interactive","onNotebookSerializer:repl"],"extensionKind":["workspace","ui"],"main":"./dist/ipynbMain.node.js","browser":"./dist/browser/ipynbMain.browser.js","capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"contributes":{"configuration":[{"properties":{"ipynb.pasteImagesAsAttachments.enabled":{"type":"boolean","scope":"resource","markdownDescription":"Enable/disable pasting of images into Markdown cells in ipynb notebook files. Pasted images are inserted as attachments to the cell.","default":true},"ipynb.experimental.serialization":{"type":"boolean","scope":"resource","markdownDescription":"Experimental feature to serialize the Jupyter notebook in a worker thread.","default":true,"tags":["experimental"]}}}],"commands":[{"command":"ipynb.newUntitledIpynb","title":"New Jupyter Notebook","shortTitle":"Jupyter Notebook","category":"Create"},{"command":"ipynb.openIpynbInNotebookEditor","title":"Open IPYNB File In Notebook Editor"},{"command":"ipynb.cleanInvalidImageAttachment","title":"Clean Invalid Image Attachment Reference"},{"command":"notebook.cellOutput.copy","title":"Copy Cell Output","category":"Notebook"},{"command":"notebook.cellOutput.addToChat","title":"Add Cell Output to Chat","category":"Notebook","enablement":"chatIsEnabled"},{"command":"notebook.cellOutput.openInTextEditor","title":"Open Cell Output in Text Editor","category":"Notebook"}],"notebooks":[{"type":"jupyter-notebook","displayName":"Jupyter Notebook","selector":[{"filenamePattern":"*.ipynb"}],"priority":"default"}],"notebookRenderer":[{"id":"vscode.markdown-it-cell-attachment-renderer","displayName":"Markdown-It ipynb Cell Attachment renderer","entrypoint":{"extends":"vscode.markdown-it-renderer","path":"./notebook-out/cellAttachmentRenderer.js"}}],"menus":{"file/newFile":[{"command":"ipynb.newUntitledIpynb","group":"notebook"}],"commandPalette":[{"command":"ipynb.newUntitledIpynb"},{"command":"ipynb.openIpynbInNotebookEditor","when":"false"},{"command":"ipynb.cleanInvalidImageAttachment","when":"false"},{"command":"notebook.cellOutput.copy","when":"notebookCellHasOutputs"},{"command":"notebook.cellOutput.openInTextEditor","when":"false"}],"webview/context":[{"command":"notebook.cellOutput.copy","when":"webviewId == 'notebook.output' && webviewSection == 'image'","group":"context@1"},{"command":"notebook.cellOutput.copy","when":"webviewId == 'notebook.output' && webviewSection == 'text'"},{"command":"notebook.cellOutput.addToChat","when":"webviewId == 'notebook.output' && (webviewSection == 'text' || webviewSection == 'image')","group":"context@2"},{"command":"notebook.cellOutput.openInTextEditor","when":"webviewId == 'notebook.output' && webviewSection == 'text'"}]}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/ipynb","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.jake"},"manifest":{"name":"jake","publisher":"vscode","description":"Extension to add Jake capabilities to VS Code.","displayName":"Jake support for VS Code","icon":"images/cowboy_hat.png","version":"1.0.0","license":"MIT","engines":{"vscode":"*"},"categories":["Other"],"main":"./dist/main","activationEvents":["onTaskType:jake"],"capabilities":{"virtualWorkspaces":false,"untrustedWorkspaces":{"supported":true}},"contributes":{"configuration":{"id":"jake","type":"object","title":"Jake","properties":{"jake.autoDetect":{"scope":"application","type":"string","enum":["off","on"],"default":"off","description":"Controls enablement of Jake task detection. Jake task detection can cause files in any open workspace to be executed."}}},"taskDefinitions":[{"type":"jake","required":["task"],"properties":{"task":{"type":"string","description":"The Jake task to customize."},"file":{"type":"string","description":"The Jake file that provides the task. Can be omitted."}},"when":"shellExecutionSupported"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/jake","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.java"},"manifest":{"name":"java","displayName":"Java Language Basics","description":"Provides snippets, syntax highlighting, bracket matching and folding in Java files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin redhat-developer/vscode-java language-support/java/java.tmLanguage.json ./syntaxes/java.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"java","extensions":[".java",".jav"],"aliases":["Java","java"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"java","scopeName":"source.java","path":"./syntaxes/java.tmLanguage.json"}],"snippets":[{"language":"java","path":"./snippets/java.code-snippets"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/java","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.javascript"},"manifest":{"name":"javascript","displayName":"JavaScript Language Basics","description":"Provides snippets, syntax highlighting, bracket matching and folding in JavaScript files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"categories":["Programming Languages"],"contributes":{"configurationDefaults":{"[javascript]":{"editor.maxTokenizationLineLength":2500}},"languages":[{"id":"javascriptreact","aliases":["JavaScript JSX","JavaScript React","jsx"],"extensions":[".jsx"],"configuration":"./javascript-language-configuration.json"},{"id":"javascript","aliases":["JavaScript","javascript","js"],"extensions":[".js",".es6",".mjs",".cjs",".pac"],"filenames":["jakefile"],"firstLine":"^#!.*\\bnode","mimetypes":["text/javascript"],"configuration":"./javascript-language-configuration.json"},{"id":"jsx-tags","aliases":[],"configuration":"./tags-language-configuration.json"}],"grammars":[{"language":"javascriptreact","scopeName":"source.js.jsx","path":"./syntaxes/JavaScriptReact.tmLanguage.json","embeddedLanguages":{"meta.tag.js":"jsx-tags","meta.tag.without-attributes.js":"jsx-tags","meta.tag.attributes.js.jsx":"javascriptreact","meta.embedded.expression.js":"javascriptreact"},"tokenTypes":{"punctuation.definition.template-expression":"other","entity.name.type.instance.jsdoc":"other","entity.name.function.tagged-template":"other","meta.import string.quoted":"other","variable.other.jsdoc":"other"}},{"language":"javascript","scopeName":"source.js","path":"./syntaxes/JavaScript.tmLanguage.json","embeddedLanguages":{"meta.tag.js":"jsx-tags","meta.tag.without-attributes.js":"jsx-tags","meta.tag.attributes.js":"javascript","meta.embedded.expression.js":"javascript"},"tokenTypes":{"punctuation.definition.template-expression":"other","entity.name.type.instance.jsdoc":"other","entity.name.function.tagged-template":"other","meta.import string.quoted":"other","variable.other.jsdoc":"other"}},{"scopeName":"source.js.regexp","path":"./syntaxes/Regular Expressions (JavaScript).tmLanguage"}],"semanticTokenScopes":[{"language":"javascript","scopes":{"property":["variable.other.property.js"],"property.readonly":["variable.other.constant.property.js"],"variable":["variable.other.readwrite.js"],"variable.readonly":["variable.other.constant.object.js"],"function":["entity.name.function.js"],"namespace":["entity.name.type.module.js"],"variable.defaultLibrary":["support.variable.js"],"function.defaultLibrary":["support.function.js"]}},{"language":"javascriptreact","scopes":{"property":["variable.other.property.jsx"],"property.readonly":["variable.other.constant.property.jsx"],"variable":["variable.other.readwrite.jsx"],"variable.readonly":["variable.other.constant.object.jsx"],"function":["entity.name.function.jsx"],"namespace":["entity.name.type.module.jsx"],"variable.defaultLibrary":["support.variable.js"],"function.defaultLibrary":["support.function.js"]}}],"snippets":[{"language":"javascript","path":"./snippets/javascript.code-snippets"},{"language":"javascriptreact","path":"./snippets/javascript.code-snippets"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/javascript","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.json"},"manifest":{"name":"json","displayName":"JSON Language Basics","description":"Provides syntax highlighting & bracket matching in JSON files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"scripts":{"update-grammar":"node ./build/update-grammars.js"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"json","aliases":["JSON","json"],"extensions":[".json",".bowerrc",".jscsrc",".webmanifest",".js.map",".css.map",".ts.map",".har",".jslintrc",".jsonld",".geojson",".ipynb",".vuerc"],"filenames":["composer.lock",".watchmanconfig"],"mimetypes":["application/json","application/manifest+json"],"configuration":"./language-configuration.json"},{"id":"jsonc","aliases":["JSON with Comments"],"extensions":[".jsonc",".eslintrc",".eslintrc.json",".jsfmtrc",".jshintrc",".swcrc",".hintrc",".babelrc",".toolset.jsonc"],"filenames":["babel.config.json","bun.lock",".babelrc.json",".ember-cli","typedoc.json"],"configuration":"./language-configuration.json"},{"id":"jsonl","aliases":["JSON Lines"],"extensions":[".jsonl",".ndjson"],"filenames":[],"configuration":"./language-configuration.json"},{"id":"snippets","aliases":["Code Snippets"],"extensions":[".code-snippets"],"filenamePatterns":["**/User/snippets/*.json","**/User/profiles/*/snippets/*.json","**/snippets*.json"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"json","scopeName":"source.json","path":"./syntaxes/JSON.tmLanguage.json"},{"language":"jsonc","scopeName":"source.json.comments","path":"./syntaxes/JSONC.tmLanguage.json"},{"language":"jsonl","scopeName":"source.json.lines","path":"./syntaxes/JSONL.tmLanguage.json"},{"language":"snippets","scopeName":"source.json.comments.snippets","path":"./syntaxes/snippets.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/json","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.json-language-features"},"manifest":{"name":"json-language-features","displayName":"JSON Language Features","description":"Provides rich language support for JSON files.","version":"1.0.0","publisher":"vscode","license":"MIT","aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","engines":{"vscode":"^1.77.0"},"enabledApiProposals":["extensionsAny"],"icon":"icons/json.png","activationEvents":["onLanguage:json","onLanguage:jsonc","onLanguage:snippets","onCommand:json.validate"],"main":"./client/dist/node/jsonClientMain","browser":"./client/dist/browser/jsonClientMain","capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":"limited","description":"The extension requires workspace trust to load schemas from http and https."}},"categories":["Programming Languages"],"contributes":{"configuration":{"id":"json","order":20,"type":"object","title":"JSON","properties":{"json.schemas":{"type":"array","scope":"resource","description":"Associate schemas to JSON files in the current project.","items":{"type":"object","default":{"fileMatch":["/myfile"],"url":"schemaURL"},"properties":{"url":{"type":"string","default":"/user.schema.json","description":"A URL or absolute file path to a schema. Can be a relative path (starting with './') in workspace and workspace folder settings."},"fileMatch":{"type":"array","items":{"type":"string","default":"MyFile.json","description":"A file pattern that can contain '*' and '**' to match against when resolving JSON files to schemas. When beginning with '!', it defines an exclusion pattern."},"minItems":1,"description":"An array of file patterns to match against when resolving JSON files to schemas. `*` and '**' can be used as a wildcard. Exclusion patterns can also be defined and start with '!'. A file matches when there is at least one matching pattern and the last matching pattern is not an exclusion pattern."},"schema":{"$ref":"http://json-schema.org/draft-07/schema#","description":"The schema definition for the given URL. The schema only needs to be provided to avoid accesses to the schema URL."}}}},"json.validate.enable":{"type":"boolean","scope":"window","default":true,"description":"Enable/disable JSON validation."},"json.format.enable":{"type":"boolean","scope":"window","default":true,"description":"Enable/disable default JSON formatter"},"json.format.keepLines":{"type":"boolean","scope":"window","default":false,"description":"Keep all existing new lines when formatting."},"json.trace.server":{"type":"string","scope":"window","enum":["off","messages","verbose"],"default":"off","description":"Traces the communication between VS Code and the JSON language server."},"json.colorDecorators.enable":{"type":"boolean","scope":"window","default":true,"description":"Enables or disables color decorators","deprecationMessage":"The setting `json.colorDecorators.enable` has been deprecated in favor of `editor.colorDecorators`."},"json.maxItemsComputed":{"type":"number","default":5000,"description":"The maximum number of outline symbols and folding regions computed (limited for performance reasons)."},"json.schemaDownload.enable":{"type":"boolean","default":true,"description":"When enabled, JSON schemas can be fetched from http and https locations.","tags":["usesOnlineServices"]}}},"configurationDefaults":{"[json]":{"editor.quickSuggestions":{"strings":true},"editor.suggest.insertMode":"replace"},"[jsonc]":{"editor.quickSuggestions":{"strings":true},"editor.suggest.insertMode":"replace"},"[snippets]":{"editor.quickSuggestions":{"strings":true},"editor.suggest.insertMode":"replace"}},"jsonValidation":[{"fileMatch":"*.schema.json","url":"http://json-schema.org/draft-07/schema#"}],"commands":[{"command":"json.clearCache","title":"Clear Schema Cache","category":"JSON"},{"command":"json.sort","title":"Sort Document","category":"JSON"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/json-language-features","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.julia"},"manifest":{"name":"julia","displayName":"Julia Language Basics","description":"Provides syntax highlighting & bracket matching in Julia files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin JuliaEditorSupport/atom-language-julia grammars/julia_vscode.json ./syntaxes/julia.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"julia","aliases":["Julia","julia"],"extensions":[".jl"],"firstLine":"^#!\\s*/.*\\bjulia[0-9.-]*\\b","configuration":"./language-configuration.json"},{"id":"juliamarkdown","aliases":["Julia Markdown","juliamarkdown"],"extensions":[".jmd"]}],"grammars":[{"language":"julia","scopeName":"source.julia","path":"./syntaxes/julia.tmLanguage.json","embeddedLanguages":{"meta.embedded.inline.cpp":"cpp","meta.embedded.inline.javascript":"javascript","meta.embedded.inline.python":"python","meta.embedded.inline.r":"r","meta.embedded.inline.sql":"sql"}}],"configurationDefaults":{"[julia]":{"editor.defaultColorDecorators":"never"}}}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/julia","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.latex"},"manifest":{"name":"latex","displayName":"LaTeX Language Basics","description":"Provides syntax highlighting and bracket matching for TeX, LaTeX and BibTeX.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ./build/update-grammars.js"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"tex","aliases":["TeX","tex"],"extensions":[".sty",".cls",".bbx",".cbx"],"configuration":"latex-language-configuration.json"},{"id":"latex","aliases":["LaTeX","latex"],"extensions":[".tex",".ltx",".ctx"],"configuration":"latex-language-configuration.json"},{"id":"bibtex","aliases":["BibTeX","bibtex"],"extensions":[".bib"]},{"id":"cpp_embedded_latex","configuration":"latex-cpp-embedded-language-configuration.json","aliases":[]},{"id":"markdown_latex_combined","configuration":"markdown-latex-combined-language-configuration.json","aliases":[]}],"grammars":[{"language":"tex","scopeName":"text.tex","path":"./syntaxes/TeX.tmLanguage.json","unbalancedBracketScopes":["keyword.control.ifnextchar.tex","punctuation.math.operator.tex"]},{"language":"latex","scopeName":"text.tex.latex","path":"./syntaxes/LaTeX.tmLanguage.json","unbalancedBracketScopes":["keyword.control.ifnextchar.tex","punctuation.math.operator.tex"],"embeddedLanguages":{"source.cpp":"cpp_embedded_latex","source.css":"css","text.html":"html","source.java":"java","source.js":"javascript","source.julia":"julia","source.lua":"lua","source.python":"python","source.ruby":"ruby","source.ts":"typescript","text.xml":"xml","source.yaml":"yaml","meta.embedded.markdown_latex_combined":"markdown_latex_combined"}},{"language":"bibtex","scopeName":"text.bibtex","path":"./syntaxes/Bibtex.tmLanguage.json"},{"language":"markdown_latex_combined","scopeName":"text.tex.markdown_latex_combined","path":"./syntaxes/markdown-latex-combined.tmLanguage.json"},{"language":"cpp_embedded_latex","scopeName":"source.cpp.embedded.latex","path":"./syntaxes/cpp-grammar-bailout.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/latex","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.less"},"manifest":{"name":"less","displayName":"Less Language Basics","description":"Provides syntax highlighting, bracket matching and folding in Less files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ./build/update-grammar.js"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"less","aliases":["Less","less"],"extensions":[".less"],"mimetypes":["text/x-less","text/less"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"less","scopeName":"source.css.less","path":"./syntaxes/less.tmLanguage.json"}],"problemMatchers":[{"name":"lessc","label":"Lessc compiler","owner":"lessc","source":"less","fileLocation":"absolute","pattern":{"regexp":"(.*)\\sin\\s(.*)\\son line\\s(\\d+),\\scolumn\\s(\\d+)","message":1,"file":2,"line":3,"column":4}}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/less","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.log"},"manifest":{"name":"log","displayName":"Log","description":"Provides syntax highlighting for files with .log extension.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin emilast/vscode-logfile-highlighter syntaxes/log.tmLanguage ./syntaxes/log.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"log","extensions":[".log","*.log.?"],"aliases":["Log"]}],"grammars":[{"language":"log","scopeName":"text.log","path":"./syntaxes/log.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/log","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.lua"},"manifest":{"name":"lua","displayName":"Lua Language Basics","description":"Provides syntax highlighting and bracket matching in Lua files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin sumneko/lua.tmbundle Syntaxes/Lua.plist ./syntaxes/lua.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"lua","extensions":[".lua"],"aliases":["Lua","lua"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"lua","scopeName":"source.lua","path":"./syntaxes/lua.tmLanguage.json","tokenTypes":{"comment.line.double-dash.doc.lua":"other"}}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/lua","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.make"},"manifest":{"name":"make","displayName":"Make Language Basics","description":"Provides syntax highlighting and bracket matching in Make files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin fadeevab/make.tmbundle Syntaxes/Makefile.plist ./syntaxes/make.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"makefile","aliases":["Makefile","makefile"],"extensions":[".mak",".mk"],"filenames":["Makefile","makefile","GNUmakefile","OCamlMakefile"],"firstLine":"^#!\\s*/usr/bin/make","configuration":"./language-configuration.json"}],"grammars":[{"language":"makefile","scopeName":"source.makefile","path":"./syntaxes/make.tmLanguage.json","tokenTypes":{"string.interpolated":"other"}}],"configurationDefaults":{"[makefile]":{"editor.insertSpaces":false}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/make","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.markdown"},"manifest":{"name":"markdown","displayName":"Markdown Language Basics","description":"Provides snippets and syntax highlighting for Markdown.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.20.0"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"markdown","aliases":["Markdown","markdown"],"extensions":[".md",".mkd",".mdwn",".mdown",".markdown",".markdn",".mdtxt",".mdtext",".workbook"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"markdown","scopeName":"text.html.markdown","path":"./syntaxes/markdown.tmLanguage.json","embeddedLanguages":{"meta.embedded.block.html":"html","source.js":"javascript","source.css":"css","meta.embedded.block.frontmatter":"yaml","meta.embedded.block.css":"css","meta.embedded.block.ini":"ini","meta.embedded.block.java":"java","meta.embedded.block.lua":"lua","meta.embedded.block.makefile":"makefile","meta.embedded.block.perl":"perl","meta.embedded.block.r":"r","meta.embedded.block.ruby":"ruby","meta.embedded.block.php":"php","meta.embedded.block.sql":"sql","meta.embedded.block.vs_net":"vs_net","meta.embedded.block.xml":"xml","meta.embedded.block.xsl":"xsl","meta.embedded.block.yaml":"yaml","meta.embedded.block.dosbatch":"dosbatch","meta.embedded.block.clojure":"clojure","meta.embedded.block.coffee":"coffee","meta.embedded.block.c":"c","meta.embedded.block.cpp":"cpp","meta.embedded.block.diff":"diff","meta.embedded.block.dockerfile":"dockerfile","meta.embedded.block.go":"go","meta.embedded.block.groovy":"groovy","meta.embedded.block.pug":"jade","meta.embedded.block.ignore":"ignore","meta.embedded.block.javascript":"javascript","meta.embedded.block.json":"json","meta.embedded.block.jsonc":"jsonc","meta.embedded.block.jsonl":"jsonl","meta.embedded.block.latex":"latex","meta.embedded.block.less":"less","meta.embedded.block.objc":"objc","meta.embedded.block.scss":"scss","meta.embedded.block.perl6":"perl6","meta.embedded.block.powershell":"powershell","meta.embedded.block.python":"python","meta.embedded.block.restructuredtext":"restructuredtext","meta.embedded.block.rust":"rust","meta.embedded.block.scala":"scala","meta.embedded.block.shellscript":"shellscript","meta.embedded.block.typescript":"typescript","meta.embedded.block.typescriptreact":"typescriptreact","meta.embedded.block.csharp":"csharp","meta.embedded.block.fsharp":"fsharp"},"unbalancedBracketScopes":["markup.underline.link.markdown","punctuation.definition.list.begin.markdown"]}],"snippets":[{"language":"markdown","path":"./snippets/markdown.code-snippets"}],"configurationDefaults":{"[markdown]":{"editor.unicodeHighlight.ambiguousCharacters":false,"editor.unicodeHighlight.invisibleCharacters":false,"diffEditor.ignoreTrimWhitespace":false}}},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin microsoft/vscode-markdown-tm-grammar syntaxes/markdown.tmLanguage ./syntaxes/markdown.tmLanguage.json"},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/markdown-basics","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.markdown-language-features"},"manifest":{"name":"markdown-language-features","displayName":"Markdown Language Features","description":"Provides rich language support for Markdown.","version":"1.0.0","icon":"icon.png","publisher":"vscode","license":"MIT","aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","engines":{"vscode":"^1.70.0"},"main":"./dist/extension","browser":"./dist/browser/extension","categories":["Programming Languages"],"activationEvents":["onLanguage:markdown","onLanguage:prompt","onLanguage:instructions","onLanguage:chatmode","onCommand:markdown.api.render","onCommand:markdown.api.reloadPlugins","onWebviewPanel:markdown.preview"],"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":"limited","description":"Required for loading styles configured in the workspace.","restrictedConfigurations":["markdown.styles"]}},"contributes":{"notebookRenderer":[{"id":"vscode.markdown-it-renderer","displayName":"Markdown it renderer","entrypoint":"./notebook-out/index.js","mimeTypes":["text/markdown","text/latex","text/x-css","text/x-html","text/x-json","text/x-typescript","text/x-abap","text/x-apex","text/x-azcli","text/x-bat","text/x-cameligo","text/x-clojure","text/x-coffee","text/x-cpp","text/x-csharp","text/x-csp","text/x-css","text/x-dart","text/x-dockerfile","text/x-ecl","text/x-fsharp","text/x-go","text/x-graphql","text/x-handlebars","text/x-hcl","text/x-html","text/x-ini","text/x-java","text/x-javascript","text/x-julia","text/x-kotlin","text/x-less","text/x-lexon","text/x-lua","text/x-m3","text/x-markdown","text/x-mips","text/x-msdax","text/x-mysql","text/x-objective-c/objective","text/x-pascal","text/x-pascaligo","text/x-perl","text/x-pgsql","text/x-php","text/x-postiats","text/x-powerquery","text/x-powershell","text/x-pug","text/x-python","text/x-r","text/x-razor","text/x-redis","text/x-redshift","text/x-restructuredtext","text/x-ruby","text/x-rust","text/x-sb","text/x-scala","text/x-scheme","text/x-scss","text/x-shell","text/x-solidity","text/x-sophia","text/x-sql","text/x-st","text/x-swift","text/x-systemverilog","text/x-tcl","text/x-twig","text/x-typescript","text/x-vb","text/x-xml","text/x-yaml","application/json"]}],"commands":[{"command":"_markdown.copyImage","title":"Copy Image","category":"Markdown"},{"command":"_markdown.openImage","title":"Open Image","category":"Markdown"},{"command":"markdown.showPreview","title":"Open Preview","category":"Markdown","icon":{"light":"./media/preview-light.svg","dark":"./media/preview-dark.svg"}},{"command":"markdown.showPreviewToSide","title":"Open Preview to the Side","category":"Markdown","icon":"$(open-preview)"},{"command":"markdown.showLockedPreviewToSide","title":"Open Locked Preview to the Side","category":"Markdown","icon":"$(open-preview)"},{"command":"markdown.showSource","title":"Show Source","category":"Markdown","icon":"$(go-to-file)"},{"command":"markdown.showPreviewSecuritySelector","title":"Change Preview Security Settings","category":"Markdown"},{"command":"markdown.preview.refresh","title":"Refresh Preview","category":"Markdown"},{"command":"markdown.preview.toggleLock","title":"Toggle Preview Locking","category":"Markdown"},{"command":"markdown.findAllFileReferences","title":"Find File References","category":"Markdown"},{"command":"markdown.editor.insertLinkFromWorkspace","title":"Insert Link to File in Workspace","category":"Markdown","enablement":"editorLangId =~ /^(markdown|prompt|instructions|chatmode)$/ && !activeEditorIsReadonly"},{"command":"markdown.editor.insertImageFromWorkspace","title":"Insert Image from Workspace","category":"Markdown","enablement":"editorLangId =~ /^(markdown|prompt|instructions|chatmode)$/ && !activeEditorIsReadonly"}],"menus":{"webview/context":[{"command":"_markdown.copyImage","when":"webviewId == 'markdown.preview' && (webviewSection == 'image' || webviewSection == 'localImage')"},{"command":"_markdown.openImage","when":"webviewId == 'markdown.preview' && webviewSection == 'localImage'"}],"editor/title":[{"command":"markdown.showPreviewToSide","when":"editorLangId =~ /^(markdown|prompt|instructions|chatmode)$/ && !notebookEditorFocused && !hasCustomMarkdownPreview","alt":"markdown.showPreview","group":"navigation"},{"command":"markdown.showSource","when":"activeWebviewPanelId == 'markdown.preview' || activeCustomEditorId == 'vscode.markdown.preview.editor'","group":"navigation"},{"command":"markdown.preview.refresh","when":"activeWebviewPanelId == 'markdown.preview' || activeCustomEditorId == 'vscode.markdown.preview.editor'","group":"1_markdown"},{"command":"markdown.preview.toggleLock","when":"activeWebviewPanelId == 'markdown.preview' || activeCustomEditorId == 'vscode.markdown.preview.editor'","group":"1_markdown"},{"command":"markdown.showPreviewSecuritySelector","when":"activeWebviewPanelId == 'markdown.preview' || activeCustomEditorId == 'vscode.markdown.preview.editor'","group":"1_markdown"}],"explorer/context":[{"command":"markdown.showPreview","when":"resourceLangId =~ /^(markdown|prompt|instructions|chatmode)$/ && !hasCustomMarkdownPreview","group":"navigation"},{"command":"markdown.findAllFileReferences","when":"resourceLangId =~ /^(markdown|prompt|instructions|chatmode)$/","group":"4_search"}],"editor/title/context":[{"command":"markdown.showPreview","when":"resourceLangId =~ /^(markdown|prompt|instructions|chatmode)$/ && !hasCustomMarkdownPreview","group":"1_open"},{"command":"markdown.findAllFileReferences","when":"resourceLangId =~ /^(markdown|prompt|instructions|chatmode)$/"}],"commandPalette":[{"command":"_markdown.openImage","when":"false"},{"command":"_markdown.copyImage","when":"false"},{"command":"markdown.showPreview","when":"editorLangId =~ /^(markdown|prompt|instructions|chatmode)$/ && !notebookEditorFocused","group":"navigation"},{"command":"markdown.showPreviewToSide","when":"editorLangId =~ /^(markdown|prompt|instructions|chatmode)$/ && !notebookEditorFocused","group":"navigation"},{"command":"markdown.showLockedPreviewToSide","when":"editorLangId =~ /^(markdown|prompt|instructions|chatmode)$/ && !notebookEditorFocused","group":"navigation"},{"command":"markdown.showSource","when":"activeWebviewPanelId == 'markdown.preview' || activeCustomEditorId == 'vscode.markdown.preview.editor'","group":"navigation"},{"command":"markdown.showPreviewSecuritySelector","when":"editorLangId =~ /^(markdown|prompt|instructions|chatmode)$/ && !notebookEditorFocused"},{"command":"markdown.showPreviewSecuritySelector","when":"activeWebviewPanelId == 'markdown.preview' || activeCustomEditorId == 'vscode.markdown.preview.editor'"},{"command":"markdown.preview.toggleLock","when":"activeWebviewPanelId == 'markdown.preview' || activeCustomEditorId == 'vscode.markdown.preview.editor'"},{"command":"markdown.preview.refresh","when":"editorLangId =~ /^(markdown|prompt|instructions|chatmode)$/ && !notebookEditorFocused"},{"command":"markdown.preview.refresh","when":"activeWebviewPanelId == 'markdown.preview' || activeCustomEditorId == 'vscode.markdown.preview.editor'"},{"command":"markdown.findAllFileReferences","when":"editorLangId =~ /^(markdown|prompt|instructions|chatmode)$/"}]},"keybindings":[{"command":"markdown.showPreview","key":"shift+ctrl+v","mac":"shift+cmd+v","when":"editorLangId =~ /^(markdown|prompt|instructions|chatmode)$/ && !notebookEditorFocused"},{"command":"markdown.showPreviewToSide","key":"ctrl+k v","mac":"cmd+k v","when":"editorLangId =~ /^(markdown|prompt|instructions|chatmode)$/ && !notebookEditorFocused"}],"configuration":{"type":"object","title":"Markdown","order":20,"properties":{"markdown.styles":{"type":"array","items":{"type":"string"},"default":[],"description":"A list of URLs or local paths to CSS style sheets to use from the Markdown preview. Relative paths are interpreted relative to the folder open in the Explorer. If there is no open folder, they are interpreted relative to the location of the Markdown file. All '\\' need to be written as '\\\\'.","scope":"resource"},"markdown.preview.breaks":{"type":"boolean","default":false,"markdownDescription":"Sets how line-breaks are rendered in the Markdown preview. Setting it to `true` creates a `
` for newlines inside paragraphs.","scope":"resource"},"markdown.preview.linkify":{"type":"boolean","default":true,"description":"Convert URL-like text to links in the Markdown preview.","scope":"resource"},"markdown.preview.typographer":{"type":"boolean","default":false,"description":"Enable some language-neutral replacement and quotes beautification in the Markdown preview.","scope":"resource"},"markdown.preview.fontFamily":{"type":"string","default":"-apple-system, BlinkMacSystemFont, 'Segoe WPC', 'Segoe UI', system-ui, 'Ubuntu', 'Droid Sans', sans-serif","description":"Controls the font family used in the Markdown preview.","scope":"resource"},"markdown.preview.fontSize":{"type":"number","default":14,"description":"Controls the font size in pixels used in the Markdown preview.","scope":"resource"},"markdown.preview.lineHeight":{"type":"number","default":1.6,"description":"Controls the line height used in the Markdown preview. This number is relative to the font size.","scope":"resource"},"markdown.preview.scrollPreviewWithEditor":{"type":"boolean","default":true,"description":"When a Markdown editor is scrolled, update the view of the preview.","scope":"resource"},"markdown.preview.markEditorSelection":{"type":"boolean","default":true,"description":"Mark the current editor selection in the Markdown preview.","scope":"resource"},"markdown.preview.scrollEditorWithPreview":{"type":"boolean","default":true,"description":"When a Markdown preview is scrolled, update the view of the editor.","scope":"resource"},"markdown.preview.doubleClickToSwitchToEditor":{"type":"boolean","default":true,"description":"Double-click in the Markdown preview to switch to the editor.","scope":"resource"},"markdown.preview.openMarkdownLinks":{"type":"string","default":"inPreview","description":"Controls how links to other Markdown files in the Markdown preview should be opened.","scope":"resource","enum":["inPreview","inEditor"],"enumDescriptions":["Try to open links in the Markdown preview.","Try to open links in the editor."]},"markdown.links.openLocation":{"type":"string","default":"currentGroup","description":"Controls where links in Markdown files should be opened.","scope":"resource","enum":["currentGroup","beside"],"enumDescriptions":["Open links in the active editor group.","Open links beside the active editor."]},"markdown.suggest.paths.enabled":{"type":"boolean","default":true,"description":"Enable path suggestions while writing links in Markdown files.","scope":"resource"},"markdown.suggest.paths.includeWorkspaceHeaderCompletions":{"type":"string","default":"onDoubleHash","scope":"resource","markdownDescription":"Enable suggestions for headers in other Markdown files in the current workspace. Accepting one of these suggestions inserts the full path to header in that file, for example: `[link text](/path/to/file.md#header)`.","enum":["never","onDoubleHash","onSingleOrDoubleHash"],"markdownEnumDescriptions":["Disable workspace header suggestions.","Enable workspace header suggestions after typing `##` in a path, for example: `[link text](##`.","Enable workspace header suggestions after typing either `##` or `#` in a path, for example: `[link text](#` or `[link text](##`."]},"markdown.trace.server":{"type":"string","scope":"window","enum":["off","messages","verbose"],"default":"off","description":"Traces the communication between VS Code and the Markdown language server."},"markdown.server.log":{"type":"string","scope":"window","enum":["off","debug","trace"],"default":"off","description":"Controls the logging level of the Markdown language server."},"markdown.editor.drop.enabled":{"type":"string","scope":"resource","markdownDescription":"Enable dropping files into a Markdown editor while holding Shift. Requires enabling `#editor.dropIntoEditor.enabled#`.","default":"smart","enum":["always","smart","never"],"markdownEnumDescriptions":["Always insert Markdown links.","Smartly create Markdown links by default when not dropping into a code block or other special element. Use the drop widget to switch between pasting as plain text or as Markdown links.","Never create Markdown links."]},"markdown.editor.drop.copyIntoWorkspace":{"type":"string","markdownDescription":"Controls if files outside of the workspace that are dropped into a Markdown editor should be copied into the workspace.\n\nUse `#markdown.copyFiles.destination#` to configure where copied dropped files should be created","default":"mediaFiles","enum":["mediaFiles","never"],"markdownEnumDescriptions":["Try to copy external image and video files into the workspace.","Do not copy external files into the workspace."]},"markdown.editor.filePaste.enabled":{"type":"string","scope":"resource","markdownDescription":"Enable pasting files into a Markdown editor to create Markdown links. Requires enabling `#editor.pasteAs.enabled#`.","default":"smart","enum":["always","smart","never"],"markdownEnumDescriptions":["Always insert Markdown links.","Smartly create Markdown links by default when not pasting into a code block or other special element. Use the paste widget to switch between pasting as plain text or as Markdown links.","Never create Markdown links."]},"markdown.editor.filePaste.copyIntoWorkspace":{"type":"string","markdownDescription":"Controls if files outside of the workspace that are pasted into a Markdown editor should be copied into the workspace.\n\nUse `#markdown.copyFiles.destination#` to configure where copied files should be created.","default":"mediaFiles","enum":["mediaFiles","never"],"markdownEnumDescriptions":["Try to copy external image and video files into the workspace.","Do not copy external files into the workspace."]},"markdown.editor.filePaste.videoSnippet":{"type":"string","markdownDescription":"Snippet used when adding videos to Markdown. This snippet can use the following variables:\n- `${src}` — The resolved path of the video file.\n- `${title}` — The title used for the video. A snippet placeholder will automatically be created for this variable.","default":""},"markdown.editor.filePaste.audioSnippet":{"type":"string","markdownDescription":"Snippet used when adding audio to Markdown. This snippet can use the following variables:\n- `${src}` — The resolved path of the audio file.\n- `${title}` — The title used for the audio. A snippet placeholder will automatically be created for this variable.","default":""},"markdown.editor.pasteUrlAsFormattedLink.enabled":{"type":"string","scope":"resource","markdownDescription":"Controls if Markdown links are created when URLs are pasted into a Markdown editor. Requires enabling `#editor.pasteAs.enabled#`.","default":"smartWithSelection","enum":["always","smart","smartWithSelection","never"],"markdownEnumDescriptions":["Always insert Markdown links.","Smartly create Markdown links by default when not pasting into a code block or other special element. Use the paste widget to switch between pasting as plain text or as Markdown links.","Smartly create Markdown links by default when you have selected text and are not pasting into a code block or other special element. Use the paste widget to switch between pasting as plain text or as Markdown links.","Never create Markdown links."]},"markdown.validate.enabled":{"type":"boolean","scope":"resource","description":"Enable all error reporting in Markdown files.","default":false},"markdown.validate.referenceLinks.enabled":{"type":"string","scope":"resource","markdownDescription":"Validate reference links in Markdown files, for example: `[link][ref]`. Requires enabling `#markdown.validate.enabled#`.","default":"warning","enum":["ignore","warning","error"]},"markdown.validate.fragmentLinks.enabled":{"type":"string","scope":"resource","markdownDescription":"Validate fragment links to headers in the current Markdown file, for example: `[link](#header)`. Requires enabling `#markdown.validate.enabled#`.","default":"warning","enum":["ignore","warning","error"]},"markdown.validate.fileLinks.enabled":{"type":"string","scope":"resource","markdownDescription":"Validate links to other files in Markdown files, for example `[link](/path/to/file.md)`. This checks that the target files exists. Requires enabling `#markdown.validate.enabled#`.","default":"warning","enum":["ignore","warning","error"]},"markdown.validate.fileLinks.markdownFragmentLinks":{"type":"string","scope":"resource","markdownDescription":"Validate the fragment part of links to headers in other files in Markdown files, for example: `[link](/path/to/file.md#header)`. Inherits the setting value from `#markdown.validate.fragmentLinks.enabled#` by default.","default":"inherit","enum":["inherit","ignore","warning","error"]},"markdown.validate.ignoredLinks":{"type":"array","scope":"resource","markdownDescription":"Configure links that should not be validated. For example adding `/about` would not validate the link `[about](/about)`, while the glob `/assets/**/*.svg` would let you skip validation for any link to `.svg` files under the `assets` directory.","items":{"type":"string"}},"markdown.validate.unusedLinkDefinitions.enabled":{"type":"string","scope":"resource","markdownDescription":"Validate link definitions that are unused in the current file.","default":"hint","enum":["ignore","hint","warning","error"]},"markdown.validate.duplicateLinkDefinitions.enabled":{"type":"string","scope":"resource","markdownDescription":"Validate duplicated definitions in the current file.","default":"warning","enum":["ignore","warning","error"]},"markdown.updateLinksOnFileMove.enabled":{"type":"string","enum":["prompt","always","never"],"markdownEnumDescriptions":["Prompt on each file move.","Always update links automatically.","Never try to update link and don't prompt."],"default":"never","markdownDescription":"Try to update links in Markdown files when a file is renamed/moved in the workspace. Use `#markdown.updateLinksOnFileMove.include#` to configure which files trigger link updates.","scope":"window"},"markdown.updateLinksOnFileMove.include":{"type":"array","markdownDescription":"Glob patterns that specifies files that trigger automatic link updates. See `#markdown.updateLinksOnFileMove.enabled#` for details about this feature.","scope":"window","items":{"type":"string","description":"The glob pattern to match file paths against. Set to true to enable the pattern."},"default":["**/*.{md,mkd,mdwn,mdown,markdown,markdn,mdtxt,mdtext,workbook}","**/*.{jpg,jpe,jpeg,png,bmp,gif,ico,webp,avif,tiff,svg,mp4}"]},"markdown.updateLinksOnFileMove.enableForDirectories":{"type":"boolean","default":true,"description":"Enable updating links when a directory is moved or renamed in the workspace.","scope":"window"},"markdown.occurrencesHighlight.enabled":{"type":"boolean","default":false,"description":"Enable highlighting link occurrences in the current document.","scope":"resource"},"markdown.copyFiles.destination":{"type":"object","markdownDescription":"Configures the path and file name of files created by copy/paste or drag and drop. This is a map of globs that match against a Markdown document path to the destination path where the new file should be created.\n\nThe destination path may use the following variables:\n\n- `${documentDirName}` — Absolute parent directory path of the Markdown document, e.g. `/Users/me/myProject/docs`.\n- `${documentRelativeDirName}` — Relative parent directory path of the Markdown document, e.g. `docs`. This is the same as `${documentDirName}` if the file is not part of a workspace.\n- `${documentFileName}` — The full filename of the Markdown document, e.g. `README.md`.\n- `${documentBaseName}` — The basename of the Markdown document, e.g. `README`.\n- `${documentExtName}` — The extension of the Markdown document, e.g. `md`.\n- `${documentFilePath}` — Absolute path of the Markdown document, e.g. `/Users/me/myProject/docs/README.md`.\n- `${documentRelativeFilePath}` — Relative path of the Markdown document, e.g. `docs/README.md`. This is the same as `${documentFilePath}` if the file is not part of a workspace.\n- `${documentWorkspaceFolder}` — The workspace folder for the Markdown document, e.g. `/Users/me/myProject`. This is the same as `${documentDirName}` if the file is not part of a workspace.\n- `${fileName}` — The file name of the dropped file, e.g. `image.png`.\n- `${fileExtName}` — The extension of the dropped file, e.g. `png`.\n- `${unixTime}` — The current Unix timestamp in milliseconds.\n- `${isoTime}` — The current time in ISO 8601 format, e.g. '2025-06-06T08:40:32.123Z'.","additionalProperties":{"type":"string"}},"markdown.copyFiles.overwriteBehavior":{"type":"string","markdownDescription":"Controls if files created by drop or paste should overwrite existing files.","default":"nameIncrementally","enum":["nameIncrementally","overwrite"],"markdownEnumDescriptions":["If a file with the same name already exists, append a number to the file name, for example: `image.png` becomes `image-1.png`.","If a file with the same name already exists, overwrite it."]},"markdown.preferredMdPathExtensionStyle":{"type":"string","default":"auto","markdownDescription":"Controls if file extensions (for example `.md`) are added or not for links to Markdown files. This setting is used when file paths are added by tooling such as path completions or file renames.","enum":["auto","includeExtension","removeExtension"],"markdownEnumDescriptions":["For existing paths, try to maintain the file extension style. For new paths, add file extensions.","Prefer including the file extension. For example, path completions to a file named `file.md` will insert `file.md`.","Prefer removing the file extension. For example, path completions to a file named `file.md` will insert `file` without the `.md`."]},"markdown.editor.updateLinksOnPaste.enabled":{"type":"boolean","markdownDescription":"Enable/disable a paste option that updates links and reference in text that is copied and pasted between Markdown editors.\n\nTo use this feature, after pasting text that contains updatable links, just click on the Paste Widget and select `Paste and update pasted links`.","scope":"resource","default":true}}},"configurationDefaults":{"[markdown]":{"editor.wordWrap":"on","editor.quickSuggestions":{"comments":"off","strings":"off","other":"off"}}},"jsonValidation":[{"fileMatch":"package.json","url":"./schemas/package.schema.json"}],"markdown.previewStyles":["./media/markdown.css","./media/highlight.css"],"markdown.previewScripts":["./media/index.js"],"customEditors":[{"viewType":"vscode.markdown.preview.editor","displayName":"Markdown Preview","priority":"option","selector":[{"filenamePattern":"*.md"}]}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/markdown-language-features","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.markdown-math"},"manifest":{"name":"markdown-math","displayName":"Markdown Math","description":"Adds math support to Markdown in notebooks.","version":"1.0.0","icon":"icon.png","publisher":"vscode","license":"MIT","aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","engines":{"vscode":"^1.54.0"},"categories":["Other","Programming Languages"],"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"main":"./dist/extension","browser":"./dist/browser/extension","activationEvents":[],"contributes":{"languages":[{"id":"markdown-math","aliases":[]}],"grammars":[{"language":"markdown-math","scopeName":"text.html.markdown.math","path":"./syntaxes/md-math.tmLanguage.json"},{"scopeName":"markdown.math.block","path":"./syntaxes/md-math-block.tmLanguage.json","injectTo":["text.html.markdown"],"embeddedLanguages":{"meta.embedded.math.markdown":"latex"}},{"scopeName":"markdown.math.inline","path":"./syntaxes/md-math-inline.tmLanguage.json","injectTo":["text.html.markdown"],"embeddedLanguages":{"meta.embedded.math.markdown":"latex","punctuation.definition.math.end.markdown":"latex"}},{"scopeName":"markdown.math.codeblock","path":"./syntaxes/md-math-fence.tmLanguage.json","injectTo":["text.html.markdown"],"embeddedLanguages":{"meta.embedded.math.markdown":"latex"}}],"notebookRenderer":[{"id":"vscode.markdown-it-katex-extension","displayName":"Markdown it KaTeX renderer","entrypoint":{"extends":"vscode.markdown-it-renderer","path":"./notebook-out/katex.js"}}],"markdown.markdownItPlugins":true,"markdown.previewStyles":["./notebook-out/katex.min.css","./preview-styles/index.css"],"configuration":[{"title":"Markdown Math","properties":{"markdown.math.enabled":{"type":"boolean","default":true,"description":"Enable/disable rendering math in the built-in Markdown preview."},"markdown.math.macros":{"type":"object","additionalProperties":{"type":"string"},"default":{},"description":"A collection of custom macros. Each macro is a key-value pair where the key is a new command name and the value is the expansion of the macro.","scope":"resource"}}}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/markdown-math","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.media-preview"},"manifest":{"name":"media-preview","displayName":"Media Preview","description":"Provides VS Code's built-in previews for images, audio, and video","extensionKind":["ui","workspace"],"version":"1.0.0","publisher":"vscode","icon":"icon.png","license":"MIT","aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","engines":{"vscode":"^1.70.0"},"main":"./dist/extension","browser":"./dist/browser/extension.js","categories":["Other"],"activationEvents":[],"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"contributes":{"configuration":{"type":"object","title":"Media Previewer","properties":{"mediaPreview.video.autoPlay":{"type":"boolean","default":false,"markdownDescription":"Start playing videos on mute automatically."},"mediaPreview.video.loop":{"type":"boolean","default":false,"markdownDescription":"Loop videos over again automatically."}}},"customEditors":[{"viewType":"imagePreview.previewEditor","displayName":"Image Preview","priority":"builtin","selector":[{"filenamePattern":"*.{jpg,jpe,jpeg,png,bmp,gif,ico,webp,avif,svg}"}]},{"viewType":"vscode.audioPreview","displayName":"Audio Preview","priority":"builtin","selector":[{"filenamePattern":"*.{mp3,wav,ogg,oga}"}]},{"viewType":"vscode.videoPreview","displayName":"Video Preview","priority":"builtin","selector":[{"filenamePattern":"*.{mp4,webm}"}]}],"commands":[{"command":"imagePreview.zoomIn","title":"Zoom in","category":"Image Preview"},{"command":"imagePreview.zoomOut","title":"Zoom out","category":"Image Preview"},{"command":"imagePreview.copyImage","title":"Copy","category":"Image Preview"},{"command":"imagePreview.reopenAsPreview","title":"Reopen as image preview","category":"Image Preview","icon":"$(preview)"},{"command":"imagePreview.reopenAsText","title":"Reopen as source text","category":"Image Preview","icon":"$(go-to-file)"}],"menus":{"commandPalette":[{"command":"imagePreview.zoomIn","when":"activeCustomEditorId == 'imagePreview.previewEditor'","group":"1_imagePreview"},{"command":"imagePreview.zoomOut","when":"activeCustomEditorId == 'imagePreview.previewEditor'","group":"1_imagePreview"},{"command":"imagePreview.copyImage","when":"false"},{"command":"imagePreview.reopenAsPreview","when":"activeEditor == workbench.editors.files.textFileEditor && resourceExtname == '.svg'","group":"navigation"},{"command":"imagePreview.reopenAsText","when":"activeCustomEditorId == 'imagePreview.previewEditor' && resourceExtname == '.svg'","group":"navigation"}],"webview/context":[{"command":"imagePreview.copyImage","when":"webviewId == 'imagePreview.previewEditor'"}],"editor/title":[{"command":"imagePreview.reopenAsPreview","when":"editorFocus && resourceExtname == '.svg'","group":"navigation"},{"command":"imagePreview.reopenAsText","when":"activeCustomEditorId == 'imagePreview.previewEditor' && resourceExtname == '.svg'","group":"navigation"}]}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/media-preview","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.merge-conflict"},"manifest":{"name":"merge-conflict","publisher":"vscode","displayName":"Merge Conflict","description":"Highlighting and commands for inline merge conflicts.","icon":"media/icon.png","version":"1.0.0","license":"MIT","aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","engines":{"vscode":"^1.5.0"},"categories":["Other"],"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"activationEvents":["onStartupFinished"],"main":"./dist/mergeConflictMain","browser":"./dist/browser/mergeConflictMain","contributes":{"commands":[{"category":"Merge Conflict","title":"Accept All Current","original":"Accept All Current","command":"merge-conflict.accept.all-current","enablement":"!isMergeEditor"},{"category":"Merge Conflict","title":"Accept All Incoming","original":"Accept All Incoming","command":"merge-conflict.accept.all-incoming","enablement":"!isMergeEditor"},{"category":"Merge Conflict","title":"Accept All Both","original":"Accept All Both","command":"merge-conflict.accept.all-both","enablement":"!isMergeEditor"},{"category":"Merge Conflict","title":"Accept Current","original":"Accept Current","command":"merge-conflict.accept.current","enablement":"!isMergeEditor"},{"category":"Merge Conflict","title":"Accept Incoming","original":"Accept Incoming","command":"merge-conflict.accept.incoming","enablement":"!isMergeEditor"},{"category":"Merge Conflict","title":"Accept Selection","original":"Accept Selection","command":"merge-conflict.accept.selection","enablement":"!isMergeEditor"},{"category":"Merge Conflict","title":"Accept Both","original":"Accept Both","command":"merge-conflict.accept.both","enablement":"!isMergeEditor"},{"category":"Merge Conflict","title":"Next Conflict","original":"Next Conflict","command":"merge-conflict.next","enablement":"!isMergeEditor","icon":"$(arrow-down)"},{"category":"Merge Conflict","title":"Previous Conflict","original":"Previous Conflict","command":"merge-conflict.previous","enablement":"!isMergeEditor","icon":"$(arrow-up)"},{"category":"Merge Conflict","title":"Compare Current Conflict","original":"Compare Current Conflict","command":"merge-conflict.compare","enablement":"!isMergeEditor"}],"menus":{"scm/resourceState/context":[{"command":"merge-conflict.accept.all-current","when":"scmProvider == git && scmResourceGroup == merge","group":"1_modification"},{"command":"merge-conflict.accept.all-incoming","when":"scmProvider == git && scmResourceGroup == merge","group":"1_modification"}],"editor/title":[{"command":"merge-conflict.previous","group":"navigation@1","when":"!isMergeEditor && mergeConflictsCount && mergeConflictsCount != 0"},{"command":"merge-conflict.next","group":"navigation@2","when":"!isMergeEditor && mergeConflictsCount && mergeConflictsCount != 0"}]},"configuration":{"title":"Merge Conflict","properties":{"merge-conflict.codeLens.enabled":{"type":"boolean","description":"Create a CodeLens for merge conflict blocks within editor.","default":true},"merge-conflict.decorators.enabled":{"type":"boolean","description":"Create decorators for merge conflict blocks within editor.","default":true},"merge-conflict.autoNavigateNextConflict.enabled":{"type":"boolean","description":"Whether to automatically navigate to the next merge conflict after resolving a merge conflict.","default":false},"merge-conflict.diffViewPosition":{"type":"string","enum":["Current","Beside","Below"],"description":"Controls where the diff view should be opened when comparing changes in merge conflicts.","enumDescriptions":["Open the diff view in the current editor group.","Open the diff view next to the current editor group.","Open the diff view below the current editor group."],"default":"Current"}}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/merge-conflict","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.mermaid-chat-features"},"manifest":{"name":"mermaid-chat-features","displayName":"Mermaid Chat Features","description":"Adds Mermaid diagram support to built-in chats.","version":"1.0.0","publisher":"vscode","license":"MIT","repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"},"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","engines":{"vscode":"^1.104.0"},"enabledApiProposals":["chatOutputRenderer"],"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"main":"./dist/extension","browser":"./dist/browser/extension","activationEvents":[],"contributes":{"configuration":{"title":"Mermaid Chat Features","properties":{"mermaid-chat.enabled":{"type":"boolean","default":false,"description":"Enable a tool for experimental Mermaid diagram rendering in chat responses.","scope":"application","tags":["experimental"]}}},"chatOutputRenderers":[{"viewType":"vscode.chatMermaidDiagram","mimeTypes":["text/vnd.mermaid"]}],"languageModelTools":[{"name":"renderMermaidDiagram","displayName":"Mermaid Renderer","toolReferenceName":"renderMermaidDiagram","canBeReferencedInPrompt":true,"modelDescription":"Renders a Mermaid diagram from Mermaid.js markup.","userDescription":"Render a Mermaid.js diagrams from markup.","when":"config.mermaid-chat.enabled","inputSchema":{"type":"object","properties":{"markup":{"type":"string","description":"The mermaid diagram markup to render as a Mermaid diagram. This should only be the markup of the diagram. Do not include a wrapping code block."}}}}]}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/mermaid-chat-features","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.microsoft-authentication"},"manifest":{"name":"microsoft-authentication","publisher":"vscode","license":"MIT","displayName":"Microsoft Account","description":"Microsoft authentication provider","version":"0.0.1","engines":{"vscode":"^1.42.0"},"icon":"media/icon.png","categories":["Other"],"activationEvents":[],"enabledApiProposals":["nativeWindowHandle","authIssuers","authenticationChallenges"],"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"extensionKind":["ui","workspace"],"contributes":{"authentication":[{"label":"Microsoft","id":"microsoft","authorizationServerGlobs":["https://login.microsoftonline.com/*","https://login.microsoftonline.com/*/v2.0"]},{"label":"Microsoft Sovereign Cloud","id":"microsoft-sovereign-cloud"}],"configuration":[{"title":"Microsoft Sovereign Cloud","properties":{"microsoft-sovereign-cloud.environment":{"type":"string","markdownDescription":"The Sovereign Cloud to use for authentication. If you select `custom`, you must also set the `#microsoft-sovereign-cloud.customEnvironment#` setting.","enum":["ChinaCloud","USGovernment","custom"],"enumDescriptions":["Azure China","Azure US Government","A custom Microsoft Sovereign Cloud"]},"microsoft-sovereign-cloud.customEnvironment":{"type":"object","additionalProperties":true,"markdownDescription":"The custom configuration for the Sovereign Cloud to use with the Microsoft Sovereign Cloud authentication provider. This along with setting `#microsoft-sovereign-cloud.environment#` to `custom` is required to use this feature.","properties":{"name":{"type":"string","description":"The name of the custom Sovereign Cloud."},"portalUrl":{"type":"string","description":"The portal URL for the custom Sovereign Cloud."},"managementEndpointUrl":{"type":"string","description":"The management endpoint for the custom Sovereign Cloud."},"resourceManagerEndpointUrl":{"type":"string","description":"The resource manager endpoint for the custom Sovereign Cloud."},"activeDirectoryEndpointUrl":{"type":"string","description":"The Active Directory endpoint for the custom Sovereign Cloud."},"activeDirectoryResourceId":{"type":"string","description":"The Active Directory resource ID for the custom Sovereign Cloud."}},"required":["name","portalUrl","managementEndpointUrl","resourceManagerEndpointUrl","activeDirectoryEndpointUrl","activeDirectoryResourceId"]}}},{"title":"Microsoft","properties":{"microsoft-authentication.implementation":{"type":"string","default":"msal","enum":["msal","msal-no-broker","classic"],"enumDescriptions":["Use the Microsoft Authentication Library (MSAL) to sign in with a Microsoft account.","Use the Microsoft Authentication Library (MSAL) to sign in with a Microsoft account using a browser. This is useful if you are having issues with the native broker.","(deprecated) Use the classic authentication flow to sign in with a Microsoft account."],"markdownDescription":"The authentication implementation to use for signing in with a Microsoft account.\n\n*NOTE: The `classic` implementation is deprecated and will be removed in a future release. If the `msal` implementation does not work for you, please [open an issue](command:workbench.action.openIssueReporter) and explain what you are trying to log in to.*","tags":["onExP"]}}}]},"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","main":"./dist/extension.js","browser":"./dist/browser/extension.js","repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/microsoft-authentication","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"ms-vscode.js-debug"},"manifest":{"name":"js-debug","displayName":"JavaScript Debugger","version":"1.105.0","publisher":"ms-vscode","author":{"name":"Microsoft Corporation"},"keywords":["pwa","javascript","node","chrome","debugger"],"description":"An extension for debugging Node.js programs and Chrome.","license":"MIT","engines":{"vscode":"^1.80.0","node":">=10"},"icon":"resources/logo.png","categories":["Debuggers"],"private":true,"repository":{"type":"git","url":"https://github.com/Microsoft/vscode-pwa.git"},"bugs":{"url":"https://github.com/Microsoft/vscode-pwa/issues"},"main":"./src/extension.js","enabledApiProposals":["portsAttributes","workspaceTrust","tunnels"],"extensionKind":["workspace"],"capabilities":{"virtualWorkspaces":false,"untrustedWorkspaces":{"supported":"limited","description":"Trust is required to debug code in this workspace."}},"activationEvents":["onDebugDynamicConfigurations","onDebugInitialConfigurations","onFileSystem:jsDebugNetworkFs","onDebugResolve:pwa-node","onDebugResolve:node-terminal","onDebugResolve:pwa-extensionHost","onDebugResolve:pwa-chrome","onDebugResolve:pwa-msedge","onDebugResolve:node","onDebugResolve:chrome","onDebugResolve:extensionHost","onDebugResolve:msedge","onCommand:extension.js-debug.clearAutoAttachVariables","onCommand:extension.js-debug.setAutoAttachVariables","onCommand:extension.js-debug.autoAttachToProcess","onCommand:extension.js-debug.pickNodeProcess","onCommand:extension.js-debug.requestCDPProxy","onCommand:extension.js-debug.completion.nodeTool"],"contributes":{"menus":{"commandPalette":[{"command":"extension.js-debug.prettyPrint","title":"Pretty print for debugging","when":"debugType == pwa-extensionHost && debugState == stopped || debugType == node-terminal && debugState == stopped || debugType == pwa-node && debugState == stopped || debugType == pwa-chrome && debugState == stopped || debugType == pwa-msedge && debugState == stopped"},{"command":"extension.js-debug.startProfile","title":"Take Performance Profile","when":"debugType == pwa-extensionHost && inDebugMode && !jsDebugIsProfiling || debugType == node-terminal && inDebugMode && !jsDebugIsProfiling || debugType == pwa-node && inDebugMode && !jsDebugIsProfiling || debugType == pwa-chrome && inDebugMode && !jsDebugIsProfiling || debugType == pwa-msedge && inDebugMode && !jsDebugIsProfiling"},{"command":"extension.js-debug.stopProfile","title":"Stop Performance Profile","when":"debugType == pwa-extensionHost && inDebugMode && jsDebugIsProfiling || debugType == node-terminal && inDebugMode && jsDebugIsProfiling || debugType == pwa-node && inDebugMode && jsDebugIsProfiling || debugType == pwa-chrome && inDebugMode && jsDebugIsProfiling || debugType == pwa-msedge && inDebugMode && jsDebugIsProfiling"},{"command":"extension.js-debug.revealPage","when":"false"},{"command":"extension.js-debug.debugLink","title":"Open Link","when":"!isWeb"},{"command":"extension.js-debug.createDiagnostics","title":"Diagnose Breakpoint Problems","when":"debugType == pwa-extensionHost && inDebugMode || debugType == node-terminal && inDebugMode || debugType == pwa-node && inDebugMode || debugType == pwa-chrome && inDebugMode || debugType == pwa-msedge && inDebugMode"},{"command":"extension.js-debug.getDiagnosticLogs","title":"Save Diagnostic JS Debug Logs","when":"debugType == pwa-extensionHost && inDebugMode || debugType == node-terminal && inDebugMode || debugType == pwa-node && inDebugMode || debugType == pwa-chrome && inDebugMode || debugType == pwa-msedge && inDebugMode"},{"command":"extension.js-debug.openEdgeDevTools","title":"Open Browser Devtools","when":"debugType == pwa-msedge"},{"command":"extension.js-debug.callers.add","title":"Exclude caller from pausing in the current location","when":"debugType == pwa-extensionHost && debugState == \"stopped\" || debugType == node-terminal && debugState == \"stopped\" || debugType == pwa-node && debugState == \"stopped\" || debugType == pwa-chrome && debugState == \"stopped\" || debugType == pwa-msedge && debugState == \"stopped\""},{"command":"extension.js-debug.callers.goToCaller","when":"false"},{"command":"extension.js-debug.callers.gotToTarget","when":"false"},{"command":"extension.js-debug.network.copyUri","when":"false"},{"command":"extension.js-debug.network.openBody","when":"false"},{"command":"extension.js-debug.network.openBodyInHex","when":"false"},{"command":"extension.js-debug.network.replayXHR","when":"false"},{"command":"extension.js-debug.network.viewRequest","when":"false"},{"command":"extension.js-debug.network.clear","when":"false"},{"command":"extension.js-debug.enableSourceMapStepping","when":"jsDebugIsMapSteppingDisabled"},{"command":"extension.js-debug.disableSourceMapStepping","when":"!jsDebugIsMapSteppingDisabled"}],"debug/callstack/context":[{"command":"extension.js-debug.revealPage","group":"navigation","when":"debugType == pwa-chrome && callStackItemType == 'session' || debugType == pwa-msedge && callStackItemType == 'session'"},{"command":"extension.js-debug.toggleSkippingFile","group":"navigation","when":"debugType == pwa-extensionHost && callStackItemType == 'session' || debugType == node-terminal && callStackItemType == 'session' || debugType == pwa-node && callStackItemType == 'session' || debugType == pwa-chrome && callStackItemType == 'session' || debugType == pwa-msedge && callStackItemType == 'session'"},{"command":"extension.js-debug.startProfile","group":"navigation","when":"debugType == pwa-extensionHost && !jsDebugIsProfiling && callStackItemType == 'session' || debugType == node-terminal && !jsDebugIsProfiling && callStackItemType == 'session' || debugType == pwa-node && !jsDebugIsProfiling && callStackItemType == 'session' || debugType == pwa-chrome && !jsDebugIsProfiling && callStackItemType == 'session' || debugType == pwa-msedge && !jsDebugIsProfiling && callStackItemType == 'session'"},{"command":"extension.js-debug.stopProfile","group":"navigation","when":"debugType == pwa-extensionHost && jsDebugIsProfiling && callStackItemType == 'session' || debugType == node-terminal && jsDebugIsProfiling && callStackItemType == 'session' || debugType == pwa-node && jsDebugIsProfiling && callStackItemType == 'session' || debugType == pwa-chrome && jsDebugIsProfiling && callStackItemType == 'session' || debugType == pwa-msedge && jsDebugIsProfiling && callStackItemType == 'session'"},{"command":"extension.js-debug.startProfile","group":"inline","when":"debugType == pwa-extensionHost && !jsDebugIsProfiling || debugType == node-terminal && !jsDebugIsProfiling || debugType == pwa-node && !jsDebugIsProfiling || debugType == pwa-chrome && !jsDebugIsProfiling || debugType == pwa-msedge && !jsDebugIsProfiling"},{"command":"extension.js-debug.stopProfile","group":"inline","when":"debugType == pwa-extensionHost && jsDebugIsProfiling || debugType == node-terminal && jsDebugIsProfiling || debugType == pwa-node && jsDebugIsProfiling || debugType == pwa-chrome && jsDebugIsProfiling || debugType == pwa-msedge && jsDebugIsProfiling"},{"command":"extension.js-debug.callers.add","when":"debugType == pwa-extensionHost && callStackItemType == 'stackFrame' || debugType == node-terminal && callStackItemType == 'stackFrame' || debugType == pwa-node && callStackItemType == 'stackFrame' || debugType == pwa-chrome && callStackItemType == 'stackFrame' || debugType == pwa-msedge && callStackItemType == 'stackFrame'"}],"debug/toolBar":[{"command":"extension.js-debug.stopProfile","when":"debugType == pwa-extensionHost && jsDebugIsProfiling || debugType == node-terminal && jsDebugIsProfiling || debugType == pwa-node && jsDebugIsProfiling || debugType == pwa-chrome && jsDebugIsProfiling || debugType == pwa-msedge && jsDebugIsProfiling"},{"command":"extension.js-debug.openEdgeDevTools","when":"debugType == pwa-msedge"},{"command":"extension.js-debug.enableSourceMapStepping","when":"jsDebugIsMapSteppingDisabled"}],"view/title":[{"command":"extension.js-debug.addCustomBreakpoints","when":"view == jsBrowserBreakpoints","group":"navigation"},{"command":"extension.js-debug.removeAllCustomBreakpoints","when":"view == jsBrowserBreakpoints","group":"navigation"},{"command":"extension.js-debug.callers.removeAll","group":"navigation","when":"view == jsExcludedCallers"},{"command":"extension.js-debug.disableSourceMapStepping","group":"navigation","when":"debugType == pwa-extensionHost && view == workbench.debug.callStackView && !jsDebugIsMapSteppingDisabled || debugType == node-terminal && view == workbench.debug.callStackView && !jsDebugIsMapSteppingDisabled || debugType == pwa-node && view == workbench.debug.callStackView && !jsDebugIsMapSteppingDisabled || debugType == pwa-chrome && view == workbench.debug.callStackView && !jsDebugIsMapSteppingDisabled || debugType == pwa-msedge && view == workbench.debug.callStackView && !jsDebugIsMapSteppingDisabled"},{"command":"extension.js-debug.enableSourceMapStepping","group":"navigation","when":"debugType == pwa-extensionHost && view == workbench.debug.callStackView && jsDebugIsMapSteppingDisabled || debugType == node-terminal && view == workbench.debug.callStackView && jsDebugIsMapSteppingDisabled || debugType == pwa-node && view == workbench.debug.callStackView && jsDebugIsMapSteppingDisabled || debugType == pwa-chrome && view == workbench.debug.callStackView && jsDebugIsMapSteppingDisabled || debugType == pwa-msedge && view == workbench.debug.callStackView && jsDebugIsMapSteppingDisabled"},{"command":"extension.js-debug.network.clear","group":"navigation","when":"view == jsDebugNetworkTree"}],"view/item/context":[{"command":"extension.js-debug.addXHRBreakpoints","when":"view == jsBrowserBreakpoints && viewItem == xhrBreakpoint"},{"command":"extension.js-debug.editXHRBreakpoints","when":"view == jsBrowserBreakpoints && viewItem == xhrBreakpoint","group":"inline"},{"command":"extension.js-debug.editXHRBreakpoints","when":"view == jsBrowserBreakpoints && viewItem == xhrBreakpoint"},{"command":"extension.js-debug.removeXHRBreakpoint","when":"view == jsBrowserBreakpoints && viewItem == xhrBreakpoint","group":"inline"},{"command":"extension.js-debug.removeXHRBreakpoint","when":"view == jsBrowserBreakpoints && viewItem == xhrBreakpoint"},{"command":"extension.js-debug.addXHRBreakpoints","when":"view == jsBrowserBreakpoints && viewItem == xhrCategory","group":"inline"},{"command":"extension.js-debug.callers.goToCaller","group":"inline","when":"view == jsExcludedCallers"},{"command":"extension.js-debug.callers.gotToTarget","group":"inline","when":"view == jsExcludedCallers"},{"command":"extension.js-debug.callers.remove","group":"inline","when":"view == jsExcludedCallers"},{"command":"extension.js-debug.network.viewRequest","group":"inline@1","when":"view == jsDebugNetworkTree"},{"command":"extension.js-debug.network.openBody","group":"body@1","when":"view == jsDebugNetworkTree"},{"command":"extension.js-debug.network.openBodyInHex","group":"body@2","when":"view == jsDebugNetworkTree"},{"command":"extension.js-debug.network.copyUri","group":"other@1","when":"view == jsDebugNetworkTree"},{"command":"extension.js-debug.network.replayXHR","group":"other@2","when":"view == jsDebugNetworkTree"}],"editor/title":[{"command":"extension.js-debug.prettyPrint","group":"navigation","when":"jsDebugCanPrettyPrint"}]},"breakpoints":[{"language":"javascript"},{"language":"typescript"},{"language":"typescriptreact"},{"language":"javascriptreact"},{"language":"fsharp"},{"language":"html"},{"language":"wat"},{"language":"c"},{"language":"cpp"},{"language":"rust"},{"language":"zig"}],"debuggers":[{"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","configurationAttributes":{"attach":{"properties":{"address":{"default":"localhost","description":"TCP/IP address of process to be debugged. Default is 'localhost'.","type":"string"},"attachExistingChildren":{"default":false,"description":"Whether to attempt to attach to already-spawned child processes.","type":"boolean"},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"continueOnAttach":{"default":true,"markdownDescription":"If true, we'll automatically resume programs launched and waiting on `--inspect-brk`","type":"boolean"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"port":{"default":9229,"description":"Debug port to attach to. Default is 9229.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}],"tags":["setup"]},"processId":{"default":"${command:PickProcess}","description":"ID of process to attach to.","type":"string"},"remoteHostHeader":{"description":"Explicit Host header to use when connecting to the websocket of inspector. If unspecified, the host header will be set to 'localhost'. This is useful when the inspector is running behind a proxy that only accept particular Host header.","type":"string"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]},"websocketAddress":{"description":"Exact websocket address to attach to. If unspecified, it will be discovered from the address and port.","type":"string"}}},"launch":{"properties":{"args":{"default":[],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"Where to launch the debug target.","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code Debug Console (which doesn't support to read input from a program)","VS Code's integrated terminal","External terminal that can be configured via user settings"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"experimentalNetworking":{"default":"auto","description":"Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"profileStartup":{"default":true,"description":"If true, will start profiling as soon as the process launches","type":"boolean"},"program":{"default":"","description":"Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed.","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"Version of `node` runtime to use. Requires `nvm`.","type":"string"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"stopOnEntry":{"default":true,"description":"Automatically stop program after launch.","type":["boolean","string"]},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}}}},"configurationSnippets":[],"deprecated":"Please use type node instead","label":"Node.js","languages":["javascript","typescript","javascriptreact","typescriptreact"],"strings":{"unverifiedBreakpoints":"Some of your breakpoints could not be set. If you're having an issue, you can [troubleshoot your launch configuration](command:extension.js-debug.createDiagnostics)."},"type":"pwa-node","variables":{"PickProcess":"extension.js-debug.pickNodeProcess"}},{"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","configurationAttributes":{"attach":{"properties":{"address":{"default":"localhost","description":"TCP/IP address of process to be debugged. Default is 'localhost'.","type":"string"},"attachExistingChildren":{"default":false,"description":"Whether to attempt to attach to already-spawned child processes.","type":"boolean"},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"continueOnAttach":{"default":true,"markdownDescription":"If true, we'll automatically resume programs launched and waiting on `--inspect-brk`","type":"boolean"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"port":{"default":9229,"description":"Debug port to attach to. Default is 9229.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}],"tags":["setup"]},"processId":{"default":"${command:PickProcess}","description":"ID of process to attach to.","type":"string"},"remoteHostHeader":{"description":"Explicit Host header to use when connecting to the websocket of inspector. If unspecified, the host header will be set to 'localhost'. This is useful when the inspector is running behind a proxy that only accept particular Host header.","type":"string"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]},"websocketAddress":{"description":"Exact websocket address to attach to. If unspecified, it will be discovered from the address and port.","type":"string"}}},"launch":{"properties":{"args":{"default":[],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"Where to launch the debug target.","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code Debug Console (which doesn't support to read input from a program)","VS Code's integrated terminal","External terminal that can be configured via user settings"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"experimentalNetworking":{"default":"auto","description":"Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"profileStartup":{"default":true,"description":"If true, will start profiling as soon as the process launches","type":"boolean"},"program":{"default":"","description":"Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed.","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"Version of `node` runtime to use. Requires `nvm`.","type":"string"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"stopOnEntry":{"default":true,"description":"Automatically stop program after launch.","type":["boolean","string"]},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}}}},"configurationSnippets":[{"body":{"name":"${1:Attach}","port":9229,"request":"attach","skipFiles":["/**"],"type":"node"},"description":"Attach to a running node program","label":"Node.js: Attach"},{"body":{"address":"${2:TCP/IP address of process to be debugged}","localRoot":"^\"\\${workspaceFolder}\"","name":"${1:Attach to Remote}","port":9229,"remoteRoot":"${3:Absolute path to the remote directory containing the program}","request":"attach","skipFiles":["/**"],"type":"node"},"description":"Attach to the debug port of a remote node program","label":"Node.js: Attach to Remote Program"},{"body":{"name":"${1:Attach by Process ID}","processId":"^\"\\${command:PickProcess}\"","request":"attach","skipFiles":["/**"],"type":"node"},"description":"Open process picker to select node process to attach to","label":"Node.js: Attach to Process"},{"body":{"name":"${2:Launch Program}","program":"^\"\\${workspaceFolder}/${1:app.js}\"","request":"launch","skipFiles":["/**"],"type":"node"},"description":"Launch a node program in debug mode","label":"Node.js: Launch Program"},{"body":{"name":"${1:Launch via NPM}","request":"launch","runtimeArgs":["run-script","debug"],"runtimeExecutable":"npm","skipFiles":["/**"],"type":"node"},"label":"Node.js: Launch via npm","markdownDescription":"Launch a node program through an npm `debug` script"},{"body":{"console":"integratedTerminal","internalConsoleOptions":"neverOpen","name":"nodemon","program":"^\"\\${workspaceFolder}/${1:app.js}\"","request":"launch","restart":true,"runtimeExecutable":"nodemon","skipFiles":["/**"],"type":"node"},"description":"Use nodemon to relaunch a debug session on source changes","label":"Node.js: Nodemon Setup"},{"body":{"args":["-u","tdd","--timeout","999999","--colors","^\"\\${workspaceFolder}/${1:test}\""],"internalConsoleOptions":"openOnSessionStart","name":"Mocha Tests","program":"^\"mocha\"","request":"launch","skipFiles":["/**"],"type":"node"},"description":"Debug mocha tests","label":"Node.js: Mocha Tests"},{"body":{"args":["${1:generator}"],"console":"integratedTerminal","internalConsoleOptions":"neverOpen","name":"Yeoman ${1:generator}","program":"^\"\\${workspaceFolder}/node_modules/yo/lib/cli.js\"","request":"launch","skipFiles":["/**"],"type":"node"},"label":"Node.js: Yeoman generator","markdownDescription":"Debug yeoman generator (install by running `npm link` in project folder)"},{"body":{"args":["${1:task}"],"name":"Gulp ${1:task}","program":"^\"\\${workspaceFolder}/node_modules/gulp/bin/gulp.js\"","request":"launch","skipFiles":["/**"],"type":"node"},"description":"Debug gulp task (make sure to have a local gulp installed in your project)","label":"Node.js: Gulp task"},{"body":{"name":"Electron Main","program":"^\"\\${workspaceFolder}/main.js\"","request":"launch","runtimeExecutable":"^\"electron\"","skipFiles":["/**"],"type":"node"},"description":"Debug the Electron main process","label":"Node.js: Electron Main"}],"label":"Node.js","strings":{"unverifiedBreakpoints":"Some of your breakpoints could not be set. If you're having an issue, you can [troubleshoot your launch configuration](command:extension.js-debug.createDiagnostics)."},"type":"node","variables":{"PickProcess":"extension.js-debug.pickNodeProcess"}},{"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","configurationAttributes":{"launch":{"properties":{"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"Command to run in the launched terminal. If not provided, the terminal will open without launching a program.","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}}}},"configurationSnippets":[{"body":{"command":"npm start","name":"Run npm start","request":"launch","type":"node-terminal"},"description":"Run \"npm start\" in a debug terminal","label":"Run \"npm start\" in a debug terminal"}],"label":"JavaScript Debug Terminal","languages":[],"strings":{"unverifiedBreakpoints":"Some of your breakpoints could not be set. If you're having an issue, you can [troubleshoot your launch configuration](command:extension.js-debug.createDiagnostics)."},"type":"node-terminal"},{"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","configurationAttributes":{"launch":{"properties":{"args":{"default":["--extensionDevelopmentPath=${workspaceFolder}"],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"tags":["setup"],"type":"array"},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"debugWebWorkerHost":{"default":true,"markdownDescription":"Configures whether we should try to attach to the web worker extension host.","type":["boolean"]},"debugWebviews":{"default":true,"markdownDescription":"Configures whether we should try to attach to webviews in the launched VS Code instance. This will only work in desktop VS Code.","type":["boolean"]},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"rendererDebugOptions":{"default":{"webRoot":"${workspaceFolder}"},"markdownDescription":"Chrome launch options used when attaching to the renderer process, with `debugWebviews` or `debugWebWorkerHost`.","properties":{"address":{"default":"localhost","description":"IP address or hostname the debugged browser is listening on.","type":"string"},"browserAttachLocation":{"default":null,"description":"Forces the browser to attach in one location. In a remote workspace (through ssh or WSL, for example) this can be used to attach to a browser on the remote machine rather than locally.","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"disableNetworkCache":{"default":true,"description":"Controls whether to skip the network cache for each request","type":"boolean"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"inspectUri":{"default":null,"description":"Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n","type":["string","null"]},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pathMapping":{"default":{},"description":"A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.","enum":["yes","no","auto"],"type":"string"},"port":{"default":9229,"description":"Port to use to remote debugging the browser, given as `--remote-debugging-port` when launching the browser.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}],"tags":["setup"]},"resolveSourceMapLocations":{"default":null,"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":false,"markdownDescription":"Whether to reconnect if the browser connection is closed","type":"boolean"},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"Configures a web server to start up. Takes the same configuration as the 'node' launch task.","properties":{"args":{"default":[],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"Where to launch the debug target.","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code Debug Console (which doesn't support to read input from a program)","VS Code's integrated terminal","External terminal that can be configured via user settings"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"experimentalNetworking":{"default":"auto","description":"Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"profileStartup":{"default":true,"description":"If true, will start profiling as soon as the process launches","type":"boolean"},"program":{"default":"","description":"Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed.","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"Version of `node` runtime to use. Requires `nvm`.","type":"string"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"stopOnEntry":{"default":true,"description":"Automatically stop program after launch.","type":["boolean","string"]},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript Debug Terminal","properties":{"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"Command to run in the launched terminal. If not provided, the terminal will open without launching a program.","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"targetSelection":{"default":"automatic","enum":["pick","automatic"],"markdownDescription":"Whether to attach to all targets that match the URL filter (\"automatic\") or ask to pick one (\"pick\").","type":"string"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"Will search for a tab with this exact url and attach to it, if found","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"Will search for a page with this url and attach to it, if found. Can have * wildcards.","type":"string"},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"","tags":["setup"],"type":"string"}},"type":"object"},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeExecutable":{"default":"node","markdownDescription":"Absolute path to VS Code.","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"testConfiguration":{"default":"${workspaceFolder}/.vscode-test.js","markdownDescription":"Path to a test configuration file for the [test CLI](https://code.visualstudio.com/api/working-with-extensions/testing-extension#quick-setup-the-test-cli).","type":"string"},"testConfigurationLabel":{"default":"","markdownDescription":"A single configuration to run from the file. If not specified, you may be asked to pick.","type":"string"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"required":[]}},"configurationSnippets":[],"deprecated":"Please use type extensionHost instead","label":"VS Code Extension Development","languages":["javascript","typescript","javascriptreact","typescriptreact"],"strings":{"unverifiedBreakpoints":"Some of your breakpoints could not be set. If you're having an issue, you can [troubleshoot your launch configuration](command:extension.js-debug.createDiagnostics)."},"type":"pwa-extensionHost"},{"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","configurationAttributes":{"launch":{"properties":{"args":{"default":["--extensionDevelopmentPath=${workspaceFolder}"],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"tags":["setup"],"type":"array"},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"debugWebWorkerHost":{"default":true,"markdownDescription":"Configures whether we should try to attach to the web worker extension host.","type":["boolean"]},"debugWebviews":{"default":true,"markdownDescription":"Configures whether we should try to attach to webviews in the launched VS Code instance. This will only work in desktop VS Code.","type":["boolean"]},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"rendererDebugOptions":{"default":{"webRoot":"${workspaceFolder}"},"markdownDescription":"Chrome launch options used when attaching to the renderer process, with `debugWebviews` or `debugWebWorkerHost`.","properties":{"address":{"default":"localhost","description":"IP address or hostname the debugged browser is listening on.","type":"string"},"browserAttachLocation":{"default":null,"description":"Forces the browser to attach in one location. In a remote workspace (through ssh or WSL, for example) this can be used to attach to a browser on the remote machine rather than locally.","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"disableNetworkCache":{"default":true,"description":"Controls whether to skip the network cache for each request","type":"boolean"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"inspectUri":{"default":null,"description":"Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n","type":["string","null"]},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pathMapping":{"default":{},"description":"A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.","enum":["yes","no","auto"],"type":"string"},"port":{"default":9229,"description":"Port to use to remote debugging the browser, given as `--remote-debugging-port` when launching the browser.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}],"tags":["setup"]},"resolveSourceMapLocations":{"default":null,"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":false,"markdownDescription":"Whether to reconnect if the browser connection is closed","type":"boolean"},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"Configures a web server to start up. Takes the same configuration as the 'node' launch task.","properties":{"args":{"default":[],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"Where to launch the debug target.","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code Debug Console (which doesn't support to read input from a program)","VS Code's integrated terminal","External terminal that can be configured via user settings"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"experimentalNetworking":{"default":"auto","description":"Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"profileStartup":{"default":true,"description":"If true, will start profiling as soon as the process launches","type":"boolean"},"program":{"default":"","description":"Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed.","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"Version of `node` runtime to use. Requires `nvm`.","type":"string"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"stopOnEntry":{"default":true,"description":"Automatically stop program after launch.","type":["boolean","string"]},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript Debug Terminal","properties":{"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"Command to run in the launched terminal. If not provided, the terminal will open without launching a program.","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"targetSelection":{"default":"automatic","enum":["pick","automatic"],"markdownDescription":"Whether to attach to all targets that match the URL filter (\"automatic\") or ask to pick one (\"pick\").","type":"string"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"Will search for a tab with this exact url and attach to it, if found","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"Will search for a page with this url and attach to it, if found. Can have * wildcards.","type":"string"},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"","tags":["setup"],"type":"string"}},"type":"object"},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeExecutable":{"default":"node","markdownDescription":"Absolute path to VS Code.","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"testConfiguration":{"default":"${workspaceFolder}/.vscode-test.js","markdownDescription":"Path to a test configuration file for the [test CLI](https://code.visualstudio.com/api/working-with-extensions/testing-extension#quick-setup-the-test-cli).","type":"string"},"testConfigurationLabel":{"default":"","markdownDescription":"A single configuration to run from the file. If not specified, you may be asked to pick.","type":"string"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"required":[]}},"configurationSnippets":[{"body":{"args":["^\"--extensionDevelopmentPath=\\${workspaceFolder}\""],"name":"Launch Extension","outFiles":["^\"\\${workspaceFolder}/out/**/*.js\""],"preLaunchTask":"npm","request":"launch","type":"extensionHost"},"description":"Launch a VS Code extension in debug mode","label":"VS Code Extension Development"}],"label":"VS Code Extension Development","strings":{"unverifiedBreakpoints":"Some of your breakpoints could not be set. If you're having an issue, you can [troubleshoot your launch configuration](command:extension.js-debug.createDiagnostics)."},"type":"extensionHost"},{"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","configurationAttributes":{"attach":{"properties":{"address":{"default":"localhost","description":"IP address or hostname the debugged browser is listening on.","type":"string"},"browserAttachLocation":{"default":null,"description":"Forces the browser to attach in one location. In a remote workspace (through ssh or WSL, for example) this can be used to attach to a browser on the remote machine rather than locally.","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"disableNetworkCache":{"default":true,"description":"Controls whether to skip the network cache for each request","type":"boolean"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"inspectUri":{"default":null,"description":"Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n","type":["string","null"]},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pathMapping":{"default":{},"description":"A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.","enum":["yes","no","auto"],"type":"string"},"port":{"default":9229,"description":"Port to use to remote debugging the browser, given as `--remote-debugging-port` when launching the browser.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}],"tags":["setup"]},"resolveSourceMapLocations":{"default":null,"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":false,"markdownDescription":"Whether to reconnect if the browser connection is closed","type":"boolean"},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"Configures a web server to start up. Takes the same configuration as the 'node' launch task.","properties":{"args":{"default":[],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"Where to launch the debug target.","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code Debug Console (which doesn't support to read input from a program)","VS Code's integrated terminal","External terminal that can be configured via user settings"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"experimentalNetworking":{"default":"auto","description":"Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"profileStartup":{"default":true,"description":"If true, will start profiling as soon as the process launches","type":"boolean"},"program":{"default":"","description":"Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed.","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"Version of `node` runtime to use. Requires `nvm`.","type":"string"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"stopOnEntry":{"default":true,"description":"Automatically stop program after launch.","type":["boolean","string"]},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript Debug Terminal","properties":{"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"Command to run in the launched terminal. If not provided, the terminal will open without launching a program.","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"targetSelection":{"default":"automatic","enum":["pick","automatic"],"markdownDescription":"Whether to attach to all targets that match the URL filter (\"automatic\") or ask to pick one (\"pick\").","type":"string"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"Will search for a tab with this exact url and attach to it, if found","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"Will search for a page with this url and attach to it, if found. Can have * wildcards.","type":"string"},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"","tags":["setup"],"type":"string"}}},"launch":{"properties":{"browserLaunchLocation":{"default":null,"description":"Forces the browser to be launched in one location. In a remote workspace (through ssh or WSL, for example) this can be used to open the browser on the remote machine rather than locally.","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"cleanUp":{"default":"wholeBrowser","description":"What clean-up to do after the debugging session finishes. Close only the tab being debug, vs. close the whole browser.","enum":["wholeBrowser","onlyTab"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":null,"description":"Optional working directory for the runtime executable.","type":"string"},"disableNetworkCache":{"default":true,"description":"Controls whether to skip the network cache for each request","type":"boolean"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"default":{},"description":"Optional dictionary of environment key/value pairs for the browser.","type":"object"},"file":{"default":"${workspaceFolder}/index.html","description":"A local html file to open in the browser","tags":["setup"],"type":"string"},"includeDefaultArgs":{"default":true,"description":"Whether default browser launch arguments (to disable features that may make debugging harder) will be included in the launch.","type":"boolean"},"includeLaunchArgs":{"default":true,"description":"Advanced: whether any default launch/debugging arguments are set on the browser. The debugger will assume the browser will use pipe debugging such as that which is provided with `--remote-debugging-pipe`.","type":"boolean"},"inspectUri":{"default":null,"description":"Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n","type":["string","null"]},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how browser processes are killed when stopping the session with `cleanUp: wholeBrowser`. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pathMapping":{"default":{},"description":"A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.","enum":["yes","no","auto"],"type":"string"},"port":{"default":0,"description":"Port for the browser to listen on. Defaults to \"0\", which will cause the browser to be debugged via pipes, which is generally more secure and should be chosen unless you need to attach to the browser from another tool.","type":"number"},"profileStartup":{"default":true,"description":"If true, will start profiling soon as the process launches","type":"boolean"},"resolveSourceMapLocations":{"default":null,"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"type":"array"},"runtimeExecutable":{"default":"stable","description":"Either 'canary', 'stable', 'custom' or path to the browser executable. Custom means a custom wrapper, custom build or CHROME_PATH environment variable.","type":["string","null"]},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"Configures a web server to start up. Takes the same configuration as the 'node' launch task.","properties":{"args":{"default":[],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"Where to launch the debug target.","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code Debug Console (which doesn't support to read input from a program)","VS Code's integrated terminal","External terminal that can be configured via user settings"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"experimentalNetworking":{"default":"auto","description":"Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"profileStartup":{"default":true,"description":"If true, will start profiling as soon as the process launches","type":"boolean"},"program":{"default":"","description":"Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed.","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"Version of `node` runtime to use. Requires `nvm`.","type":"string"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"stopOnEntry":{"default":true,"description":"Automatically stop program after launch.","type":["boolean","string"]},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript Debug Terminal","properties":{"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"Command to run in the launched terminal. If not provided, the terminal will open without launching a program.","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"Will search for a tab with this exact url and attach to it, if found","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"Will search for a page with this url and attach to it, if found. Can have * wildcards.","type":"string"},"userDataDir":{"default":true,"description":"By default, the browser is launched with a separate user profile in a temp folder. Use this option to override it. Set to false to launch with your default user profile. A new browser can't be launched if an instance is already running from `userDataDir`.","type":["string","boolean"]},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"","tags":["setup"],"type":"string"}}}},"configurationSnippets":[],"deprecated":"Please use type chrome instead","label":"Web App (Chrome)","languages":["javascript","typescript","javascriptreact","typescriptreact","html","css","coffeescript","handlebars","vue"],"strings":{"unverifiedBreakpoints":"Some of your breakpoints could not be set. If you're having an issue, you can [troubleshoot your launch configuration](command:extension.js-debug.createDiagnostics)."},"type":"pwa-chrome"},{"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","configurationAttributes":{"attach":{"properties":{"address":{"default":"localhost","description":"IP address or hostname the debugged browser is listening on.","type":"string"},"browserAttachLocation":{"default":null,"description":"Forces the browser to attach in one location. In a remote workspace (through ssh or WSL, for example) this can be used to attach to a browser on the remote machine rather than locally.","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"disableNetworkCache":{"default":true,"description":"Controls whether to skip the network cache for each request","type":"boolean"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"inspectUri":{"default":null,"description":"Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n","type":["string","null"]},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pathMapping":{"default":{},"description":"A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.","enum":["yes","no","auto"],"type":"string"},"port":{"default":9229,"description":"Port to use to remote debugging the browser, given as `--remote-debugging-port` when launching the browser.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}],"tags":["setup"]},"resolveSourceMapLocations":{"default":null,"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":false,"markdownDescription":"Whether to reconnect if the browser connection is closed","type":"boolean"},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"Configures a web server to start up. Takes the same configuration as the 'node' launch task.","properties":{"args":{"default":[],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"Where to launch the debug target.","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code Debug Console (which doesn't support to read input from a program)","VS Code's integrated terminal","External terminal that can be configured via user settings"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"experimentalNetworking":{"default":"auto","description":"Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"profileStartup":{"default":true,"description":"If true, will start profiling as soon as the process launches","type":"boolean"},"program":{"default":"","description":"Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed.","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"Version of `node` runtime to use. Requires `nvm`.","type":"string"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"stopOnEntry":{"default":true,"description":"Automatically stop program after launch.","type":["boolean","string"]},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript Debug Terminal","properties":{"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"Command to run in the launched terminal. If not provided, the terminal will open without launching a program.","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"targetSelection":{"default":"automatic","enum":["pick","automatic"],"markdownDescription":"Whether to attach to all targets that match the URL filter (\"automatic\") or ask to pick one (\"pick\").","type":"string"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"Will search for a tab with this exact url and attach to it, if found","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"Will search for a page with this url and attach to it, if found. Can have * wildcards.","type":"string"},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"","tags":["setup"],"type":"string"}}},"launch":{"properties":{"browserLaunchLocation":{"default":null,"description":"Forces the browser to be launched in one location. In a remote workspace (through ssh or WSL, for example) this can be used to open the browser on the remote machine rather than locally.","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"cleanUp":{"default":"wholeBrowser","description":"What clean-up to do after the debugging session finishes. Close only the tab being debug, vs. close the whole browser.","enum":["wholeBrowser","onlyTab"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":null,"description":"Optional working directory for the runtime executable.","type":"string"},"disableNetworkCache":{"default":true,"description":"Controls whether to skip the network cache for each request","type":"boolean"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"default":{},"description":"Optional dictionary of environment key/value pairs for the browser.","type":"object"},"file":{"default":"${workspaceFolder}/index.html","description":"A local html file to open in the browser","tags":["setup"],"type":"string"},"includeDefaultArgs":{"default":true,"description":"Whether default browser launch arguments (to disable features that may make debugging harder) will be included in the launch.","type":"boolean"},"includeLaunchArgs":{"default":true,"description":"Advanced: whether any default launch/debugging arguments are set on the browser. The debugger will assume the browser will use pipe debugging such as that which is provided with `--remote-debugging-pipe`.","type":"boolean"},"inspectUri":{"default":null,"description":"Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n","type":["string","null"]},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how browser processes are killed when stopping the session with `cleanUp: wholeBrowser`. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pathMapping":{"default":{},"description":"A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.","enum":["yes","no","auto"],"type":"string"},"port":{"default":0,"description":"Port for the browser to listen on. Defaults to \"0\", which will cause the browser to be debugged via pipes, which is generally more secure and should be chosen unless you need to attach to the browser from another tool.","type":"number"},"profileStartup":{"default":true,"description":"If true, will start profiling soon as the process launches","type":"boolean"},"resolveSourceMapLocations":{"default":null,"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"type":"array"},"runtimeExecutable":{"default":"stable","description":"Either 'canary', 'stable', 'custom' or path to the browser executable. Custom means a custom wrapper, custom build or CHROME_PATH environment variable.","type":["string","null"]},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"Configures a web server to start up. Takes the same configuration as the 'node' launch task.","properties":{"args":{"default":[],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"Where to launch the debug target.","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code Debug Console (which doesn't support to read input from a program)","VS Code's integrated terminal","External terminal that can be configured via user settings"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"experimentalNetworking":{"default":"auto","description":"Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"profileStartup":{"default":true,"description":"If true, will start profiling as soon as the process launches","type":"boolean"},"program":{"default":"","description":"Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed.","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"Version of `node` runtime to use. Requires `nvm`.","type":"string"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"stopOnEntry":{"default":true,"description":"Automatically stop program after launch.","type":["boolean","string"]},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript Debug Terminal","properties":{"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"Command to run in the launched terminal. If not provided, the terminal will open without launching a program.","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"Will search for a tab with this exact url and attach to it, if found","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"Will search for a page with this url and attach to it, if found. Can have * wildcards.","type":"string"},"userDataDir":{"default":true,"description":"By default, the browser is launched with a separate user profile in a temp folder. Use this option to override it. Set to false to launch with your default user profile. A new browser can't be launched if an instance is already running from `userDataDir`.","type":["string","boolean"]},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"","tags":["setup"],"type":"string"}}}},"configurationSnippets":[{"body":{"name":"Launch Chrome","request":"launch","type":"chrome","url":"http://localhost:8080","webRoot":"^\"${2:\\${workspaceFolder\\}}\""},"description":"Launch Chrome to debug a URL","label":"Chrome: Launch"},{"body":{"name":"Attach to Chrome","port":9222,"request":"attach","type":"chrome","webRoot":"^\"${2:\\${workspaceFolder\\}}\""},"description":"Attach to an instance of Chrome already in debug mode","label":"Chrome: Attach"}],"label":"Web App (Chrome)","strings":{"unverifiedBreakpoints":"Some of your breakpoints could not be set. If you're having an issue, you can [troubleshoot your launch configuration](command:extension.js-debug.createDiagnostics)."},"type":"chrome"},{"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","configurationAttributes":{"attach":{"properties":{"address":{"default":"localhost","description":"IP address or hostname the debugged browser is listening on.","type":"string"},"browserAttachLocation":{"default":null,"description":"Forces the browser to attach in one location. In a remote workspace (through ssh or WSL, for example) this can be used to attach to a browser on the remote machine rather than locally.","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"disableNetworkCache":{"default":true,"description":"Controls whether to skip the network cache for each request","type":"boolean"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"inspectUri":{"default":null,"description":"Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n","type":["string","null"]},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pathMapping":{"default":{},"description":"A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.","enum":["yes","no","auto"],"type":"string"},"port":{"default":9229,"description":"Port to use to remote debugging the browser, given as `--remote-debugging-port` when launching the browser.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}],"tags":["setup"]},"resolveSourceMapLocations":{"default":null,"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":false,"markdownDescription":"Whether to reconnect if the browser connection is closed","type":"boolean"},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"Configures a web server to start up. Takes the same configuration as the 'node' launch task.","properties":{"args":{"default":[],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"Where to launch the debug target.","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code Debug Console (which doesn't support to read input from a program)","VS Code's integrated terminal","External terminal that can be configured via user settings"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"experimentalNetworking":{"default":"auto","description":"Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"profileStartup":{"default":true,"description":"If true, will start profiling as soon as the process launches","type":"boolean"},"program":{"default":"","description":"Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed.","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"Version of `node` runtime to use. Requires `nvm`.","type":"string"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"stopOnEntry":{"default":true,"description":"Automatically stop program after launch.","type":["boolean","string"]},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript Debug Terminal","properties":{"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"Command to run in the launched terminal. If not provided, the terminal will open without launching a program.","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"targetSelection":{"default":"automatic","enum":["pick","automatic"],"markdownDescription":"Whether to attach to all targets that match the URL filter (\"automatic\") or ask to pick one (\"pick\").","type":"string"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"Will search for a tab with this exact url and attach to it, if found","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"Will search for a page with this url and attach to it, if found. Can have * wildcards.","type":"string"},"useWebView":{"default":{"pipeName":"MyPipeName"},"description":"An object containing the `pipeName` of a debug pipe for a UWP hosted Webview2. This is the \"MyTestSharedMemory\" when creating the pipe \"\\\\.\\pipe\\LOCAL\\MyTestSharedMemory\"","properties":{"pipeName":{"type":"string"}},"type":"object"},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"","tags":["setup"],"type":"string"}}},"launch":{"properties":{"address":{"default":"localhost","description":"When debugging webviews, the IP address or hostname the webview is listening on. Will be automatically discovered if not set.","type":"string"},"browserLaunchLocation":{"default":null,"description":"Forces the browser to be launched in one location. In a remote workspace (through ssh or WSL, for example) this can be used to open the browser on the remote machine rather than locally.","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"cleanUp":{"default":"wholeBrowser","description":"What clean-up to do after the debugging session finishes. Close only the tab being debug, vs. close the whole browser.","enum":["wholeBrowser","onlyTab"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":null,"description":"Optional working directory for the runtime executable.","type":"string"},"disableNetworkCache":{"default":true,"description":"Controls whether to skip the network cache for each request","type":"boolean"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"default":{},"description":"Optional dictionary of environment key/value pairs for the browser.","type":"object"},"file":{"default":"${workspaceFolder}/index.html","description":"A local html file to open in the browser","tags":["setup"],"type":"string"},"includeDefaultArgs":{"default":true,"description":"Whether default browser launch arguments (to disable features that may make debugging harder) will be included in the launch.","type":"boolean"},"includeLaunchArgs":{"default":true,"description":"Advanced: whether any default launch/debugging arguments are set on the browser. The debugger will assume the browser will use pipe debugging such as that which is provided with `--remote-debugging-pipe`.","type":"boolean"},"inspectUri":{"default":null,"description":"Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n","type":["string","null"]},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how browser processes are killed when stopping the session with `cleanUp: wholeBrowser`. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pathMapping":{"default":{},"description":"A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.","enum":["yes","no","auto"],"type":"string"},"port":{"default":9229,"description":"When debugging webviews, the port the webview debugger is listening on. Will be automatically discovered if not set.","type":"number"},"profileStartup":{"default":true,"description":"If true, will start profiling soon as the process launches","type":"boolean"},"resolveSourceMapLocations":{"default":null,"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"type":"array"},"runtimeExecutable":{"default":"stable","description":"Either 'canary', 'stable', 'dev', 'custom' or path to the browser executable. Custom means a custom wrapper, custom build or EDGE_PATH environment variable.","type":["string","null"]},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"Configures a web server to start up. Takes the same configuration as the 'node' launch task.","properties":{"args":{"default":[],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"Where to launch the debug target.","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code Debug Console (which doesn't support to read input from a program)","VS Code's integrated terminal","External terminal that can be configured via user settings"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"experimentalNetworking":{"default":"auto","description":"Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"profileStartup":{"default":true,"description":"If true, will start profiling as soon as the process launches","type":"boolean"},"program":{"default":"","description":"Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed.","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"Version of `node` runtime to use. Requires `nvm`.","type":"string"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"stopOnEntry":{"default":true,"description":"Automatically stop program after launch.","type":["boolean","string"]},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript Debug Terminal","properties":{"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"Command to run in the launched terminal. If not provided, the terminal will open without launching a program.","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"Will search for a tab with this exact url and attach to it, if found","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"Will search for a page with this url and attach to it, if found. Can have * wildcards.","type":"string"},"useWebView":{"default":false,"description":"When 'true', the debugger will treat the runtime executable as a host application that contains a WebView allowing you to debug the WebView script content.","type":"boolean"},"userDataDir":{"default":true,"description":"By default, the browser is launched with a separate user profile in a temp folder. Use this option to override it. Set to false to launch with your default user profile. A new browser can't be launched if an instance is already running from `userDataDir`.","type":["string","boolean"]},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"","tags":["setup"],"type":"string"}}}},"configurationSnippets":[],"deprecated":"Please use type msedge instead","label":"Web App (Edge)","languages":["javascript","typescript","javascriptreact","typescriptreact","html","css","coffeescript","handlebars","vue"],"strings":{"unverifiedBreakpoints":"Some of your breakpoints could not be set. If you're having an issue, you can [troubleshoot your launch configuration](command:extension.js-debug.createDiagnostics)."},"type":"pwa-msedge"},{"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","configurationAttributes":{"attach":{"properties":{"address":{"default":"localhost","description":"IP address or hostname the debugged browser is listening on.","type":"string"},"browserAttachLocation":{"default":null,"description":"Forces the browser to attach in one location. In a remote workspace (through ssh or WSL, for example) this can be used to attach to a browser on the remote machine rather than locally.","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"disableNetworkCache":{"default":true,"description":"Controls whether to skip the network cache for each request","type":"boolean"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"inspectUri":{"default":null,"description":"Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n","type":["string","null"]},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pathMapping":{"default":{},"description":"A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.","enum":["yes","no","auto"],"type":"string"},"port":{"default":9229,"description":"Port to use to remote debugging the browser, given as `--remote-debugging-port` when launching the browser.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}],"tags":["setup"]},"resolveSourceMapLocations":{"default":null,"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":false,"markdownDescription":"Whether to reconnect if the browser connection is closed","type":"boolean"},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"Configures a web server to start up. Takes the same configuration as the 'node' launch task.","properties":{"args":{"default":[],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"Where to launch the debug target.","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code Debug Console (which doesn't support to read input from a program)","VS Code's integrated terminal","External terminal that can be configured via user settings"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"experimentalNetworking":{"default":"auto","description":"Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"profileStartup":{"default":true,"description":"If true, will start profiling as soon as the process launches","type":"boolean"},"program":{"default":"","description":"Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed.","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"Version of `node` runtime to use. Requires `nvm`.","type":"string"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"stopOnEntry":{"default":true,"description":"Automatically stop program after launch.","type":["boolean","string"]},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript Debug Terminal","properties":{"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"Command to run in the launched terminal. If not provided, the terminal will open without launching a program.","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"targetSelection":{"default":"automatic","enum":["pick","automatic"],"markdownDescription":"Whether to attach to all targets that match the URL filter (\"automatic\") or ask to pick one (\"pick\").","type":"string"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"Will search for a tab with this exact url and attach to it, if found","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"Will search for a page with this url and attach to it, if found. Can have * wildcards.","type":"string"},"useWebView":{"default":{"pipeName":"MyPipeName"},"description":"An object containing the `pipeName` of a debug pipe for a UWP hosted Webview2. This is the \"MyTestSharedMemory\" when creating the pipe \"\\\\.\\pipe\\LOCAL\\MyTestSharedMemory\"","properties":{"pipeName":{"type":"string"}},"type":"object"},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"","tags":["setup"],"type":"string"}}},"launch":{"properties":{"address":{"default":"localhost","description":"When debugging webviews, the IP address or hostname the webview is listening on. Will be automatically discovered if not set.","type":"string"},"browserLaunchLocation":{"default":null,"description":"Forces the browser to be launched in one location. In a remote workspace (through ssh or WSL, for example) this can be used to open the browser on the remote machine rather than locally.","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"cleanUp":{"default":"wholeBrowser","description":"What clean-up to do after the debugging session finishes. Close only the tab being debug, vs. close the whole browser.","enum":["wholeBrowser","onlyTab"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":null,"description":"Optional working directory for the runtime executable.","type":"string"},"disableNetworkCache":{"default":true,"description":"Controls whether to skip the network cache for each request","type":"boolean"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"default":{},"description":"Optional dictionary of environment key/value pairs for the browser.","type":"object"},"file":{"default":"${workspaceFolder}/index.html","description":"A local html file to open in the browser","tags":["setup"],"type":"string"},"includeDefaultArgs":{"default":true,"description":"Whether default browser launch arguments (to disable features that may make debugging harder) will be included in the launch.","type":"boolean"},"includeLaunchArgs":{"default":true,"description":"Advanced: whether any default launch/debugging arguments are set on the browser. The debugger will assume the browser will use pipe debugging such as that which is provided with `--remote-debugging-pipe`.","type":"boolean"},"inspectUri":{"default":null,"description":"Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n","type":["string","null"]},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how browser processes are killed when stopping the session with `cleanUp: wholeBrowser`. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pathMapping":{"default":{},"description":"A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.","enum":["yes","no","auto"],"type":"string"},"port":{"default":9229,"description":"When debugging webviews, the port the webview debugger is listening on. Will be automatically discovered if not set.","type":"number"},"profileStartup":{"default":true,"description":"If true, will start profiling soon as the process launches","type":"boolean"},"resolveSourceMapLocations":{"default":null,"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"type":"array"},"runtimeExecutable":{"default":"stable","description":"Either 'canary', 'stable', 'dev', 'custom' or path to the browser executable. Custom means a custom wrapper, custom build or EDGE_PATH environment variable.","type":["string","null"]},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"Configures a web server to start up. Takes the same configuration as the 'node' launch task.","properties":{"args":{"default":[],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"Where to launch the debug target.","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code Debug Console (which doesn't support to read input from a program)","VS Code's integrated terminal","External terminal that can be configured via user settings"],"type":"string"},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"experimentalNetworking":{"default":"auto","description":"Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"profileStartup":{"default":true,"description":"If true, will start profiling as soon as the process launches","type":"boolean"},"program":{"default":"","description":"Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed.","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"Version of `node` runtime to use. Requires `nvm`.","type":"string"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"stopOnEntry":{"default":true,"description":"Automatically stop program after launch.","type":["boolean","string"]},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript Debug Terminal","properties":{"autoAttachChildProcesses":{"default":true,"description":"Attach debugger to new child processes automatically.","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped.","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"Command to run in the launched terminal. If not provided, the terminal will open without launching a program.","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function.","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"Absolute path to a file containing environment variable definitions.","type":"string"},"localRoot":{"default":null,"description":"Path to the local directory containing the program.","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."},"pauseForSourceMap":{"default":false,"markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","type":"boolean"},"remoteRoot":{"default":null,"description":"Absolute path to the remote directory containing the program.","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","type":"array"},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"Show the async calls that led to the current call stack.","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"Automatically step through generated code that cannot be mapped back to the original source.","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://đź’»app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","type":"object"},"sourceMapRenames":{"default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.","type":"boolean"},"sourceMaps":{"default":true,"description":"Use JavaScript source maps (if they exist).","type":"boolean"},"timeout":{"default":10000,"description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"Timeouts for several debugger operations.","markdownDescription":"Timeouts for several debugger operations.","properties":{"hoverEvaluation":{"default":500,"description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","type":"number"},"sourceMapMinPause":{"default":1000,"description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","type":"number"}},"type":"object"},"trace":{"default":true,"description":"Configures what diagnostic output is produced.","oneOf":[{"description":"Trace may be set to 'true' to write diagnostic logs to the disk.","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"Configures where on disk logs are written.","type":["string","null"]},"stdio":{"description":"Whether to return trace data from the launched application or browser.","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"Will search for a tab with this exact url and attach to it, if found","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"Will search for a page with this url and attach to it, if found. Can have * wildcards.","type":"string"},"useWebView":{"default":false,"description":"When 'true', the debugger will treat the runtime executable as a host application that contains a WebView allowing you to debug the WebView script content.","type":"boolean"},"userDataDir":{"default":true,"description":"By default, the browser is launched with a separate user profile in a temp folder. Use this option to override it. Set to false to launch with your default user profile. A new browser can't be launched if an instance is already running from `userDataDir`.","type":["string","boolean"]},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"","tags":["setup"],"type":"string"}}}},"configurationSnippets":[{"body":{"name":"Launch Edge","request":"launch","type":"msedge","url":"http://localhost:8080","webRoot":"^\"${2:\\${workspaceFolder\\}}\""},"description":"Launch Edge to debug a URL","label":"Edge: Launch"},{"body":{"name":"Attach to Edge","port":9222,"request":"attach","type":"msedge","webRoot":"^\"${2:\\${workspaceFolder\\}}\""},"description":"Attach to an instance of Edge already in debug mode","label":"Edge: Attach"}],"label":"Web App (Edge)","strings":{"unverifiedBreakpoints":"Some of your breakpoints could not be set. If you're having an issue, you can [troubleshoot your launch configuration](command:extension.js-debug.createDiagnostics)."},"type":"msedge"}],"commands":[{"command":"extension.js-debug.prettyPrint","title":"Pretty print for debugging","category":"Debug","icon":"$(json)"},{"command":"extension.js-debug.toggleSkippingFile","title":"Toggle Skipping this File","category":"Debug"},{"command":"extension.js-debug.addCustomBreakpoints","title":"Toggle Event Listener Breakpoints","icon":"$(add)"},{"command":"extension.js-debug.removeAllCustomBreakpoints","title":"Remove All Event Listener Breakpoints","icon":"$(close-all)"},{"command":"extension.js-debug.addXHRBreakpoints","title":"Add XHR/fetch Breakpoint","icon":"$(add)"},{"command":"extension.js-debug.removeXHRBreakpoint","title":"Remove XHR/fetch Breakpoint","icon":"$(remove)"},{"command":"extension.js-debug.editXHRBreakpoints","title":"Edit XHR/fetch Breakpoint","icon":"$(edit)"},{"command":"extension.pwa-node-debug.attachNodeProcess","title":"Attach to Node Process","category":"Debug"},{"command":"extension.js-debug.npmScript","title":"Debug npm Script","category":"Debug"},{"command":"extension.js-debug.createDebuggerTerminal","title":"JavaScript Debug Terminal","category":"Debug"},{"command":"extension.js-debug.startProfile","title":"Take Performance Profile","category":"Debug","icon":"$(record)"},{"command":"extension.js-debug.stopProfile","title":"Stop Performance Profile","category":"Debug","icon":"resources/dark/stop-profiling.svg"},{"command":"extension.js-debug.revealPage","title":"Focus Tab","category":"Debug"},{"command":"extension.js-debug.debugLink","title":"Open Link","category":"Debug"},{"command":"extension.js-debug.createDiagnostics","title":"Diagnose Breakpoint Problems","category":"Debug"},{"command":"extension.js-debug.getDiagnosticLogs","title":"Save Diagnostic JS Debug Logs","category":"Debug"},{"command":"extension.node-debug.startWithStopOnEntry","title":"Start Debugging and Stop on Entry","category":"Debug"},{"command":"extension.js-debug.openEdgeDevTools","title":"Open Browser Devtools","icon":"$(inspect)","category":"Debug"},{"command":"extension.js-debug.callers.add","title":"Exclude Caller","category":"Debug"},{"command":"extension.js-debug.callers.remove","title":"Remove excluded caller","icon":"$(close)"},{"command":"extension.js-debug.callers.removeAll","title":"Remove all excluded callers","icon":"$(clear-all)"},{"command":"extension.js-debug.callers.goToCaller","title":"Go to caller location","icon":"$(call-outgoing)"},{"command":"extension.js-debug.callers.gotToTarget","title":"Go to target location","icon":"$(call-incoming)"},{"command":"extension.js-debug.enableSourceMapStepping","title":"Enable Source Mapped Stepping","icon":"$(compass-dot)"},{"command":"extension.js-debug.disableSourceMapStepping","title":"Disable Source Mapped Stepping","icon":"$(compass)"},{"command":"extension.js-debug.network.viewRequest","title":"View Request as cURL","icon":"$(arrow-right)"},{"command":"extension.js-debug.network.clear","title":"Clear Network Log","icon":"$(clear-all)"},{"command":"extension.js-debug.network.openBody","title":"Open Response Body"},{"command":"extension.js-debug.network.openBodyInHex","title":"Open Response Body in Hex Editor"},{"command":"extension.js-debug.network.replayXHR","title":"Replay Request"},{"command":"extension.js-debug.network.copyUri","title":"Copy Request URL"}],"keybindings":[{"command":"extension.node-debug.startWithStopOnEntry","key":"F10","mac":"F10","when":"debugConfigurationType == pwa-node && !inDebugMode || debugConfigurationType == pwa-extensionHost && !inDebugMode || debugConfigurationType == node && !inDebugMode"},{"command":"extension.node-debug.startWithStopOnEntry","key":"F11","mac":"F11","when":"debugConfigurationType == pwa-node && !inDebugMode && activeViewlet == workbench.view.debug || debugConfigurationType == pwa-extensionHost && !inDebugMode && activeViewlet == workbench.view.debug || debugConfigurationType == node && !inDebugMode && activeViewlet == workbench.view.debug"}],"configuration":{"title":"JavaScript Debugger","properties":{"debug.javascript.codelens.npmScripts":{"enum":["top","all","never"],"default":"top","description":"Where a \"Run\" and \"Debug\" code lens should be shown in your npm scripts. It may be on \"all\", scripts, on \"top\" of the script section, or \"never\"."},"debug.javascript.terminalOptions":{"type":"object","description":"Default launch options for the JavaScript debug terminal and npm scripts.","default":{},"properties":{"resolveSourceMapLocations":{"type":["array","null"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","default":["${workspaceFolder}/**","!**/node_modules/**"],"items":{"type":"string"}},"outFiles":{"type":["array"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"items":{"type":"string"},"tags":["setup"]},"pauseForSourceMap":{"type":"boolean","markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","default":false},"showAsyncStacks":{"description":"Show the async calls that led to the current call stack.","default":true,"oneOf":[{"type":"boolean"},{"type":"object","required":["onAttach"],"properties":{"onAttach":{"type":"number","default":32}}},{"type":"object","required":["onceBreakpointResolved"],"properties":{"onceBreakpointResolved":{"type":"number","default":32}}}]},"skipFiles":{"type":"array","description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","default":["${/**"]},"smartStep":{"type":"boolean","description":"Automatically step through generated code that cannot be mapped back to the original source.","default":true},"sourceMaps":{"type":"boolean","description":"Use JavaScript source maps (if they exist).","default":true},"sourceMapRenames":{"type":"boolean","default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers."},"sourceMapPathOverrides":{"type":"object","description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","default":{"webpack://?:*/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","meteor://đź’»app/*":"${workspaceFolder}/*"}},"timeout":{"type":"number","description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","default":10000},"timeouts":{"type":"object","description":"Timeouts for several debugger operations.","default":{},"properties":{"sourceMapMinPause":{"type":"number","description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","default":1000},"sourceMapCumulativePause":{"type":"number","description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","default":1000},"hoverEvaluation":{"type":"number","description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","default":500}},"additionalProperties":false,"markdownDescription":"Timeouts for several debugger operations."},"trace":{"description":"Configures what diagnostic output is produced.","default":true,"oneOf":[{"type":"boolean","description":"Trace may be set to 'true' to write diagnostic logs to the disk."},{"type":"object","additionalProperties":false,"properties":{"stdio":{"type":"boolean","description":"Whether to return trace data from the launched application or browser."},"logFile":{"type":["string","null"],"description":"Configures where on disk logs are written."}}}]},"outputCapture":{"enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`.","default":"console"},"enableContentValidation":{"default":true,"type":"boolean","description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example."},"customDescriptionGenerator":{"type":"string","description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n "},"customPropertiesGenerator":{"type":"string","deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181"},"cascadeTerminateToConfigurations":{"type":"array","items":{"type":"string","uniqueItems":true},"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped."},"enableDWARF":{"type":"boolean","default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."},"cwd":{"type":"string","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","default":"${workspaceFolder}","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"]},"localRoot":{"type":["string","null"],"description":"Path to the local directory containing the program.","default":null},"remoteRoot":{"type":["string","null"],"description":"Absolute path to the remote directory containing the program.","default":null},"autoAttachChildProcesses":{"type":"boolean","description":"Attach debugger to new child processes automatically.","default":true},"env":{"type":"object","additionalProperties":{"type":["string","null"]},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","default":{},"tags":["setup"]},"envFile":{"type":"string","description":"Absolute path to a file containing environment variable definitions.","default":"${workspaceFolder}/.env"},"runtimeSourcemapPausePatterns":{"type":"array","items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","default":[]},"nodeVersionHint":{"type":"number","minimum":8,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","default":12},"command":{"type":["string","null"],"description":"Command to run in the launched terminal. If not provided, the terminal will open without launching a program.","default":"npm start","tags":["setup"]}}},"debug.javascript.automaticallyTunnelRemoteServer":{"type":"boolean","description":"When debugging a remote web app, configures whether to automatically tunnel the remote server to your local machine.","default":true},"debug.javascript.debugByLinkOptions":{"default":"on","description":"Options used when debugging open links clicked from inside the JavaScript Debug Terminal. Can be set to \"off\" to disable this behavior, or \"always\" to enable debugging in all terminals.","oneOf":[{"type":"string","enum":["on","off","always"]},{"type":"object","properties":{"resolveSourceMapLocations":{"type":["array","null"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","default":null,"items":{"type":"string"}},"outFiles":{"type":["array"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"items":{"type":"string"},"tags":["setup"]},"pauseForSourceMap":{"type":"boolean","markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","default":false},"showAsyncStacks":{"description":"Show the async calls that led to the current call stack.","default":true,"oneOf":[{"type":"boolean"},{"type":"object","required":["onAttach"],"properties":{"onAttach":{"type":"number","default":32}}},{"type":"object","required":["onceBreakpointResolved"],"properties":{"onceBreakpointResolved":{"type":"number","default":32}}}]},"skipFiles":{"type":"array","description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","default":["${/**"]},"smartStep":{"type":"boolean","description":"Automatically step through generated code that cannot be mapped back to the original source.","default":true},"sourceMaps":{"type":"boolean","description":"Use JavaScript source maps (if they exist).","default":true},"sourceMapRenames":{"type":"boolean","default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers."},"sourceMapPathOverrides":{"type":"object","description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","default":{"webpack://?:*/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","meteor://đź’»app/*":"${workspaceFolder}/*"}},"timeout":{"type":"number","description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","default":10000},"timeouts":{"type":"object","description":"Timeouts for several debugger operations.","default":{},"properties":{"sourceMapMinPause":{"type":"number","description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","default":1000},"sourceMapCumulativePause":{"type":"number","description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","default":1000},"hoverEvaluation":{"type":"number","description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","default":500}},"additionalProperties":false,"markdownDescription":"Timeouts for several debugger operations."},"trace":{"description":"Configures what diagnostic output is produced.","default":true,"oneOf":[{"type":"boolean","description":"Trace may be set to 'true' to write diagnostic logs to the disk."},{"type":"object","additionalProperties":false,"properties":{"stdio":{"type":"boolean","description":"Whether to return trace data from the launched application or browser."},"logFile":{"type":["string","null"],"description":"Configures where on disk logs are written."}}}]},"outputCapture":{"enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`.","default":"console"},"enableContentValidation":{"default":true,"type":"boolean","description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example."},"customDescriptionGenerator":{"type":"string","description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n "},"customPropertiesGenerator":{"type":"string","deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181"},"cascadeTerminateToConfigurations":{"type":"array","items":{"type":"string","uniqueItems":true},"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped."},"enableDWARF":{"type":"boolean","default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."},"disableNetworkCache":{"type":"boolean","description":"Controls whether to skip the network cache for each request","default":true},"pathMapping":{"type":"object","description":"A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk","default":{}},"webRoot":{"type":"string","description":"This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"","default":"${workspaceFolder}","tags":["setup"]},"urlFilter":{"type":"string","description":"Will search for a page with this url and attach to it, if found. Can have * wildcards.","default":""},"url":{"type":"string","description":"Will search for a tab with this exact url and attach to it, if found","default":"http://localhost:8080","tags":["setup"]},"inspectUri":{"type":["string","null"],"description":"Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n","default":null},"vueComponentPaths":{"type":"array","description":"A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.","default":["${workspaceFolder}/**/*.vue"]},"server":{"oneOf":[{"type":"object","description":"Configures a web server to start up. Takes the same configuration as the 'node' launch task.","additionalProperties":false,"default":{"program":"node my-server.js"},"properties":{"resolveSourceMapLocations":{"type":["array","null"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","default":["${workspaceFolder}/**","!**/node_modules/**"],"items":{"type":"string"}},"outFiles":{"type":["array"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"items":{"type":"string"},"tags":["setup"]},"pauseForSourceMap":{"type":"boolean","markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","default":false},"showAsyncStacks":{"description":"Show the async calls that led to the current call stack.","default":true,"oneOf":[{"type":"boolean"},{"type":"object","required":["onAttach"],"properties":{"onAttach":{"type":"number","default":32}}},{"type":"object","required":["onceBreakpointResolved"],"properties":{"onceBreakpointResolved":{"type":"number","default":32}}}]},"skipFiles":{"type":"array","description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","default":["${/**"]},"smartStep":{"type":"boolean","description":"Automatically step through generated code that cannot be mapped back to the original source.","default":true},"sourceMaps":{"type":"boolean","description":"Use JavaScript source maps (if they exist).","default":true},"sourceMapRenames":{"type":"boolean","default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers."},"sourceMapPathOverrides":{"type":"object","description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","default":{"webpack://?:*/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","meteor://đź’»app/*":"${workspaceFolder}/*"}},"timeout":{"type":"number","description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","default":10000},"timeouts":{"type":"object","description":"Timeouts for several debugger operations.","default":{},"properties":{"sourceMapMinPause":{"type":"number","description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","default":1000},"sourceMapCumulativePause":{"type":"number","description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","default":1000},"hoverEvaluation":{"type":"number","description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","default":500}},"additionalProperties":false,"markdownDescription":"Timeouts for several debugger operations."},"trace":{"description":"Configures what diagnostic output is produced.","default":true,"oneOf":[{"type":"boolean","description":"Trace may be set to 'true' to write diagnostic logs to the disk."},{"type":"object","additionalProperties":false,"properties":{"stdio":{"type":"boolean","description":"Whether to return trace data from the launched application or browser."},"logFile":{"type":["string","null"],"description":"Configures where on disk logs are written."}}}]},"outputCapture":{"enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`.","default":"console"},"enableContentValidation":{"default":true,"type":"boolean","description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example."},"customDescriptionGenerator":{"type":"string","description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n "},"customPropertiesGenerator":{"type":"string","deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181"},"cascadeTerminateToConfigurations":{"type":"array","items":{"type":"string","uniqueItems":true},"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped."},"enableDWARF":{"type":"boolean","default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."},"cwd":{"type":"string","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","default":"${workspaceFolder}","tags":["setup"]},"localRoot":{"type":["string","null"],"description":"Path to the local directory containing the program.","default":null},"remoteRoot":{"type":["string","null"],"description":"Absolute path to the remote directory containing the program.","default":null},"autoAttachChildProcesses":{"type":"boolean","description":"Attach debugger to new child processes automatically.","default":true},"env":{"type":"object","additionalProperties":{"type":["string","null"]},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","default":{},"tags":["setup"]},"envFile":{"type":"string","description":"Absolute path to a file containing environment variable definitions.","default":"${workspaceFolder}/.env"},"runtimeSourcemapPausePatterns":{"type":"array","items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","default":[]},"nodeVersionHint":{"type":"number","minimum":8,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","default":12},"program":{"type":"string","description":"Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.","default":"","tags":["setup"]},"stopOnEntry":{"type":["boolean","string"],"description":"Automatically stop program after launch.","default":true},"console":{"type":"string","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code Debug Console (which doesn't support to read input from a program)","VS Code's integrated terminal","External terminal that can be configured via user settings"],"description":"Where to launch the debug target.","default":"internalConsole"},"args":{"type":["array","string"],"description":"Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.","items":{"type":"string"},"default":[],"tags":["setup"]},"restart":{"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","default":true,"oneOf":[{"type":"boolean"},{"type":"object","properties":{"delay":{"type":"number","minimum":0,"default":1000},"maxAttempts":{"type":"number","minimum":0,"default":10}}}]},"runtimeExecutable":{"type":["string","null"],"markdownDescription":"Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed.","default":"node"},"runtimeVersion":{"type":"string","markdownDescription":"Version of `node` runtime to use. Requires `nvm`.","default":"default"},"runtimeArgs":{"type":"array","description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"default":[],"tags":["setup"]},"profileStartup":{"type":"boolean","description":"If true, will start profiling as soon as the process launches","default":true},"attachSimplePort":{"oneOf":[{"type":"integer"},{"type":"string","pattern":"^\\${.*}$"}],"description":"If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.","default":9229},"killBehavior":{"type":"string","enum":["forceful","polite","none"],"default":"forceful","markdownDescription":"Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen."},"experimentalNetworking":{"type":"string","default":"auto","description":"Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.","enum":["auto","on","off"]}}},{"type":"object","description":"JavaScript Debug Terminal","additionalProperties":false,"default":{"program":"npm start"},"properties":{"resolveSourceMapLocations":{"type":["array","null"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","default":["${workspaceFolder}/**","!**/node_modules/**"],"items":{"type":"string"}},"outFiles":{"type":["array"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"items":{"type":"string"},"tags":["setup"]},"pauseForSourceMap":{"type":"boolean","markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","default":false},"showAsyncStacks":{"description":"Show the async calls that led to the current call stack.","default":true,"oneOf":[{"type":"boolean"},{"type":"object","required":["onAttach"],"properties":{"onAttach":{"type":"number","default":32}}},{"type":"object","required":["onceBreakpointResolved"],"properties":{"onceBreakpointResolved":{"type":"number","default":32}}}]},"skipFiles":{"type":"array","description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","default":["${/**"]},"smartStep":{"type":"boolean","description":"Automatically step through generated code that cannot be mapped back to the original source.","default":true},"sourceMaps":{"type":"boolean","description":"Use JavaScript source maps (if they exist).","default":true},"sourceMapRenames":{"type":"boolean","default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers."},"sourceMapPathOverrides":{"type":"object","description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","default":{"webpack://?:*/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","meteor://đź’»app/*":"${workspaceFolder}/*"}},"timeout":{"type":"number","description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","default":10000},"timeouts":{"type":"object","description":"Timeouts for several debugger operations.","default":{},"properties":{"sourceMapMinPause":{"type":"number","description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","default":1000},"sourceMapCumulativePause":{"type":"number","description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","default":1000},"hoverEvaluation":{"type":"number","description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","default":500}},"additionalProperties":false,"markdownDescription":"Timeouts for several debugger operations."},"trace":{"description":"Configures what diagnostic output is produced.","default":true,"oneOf":[{"type":"boolean","description":"Trace may be set to 'true' to write diagnostic logs to the disk."},{"type":"object","additionalProperties":false,"properties":{"stdio":{"type":"boolean","description":"Whether to return trace data from the launched application or browser."},"logFile":{"type":["string","null"],"description":"Configures where on disk logs are written."}}}]},"outputCapture":{"enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`.","default":"console"},"enableContentValidation":{"default":true,"type":"boolean","description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example."},"customDescriptionGenerator":{"type":"string","description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n "},"customPropertiesGenerator":{"type":"string","deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181"},"cascadeTerminateToConfigurations":{"type":"array","items":{"type":"string","uniqueItems":true},"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped."},"enableDWARF":{"type":"boolean","default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."},"cwd":{"type":"string","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","default":"${workspaceFolder}","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"]},"localRoot":{"type":["string","null"],"description":"Path to the local directory containing the program.","default":null},"remoteRoot":{"type":["string","null"],"description":"Absolute path to the remote directory containing the program.","default":null},"autoAttachChildProcesses":{"type":"boolean","description":"Attach debugger to new child processes automatically.","default":true},"env":{"type":"object","additionalProperties":{"type":["string","null"]},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","default":{},"tags":["setup"]},"envFile":{"type":"string","description":"Absolute path to a file containing environment variable definitions.","default":"${workspaceFolder}/.env"},"runtimeSourcemapPausePatterns":{"type":"array","items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","default":[]},"nodeVersionHint":{"type":"number","minimum":8,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","default":12},"command":{"type":["string","null"],"description":"Command to run in the launched terminal. If not provided, the terminal will open without launching a program.","default":"npm start","tags":["setup"]}}}]},"perScriptSourcemaps":{"type":"string","default":"auto","enum":["yes","no","auto"],"description":"Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate."},"port":{"type":"number","description":"Port for the browser to listen on. Defaults to \"0\", which will cause the browser to be debugged via pipes, which is generally more secure and should be chosen unless you need to attach to the browser from another tool.","default":0},"file":{"type":"string","description":"A local html file to open in the browser","default":"${workspaceFolder}/index.html","tags":["setup"]},"userDataDir":{"type":["string","boolean"],"description":"By default, the browser is launched with a separate user profile in a temp folder. Use this option to override it. Set to false to launch with your default user profile. A new browser can't be launched if an instance is already running from `userDataDir`.","default":true},"includeDefaultArgs":{"type":"boolean","description":"Whether default browser launch arguments (to disable features that may make debugging harder) will be included in the launch.","default":true},"includeLaunchArgs":{"type":"boolean","description":"Advanced: whether any default launch/debugging arguments are set on the browser. The debugger will assume the browser will use pipe debugging such as that which is provided with `--remote-debugging-pipe`.","default":true},"runtimeExecutable":{"type":["string","null"],"description":"Either 'canary', 'stable', 'custom' or path to the browser executable. Custom means a custom wrapper, custom build or CHROME_PATH environment variable.","default":"stable"},"runtimeArgs":{"type":"array","description":"Optional arguments passed to the runtime executable.","items":{"type":"string"},"default":[]},"env":{"type":"object","description":"Optional dictionary of environment key/value pairs for the browser.","default":{}},"cwd":{"type":"string","description":"Optional working directory for the runtime executable.","default":null},"profileStartup":{"type":"boolean","description":"If true, will start profiling soon as the process launches","default":true},"cleanUp":{"type":"string","enum":["wholeBrowser","onlyTab"],"description":"What clean-up to do after the debugging session finishes. Close only the tab being debug, vs. close the whole browser.","default":"wholeBrowser"},"killBehavior":{"type":"string","enum":["forceful","polite","none"],"default":"forceful","markdownDescription":"Configures how browser processes are killed when stopping the session with `cleanUp: wholeBrowser`. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen."},"browserLaunchLocation":{"description":"Forces the browser to be launched in one location. In a remote workspace (through ssh or WSL, for example) this can be used to open the browser on the remote machine rather than locally.","default":null,"oneOf":[{"type":"null"},{"type":"string","enum":["ui","workspace"]}]},"enabled":{"type":"string","enum":["on","off","always"]}}}]},"debug.javascript.pickAndAttachOptions":{"type":"object","default":{},"markdownDescription":"Default options used when debugging a process through the `Debug: Attach to Node.js Process` command","properties":{"resolveSourceMapLocations":{"type":["array","null"],"description":"A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.","default":["${workspaceFolder}/**","!**/node_modules/**"],"items":{"type":"string"}},"outFiles":{"type":["array"],"description":"If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.","default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"items":{"type":"string"},"tags":["setup"]},"pauseForSourceMap":{"type":"boolean","markdownDescription":"Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled.","default":false},"showAsyncStacks":{"description":"Show the async calls that led to the current call stack.","default":true,"oneOf":[{"type":"boolean"},{"type":"object","required":["onAttach"],"properties":{"onAttach":{"type":"number","default":32}}},{"type":"object","required":["onceBreakpointResolved"],"properties":{"onceBreakpointResolved":{"type":"number","default":32}}}]},"skipFiles":{"type":"array","description":"An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","default":["${/**"]},"smartStep":{"type":"boolean","description":"Automatically step through generated code that cannot be mapped back to the original source.","default":true},"sourceMaps":{"type":"boolean","description":"Use JavaScript source maps (if they exist).","default":true},"sourceMapRenames":{"type":"boolean","default":true,"description":"Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers."},"sourceMapPathOverrides":{"type":"object","description":"A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.","default":{"webpack://?:*/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","meteor://đź’»app/*":"${workspaceFolder}/*"}},"timeout":{"type":"number","description":"Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.","default":10000},"timeouts":{"type":"object","description":"Timeouts for several debugger operations.","default":{},"properties":{"sourceMapMinPause":{"type":"number","description":"Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed","default":1000},"sourceMapCumulativePause":{"type":"number","description":"Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted","default":1000},"hoverEvaluation":{"type":"number","description":"Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.","default":500}},"additionalProperties":false,"markdownDescription":"Timeouts for several debugger operations."},"trace":{"description":"Configures what diagnostic output is produced.","default":true,"oneOf":[{"type":"boolean","description":"Trace may be set to 'true' to write diagnostic logs to the disk."},{"type":"object","additionalProperties":false,"properties":{"stdio":{"type":"boolean","description":"Whether to return trace data from the launched application or browser."},"logFile":{"type":["string","null"],"description":"Configures where on disk logs are written."}}}]},"outputCapture":{"enum":["console","std"],"markdownDescription":"From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`.","default":"console"},"enableContentValidation":{"default":true,"type":"boolean","description":"Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example."},"customDescriptionGenerator":{"type":"string","description":"Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n 1. this.toString() // will call toString to print all objects\n 2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n 3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n "},"customPropertiesGenerator":{"type":"string","deprecated":true,"description":"Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n 1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n 2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n 3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181"},"cascadeTerminateToConfigurations":{"type":"array","items":{"type":"string","uniqueItems":true},"default":[],"description":"A list of debug sessions which, when this debug session is terminated, will also be stopped."},"enableDWARF":{"type":"boolean","default":true,"markdownDescription":"Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."},"cwd":{"type":"string","description":"Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder","default":"${workspaceFolder}","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"]},"localRoot":{"type":["string","null"],"description":"Path to the local directory containing the program.","default":null},"remoteRoot":{"type":["string","null"],"description":"Absolute path to the remote directory containing the program.","default":null},"autoAttachChildProcesses":{"type":"boolean","description":"Attach debugger to new child processes automatically.","default":true},"env":{"type":"object","additionalProperties":{"type":["string","null"]},"markdownDescription":"Environment variables passed to the program. The value `null` removes the variable from the environment.","default":{},"tags":["setup"]},"envFile":{"type":"string","description":"Absolute path to a file containing environment variable definitions.","default":"${workspaceFolder}/.env"},"runtimeSourcemapPausePatterns":{"type":"array","items":{"type":"string"},"markdownDescription":"A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492).","default":[]},"nodeVersionHint":{"type":"number","minimum":8,"description":"Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.","default":12},"address":{"type":"string","description":"TCP/IP address of process to be debugged. Default is 'localhost'.","default":"localhost"},"port":{"description":"Debug port to attach to. Default is 9229.","default":9229,"oneOf":[{"type":"integer"},{"type":"string","pattern":"^\\${.*}$"}],"tags":["setup"]},"websocketAddress":{"type":"string","description":"Exact websocket address to attach to. If unspecified, it will be discovered from the address and port."},"remoteHostHeader":{"type":"string","description":"Explicit Host header to use when connecting to the websocket of inspector. If unspecified, the host header will be set to 'localhost'. This is useful when the inspector is running behind a proxy that only accept particular Host header."},"restart":{"description":"Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.","default":true,"oneOf":[{"type":"boolean"},{"type":"object","properties":{"delay":{"type":"number","minimum":0,"default":1000},"maxAttempts":{"type":"number","minimum":0,"default":10}}}]},"processId":{"type":"string","description":"ID of process to attach to.","default":"${command:PickProcess}"},"attachExistingChildren":{"type":"boolean","description":"Whether to attempt to attach to already-spawned child processes.","default":false},"continueOnAttach":{"type":"boolean","markdownDescription":"If true, we'll automatically resume programs launched and waiting on `--inspect-brk`","default":true}}},"debug.javascript.autoAttachFilter":{"type":"string","default":"disabled","enum":["always","smart","onlyWithFlag","disabled"],"enumDescriptions":["Auto attach to every Node.js process launched in the terminal.","Auto attach when running scripts that aren't in a node_modules folder.","Only auto attach when the `--inspect` is given.","Auto attach is disabled and not shown in status bar."],"markdownDescription":"Configures which processes to automatically attach and debug when `#debug.node.autoAttach#` is on. A Node process launched with the `--inspect` flag will always be attached to, regardless of this setting."},"debug.javascript.autoAttachSmartPattern":{"type":"array","items":{"type":"string"},"default":["${workspaceFolder}/**","!**/node_modules/**","**/$KNOWN_TOOLS$/**"],"markdownDescription":"Configures glob patterns for determining when to attach in \"smart\" `#debug.javascript.autoAttachFilter#` mode. `$KNOWN_TOOLS$` is replaced with a list of names of common test and code runners. [Read more on the VS Code docs](https://code.visualstudio.com/docs/nodejs/nodejs-debugging#_auto-attach-smart-patterns)."},"debug.javascript.breakOnConditionalError":{"type":"boolean","default":false,"markdownDescription":"Whether to stop when conditional breakpoints throw an error."},"debug.javascript.unmapMissingSources":{"type":"boolean","default":false,"description":"Configures whether sourcemapped file where the original file can't be read will automatically be unmapped. If this is false (default), a prompt is shown."},"debug.javascript.defaultRuntimeExecutable":{"type":"object","default":{"pwa-node":"node"},"markdownDescription":"The default `runtimeExecutable` used for launch configurations, if unspecified. This can be used to config custom paths to Node.js or browser installations.","properties":{"pwa-node":{"type":"string"},"pwa-chrome":{"type":"string"},"pwa-msedge":{"type":"string"}}},"debug.javascript.resourceRequestOptions":{"type":"object","default":{},"markdownDescription":"Request options to use when loading resources, such as source maps, in the debugger. You may need to configure this if your sourcemaps require authentication or use a self-signed certificate, for instance. Options are used to create a request using the [`got`](https://github.com/sindresorhus/got) library.\n\nA common case to disable certificate verification can be done by passing `{ \"https\": { \"rejectUnauthorized\": false } }`."},"debug.javascript.enableNetworkView":{"type":"boolean","default":true,"description":"Enables the experimental network view for targets that support it."}}},"grammars":[{"language":"wat","scopeName":"text.wat","path":"./src/ui/basic-wat.tmLanguage.json"}],"languages":[{"id":"wat","extensions":[".wat",".wasm"],"aliases":["WebAssembly Text Format"],"firstLine":"^\\(module","mimetypes":["text/wat"],"configuration":"./src/ui/basic-wat.configuration.json"}],"terminal":{"profiles":[{"id":"extension.js-debug.debugTerminal","title":"JavaScript Debug Terminal","icon":"$(debug)"}]},"views":{"debug":[{"id":"jsBrowserBreakpoints","name":"Event Listener Breakpoints","when":"debugType == pwa-chrome || debugType == pwa-msedge"},{"id":"jsExcludedCallers","name":"Excluded Callers","when":"debugType == pwa-extensionHost && jsDebugHasExcludedCallers || debugType == node-terminal && jsDebugHasExcludedCallers || debugType == pwa-node && jsDebugHasExcludedCallers || debugType == pwa-chrome && jsDebugHasExcludedCallers || debugType == pwa-msedge && jsDebugHasExcludedCallers"},{"id":"jsDebugNetworkTree","name":"Network","when":"jsDebugNetworkAvailable"}]},"viewsWelcome":[{"view":"debug","contents":"[JavaScript Debug Terminal](command:extension.js-debug.createDebuggerTerminal)\n\nYou can use the JavaScript Debug Terminal to debug Node.js processes run on the command line.\n\n[Debug URL](command:extension.js-debug.debugLink)","when":"debugStartLanguage == javascript && !isWeb || debugStartLanguage == typescript && !isWeb || debugStartLanguage == javascriptreact && !isWeb || debugStartLanguage == typescriptreact && !isWeb"},{"view":"debug","contents":"[JavaScript Debug Terminal](command:extension.js-debug.createDebuggerTerminal)\n\nYou can use the JavaScript Debug Terminal to debug Node.js processes run on the command line.","when":"debugStartLanguage == javascript && isWeb || debugStartLanguage == typescript && isWeb || debugStartLanguage == javascriptreact && isWeb || debugStartLanguage == typescriptreact && isWeb"}]}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/ms-vscode.js-debug","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","metadata":{},"isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"ms-vscode.js-debug-companion"},"manifest":{"name":"js-debug-companion","displayName":"JavaScript Debugger Companion Extension","description":"Companion extension to js-debug that provides capability for remote debugging","version":"1.1.3","publisher":"ms-vscode","engines":{"vscode":"^1.90.0"},"icon":"resources/logo.png","categories":["Other"],"repository":{"type":"git","url":"https://github.com/microsoft/vscode-js-debug-companion.git"},"author":"Connor Peet ","license":"MIT","bugs":{"url":"https://github.com/microsoft/vscode-js-debug-companion/issues"},"homepage":"https://github.com/microsoft/vscode-js-debug-companion#readme","capabilities":{"virtualWorkspaces":false,"untrustedWorkspaces":{"supported":true}},"activationEvents":["onCommand:js-debug-companion.launchAndAttach","onCommand:js-debug-companion.kill","onCommand:js-debug-companion.launch","onCommand:js-debug-companion.defaultBrowser"],"main":"./out/extension.js","contributes":{},"extensionKind":["ui"],"api":"none","prettier":{"trailingComma":"all","singleQuote":true,"printWidth":100,"tabWidth":2,"arrowParens":"avoid"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/ms-vscode.js-debug-companion","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","metadata":{},"isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"ms-vscode.vscode-js-profile-table"},"manifest":{"name":"vscode-js-profile-table","version":"1.0.10","displayName":"Table Visualizer for JavaScript Profiles","description":"Text visualizer for profiles taken from the JavaScript debugger","author":"Connor Peet ","homepage":"https://github.com/microsoft/vscode-js-profile-visualizer#readme","license":"MIT","main":"out/extension.js","browser":"out/extension.web.js","repository":{"type":"git","url":"https://github.com/microsoft/vscode-js-profile-visualizer.git"},"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"icon":"resources/icon.png","publisher":"ms-vscode","sideEffects":false,"engines":{"vscode":"^1.74.0"},"contributes":{"customEditors":[{"viewType":"jsProfileVisualizer.cpuprofile.table","displayName":"CPU Profile Table Visualizer","priority":"default","selector":[{"filenamePattern":"*.cpuprofile"}]},{"viewType":"jsProfileVisualizer.heapprofile.table","displayName":"Heap Profile Table Visualizer","priority":"default","selector":[{"filenamePattern":"*.heapprofile"}]},{"viewType":"jsProfileVisualizer.heapsnapshot.table","displayName":"Heap Snapshot Table Visualizer","priority":"default","selector":[{"filenamePattern":"*.heapsnapshot"}]}],"commands":[{"command":"extension.jsProfileVisualizer.table.clearCodeLenses","title":"Clear Profile Code Lenses"}],"menus":{"commandPalette":[{"command":"extension.jsProfileVisualizer.table.clearCodeLenses","when":"jsProfileVisualizer.hasCodeLenses == true"}]}},"bugs":{"url":"https://github.com/microsoft/vscode-js-profile-visualizer/issues"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/ms-vscode.vscode-js-profile-table","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","metadata":{},"isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.builtin-notebook-renderers"},"manifest":{"name":"builtin-notebook-renderers","displayName":"Builtin Notebook Output Renderers","description":"Provides basic output renderers for notebooks","publisher":"vscode","version":"1.0.0","license":"MIT","icon":"media/icon.png","engines":{"vscode":"^1.57.0"},"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"contributes":{"notebookRenderer":[{"id":"vscode.builtin-renderer","entrypoint":"./renderer-out/index.js","displayName":"VS Code Builtin Notebook Output Renderer","requiresMessaging":"never","mimeTypes":["image/gif","image/png","image/jpeg","image/git","image/svg+xml","text/html","application/javascript","application/vnd.code.notebook.error","application/vnd.code.notebook.stdout","application/x.notebook.stdout","application/x.notebook.stream","application/vnd.code.notebook.stderr","application/x.notebook.stderr","text/plain"]}]},"scripts":{"compile":"npx gulp compile-extension:notebook-renderers && npm run build-notebook","watch":"npx gulp compile-watch:notebook-renderers","build-notebook":"node ./esbuild.mjs"},"devDependencies":{"@types/jsdom":"^21.1.0","@types/node":"^22.18.10","@types/vscode-notebook-renderer":"^1.60.0","jsdom":"^21.1.1"},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/notebook-renderers","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.npm"},"manifest":{"name":"npm","publisher":"vscode","displayName":"NPM support for VS Code","description":"Extension to add task support for npm scripts.","version":"1.0.1","private":true,"license":"MIT","engines":{"vscode":"0.10.x"},"icon":"images/npm_icon.png","categories":["Other"],"enabledApiProposals":["terminalQuickFixProvider"],"main":"./dist/npmMain","browser":"./dist/browser/npmBrowserMain","activationEvents":["onTaskType:npm","onLanguage:json","workspaceContains:package.json"],"capabilities":{"virtualWorkspaces":{"supported":"limited","description":"Functionality that requires running the 'npm' command is not available in virtual workspaces."},"untrustedWorkspaces":{"supported":"limited","description":"This extension executes tasks, which require trust to run."}},"contributes":{"languages":[{"id":"ignore","extensions":[".npmignore"]},{"id":"properties","extensions":[".npmrc"]}],"views":{"explorer":[{"id":"npm","name":"NPM Scripts","when":"npm:showScriptExplorer","icon":"$(json)","visibility":"hidden","contextualTitle":"NPM Scripts"}]},"commands":[{"command":"npm.runScript","title":"Run","icon":"$(run)"},{"command":"npm.debugScript","title":"Debug","icon":"$(debug)"},{"command":"npm.openScript","title":"Open"},{"command":"npm.runInstall","title":"Run Install"},{"command":"npm.refresh","title":"Refresh","icon":"$(refresh)"},{"command":"npm.runSelectedScript","title":"Run Script"},{"command":"npm.runScriptFromFolder","title":"Run NPM Script in Folder..."},{"command":"npm.packageManager","title":"Get Configured Package Manager"}],"menus":{"commandPalette":[{"command":"npm.refresh","when":"false"},{"command":"npm.runScript","when":"false"},{"command":"npm.debugScript","when":"false"},{"command":"npm.openScript","when":"false"},{"command":"npm.runInstall","when":"false"},{"command":"npm.runSelectedScript","when":"false"},{"command":"npm.runScriptFromFolder","when":"false"},{"command":"npm.packageManager","when":"false"}],"editor/context":[{"command":"npm.runSelectedScript","when":"resourceFilename == 'package.json' && resourceScheme == file","group":"navigation@+1"}],"view/title":[{"command":"npm.refresh","when":"view == npm","group":"navigation"}],"view/item/context":[{"command":"npm.openScript","when":"view == npm && viewItem == packageJSON","group":"navigation@1"},{"command":"npm.runInstall","when":"view == npm && viewItem == packageJSON","group":"navigation@2"},{"command":"npm.openScript","when":"view == npm && viewItem == script","group":"navigation@1"},{"command":"npm.runScript","when":"view == npm && viewItem == script","group":"navigation@2"},{"command":"npm.runScript","when":"view == npm && viewItem == script","group":"inline"},{"command":"npm.debugScript","when":"view == npm && viewItem == script","group":"inline"},{"command":"npm.debugScript","when":"view == npm && viewItem == script","group":"navigation@3"}],"explorer/context":[{"when":"config.npm.enableRunFromFolder && explorerViewletVisible && explorerResourceIsFolder && resourceScheme == file","command":"npm.runScriptFromFolder","group":"2_workspace"}]},"configuration":{"id":"npm","type":"object","title":"Npm","properties":{"npm.autoDetect":{"type":"string","enum":["off","on"],"default":"on","scope":"resource","description":"Controls whether npm scripts should be automatically detected."},"npm.runSilent":{"type":"boolean","default":false,"scope":"resource","markdownDescription":"Run npm commands with the `--silent` option."},"npm.packageManager":{"scope":"resource","type":"string","enum":["auto","npm","yarn","pnpm","bun"],"enumDescriptions":["Auto-detect which package manager to use based on lock files and installed package managers.","Use npm as the package manager.","Use yarn as the package manager.","Use pnpm as the package manager.","Use bun as the package manager."],"default":"auto","description":"The package manager used to install dependencies."},"npm.scriptRunner":{"scope":"resource","type":"string","enum":["auto","npm","yarn","pnpm","bun","node"],"enumDescriptions":["Auto-detect which script runner to use based on lock files and installed package managers.","Use npm as the script runner.","Use yarn as the script runner.","Use pnpm as the script runner.","Use bun as the script runner.","Use Node.js as the script runner."],"default":"auto","description":"The script runner used to run scripts."},"npm.exclude":{"type":["string","array"],"items":{"type":"string"},"description":"Configure glob patterns for folders that should be excluded from automatic script detection.","scope":"resource"},"npm.enableScriptExplorer":{"type":"boolean","default":false,"scope":"resource","deprecationMessage":"The NPM Script Explorer is now available in 'Views' menu in the Explorer in all folders.","description":"Enable an explorer view for npm scripts when there is no top-level 'package.json' file."},"npm.enableRunFromFolder":{"type":"boolean","default":false,"scope":"resource","description":"Enable running npm scripts contained in a folder from the Explorer context menu."},"npm.scriptExplorerAction":{"type":"string","enum":["open","run"],"markdownDescription":"The default click action used in the NPM Scripts Explorer: `open` or `run`, the default is `open`.","scope":"window","default":"open"},"npm.scriptExplorerExclude":{"type":"array","items":{"type":"string"},"markdownDescription":"An array of regular expressions that indicate which scripts should be excluded from the NPM Scripts view.","scope":"resource","default":[]},"npm.fetchOnlinePackageInfo":{"type":"boolean","description":"Fetch data from https://registry.npmjs.org and https://registry.bower.io to provide auto-completion and information on hover features on npm dependencies.","default":true,"scope":"window","tags":["usesOnlineServices"]},"npm.scriptHover":{"type":"boolean","description":"Display hover with 'Run' and 'Debug' commands for scripts.","default":true,"scope":"window"}}},"jsonValidation":[{"fileMatch":"package.json","url":"https://www.schemastore.org/package"},{"fileMatch":"bower.json","url":"https://www.schemastore.org/bower"}],"taskDefinitions":[{"type":"npm","required":["script"],"properties":{"script":{"type":"string","description":"The npm script to customize."},"path":{"type":"string","description":"The path to the folder of the package.json file that provides the script. Can be omitted."}},"when":"shellExecutionSupported"}],"terminalQuickFixes":[{"id":"ms-vscode.npm-command","commandLineMatcher":"npm","commandExitResult":"error","outputMatcher":{"anchor":"bottom","length":8,"lineMatcher":"Did you mean (?:this|one of these)\\?((?:\\n.+?npm .+ #.+)+)","offset":2}}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/npm","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.objective-c"},"manifest":{"name":"objective-c","displayName":"Objective-C Language Basics","description":"Provides syntax highlighting and bracket matching in Objective-C files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ./build/update-grammars.js"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"objective-c","extensions":[".m"],"aliases":["Objective-C"],"configuration":"./language-configuration.json"},{"id":"objective-cpp","extensions":[".mm"],"aliases":["Objective-C++"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"objective-c","scopeName":"source.objc","path":"./syntaxes/objective-c.tmLanguage.json"},{"language":"objective-cpp","scopeName":"source.objcpp","path":"./syntaxes/objective-c++.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/objective-c","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.perl"},"manifest":{"name":"perl","displayName":"Perl Language Basics","description":"Provides syntax highlighting and bracket matching in Perl files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin textmate/perl.tmbundle Syntaxes/Perl.plist ./syntaxes/perl.tmLanguage.json Syntaxes/Perl%206.tmLanguage ./syntaxes/perl6.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"perl","aliases":["Perl","perl"],"extensions":[".pl",".pm",".pod",".t",".PL",".psgi"],"firstLine":"^#!.*\\bperl\\b","configuration":"./perl.language-configuration.json"},{"id":"raku","aliases":["Raku","Perl6","perl6"],"extensions":[".raku",".rakumod",".rakutest",".rakudoc",".nqp",".p6",".pl6",".pm6"],"firstLine":"(^#!.*\\bperl6\\b)|use\\s+v6|raku|=begin\\spod|my\\sclass","configuration":"./perl6.language-configuration.json"}],"grammars":[{"language":"perl","scopeName":"source.perl","path":"./syntaxes/perl.tmLanguage.json","unbalancedBracketScopes":["variable.other.predefined.perl"]},{"language":"raku","scopeName":"source.perl.6","path":"./syntaxes/perl6.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/perl","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.php"},"manifest":{"name":"php","displayName":"PHP Language Basics","description":"Provides syntax highlighting and bracket matching for PHP files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"php","extensions":[".php",".php4",".php5",".phtml",".ctp"],"aliases":["PHP","php"],"firstLine":"^#!\\s*/.*\\bphp\\b","mimetypes":["application/x-php"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"php","scopeName":"source.php","path":"./syntaxes/php.tmLanguage.json"},{"language":"php","scopeName":"text.html.php","path":"./syntaxes/html.tmLanguage.json","embeddedLanguages":{"text.html":"html","source.php":"php","source.sql":"sql","text.xml":"xml","source.js":"javascript","source.json":"json","source.css":"css"}}],"snippets":[{"language":"php","path":"./snippets/php.code-snippets"}]},"scripts":{"update-grammar":"node ./build/update-grammar.mjs"},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/php","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.php-language-features"},"manifest":{"name":"php-language-features","displayName":"PHP Language Features","description":"Provides rich language support for PHP files.","version":"1.0.0","publisher":"vscode","license":"MIT","icon":"icons/logo.png","engines":{"vscode":"0.10.x"},"activationEvents":["onLanguage:php"],"main":"./dist/phpMain","categories":["Programming Languages"],"capabilities":{"virtualWorkspaces":false,"untrustedWorkspaces":{"supported":"limited","description":"The extension requires workspace trust when the `php.validate.executablePath` setting will load a version of PHP in the workspace.","restrictedConfigurations":["php.validate.executablePath"]}},"contributes":{"configuration":{"title":"PHP","type":"object","order":20,"properties":{"php.suggest.basic":{"type":"boolean","default":true,"description":"Controls whether the built-in PHP language suggestions are enabled. The support suggests PHP globals and variables."},"php.validate.enable":{"type":"boolean","default":true,"description":"Enable/disable built-in PHP validation."},"php.validate.executablePath":{"type":["string","null"],"default":null,"description":"Points to the PHP executable.","scope":"machine-overridable"},"php.validate.run":{"type":"string","enum":["onSave","onType"],"default":"onSave","description":"Whether the linter is run on save or on type."}}},"jsonValidation":[{"fileMatch":"composer.json","url":"https://getcomposer.org/schema.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/php-language-features","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.powershell"},"manifest":{"name":"powershell","displayName":"Powershell Language Basics","description":"Provides snippets, syntax highlighting, bracket matching and folding in Powershell files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"powershell","extensions":[".ps1",".psm1",".psd1",".pssc",".psrc"],"aliases":["PowerShell","powershell","ps","ps1","pwsh"],"firstLine":"^#!\\s*/.*\\bpwsh\\b","configuration":"./language-configuration.json"}],"grammars":[{"language":"powershell","scopeName":"source.powershell","path":"./syntaxes/powershell.tmLanguage.json"}]},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin PowerShell/EditorSyntax PowerShellSyntax.tmLanguage ./syntaxes/powershell.tmLanguage.json"},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/powershell","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.prompt"},"manifest":{"name":"prompt","displayName":"Prompt Language Basics","description":"Syntax highlighting for Prompt and Instructions documents.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.20.0"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"prompt","aliases":["Prompt","prompt"],"extensions":[".prompt.md","copilot-instructions.md"],"configuration":"./language-configuration.json"},{"id":"instructions","aliases":["Instructions","instructions"],"extensions":[".instructions.md","copilot-instructions.md"],"configuration":"./language-configuration.json"},{"id":"chatagent","aliases":["Agent","chat agent"],"extensions":[".agent.md",".chatmode.md"],"filenamePatterns":["**/.github/agents/*.md"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"prompt","path":"./syntaxes/prompt.tmLanguage.json","scopeName":"text.html.markdown.prompt","unbalancedBracketScopes":["markup.underline.link.markdown","punctuation.definition.list.begin.markdown"]},{"language":"instructions","path":"./syntaxes/prompt.tmLanguage.json","scopeName":"text.html.markdown.prompt","unbalancedBracketScopes":["markup.underline.link.markdown","punctuation.definition.list.begin.markdown"]},{"language":"chatagent","path":"./syntaxes/prompt.tmLanguage.json","scopeName":"text.html.markdown.prompt","unbalancedBracketScopes":["markup.underline.link.markdown","punctuation.definition.list.begin.markdown"]}],"configurationDefaults":{"[prompt]":{"editor.insertSpaces":true,"editor.tabSize":2,"editor.autoIndent":"advanced","editor.unicodeHighlight.ambiguousCharacters":false,"editor.unicodeHighlight.invisibleCharacters":false,"diffEditor.ignoreTrimWhitespace":false,"editor.wordWrap":"on","editor.quickSuggestions":{"comments":"off","strings":"off","other":"off"}},"[instructions]":{"editor.insertSpaces":true,"editor.tabSize":2,"editor.autoIndent":"advanced","editor.unicodeHighlight.ambiguousCharacters":false,"editor.unicodeHighlight.invisibleCharacters":false,"diffEditor.ignoreTrimWhitespace":false,"editor.wordWrap":"on","editor.quickSuggestions":{"comments":"off","strings":"off","other":"off"}},"[chatagent]":{"editor.insertSpaces":true,"editor.tabSize":2,"editor.autoIndent":"advanced","editor.unicodeHighlight.ambiguousCharacters":false,"editor.unicodeHighlight.invisibleCharacters":false,"diffEditor.ignoreTrimWhitespace":false,"editor.wordWrap":"on","editor.quickSuggestions":{"comments":"off","strings":"off","other":"off"}}}},"scripts":{},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/prompt-basics","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.pug"},"manifest":{"name":"pug","displayName":"Pug Language Basics","description":"Provides syntax highlighting and bracket matching in Pug files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin davidrios/pug-tmbundle Syntaxes/Pug.JSON-tmLanguage ./syntaxes/pug.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"jade","extensions":[".pug",".jade"],"aliases":["Pug","Jade","jade"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"jade","scopeName":"text.pug","path":"./syntaxes/pug.tmLanguage.json"}],"configurationDefaults":{"[jade]":{"diffEditor.ignoreTrimWhitespace":false}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/pug","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.python"},"manifest":{"name":"python","displayName":"Python Language Basics","description":"Provides syntax highlighting, bracket matching and folding in Python files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"python","extensions":[".py",".rpy",".pyw",".cpy",".gyp",".gypi",".pyi",".ipy",".pyt"],"aliases":["Python","py"],"filenames":["SConstruct","SConscript"],"firstLine":"^#!\\s*/?.*\\bpython[0-9.-]*\\b","configuration":"./language-configuration.json"}],"grammars":[{"language":"python","scopeName":"source.python","path":"./syntaxes/MagicPython.tmLanguage.json"},{"scopeName":"source.regexp.python","path":"./syntaxes/MagicRegExp.tmLanguage.json"}],"configurationDefaults":{"[python]":{"diffEditor.ignoreTrimWhitespace":false,"editor.defaultColorDecorators":"never"}}},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin MagicStack/MagicPython grammars/MagicPython.tmLanguage ./syntaxes/MagicPython.tmLanguage.json grammars/MagicRegExp.tmLanguage ./syntaxes/MagicRegExp.tmLanguage.json"},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/python","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.r"},"manifest":{"name":"r","displayName":"R Language Basics","description":"Provides syntax highlighting and bracket matching in R files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin REditorSupport/vscode-R-syntax syntaxes/r.json ./syntaxes/r.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"r","extensions":[".r",".rhistory",".rprofile",".rt"],"aliases":["R","r"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"r","scopeName":"source.r","path":"./syntaxes/r.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/r","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.razor"},"manifest":{"name":"razor","displayName":"Razor Language Basics","description":"Provides syntax highlighting, bracket matching and folding in Razor files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"scripts":{"update-grammar":"node ./build/update-grammar.mjs"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"razor","extensions":[".cshtml",".razor"],"aliases":["Razor","razor"],"mimetypes":["text/x-cshtml"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"razor","scopeName":"text.html.cshtml","path":"./syntaxes/cshtml.tmLanguage.json","embeddedLanguages":{"section.embedded.source.cshtml":"csharp","source.css":"css","source.js":"javascript"}}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/razor","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.references-view"},"manifest":{"name":"references-view","displayName":"Reference Search View","description":"Reference Search results as separate, stable view in the sidebar","icon":"media/icon.png","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.67.0"},"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"repository":{"type":"git","url":"https://github.com/Microsoft/vscode-references-view"},"bugs":{"url":"https://github.com/Microsoft/vscode-references-view/issues"},"activationEvents":["onCommand:references-view.find","onCommand:editor.action.showReferences"],"main":"./dist/extension","browser":"./dist/extension.js","contributes":{"configuration":{"properties":{"references.preferredLocation":{"description":"Controls whether 'Peek References' or 'Find References' is invoked when selecting CodeLens references.","type":"string","default":"peek","enum":["peek","view"],"enumDescriptions":["Show references in peek editor.","Show references in separate view."]}}},"viewsContainers":{"activitybar":[{"id":"references-view","icon":"$(references)","title":"References"}]},"views":{"references-view":[{"id":"references-view.tree","name":"Reference Search Results","when":"reference-list.isActive"}]},"commands":[{"command":"references-view.findReferences","title":"Find All References","category":"References"},{"command":"references-view.findImplementations","title":"Find All Implementations","category":"References"},{"command":"references-view.clearHistory","title":"Clear History","category":"References","icon":"$(clear-all)"},{"command":"references-view.clear","title":"Clear","category":"References","icon":"$(clear-all)"},{"command":"references-view.refresh","title":"Refresh","category":"References","icon":"$(refresh)"},{"command":"references-view.pickFromHistory","title":"Show History","category":"References"},{"command":"references-view.removeReferenceItem","title":"Dismiss","icon":"$(close)"},{"command":"references-view.copy","title":"Copy"},{"command":"references-view.copyAll","title":"Copy All"},{"command":"references-view.copyPath","title":"Copy Path"},{"command":"references-view.refind","title":"Rerun","icon":"$(refresh)"},{"command":"references-view.showCallHierarchy","title":"Show Call Hierarchy","category":"Calls"},{"command":"references-view.showOutgoingCalls","title":"Show Outgoing Calls","category":"Calls","icon":"$(call-outgoing)"},{"command":"references-view.showIncomingCalls","title":"Show Incoming Calls","category":"Calls","icon":"$(call-incoming)"},{"command":"references-view.removeCallItem","title":"Dismiss","icon":"$(close)"},{"command":"references-view.next","title":"Go to Next Reference","enablement":"references-view.canNavigate"},{"command":"references-view.prev","title":"Go to Previous Reference","enablement":"references-view.canNavigate"},{"command":"references-view.showTypeHierarchy","title":"Show Type Hierarchy","category":"Types"},{"command":"references-view.showSupertypes","title":"Show Supertypes","category":"Types","icon":"$(type-hierarchy-super)"},{"command":"references-view.showSubtypes","title":"Show Subtypes","category":"Types","icon":"$(type-hierarchy-sub)"},{"command":"references-view.removeTypeItem","title":"Dismiss","icon":"$(close)"}],"menus":{"editor/context":[{"command":"references-view.findReferences","when":"editorHasReferenceProvider","group":"0_navigation@1"},{"command":"references-view.findImplementations","when":"editorHasImplementationProvider","group":"0_navigation@2"},{"command":"references-view.showCallHierarchy","when":"editorHasCallHierarchyProvider","group":"0_navigation@3"},{"command":"references-view.showTypeHierarchy","when":"editorHasTypeHierarchyProvider","group":"0_navigation@4"}],"view/title":[{"command":"references-view.clear","group":"navigation@3","when":"view == references-view.tree && reference-list.hasResult"},{"command":"references-view.clearHistory","group":"navigation@3","when":"view == references-view.tree && reference-list.hasHistory && !reference-list.hasResult"},{"command":"references-view.refresh","group":"navigation@2","when":"view == references-view.tree && reference-list.hasResult"},{"command":"references-view.showOutgoingCalls","group":"navigation@1","when":"view == references-view.tree && reference-list.hasResult && reference-list.source == callHierarchy && references-view.callHierarchyMode == showIncoming"},{"command":"references-view.showIncomingCalls","group":"navigation@1","when":"view == references-view.tree && reference-list.hasResult && reference-list.source == callHierarchy && references-view.callHierarchyMode == showOutgoing"},{"command":"references-view.showSupertypes","group":"navigation@1","when":"view == references-view.tree && reference-list.hasResult && reference-list.source == typeHierarchy && references-view.typeHierarchyMode != supertypes"},{"command":"references-view.showSubtypes","group":"navigation@1","when":"view == references-view.tree && reference-list.hasResult && reference-list.source == typeHierarchy && references-view.typeHierarchyMode != subtypes"}],"view/item/context":[{"command":"references-view.removeReferenceItem","group":"inline","when":"view == references-view.tree && viewItem == file-item || view == references-view.tree && viewItem == reference-item"},{"command":"references-view.removeCallItem","group":"inline","when":"view == references-view.tree && viewItem == call-item"},{"command":"references-view.removeTypeItem","group":"inline","when":"view == references-view.tree && viewItem == type-item"},{"command":"references-view.refind","group":"inline","when":"view == references-view.tree && viewItem == history-item"},{"command":"references-view.removeReferenceItem","group":"1","when":"view == references-view.tree && viewItem == file-item || view == references-view.tree && viewItem == reference-item"},{"command":"references-view.removeCallItem","group":"1","when":"view == references-view.tree && viewItem == call-item"},{"command":"references-view.removeTypeItem","group":"1","when":"view == references-view.tree && viewItem == type-item"},{"command":"references-view.refind","group":"1","when":"view == references-view.tree && viewItem == history-item"},{"command":"references-view.copy","group":"2@1","when":"view == references-view.tree && viewItem == file-item || view == references-view.tree && viewItem == reference-item"},{"command":"references-view.copyPath","group":"2@2","when":"view == references-view.tree && viewItem == file-item"},{"command":"references-view.copyAll","group":"2@3","when":"view == references-view.tree && viewItem == file-item || view == references-view.tree && viewItem == reference-item"},{"command":"references-view.showOutgoingCalls","group":"1","when":"view == references-view.tree && viewItem == call-item"},{"command":"references-view.showIncomingCalls","group":"1","when":"view == references-view.tree && viewItem == call-item"},{"command":"references-view.showSupertypes","group":"1","when":"view == references-view.tree && viewItem == type-item"},{"command":"references-view.showSubtypes","group":"1","when":"view == references-view.tree && viewItem == type-item"}],"commandPalette":[{"command":"references-view.removeReferenceItem","when":"never"},{"command":"references-view.removeCallItem","when":"never"},{"command":"references-view.removeTypeItem","when":"never"},{"command":"references-view.copy","when":"never"},{"command":"references-view.copyAll","when":"never"},{"command":"references-view.copyPath","when":"never"},{"command":"references-view.refind","when":"never"},{"command":"references-view.findReferences","when":"editorHasReferenceProvider"},{"command":"references-view.clear","when":"reference-list.hasResult"},{"command":"references-view.clearHistory","when":"reference-list.isActive && !reference-list.hasResult"},{"command":"references-view.refresh","when":"reference-list.hasResult"},{"command":"references-view.pickFromHistory","when":"reference-list.isActive"},{"command":"references-view.next","when":"never"},{"command":"references-view.prev","when":"never"}]},"keybindings":[{"command":"references-view.findReferences","when":"editorHasReferenceProvider","key":"shift+alt+f12"},{"command":"references-view.next","when":"reference-list.hasResult","key":"f4"},{"command":"references-view.prev","when":"reference-list.hasResult","key":"shift+f4"},{"command":"references-view.showCallHierarchy","when":"editorHasCallHierarchyProvider","key":"shift+alt+h"}]}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/references-view","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.restructuredtext"},"manifest":{"name":"restructuredtext","displayName":"reStructuredText Language Basics","description":"Provides syntax highlighting in reStructuredText files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin trond-snekvik/vscode-rst syntaxes/rst.tmLanguage.json ./syntaxes/rst.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"restructuredtext","aliases":["reStructuredText"],"configuration":"./language-configuration.json","extensions":[".rst"]}],"grammars":[{"language":"restructuredtext","scopeName":"source.rst","path":"./syntaxes/rst.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/restructuredtext","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.ruby"},"manifest":{"name":"ruby","displayName":"Ruby Language Basics","description":"Provides syntax highlighting and bracket matching in Ruby files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin Shopify/ruby-lsp vscode/grammars/ruby.cson.json ./syntaxes/ruby.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"ruby","extensions":[".rb",".rbx",".rjs",".gemspec",".rake",".ru",".erb",".podspec",".rbi"],"filenames":["rakefile","gemfile","guardfile","podfile","capfile","cheffile","hobofile","vagrantfile","appraisals","rantfile","berksfile","berksfile.lock","thorfile","puppetfile","dangerfile","brewfile","fastfile","appfile","deliverfile","matchfile","scanfile","snapfile","gymfile"],"aliases":["Ruby","rb"],"firstLine":"^#!\\s*/.*\\bruby\\b","configuration":"./language-configuration.json"}],"grammars":[{"language":"ruby","scopeName":"source.ruby","path":"./syntaxes/ruby.tmLanguage.json"}],"configurationDefaults":{"[ruby]":{"editor.defaultColorDecorators":"never"}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/ruby","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.rust"},"manifest":{"name":"rust","displayName":"Rust Language Basics","description":"Provides syntax highlighting and bracket matching in Rust files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ./build/update-grammar.mjs"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"rust","extensions":[".rs"],"aliases":["Rust","rust"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"rust","path":"./syntaxes/rust.tmLanguage.json","scopeName":"source.rust"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/rust","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.scss"},"manifest":{"name":"scss","displayName":"SCSS Language Basics","description":"Provides syntax highlighting, bracket matching and folding in SCSS files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin atom/language-sass grammars/scss.cson ./syntaxes/scss.tmLanguage.json grammars/sassdoc.cson ./syntaxes/sassdoc.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"scss","aliases":["SCSS","scss"],"extensions":[".scss"],"mimetypes":["text/x-scss","text/scss"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"scss","scopeName":"source.css.scss","path":"./syntaxes/scss.tmLanguage.json"},{"scopeName":"source.sassdoc","path":"./syntaxes/sassdoc.tmLanguage.json"}],"problemMatchers":[{"name":"node-sass","label":"Node Sass Compiler","owner":"node-sass","fileLocation":"absolute","pattern":[{"regexp":"^{$"},{"regexp":"\\s*\"status\":\\s\\d+,"},{"regexp":"\\s*\"file\":\\s\"(.*)\",","file":1},{"regexp":"\\s*\"line\":\\s(\\d+),","line":1},{"regexp":"\\s*\"column\":\\s(\\d+),","column":1},{"regexp":"\\s*\"message\":\\s\"(.*)\",","message":1},{"regexp":"\\s*\"formatted\":\\s(.*)"},{"regexp":"^}$"}]}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/scss","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.search-result"},"manifest":{"name":"search-result","displayName":"Search Result","description":"Provides syntax highlighting and language features for tabbed search results.","version":"1.0.0","publisher":"vscode","license":"MIT","icon":"images/icon.png","engines":{"vscode":"^1.39.0"},"main":"./dist/extension.js","browser":"./dist/extension.js","activationEvents":["onLanguage:search-result"],"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"enabledApiProposals":["documentFiltersExclusive"],"contributes":{"configurationDefaults":{"[search-result]":{"editor.lineNumbers":"off"}},"languages":[{"id":"search-result","extensions":[".code-search"],"aliases":["Search Result"]}],"grammars":[{"language":"search-result","scopeName":"text.searchResult","path":"./syntaxes/searchResult.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/search-result","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.shaderlab"},"manifest":{"name":"shaderlab","displayName":"Shaderlab Language Basics","description":"Provides syntax highlighting and bracket matching in Shaderlab files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin tgjones/shaders-tmLanguage grammars/shaderlab.json ./syntaxes/shaderlab.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"shaderlab","extensions":[".shader"],"aliases":["ShaderLab","shaderlab"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"shaderlab","path":"./syntaxes/shaderlab.tmLanguage.json","scopeName":"source.shaderlab"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/shaderlab","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.shellscript"},"manifest":{"name":"shellscript","displayName":"Shell Script Language Basics","description":"Provides syntax highlighting and bracket matching in Shell Script files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin jeff-hykin/better-shell-syntax autogenerated/shell.tmLanguage.json ./syntaxes/shell-unix-bash.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"shellscript","aliases":["Shell Script","shellscript","bash","fish","sh","zsh","ksh","csh"],"extensions":[".sh",".bash",".bashrc",".bash_aliases",".bash_profile",".bash_login",".ebuild",".eclass",".profile",".bash_logout",".xprofile",".xsession",".xsessionrc",".Xsession",".zsh",".zshrc",".zprofile",".zlogin",".zlogout",".zshenv",".zsh-theme",".fish",".ksh",".csh",".cshrc",".tcshrc",".yashrc",".yash_profile"],"filenames":["APKBUILD","PKGBUILD",".envrc",".hushlogin","zshrc","zshenv","zlogin","zprofile","zlogout","bashrc_Apple_Terminal","zshrc_Apple_Terminal"],"firstLine":"^#!.*\\b(bash|fish|zsh|sh|ksh|dtksh|pdksh|mksh|ash|dash|yash|sh|csh|jcsh|tcsh|itcsh).*|^#\\s*-\\*-[^*]*mode:\\s*shell-script[^*]*-\\*-","configuration":"./language-configuration.json","mimetypes":["text/x-shellscript"]}],"grammars":[{"language":"shellscript","scopeName":"source.shell","path":"./syntaxes/shell-unix-bash.tmLanguage.json","balancedBracketScopes":["*"],"unbalancedBracketScopes":["meta.scope.case-pattern.shell"]}],"configurationDefaults":{"[shellscript]":{"files.eol":"\n","editor.defaultColorDecorators":"never"}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/shellscript","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.simple-browser"},"manifest":{"name":"simple-browser","displayName":"Simple Browser","description":"A very basic built-in webview for displaying web content.","enabledApiProposals":["externalUriOpener"],"version":"1.0.0","icon":"media/icon.png","publisher":"vscode","license":"MIT","aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","engines":{"vscode":"^1.70.0"},"main":"./dist/extension","browser":"./dist/browser/extension","categories":["Other"],"extensionKind":["ui","workspace"],"activationEvents":["onCommand:simpleBrowser.api.open","onOpenExternalUri:http","onOpenExternalUri:https","onWebviewPanel:simpleBrowser.view"],"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"contributes":{"commands":[{"command":"simpleBrowser.show","title":"Show","category":"Simple Browser"}],"configuration":[{"title":"Simple Browser","properties":{"simpleBrowser.focusLockIndicator.enabled":{"type":"boolean","default":true,"title":"Focus Lock Indicator Enabled","description":"Enable/disable the floating indicator that shows when focused in the simple browser."}}}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/simple-browser","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.sql"},"manifest":{"name":"sql","displayName":"SQL Language Basics","description":"Provides syntax highlighting and bracket matching in SQL files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ./build/update-grammar.mjs"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"sql","extensions":[".sql",".dsql"],"aliases":["MS SQL","T-SQL"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"sql","scopeName":"source.sql","path":"./syntaxes/sql.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/sql","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.swift"},"manifest":{"name":"swift","displayName":"Swift Language Basics","description":"Provides snippets, syntax highlighting and bracket matching in Swift files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin jtbandes/swift-tmlanguage Swift.tmLanguage.json ./syntaxes/swift.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"swift","aliases":["Swift","swift"],"extensions":[".swift"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"swift","scopeName":"source.swift","path":"./syntaxes/swift.tmLanguage.json"}],"snippets":[{"language":"swift","path":"./snippets/swift.code-snippets"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/swift","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.terminal-suggest"},"manifest":{"name":"terminal-suggest","publisher":"vscode","displayName":"Terminal Suggest for VS Code","description":"Extension to add terminal completions for zsh, bash, and fish terminals.","version":"1.0.1","private":true,"license":"MIT","icon":"./src/media/icon.png","engines":{"vscode":"^1.95.0"},"categories":["Other"],"enabledApiProposals":["terminalCompletionProvider","terminalShellEnv"],"contributes":{"commands":[{"command":"terminal.integrated.suggest.clearCachedGlobals","category":"Terminal","title":"Clear Suggest Cached Globals"}],"terminal":{"completionProviders":[{"description":"Show suggestions for commands, arguments, flags, and file paths based upon the Fig spec."}]}},"main":"./dist/terminalSuggestMain","activationEvents":["onTerminalShellIntegration:*"],"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/terminal-suggest","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.theme-abyss"},"manifest":{"name":"theme-abyss","displayName":"Abyss Theme","description":"Abyss theme for Visual Studio Code","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"themes":[{"id":"Abyss","label":"Abyss","uiTheme":"vs-dark","path":"./themes/abyss-color-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/theme-abyss","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.theme-defaults"},"manifest":{"name":"theme-defaults","displayName":"Default Themes","description":"The default Visual Studio light and dark themes","categories":["Themes"],"version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"contributes":{"themes":[{"id":"Default Dark+","label":"Dark+","uiTheme":"vs-dark","path":"./themes/dark_plus.json"},{"id":"Default Dark Modern","label":"Dark Modern","uiTheme":"vs-dark","path":"./themes/dark_modern.json"},{"id":"Default Light+","label":"Light+","uiTheme":"vs","path":"./themes/light_plus.json"},{"id":"Default Light Modern","label":"Light Modern","uiTheme":"vs","path":"./themes/light_modern.json"},{"id":"Visual Studio Dark","label":"Dark (Visual Studio)","uiTheme":"vs-dark","path":"./themes/dark_vs.json"},{"id":"Visual Studio Light","label":"Light (Visual Studio)","uiTheme":"vs","path":"./themes/light_vs.json"},{"id":"Default High Contrast","label":"Dark High Contrast","uiTheme":"hc-black","path":"./themes/hc_black.json"},{"id":"Default High Contrast Light","label":"Light High Contrast","uiTheme":"hc-light","path":"./themes/hc_light.json"}],"iconThemes":[{"id":"vs-minimal","label":"Minimal (Visual Studio Code)","path":"./fileicons/vs_minimal-icon-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/theme-defaults","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.theme-kimbie-dark"},"manifest":{"name":"theme-kimbie-dark","displayName":"Kimbie Dark Theme","description":"Kimbie dark theme for Visual Studio Code","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"themes":[{"id":"Kimbie Dark","label":"Kimbie Dark","uiTheme":"vs-dark","path":"./themes/kimbie-dark-color-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/theme-kimbie-dark","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.theme-monokai"},"manifest":{"name":"theme-monokai","displayName":"Monokai Theme","description":"Monokai theme for Visual Studio Code","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"themes":[{"id":"Monokai","label":"Monokai","uiTheme":"vs-dark","path":"./themes/monokai-color-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/theme-monokai","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.theme-monokai-dimmed"},"manifest":{"name":"theme-monokai-dimmed","displayName":"Monokai Dimmed Theme","description":"Monokai dimmed theme for Visual Studio Code","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"themes":[{"id":"Monokai Dimmed","label":"Monokai Dimmed","uiTheme":"vs-dark","path":"./themes/dimmed-monokai-color-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/theme-monokai-dimmed","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.theme-quietlight"},"manifest":{"name":"theme-quietlight","displayName":"Quiet Light Theme","description":"Quiet light theme for Visual Studio Code","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"themes":[{"id":"Quiet Light","label":"Quiet Light","uiTheme":"vs","path":"./themes/quietlight-color-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/theme-quietlight","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.theme-red"},"manifest":{"name":"theme-red","displayName":"Red Theme","description":"Red theme for Visual Studio Code","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"themes":[{"id":"Red","label":"Red","uiTheme":"vs-dark","path":"./themes/Red-color-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/theme-red","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.vscode-theme-seti"},"manifest":{"name":"vscode-theme-seti","private":true,"version":"1.0.0","displayName":"Seti File Icon Theme","description":"A file icon theme made out of the Seti UI file icons","publisher":"vscode","license":"MIT","icon":"icons/seti-circular-128x128.png","scripts":{"update":"node ./build/update-icon-theme.js"},"engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"iconThemes":[{"id":"vs-seti","label":"Seti (Visual Studio Code)","path":"./icons/vs-seti-icon-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/theme-seti","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.theme-solarized-dark"},"manifest":{"name":"theme-solarized-dark","displayName":"Solarized Dark Theme","description":"Solarized dark theme for Visual Studio Code","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"themes":[{"id":"Solarized Dark","label":"Solarized Dark","uiTheme":"vs-dark","path":"./themes/solarized-dark-color-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/theme-solarized-dark","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.theme-solarized-light"},"manifest":{"name":"theme-solarized-light","displayName":"Solarized Light Theme","description":"Solarized light theme for Visual Studio Code","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"themes":[{"id":"Solarized Light","label":"Solarized Light","uiTheme":"vs","path":"./themes/solarized-light-color-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/theme-solarized-light","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.theme-tomorrow-night-blue"},"manifest":{"name":"theme-tomorrow-night-blue","displayName":"Tomorrow Night Blue Theme","description":"Tomorrow night blue theme for Visual Studio Code","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"themes":[{"id":"Tomorrow Night Blue","label":"Tomorrow Night Blue","uiTheme":"vs-dark","path":"./themes/tomorrow-night-blue-color-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/theme-tomorrow-night-blue","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.tunnel-forwarding"},"manifest":{"name":"tunnel-forwarding","displayName":"Local Tunnel Port Forwarding","description":"Allows forwarding local ports to be accessible over the internet.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.82.0"},"icon":"media/icon.png","capabilities":{"virtualWorkspaces":false,"untrustedWorkspaces":{"supported":true}},"enabledApiProposals":["resolvers","tunnelFactory"],"activationEvents":["onTunnel"],"contributes":{"commands":[{"category":"Port Forwarding","command":"tunnel-forwarding.showLog","title":"Show Log","enablement":"tunnelForwardingHasLog"},{"category":"Port Forwarding","command":"tunnel-forwarding.restart","title":"Restart Forwarding System","enablement":"tunnelForwardingIsRunning"}]},"main":"./dist/extension","prettier":{"printWidth":100,"trailingComma":"all","singleQuote":true,"arrowParens":"avoid"},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/tunnel-forwarding","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.typescript"},"manifest":{"name":"typescript","description":"Provides snippets, syntax highlighting, bracket matching and folding in TypeScript files.","displayName":"TypeScript Language Basics","version":"1.0.0","author":"vscode","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ./build/update-grammars.mjs"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"typescript","aliases":["TypeScript","ts","typescript"],"extensions":[".ts",".cts",".mts"],"configuration":"./language-configuration.json"},{"id":"typescriptreact","aliases":["TypeScript JSX","TypeScript React","tsx"],"extensions":[".tsx"],"configuration":"./language-configuration.json"},{"id":"jsonc","filenames":["tsconfig.json","jsconfig.json"],"filenamePatterns":["tsconfig.*.json","jsconfig.*.json","tsconfig-*.json","jsconfig-*.json"]},{"id":"json","extensions":[".tsbuildinfo"]}],"grammars":[{"language":"typescript","scopeName":"source.ts","path":"./syntaxes/TypeScript.tmLanguage.json","unbalancedBracketScopes":["keyword.operator.relational","storage.type.function.arrow","keyword.operator.bitwise.shift","meta.brace.angle","punctuation.definition.tag","keyword.operator.assignment.compound.bitwise.ts"],"tokenTypes":{"punctuation.definition.template-expression":"other","entity.name.type.instance.jsdoc":"other","entity.name.function.tagged-template":"other","meta.import string.quoted":"other","variable.other.jsdoc":"other"}},{"language":"typescriptreact","scopeName":"source.tsx","path":"./syntaxes/TypeScriptReact.tmLanguage.json","unbalancedBracketScopes":["keyword.operator.relational","storage.type.function.arrow","keyword.operator.bitwise.shift","punctuation.definition.tag","keyword.operator.assignment.compound.bitwise.ts"],"embeddedLanguages":{"meta.tag.tsx":"jsx-tags","meta.tag.without-attributes.tsx":"jsx-tags","meta.tag.attributes.tsx":"typescriptreact","meta.embedded.expression.tsx":"typescriptreact"},"tokenTypes":{"punctuation.definition.template-expression":"other","entity.name.type.instance.jsdoc":"other","entity.name.function.tagged-template":"other","meta.import string.quoted":"other","variable.other.jsdoc":"other"}},{"scopeName":"documentation.injection.ts","path":"./syntaxes/jsdoc.ts.injection.tmLanguage.json","injectTo":["source.ts","source.tsx"]},{"scopeName":"documentation.injection.js.jsx","path":"./syntaxes/jsdoc.js.injection.tmLanguage.json","injectTo":["source.js","source.js.jsx"]}],"semanticTokenScopes":[{"language":"typescript","scopes":{"property":["variable.other.property.ts"],"property.readonly":["variable.other.constant.property.ts"],"variable":["variable.other.readwrite.ts"],"variable.readonly":["variable.other.constant.object.ts"],"function":["entity.name.function.ts"],"namespace":["entity.name.type.module.ts"],"variable.defaultLibrary":["support.variable.ts"],"function.defaultLibrary":["support.function.ts"]}},{"language":"typescriptreact","scopes":{"property":["variable.other.property.tsx"],"property.readonly":["variable.other.constant.property.tsx"],"variable":["variable.other.readwrite.tsx"],"variable.readonly":["variable.other.constant.object.tsx"],"function":["entity.name.function.tsx"],"namespace":["entity.name.type.module.tsx"],"variable.defaultLibrary":["support.variable.tsx"],"function.defaultLibrary":["support.function.tsx"]}}],"snippets":[{"language":"typescript","path":"./snippets/typescript.code-snippets"},{"language":"typescriptreact","path":"./snippets/typescript.code-snippets"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/typescript-basics","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.typescript-language-features"},"manifest":{"name":"typescript-language-features","description":"Provides rich language support for JavaScript and TypeScript.","displayName":"TypeScript and JavaScript Language Features","version":"1.0.0","author":"vscode","publisher":"vscode","license":"MIT","aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","enabledApiProposals":["workspaceTrust","multiDocumentHighlightProvider","codeActionAI","codeActionRanges","editorHoverVerbosityLevel"],"capabilities":{"virtualWorkspaces":{"supported":"limited","description":"In virtual workspaces, resolving and finding references across files is not supported."},"untrustedWorkspaces":{"supported":"limited","description":"The extension requires workspace trust when the workspace version is used because it executes code specified by the workspace.","restrictedConfigurations":["typescript.tsdk","typescript.tsserver.pluginPaths","typescript.npm","typescript.tsserver.nodePath"]}},"engines":{"vscode":"^1.30.0"},"icon":"media/icon.png","categories":["Programming Languages"],"activationEvents":["onLanguage:javascript","onLanguage:javascriptreact","onLanguage:typescript","onLanguage:typescriptreact","onLanguage:jsx-tags","onCommand:typescript.tsserverRequest","onCommand:_typescript.configurePlugin","onCommand:_typescript.learnMoreAboutRefactorings","onCommand:typescript.fileReferences","onTaskType:typescript","onLanguage:jsonc","onWalkthrough:nodejsWelcome"],"main":"./dist/extension","browser":"./dist/browser/extension","contributes":{"jsonValidation":[{"fileMatch":"package.json","url":"./schemas/package.schema.json"},{"fileMatch":"tsconfig.json","url":"https://www.schemastore.org/tsconfig"},{"fileMatch":"tsconfig.json","url":"./schemas/tsconfig.schema.json"},{"fileMatch":"tsconfig.*.json","url":"https://www.schemastore.org/tsconfig"},{"fileMatch":"tsconfig-*.json","url":"./schemas/tsconfig.schema.json"},{"fileMatch":"tsconfig-*.json","url":"https://www.schemastore.org/tsconfig"},{"fileMatch":"tsconfig.*.json","url":"./schemas/tsconfig.schema.json"},{"fileMatch":"typings.json","url":"https://www.schemastore.org/typings"},{"fileMatch":".bowerrc","url":"https://www.schemastore.org/bowerrc"},{"fileMatch":".babelrc","url":"https://www.schemastore.org/babelrc"},{"fileMatch":".babelrc.json","url":"https://www.schemastore.org/babelrc"},{"fileMatch":"babel.config.json","url":"https://www.schemastore.org/babelrc"},{"fileMatch":"jsconfig.json","url":"https://www.schemastore.org/jsconfig"},{"fileMatch":"jsconfig.json","url":"./schemas/jsconfig.schema.json"},{"fileMatch":"jsconfig.*.json","url":"https://www.schemastore.org/jsconfig"},{"fileMatch":"jsconfig.*.json","url":"./schemas/jsconfig.schema.json"},{"fileMatch":".swcrc","url":"https://swc.rs/schema.json"},{"fileMatch":"typedoc.json","url":"https://typedoc.org/schema.json"}],"configuration":[{"type":"object","order":20,"properties":{"typescript.tsdk":{"type":"string","markdownDescription":"Specifies the folder path to the tsserver and `lib*.d.ts` files under a TypeScript install to use for IntelliSense, for example: `./node_modules/typescript/lib`.\n\n- When specified as a user setting, the TypeScript version from `typescript.tsdk` automatically replaces the built-in TypeScript version.\n- When specified as a workspace setting, `typescript.tsdk` allows you to switch to use that workspace version of TypeScript for IntelliSense with the `TypeScript: Select TypeScript version` command.\n\nSee the [TypeScript documentation](https://code.visualstudio.com/docs/typescript/typescript-compiling#_using-newer-typescript-versions) for more detail about managing TypeScript versions.","scope":"window"},"typescript.disableAutomaticTypeAcquisition":{"type":"boolean","default":false,"markdownDescription":"Disables [automatic type acquisition](https://code.visualstudio.com/docs/nodejs/working-with-javascript#_typings-and-automatic-type-acquisition). Automatic type acquisition fetches `@types` packages from npm to improve IntelliSense for external libraries.","scope":"window","tags":["usesOnlineServices"]},"typescript.enablePromptUseWorkspaceTsdk":{"type":"boolean","default":false,"description":"Enables prompting of users to use the TypeScript version configured in the workspace for Intellisense.","scope":"window"},"javascript.referencesCodeLens.enabled":{"type":"boolean","default":false,"description":"Enable/disable references CodeLens in JavaScript files.","scope":"window"},"javascript.referencesCodeLens.showOnAllFunctions":{"type":"boolean","default":false,"description":"Enable/disable references CodeLens on all functions in JavaScript files.","scope":"window"},"typescript.referencesCodeLens.enabled":{"type":"boolean","default":false,"description":"Enable/disable references CodeLens in TypeScript files.","scope":"window"},"typescript.referencesCodeLens.showOnAllFunctions":{"type":"boolean","default":false,"description":"Enable/disable references CodeLens on all functions in TypeScript files.","scope":"window"},"typescript.implementationsCodeLens.enabled":{"type":"boolean","default":false,"description":"Enable/disable implementations CodeLens. This CodeLens shows the implementers of an interface.","scope":"window"},"typescript.experimental.useTsgo":{"type":"boolean","default":false,"markdownDescription":"Disables TypeScript and JavaScript language features to allow usage of the TypeScript Go experimental extension. Requires TypeScript Go to be installed and configured. Requires reloading extensions after changing this setting.","scope":"window","tags":["experimental"]},"typescript.implementationsCodeLens.showOnInterfaceMethods":{"type":"boolean","default":false,"description":"Enable/disable implementations CodeLens on interface methods.","scope":"window"},"typescript.implementationsCodeLens.showOnAllClassMethods":{"type":"boolean","default":false,"description":"Enable/disable showing implementations CodeLens above all class methods instead of only on abstract methods.","scope":"window"},"typescript.reportStyleChecksAsWarnings":{"type":"boolean","default":true,"description":"Report style checks as warnings.","scope":"window"},"typescript.validate.enable":{"type":"boolean","default":true,"description":"Enable/disable TypeScript validation.","scope":"window"},"javascript.validate.enable":{"type":"boolean","default":true,"description":"Enable/disable JavaScript validation.","scope":"window"},"js/ts.implicitProjectConfig.module":{"type":"string","markdownDescription":"Sets the module system for the program. See more: https://www.typescriptlang.org/tsconfig#module.","default":"ESNext","enum":["CommonJS","AMD","System","UMD","ES6","ES2015","ES2020","ESNext","None","ES2022","Node12","NodeNext"],"scope":"window"},"js/ts.implicitProjectConfig.target":{"type":"string","default":"ES2024","markdownDescription":"Set target JavaScript language version for emitted JavaScript and include library declarations. See more: https://www.typescriptlang.org/tsconfig#target.","enum":["ES3","ES5","ES6","ES2015","ES2016","ES2017","ES2018","ES2019","ES2020","ES2021","ES2022","ES2023","ES2024","ESNext"],"scope":"window"},"js/ts.implicitProjectConfig.checkJs":{"type":"boolean","default":false,"markdownDescription":"Enable/disable semantic checking of JavaScript files. Existing `jsconfig.json` or `tsconfig.json` files override this setting.","scope":"window"},"js/ts.implicitProjectConfig.experimentalDecorators":{"type":"boolean","default":false,"markdownDescription":"Enable/disable `experimentalDecorators` in JavaScript files that are not part of a project. Existing `jsconfig.json` or `tsconfig.json` files override this setting.","scope":"window"},"js/ts.implicitProjectConfig.strictNullChecks":{"type":"boolean","default":true,"markdownDescription":"Enable/disable [strict null checks](https://www.typescriptlang.org/tsconfig#strictNullChecks) in JavaScript and TypeScript files that are not part of a project. Existing `jsconfig.json` or `tsconfig.json` files override this setting.","scope":"window"},"js/ts.implicitProjectConfig.strictFunctionTypes":{"type":"boolean","default":true,"markdownDescription":"Enable/disable [strict function types](https://www.typescriptlang.org/tsconfig#strictFunctionTypes) in JavaScript and TypeScript files that are not part of a project. Existing `jsconfig.json` or `tsconfig.json` files override this setting.","scope":"window"},"js/ts.implicitProjectConfig.strict":{"type":"boolean","default":true,"markdownDescription":"Enable/disable [strict mode](https://www.typescriptlang.org/tsconfig#strict) in JavaScript and TypeScript files that are not part of a project. Existing `jsconfig.json` or `tsconfig.json` files override this setting.","scope":"window"},"typescript.tsc.autoDetect":{"type":"string","default":"on","enum":["on","off","build","watch"],"markdownEnumDescriptions":["Create both build and watch tasks.","Disable this feature.","Only create single run compile tasks.","Only create compile and watch tasks."],"description":"Controls auto detection of tsc tasks.","scope":"window"},"typescript.locale":{"type":"string","default":"auto","enum":["auto","de","es","en","fr","it","ja","ko","ru","zh-CN","zh-TW"],"enumDescriptions":["Use VS Code's configured display language.","Deutsch","español","English","français","italiano","日本語","한국어","Ń€ŃŃŃкий","中文(简体)","中文(çąé«”)"],"markdownDescription":"Sets the locale used to report JavaScript and TypeScript errors. Defaults to use VS Code's locale.","scope":"window"},"javascript.suggestionActions.enabled":{"type":"boolean","default":true,"description":"Enable/disable suggestion diagnostics for JavaScript files in the editor.","scope":"resource"},"typescript.suggestionActions.enabled":{"type":"boolean","default":true,"description":"Enable/disable suggestion diagnostics for TypeScript files in the editor.","scope":"resource"},"typescript.updateImportsOnFileMove.enabled":{"type":"string","enum":["prompt","always","never"],"markdownEnumDescriptions":["Prompt on each rename.","Always update paths automatically.","Never rename paths and don't prompt."],"default":"prompt","description":"Enable/disable automatic updating of import paths when you rename or move a file in VS Code.","scope":"resource"},"javascript.updateImportsOnFileMove.enabled":{"type":"string","enum":["prompt","always","never"],"markdownEnumDescriptions":["Prompt on each rename.","Always update paths automatically.","Never rename paths and don't prompt."],"default":"prompt","description":"Enable/disable automatic updating of import paths when you rename or move a file in VS Code.","scope":"resource"},"typescript.autoClosingTags":{"type":"boolean","default":true,"description":"Enable/disable automatic closing of JSX tags.","scope":"language-overridable"},"javascript.autoClosingTags":{"type":"boolean","default":true,"description":"Enable/disable automatic closing of JSX tags.","scope":"language-overridable"},"typescript.workspaceSymbols.scope":{"type":"string","enum":["allOpenProjects","currentProject"],"enumDescriptions":["Search all open JavaScript or TypeScript projects for symbols.","Only search for symbols in the current JavaScript or TypeScript project."],"default":"allOpenProjects","markdownDescription":"Controls which files are searched by [Go to Symbol in Workspace](https://code.visualstudio.com/docs/editor/editingevolved#_open-symbol-by-name).","scope":"window"},"typescript.preferGoToSourceDefinition":{"type":"boolean","default":false,"description":"Makes `Go to Definition` avoid type declaration files when possible by triggering `Go to Source Definition` instead. This allows `Go to Source Definition` to be triggered with the mouse gesture.","scope":"window"},"javascript.preferGoToSourceDefinition":{"type":"boolean","default":false,"description":"Makes `Go to Definition` avoid type declaration files when possible by triggering `Go to Source Definition` instead. This allows `Go to Source Definition` to be triggered with the mouse gesture.","scope":"window"},"typescript.workspaceSymbols.excludeLibrarySymbols":{"type":"boolean","default":true,"markdownDescription":"Exclude symbols that come from library files in `Go to Symbol in Workspace` results. Requires using TypeScript 5.3+ in the workspace.","scope":"window"},"typescript.tsserver.enableRegionDiagnostics":{"type":"boolean","default":true,"description":"Enables region-based diagnostics in TypeScript. Requires using TypeScript 5.6+ in the workspace.","scope":"window"},"javascript.updateImportsOnPaste.enabled":{"scope":"window","type":"boolean","default":true,"markdownDescription":"Automatically update imports when pasting code. Requires TypeScript 5.6+."},"typescript.updateImportsOnPaste.enabled":{"scope":"window","type":"boolean","default":true,"markdownDescription":"Automatically update imports when pasting code. Requires TypeScript 5.6+."},"js/ts.hover.maximumLength":{"type":"number","default":500,"description":"The maximum number of characters in a hover. If the hover is longer than this, it will be truncated. Requires TypeScript 5.9+.","scope":"resource"}}},{"type":"object","title":"Suggestions","order":21,"properties":{"javascript.suggest.enabled":{"type":"boolean","default":true,"description":"Enable/disable autocomplete suggestions.","scope":"language-overridable"},"typescript.suggest.enabled":{"type":"boolean","default":true,"description":"Enable/disable autocomplete suggestions.","scope":"language-overridable"},"javascript.suggest.autoImports":{"type":"boolean","default":true,"description":"Enable/disable auto import suggestions.","scope":"resource"},"typescript.suggest.autoImports":{"type":"boolean","default":true,"description":"Enable/disable auto import suggestions.","scope":"resource"},"javascript.suggest.names":{"type":"boolean","default":true,"markdownDescription":"Enable/disable including unique names from the file in JavaScript suggestions. Note that name suggestions are always disabled in JavaScript code that is semantically checked using `@ts-check` or `checkJs`.","scope":"resource"},"javascript.suggest.completeFunctionCalls":{"type":"boolean","default":false,"description":"Complete functions with their parameter signature.","scope":"resource"},"typescript.suggest.completeFunctionCalls":{"type":"boolean","default":false,"description":"Complete functions with their parameter signature.","scope":"resource"},"javascript.suggest.paths":{"type":"boolean","default":true,"description":"Enable/disable suggestions for paths in import statements and require calls.","scope":"resource"},"typescript.suggest.paths":{"type":"boolean","default":true,"description":"Enable/disable suggestions for paths in import statements and require calls.","scope":"resource"},"javascript.suggest.completeJSDocs":{"type":"boolean","default":true,"description":"Enable/disable suggestion to complete JSDoc comments.","scope":"language-overridable"},"typescript.suggest.completeJSDocs":{"type":"boolean","default":true,"description":"Enable/disable suggestion to complete JSDoc comments.","scope":"language-overridable"},"javascript.suggest.jsdoc.generateReturns":{"type":"boolean","default":true,"markdownDescription":"Enable/disable generating `@returns` annotations for JSDoc templates.","scope":"language-overridable"},"typescript.suggest.jsdoc.generateReturns":{"type":"boolean","default":true,"markdownDescription":"Enable/disable generating `@returns` annotations for JSDoc templates.","scope":"language-overridable"},"javascript.suggest.includeAutomaticOptionalChainCompletions":{"type":"boolean","default":true,"description":"Enable/disable showing completions on potentially undefined values that insert an optional chain call. Requires strict null checks to be enabled.","scope":"resource"},"typescript.suggest.includeAutomaticOptionalChainCompletions":{"type":"boolean","default":true,"description":"Enable/disable showing completions on potentially undefined values that insert an optional chain call. Requires strict null checks to be enabled.","scope":"resource"},"javascript.suggest.includeCompletionsForImportStatements":{"type":"boolean","default":true,"description":"Enable/disable auto-import-style completions on partially-typed import statements.","scope":"resource"},"typescript.suggest.includeCompletionsForImportStatements":{"type":"boolean","default":true,"description":"Enable/disable auto-import-style completions on partially-typed import statements.","scope":"resource"},"javascript.suggest.classMemberSnippets.enabled":{"type":"boolean","default":true,"description":"Enable/disable snippet completions for class members.","scope":"resource"},"typescript.suggest.classMemberSnippets.enabled":{"type":"boolean","default":true,"description":"Enable/disable snippet completions for class members.","scope":"resource"},"typescript.suggest.objectLiteralMethodSnippets.enabled":{"type":"boolean","default":true,"description":"Enable/disable snippet completions for methods in object literals.","scope":"resource"}}},{"type":"object","title":"Preferences","order":21,"properties":{"javascript.preferences.quoteStyle":{"type":"string","enum":["auto","single","double"],"default":"auto","markdownDescription":"Preferred quote style to use for Quick Fixes.","markdownEnumDescriptions":["Infer quote type from existing code","Always use single quotes: `'`","Always use double quotes: `\"`"],"scope":"language-overridable"},"typescript.preferences.quoteStyle":{"type":"string","enum":["auto","single","double"],"default":"auto","markdownDescription":"Preferred quote style to use for Quick Fixes.","markdownEnumDescriptions":["Infer quote type from existing code","Always use single quotes: `'`","Always use double quotes: `\"`"],"scope":"language-overridable"},"javascript.preferences.importModuleSpecifier":{"type":"string","enum":["shortest","relative","non-relative","project-relative"],"markdownEnumDescriptions":["Prefers a non-relative import only if one is available that has fewer path segments than a relative import.","Prefers a relative path to the imported file location.","Prefers a non-relative import based on the `baseUrl` or `paths` configured in your `jsconfig.json` / `tsconfig.json`.","Prefers a non-relative import only if the relative import path would leave the package or project directory."],"default":"shortest","description":"Preferred path style for auto imports.","scope":"language-overridable"},"typescript.preferences.importModuleSpecifier":{"type":"string","enum":["shortest","relative","non-relative","project-relative"],"markdownEnumDescriptions":["Prefers a non-relative import only if one is available that has fewer path segments than a relative import.","Prefers a relative path to the imported file location.","Prefers a non-relative import based on the `baseUrl` or `paths` configured in your `jsconfig.json` / `tsconfig.json`.","Prefers a non-relative import only if the relative import path would leave the package or project directory."],"default":"shortest","description":"Preferred path style for auto imports.","scope":"language-overridable"},"javascript.preferences.importModuleSpecifierEnding":{"type":"string","enum":["auto","minimal","index","js"],"enumItemLabels":[null,null,null,".js / .ts"],"markdownEnumDescriptions":["Use project settings to select a default.","Shorten `./component/index.js` to `./component`.","Shorten `./component/index.js` to `./component/index`.","Do not shorten path endings; include the `.js` or `.ts` extension."],"default":"auto","description":"Preferred path ending for auto imports.","scope":"language-overridable"},"typescript.preferences.importModuleSpecifierEnding":{"type":"string","enum":["auto","minimal","index","js"],"enumItemLabels":[null,null,null,".js / .ts"],"markdownEnumDescriptions":["Use project settings to select a default.","Shorten `./component/index.js` to `./component`.","Shorten `./component/index.js` to `./component/index`.","Do not shorten path endings; include the `.js` or `.ts` extension."],"default":"auto","description":"Preferred path ending for auto imports.","scope":"language-overridable"},"javascript.preferences.jsxAttributeCompletionStyle":{"type":"string","enum":["auto","braces","none"],"markdownEnumDescriptions":["Insert `={}` or `=\"\"` after attribute names based on the prop type. See `#javascript.preferences.quoteStyle#` to control the type of quotes used for string attributes.","Insert `={}` after attribute names.","Only insert attribute names."],"default":"auto","description":"Preferred style for JSX attribute completions.","scope":"language-overridable"},"typescript.preferences.jsxAttributeCompletionStyle":{"type":"string","enum":["auto","braces","none"],"markdownEnumDescriptions":["Insert `={}` or `=\"\"` after attribute names based on the prop type. See `#typescript.preferences.quoteStyle#` to control the type of quotes used for string attributes.","Insert `={}` after attribute names.","Only insert attribute names."],"default":"auto","description":"Preferred style for JSX attribute completions.","scope":"language-overridable"},"typescript.preferences.includePackageJsonAutoImports":{"type":"string","enum":["auto","on","off"],"enumDescriptions":["Search dependencies based on estimated performance impact.","Always search dependencies.","Never search dependencies."],"default":"auto","markdownDescription":"Enable/disable searching `package.json` dependencies for available auto imports.","scope":"window"},"javascript.preferences.autoImportFileExcludePatterns":{"type":"array","items":{"type":"string"},"markdownDescription":"Specify glob patterns of files to exclude from auto imports. Relative paths are resolved relative to the workspace root. Patterns are evaluated using tsconfig.json [`exclude`](https://www.typescriptlang.org/tsconfig#exclude) semantics.","scope":"resource"},"typescript.preferences.autoImportFileExcludePatterns":{"type":"array","items":{"type":"string"},"markdownDescription":"Specify glob patterns of files to exclude from auto imports. Relative paths are resolved relative to the workspace root. Patterns are evaluated using tsconfig.json [`exclude`](https://www.typescriptlang.org/tsconfig#exclude) semantics.","scope":"resource"},"javascript.preferences.autoImportSpecifierExcludeRegexes":{"type":"array","items":{"type":"string"},"markdownDescription":"Specify regular expressions to exclude auto imports with matching import specifiers. Examples:\n\n- `^node:`\n- `lib/internal` (slashes don't need to be escaped...)\n- `/lib\\/internal/i` (...unless including surrounding slashes for `i` or `u` flags)\n- `^lodash$` (only allow subpath imports from lodash)","scope":"resource"},"typescript.preferences.autoImportSpecifierExcludeRegexes":{"type":"array","items":{"type":"string"},"markdownDescription":"Specify regular expressions to exclude auto imports with matching import specifiers. Examples:\n\n- `^node:`\n- `lib/internal` (slashes don't need to be escaped...)\n- `/lib\\/internal/i` (...unless including surrounding slashes for `i` or `u` flags)\n- `^lodash$` (only allow subpath imports from lodash)","scope":"resource"},"typescript.preferences.preferTypeOnlyAutoImports":{"type":"boolean","default":false,"markdownDescription":"Include the `type` keyword in auto-imports whenever possible. Requires using TypeScript 5.3+ in the workspace.","scope":"resource"},"javascript.preferences.useAliasesForRenames":{"type":"boolean","default":true,"description":"Enable/disable introducing aliases for object shorthand properties during renames.","scope":"language-overridable"},"typescript.preferences.useAliasesForRenames":{"type":"boolean","default":true,"description":"Enable/disable introducing aliases for object shorthand properties during renames.","scope":"language-overridable"},"javascript.preferences.renameMatchingJsxTags":{"type":"boolean","default":true,"description":"When on a JSX tag, try to rename the matching tag instead of renaming the symbol. Requires using TypeScript 5.1+ in the workspace.","scope":"language-overridable"},"typescript.preferences.renameMatchingJsxTags":{"type":"boolean","default":true,"description":"When on a JSX tag, try to rename the matching tag instead of renaming the symbol. Requires using TypeScript 5.1+ in the workspace.","scope":"language-overridable"},"javascript.preferences.organizeImports":{"type":"object","markdownDescription":"Advanced preferences that control how imports are ordered.","properties":{"caseSensitivity":{"type":"string","markdownDescription":"Specifies how imports should be sorted with regards to case-sensitivity. If `auto` or unspecified, we will detect the case-sensitivity per file","enum":["auto","caseInsensitive","caseSensitive"],"markdownEnumDescriptions":["Detect case-sensitivity for import sorting.","%typescript.preferences.organizeImports.caseSensitivity.insensitive","Sort imports case-sensitively."],"default":"auto"},"typeOrder":{"type":"string","markdownDescription":"Specify how type-only named imports should be sorted.","enum":["auto","last","inline","first"],"default":"auto","markdownEnumDescriptions":["Detect where type-only named imports should be sorted.","Type only named imports are sorted to the end of the import list. E.g. `import { B, Z, type A, type Y } from 'module';`","Named imports are sorted by name only. E.g. `import { type A, B, type Y, Z } from 'module';`","Type only named imports are sorted to the beginning of the import list. E.g. `import { type A, type Y, B, Z } from 'module';`"]},"unicodeCollation":{"type":"string","markdownDescription":"Specify whether to sort imports using Unicode or Ordinal collation.","enum":["ordinal","unicode"],"markdownEnumDescriptions":["Sort imports using the numeric value of each code point.","Sort imports using the Unicode code collation."],"default":"ordinal"},"locale":{"type":"string","markdownDescription":"Requires `organizeImports.unicodeCollation: 'unicode'`. Overrides the locale used for collation. Specify `auto` to use the UI locale."},"numericCollation":{"type":"boolean","markdownDescription":"Requires `organizeImports.unicodeCollation: 'unicode'`. Sort numeric strings by integer value."},"accentCollation":{"type":"boolean","markdownDescription":"Requires `organizeImports.unicodeCollation: 'unicode'`. Compare characters with diacritical marks as unequal to base character."},"caseFirst":{"type":"string","markdownDescription":"Requires `organizeImports.unicodeCollation: 'unicode'`, and `organizeImports.caseSensitivity` is not `caseInsensitive`. Indicates whether upper-case will sort before lower-case.","enum":["default","upper","lower"],"markdownEnumDescriptions":["Default order given by `locale`.","Upper-case comes before lower-case. E.g. ` A, a, B, b`.","Lower-case comes before upper-case. E.g.` a, A, z, Z`."],"default":"default"}}},"typescript.preferences.organizeImports":{"type":"object","markdownDescription":"Advanced preferences that control how imports are ordered.","properties":{"caseSensitivity":{"type":"string","markdownDescription":"Specifies how imports should be sorted with regards to case-sensitivity. If `auto` or unspecified, we will detect the case-sensitivity per file","enum":["auto","caseInsensitive","caseSensitive"],"markdownEnumDescriptions":["Detect case-sensitivity for import sorting.","%typescript.preferences.organizeImports.caseSensitivity.insensitive","Sort imports case-sensitively."],"default":"auto"},"typeOrder":{"type":"string","markdownDescription":"Specify how type-only named imports should be sorted.","enum":["auto","last","inline","first"],"default":"auto","markdownEnumDescriptions":["Detect where type-only named imports should be sorted.","Type only named imports are sorted to the end of the import list. E.g. `import { B, Z, type A, type Y } from 'module';`","Named imports are sorted by name only. E.g. `import { type A, B, type Y, Z } from 'module';`","Type only named imports are sorted to the beginning of the import list. E.g. `import { type A, type Y, B, Z } from 'module';`"]},"unicodeCollation":{"type":"string","markdownDescription":"Specify whether to sort imports using Unicode or Ordinal collation.","enum":["ordinal","unicode"],"markdownEnumDescriptions":["Sort imports using the numeric value of each code point.","Sort imports using the Unicode code collation."],"default":"ordinal"},"locale":{"type":"string","markdownDescription":"Requires `organizeImports.unicodeCollation: 'unicode'`. Overrides the locale used for collation. Specify `auto` to use the UI locale."},"numericCollation":{"type":"boolean","markdownDescription":"Requires `organizeImports.unicodeCollation: 'unicode'`. Sort numeric strings by integer value."},"accentCollation":{"type":"boolean","markdownDescription":"Requires `organizeImports.unicodeCollation: 'unicode'`. Compare characters with diacritical marks as unequal to base character."},"caseFirst":{"type":"string","markdownDescription":"Requires `organizeImports.unicodeCollation: 'unicode'`, and `organizeImports.caseSensitivity` is not `caseInsensitive`. Indicates whether upper-case will sort before lower-case.","enum":["default","upper","lower"],"markdownEnumDescriptions":["Default order given by `locale`.","Upper-case comes before lower-case. E.g. ` A, a, B, b`.","Lower-case comes before upper-case. E.g.` a, A, z, Z`."],"default":"default"}}}}},{"type":"object","title":"Formatting","order":23,"properties":{"javascript.format.enable":{"type":"boolean","default":true,"description":"Enable/disable default JavaScript formatter.","scope":"window"},"typescript.format.enable":{"type":"boolean","default":true,"description":"Enable/disable default TypeScript formatter.","scope":"window"},"javascript.format.insertSpaceAfterCommaDelimiter":{"type":"boolean","default":true,"description":"Defines space handling after a comma delimiter.","scope":"resource"},"typescript.format.insertSpaceAfterCommaDelimiter":{"type":"boolean","default":true,"description":"Defines space handling after a comma delimiter.","scope":"resource"},"javascript.format.insertSpaceAfterConstructor":{"type":"boolean","default":false,"description":"Defines space handling after the constructor keyword.","scope":"resource"},"typescript.format.insertSpaceAfterConstructor":{"type":"boolean","default":false,"description":"Defines space handling after the constructor keyword.","scope":"resource"},"javascript.format.insertSpaceAfterSemicolonInForStatements":{"type":"boolean","default":true,"description":"Defines space handling after a semicolon in a for statement.","scope":"resource"},"typescript.format.insertSpaceAfterSemicolonInForStatements":{"type":"boolean","default":true,"description":"Defines space handling after a semicolon in a for statement.","scope":"resource"},"javascript.format.insertSpaceBeforeAndAfterBinaryOperators":{"type":"boolean","default":true,"description":"Defines space handling after a binary operator.","scope":"resource"},"typescript.format.insertSpaceBeforeAndAfterBinaryOperators":{"type":"boolean","default":true,"description":"Defines space handling after a binary operator.","scope":"resource"},"javascript.format.insertSpaceAfterKeywordsInControlFlowStatements":{"type":"boolean","default":true,"description":"Defines space handling after keywords in a control flow statement.","scope":"resource"},"typescript.format.insertSpaceAfterKeywordsInControlFlowStatements":{"type":"boolean","default":true,"description":"Defines space handling after keywords in a control flow statement.","scope":"resource"},"javascript.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions":{"type":"boolean","default":true,"description":"Defines space handling after function keyword for anonymous functions.","scope":"resource"},"typescript.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions":{"type":"boolean","default":true,"description":"Defines space handling after function keyword for anonymous functions.","scope":"resource"},"javascript.format.insertSpaceBeforeFunctionParenthesis":{"type":"boolean","default":false,"description":"Defines space handling before function argument parentheses.","scope":"resource"},"typescript.format.insertSpaceBeforeFunctionParenthesis":{"type":"boolean","default":false,"description":"Defines space handling before function argument parentheses.","scope":"resource"},"javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis":{"type":"boolean","default":false,"description":"Defines space handling after opening and before closing non-empty parenthesis.","scope":"resource"},"typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis":{"type":"boolean","default":false,"description":"Defines space handling after opening and before closing non-empty parenthesis.","scope":"resource"},"javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets":{"type":"boolean","default":false,"description":"Defines space handling after opening and before closing non-empty brackets.","scope":"resource"},"typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets":{"type":"boolean","default":false,"description":"Defines space handling after opening and before closing non-empty brackets.","scope":"resource"},"javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces":{"type":"boolean","default":true,"description":"Defines space handling after opening and before closing non-empty braces.","scope":"resource"},"typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces":{"type":"boolean","default":true,"description":"Defines space handling after opening and before closing non-empty braces.","scope":"resource"},"javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces":{"type":"boolean","default":true,"description":"Defines space handling after opening and before closing empty braces.","scope":"resource"},"typescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces":{"type":"boolean","default":true,"description":"Defines space handling after opening and before closing empty braces.","scope":"resource"},"javascript.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces":{"type":"boolean","default":false,"description":"Defines space handling after opening and before closing template string braces.","scope":"resource"},"typescript.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces":{"type":"boolean","default":false,"description":"Defines space handling after opening and before closing template string braces.","scope":"resource"},"javascript.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces":{"type":"boolean","default":false,"description":"Defines space handling after opening and before closing JSX expression braces.","scope":"resource"},"typescript.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces":{"type":"boolean","default":false,"description":"Defines space handling after opening and before closing JSX expression braces.","scope":"resource"},"typescript.format.insertSpaceAfterTypeAssertion":{"type":"boolean","default":false,"description":"Defines space handling after type assertions in TypeScript.","scope":"resource"},"javascript.format.placeOpenBraceOnNewLineForFunctions":{"type":"boolean","default":false,"description":"Defines whether an open brace is put onto a new line for functions or not.","scope":"resource"},"typescript.format.placeOpenBraceOnNewLineForFunctions":{"type":"boolean","default":false,"description":"Defines whether an open brace is put onto a new line for functions or not.","scope":"resource"},"javascript.format.placeOpenBraceOnNewLineForControlBlocks":{"type":"boolean","default":false,"description":"Defines whether an open brace is put onto a new line for control blocks or not.","scope":"resource"},"typescript.format.placeOpenBraceOnNewLineForControlBlocks":{"type":"boolean","default":false,"description":"Defines whether an open brace is put onto a new line for control blocks or not.","scope":"resource"},"javascript.format.semicolons":{"type":"string","default":"ignore","description":"Defines handling of optional semicolons.","scope":"resource","enum":["ignore","insert","remove"],"enumDescriptions":["Don't insert or remove any semicolons.","Insert semicolons at statement ends.","Remove unnecessary semicolons."]},"typescript.format.semicolons":{"type":"string","default":"ignore","description":"Defines handling of optional semicolons.","scope":"resource","enum":["ignore","insert","remove"],"enumDescriptions":["Don't insert or remove any semicolons.","Insert semicolons at statement ends.","Remove unnecessary semicolons."]},"javascript.format.indentSwitchCase":{"type":"boolean","default":true,"description":"Indent case clauses in switch statements. Requires using TypeScript 5.1+ in the workspace.","scope":"resource"},"typescript.format.indentSwitchCase":{"type":"boolean","default":true,"description":"Indent case clauses in switch statements. Requires using TypeScript 5.1+ in the workspace.","scope":"resource"}}},{"type":"object","title":"Inlay Hints","order":24,"properties":{"typescript.inlayHints.parameterNames.enabled":{"type":"string","enum":["none","literals","all"],"enumDescriptions":["Disable parameter name hints.","Enable parameter name hints only for literal arguments.","Enable parameter name hints for literal and non-literal arguments."],"default":"none","markdownDescription":"Enable/disable inlay hints for parameter names:\n```typescript\n\nparseInt(/* str: */ '123', /* radix: */ 8)\n \n```","scope":"resource"},"typescript.inlayHints.parameterNames.suppressWhenArgumentMatchesName":{"type":"boolean","default":true,"markdownDescription":"Suppress parameter name hints on arguments whose text is identical to the parameter name.","scope":"resource"},"typescript.inlayHints.parameterTypes.enabled":{"type":"boolean","default":false,"markdownDescription":"Enable/disable inlay hints for implicit parameter types:\n```typescript\n\nel.addEventListener('click', e /* :MouseEvent */ => ...)\n \n```","scope":"resource"},"typescript.inlayHints.variableTypes.enabled":{"type":"boolean","default":false,"markdownDescription":"Enable/disable inlay hints for implicit variable types:\n```typescript\n\nconst foo /* :number */ = Date.now();\n \n```","scope":"resource"},"typescript.inlayHints.variableTypes.suppressWhenTypeMatchesName":{"type":"boolean","default":true,"markdownDescription":"Suppress type hints on variables whose name is identical to the type name.","scope":"resource"},"typescript.inlayHints.propertyDeclarationTypes.enabled":{"type":"boolean","default":false,"markdownDescription":"Enable/disable inlay hints for implicit types on property declarations:\n```typescript\n\nclass Foo {\n\tprop /* :number */ = Date.now();\n}\n \n```","scope":"resource"},"typescript.inlayHints.functionLikeReturnTypes.enabled":{"type":"boolean","default":false,"markdownDescription":"Enable/disable inlay hints for implicit return types on function signatures:\n```typescript\n\nfunction foo() /* :number */ {\n\treturn Date.now();\n} \n \n```","scope":"resource"},"typescript.inlayHints.enumMemberValues.enabled":{"type":"boolean","default":false,"markdownDescription":"Enable/disable inlay hints for member values in enum declarations:\n```typescript\n\nenum MyValue {\n\tA /* = 0 */;\n\tB /* = 1 */;\n}\n \n```","scope":"resource"},"javascript.inlayHints.parameterNames.enabled":{"type":"string","enum":["none","literals","all"],"enumDescriptions":["Disable parameter name hints.","Enable parameter name hints only for literal arguments.","Enable parameter name hints for literal and non-literal arguments."],"default":"none","markdownDescription":"Enable/disable inlay hints for parameter names:\n```typescript\n\nparseInt(/* str: */ '123', /* radix: */ 8)\n \n```","scope":"resource"},"javascript.inlayHints.parameterNames.suppressWhenArgumentMatchesName":{"type":"boolean","default":true,"markdownDescription":"Suppress parameter name hints on arguments whose text is identical to the parameter name.","scope":"resource"},"javascript.inlayHints.parameterTypes.enabled":{"type":"boolean","default":false,"markdownDescription":"Enable/disable inlay hints for implicit parameter types:\n```typescript\n\nel.addEventListener('click', e /* :MouseEvent */ => ...)\n \n```","scope":"resource"},"javascript.inlayHints.variableTypes.enabled":{"type":"boolean","default":false,"markdownDescription":"Enable/disable inlay hints for implicit variable types:\n```typescript\n\nconst foo /* :number */ = Date.now();\n \n```","scope":"resource"},"javascript.inlayHints.variableTypes.suppressWhenTypeMatchesName":{"type":"boolean","default":true,"markdownDescription":"Suppress type hints on variables whose name is identical to the type name.","scope":"resource"},"javascript.inlayHints.propertyDeclarationTypes.enabled":{"type":"boolean","default":false,"markdownDescription":"Enable/disable inlay hints for implicit types on property declarations:\n```typescript\n\nclass Foo {\n\tprop /* :number */ = Date.now();\n}\n \n```","scope":"resource"},"javascript.inlayHints.functionLikeReturnTypes.enabled":{"type":"boolean","default":false,"markdownDescription":"Enable/disable inlay hints for implicit return types on function signatures:\n```typescript\n\nfunction foo() /* :number */ {\n\treturn Date.now();\n} \n \n```","scope":"resource"}}},{"type":"object","title":"TS Server","order":25,"properties":{"typescript.tsserver.nodePath":{"type":"string","description":"Run TS Server on a custom Node installation. This can be a path to a Node executable, or 'node' if you want VS Code to detect a Node installation.","scope":"window"},"typescript.npm":{"type":"string","markdownDescription":"Specifies the path to the npm executable used for [Automatic Type Acquisition](https://code.visualstudio.com/docs/nodejs/working-with-javascript#_typings-and-automatic-type-acquisition).","scope":"machine"},"typescript.check.npmIsInstalled":{"type":"boolean","default":true,"markdownDescription":"Check if npm is installed for [Automatic Type Acquisition](https://code.visualstudio.com/docs/nodejs/working-with-javascript#_typings-and-automatic-type-acquisition).","scope":"window"},"typescript.tsserver.web.projectWideIntellisense.enabled":{"type":"boolean","default":true,"description":"Enable/disable project-wide IntelliSense on web. Requires that VS Code is running in a trusted context.","scope":"window"},"typescript.tsserver.web.projectWideIntellisense.suppressSemanticErrors":{"type":"boolean","default":false,"description":"Suppresses semantic errors on web even when project wide IntelliSense is enabled. This is always on when project wide IntelliSense is not enabled or available. See `#typescript.tsserver.web.projectWideIntellisense.enabled#`","scope":"window"},"typescript.tsserver.web.typeAcquisition.enabled":{"type":"boolean","default":true,"description":"Enable/disable package acquisition on the web. This enables IntelliSense for imported packages. Requires `#typescript.tsserver.web.projectWideIntellisense.enabled#`. Currently not supported for Safari.","scope":"window"},"typescript.tsserver.useSyntaxServer":{"type":"string","scope":"window","description":"Controls if TypeScript launches a dedicated server to more quickly handle syntax related operations, such as computing code folding.","default":"auto","enum":["always","never","auto"],"enumDescriptions":["Use a lighter weight syntax server to handle all IntelliSense operations. This syntax server can only provide IntelliSense for opened files.","Don't use a dedicated syntax server. Use a single server to handle all IntelliSense operations.","Spawn both a full server and a lighter weight server dedicated to syntax operations. The syntax server is used to speed up syntax operations and provide IntelliSense while projects are loading."]},"typescript.tsserver.maxTsServerMemory":{"type":"number","default":3072,"markdownDescription":"The maximum amount of memory (in MB) to allocate to the TypeScript server process. To use a memory limit greater than 4 GB, use `#typescript.tsserver.nodePath#` to run TS Server with a custom Node installation.","scope":"window"},"typescript.tsserver.experimental.enableProjectDiagnostics":{"type":"boolean","default":false,"description":"Enables project wide error reporting.","scope":"window","tags":["experimental"]},"typescript.tsserver.watchOptions":{"description":"Configure which watching strategies should be used to keep track of files and directories.","scope":"window","default":"vscode","oneOf":[{"type":"string","const":"vscode","description":"Use VS Code's file watchers instead of TypeScript's. Requires using TypeScript 5.4+ in the workspace."},{"type":"object","properties":{"watchFile":{"type":"string","description":"Strategy for how individual files are watched.","enum":["fixedChunkSizePolling","fixedPollingInterval","priorityPollingInterval","dynamicPriorityPolling","useFsEvents","useFsEventsOnParentDirectory"],"enumDescriptions":["Polls files in chunks at regular interval.","Check every file for changes several times a second at a fixed interval.","Check every file for changes several times a second, but use heuristics to check certain types of files less frequently than others.","Use a dynamic queue where less-frequently modified files will be checked less often.","Attempt to use the operating system/file system's native events for file changes.","Attempt to use the operating system/file system's native events to listen for changes on a file's containing directories. This can use fewer file watchers, but might be less accurate."],"default":"useFsEvents"},"watchDirectory":{"type":"string","description":"Strategy for how entire directory trees are watched under systems that lack recursive file-watching functionality.","enum":["fixedChunkSizePolling","fixedPollingInterval","dynamicPriorityPolling","useFsEvents"],"enumDescriptions":["Polls directories in chunks at regular interval.","Check every directory for changes several times a second at a fixed interval.","Use a dynamic queue where less-frequently modified directories will be checked less often.","Attempt to use the operating system/file system's native events for directory changes."],"default":"useFsEvents"},"fallbackPolling":{"type":"string","description":"When using file system events, this option specifies the polling strategy that gets used when the system runs out of native file watchers and/or doesn't support native file watchers.","enum":["fixedPollingInterval","priorityPollingInterval","dynamicPriorityPolling"],"enumDescriptions":["configuration.tsserver.watchOptions.fallbackPolling.fixedPollingInterval","configuration.tsserver.watchOptions.fallbackPolling.priorityPollingInterval","configuration.tsserver.watchOptions.fallbackPolling.dynamicPriorityPolling"]},"synchronousWatchDirectory":{"type":"boolean","description":"Disable deferred watching on directories. Deferred watching is useful when lots of file changes might occur at once (e.g. a change in node_modules from running npm install), but you might want to disable it with this flag for some less-common setups."}}}]},"typescript.tsserver.enableTracing":{"type":"boolean","default":false,"description":"Enables tracing TS server performance to a directory. These trace files can be used to diagnose TS Server performance issues. The log may contain file paths, source code, and other potentially sensitive information from your project.","scope":"window"},"typescript.tsserver.log":{"type":"string","enum":["off","terse","normal","verbose","requestTime"],"default":"off","description":"Enables logging of the TS server to a file. This log can be used to diagnose TS Server issues. The log may contain file paths, source code, and other potentially sensitive information from your project.","scope":"window"},"typescript.tsserver.pluginPaths":{"type":"array","items":{"type":"string","description":"Either an absolute or relative path. Relative path will be resolved against workspace folder(s)."},"default":[],"description":"Additional paths to discover TypeScript Language Service plugins.","scope":"machine"}}}],"commands":[{"command":"typescript.reloadProjects","title":"Reload Project","category":"TypeScript"},{"command":"javascript.reloadProjects","title":"Reload Project","category":"JavaScript"},{"command":"typescript.selectTypeScriptVersion","title":"Select TypeScript Version...","category":"TypeScript"},{"command":"typescript.goToProjectConfig","title":"Go to Project Configuration (tsconfig)","category":"TypeScript"},{"command":"javascript.goToProjectConfig","title":"Go to Project Configuration (jsconfig / tsconfig)","category":"JavaScript"},{"command":"typescript.openTsServerLog","title":"Open TS Server log","category":"TypeScript"},{"command":"typescript.restartTsServer","title":"Restart TS Server","category":"TypeScript"},{"command":"typescript.findAllFileReferences","title":"Find File References","category":"TypeScript"},{"command":"typescript.goToSourceDefinition","title":"Go to Source Definition","category":"TypeScript"},{"command":"typescript.sortImports","title":"Sort Imports","category":"TypeScript"},{"command":"javascript.sortImports","title":"Sort Imports","category":"JavaScript"},{"command":"typescript.removeUnusedImports","title":"Remove Unused Imports","category":"TypeScript"},{"command":"javascript.removeUnusedImports","title":"Remove Unused Imports","category":"JavaScript"},{"command":"typescript.experimental.enableTsgo","title":"Use TypeScript Go (Experimental)","category":"TypeScript","enablement":"!config.typescript.experimental.useTsgo && config.typescript-go.executablePath"},{"command":"typescript.experimental.disableTsgo","title":"Stop using TypeScript Go (Experimental)","category":"TypeScript","enablement":"config.typescript.experimental.useTsgo"}],"menus":{"commandPalette":[{"command":"typescript.reloadProjects","when":"editorLangId == typescript && typescript.isManagedFile"},{"command":"typescript.reloadProjects","when":"editorLangId == typescriptreact && typescript.isManagedFile"},{"command":"javascript.reloadProjects","when":"editorLangId == javascript && typescript.isManagedFile"},{"command":"javascript.reloadProjects","when":"editorLangId == javascriptreact && typescript.isManagedFile"},{"command":"typescript.goToProjectConfig","when":"editorLangId == typescript && typescript.isManagedFile"},{"command":"typescript.goToProjectConfig","when":"editorLangId == typescriptreact && typescript.isManagedFile"},{"command":"javascript.goToProjectConfig","when":"editorLangId == javascript && typescript.isManagedFile"},{"command":"javascript.goToProjectConfig","when":"editorLangId == javascriptreact && typescript.isManagedFile"},{"command":"typescript.selectTypeScriptVersion","when":"typescript.isManagedFile"},{"command":"typescript.openTsServerLog","when":"typescript.isManagedFile"},{"command":"typescript.restartTsServer","when":"typescript.isManagedFile"},{"command":"typescript.findAllFileReferences","when":"tsSupportsFileReferences && typescript.isManagedFile"},{"command":"typescript.goToSourceDefinition","when":"tsSupportsSourceDefinition && typescript.isManagedFile"},{"command":"typescript.sortImports","when":"supportedCodeAction =~ /(\\s|^)source\\.sortImports\\b/ && editorLangId =~ /^typescript(react)?$/"},{"command":"javascript.sortImports","when":"supportedCodeAction =~ /(\\s|^)source\\.sortImports\\b/ && editorLangId =~ /^javascript(react)?$/"},{"command":"typescript.removeUnusedImports","when":"supportedCodeAction =~ /(\\s|^)source\\.removeUnusedImports\\b/ && editorLangId =~ /^typescript(react)?$/"},{"command":"javascript.removeUnusedImports","when":"supportedCodeAction =~ /(\\s|^)source\\.removeUnusedImports\\b/ && editorLangId =~ /^javascript(react)?$/"}],"editor/context":[{"command":"typescript.goToSourceDefinition","when":"!config.typescript.experimental.useTsgo && tsSupportsSourceDefinition && (resourceLangId == typescript || resourceLangId == typescriptreact || resourceLangId == javascript || resourceLangId == javascriptreact)","group":"navigation@1.41"}],"explorer/context":[{"command":"typescript.findAllFileReferences","when":"tsSupportsFileReferences && resourceLangId == typescript","group":"4_search"},{"command":"typescript.findAllFileReferences","when":"tsSupportsFileReferences && resourceLangId == typescriptreact","group":"4_search"},{"command":"typescript.findAllFileReferences","when":"tsSupportsFileReferences && resourceLangId == javascript","group":"4_search"},{"command":"typescript.findAllFileReferences","when":"tsSupportsFileReferences && resourceLangId == javascriptreact","group":"4_search"}],"editor/title/context":[{"command":"typescript.findAllFileReferences","when":"tsSupportsFileReferences && resourceLangId == javascript"},{"command":"typescript.findAllFileReferences","when":"tsSupportsFileReferences && resourceLangId == javascriptreact"},{"command":"typescript.findAllFileReferences","when":"tsSupportsFileReferences && resourceLangId == typescript"},{"command":"typescript.findAllFileReferences","when":"tsSupportsFileReferences && resourceLangId == typescriptreact"}]},"breakpoints":[{"language":"typescript"},{"language":"typescriptreact"}],"taskDefinitions":[{"type":"typescript","required":["tsconfig"],"properties":{"tsconfig":{"type":"string","description":"The tsconfig file that defines the TS build."},"option":{"type":"string"}},"when":"shellExecutionSupported"}],"problemPatterns":[{"name":"tsc","regexp":"^([^\\s].*)[\\(:](\\d+)[,:](\\d+)(?:\\):\\s+|\\s+-\\s+)(error|warning|info)\\s+TS(\\d+)\\s*:\\s*(.*)$","file":1,"line":2,"column":3,"severity":4,"code":5,"message":6}],"problemMatchers":[{"name":"tsc","label":"TypeScript problems","owner":"typescript","source":"ts","applyTo":"closedDocuments","fileLocation":["relative","${cwd}"],"pattern":"$tsc"},{"name":"tsc-watch","label":"TypeScript problems (watch mode)","owner":"typescript","source":"ts","applyTo":"closedDocuments","fileLocation":["relative","${cwd}"],"pattern":"$tsc","background":{"activeOnStart":true,"beginsPattern":{"regexp":"^\\s*(?:message TS6032:|\\[?\\D*.{1,2}[:.].{1,2}[:.].{1,2}\\D*(├\\D*\\d{1,2}\\D+┤)?(?:\\]| -)) (Starting compilation in watch mode|File change detected\\. Starting incremental compilation)\\.\\.\\."},"endsPattern":{"regexp":"^\\s*(?:message TS6042:|\\[?\\D*.{1,2}[:.].{1,2}[:.].{1,2}\\D*(├\\D*\\d{1,2}\\D+┤)?(?:\\]| -)) (?:Compilation complete\\.|Found \\d+ errors?\\.) Watching for file changes\\."}}}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/typescript-language-features","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.vb"},"manifest":{"name":"vb","displayName":"Visual Basic Language Basics","description":"Provides snippets, syntax highlighting, bracket matching and folding in Visual Basic files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin textmate/asp.vb.net.tmbundle Syntaxes/ASP%20VB.net.plist ./syntaxes/asp-vb-net.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"vb","extensions":[".vb",".brs",".vbs",".bas",".vba"],"aliases":["Visual Basic","vb"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"vb","scopeName":"source.asp.vb.net","path":"./syntaxes/asp-vb-net.tmLanguage.json"}],"snippets":[{"language":"vb","path":"./snippets/vb.code-snippets"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/app/code-server/lib/vscode/extensions/vb","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false},{"type":0,"identifier":{"id":"vscode.xml"},"manifest":{"name":"xml","displayName":"XML Language Basics","description":"Provides syntax highlighting and bracket matching in XML files.","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"xml","extensions":[".xml",".xsd",".ascx",".atom",".axml",".axaml",".bpmn",".cpt",".csl",".csproj",".csproj.user",".dita",".ditamap",".dtd",".ent",".mod",".dtml",".fsproj",".fxml",".iml",".isml",".jmx",".launch",".menu",".mxml",".nuspec",".opml",".owl",".proj",".props",".pt",".publishsettings",".pubxml",".pubxml.user",".rbxlx",".rbxmx",".rdf",".rng",".rss",".shproj",".slnx",".storyboard",".svg",".targets",".tld",".tmx",".vbproj",".vbproj.user",".vcxproj",".vcxproj.filters",".wsdl",".wxi",".wxl",".wxs",".xaml",".xbl",".xib",".xlf",".xliff",".xpdl",".xul",".xoml"],"firstLine":"(\\<\\?xml.*)|(\\ FR-U - 07/10/2025 21:56:43 + 01/01/0001 00:10:00 true Battlestar Galactica (Reboot) Collection + + + PremiereDate + + + - /media/Movies/Battlestar Galactica Blood & Chrome (2012)/Battlestar.Galactica.Blood.&.Chrome.-.2012.-.Bluray-1080p.mkv + /nasMerged/Movies/Battlestar Galactica Blood & Chrome (2012)/Battlestar.Galactica.Blood.&.Chrome.-.2012.-.Bluray-1080p.mkv - /media/Movies/Battlestar Galactica The Plan (2009)/Battlestar.Galactica.The.Plan.-.2009.-.Bluray-1080p.mp4 + /nasMerged/Movies/Battlestar Galactica The Plan (2009)/Battlestar.Galactica.The.Plan.-.2009.-.Bluray-1080p.mp4 - /media/Movies/Battlestar Galactica Razor (2007)/Battlestar.Galactica.Razor.-.2007.-.Bluray-1080p.mkv + /nasMerged/Movies/Battlestar Galactica Razor (2007)/Battlestar.Galactica.Razor.-.2007.-.Bluray-1080p.mkv \ No newline at end of file diff --git a/config/jellyfin/data/collections/Creed Collection [boxset]/collection.xml b/config/jellyfin/data/collections/Creed Collection [boxset]/collection.xml new file mode 100644 index 00000000..dbeb790a --- /dev/null +++ b/config/jellyfin/data/collections/Creed Collection [boxset]/collection.xml @@ -0,0 +1,35 @@ + + + FR-U + 02/13/2026 14:30:39 + false + Former World Heavyweight Champion Rocky Balboa serves as a trainer and mentor to Apollo Creed's son, Adonis. These films are both spin-offs and sequels to the Rocky film series. + Creed Collection + 2015-11-25 + + + + PremiereDate + 2015 + 553717 + + Drama + Sport + + + Metro-Goldwyn-Mayer + New Line Cinema + Chartoff-Winkler Productions + + Warner Bros. Pictures + Winkler Films + + + + /nasMerged/Movies/Creed (2015)/Creed.-.2015.-.WEBDL-2160p.mkv + + + /nasMerged/Movies/Creed (2015)/Creed.mkv + + + \ No newline at end of file diff --git a/config/jellyfin/data/collections/Despicable Me Collection [boxset]/collection.xml b/config/jellyfin/data/collections/Despicable Me Collection [boxset]/collection.xml index c86e488c..3b230e95 100644 --- a/config/jellyfin/data/collections/Despicable Me Collection [boxset]/collection.xml +++ b/config/jellyfin/data/collections/Despicable Me Collection [boxset]/collection.xml @@ -1,16 +1,22 @@  FR-TP - 07/10/2025 21:56:43 + 01/01/0001 00:10:00 true Despicable Me Collection + + + PremiereDate + + + - /media/Movies/Despicable Me (2010)/Despicable.Me.-.2010.-.Bluray-1080p.mkv + /nasMerged/Movies/Despicable Me (2010)/Despicable.Me.-.2010.-.Bluray-1080p.mkv - /media/Movies/Despicable Me 3 (2017)/Despicable.Me.3.-.2017.-.Bluray-1080p.mkv + /nasMerged/Movies/Despicable Me 3 (2017)/Despicable.Me.3.-.2017.-.Bluray-1080p.mkv \ No newline at end of file diff --git a/config/jellyfin/data/collections/Gladiator Collection [boxset]/collection.xml b/config/jellyfin/data/collections/Gladiator Collection [boxset]/collection.xml new file mode 100644 index 00000000..20c3e4ee --- /dev/null +++ b/config/jellyfin/data/collections/Gladiator Collection [boxset]/collection.xml @@ -0,0 +1,38 @@ + + + FR-12 + 02/13/2026 15:30:39 + false + The Gladiator Collection presents epic historical dramas set in ancient Rome, centered around themes of honor, vengeance, and power. With intense gladiatorial combat and sweeping storytelling, it captures the brutality and grandeur of the empire while exploring personal sacrifice and political intrigue. + Gladiator Collection + 2000-05-04 + + + + PremiereDate + 2000 + 1069584 + + Action + Drama + Adventure + + + Universal Pictures + Scott Free Productions + Red Wagon Entertainment + Mill Film + DreamWorks Pictures + + Paramount Pictures + Lucy Fisher/Douglas Wick Productions + + + + /nasMerged/Movies/Gladiator (2000)/Gladiator.-.2000.-.Bluray-1080p.mkv + + + /nasMerged/Movies/Gladiator II (2024)/Gladiator.II.-.2024.-.Remux-2160p.mkv + + + \ No newline at end of file diff --git a/config/jellyfin/data/collections/Godzilla Collection [boxset]/collection.xml b/config/jellyfin/data/collections/Godzilla Collection [boxset]/collection.xml index 21fd5b04..70c02754 100644 --- a/config/jellyfin/data/collections/Godzilla Collection [boxset]/collection.xml +++ b/config/jellyfin/data/collections/Godzilla Collection [boxset]/collection.xml @@ -1,16 +1,22 @@  FR-TP - 07/10/2025 21:56:43 + 01/01/0001 00:10:00 true Godzilla Collection + + + PremiereDate + + + - /media/Movies/Godzilla vs. Kong (2021)/Godzilla.vs.Kong.-.2021.-.WEBDL-2160p.mkv + /nasMerged/Movies/Godzilla vs. Kong (2021)/Godzilla.vs.Kong.-.2021.-.WEBDL-2160p.mkv - /media/Movies/Godzilla King of the Monsters (2019)/Godzilla.King.of.the.Monsters.-.2019.-.Bluray-1080p.mkv + /nasMerged/Movies/Godzilla King of the Monsters (2019)/Godzilla.King.of.the.Monsters.-.2019.-.Bluray-1080p.mkv \ No newline at end of file diff --git a/config/jellyfin/data/collections/John Wick Collection [boxset]/collection.xml b/config/jellyfin/data/collections/John Wick Collection [boxset]/collection.xml index 9bc7bdc6..8fce9ec6 100644 --- a/config/jellyfin/data/collections/John Wick Collection [boxset]/collection.xml +++ b/config/jellyfin/data/collections/John Wick Collection [boxset]/collection.xml @@ -1,19 +1,25 @@  FR-12 - 07/10/2025 21:56:43 + 01/01/0001 00:10:00 true John Wick Collection + + + PremiereDate + + + - /media/Movies/John Wick (2014)/John.Wick.-.2014.-.Bluray-1080p.mkv + /nasMerged/Movies/John Wick (2014)/John.Wick.-.2014.-.Bluray-1080p.mkv - /media/Movies/John Wick Chapter 2 (2017)/John.Wick.Chapter.2.-.2017.-.Bluray-1080p.mkv + /nasMerged/Movies/John Wick Chapter 2 (2017)/John.Wick.Chapter.2.-.2017.-.Bluray-1080p.mkv - /media/Movies/John Wick Chapter 3 – Parabellum (2019)/John.Wick.Chapter.3.-.Parabellum.-.2019.-.Bluray-1080p.mkv + /nasMerged/Movies/John Wick Chapter 3 – Parabellum (2019)/John.Wick.Chapter.3.-.Parabellum.-.2019.-.Bluray-1080p.mkv \ No newline at end of file diff --git a/config/jellyfin/data/collections/Jurassic Park Collection [boxset]/collection.xml b/config/jellyfin/data/collections/Jurassic Park Collection [boxset]/collection.xml new file mode 100644 index 00000000..2d7af9f6 --- /dev/null +++ b/config/jellyfin/data/collections/Jurassic Park Collection [boxset]/collection.xml @@ -0,0 +1,30 @@ + + + FR-TP + 02/21/2026 12:57:36 + false + An American science fiction adventure film series based on the novel of the same name by Michael Crichton. The films center on the fictional Isla Nublar near Costa Rica in the Central American Pacific Coast, where a billionaire philanthropist and a small team of genetic scientists have created an amusement park of cloned dinosaurs. + Jurassic Park Collection + 2022-06-01 + PremiereDate + 2022 + 328 + + Adventure + Action + Science Fiction + + + Amblin Entertainment + Universal Pictures + + + + + /nasMerged/Movies/Jurassic World Dominion (2022)/Jurassic.World.Dominion.-.2022.-.WEBDL-2160p.mkv + + + /nasMerged/Movies/Jurassic World Rebirth (2025)/Jurassic.World.Rebirth.-.2025.-.Remux-2160p.mkv + + + \ No newline at end of file diff --git a/config/jellyfin/data/collections/Moana Collection [boxset]/collection.xml b/config/jellyfin/data/collections/Moana Collection [boxset]/collection.xml index f4a216c5..cbe3b0d1 100644 --- a/config/jellyfin/data/collections/Moana Collection [boxset]/collection.xml +++ b/config/jellyfin/data/collections/Moana Collection [boxset]/collection.xml @@ -1,16 +1,22 @@  FR-TP - 07/10/2025 21:56:43 + 01/01/0001 00:10:00 true Moana Collection + + + PremiereDate + + + - /media/Movies/Moana (2016)/Moana.-.2016.-.Bluray-1080p.mkv + /nasMerged/Movies/Moana (2016)/Moana.-.2016.-.Bluray-1080p.mkv - /media/Movies/Moana 2 (2024)/Moana.2.-.2024.-.Remux-2160p.mkv + /nasMerged/Movies/Moana 2 (2024)/Moana.2.-.2024.-.Remux-2160p.mkv \ No newline at end of file diff --git a/config/jellyfin/data/collections/Predator Collection [boxset]/collection.xml b/config/jellyfin/data/collections/Predator Collection [boxset]/collection.xml new file mode 100644 index 00000000..cbf614cc --- /dev/null +++ b/config/jellyfin/data/collections/Predator Collection [boxset]/collection.xml @@ -0,0 +1,34 @@ + + + FR-12 + 02/21/2026 12:57:37 + false + A science fiction action film series centered on a warrior class extraterrestrial species with technologically advanced weaponry that travel to Earth to trophy hunt human beings. + Predator Collection + 2022-08-02 + PremiereDate + 2022 + 399 + + Action + Science Fiction + Adventure + Thriller + + + 20th Century Studios + Lawrence Gordon Productions + Davis Entertainment + Toberoff Productions + TSG Entertainment + + + + + /nasMerged/Movies/Predator Badlands (2025)/Predator.Badlands.-.2025.-.Remux-2160p.mkv + + + /nasMerged/Movies/Prey (2022)/Prey.-.2022.-.WEBDL-2160p.mkv + + + \ No newline at end of file diff --git a/config/jellyfin/data/collections/Sonic the Hedgehog Collection [boxset]/collection.xml b/config/jellyfin/data/collections/Sonic the Hedgehog Collection [boxset]/collection.xml index b25af730..58e78029 100644 --- a/config/jellyfin/data/collections/Sonic the Hedgehog Collection [boxset]/collection.xml +++ b/config/jellyfin/data/collections/Sonic the Hedgehog Collection [boxset]/collection.xml @@ -1,19 +1,25 @@  FR-U - 07/10/2025 21:56:43 + 01/01/0001 00:10:00 true Sonic the Hedgehog Collection + + + PremiereDate + + + - /media/Movies/Sonic the Hedgehog (2020)/Sonic.the.Hedgehog.-.2020.-.WEBDL-1080p.mkv + /nasMerged/Movies/Sonic the Hedgehog (2020)/Sonic.the.Hedgehog.-.2020.-.WEBDL-1080p.mkv - /media/Movies/Sonic the Hedgehog 2 (2022)/Sonic.the.Hedgehog.2.-.2022.-.WEBDL-2160p.mkv + /nasMerged/Movies/Sonic the Hedgehog 2 (2022)/Sonic.the.Hedgehog.2.-.2022.-.WEBDL-2160p.mkv - /media/Movies/Sonic the Hedgehog 3 (2024)/Sonic.the.Hedgehog.3.-.2024.-.Remux-2160p.mkv + /nasMerged/Movies/Sonic the Hedgehog 3 (2024)/Sonic.the.Hedgehog.3.-.2024.-.Remux-2160p.mkv \ No newline at end of file diff --git a/config/jellyfin/data/collections/Spider-Man Spider-Verse Collection [boxset]/collection.xml b/config/jellyfin/data/collections/Spider-Man Spider-Verse Collection [boxset]/collection.xml index f732117d..4c438f76 100644 --- a/config/jellyfin/data/collections/Spider-Man Spider-Verse Collection [boxset]/collection.xml +++ b/config/jellyfin/data/collections/Spider-Man Spider-Verse Collection [boxset]/collection.xml @@ -1,16 +1,22 @@  FR-TP - 07/10/2025 21:56:43 + 01/01/0001 00:10:00 true Spider-Man: Spider-Verse Collection + + + PremiereDate + + + - /media/Movies/Spider-Man Across the Spider-Verse (2023)/Spider-Man.Across.the.Spider-Verse.-.2023.-.Remux-2160p.mkv + /nasMerged/Movies/Spider-Man Across the Spider-Verse (2023)/Spider-Man.Across.the.Spider-Verse.-.2023.-.Remux-2160p.mkv - /media/Movies/Spider-Man Into the Spider-Verse (2018)/Spider-Man.Into.the.Spider-Verse.-.2018.-.Bluray-1080p.mkv + /nasMerged/Movies/Spider-Man Into the Spider-Verse (2018)/Spider-Man.Into.the.Spider-Verse.-.2018.-.Bluray-1080p.mkv \ No newline at end of file diff --git a/config/jellyfin/data/collections/The Hunger Games Collection [boxset]/collection.xml b/config/jellyfin/data/collections/The Hunger Games Collection [boxset]/collection.xml index b6500971..d2bcf11c 100644 --- a/config/jellyfin/data/collections/The Hunger Games Collection [boxset]/collection.xml +++ b/config/jellyfin/data/collections/The Hunger Games Collection [boxset]/collection.xml @@ -1,25 +1,28 @@  FR-12 - 07/10/2025 21:56:43 + 01/01/0001 00:10:00 true The Hunger Games Collection + + + PremiereDate + + + - /media/Movies/The Hunger Games (2012)/The.Hunger.Games.-.2012.-.Remux-2160p.mkv + /nasMerged/Movies/The Hunger Games (2012)/The.Hunger.Games.-.2012.-.Remux-2160p.mkv - /media/Movies/The Hunger Games The Ballad of Songbirds & Snakes (2023)/The.Hunger.Games.The.Ballad.of.Songbirds.&.Snakes.-.2023.-.Remux-2160p.mkv + /nasMerged/Movies/The Hunger Games Catching Fire (2013)/The.Hunger.Games.Catching.Fire.-.2013.-.Remux-2160p.mkv - /media/Movies/The Hunger Games Catching Fire (2013)/The.Hunger.Games.Catching.Fire.-.2013.-.Remux-2160p.mkv + /nasMerged/Movies/The Hunger Games Mockingjay - Part 1 (2014)/The.Hunger.Games.Mockingjay.-.Part.1.-.2014.-.Remux-2160p.mkv - /media/Movies/The Hunger Games Mockingjay - Part 1 (2014)/The.Hunger.Games.Mockingjay.-.Part.1.-.2014.-.Remux-2160p.mkv - - - /media/Movies/The Hunger Games Mockingjay - Part 2 (2015)/The.Hunger.Games.Mockingjay.-.Part.2.-.2015.-.Remux-2160p.mkv + /nasMerged/Movies/The Hunger Games Mockingjay - Part 2 (2015)/The.Hunger.Games.Mockingjay.-.Part.2.-.2015.-.Remux-2160p.mkv \ No newline at end of file diff --git a/config/jellyfin/data/collections/The Lord of the Rings Collection [boxset]/collection.xml b/config/jellyfin/data/collections/The Lord of the Rings Collection [boxset]/collection.xml index 5ce86aef..115f507a 100644 --- a/config/jellyfin/data/collections/The Lord of the Rings Collection [boxset]/collection.xml +++ b/config/jellyfin/data/collections/The Lord of the Rings Collection [boxset]/collection.xml @@ -1,19 +1,25 @@  FR-TP - 07/10/2025 21:56:43 + 01/01/0001 00:10:00 true The Lord of the Rings Collection + + + PremiereDate + + + - /media/Movies/The Lord of the Rings The Fellowship of the Ring (2001)/The.Lord.of.the.Rings.The.Fellowship.of.the.Ring.-.2001.-.Remux-2160p.mkv + /nasMerged/Movies/The Lord of the Rings The Fellowship of the Ring (2001)/The.Lord.of.the.Rings.The.Fellowship.of.the.Ring.-.2001.-.Remux-2160p.mkv - /media/Movies/The Lord of the Rings The Return of the King (2003)/The.Lord.of.the.Rings.The.Return.of.the.King.-.2003.-.Remux-2160p.mkv + /nasMerged/Movies/The Lord of the Rings The Return of the King (2003)/The.Lord.of.the.Rings.The.Return.of.the.King.-.2003.-.Remux-2160p.mkv - /media/Movies/The Lord of the Rings The Two Towers (2002)/The.Lord.of.the.Rings.The.Two.Towers.-.2002.-.Remux-2160p.mkv + /nasMerged/Movies/The Lord of the Rings The Two Towers (2002)/The.Lord.of.the.Rings.The.Two.Towers.-.2002.-.Remux-2160p.mkv \ No newline at end of file diff --git a/config/jellyfin/data/collections/Zootopia Collection [boxset]/collection.xml b/config/jellyfin/data/collections/Zootopia Collection [boxset]/collection.xml new file mode 100644 index 00000000..982e6154 --- /dev/null +++ b/config/jellyfin/data/collections/Zootopia Collection [boxset]/collection.xml @@ -0,0 +1,37 @@ + + + FR-TP + 02/13/2026 15:30:39 + false + Zootopia is a bustling modern metropolis inhabited solely by anthropomorphic mammals. Predators and prey have long agreed to live together in peace and equality. Ambitious rabbit Judy Hopps becomes the city’s first bunny police officer and crosses paths with sly fox Nick Wilde. From initial distrust grows a deep friendship and partnership. Together, the unlikely duo solves challenging cases, navigates Zootopia’s diverse districts—from icy Tundratown to the humid Rainforest District—and fights prejudice. They prove that no matter how big or small, predator or prey, anyone can achieve their dreams in Zootopia. Each film tells a standalone adventure, united by the evolving bond between Judy and Nick and the question of how a society functions when ancient instincts meet modern values. + Zootopia Collection + 2016-02-11 + + + + PremiereDate + 2016 + 1084247 + + Animation + Adventure + Family + Comedy + Action + Crime + Mystery + + + Walt Disney Animation Studios + Walt Disney Pictures + + + + + /nasMerged/Movies/Zootopia (2016)/Zootopia.mkv + + + /nasMerged/Movies/Zootopia (2016)/Zootopia.-.2016.-.Remux-2160p.mkv + + + \ No newline at end of file diff --git a/config/jellyfin/data/splashscreen.png b/config/jellyfin/data/splashscreen.png index 31d5f1b3..627da6cc 100644 Binary files a/config/jellyfin/data/splashscreen.png and b/config/jellyfin/data/splashscreen.png differ diff --git a/config/jellyfin/plugins/Kodi Sync Queue_15.0.0.0/Jellyfin.Plugin.KodiSyncQueue.dll b/config/jellyfin/plugins/Kodi Sync Queue_15.0.0.0/Jellyfin.Plugin.KodiSyncQueue.dll new file mode 100644 index 00000000..e72705df Binary files /dev/null and b/config/jellyfin/plugins/Kodi Sync Queue_15.0.0.0/Jellyfin.Plugin.KodiSyncQueue.dll differ diff --git a/config/jellyfin/plugins/Kodi Sync Queue_15.0.0.0/LiteDB.dll b/config/jellyfin/plugins/Kodi Sync Queue_15.0.0.0/LiteDB.dll new file mode 100644 index 00000000..1ffdf540 Binary files /dev/null and b/config/jellyfin/plugins/Kodi Sync Queue_15.0.0.0/LiteDB.dll differ diff --git a/config/jellyfin/plugins/Kodi Sync Queue_15.0.0.0/jellyfin-plugin-kodisyncqueue.png b/config/jellyfin/plugins/Kodi Sync Queue_15.0.0.0/jellyfin-plugin-kodisyncqueue.png new file mode 100644 index 00000000..10f2c604 Binary files /dev/null and b/config/jellyfin/plugins/Kodi Sync Queue_15.0.0.0/jellyfin-plugin-kodisyncqueue.png differ diff --git a/config/jellyfin/plugins/Kodi Sync Queue_15.0.0.0/meta.json b/config/jellyfin/plugins/Kodi Sync Queue_15.0.0.0/meta.json new file mode 100644 index 00000000..c24871d5 --- /dev/null +++ b/config/jellyfin/plugins/Kodi Sync Queue_15.0.0.0/meta.json @@ -0,0 +1,16 @@ +{ + "category": "General", + "changelog": "- Jellyfin 10.11 support (#111) @crobibero", + "description": "Companion plugin that provides dynamic stream files and shorter sync times while using Jellyfin for Kodi.", + "guid": "771e19d6-5385-4caf-b35c-28a0e865cf63", + "name": "Kodi Sync Queue", + "overview": "Sync all media changes with Kodi clients", + "owner": "jellyfin", + "targetAbi": "10.11.0.0", + "timestamp": "2025-10-20T01:27:17.0000000Z", + "version": "15.0.0.0", + "status": "Active", + "autoUpdate": true, + "imagePath": "/config/plugins/Kodi Sync Queue_15.0.0.0/jellyfin-plugin-kodisyncqueue.png", + "assemblies": [] +} \ No newline at end of file diff --git a/config/jellyfin/plugins/configurations/Jellyfin.Plugin.KodiSyncQueue.xml b/config/jellyfin/plugins/configurations/Jellyfin.Plugin.KodiSyncQueue.xml new file mode 100644 index 00000000..461d4967 --- /dev/null +++ b/config/jellyfin/plugins/configurations/Jellyfin.Plugin.KodiSyncQueue.xml @@ -0,0 +1,10 @@ + + + 0 + true + true + true + true + true + true + \ No newline at end of file diff --git a/config/jellyfin/plugins/configurations/Jellyfin.Webhooks.xml b/config/jellyfin/plugins/configurations/Jellyfin.Webhooks.xml index 36f04645..279bd7d6 100644 --- a/config/jellyfin/plugins/configurations/Jellyfin.Webhooks.xml +++ b/config/jellyfin/plugins/configurations/Jellyfin.Webhooks.xml @@ -3,7 +3,7 @@ cf002ee5427d4a60b16dd5d7c9fd14c9 - https://yamtrack.athaliapps.xyz/webhook/jellyfin/yWcgnaPGQkoZsafyuf_j5uAAo2bzUVic + http://192.168.14.245:8009/webhook/jellyfin/yWcgnaPGQkoZsafyuf_j5uAAo2bzUVic add7fcf835044c61b5da82ceb7d99b2b Default diff --git a/config/jellyfin/root/default/Movies/Movies.mblink b/config/jellyfin/root/default/Movies/Movies.mblink deleted file mode 100644 index b14a7d2c..00000000 --- a/config/jellyfin/root/default/Movies/Movies.mblink +++ /dev/null @@ -1 +0,0 @@ -/media/Movies \ No newline at end of file diff --git a/config/jellyfin/root/default/Movies/Movies1.mblink b/config/jellyfin/root/default/Movies/Movies1.mblink new file mode 100644 index 00000000..540bdf96 --- /dev/null +++ b/config/jellyfin/root/default/Movies/Movies1.mblink @@ -0,0 +1 @@ +/nasMerged/Movies \ No newline at end of file diff --git a/config/jellyfin/root/default/Movies/options.xml b/config/jellyfin/root/default/Movies/options.xml index b2196b81..5805a320 100644 --- a/config/jellyfin/root/default/Movies/options.xml +++ b/config/jellyfin/root/default/Movies/options.xml @@ -10,7 +10,7 @@ false - /media/Movies + /nasMerged/Movies false @@ -30,7 +30,7 @@ - + false false diff --git a/config/jellyfin/root/default/Shows/Series.mblink b/config/jellyfin/root/default/Shows/Series.mblink index 67167eba..0c61f2a3 100644 --- a/config/jellyfin/root/default/Shows/Series.mblink +++ b/config/jellyfin/root/default/Shows/Series.mblink @@ -1 +1 @@ -/media/Series \ No newline at end of file +/nasMerged/Series \ No newline at end of file diff --git a/config/jellyfin/root/default/Shows/options.xml b/config/jellyfin/root/default/Shows/options.xml index 0343e38a..6ce9c67a 100644 --- a/config/jellyfin/root/default/Shows/options.xml +++ b/config/jellyfin/root/default/Shows/options.xml @@ -10,7 +10,7 @@ false - /media/Series + /nasMerged/Series false @@ -30,7 +30,7 @@ - + false false diff --git a/config/jellyseer/db/db.sqlite3 b/config/jellyseer/db/db.sqlite3 index b3d08206..b2bee499 100644 Binary files a/config/jellyseer/db/db.sqlite3 and b/config/jellyseer/db/db.sqlite3 differ diff --git a/config/jellyseer/db/db.sqlite3-shm b/config/jellyseer/db/db.sqlite3-shm index 598dbe0a..aa75401b 100644 Binary files a/config/jellyseer/db/db.sqlite3-shm and b/config/jellyseer/db/db.sqlite3-shm differ diff --git a/config/jellyseer/db/db.sqlite3-wal b/config/jellyseer/db/db.sqlite3-wal index b67d9554..0a8d8e4d 100644 Binary files a/config/jellyseer/db/db.sqlite3-wal and b/config/jellyseer/db/db.sqlite3-wal differ diff --git a/config/joal/torrents/[pornolab.net].t1906931.torrent b/config/joal/torrents/[pornolab.net].t1906931.torrent new file mode 100644 index 00000000..401c557c Binary files /dev/null and b/config/joal/torrents/[pornolab.net].t1906931.torrent differ diff --git a/config/mylar/mylar/config.ini b/config/mylar/mylar/config.ini index 07ba2b24..cdf8c6f0 100644 --- a/config/mylar/mylar/config.ini +++ b/config/mylar/mylar/config.ini @@ -110,7 +110,7 @@ blocklist_timer = 3600 [Weekly] alt_pull = 2 -pull_refresh = 2025-12-11 16:48:00 +pull_refresh = 2025-12-28 20:53:00 weekfolder = False weekfolder_loc = None weekfolder_format = 0 diff --git a/config/prowlarr/Definitions/1ptbar.yml b/config/prowlarr/Definitions/1ptbar.yml index 9141ad99..032b2f63 100644 --- a/config/prowlarr/Definitions/1ptbar.yml +++ b/config/prowlarr/Definitions/1ptbar.yml @@ -198,12 +198,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-last-of-type(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-last-of-type(4) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-last-of-type(3) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-last-of-type(2) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 @@ -221,4 +229,4 @@ search: description: selector: td:nth-child(2) remove: a, b, font, img, span -# NexusPHP v1.9.9 2025-10-02 +# NexusPHP v1.9.13 2025-12-28 diff --git a/config/prowlarr/Definitions/3changtrai.yml b/config/prowlarr/Definitions/3changtrai.yml index 92f2442c..6c6b8496 100644 --- a/config/prowlarr/Definitions/3changtrai.yml +++ b/config/prowlarr/Definitions/3changtrai.yml @@ -143,12 +143,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 @@ -169,4 +177,4 @@ search: description: selector: td:nth-child(2) remove: a, b, font, img, span -# NexusPHP v1.9.9 2025-10-02 +# NexusPHP v2.2 2026-02-02 diff --git a/config/prowlarr/Definitions/52bt.yml b/config/prowlarr/Definitions/52bt.yml index ec78919f..6f00c155 100644 --- a/config/prowlarr/Definitions/52bt.yml +++ b/config/prowlarr/Definitions/52bt.yml @@ -8,11 +8,9 @@ encoding: UTF-8 requestDelay: 2 links: # Send any content to 52btbtbt@gmail.com to get the latest address. or visit https://52btbt.icu/ - - https://www.529070.xyz/ - - https://www.529071.xyz/ + - https://www.529072.xyz/ + - https://www.529073.xyz/ legacylinks: - - https://www.529055.xyz/ - - https://www.529057.xyz/ - https://www.529056.xyz/ - https://www.529058.xyz/ - https://www.52bt059.buzz/ @@ -27,6 +25,8 @@ legacylinks: - https://www.529068.xyz/ - https://www.529069.xyz/ - https://www.529067.xyz/ + - https://www.529070.xyz/ + - https://www.529071.xyz/ caps: categorymappings: diff --git a/config/prowlarr/Definitions/abtorrents.yml b/config/prowlarr/Definitions/abtorrents.yml index 5b0969c7..156e8ce8 100644 --- a/config/prowlarr/Definitions/abtorrents.yml +++ b/config/prowlarr/Definitions/abtorrents.yml @@ -131,9 +131,12 @@ search: selector: table.browse.table.striped > tbody > tr:has(a[href^="download.php?torrent="]) fields: # some users (rank specific?) have an extra column (td:nth-child(4)) with bookmark features - categorydesc: - selector: img[src^="./pic/caticons"] - attribute: alt + category: + selector: a[href^="browse.php?cat="] + attribute: href + filters: + - name: querystring + args: cat title: selector: a[href^="details.php?id="] remove: span.has-text-red @@ -143,6 +146,9 @@ search: download: selector: a[href^="download.php?torrent="] attribute: href + poster: + selector: img[src^="/img.php?"] + attribute: src files: selector: a[href^="filelist.php?id="] date_day: @@ -163,15 +169,15 @@ search: date: text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}" size: - selector: td:nth-last-child(4) div:first-child + selector: td:nth-last-child(4) div[title^="Size"] grabs: selector: a[href^="snatches.php?id="] seeders: - selector: a[title="Seeders"] + selector: a[title$="Seeders"] optional: true default: 0 leechers: - selector: a[title="Leechers"] + selector: a[title$="Leechers"] optional: true default: 0 downloadvolumefactor: diff --git a/config/prowlarr/Definitions/agsvpt.yml b/config/prowlarr/Definitions/agsvpt.yml index 82301989..717300f8 100644 --- a/config/prowlarr/Definitions/agsvpt.yml +++ b/config/prowlarr/Definitions/agsvpt.yml @@ -172,12 +172,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/aither-api.yml b/config/prowlarr/Definitions/aither-api.yml index 5914e580..6af509c5 100644 --- a/config/prowlarr/Definitions/aither-api.yml +++ b/config/prowlarr/Definitions/aither-api.yml @@ -20,6 +20,7 @@ caps: tv-search: [q, season, ep, imdbid, tvdbid, tmdbid] movie-search: [q, imdbid, tmdbid] book-search: [q] + allowtvsearchimdb: true settings: - name: apikey @@ -191,4 +192,4 @@ search: minimumseedtime: # 5 days (as seconds = 5 x 24 x 60 x 60) text: 432000 -# json UNIT3D 9.1.7 +# json UNIT3D 9.2.0 diff --git a/config/prowlarr/Definitions/alingpt.yml b/config/prowlarr/Definitions/alingpt.yml index 638a2674..bff8d231 100644 --- a/config/prowlarr/Definitions/alingpt.yml +++ b/config/prowlarr/Definitions/alingpt.yml @@ -139,12 +139,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: - selector: td.rowfollow.rowfollow:nth-child(6) + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/animelayer.yml b/config/prowlarr/Definitions/animelayer.yml index ed052ae0..563592f5 100644 --- a/config/prowlarr/Definitions/animelayer.yml +++ b/config/prowlarr/Definitions/animelayer.yml @@ -6,6 +6,8 @@ language: ru-RU type: semi-private encoding: UTF-8 links: + - https://animelayer.ru/ +legacylinks: - https://www.animelayer.ru/ caps: @@ -40,7 +42,7 @@ settings: dorama: Дорама login: - path: login.php + path: layer/login/ method: form form: form#loginForm inputs: diff --git a/config/prowlarr/Definitions/animenosekai.yml b/config/prowlarr/Definitions/animenosekai.yml new file mode 100644 index 00000000..156770c7 --- /dev/null +++ b/config/prowlarr/Definitions/animenosekai.yml @@ -0,0 +1,122 @@ +--- +id: animenosekai +name: Anime No Sekai +description: "Anime No Sekai (ANSK) is a BRAZILIAN Private Torrent Tracker for ANIME" +language: pt-BR +type: private +encoding: windows-1252 +links: + - https://www.ansktracker.com/ + +caps: + categorymappings: + - {id: 3, cat: Movies, desc: "Anime Movie"} + - {id: 2, cat: TV/Anime, desc: "Anime OVA"} + - {id: 1, cat: TV/Anime, desc: "Anime TV"} + - {id: 4, cat: TV, desc: "Doramas"} + - {id: 5, cat: Audio, desc: "MĂşsicas"} + - {id: 6, cat: Other, desc: "Outros"} + + modes: + search: [q] + tv-search: [q, season, ep] + movie-search: [q] + music-search: [q] + +settings: + - name: username + type: text + label: Username + - name: password + type: password + label: Password + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 5 + options: + 5: created + 1: seeders + 3: size + 6: title + +login: + path: takelogin.php + method: post + inputs: + username: "{{ .Config.username }}" + password: "{{ .Config.password }}" + logout: no + error: + - selector: table:contains("Aviso!") + test: + path: index.php + selector: a[href$="/logout.php"] + +download: + selectors: + - selector: a[href^="download.php/"] + attribute: href + +search: + paths: + - path: browse.php + inputs: + $raw: "{{ range .Categories }}c{{.}}=1&{{end}}" + search: "{{ .Keywords }}" + freeleech: "{{ if .Config.freeleech }}1{{else}}{{end}}" + order: "{{ .Config.sort }}" + + rows: + selector: tr#trTorrentRow + + fields: + categorydesc: + selector: td:nth-child(1) img + attribute: alt + title: + selector: a[href*="details.php?id="] + details: + selector: a[href*="details.php?id="] + attribute: href + download: + selector: a[href*="details.php?id="] + attribute: href + date: + selector: td:nth-child(6) + filters: + - name: dateparse + args: "dd/MM/yyyy" + size: + selector: td:nth-child(7) + files: + selector: td:nth-child(4) + grabs: + selector: td:nth-child(8) + seeders: + selector: td:nth-child(9) + leechers: + selector: td:nth-child(10) + downloadvolumefactor: + case: + font[color="green"]:contains("[FL]"): 0 + "*": 1 + uploadvolumefactor_custom: + selector: font[color="red"]:contains("[x") + optional: true + filters: + - name: replace + args: ["x[", ""] + - name: replace + args: ["]", ""] + uploadvolumefactor: + case: + font[color="red"]:contains("[x"): "{{ .Result.uploadvolumefactor_custom }}" + "*": 1 + minimumratio: + text: 0.25 +# engine n/a diff --git a/config/prowlarr/Definitions/animeworld-api.yml b/config/prowlarr/Definitions/animeworld-api.yml index 1ca6e5e9..d0cc68c5 100644 --- a/config/prowlarr/Definitions/animeworld-api.yml +++ b/config/prowlarr/Definitions/animeworld-api.yml @@ -28,8 +28,8 @@ caps: modes: search: [q] - tv-search: [q, season, ep, tvdbid, tmdbid] - movie-search: [q, tmdbid] + tv-search: [q, season, ep, imdbid, tvdbid, tmdbid] + movie-search: [q, imdbid, tmdbid] music-search: [q] book-search: [q] @@ -45,6 +45,10 @@ settings: type: checkbox label: Search freeleech only default: false + - name: tmdbidonly + type: checkbox + label: Disable IMDB and TVDB ID search (only support TMDB ID) to potentially improve Sonarr and Radarr results + default: false - name: single_file_release_use_filename type: checkbox label: Use filename as title for single file releases @@ -95,11 +99,11 @@ search: # if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6 $raw: "{{ range .Categories }}&categories[]={{.}}{{end}}" name: "{{ .Keywords }}" - # seasonNumber: "{{ .Query.Season }}" # disabled due to Prowlarr/Indexers#486 - # episodeNumber: "{{ .Query.Ep }}" # disabled due to Prowlarr/Indexers#486 - # imdbId: "{{ .Query.IMDBIDShort }}" # disabled due to #14776 + # seasonNumber: "{{ .Query.Season }}" # not supported + # episodeNumber: "{{ .Query.Ep }}" # not supported + imdbId: "{{ if .Config.tmdbidonly }}{{ else }}{{ .Query.IMDBIDShort }}{{ end }}" tmdbId: "{{ .Query.TMDBID }}" - tvdbId: "{{ .Query.TVDBID }}" + tvdbId: "{{ if .Config.tmdbidonly }}{{ else }}{{ .Query.TVDBID }}{{ end }}" "free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}" sortField: "{{ .Config.sort }}" sortDirection: "{{ .Config.type }}" @@ -152,8 +156,8 @@ search: _internal: selector: internal case: - False: "{{ .False }}" - True: "{{ .True }}" + 0: "{{ .False }}" + 1: "{{ .True }}" description: text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}" seeders: diff --git a/config/prowlarr/Definitions/anthelion-api.yml b/config/prowlarr/Definitions/anthelion-api.yml index 78e86900..616d605f 100644 --- a/config/prowlarr/Definitions/anthelion-api.yml +++ b/config/prowlarr/Definitions/anthelion-api.yml @@ -84,6 +84,8 @@ search: filters: - name: split args: [",", -1] + - name: re_replace + args: ["1\\d{5}", "2000"] year: selector: year optional: true diff --git a/config/prowlarr/Definitions/arabicsource-api.yml b/config/prowlarr/Definitions/arabicsource-api.yml new file mode 100644 index 00000000..a97d0516 --- /dev/null +++ b/config/prowlarr/Definitions/arabicsource-api.yml @@ -0,0 +1,202 @@ +--- +id: arabicsource-api +name: ArabicSource (API) +description: "ArabicSource is an ARABIC Private Torrent Tracker for MOVIES / TV" +language: ar-SA +type: private +encoding: UTF-8 +links: + - https://arabicsource.net/ + +caps: + categorymappings: + - {id: 1, cat: Movies, desc: "ŘŁŮلام رسŮŮ… مدبلجة (Dubbed Animated Films)"} + - {id: 2, cat: Movies, desc: "ŘŁŮلام الرسŮŮ… المدبلجة (Subtitled Animated Films)"} + - {id: 3, cat: Movies, desc: "الأŮلام العربية (Arabic Films)"} + - {id: 4, cat: Movies, desc: "ŘŁŮلام أجنبية (Foreign Films)"} + - {id: 5, cat: TV, desc: "مسلسلات رسŮŮ… مدبلجة (Dubbed Animated Series)"} + - {id: 6, cat: TV, desc: "مسلسلات رسŮŮ… مترجمة (Subtitled Animated Series)"} + - {id: 7, cat: TV, desc: "مسلسلات عربية (Arabic Series)"} + - {id: 8, cat: TV, desc: "مسرحيات (Plays)"} + - {id: 10, cat: Other, desc: "إسلاميات (Islamic Content)"} + - {id: 11, cat: Other, desc: "رمضانيات (Ramadan Content)"} + - {id: 12, cat: Other, desc: "منŮعات (Variety)"} + - {id: 13, cat: Audio, desc: "صŮتيات (Audio)"} + - {id: 14, cat: Movies, desc: "ŮرتŮن Ůلاسي٠(Classic Cartoons)"} + - {id: 15, cat: Other, desc: "ŘŞŮرنت خام (Raw Torrents)"} + - {id: 20, cat: TV/Documentary, desc: "مسلسلات Ůثائقيات (Documentary Series)"} + - {id: 9, cat: Movies, desc: "ŘŁŮلام Ůثائقيات (Documentary Films)"} + - {id: 19, cat: Other, desc: "ŘŞŮرينتات ضائعة (Lost Torrents)"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid, tvdbid, tmdbid] + movie-search: [q, imdbid, tmdbid] + music-search: [q] + +settings: + - name: apikey + type: text + label: APIKey + - name: info_key + type: info + label: About your API key + default: "Find or Generate a new API Token by accessing your ArabicSource account My Settings page and clicking on the API Key tab." + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: single_file_release_use_filename + type: checkbox + label: Use filename as title for single file releases + default: true + - name: sort + type: select + label: Sort requested from site + default: created_at + options: + created_at: created + seeders: seeders + size: size + name: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_activity + type: info + label: Account Inactivity + default: "The maximum number of days you can stay away from the site is 40 days, and only if you suspend the account, you will get a grace period of 180 days, but you must contact the administration in advance so that this is added to your personal account and you are not exposed to expulsion." + +login: + path: /api/torrents + method: get + error: + - selector: a[href*="/login"] + message: + text: "The API key was not accepted by {{ .Config.sitelink }}." + - selector: :root:contains("Account is Banned") + +search: + paths: + # https://hdinnovations.github.io/UNIT3D/torrent_api.html + # https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657 + - path: api/torrents/filter + response: + type: json + + headers: + Authorization: ["Bearer {{ .Config.apikey }}"] + + inputs: + # if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6 + $raw: "{{ range .Categories }}&categories[]={{.}}{{end}}" + name: "{{ .Keywords }}" + seasonNumber: "{{ .Query.Season }}" + episodeNumber: "{{ .Query.Ep }}" + imdbId: "{{ .Query.IMDBIDShort }}" + tmdbId: "{{ .Query.TMDBID }}" + tvdbId: "{{ .Query.TVDBID }}" + "free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}" + sortField: "{{ .Config.sort }}" + sortDirection: "{{ .Config.type }}" + perPage: 100 + + keywordsfilters: + - name: re_replace + args: ["\\.", " "] + + rows: + selector: data + attribute: attributes + + fields: + category: + selector: category_id + title_optional: + selector: name + title_filename: + selector: "files[0].name" + optional: true + files: + selector: num_file + title: + text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}" + details: + selector: details_link + download: + selector: download_link + poster: + selector: meta.poster + filters: + - name: replace + args: ["https://via.placeholder.com/90x135", ""] + imdbid: + selector: imdb_id + tmdbid: + selector: tmdb_id + tvdbid: + selector: tvdb_id + genre: + selector: meta.genres + filters: + - name: re_replace + args: ["(?i)(Science Fiction)", "Science_Fiction"] + - name: re_replace + args: ["(?i)(TV Movie)", "TV_Movie"] + - name: replace + args: [" & ", "_&_"] + _internal: + selector: internal + case: + False: "{{ .False }}" + True: "{{ .True }}" + description: + text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}" + seeders: + selector: seeders + leechers: + selector: leechers + grabs: + selector: times_completed + date: + # "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50 + selector: created_at + filters: + - name: append + args: " +00:00" # GMT + - name: dateparse + args: "MM/dd/yyyy HH:mm:ss zzz" + size: + selector: size + _featured: + selector: featured + case: + False: "{{ .False }}" + True: "{{ .True }}" + downloadvolumefactor_freeleech: + # api returns 0%, 25%, 50%, 75%, 100% + selector: freeleech + case: + 0%: 1 # not free + 25%: 0.75 + 50%: 0.5 + 75%: 0.25 + 100%: 0 # freeleech + "*": 0 # catch errors + downloadvolumefactor: + text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}" + uploadvolumefactor_double_upload: + # api returns False, True + selector: double_upload + case: + False: 1 # normal + True: 2 # double + uploadvolumefactor: + text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}" + minimumratio: + text: 1.05 +# json UNIT3D 9.2.0 diff --git a/config/prowlarr/Definitions/arabp2p.yml b/config/prowlarr/Definitions/arabp2p.yml index 36c1aeb7..11d327a9 100644 --- a/config/prowlarr/Definitions/arabp2p.yml +++ b/config/prowlarr/Definitions/arabp2p.yml @@ -42,6 +42,7 @@ settings: caps: categorymappings: # المرئيات العربية Arabic Movies + - {id: 117, cat: TV, desc: "ارمضان 2026 (Ramadan)"} - {id: 14, cat: Movies, desc: "اسلامي (Islamic)"} - {id: 19, cat: TV/Documentary, desc: "Ůثائقي (Documentary)"} - {id: 70, cat: TV, desc: "تعليمي (Educational)"} @@ -124,6 +125,20 @@ search: order: "{{ .Config.sort }}" by: "{{ .Config.type }}" # does not support imdbid search or provide imdb link in results + keywordsfilters: + # Keep SxxEyy format for tv-search (Sonarr/Radarr). ArabP2P search does not reliably match + # when we convert to the Arabic bracket format unless the Arabic title is also present. + - name: re_replace # normalize "1x09" => "S1E09" (then pad below) + args: ["(?i)\\b(\\d{1,2})x(\\d{1,3})\\b", "S$1E$2"] + - name: re_replace # normalize "S01 E09" => "S01E09" + args: ["(?i)\\bS(\\d{1,2})\\s+E(\\d{1,3})\\b", "S$1E$2"] + - name: re_replace # pad season: S1E09 => S01E09 + args: ["(?i)\\bS(\\d)(?=E)", "S0$1"] + - name: re_replace # pad episode: S01E9 => S01E09 + args: ["(?i)E(\\d)\\b", "E0$1"] + - name: re_replace + args: ["\\s{2,}", " "] + - name: trim rows: selector: table#torrents_list_p > tbody > tr:has(a[href^="download.php?id="]), table#torrents_list_p > tbody > tr:has(a[href^="magnet:?xt="]) @@ -139,6 +154,28 @@ search: args: category title: selector: a[href^="index.php?page=torrent-details"] + filters: + - name: re_replace + args: ["(?<=\\d)\\s+(?=\\d)", " "] + - name: re_replace + args: ["\\[(\\d+(?:[\\s-]+\\d+)*)\\]\\s*\\[(\\d{4})\\]\\s*\\[Ů…(\\d+)\\]", "S$3E$1 [$2]"] + - name: re_replace + args: ["\\[(\\d+(?:[\\s-]+\\d+)*)\\]\\s*\\[Ů…(\\d+)\\]", "S$2E$1"] + - name: re_replace + args: ["^\\[(\\d+(?:[\\s-]+\\d+)*)\\](?!\\s*\\[Ů…)", "S01E$1"] + - name: re_replace + args: ["E(\\d+)[\\s-]+(\\d+)", "E$1-E$2"] + - name: re_replace + args: ["\\[\\s*\\]", ""] + - name: re_replace + args: ["(?<=\\S)(\\[)", " $1"] + - name: re_replace + args: ["S(\\d)(?=E)", "S0$1"] + - name: re_replace + args: ["E(\\d)(?=\\D)", "E0$1"] + - name: re_replace + args: ["\\s{2,}", " "] + - name: trim details: selector: a[href^="index.php?page=torrent-details"] attribute: href diff --git a/config/prowlarr/Definitions/arabscene.yml b/config/prowlarr/Definitions/arabscene.yml new file mode 100644 index 00000000..94e82a35 --- /dev/null +++ b/config/prowlarr/Definitions/arabscene.yml @@ -0,0 +1,220 @@ +--- +id: arabscene +name: ArabScene +description: "ArabScene is an ARABIC Private Torrent Tracker for MOVIES / TV / GENERAL" +language: ar-AE +type: private +encoding: UTF-8 +links: + - https://arabscene.me/ + +caps: + categorymappings: + - {id: 103, cat: Other, desc: "منŮعات"} + - {id: 105, cat: Other, desc: " |-- مسرحيات"} + - {id: 104, cat: TV/Other, desc: " |-- اسلاميات "} + - {id: 120, cat: TV/Other, desc: " |-- ŘŞŮ٠شــŮ"} + - {id: 106, cat: PC/0day, desc: " |-- ŘŻŮرات تعليمية "} + - {id: 117, cat: TV/Foreign, desc: "مسلسلات مترجمة "} + - {id: 122, cat: TV/Foreign, desc: " |-- beIN "} + - {id: 123, cat: TV/Foreign, desc: " |-- OSN"} + - {id: 128, cat: TV/Foreign, desc: " |-- اجنبى"} + - {id: 160, cat: TV/Foreign, desc: " |-- ترŮى"} + - {id: 174, cat: TV/Foreign, desc: " |-- حلقات منŮردة"} + - {id: 133, cat: TV/Foreign, desc: "مسلسلات مدبلجة"} + - {id: 136, cat: TV/Foreign, desc: " |-- هندى"} + - {id: 140, cat: TV/Foreign, desc: " |-- اجنبى"} + - {id: 173, cat: TV/Foreign, desc: " |-- ترŮى"} + - {id: 175, cat: TV/Foreign, desc: " |-- حلقات منŮردة"} + - {id: 56, cat: TV, desc: "VIP"} + - {id: 81, cat: TV, desc: " |-- Full-Pack"} + - {id: 53, cat: TV/Foreign, desc: " |-- مسلسلات مدبلجة "} + - {id: 55, cat: TV, desc: " |-- مسلسلات عربية "} + - {id: 57, cat: Movies, desc: " |-- اŮلام عربية "} + - {id: 54, cat: TV/Anime, desc: " |-- الŮرتŮن Ůالانمى "} + - {id: 58, cat: TV/WEB-DL, desc: "Web-DL"} + - {id: 65, cat: Movies/WEB-DL, desc: " |-- Arabic Movies"} + - {id: 66, cat: TV/WEB-DL, desc: " |-- Arabic Series"} + - {id: 67, cat: TV/WEB-DL, desc: " |-- Dubbed Series"} + - {id: 73, cat: TV/WEB-DL, desc: " |-- Full-Pack "} + - {id: 113, cat: Movies/Foreign, desc: "اŮلام مترجمة "} + - {id: 121, cat: Movies/Foreign, desc: " |-- beIN"} + - {id: 125, cat: Movies/Foreign, desc: " |-- OSN"} + - {id: 115, cat: Movies/Foreign, desc: " |-- هندى "} + - {id: 114, cat: Movies/Foreign, desc: " |-- اجنبى"} + - {id: 161, cat: Movies/Foreign, desc: " |-- ترŮى"} + - {id: 143, cat: Movies/Foreign, desc: "اŮلام مدبلجة"} + - {id: 149, cat: Movies/Foreign, desc: " |-- beIN"} + - {id: 148, cat: Movies/Foreign, desc: " |-- OSN"} + - {id: 145, cat: Movies/Foreign, desc: " |-- هندى"} + - {id: 146, cat: Movies/Foreign, desc: " |-- اجنبى"} + - {id: 144, cat: Movies/Foreign, desc: " |-- ترŮى"} + - {id: 109, cat: Audio, desc: "المŮسيقى العربية "} + - {id: 110, cat: Audio/Lossless, desc: " |-- FLAC"} + - {id: 111, cat: Audio/MP3, desc: " |-- Mp3"} + - {id: 112, cat: Audio, desc: " |-- Ůليبات"} + - {id: 99, cat: TV, desc: "المسلسلات العربية"} + - {id: 100, cat: TV, desc: " |-- مصرية"} + - {id: 139, cat: TV, desc: " |-- مغربية"} + - {id: 138, cat: TV, desc: " |-- ŘŞŮنسية"} + - {id: 172, cat: TV, desc: " |-- حلقات منŮردة"} + - {id: 101, cat: TV, desc: " |-- خليجية"} + - {id: 102, cat: TV, desc: " |-- ŘłŮرية"} + - {id: 84, cat: TV/Documentary, desc: "الŮثائقيات "} + - {id: 85, cat: TV/Documentary, desc: " |-- مترجمة"} + - {id: 87, cat: TV/Documentary, desc: " |-- عربية "} + - {id: 89, cat: Movies, desc: "الاŮلام العربية"} + - {id: 95, cat: Movies, desc: " |-- 2000s"} + - {id: 137, cat: Movies, desc: " |-- 2010s"} + - {id: 49, cat: Movies, desc: " |-- 2020s"} + - {id: 98, cat: Movies, desc: " |-- 40s"} + - {id: 90, cat: Movies, desc: " |-- 50s"} + - {id: 91, cat: Movies, desc: " |-- 60s"} + - {id: 92, cat: Movies, desc: " |-- 70s"} + - {id: 93, cat: Movies, desc: " |-- 80s"} + - {id: 94, cat: Movies, desc: " |-- 90s"} + - {id: 4, cat: Movies/Other, desc: "الرسŮŮ… المتحرŮŘ©"} + - {id: 5, cat: Movies/Other, desc: " |-- مترجم"} + - {id: 6, cat: Movies/Other, desc: " |-- مدبلج"} + + modes: + search: [q] + tv-search: [q, season, ep] + movie-search: [q] + music-search: [q] + +settings: + - name: username + type: text + label: Username + - name: password + type: password + label: Password + - name: sort + type: select + label: Sort requested from site + default: added + options: + added: created + seeders: seeders + size: size + name: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_activity + type: info + label: Account Inactivity + default: "All inactive accounts will be deleted after 60 days of inactivity." + +login: + path: takelogin.php + method: post + inputs: + username: "{{ .Config.username }}" + password: "{{ .Config.password }}" + error: + - selector: table:has(td.thead:contains("error")) + test: + path: index.php + selector: a[href*="logout.php"] + +download: + before: + path: takethanks.php + method: post + inputs: + torrentid: "{{ .DownloadUri.Query.id }}" + +search: + paths: + - path: browse.php + + inputs: + do: search + keywords: "{{ .Keywords }}" + # t_name, t_description, t_both, t_uploader, t_genre + search_type: t_both + # does not support multi category searching so defaulting to all. + category: 0 + include_dead_torrents: yes + sort: "{{ .Config.sort }}" + order: "{{ .Config.type }}" + + rows: + selector: table#sortabletable > tbody > tr:has(span > a[href*="details.php?id="]) + + fields: + category: + selector: a[href*="?category="] + attribute: href + filters: + - name: querystring + args: category + title: + selector: a[href*="/details.php?id="] + filters: + - name: re_replace + args: ["(?<=\\d)\\s+(?=\\d)", " "] + - name: re_replace + args: ["\\[(\\d+(?:[\\s-]+\\d+)*)\\]\\s*\\[(\\d{4})\\]\\s*\\[Ů…(\\d+)\\]", "S$3E$1 [$2]"] + - name: re_replace + args: ["\\[(\\d+(?:[\\s-]+\\d+)*)\\]\\s*\\[Ů…(\\d+)\\]", "S$2E$1"] + - name: re_replace + args: ["^\\[(\\d+(?:[\\s-]+\\d+)*)\\](?!\\s*\\[Ů…)", "S01E$1"] + - name: re_replace + args: ["E(\\d+)[\\s-]+(\\d+)", "E$1-E$2"] + - name: re_replace + args: ["\\[\\s*\\]", ""] + - name: re_replace + args: ["(?<=\\S)(\\[)", " $1"] + - name: re_replace + args: ["S(\\d)(?=E)", "S0$1"] + - name: re_replace + args: ["E(\\d)(?=\\D)", "E0$1"] + - name: re_replace + args: ["\\s{2,}", " "] + - name: trim + details: + selector: a[href*="/details.php?id="] + attribute: href + download: + selector: a[href*="/download.php?id="] + attribute: href + date: + selector: td:nth-child(2) > div:nth-child(3) + filters: + - name: regexp + args: "(\\d{2}-\\d{2}-\\d{4} \\d{2}:\\d{2})" + - name: dateparse + args: "dd-MM-yyyy HH:mm" + size: + selector: td:nth-child(5) + grabs: + selector: td:nth-child(6) + seeders: + selector: td:nth-child(7) + leechers: + selector: td:nth-child(8) + poster: + selector: div.tooltip-content > img[src*="/torrents/"] + attribute: src + downloadvolumefactor: + case: + img[src$="torrent_flags/freedownload.gif"]: 0 + img[src$="torrent_flags/silverdownload.gif"]: 0.5 + "*": 1 + uploadvolumefactor: + case: + img[src$="torrent_flags/x2.gif"]: 2 + "*": 1 + minimumratio: + text: 1.0 + minimumseedtime: + # 3 days (as seconds = 3 x 24 x 60 x 60) + text: 259200 +# TS Special Edition v.7.5 diff --git a/config/prowlarr/Definitions/arabtorrents-com.yml b/config/prowlarr/Definitions/arabtorrents-com.yml new file mode 100644 index 00000000..e05db26a --- /dev/null +++ b/config/prowlarr/Definitions/arabtorrents-com.yml @@ -0,0 +1,136 @@ +--- +id: arabtorrents-com +name: arab-torrents.com +description: "arab-torrents.com is an ARABIC Public Torrent Tracker for MOVIES / TV / GENERAL" +language: ar-AE +type: public +encoding: UTF-8 +requestDelay: 2 +links: + - https://arab-torrents.com/ + +caps: + categorymappings: + # categories containing '»' have a double space in search results + - {id: 14, cat: Other, desc: "اسلامي"} + - {id: 17, cat: Books, desc: "Ůتب"} + - {id: 19, cat: TV/Documentary, desc: "المرئيات العربية » Ůثائقي"} + - {id: 22, cat: PC, desc: "برامج عربية"} + - {id: 23, cat: PC, desc: "برامج عامه"} + - {id: 25, cat: Other, desc: "القران الŮريم"} + - {id: 26, cat: Audio, desc: "اناشيد"} + - {id: 27, cat: Other, desc: "محاضرات"} + - {id: 41, cat: Movies, desc: "اŮلام عربيه"} + - {id: 44, cat: TV, desc: "مسلسلات عربية"} + - {id: 46, cat: Audio, desc: "منŮŘą"} + - {id: 52, cat: Movies/Other, desc: "مسرحيات"} + - {id: 56, cat: TV/Sport, desc: "رياضي"} + - {id: 57, cat: TV/Foreign, desc: "مسلسلات آسيŮŮŠŘ©"} + - {id: 59, cat: Movies/Foreign, desc: "اŮلام آسيŮŮŠŘ©"} + - {id: 65, cat: Other, desc: "صŮر"} + - {id: 70, cat: Other, desc: "المرئيات العربية » تعليمي"} + - {id: 71, cat: TV/Foreign, desc: "مسلسلات مدبلجه عربي"} + - {id: 86, cat: Movies/Foreign, desc: "اŮلام هنديه"} + - {id: 88, cat: Movies/Foreign, desc: "اŮلام مدبلجه عربي"} + - {id: 89, cat: TV, desc: "مسلسلات عربية Ůامله"} + - {id: 90, cat: TV, desc: "برامج Ůمسابقات"} + - {id: 92, cat: Other, desc: "المرئيات الاجنبية » تعليمي"} + - {id: 93, cat: TV/Documentary, desc: "المرئيات الاجنبية » Ůثائقي"} + - {id: 98, cat: Movies/Other, desc: "انمي مدبلج عربي » اŮلام"} + - {id: 99, cat: Movies/Other, desc: "انمي مترجم عربي » اŮلام"} + - {id: 100, cat: TV/Anime, desc: "انمي مدبلج عربي » مسلسلات"} + - {id: 101, cat: TV/Anime, desc: "انمي مترجم عربي » مسلسلات"} + - {id: 102, cat: TV/Anime, desc: "انمي مدبلج عربي » حلقات"} + - {id: 103, cat: TV/Anime, desc: "انمي مترجم عربي » حلقات"} + - {id: 113, cat: TV/Foreign, desc: "مسلسلات لاتينية مترجم.مدبلج"} + - {id: 114, cat: Movies/Foreign, desc: "اŮلام لاتينية مترجم.مدبلج"} + - {id: 115, cat: TV/Foreign, desc: "مسلسلات ترŮŮŠŘ© مترجم.مدبلج"} + - {id: 116, cat: Movies/Foreign, desc: "اŮلام ترŮŮŠŘ© مترجم.مدبلج"} + - {id: 117, cat: TV, desc: "رمضان 2025"} + # categories not listed + - {id: missing1, cat: TV/Other, desc: "الŮارتŮن الصامت ŮالŮلاسيŮŮŠ"} + + modes: + search: [q] + tv-search: [q, season, ep] + movie-search: [q] + music-search: [q] + book-search: [q] + +settings: [] + +search: + paths: + - path: index.php + - path: index.php + inputs: + p: 2 + + inputs: + page: torrents + search: "{{ .Keywords }}" + # does not support multi-category search + + keywordsfilters: + - name: re_replace + args: ["^.{1,2}$", ""] + + rows: + selector: table#torrents > tbody > tr + + fields: + categorydesc: + selector: div.fcat + title: + selector: a[href^="/index.php?page=torrents&tid="] img + attribute: alt + filters: + - name: re_replace + args: ["(?<=\\d)\\s+(?=\\d)", " "] + - name: re_replace + args: ["\\[(\\d+(?:[\\s-]+\\d+)*)\\]\\s*\\[(\\d{4})\\]\\s*\\[Ů…(\\d+)\\]", "S$3E$1 [$2]"] + - name: re_replace + args: ["\\[(\\d+(?:[\\s-]+\\d+)*)\\]\\s*\\[Ů…(\\d+)\\]", "S$2E$1"] + - name: re_replace + args: ["^\\[(\\d+(?:[\\s-]+\\d+)*)\\](?!\\s*\\[Ů…)", "S01E$1"] + - name: re_replace + args: ["E(\\d+)[\\s-]+(\\d+)", "E$1-E$2"] + - name: re_replace + args: ["\\[\\s*\\]", ""] + - name: re_replace + args: ["(?<=\\S)(\\[)", " $1"] + - name: re_replace + args: ["S(\\d)(?=E)", "S0$1"] + - name: re_replace + args: ["E(\\d)(?=\\D)", "E0$1"] + - name: re_replace + args: ["\\s{2,}", " "] + - name: trim + details: + selector: a[href^="/index.php?page=torrents&tid="] + attribute: href + magnet: + selector: a[href^="magnet:?xt="] + attribute: href + poster: + selector: a:has(img.posterIcon) + attribute: href + tmdbid: + selector: a[href*="themoviedb.org/movie/"], a[href*="themoviedb.org/tv/"] + attribute: href + date: + text: now + size: + selector: div.fsize + seeders: + text: 1 + leechers: + text: 1 + downloadvolumefactor: + text: 0 + uploadvolumefactor: + text: 1 + description: + selector: td + remove: a[href^="magnet:?xt="], div +# engine n/a diff --git a/config/prowlarr/Definitions/arenabg.yml b/config/prowlarr/Definitions/arenabg.yml index c72bf05a..e17cfcd3 100644 --- a/config/prowlarr/Definitions/arenabg.yml +++ b/config/prowlarr/Definitions/arenabg.yml @@ -5,8 +5,6 @@ description: "ArenaBG is a BULGARIAN Semi-Private Torrent Tracker for 0DAY / GEN language: bg-BG type: semi-private encoding: UTF-8 -certificates: - - c25aba843f815e92d0da0bbe3191326d16a81a32 # expired 15th Oct 2025 links: - https://arenabg.com/ legacylinks: diff --git a/config/prowlarr/Definitions/asiancinema.yml b/config/prowlarr/Definitions/asiancinema.yml index af50ec04..5372caec 100644 --- a/config/prowlarr/Definitions/asiancinema.yml +++ b/config/prowlarr/Definitions/asiancinema.yml @@ -23,16 +23,21 @@ caps: music-search: [q] settings: - - name: username + - name: apikey type: text - label: Username - - name: password - type: password - label: Password + label: APIKey + - name: info_key + type: info + label: About your API key + default: "Find or Generate a new API Token by accessing your AsianCinema account My Settings page and clicking on the API Key tab." - name: freeleech type: checkbox label: Search freeleech only default: false + - name: single_file_release_use_filename + type: checkbox + label: Use filename as title for single file releases + default: true - name: sort type: select label: Sort requested from site @@ -55,140 +60,135 @@ settings: default: "Your account will be automatically deleted from the database after 90 days of inactivity. If you return or visit the site with your account before that amount of time passes, then the inactivity timer will reset and your account will be fine for another 90 days.
Keep in mind that 'activity' is considered a visit to any page and that torrent traffic is not counted as account activity. In order to reset the inactivity timer all you have to do is visit a single page while logged in with your account. If your account is deleted for inactivity, please do not ask the site staff to un-delete it for you. The deletion is performed automatically by the server and, as such, your account cannot be recovered after it has been deleted." login: - # note APIKEY is broken on this 5.3.0 site - path: login - method: form - form: form[action$="/login"] - inputs: - username: "{{ .Config.username }}" - password: "{{ .Config.password }}" - remember: on - selectorinputs: - _token: - selector: input[name="_token"] - attribute: value + path: /api/torrents + method: get error: - - selector: div#ERROR_COPY -# test: -# path: / -# selector: a[href$="/logout"] + - selector: a[href*="/login"] + message: + text: "The API key was not accepted by {{ .Config.sitelink }}." + - selector: :root:contains("Account is Banned") search: paths: - - path: torrents/filter + # https://hdinnovations.github.io/UNIT3D/torrent_api.html + # https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657 + - path: api/torrents/filter + response: + type: json + + headers: + Authorization: ["Bearer {{ .Config.apikey }}"] + inputs: - $raw: "{{ range .Categories }}categories[]={{.}}&{{end}}" - search: "{{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search - imdb: "{{ .Query.IMDBIDShort }}" - tvdb: "{{ .Query.TVDBID }}" - tmdb: "{{ .Query.TMDBID }}" - sorting: "{{ .Config.sort }}" - direction: "{{ .Config.type }}" - qty: 100 - freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}" - # can support genre search but you need to know the id. &genre[]=10759 for Action & Adventure - # does not have genre in results, they are on the details page. + # if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6 + $raw: "{{ range .Categories }}&categories[]={{.}}{{end}}" + name: "{{ .Keywords }}" + seasonNumber: "{{ .Query.Season }}" + episodeNumber: "{{ .Query.Ep }}" + imdbId: "{{ .Query.IMDBIDShort }}" + tmdbId: "{{ .Query.TMDBID }}" + tvdbId: "{{ .Query.TVDBID }}" + "free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}" + sortField: "{{ .Config.sort }}" + sortDirection: "{{ .Config.type }}" + perPage: 100 + + keywordsfilters: + - name: re_replace + args: ["\\.", " "] rows: - selector: table > tbody > tr + selector: data + attribute: attributes fields: category: - selector: a[href*="/categories/"] - attribute: href - filters: - - name: regexp - args: "/categories/(\\d+)" + selector: category_id + title_optional: + selector: name + title_filename: + selector: "files[0].name" + optional: true + files: + selector: num_file title: - selector: a.view-torrent - download: - selector: a[href*="/download/"] - attribute: href + text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}" details: - selector: a.view-torrent - attribute: href + selector: details_link + download: + selector: download_link poster: - selector: div.torrent-poster img - attribute: src + selector: meta.poster filters: - - name: prepend - args: "https://images.weserv.nl/?url=" # for display on dashboard - - name: append - args: "&w=180&h=270" # for display on dashboard - name: replace - args: ["https://images.weserv.nl/?url=https://via.placeholder.com/600x900&w=180&h=270", ""] - size: - selector: td:nth-last-child(4) - seeders: - selector: td:nth-last-child(3) - leechers: - selector: td:nth-last-child(2) - grabs: - selector: td:nth-last-child(1) + args: ["https://via.placeholder.com/90x135", ""] imdbid: - selector: a[href*="imdb.com/title/tt"] - attribute: href + selector: imdb_id tmdbid: - selector: a[href*="themoviedb.org/movie/"], a[href*="themoviedb.org/tv/"] - attribute: href - date: - selector: time + selector: tmdb_id + tvdbid: + selector: tvdb_id + genre: + selector: meta.genres filters: - # translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portuguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch|Chinese|Japanese|Swedish - name: re_replace - args: ["(?i)(önce|tagasi|geleden|fa|temu|siden|há|atrás|nazpÄ›t|назад|acum|Ă®n urmÄ|hace|il y a|vor|преди|前|sedan)", " ago"] + args: ["(?i)(Science Fiction)", "Science_Fiction"] - name: re_replace - args: ["(?i)(saniye|sekundit|sekunder|secondi|sekund|segundos|sekundami|ŃекŃнд|secunde|secondes|Sekunden|ŃекŃнди|seconden|秒前)", "seconds"] - - name: re_replace - args: ["(?i)(minutit|minutter|minuti|minuty|minutos|минŃты|минŃŃ‚|Minuten|минŃти|minuten|minuter)", "minutes"] - - name: re_replace - args: ["(?i)(dakika|minut|minuto|minuta|minutt|минŃта|Minute|minuut|ĺ†é’ź|ĺ†)", " minute"] - - name: re_replace - args: ["(?i)(tundi|timer|ore|godziny|horas|hodiny|hoden|чаŃа|чаŃов|ore|heures|Stunden|timmar)", "hours"] - - name: re_replace - args: ["(?i)(saat|tund|time|ora|godzina|hora|hodina|чаŃ|orÄ|heure|Stunde|uur|ĺ°Źć—¶|時間|timme)", " hour"] - - name: re_replace - args: ["(?i)(päeva|dage|giorni|dni|dias|dny|дня|дней|zile|dĂ­as|jours|Tagen|дни|dagen|dagar)", "days"] - - name: re_replace - args: ["(?i)(gĂĽn|päev|dag|giorno|dzieĹ„|dia|den|день|zi|dĂ­a|jour|Tag|ден|天|ć—Ą)", " day"] - - name: re_replace - args: ["(?i)(nädalat|uger|settimane|tygodnie|uker|semanas|tĂ˝dny|недели|недель|sÄptÄmâni|semaines|Wochen|Ńедмици|weken|veckor)", "weeks"] - - name: re_replace - args: ["(?i)(hafta|nädal|uge|settimana|tydzieĹ„|uke|semana|tĂ˝den|неделю|sÄptÄmânÄ|semaine|Woche|Ńедмица|周|週間|vecka)", " week"] - - name: re_replace - args: ["(?i) (ay)", "month"] - - name: re_replace - args: ["(?i)(kuud|mĂĄneder|mesi|miesiÄ…ce|meses|mÄ›sĂ­ce|меŃяца|меŃяцев|luni|meses|mois|Monaten|меŃеца|maanden|mĂĄnader)", "months"] - - name: re_replace - args: ["(?i)(kuu|mĂĄned|mese|miesiÄ…c|mĂŞs|mÄ›sĂ­c|меŃяц|lunÄ|mes|Monat|меŃец|maand|个ćś|ă¶ćś|mĂĄnad)", " month"] - - name: re_replace - args: ["(?i)(aastat|anni|lata|anos|roky|года|ani|años|ans|Jahren|години)", " years"] - - name: re_replace - args: ["(?i)(yil|aasta|ĂĄr|anno|rok|ano|год|año|Jahr|година|jaar|ĺą´)", " year"] - - name: re_replace - args: ["(?i) (an)", "year"] - - name: re_replace - args: ["(?i)(För |und)", ""] # Misc removals - - name: timeago + args: ["(?i)(TV Movie)", "TV_Movie"] + - name: replace + args: [" & ", "_&_"] + _internal: + selector: internal + case: + False: "{{ .False }}" + True: "{{ .True }}" + description: + text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}" + seeders: + selector: seeders + leechers: + selector: leechers + grabs: + selector: times_completed + date: + # "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50 + selector: created_at + filters: + - name: append + args: " +00:00" # GMT + - name: dateparse + args: "MM/dd/yyyy HH:mm:ss zzz" + size: + selector: size + _featured: + selector: featured + case: + False: "{{ .False }}" + True: "{{ .True }}" + downloadvolumefactor_freeleech: + # api returns 0%, 25%, 50%, 75%, 100% + selector: freeleech + case: + 0%: 1 # not free + 25%: 0.75 + 50%: 0.5 + 75%: 0.25 + 100%: 0 # freeleech + "*": 0 # catch errors downloadvolumefactor: + text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}" + uploadvolumefactor_double_upload: + # api returns False, True + selector: double_upload case: - i[class*="fa-id-badge text-orange"]: 0 # 24 Hour FreeLeech From BON Store - i[class*="fa-trophy text-purple"]: 0 # Special FreeLeech For Certain User Groups - i[class*="fa-star text-bold"]: 0 # Freeleech From Token - i[class*="fa-coins text-bold"]: 0 # Freeleech From Token - i[class*="fa-globe text-blue"]: 0 # Global Freeleech - i[class*="fa-star text-gold"]: 0 # Freeleech - i[class*="fa-certificate text-pink"]: 0 # Featured Torrent - "*": 1 + False: 1 # normal + True: 2 # double uploadvolumefactor: - case: - i[class*="fa-gem text-green"]: 2 # Single Torrent Double Upload - i[class*="fa-globe text-green"]: 2 # Global Double Upload - i[class*="fa-certificate text-pink"]: 2 # Featured Torrent - "*": 1 - minimumratio: - text: 0.4 + text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}" +# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio +# minimumratio: +# text: 0.4 minimumseedtime: # 7 days (as seconds = 7 x 24 x 60 x 60) text: 604800 -# UNIT3D 5.3.0 +# json UNIT3D 9.2.0 diff --git a/config/prowlarr/Definitions/audiences.yml b/config/prowlarr/Definitions/audiences.yml index 17ccbf95..0d25800c 100644 --- a/config/prowlarr/Definitions/audiences.yml +++ b/config/prowlarr/Definitions/audiences.yml @@ -139,12 +139,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/aura4k-api.yml b/config/prowlarr/Definitions/aura4k-api.yml new file mode 100644 index 00000000..3c494637 --- /dev/null +++ b/config/prowlarr/Definitions/aura4k-api.yml @@ -0,0 +1,191 @@ +--- +id: aura4k-api +name: AURA4K (API) +description: "AURA4K is a Private Torrent Tracker for MOVIES / TV" +language: en-US +type: private +encoding: UTF-8 +links: + - https://aura4k.net/ + +caps: + categorymappings: + - {id: 1, cat: Movies, desc: "Movies"} + - {id: 2, cat: TV, desc: "TV"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid, tvdbid, tmdbid] + movie-search: [q, imdbid, tmdbid] + allowtvsearchimdb: true + +settings: + - name: apikey + type: text + label: APIKey + - name: info_key + type: info + label: About your API key + default: "Find or Generate a new API Token by accessing your AURA4K account My Settings page and clicking on the API Key tab." + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: single_file_release_use_filename + type: checkbox + label: Use filename as title for single file releases + default: true + - name: sort + type: select + label: Sort requested from site + default: created_at + options: + created_at: created + seeders: seeders + size: size + name: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_activity + type: info + label: Account Inactivity + default: "Accounts with no activity (login/traffic) for more than 90 days may be automatically pruned." + +login: + path: /api/torrents + method: get + error: + - selector: a[href*="/login"] + message: + text: "The API key was not accepted by {{ .Config.sitelink }}." + - selector: :root:contains("Account is Banned") + +search: + paths: + # https://hdinnovations.github.io/UNIT3D/torrent_api.html + # https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657 + - path: api/torrents/filter + response: + type: json + + headers: + Authorization: ["Bearer {{ .Config.apikey }}"] + + inputs: + # if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6 + $raw: "{{ range .Categories }}&categories[]={{.}}{{end}}" + name: "{{ .Keywords }}" + seasonNumber: "{{ .Query.Season }}" + episodeNumber: "{{ .Query.Ep }}" + imdbId: "{{ .Query.IMDBIDShort }}" + tmdbId: "{{ .Query.TMDBID }}" + tvdbId: "{{ .Query.TVDBID }}" + "free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}" + sortField: "{{ .Config.sort }}" + sortDirection: "{{ .Config.type }}" + perPage: 100 + + keywordsfilters: + - name: re_replace + args: ["\\.", " "] + + rows: + selector: data + attribute: attributes + + fields: + category: + selector: category_id + title_optional: + selector: name + title_filename: + selector: "files[0].name" + optional: true + files: + selector: num_file + title: + text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}" + details: + selector: details_link + download: + selector: download_link + poster: + selector: meta.poster + filters: + - name: replace + args: ["https://via.placeholder.com/90x135", ""] + imdbid: + selector: imdb_id + tmdbid: + selector: tmdb_id + tvdbid: + selector: tvdb_id + genre: + selector: meta.genres + filters: + - name: re_replace + args: ["(?i)(Science Fiction)", "Science_Fiction"] + - name: re_replace + args: ["(?i)(TV Movie)", "TV_Movie"] + - name: replace + args: [" & ", "_&_"] + _internal: + selector: internal + case: + False: "{{ .False }}" + True: "{{ .True }}" + description: + text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}" + seeders: + selector: seeders + leechers: + selector: leechers + grabs: + selector: times_completed + date: + # "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50 + selector: created_at + filters: + - name: append + args: " +00:00" # GMT + - name: dateparse + args: "MM/dd/yyyy HH:mm:ss zzz" + size: + selector: size + _featured: + selector: featured + case: + False: "{{ .False }}" + True: "{{ .True }}" + downloadvolumefactor_freeleech: + # api returns 0%, 25%, 50%, 75%, 100% + selector: freeleech + case: + 0%: 1 # not free + 25%: 0.75 + 50%: 0.5 + 75%: 0.25 + 100%: 0 # freeleech + "*": 0 # catch errors + downloadvolumefactor: + text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}" + uploadvolumefactor_double_upload: + # api returns False, True + selector: double_upload + case: + False: 1 # normal + True: 2 # double + uploadvolumefactor: + text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}" +# global MR is 0.4 but torrents must be seeded for 72 hours OR 1:1 + minimumratio: + text: 1.0 + minimumseedtime: + # 72 hours (as seconds = 3 x 24 x 60 x 60) + text: 259200 +# json UNIT3D 9.2.0 diff --git a/config/prowlarr/Definitions/axelbg.yml b/config/prowlarr/Definitions/axelbg.yml new file mode 100644 index 00000000..715e6935 --- /dev/null +++ b/config/prowlarr/Definitions/axelbg.yml @@ -0,0 +1,122 @@ +--- +id: axelbg +name: AxelBg +description: "AxelBg is a BULGARIAN Public Torrent Tracker for 0DAY / GENERAL" +language: bg-BG +type: public +encoding: windows-1251 +links: + - https://axelbg.net/ + +caps: + categorymappings: + - {id: 10, cat: TV/Anime, desc: "Anime"} + - {id: 44, cat: Books/EBook, desc: "Books"} + - {id: 42, cat: Books/Comics, desc: "Cartoons"} + - {id: 43, cat: Books/Comics, desc: "Comics"} + - {id: 45, cat: Other, desc: "Education"} + - {id: 2, cat: Console, desc: "Games"} + - {id: 9, cat: Other, desc: "MISC"} + - {id: 8, cat: Movies/DVD, desc: "Movies/DVD-R"} + - {id: 49, cat: Movies/HD, desc: "Movies/Hi-Res"} + - {id: 3, cat: Movies/SD, desc: "Movies/VHS"} + - {id: 7, cat: Movies/SD, desc: "Movies/XviD"} + - {id: 4, cat: Audio, desc: "Music"} + - {id: 47, cat: Audio/Video, desc: "Music Videos"} + - {id: 46, cat: Audio/Lossless, desc: "Music/Lossless"} + - {id: 48, cat: Movies, desc: "Pictures"} + - {id: 1, cat: PC, desc: "Software"} + - {id: 5, cat: TV, desc: "TV Episodes"} + - {id: 50, cat: TV/HD, desc: "TV/Hi-Res"} + - {id: 6, cat: XXX, desc: "XXX"} + + modes: + search: [q] + tv-search: [q, season, ep] + movie-search: [q] + music-search: [q] + book-search: [q] + +settings: + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: ip_filtering + type: info + label: "IP Filtering" + default: "AxelBg blocks Non-Bulgarian IP addresses. No results likely means your IP was not accepted. Test by accessing AxelBg WEB site with your browser." + +search: + paths: + - path: browse.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ .Keywords }}" + # 0 active, 1 incldead, 2 onlydead, 3 onlyfree, 4 only BGAudio, 5 only BGSubs + incldead: 1 + # intitle, everywhere + place: intitle + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + + rows: + selector: table > tbody > tr:has(div.rPreview) + + fields: + category: + selector: a[href^="browse.php?cat="] + attribute: href + filters: + - name: querystring + args: cat + title: + selector: a[href^="details.php?id="] + details: + selector: a[href^="details.php?id="] + attribute: href + download: + selector: a[href*="download.php"] + attribute: href + poster: + #
+ selector: div.rPreview + attribute: onmouseover + filters: + - name: regexp + args: (?=http)(.+?)\' + files: + selector: td:nth-last-child(7) + date: + # 2026-02-22
11:23:43 + selector: td:nth-last-child(5) + filters: + - name: append + args: " +02:00" # EET + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + size: + selector: td:nth-last-child(4) + grabs: + selector: td:nth-last-child(3) + seeders: + selector: td:nth-last-child(2) + leechers: + selector: td:nth-last-child(1) + downloadvolumefactor: + text: 0 + uploadvolumefactor: + text: 1 +# engine n/a diff --git a/config/prowlarr/Definitions/axeltorrents.yml b/config/prowlarr/Definitions/axeltorrents.yml new file mode 100644 index 00000000..255a5c32 --- /dev/null +++ b/config/prowlarr/Definitions/axeltorrents.yml @@ -0,0 +1,155 @@ +--- +id: axeltorrents +name: AXEL Torrents +description: "AXEL Torrents is a BULGARIAN Semi-Private Torrent Tracker for MOVIES / TV / GENERAL" +language: bg-BG +type: semi-private +encoding: windows-1251 +links: + - https://axelbg.net/ + +caps: + categorymappings: + - {id: 10, cat: TV/Anime, desc: "Anime"} + - {id: 44, cat: Books/EBook, desc: "Books"} + - {id: 42, cat: Books/Comics, desc: "Cartoons"} + - {id: 43, cat: Books/Comics, desc: "Comics"} + - {id: 45, cat: Other, desc: "Education"} + - {id: 2, cat: Console, desc: "Games"} + - {id: 9, cat: Other, desc: "MISC"} + - {id: 8, cat: Movies/DVD, desc: "Movies/DVD-R"} + - {id: 49, cat: Movies/HD, desc: "Movies/Hi-Res"} + - {id: 3, cat: Movies/SD, desc: "Movies/VHS"} + - {id: 7, cat: Movies/SD, desc: "Movies/XviD"} + - {id: 4, cat: Audio, desc: "Music"} + - {id: 47, cat: Audio/Video, desc: "Music Videos"} + - {id: 46, cat: Audio/Lossless, desc: "Music/Lossless"} + - {id: 48, cat: Movies, desc: "Pictures"} + - {id: 1, cat: PC, desc: "Software"} + - {id: 5, cat: TV, desc: "TV Episodes"} + - {id: 50, cat: TV/HD, desc: "TV/Hi-Res"} + - {id: 6, cat: XXX, desc: "XXX"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid] + movie-search: [q, imdbid] + music-search: [q] + book-search: [q] + +settings: + - name: username + type: text + label: Username + - name: password + type: password + label: Password + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. + - name: ip_filtering + type: info + label: "IP Filtering" + default: "AXEL Torrents blocks Non-Bulgarian IP addresses. No results likely means your IP was not accepted. Test by accessing AXEL Torrents WEB site with your browser." + +login: + path: login.php + method: post + inputs: + username: "{{ .Config.username }}" + password: "{{ .Config.password }}" + error: + - selector: div.login-note + test: + path: / + selector: a[href="/logout.php"] + +search: + paths: + - path: browse.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" + # 0 active, 1 incldead, 2 onlydead, 3 onlyfree, 4 only BGAudio, 5 only BGSubs + incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}" + # intitle, everywhere + place: "{{ if .Query.IMDBID }}everywhere{{ else }}intitle{{ end }}" + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + + rows: + selector: table > tbody > tr.rollout:has(div.rPreview) + + fields: + category: + selector: a[href^="browse.php?cat="] + attribute: href + filters: + - name: querystring + args: cat + title: + selector: a[href^="details.php?id="] + details: + selector: a[href^="details.php?id="] + attribute: href + download: + selector: a[href*="download.php"] + attribute: href + poster: + #
+ selector: div.rPreview + attribute: onmouseover + filters: + - name: regexp + args: (?=http)(.+?)\' + files: + selector: td:nth-last-child(7) + date: + # 2026-02-22
11:23:43 + selector: td:nth-last-child(5) + filters: + - name: append + args: " +02:00" # EET + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + size: + selector: td:nth-last-child(4) + grabs: + selector: td:nth-last-child(3) + seeders: + selector: td:nth-last-child(2) + leechers: + selector: td:nth-last-child(1) + downloadvolumefactor: + case: + img[src="/images/free.gif"]: 0 + "*": 1 + uploadvolumefactor: + text: 1 + minimumseedtime: + # 1 day (as seconds = 24 x 60 x 60) + text: 86400 + description: + selector: em +# engine n/a (based on NexusPHP) diff --git a/config/prowlarr/Definitions/azusa.yml b/config/prowlarr/Definitions/azusa.yml index 9431bdd3..c394a19e 100644 --- a/config/prowlarr/Definitions/azusa.yml +++ b/config/prowlarr/Definitions/azusa.yml @@ -128,6 +128,8 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: a[href$="dllist=1#seeders"] optional: true diff --git a/config/prowlarr/Definitions/backups.yml b/config/prowlarr/Definitions/backups.yml index ee2110a8..3389c0b6 100644 --- a/config/prowlarr/Definitions/backups.yml +++ b/config/prowlarr/Definitions/backups.yml @@ -10,33 +10,34 @@ links: caps: categorymappings: + - {id: 115, cat: PC, desc: "2Play! Official"} - {id: 100, cat: Console, desc: "Anbernic"} - {id: 15, cat: PC/Mobile-Android, desc: "Android"} - {id: 35, cat: TV/Anime, desc: "Anime"} - - {id: 51, cat: PC/Mac, desc: "Apple"} - {id: 3, cat: PC, desc: "Apps"} + - {id: 109, cat: PC, desc: "Attract"} - {id: 64, cat: Audio/Audiobook, desc: "Audiobooks"} - {id: 71, cat: Console, desc: "Batocera"} + - {id: 108, cat: Console, desc: "Bazpacks"} - {id: 4, cat: Movies/BluRay, desc: "Blu-Ray"} + - {id: 112, cat: Console, desc: "Brojack & Laws"} - {id: 42, cat: Console, desc: "CoinOPS Official"} - {id: 65, cat: Console, desc: "CoinOps Unofficial"} - - {id: 22, cat: Console, desc: "CoinOps"} + - {id: 22, cat: Console, desc: "CoinOps Xbox"} - {id: 63, cat: Books/Comics, desc: "Comics"} - - {id: 60, cat: Console, desc: "Core"} + - {id: 60, cat: Console, desc: "CORE"} - {id: 72, cat: Console, desc: "CORE Community"} - {id: 44, cat: Console, desc: "CP78"} - {id: 16, cat: TV/Documentary, desc: "Docu"} - {id: 41, cat: Console, desc: "Dragon"} - - {id: 5, cat: Books, desc: "EBooks"} - - {id: 80, cat: PC, desc: "Emulation Media"} - - {id: 61, cat: PC, desc: "emuxtras"} + - {id: 5, cat: Books, desc: "eBooks"} - {id: 89, cat: PC, desc: "Ghostware"} - - {id: 84, cat: TV, desc: "GOG DRM FREE"} + - {id: 84, cat: TV, desc: "GOG"} - {id: 77, cat: PC, desc: "Hyperspin"} - {id: 34, cat: TV, desc: "Kids"} - - {id: 43, cat: Console, desc: "LB No Intro"} - - {id: 85, cat: PC, desc: "MAME Rom Sets"} - - {id: 33, cat: TV/Sport, desc: "MMA/Boxing"} + - {id: 107, cat: Console, desc: "KinHanK"} + - {id: 43, cat: Console, desc: "LaunchBox"} + - {id: 85, cat: PC, desc: "MAME"} - {id: 32, cat: Movies, desc: "Movie Pack"} - {id: 106, cat: Movies/UHD, desc: "Movie Pack 4K"} - {id: 6, cat: Movies, desc: "Movies"} @@ -46,32 +47,30 @@ caps: - {id: 31, cat: Console, desc: "Nintendo"} - {id: 59, cat: Console, desc: "P-R-U"} - {id: 8, cat: PC/Games, desc: "PC Games"} - - {id: 50, cat: Console, desc: "PlayBox"} - {id: 87, cat: Console, desc: "Playnite"} - {id: 30, cat: Console, desc: "Playstation"} - - {id: 62, cat: PC, desc: "Raspberry Pi"} - {id: 83, cat: PC, desc: "Retro eXo"} - {id: 56, cat: PC, desc: "Retro Minis"} - - {id: 81, cat: PC, desc: "Retro Scene Releases"} - - {id: 67, cat: PC, desc: "Retrobat"} + - {id: 67, cat: PC, desc: "RetroBat"} - {id: 88, cat: PC, desc: "RetroFE"} - - {id: 79, cat: PC, desc: "RGB-Pi"} - {id: 76, cat: Console, desc: "RGS"} - - {id: 27, cat: PC, desc: "Roms and Emulators"} - - {id: 68, cat: PC, desc: "Schmoomer's"} - - {id: 57, cat: Console, desc: "Sega"} + - {id: 27, cat: PC, desc: "ROM Packs"} + - {id: 62, cat: PC, desc: "RPi"} + - {id: 81, cat: PC, desc: "Scene"} + - {id: 68, cat: PC, desc: "Schmoomer"} + - {id: 110, cat: Console, desc: "ScummVM"} + - {id: 57, cat: Console, desc: "SEGA"} - {id: 74, cat: PC, desc: "Sleyk/SGC"} + - {id: 75, cat: Audio, desc: "Soundtracks"} - {id: 29, cat: TV/Sport, desc: "Sport"} - {id: 90, cat: PC, desc: "TeknoParrot"} + - {id: 97, cat: TV/Other, desc: "Tutorials"} - {id: 9, cat: TV, desc: "TV Packs"} - {id: 11, cat: TV, desc: "TV Shows"} - - {id: 97, cat: TV/Other, desc: "Video Courses"} - - {id: 75, cat: TV, desc: "Video Game Music"} - {id: 73, cat: Console, desc: "Wolfanoz"} - - {id: 14, cat: TV/Sport, desc: "WWE"} - - {id: 26, cat: Console, desc: "Xbox"} + - {id: 26, cat: Console, desc: "XBOX"} - {id: 12, cat: Console, desc: "XBOX360"} - - {id: 23, cat: XXX, desc: "xxx18+"} + - {id: 23, cat: XXX, desc: "XXX18+"} modes: search: [q] @@ -185,4 +184,9 @@ search: args: " +00:00" # GMT - name: dateparse args: "dd-MM-yyyy HH:mm zzz" + minimumratio: + text: 1.0 + minimumseedtime: + # 2 days (as seconds = 2 x 24 x 60 x 60) + text: 172800 # TS Special Edition v.8.0 diff --git a/config/prowlarr/Definitions/baozipt.yml b/config/prowlarr/Definitions/baozipt.yml new file mode 100644 index 00000000..464879e3 --- /dev/null +++ b/config/prowlarr/Definitions/baozipt.yml @@ -0,0 +1,186 @@ +--- +id: baozipt +name: baoziPT +description: "baoziPT is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL" +language: zh-CN +type: private +encoding: UTF-8 +links: + - https://p.t-baozi.cc/ + +caps: + categorymappings: + - {id: 401, cat: Movies, desc: "电影/Movies"} + - {id: 402, cat: TV, desc: "剧集/TV Series"} + - {id: 403, cat: TV, desc: "综艺/TV Shows"} + - {id: 404, cat: TV/Documentary, desc: "纪录片/Documentaries"} + - {id: 405, cat: TV/Anime, desc: "动漫/Anime"} + - {id: 406, cat: Audio/Video, desc: "éźłäąč§†é˘‘/Music Videos"} + - {id: 407, cat: TV/Sport, desc: "体育čżĺЍ/Sports"} + - {id: 408, cat: Audio, desc: "é«ĺ“质音频/HQ Audio"} + - {id: 409, cat: Other, desc: "ĺ…¶ä»–/Other"} + - {id: 410, cat: TV, desc: "短剧/Playlet"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid, doubanid] + movie-search: [q, imdbid, doubanid] + music-search: [q] + book-search: [q] + +settings: + - name: cookie + type: text + label: Cookie + - name: info_cookie + type: info_cookie + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. + - name: info_activity + type: info + label: Account Inactivity + default: "Account retention rules:
  1. Veteran User and above will be retained forever
  2. Elite User and above will not have their account deleted after parking (in the control panel)
  3. Users with a parked account will be deleted if they do not log in for 400 consecutive days
  4. Users with a non-parked account will be deleted if they do not log in for 150 consecutive days
  5. Users who have no traffic (i.e. upload/download data are both 0) will be deleted if they do not log in for 100 consecutive days.
" + +login: + # using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php + method: cookie + inputs: + cookie: "{{ .Config.cookie }}" + test: + path: index.php + selector: a[href="logout.php"] + +search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}" + # 0 incldead, 1 active, 2 dead + incldead: 0 + # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr, 3 uploader, 4 imdburl + search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}" + # 0 AND, 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + notnewword: 1 + + rows: + selector: table.torrents > tbody > tr:has(a[href^="download.php?id="]) + + fields: + category: + selector: a[href^="?cat="] + attribute: href + filters: + - name: querystring + args: cat + title_default: + selector: a[href^="details.php?id="] + title: + selector: a[title][href^="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" + details: + selector: a[href^="details.php?id="] + attribute: href + download: + selector: a[href^="download.php?id="] + attribute: href + poster: + selector: img[data-src] + attribute: data-src + imdbid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="imdb.com/title/tt"] + attribute: href + doubanid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="movie.douban.com/subject/"] + attribute: href + date_elapsed: + # time type: time elapsed (default) + selector: td.rowfollow:nth-child(4) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-dd HH:mm:ss zzz" + date_added: + # time added + selector: td.rowfollow:nth-child(4):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + date: + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 + downloadvolumefactor: + case: + img.pro_free: 0 + img.pro_free2up: 0 + img.pro_50pctdown: 0.5 + img.pro_50pctdown2up: 0.5 + img.pro_30pctdown: 0.3 + "*": 1 + uploadvolumefactor: + case: + img.pro_50pctdown2up: 2 + img.pro_free2up: 2 + img.pro_2up: 2 + "*": 1 + minimumratio: + text: 2.0 + minimumseedtime: + # 1 day (as seconds = 24 x 60 x 60) + text: 86400 + description: + selector: td.rowfollow:nth-child(2) + remove: a, b, font, img, span +# NexusPHP v1.9.11 2025-11-02 diff --git a/config/prowlarr/Definitions/beload.yml b/config/prowlarr/Definitions/beload.yml index 4c58f269..c6644d72 100644 --- a/config/prowlarr/Definitions/beload.yml +++ b/config/prowlarr/Definitions/beload.yml @@ -25,8 +25,8 @@ caps: - {id: 1, cat: Movies/HD, desc: "Film/HD/Hun"} - {id: 8, cat: Movies/Foreign, desc: "Film/SD/Eng"} - {id: 7, cat: Movies/SD, desc: "Film/SD/Hun"} - - {id: 10, cat: Movies/Foreign, desc: "Film/XviD/Eng"} - - {id: 9, cat: Movies/SD, desc: "Film/XviD/Hun"} + - {id: 47, cat: Movies/Foreign, desc: "Film/UHD/Eng"} + - {id: 46, cat: Movies/UHD, desc: "Film/UHD/Hun"} - {id: 31, cat: Audio/Audiobook, desc: "Hangoskönyv"} - {id: 42, cat: PC/Games, desc: "Játék/ISO"} - {id: 43, cat: PC/Games, desc: "Játék/RIP"} @@ -34,15 +34,17 @@ caps: - {id: 29, cat: Books/EBook, desc: "Könyv/Hun"} - {id: 44, cat: PC/ISO, desc: "Program/ISO"} - {id: 45, cat: PC, desc: "Program/RIP"} + - {id: 49, cat: TV/Foreign, desc: "Sorozat/DVD/Eng"} + - {id: 48, cat: TV/SD, desc: "Sorozat/DVD/Hun"} - {id: 14, cat: TV/Foreign, desc: "Sorozat/HD/Eng"} - {id: 13, cat: TV/HD, desc: "Sorozat/HD/Hun"} - {id: 16, cat: TV/Foreign, desc: "Sorozat/SD/Eng"} - {id: 15, cat: TV/SD, desc: "Sorozat/SD/hun"} + - {id: 20, cat: Audio/Foreign, desc: "Zene/Mp3/Eng"} + - {id: 19, cat: Audio/MP3, desc: "Zene/Mp3/Hun"} - {id: 38, cat: XXX/SD, desc: "XXX/HD"} - {id: 41, cat: XXX/ImageSet, desc: "XXX/Kép"} - {id: 40, cat: XXX/SD, desc: "XXX/SD"} - - {id: 20, cat: Audio/Foreign, desc: "Zene/Mp3/Eng"} - - {id: 19, cat: Audio/MP3, desc: "Zene/Mp3/Hun"} modes: search: [q] diff --git a/config/prowlarr/Definitions/bigbbs.yml b/config/prowlarr/Definitions/bigbbs.yml new file mode 100644 index 00000000..88165bb3 --- /dev/null +++ b/config/prowlarr/Definitions/bigbbs.yml @@ -0,0 +1,259 @@ +--- +id: bigbbs +name: BigBBS +description: "BigBBS is a POLISH Private Torrent Tracker for MOVIES / TV / GENERAL" +language: pl-PL +type: private +encoding: UTF-8 +links: + - https://bigbbs.eu/ + +caps: + categorymappings: + - {id: 1, cat: Movies, desc: "Filmi"} + - {id: 14, cat: Movies/SD, desc: "Filmi DivX / XviD"} + - {id: 41, cat: Movies/HD, desc: "Filmi x264"} + - {id: 40, cat: Movies, desc: "Filmi Al / Lektor Amatorski"} + - {id: 39, cat: Movies/BluRay, desc: "Filmi BluRay"} + - {id: 147, cat: Movies, desc: "Filmi Xmas"} + - {id: 37, cat: Movies/DVD, desc: "Filmi DVD 5 / 9"} + - {id: 52, cat: Movies/3D, desc: "Filmi 3D"} + - {id: 17, cat: Movies/HD, desc: "Filmi HD 1080p , 720p"} + - {id: 99, cat: Movies/HD, desc: "Filmi x265"} + - {id: 62, cat: XXX, desc: "Filmi XXX"} + - {id: 16, cat: Movies/SD, desc: "Filmi CAM / TS"} + - {id: 65, cat: Movies/HD, desc: "Filmi Rmvb"} + - {id: 66, cat: Movies, desc: "Filmi TV RIP"} + - {id: 84, cat: TV/Documentary, desc: "Filmi Dokumentalne"} + - {id: 100, cat: Movies, desc: "Filmi Seriale"} + - {id: 103, cat: Movies, desc: "Filmi FILMY GSM / PDA"} + - {id: 107, cat: Movies/UHD, desc: "Filmi 4K-UHD"} + - {id: 109, cat: Movies, desc: "Filmi Biblijny"} + - {id: 113, cat: Movies, desc: "Filmi Prawniczy"} + - {id: 61, cat: Movies, desc: "Bajki"} + - {id: 106, cat: Books/Comics, desc: "Manga"} + - {id: 53, cat: TV/Anime, desc: "Anime"} + - {id: 56, cat: TV, desc: "TV"} + - {id: 57, cat: TV, desc: "TV BOXSETS"} + - {id: 58, cat: TV, desc: "TV EPIZODY"} + - {id: 6, cat: PC, desc: "Aplikacje"} + - {id: 18, cat: PC/0day, desc: "Aplikacje Windows"} + - {id: 64, cat: PC/Mobile-Other, desc: "Aplikacje GSM/PDA"} + - {id: 19, cat: PC/Mac, desc: "Aplikacje Macintosh"} + - {id: 42, cat: PC, desc: "Aplikacje Linux"} + - {id: 63, cat: TV/Sport, desc: "Sport"} + - {id: 7, cat: Audio, desc: "Muzyka"} + - {id: 20, cat: Audio/Video, desc: "Koncert"} + - {id: 144, cat: Audio, desc: "BiGBBS RMG (Rellase Music Group)"} + - {id: 21, cat: Audio/MP3, desc: "MP3"} + - {id: 38, cat: Audio/Lossless, desc: "FLAC"} + - {id: 135, cat: Audio, desc: "RetroRemix,ClubDance"} + - {id: 43, cat: Audio, desc: "Soundtrack"} + - {id: 136, cat: Audio, desc: "Rock"} + - {id: 80, cat: Audio/Lossless, desc: "lossless"} + - {id: 81, cat: Audio, desc: "MusicVid"} + - {id: 82, cat: Audio, desc: "Radio"} + - {id: 138, cat: Audio, desc: "Dyskografie Płytowe"} + - {id: 117, cat: Audio, desc: "Metal Rock"} + - {id: 139, cat: Audio, desc: "Kolekcje Muzyczne"} + - {id: 118, cat: Audio, desc: "Disco Polo"} + - {id: 119, cat: Audio, desc: "Clubbing"} + - {id: 120, cat: Audio, desc: "House"} + - {id: 125, cat: Audio, desc: "Elektro"} + - {id: 127, cat: Audio, desc: "Tranc"} + - {id: 128, cat: Audio, desc: "Dance"} + - {id: 130, cat: Audio, desc: "Opus"} + - {id: 129, cat: Audio, desc: "Pop"} + - {id: 131, cat: Audio, desc: "Italo"} + - {id: 133, cat: Audio, desc: "ClubDance"} + - {id: 134, cat: Audio, desc: "Retro Remixes"} + - {id: 146, cat: Audio, desc: "Techno"} + - {id: 132, cat: Audio, desc: "eurodance"} + - {id: 145, cat: Audio, desc: "Chillout"} + - {id: 83, cat: Audio, desc: "BLUES / REGGAE/ ROCK / METAL/CLASSIC/"} + - {id: 2, cat: Console, desc: "Gry"} + - {id: 3, cat: Console/PS3, desc: "Sony PS"} + - {id: 4, cat: Console/Wii, desc: "Wii"} + - {id: 26, cat: Console/XBox, desc: "XboX"} + - {id: 28, cat: PC/Games, desc: "Gry PC"} + - {id: 28, cat: Console/NDS, desc: "Nintendo"} + - {id: 47, cat: Books/EBook, desc: "EEbooki"} + - {id: 48, cat: Audio/Audiobook, desc: "Audio Book"} + - {id: 50, cat: Books/EBook, desc: "Ebook Pdf"} + - {id: 67, cat: Books/Comics, desc: "Komiksy"} + - {id: 59, cat: Other, desc: "BBRG"} + - {id: 39, cat: Movies/BluRay, desc: "Filmy BluRay 50/25/9"} + - {id: 88, cat: Movies/3D, desc: "Filmi 3D"} + - {id: 108, cat: Movies/BluRay, desc: "Filmi BluRay"} + - {id: 89, cat: Movies/HD, desc: "Filmi HD x264"} + - {id: 90, cat: Movies/HD, desc: "Filmi HD DivX / XviD"} + - {id: 91, cat: Movies/DVD, desc: "Filmi DVD 5 / DVD 9"} + - {id: 92, cat: Movies/SD, desc: "Filmi SD DivX / XviD"} + - {id: 93, cat: Movies/SD, desc: "Filmi SD x264"} + - {id: 96, cat: Movies, desc: "Filmi TVRip"} + - {id: 101, cat: Movies, desc: "Filmi Boxset"} + - {id: 98, cat: Movies, desc: "Filmi Seriale"} + - {id: 95, cat: Movies, desc: "Bajki"} + - {id: 97, cat: Audio/Video, desc: "Kabarety"} + - {id: 102, cat: Movies/HD, desc: "Filmi x265"} + - {id: 104, cat: Movies, desc: "Filmi FILMY GSM / PDA"} + - {id: 86, cat: Audio, desc: "Muzyka BBRG"} + - {id: 110, cat: Movies, desc: "Filmi Biblijny"} + - {id: 114, cat: Movies/UHD, desc: "Filmi 4K-UHD"} + - {id: 115, cat: Movies, desc: "Filmi Fan BBRG"} + - {id: 112, cat: Movies, desc: "Filmi ENG"} + + modes: + search: [q] + tv-search: [q, season, ep] + movie-search: [q] + music-search: [q] + book-search: [q] + +settings: + - name: username + type: text + label: Username + - name: password + type: password + label: Password + - name: freeleech + type: checkbox + label: Filter freeleech only + default: false + - name: info_profile + type: info + label: Layout + default: "
  • Only the English Classic profile is supported.
  • Make sure to set the Torrent Listing (Lista torrentĂłw) option in your profile to Classic (Klasyczny)
  • And set the Language (Dil) to English
  • Using the Modern theme will prevent results, and using Polski will prevent upload dates.
" + - name: sort + type: select + label: Sort requested from site + default: added + options: + added: created + seeders: seeders + size: size + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_activity + type: info + label: Account Inactivity + default: "Account retention rules: Inactive accounts over 30 days will be warned by email about their inactivity. If within 24h a person does not log in to their account, they will lose them without the possibility of returning." + +login: + path: ?p=home&pid=1 + method: form + form: form#sls_form + submitpath: ajax/login.php + inputs: + action: login + loginbox_membername: "{{ .Config.username }}" + loginbox_password: "{{ .Config.password }}" + loginbox_remember: 1 + selectorinputs: + securitytoken: + selector: "script:contains(\"stKey: \")" + filters: + - name: regexp + args: "stKey: \"(.+?)\"," + error: + - selector: div.error + - selector: :contains("-ERROR-") + test: + path: ?p=home&pid=1 + selector: div#member_info_bar + +search: + paths: + - path: / + keywordsfilters: + - name: re_replace + args: ["[^a-zA-Z0-9]+", "%25"] + inputs: + p: torrents + pid: 32 + $raw: "{{ range .Categories }}cid[]={{.}}&{{end}}" + keywords: "{{ .Keywords }}" + # name, description, both, uploader + search_type: name + "sortOptions[sortBy]": "{{ .Config.sort }}" + "sortOptions[sortOrder]": "{{ .Config.type }}" + # does not support imdbid search but has imdbid links in results. + error: + - selector: div.error:not(:contains("There are no results found.")) + + rows: + selector: "table#torrents_table_classic > tbody > tr:has(a[href*=\"?p=torrents&pid=10&action=download&tid=\"]){{ if .Config.freeleech }}:has(img[src$=\"/torrent_free.png\"]){{ else }}{{ end }}" + + fields: + category: + selector: a[href*="?p=torrents&pid=10&cid="] + attribute: href + filters: + - name: querystring + args: cid + title: + selector: a[href*="?p=torrents&pid=10&action=details&tid="] + details: + selector: a[href*="?p=torrents&pid=10&action=details&tid="] + attribute: href + download: + selector: a[href*="?p=torrents&pid=10&action=download&tid="] + attribute: href + magnet: + selector: a[href^="magnet:?xt="] + attribute: href + optional: true + poster: + selector: a[href*="data/torrents/torrent_images/"] + attribute: href + imdbid: + selector: a[href*="imdb.com/title/tt"] + attribute: href + size: + selector: a[rel="torrent_size"] + grabs: + selector: a[rel="times_completed"] + seeders: + selector: a[rel="torrent_seeders"] + leechers: + selector: a[rel="torrent_leechers"] + date_day: + # Uploaded Today at 04:01:07 by + # Uploaded Yesterday at 06:37:21 by + selector: td.torrent_name:contains("day at ") + # auto adjusted by site account profile + optional: true + filters: + - name: regexp + args: "Uploaded (.+?) by" + - name: fuzzytime + date_year: + # Uploaded 17-04-2017 06:07:06 by + selector: td.torrent_name:not(:contains("day at ")) + # auto adjusted by site account profile + optional: true + filters: + - name: regexp + args: "Uploaded (.+?) by" + - name: dateparse + args: "dd-MM-yyyy HH:mm:ss" + date: + text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}" + downloadvolumefactor: + case: + img[src$="/torrent_free.png"]: 0 + "*": 1 + uploadvolumefactor: + text: 1 + minimumratio: + text: 1.0 + minimumseedtime: + # 2 day (as seconds = 2 x 24 x 60 x 60) + text: 172800 +# TSUE 2.2 diff --git a/config/prowlarr/Definitions/bitpalace.yml b/config/prowlarr/Definitions/bitpalace.yml index 902a50b6..e9c0a6da 100644 --- a/config/prowlarr/Definitions/bitpalace.yml +++ b/config/prowlarr/Definitions/bitpalace.yml @@ -5,8 +5,12 @@ description: "Bitpalace is a HUNGARIAN Private Torrent Tracker for MOVIES / TV / language: hu-HU type: private encoding: UTF-8 +certificates: + - 87c00996262837ea785a43f1f1fc0a7b31956182 # using cert for .hu domain links: - https://bitpalace.cc/ +legacylinks: + - https://bitpalace.hu/ caps: categorymappings: @@ -38,7 +42,7 @@ caps: - {id: 10, cat: XXX/ImageSet, desc: "XXX KÉPEK"} - {id: 11, cat: XXX/XviD, desc: "XXX XVID"} - {id: 19, cat: Audio/Video, desc: "ZENE Klipp"} - - {id: 20, cat: Audio/MP3, desc: "ZENE MP3"} + - {id: 20, cat: Audio/MP3, desc: "ZENE"} modes: search: [q] diff --git a/config/prowlarr/Definitions/bitporn.yml b/config/prowlarr/Definitions/bitporn.yml index e620367a..97c08959 100644 --- a/config/prowlarr/Definitions/bitporn.yml +++ b/config/prowlarr/Definitions/bitporn.yml @@ -10,6 +10,7 @@ links: caps: categorymappings: + - {id: 54, cat: XXX, desc: Ai Generated"} - {id: 4, cat: XXX, desc: Amateur"} - {id: 5, cat: XXX, desc: Anal"} - {id: 6, cat: XXX, desc: Asian"} @@ -191,4 +192,4 @@ search: minimumseedtime: # 48 hours (as seconds = 2 x 24 x 60 x 60) text: 172800 -# json UNIT3D 9.1.7 (custom) +# json UNIT3D 9.2.0 (custom) diff --git a/config/prowlarr/Definitions/bitsearch.yml b/config/prowlarr/Definitions/bitsearch.yml index 0852e3e9..775fa260 100644 --- a/config/prowlarr/Definitions/bitsearch.yml +++ b/config/prowlarr/Definitions/bitsearch.yml @@ -9,13 +9,13 @@ type: public encoding: UTF-8 links: - https://bitsearch.to/ - - https://solidtorrents.to/ + - https://solidtorrents.eu/ legacylinks: - https://bitsearch.nocensor.cloud/ - https://bitsearch.mrunblock.bond/ - https://solidtorrents.net/ - https://solidtorrents.nocensor.cloud/ - - https://solidtorrents.eu/ + - https://solidtorrents.to/ caps: categories: diff --git a/config/prowlarr/Definitions/bluetorrents.yml b/config/prowlarr/Definitions/bluetorrents.yml new file mode 100644 index 00000000..91ab1a53 --- /dev/null +++ b/config/prowlarr/Definitions/bluetorrents.yml @@ -0,0 +1,121 @@ +--- +id: bluetorrents +name: BlueTorrents +description: "BlueTorrents is a Private Torrent Tracker for MOVIES / TV / MUSIC / GENERAL" +language: en-US +type: private +encoding: UTF-8 +links: + - https://bluetorrents.com/ + +caps: + categorymappings: + # from https://bluetorrents.com/api/external?apikey=YOUR-API-KEY&t=caps + - {id: 2000, cat: Movies, desc: "Movies"} + - {id: 5000, cat: TV, desc: "TV Shows"} + - {id: 1000, cat: Console, desc: "Games"} + - {id: 3000, cat: Audio, desc: "Music"} + - {id: 4000, cat: PC/0day, desc: "Apps"} + - {id: 6000, cat: XXX, desc: "XXX"} + - {id: 8000, cat: Other, desc: "Other"} + - {id: 7000, cat: Books, desc: "Books"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid] + movie-search: [q, tmdbid] + music-search: [q] + book-search: [q] + allowtvsearchimdb: true + +settings: + - name: apikey + type: text + label: API Key + - name: info_key + type: info + label: About your API key + default: "You can find your API Key by accessing the BlueTorrents Settings page, and scrolling down to the API keys section." + - name: info_3x + type: info + label: Including 3X + default: "IF you want to see 3x torrents access your BlueTorrents Settings page and tick the Show NSFW content checkbox." + - name: info_activity + type: info + label: Account Inactivity + default: "Accounts with no activity for 90+ days may be disabled." + +search: + paths: + - path: api/external + response: + type: xml + + inputs: + apikey: "{{ .Config.apikey }}" + t: "{{ if .Query.TMDBID }}movie{{ else }}{{ end }}{{ if or .Query.Season .Query.Ep }}tvsearch{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.TMDBID .Query.Season .Query.Ep }}{{ else }}search{{ end }}" + q: "{{ .Keywords }}" + cat: "{{ join .Categories \",\" }}" + season: "{{ .Query.Season }}" + ep: "{{ .Query.Ep }}" + imdbid: "{{ .Query.IMDBID }}" + tmdbid: "{{ .Query.TMDBID }}" + limit: 100 + + keywordsfilters: + # replace spaces between words with percent wildcard + - name: re_replace + args: ["\\W+", "%"] + + rows: + selector: rss > channel > item + + fields: + category: + selector: '[name="category"]' + attribute: value + title: + selector: title + details: + selector: link + download: + selector: enclosure + attribute: url + infohash: + selector: '[name="infohash"]' + attribute: value + imdbid: + selector: '[name="imdbid"]' + attribute: value + tmdbid: + selector: '[name="tmdbid"]' + attribute: value + date: + # Sun, 08 Feb 2026 03:32:24 -0800 + selector: pubDate + filters: + - name: dateparse + args: "ddd, dd MMM yyyy HH:mm:ss zzz" + size: + selector: size + seeders: + selector: '[name="seeders"]' + attribute: value + leechers: + selector: '[name="peers"]' + attribute: value + grabs: + selector: '[name="grabs"]' + attribute: value + downloadvolumefactor: + selector: '[name="downloadvolumefactor"]' + attribute: value + uploadvolumefactor: + selector: '[name="uploadvolumefactor"]' + attribute: value + minimumratio: + text: 1.0 + minimumseedtime: + # 3 days (as seconds = 3 x 24 x 60 x 60) + text: 259200 +# torznab xml diff --git a/config/prowlarr/Definitions/blutopia-api.yml b/config/prowlarr/Definitions/blutopia-api.yml index 1d51e980..ba7f9aa1 100644 --- a/config/prowlarr/Definitions/blutopia-api.yml +++ b/config/prowlarr/Definitions/blutopia-api.yml @@ -24,6 +24,7 @@ caps: tv-search: [q, season, ep, imdbid, tvdbid, tmdbid] movie-search: [q, imdbid, tmdbid] music-search: [q] + allowtvsearchimdb: true settings: - name: apikey diff --git a/config/prowlarr/Definitions/boxingtorrents.yml b/config/prowlarr/Definitions/boxingtorrents.yml index aad0a544..d8419745 100644 --- a/config/prowlarr/Definitions/boxingtorrents.yml +++ b/config/prowlarr/Definitions/boxingtorrents.yml @@ -11,23 +11,22 @@ links: caps: categorymappings: - {id: 17, cat: TV/Sport, desc: "4K"} - - {id: 15, cat: TV/Sport, desc: "3D"} - - {id: 9, cat: TV/Sport, desc: "Amateur - Full"} - {id: 16, cat: TV/Sport, desc: "Blu-ray"} - - {id: 13, cat: TV/Sport, desc: "Career Set"} + - {id: 14, cat: TV/Sport, desc: "HD"} - {id: 8, cat: TV/Sport, desc: "DVD"} - - {id: 10, cat: TV/Sport, desc: "Foreign - Excellent"} - - {id: 11, cat: TV/Sport, desc: "Foreign - Fair"} - - {id: 6, cat: TV/Sport, desc: "Foreign - Good"} - - {id: 12, cat: TV/Sport, desc: "Foreign - Poor"} - {id: 1, cat: TV/Sport, desc: "Full - Excellent"} - {id: 3, cat: TV/Sport, desc: "Full - Fair"} - {id: 2, cat: TV/Sport, desc: "Full - Good"} - {id: 4, cat: TV/Sport, desc: "Full - Poor"} - - {id: 14, cat: TV/Sport, desc: "HD"} - - {id: 7, cat: TV/Sport, desc: "Misc"} - - {id: 18, cat: TV/Sport, desc: "Instructional"} + - {id: 10, cat: TV/Sport, desc: "Foreign - Excellent"} + - {id: 11, cat: TV/Sport, desc: "Foreign - Fair"} + - {id: 6, cat: TV/Sport, desc: "Foreign - Good"} + - {id: 12, cat: TV/Sport, desc: "Foreign - Poor"} + - {id: 13, cat: TV/Sport, desc: "Career Set"} - {id: 19, cat: TV/Documentary, desc: "Documentary"} + - {id: 9, cat: TV/Sport, desc: "Amateur - Full"} + - {id: 18, cat: TV/Sport, desc: "Instructional"} + - {id: 7, cat: TV/Sport, desc: "Misc"} modes: search: [q] @@ -44,22 +43,22 @@ settings: type: checkbox label: Search freeleech only default: false - - name: sort - type: select - label: Sort requested from site - default: added - options: - added: created - seeders: seeders - size: size - name: title - - name: type - type: select - label: Order requested from site - default: DESC - options: - DESC: desc - ASC: asc +# - name: sort +# type: select +# label: Sort requested from site +# default: added +# options: +# added: created +# seeders: seeders +# size: size +# name: title +# - name: type +# type: select +# label: Order requested from site +# default: DESC +# options: +# DESC: desc +# ASC: asc - name: info_download type: info label: "Download Restrictions" @@ -86,19 +85,32 @@ search: paths: # https://tc-boxing.com/browse.php?c16=1&c8=1&c14=1&incldead=1 # https://tc-boxing.com/browse.php?search=tyson&cat=0&incldead=1 + # https://tc-boxing.com/browse.php?search=medina&cat=0&incldead=1&screen=1&champ=1&free=1 - path: browse.php inputs: $raw: "{{ if .Categories }}{{ range .Categories }}c{{.}}=1&{{end}}{{ else }}cat=0{{ end }}" - # 1 incldead, null active + # 0 active, 1 incldead, 2 onlydead incldead: 1 # 1 freeleech only, null all free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}" search: "{{ .Keywords }}" - sort: "{{ .Config.sort }}" - d: "{{ .Config.type }}" +# dropped sorting as this prevents the dateheaders from results! +# sort: "{{ .Config.sort }}" +# d: "{{ .Config.type }}" rows: - selector: table[border="1"][cellspacing="0"][cellpadding="5"] tr:has(a[href^="details.php?id="]) + selector: table.torrenttable > tbody > tr:has(a[href^="details.php?id="]) + filters: + - name: andmatch + dateheaders: + selector: td[colspan] > b + filters: + - name: append + args: " -07:00" # PDT + - name: replace + args: ["Torrents added ", ""] + - name: dateparse + args: "dddd, d. MMM, yyyy zzz" fields: category: @@ -116,14 +128,7 @@ search: selector: a[href^="details.php?id="] attribute: href files: - selector: td:nth-last-child(8) - date: - selector: td:nth-last-child(6) - filters: - - name: append - args: " -07:00" # PDT - - name: dateparse - args: "yyyy-MM-ddHH:mm:ss zzz" + selector: td:nth-last-child(7) size: selector: td:nth-last-child(5) grabs: @@ -143,4 +148,4 @@ search: minimumseedtime: # 3 day (as seconds = 3 x 24 x 60 x 60) text: 259200 -# engine n/a +# BT 4.0 diff --git a/config/prowlarr/Definitions/btdirectory.yml b/config/prowlarr/Definitions/btdirectory.yml index 7e834292..54b4c966 100644 --- a/config/prowlarr/Definitions/btdirectory.yml +++ b/config/prowlarr/Definitions/btdirectory.yml @@ -33,6 +33,8 @@ caps: settings: - name: info_category_8000 type: info_category_8000 + - name: info_flaresolverr + type: info_flaresolverr search: paths: diff --git a/config/prowlarr/Definitions/btschool.yml b/config/prowlarr/Definitions/btschool.yml index b3c787ac..8e2f9980 100644 --- a/config/prowlarr/Definitions/btschool.yml +++ b/config/prowlarr/Definitions/btschool.yml @@ -128,12 +128,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/c411.yml b/config/prowlarr/Definitions/c411.yml new file mode 100644 index 00000000..e93fd0bb --- /dev/null +++ b/config/prowlarr/Definitions/c411.yml @@ -0,0 +1,179 @@ +--- +id: c411 +name: C411 +description: "C411 (Community 411) is a FRENCH Private Torrent Tracker for MOVIES / TV / GENERAL" +language: fr-FR +type: private +encoding: UTF-8 +links: + - https://c411.org/ +legacylinks: + - https://staging-68d548c5bd4.c411.org/ + +caps: + categorymappings: + # from https://c411.org/api/torznab?apikey=YOUR-API-KEY&t=caps + - {id: 1000, cat: Console, desc: "Jeux VidĂ©o & Emulation & VR"} + - {id: 1030, cat: Console/Wii, desc: "Nintendo"} + - {id: 1040, cat: Console/XBox, desc: "Microsoft"} + - {id: 1080, cat: Console/PS4, desc: "Sony"} + - {id: 1090, cat: Console/Other, desc: "Jeux Autre & ROM/ISO"} + - {id: 2000, cat: Movies, desc: "Films & VidĂ©os"} + - {id: 2010, cat: Movies/Other, desc: "Films Collection"} + - {id: 2030, cat: Movies/Foreign, desc: "Films Foreign"} + - {id: 2050, cat: Movies/Other, desc: "VidĂ©o-clips"} + - {id: 2060, cat: Movies/Other, desc: "Films Animation"} + - {id: 2070, cat: Movies, desc: "Films Documentaire"} + - {id: 2080, cat: Movies/Other, desc: "Films Spectacle"} + - {id: 2090, cat: Movies/Other, desc: "Films Concert"} + - {id: 3000, cat: Audio, desc: "Audio"} + - {id: 3010, cat: Audio/MP3, desc: "Musique"} + - {id: 3030, cat: Audio/Audiobook, desc: "Audiobooks"} + - {id: 3050, cat: Audio/Other, desc: "KaraokĂ© & Podcast Radio & Samples"} + - {id: 4000, cat: PC/0day, desc: "Applications & Windows & Nulled"} + - {id: 4030, cat: PC/0day, desc: "Linux & MacOS"} + - {id: 4040, cat: PC, desc: "Formation"} + - {id: 4050, cat: PC, desc: "Games-Linux & Games-MacOS & Games-Divers & Autre & Émulateur & GPS & Scripts PHP & CMS & Wordpress"} + - {id: 4060, cat: PC/Mobile-Android, desc: "Android Mobile & Smartphone & Tablette & Applications & Cartes"} + - {id: 4070, cat: PC/Mobile-iOS, desc: "iOS Smartphone & Tablette"} + - {id: 5000, cat: TV, desc: "SĂ©rie TV"} + - {id: 5060, cat: TV/Sport, desc: "Sport"} + - {id: 5070, cat: TV/Anime, desc: "Animation SĂ©rie"} + - {id: 5080, cat: TV/Documentary, desc: "Emission TV"} + - {id: 6000, cat: XXX, desc: "3X & 3X VR"} + - {id: 6010, cat: XXX/DVD, desc: "3X Films"} + - {id: 6050, cat: XXX/Other, desc: "3X Ebooks"} + - {id: 6060, cat: XXX/ImageSet, desc: "3X Images"} + - {id: 6070, cat: XXX/Other, desc: "Hentai"} + - {id: 6080, cat: XXX/Other, desc: "3X Jeux"} + - {id: 7000, cat: Books, desc: "Ebook"} + - {id: 7010, cat: Books/Mags, desc: "Presse"} + - {id: 7020, cat: Books/EBook, desc: "Livres"} + - {id: 7030, cat: Books/Comics, desc: "BDs & Comics & Manga"} + - {id: 8010, cat: Other/Misc, desc: "Imprimante 3D & Objets & Pack & Personnages"} + + modes: + search: [q] + tv-search: [q, season, ep] + movie-search: [q, imdbid] + music-search: [q] + book-search: [q] + +settings: + - name: apikey + type: text + label: API Key + - name: info_key + type: info + label: About your API key + default: "You can find or generate a new API Key by accessing the C411 IntĂ©grations API page." + - name: multilang + type: checkbox + label: Replace MULTi by another language in release name + default: false + - name: multilanguage + type: select + label: Replace MULTi by this language + default: FRENCH + options: + FRENCH: FRENCH + MULTi.FRENCH: MULTi.FRENCH + ENGLISH: ENGLISH + MULTi.ENGLISH: MULTi.ENGLISH + VOSTFR: VOSTFR + MULTi.VOSTFR: MULTi.VOSTFR + - name: vostfr + type: checkbox + label: Replace VOSTFR and SUBFRENCH with ENGLISH + default: false + - name: info_3x + type: info + label: Including 3X + default: "IF you want to see 3x torrents access your C411 Paramètres page and tick the Afficher le contenu XXX checkbox." + +login: + # returns "401 Unauthorized, check your credentials" if apikey is invalid + path: "api/torznab?apikey={{ .Config.apikey }}&t=caps" + method: get + +search: + paths: + - path: api/torznab + response: + type: xml + + inputs: + apikey: "{{ .Config.apikey }}" + t: "{{ if .Query.IMDBID }}movie{{ else }}{{ end }}{{ if or .Query.Season .Query.Ep }}tvsearch{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.Season .Query.Ep }}{{ else }}search{{ end }}" + q: "{{ .Keywords }}" + cat: "{{ join .Categories \",\" }}" + season: "{{ .Query.Season }}" + ep: "{{ .Query.Ep }}" + imdbid: "{{ .Query.IMDBID }}" + limit: 100 + + keywordsfilters: + # replace spaces between words with percent wildcard + - name: re_replace + args: ["\\W+", "%"] + + rows: + selector: rss > channel > item + + fields: + category: + selector: '[name="category"]' + attribute: value + title_phase1: + selector: title + title_vostfr: + text: "{{ .Result.title_phase1 }}" + filters: + - name: re_replace + args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"] + title_phase2: + text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase1 }}{{ end }}" + title_multilang: + text: "{{ .Result.title_phase2 }}" + filters: + - name: re_replace + args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR|VF2|VFF|VFQ|VOQ|VFI|VOF)))\\b", "{{ .Config.multilanguage }}"] + title: + text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}" + details: + selector: link + download: + selector: enclosure + attribute: url + infohash: + selector: '[name="infohash"]' + attribute: value + date: + # Sun, 18 Jan 2026 04:05:41 +0000 + selector: pubDate + filters: + - name: dateparse + args: "ddd, dd MMM yyyy HH:mm:ss zzz" + size: + selector: size + seeders: + selector: '[name="seeders"]' + attribute: value + leechers: + selector: '[name="peers"]' + attribute: value + grabs: + selector: '[name="grabs"]' + attribute: value + downloadvolumefactor: + selector: '[name="downloadvolumefactor"]' + attribute: value + uploadvolumefactor: + selector: '[name="uploadvolumefactor"]' + attribute: value + minimumratio: + text: 1.0 + minimumseedtime: + # 2 days (as seconds = 2 x 24 x 60 x 60) + text: 172800 +# torznab xml diff --git a/config/prowlarr/Definitions/cangbaoge.yml b/config/prowlarr/Definitions/cangbaoge.yml index 820826c7..7ecadb53 100644 --- a/config/prowlarr/Definitions/cangbaoge.yml +++ b/config/prowlarr/Definitions/cangbaoge.yml @@ -147,14 +147,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: - selector: td.rowfollow.rowfollow:nth-child(6) + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/capybarabr.yml b/config/prowlarr/Definitions/capybarabr.yml index e00dc4b8..85ec75c8 100644 --- a/config/prowlarr/Definitions/capybarabr.yml +++ b/config/prowlarr/Definitions/capybarabr.yml @@ -125,8 +125,6 @@ search: selector: details_link download: selector: download_link - infohash: - selector: info_hash poster: selector: meta.poster filters: @@ -201,4 +199,4 @@ search: minimumseedtime: # 7 days (as seconds = 7 x 24 x 60 x 60) text: 604800 -# json UNIT3D 8.3.3 (custom) +# json UNIT3D 9.2.0 (custom) diff --git a/config/prowlarr/Definitions/carphunter.yml b/config/prowlarr/Definitions/carphunter.yml index b9d16d15..027f0063 100644 --- a/config/prowlarr/Definitions/carphunter.yml +++ b/config/prowlarr/Definitions/carphunter.yml @@ -151,7 +151,7 @@ search: - name: regexp args: "showTorrentThumb\\('(.*?)', " date: - selector: td:nth-last-child(8) + selector: td:nth-last-child(6) filters: - name: regexp args: (\d{4}-\d{2}-\d{2}.\d{2}:\d{2}:\d{2}) @@ -161,8 +161,6 @@ search: args: " +01:00" # CET - name: dateparse args: "yyyy-MM-dd HH:mm:ss zzz" - files: - selector: td:nth-last-child(7) size: selector: td:nth-last-child(5) grabs: diff --git a/config/prowlarr/Definitions/carpt.yml b/config/prowlarr/Definitions/carpt.yml index e2b619de..d3c1493b 100644 --- a/config/prowlarr/Definitions/carpt.yml +++ b/config/prowlarr/Definitions/carpt.yml @@ -165,12 +165,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/cdfile.yml b/config/prowlarr/Definitions/cdfile.yml index a4b8fd8a..da3792da 100644 --- a/config/prowlarr/Definitions/cdfile.yml +++ b/config/prowlarr/Definitions/cdfile.yml @@ -153,12 +153,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: - selector: td.rowfollow.rowfollow:nth-child(6) + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 @@ -181,4 +189,4 @@ search: description: selector: td.rowfollow:nth-child(2) remove: a, b, font, img, span -# NexusPHP v1.9.6 2025-06-25 +# NexusPHP v1.9.11 2025-11-02 diff --git a/config/prowlarr/Definitions/ceskeforum.yml b/config/prowlarr/Definitions/ceskeforum.yml index 10212769..61563b70 100644 --- a/config/prowlarr/Definitions/ceskeforum.yml +++ b/config/prowlarr/Definitions/ceskeforum.yml @@ -148,12 +148,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/chilebt-api.yml b/config/prowlarr/Definitions/chilebt-api.yml index a7075391..3a713536 100644 --- a/config/prowlarr/Definitions/chilebt-api.yml +++ b/config/prowlarr/Definitions/chilebt-api.yml @@ -145,8 +145,8 @@ search: _internal: selector: internal case: - False: "{{ .False }}" - True: "{{ .True }}" + 0: "{{ .False }}" + 1: "{{ .True }}" description: text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}" seeders: diff --git a/config/prowlarr/Definitions/coastalcrew.yml b/config/prowlarr/Definitions/coastalcrew.yml index 3adec79f..2e325864 100644 --- a/config/prowlarr/Definitions/coastalcrew.yml +++ b/config/prowlarr/Definitions/coastalcrew.yml @@ -10,14 +10,16 @@ links: caps: categorymappings: - - {id: 122, cat: Movies, desc: "Movie Klassiker"} - - {id: 124, cat: Movies, desc: "Movie Kids"} - - {id: 127, cat: Movies, desc: "Movie Pack"} - - {id: 138, cat: Movies/BluRay, desc: "Movie BluRay"} - - {id: 140, cat: Movies/3D, desc: "Movie 3D"} - - {id: 114, cat: Movies/DVD, desc: "Movie DVD-R"} - - {id: 28, cat: Movies/SD, desc: "Movie SD"} - {id: 32, cat: Movies/HD, desc: "Movie HD"} + - {id: 28, cat: Movies/SD, desc: "Movie SD"} + - {id: 140, cat: Movies/3D, desc: "Movie 3D"} + - {id: 138, cat: Movies/BluRay, desc: "Movie BluRay"} + - {id: 127, cat: Movies, desc: "Movie Pack"} + - {id: 124, cat: Movies, desc: "Movie Kids"} + - {id: 142, cat: Movies, desc: "Movie Anime"} + - {id: 122, cat: Movies, desc: "Movie Klassiker"} + - {id: 141, cat: Movies, desc: "Movie Klassiker 4K/UHD"} + - {id: 114, cat: Movies/DVD, desc: "Movie DVD-R"} - {id: 26, cat: Movies/UHD, desc: "Movie 4K"} - {id: 133, cat: TV/Anime, desc: "Serien Anime"} @@ -37,11 +39,17 @@ caps: - {id: 15, cat: TV/Documentary, desc: "Doku SD"} - {id: 136, cat: TV/Documentary, desc: "Doku Pack"} - - {id: 9, cat: PC, desc: "App Linux"} - - {id: 10, cat: PC/Mac, desc: "App Mac"} - - {id: 11, cat: PC/Mobile-Other, desc: "App Other"} + - {id: 134, cat: Other, desc: "Sonstiges Pack"} + - {id: 63, cat: Audio/Audiobook, desc: "Sonstiges A-Book"} + - {id: 96, cat: Books/EBook, desc: "Sonstiges E-Book"} + - {id: 69, cat: Other, desc: "Sonstiges Tutorial"} + - {id: 71, cat: Other/Misc, desc: "Sonstiges Other"} + - {id: 12, cat: PC/0day, desc: "App Win"} + - {id: 9, cat: PC, desc: "App Linux"} - {id: 139, cat: PC/Mobile-Android, desc: "App Android Apps"} + - {id: 11, cat: PC/Mobile-Other, desc: "App Other"} + - {id: 10, cat: PC/Mac, desc: "App Mac"} - {id: 16, cat: Console, desc: "Game Misc"} - {id: 17, cat: PC/Games, desc: "Game PC"} @@ -68,15 +76,8 @@ caps: - {id: 125, cat: Audio, desc: "Music Kids"} - {id: 61, cat: TV/Sport, desc: "Sport HD"} - - {id: 62, cat: TV/Sport, desc: "Sport SD"} - - {id: 116, cat: TV/Sport, desc: "Sport DVD-R"} - {id: 117, cat: TV/Sport, desc: "Sport DVD-R"} - - - {id: 134, cat: Other, desc: "Sonstiges Pack"} - - {id: 63, cat: Audio/Audiobook, desc: "Sonstiges A-Book"} - - {id: 96, cat: Books/EBook, desc: "Sonstiges E-Book"} - - {id: 69, cat: Other, desc: "Sonstiges Tutorial"} - - {id: 71, cat: Other/Misc, desc: "Sonstiges Other"} + - {id: 62, cat: TV/Sport, desc: "Sport SD"} - {id: 131, cat: TV/UHD, desc: "Internt'l Serie UHD"} - {id: 103, cat: Movies/SD, desc: "Internt'l Movie SD"} @@ -89,11 +90,11 @@ caps: - {id: 105, cat: TV/Documentary, desc: "Internt'l Doku"} - {id: 104, cat: Other, desc: "Internt'l Misc"} - - {id: 73, cat: XXX/x264, desc: "XXX HD"} - {id: 74, cat: XXX/Other, desc: "XXX Other"} - - {id: 75, cat: XXX/Pack, desc: "XXX Pack"} - {id: 76, cat: XXX/SD, desc: "XXX SD"} + - {id: 73, cat: XXX/x264, desc: "XXX HD"} - {id: 113, cat: XXX/DVD, desc: "XXX DVD-R"} + - {id: 75, cat: XXX/Pack, desc: "XXX Pack"} modes: search: [q] diff --git a/config/prowlarr/Definitions/crnaberza.yml b/config/prowlarr/Definitions/crnaberza.yml index 78e31dfb..42e633b5 100644 --- a/config/prowlarr/Definitions/crnaberza.yml +++ b/config/prowlarr/Definitions/crnaberza.yml @@ -37,6 +37,7 @@ caps: - {id: 80, cat: TV, desc: "Paketi"} - {id: 49, cat: PC, desc: "Programi"} - {id: 28, cat: Other, desc: "Razno"} + - {id: 85, cat: Movies, desc: "Remux"} - {id: 62, cat: TV/SD, desc: "SD Boxset"} - {id: 38, cat: TV/Sport, desc: "Sport"} - {id: 39, cat: Audio/Video, desc: "Spotovi DVD"} diff --git a/config/prowlarr/Definitions/cyanbug.yml b/config/prowlarr/Definitions/cyanbug.yml index 77019428..070aaa2b 100644 --- a/config/prowlarr/Definitions/cyanbug.yml +++ b/config/prowlarr/Definitions/cyanbug.yml @@ -211,4 +211,4 @@ search: filters: - name: prepend args: "{{ .Result.description_verified }} " -# NexusPHP v1.8.14 2024-10-07 +# NexusPHP v1.9.11 2025-11-02 diff --git a/config/prowlarr/Definitions/danishbytes-api.yml b/config/prowlarr/Definitions/danishbytes-api.yml index b0336420..ab782780 100644 --- a/config/prowlarr/Definitions/danishbytes-api.yml +++ b/config/prowlarr/Definitions/danishbytes-api.yml @@ -173,4 +173,4 @@ search: minimumseedtime: # 2 day (as seconds = 2 x 24 x 60 x 60) text: 172800 -# json DBy v0.96 +# json DBy v0.96 (based on UNIT3D 6.3.0?) diff --git a/config/prowlarr/Definitions/darkpeers.yml b/config/prowlarr/Definitions/darkpeers.yml index 797ad8a6..a9f33cba 100644 --- a/config/prowlarr/Definitions/darkpeers.yml +++ b/config/prowlarr/Definitions/darkpeers.yml @@ -1,7 +1,7 @@ --- id: darkpeers-api name: Darkpeers (API) -description: "Darkpeers is a NORDIC Private Torrent Tracker for MOVIES / TV" +description: "Darkpeers is a Private Torrent Tracker for MOVIES / TV / GENERAL" language: en-US type: private encoding: UTF-8 @@ -17,6 +17,8 @@ caps: - {id: 5, cat: PC, desc: "Software"} - {id: 6, cat: XXX, desc: "XXX"} - {id: 7, cat: Other, desc: "Assorted"} + - {id: 8, cat: Books, desc: "Books"} + - {id: 9, cat: TV/Anime, desc: "Anime"} modes: search: [q] @@ -24,6 +26,7 @@ caps: movie-search: [q, imdbid, tmdbid] music-search: [q] book-search: [q] + allowtvsearchimdb: true settings: - name: apikey diff --git a/config/prowlarr/Definitions/deildu.yml b/config/prowlarr/Definitions/deildu.yml index a50780cf..dae22f15 100644 --- a/config/prowlarr/Definitions/deildu.yml +++ b/config/prowlarr/Definitions/deildu.yml @@ -30,6 +30,7 @@ caps: tv-search: [q, season, ep, imdbid] movie-search: [q, imdbid] music-search: [q] + allowrawsearch: true settings: - name: username diff --git a/config/prowlarr/Definitions/desitorrents-api.yml b/config/prowlarr/Definitions/desitorrents-api.yml index bfa21e8d..37ddff87 100644 --- a/config/prowlarr/Definitions/desitorrents-api.yml +++ b/config/prowlarr/Definitions/desitorrents-api.yml @@ -30,11 +30,15 @@ settings: - name: info_key type: info label: About your API key - default: "Find or Generate a new API Token by accessing your DesiTorrents account My Security page and clicking on the API Token tab." + default: "Find or Generate a new API Token by accessing your DesiTorrents account My Settings page and clicking on the API Key tab." - name: freeleech type: checkbox label: Search freeleech only default: false + - name: single_file_release_use_filename + type: checkbox + label: Use filename as title for single file releases + default: true - name: sort type: select label: Sort requested from site @@ -70,7 +74,7 @@ search: paths: # https://hdinnovations.github.io/UNIT3D/torrent_api.html # https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657 - - path: "/api/v1/torrents/filter" + - path: api/v1/torrents/filter response: type: json @@ -102,14 +106,19 @@ search: fields: category: selector: category_id - title: + title_optional: selector: name + title_filename: + selector: "files[0].name" + optional: true + files: + selector: num_file + title: + text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}" details: selector: details_link download: selector: download_link - infohash: - selector: info_hash poster: selector: meta.poster filters: @@ -124,18 +133,19 @@ search: genre: selector: meta.genres filters: - - name: re_replace - args: ["(?i)^None$", ""] - name: re_replace args: ["(?i)(Science Fiction)", "Science_Fiction"] - name: re_replace args: ["(?i)(TV Movie)", "TV_Movie"] - name: replace args: [" & ", "_&_"] + _internal: + selector: internal + case: + False: "{{ .False }}" + True: "{{ .True }}" description: - text: "{{ .Result.genre }}" - files: - selector: num_file + text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}" seeders: selector: seeders leechers: @@ -152,7 +162,12 @@ search: args: "MM/dd/yyyy HH:mm:ss zzz" size: selector: size - downloadvolumefactor: + _featured: + selector: featured + case: + False: "{{ .False }}" + True: "{{ .True }}" + downloadvolumefactor_freeleech: # api returns 0%, 25%, 50%, 75%, 100% selector: freeleech case: @@ -162,16 +177,20 @@ search: 75%: 0.25 100%: 0 # freeleech "*": 0 # catch errors - uploadvolumefactor: - # api returns 0=false, 1=true + downloadvolumefactor: + text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}" + uploadvolumefactor_double_upload: + # api returns False, True selector: double_upload case: - 0: 1 # normal - 1: 2 # double + False: 1 # normal + True: 2 # double + uploadvolumefactor: + text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}" # global MR is 0.5 but torrents must be seeded for 7 days regardless of ratio # minimumratio: # text: 0.5 minimumseedtime: # 7 days (as seconds = 7 x 24 x 60 x 60) text: 604800 -# json UNIT3D 6.5.0 (custom) +# json UNIT3D 9.2.0 (custom) diff --git a/config/prowlarr/Definitions/devil-torrents.yml b/config/prowlarr/Definitions/devil-torrents.yml index d2332ff4..bc2963a5 100644 --- a/config/prowlarr/Definitions/devil-torrents.yml +++ b/config/prowlarr/Definitions/devil-torrents.yml @@ -62,6 +62,10 @@ settings: MULTi POLISH: MULTi POLISH - name: info_flaresolverr type: info_flaresolverr + - name: info_limit + type: info + label: "Download Limit" + default: "If your downloads fail then access the site with your browser and check your messages, you've likely exceeded your limit." login: path: logowanie diff --git a/config/prowlarr/Definitions/discfan.yml b/config/prowlarr/Definitions/discfan.yml index 8a145a1e..e244b226 100644 --- a/config/prowlarr/Definitions/discfan.yml +++ b/config/prowlarr/Definitions/discfan.yml @@ -109,24 +109,27 @@ search: fields: category: - selector: a[href^="?cat="] + selector: a[href*="?cat="] attribute: href filters: - name: querystring args: cat title_default: - selector: a[href^="details.php?id="] + selector: a[href*="details.php?id="] title: - selector: a[title][href^="details.php?id="] + selector: a[title][href*="details.php?id="] attribute: title optional: true default: "{{ .Result.title_default }}" details: - selector: a[href^="details.php?id="] + selector: a[href*="details.php?id="] attribute: href download: - selector: a[href^="download.php?id="] + selector: a[href*="download.php?id="] attribute: href + poster: + selector: img[data-src] + attribute: data-src imdbid: selector: a[href*="imdb.com/title/tt"] attribute: href @@ -153,12 +156,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td:nth-child(5) + optional: true + default: 512MB seeders: selector: td:nth-child(6) + optional: true + default: 0 leechers: selector: td:nth-child(7) + optional: true + default: 0 grabs: selector: td:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 @@ -184,4 +195,4 @@ search: args: "cat={{ .Result.category_title }} - " minimumratio: text: 0.9 -# NexusPHP v1.9.9 2025-10-02 +# NexusPHP v1.9.14 2026-01-23 diff --git a/config/prowlarr/Definitions/dubhe.yml b/config/prowlarr/Definitions/dubhe.yml new file mode 100644 index 00000000..fc956b1a --- /dev/null +++ b/config/prowlarr/Definitions/dubhe.yml @@ -0,0 +1,187 @@ +--- +id: dubhe +name: dubhe (天枢) +description: "dubhe (天枢) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL" +language: zh-CN +type: private +encoding: UTF-8 +links: + - https://dubhe.site/ + +caps: + categorymappings: + - {id: 401, cat: Movies, desc: "电影/Movies"} + - {id: 402, cat: TV, desc: "剧集/TV Series"} + - {id: 403, cat: TV, desc: "综艺/TV Shows"} + - {id: 404, cat: TV/Documentary, desc: "纪录片/Documentaries"} + - {id: 405, cat: TV/Anime, desc: "动漫/Anime"} + - {id: 406, cat: Audio/Video, desc: "éźłäąč§†é˘‘/Music Videos"} + - {id: 407, cat: TV/Sport, desc: "体育čżĺЍ/Sports"} + - {id: 408, cat: Audio, desc: "é«ĺ“质音频/HQ Audio"} + - {id: 409, cat: Other/Misc, desc: "ĺ…¶ä»–/Other"} + - {id: 410, cat: Books, desc: "书籍/Books"} + - {id: 411, cat: Other, desc: "照片/Photo"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid, doubanid] + movie-search: [q, imdbid, doubanid] + music-search: [q] + book-search: [q] + +settings: + - name: cookie + type: text + label: Cookie + - name: info_cookie + type: info_cookie + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. + - name: info_activity + type: info + label: Account Inactivity + default: "Account retention rules:
  1. Veteran User and above will be retained forever
  2. Elite User and above will not have their account deleted after parking (in the control panel)
  3. Users with a parked account will be deleted if they do not log in for 400 consecutive days
  4. Users with a non-parked account will be deleted if they do not log in for 150 consecutive days
  5. Users who have no traffic (i.e. upload/download data are both 0) will be deleted if they do not log in for 100 consecutive days.
" + +login: + # using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php + method: cookie + inputs: + cookie: "{{ .Config.cookie }}" + test: + path: index.php + selector: a[href="logout.php"] + +search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}" + # 0 incldead, 1 active, 2 dead + incldead: 0 + # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr, 3 uploader, 4 imdburl + search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}" + # 0 AND, 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + notnewword: 1 + + rows: + selector: table.torrents > tbody > tr:has(a[href^="download.php?id="]) + + fields: + category: + selector: a[href^="?cat="] + attribute: href + filters: + - name: querystring + args: cat + title_default: + selector: a[href^="details.php?id="] + title: + selector: a[title][href^="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" + details: + selector: a[href^="details.php?id="] + attribute: href + download: + selector: a[href^="download.php?id="] + attribute: href + poster: + selector: img[data-src] + attribute: data-src + imdbid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="imdb.com/title/tt"] + attribute: href + doubanid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="movie.douban.com/subject/"] + attribute: href + date_elapsed: + # time type: time elapsed (default) + selector: td.rowfollow:nth-child(4) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-dd HH:mm:ss zzz" + date_added: + # time added + selector: td.rowfollow:nth-child(4):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + date: + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 + downloadvolumefactor: + case: + img.pro_free: 0 + img.pro_free2up: 0 + img.pro_50pctdown: 0.5 + img.pro_50pctdown2up: 0.5 + img.pro_30pctdown: 0.3 + "*": 1 + uploadvolumefactor: + case: + img.pro_50pctdown2up: 2 + img.pro_free2up: 2 + img.pro_2up: 2 + "*": 1 + minimumratio: + text: 2.0 + minimumseedtime: + # 1 day (as seconds = 24 x 60 x 60) + text: 86400 + description: + selector: td.rowfollow:nth-child(2) + remove: a, b, font, img, span +# NexusPHP v1.9.11 2025-11-02 diff --git a/config/prowlarr/Definitions/ebookbay.yml b/config/prowlarr/Definitions/ebookbay.yml index f651d013..63d51de4 100644 --- a/config/prowlarr/Definitions/ebookbay.yml +++ b/config/prowlarr/Definitions/ebookbay.yml @@ -6,8 +6,12 @@ language: en-US type: public encoding: UTF-8 requestDelay: 2 +certificates: + - 1dad798f690521cfb37d6817b66f1f08fe8c8f36 # using CA from audiobookbay.lu (sister site) links: - - http://ebb.la/ # site does not support https SSL_ERROR_BAD_CERT_DOMAIN + - https://ebb.la/ +legacylinks: + - http://ebb.la/ caps: categorymappings: @@ -85,8 +89,8 @@ download: search: paths: # with just 5 results per page, try to grab up to 25 results - # http://ebb.la/?s=teeth - # http://ebb.la/page/2/?s=teeth + # https://ebb.la/?s=teeth + # https://ebb.la/page/2/?s=teeth - path: / - path: "page/2/" - path: "page/3/" @@ -119,9 +123,15 @@ search: details: selector: a.detail attribute: href + filters: + - name: replace + args: ["http:", "https:"] download: selector: a.detail attribute: href + filters: + - name: replace + args: ["http:", "https:"] poster: selector: img[src^="http"]:not(img[src*="images/default_cover.jpg"]) attribute: src diff --git a/config/prowlarr/Definitions/ebooks-shares.yml b/config/prowlarr/Definitions/ebooks-shares.yml index 4a1d3327..0cc2e085 100644 --- a/config/prowlarr/Definitions/ebooks-shares.yml +++ b/config/prowlarr/Definitions/ebooks-shares.yml @@ -82,6 +82,7 @@ caps: - {id: 330, cat: Books/EBook, desc: "D.I.Y"} - {id: 332, cat: Books/EBook, desc: "Trivia/Quiz"} - {id: 367, cat: Books/EBook, desc: "Health & Fitness"} + - {id: 369, cat: Books/EBook, desc: "Woodworking"} # Non Fict/Ref - {id: 285, cat: Books/EBook, desc: "General Non-fiction"} - {id: 289, cat: Books/EBook, desc: "Autobiography/Memoir"} @@ -93,7 +94,6 @@ caps: - {id: 351, cat: Books/EBook, desc: "Religion"} - {id: 358, cat: Books/EBook, desc: "History"} - {id: 362, cat: Books/EBook, desc: "Politics"} - - {id: 368, cat: Books/EBook, desc: "Music"} # Military - {id: 287, cat: Books/EBook, desc: "WW1"} - {id: 288, cat: Books/EBook, desc: "WW2"} diff --git a/config/prowlarr/Definitions/empornium.yml b/config/prowlarr/Definitions/empornium.yml index 2f801ecc..300507fa 100644 --- a/config/prowlarr/Definitions/empornium.yml +++ b/config/prowlarr/Definitions/empornium.yml @@ -5,12 +5,13 @@ description: "Empornium (EMP) is a Private Torrent Tracker for 3X" language: en-US type: private encoding: UTF-8 +# status: http://about.empornium.ph/ links: - - https://www.empornium.is/ - https://www.empornium.sx/ # site forces www. legacylinks: - https://www.empornium.me/ - https://empornium.sx/ + - https://www.empornium.is/ caps: categorymappings: diff --git a/config/prowlarr/Definitions/empornium2fa.yml b/config/prowlarr/Definitions/empornium2fa.yml index 41673cef..b22f5d79 100644 --- a/config/prowlarr/Definitions/empornium2fa.yml +++ b/config/prowlarr/Definitions/empornium2fa.yml @@ -5,12 +5,13 @@ description: "Empornium (EMP) is a Private Torrent Tracker for 3X. This indexer language: en-US type: private encoding: UTF-8 +# status: http://about.empornium.ph/ links: - - https://www.empornium.is/ - https://www.empornium.sx/ # site forces www. legacylinks: - https://www.empornium.me/ - https://empornium.sx/ + - https://www.empornium.is/ caps: categorymappings: diff --git a/config/prowlarr/Definitions/emuwarez.yml b/config/prowlarr/Definitions/emuwarez.yml index ccdaa163..e42c4ba4 100644 --- a/config/prowlarr/Definitions/emuwarez.yml +++ b/config/prowlarr/Definitions/emuwarez.yml @@ -116,8 +116,6 @@ search: selector: details_link download: selector: download_link - infohash: - selector: info_hash poster: selector: meta.poster filters: @@ -191,4 +189,4 @@ search: minimumseedtime: # 3 days (as seconds = 3 x 24 x 60 x 60) text: 259200 -# json UNIT3D 9.0.8 +# json UNIT3D 9.2.0 diff --git a/config/prowlarr/Definitions/extratorrent-st.yml b/config/prowlarr/Definitions/extratorrent-st.yml index 3c1365e9..d7eef687 100644 --- a/config/prowlarr/Definitions/extratorrent-st.yml +++ b/config/prowlarr/Definitions/extratorrent-st.yml @@ -31,6 +31,7 @@ caps: - {id: Ebooks, cat: Books/EBook, desc: Books Ebook} - {id: English-translated, cat: TV/Anime, desc: Anime English-translated} - {id: Episodes HD, cat: TV/HD, desc: Episodes HD} + - {id: Episodes 4K UHD, cat: TV/UHD, desc: Episodes 4K UHD} - {id: Games, cat: XXX/Other, desc: Adult Games} - {id: Hentai, cat: XXX/Other, desc: Adult Hentai} - {id: Highres Movies, cat: Movies/HD, desc: Movies HD} @@ -60,7 +61,9 @@ caps: - {id: Pictures, cat: XXX/ImageSet, desc: Adult Pictures} - {id: Radio Shows, cat: Audio/Other, desc: Music Radio} - {id: Raw, cat: TV/Anime, desc: Anime Raw} + - {id: Season Packs, cat: TV, desc: Season Packs} - {id: Software, cat: PC/0day, desc: Software} + - {id: Sports, cat: TV/Sport, desc: Sports} - {id: Subs, cat: TV/Anime, desc: Anime Subs} - {id: Switch, cat: Console/Other, desc: Games Switch} - {id: TV, cat: TV, desc: TV} diff --git a/config/prowlarr/Definitions/extremebits.yml b/config/prowlarr/Definitions/extremebits.yml index f4c24f81..e0f7d05c 100644 --- a/config/prowlarr/Definitions/extremebits.yml +++ b/config/prowlarr/Definitions/extremebits.yml @@ -6,7 +6,7 @@ language: en-US type: private encoding: UTF-8 certificates: - - 0e7f0e9c468938a43058d72c69ffdb9a98e24eab # Expired 26th Nov 2025 + - f31a18c5e097512324e47b20f67ab4607553ae3c # Expired 24th Feb 2026 links: - https://extremebits.net/ diff --git a/config/prowlarr/Definitions/exttorrents.yml b/config/prowlarr/Definitions/exttorrents.yml new file mode 100644 index 00000000..8aff9770 --- /dev/null +++ b/config/prowlarr/Definitions/exttorrents.yml @@ -0,0 +1,179 @@ +--- +id: exttorrents +name: EXT Torrents +description: "EXT Torrents is a Public torrent site for MOVIES / TV / GENERAL" +language: en-US +type: public +encoding: UTF-8 +requestDelay: 5 +links: + - https://ext.to/ + - https://search.extto.com/ + - https://extranet.torrentbay.st/ +legacylinks: + - https://ext.unblockninja.com/ + - https://t.extto.com/ + - https://torrent.extto.com/ + - https://site.extto.com/ + - https://ext.torrentbay.to/ + - https://extranet.torrentbay.to/ + - https://extranet.torrentbay.net/ + +caps: + categorymappings: + - {id: "/anime/", cat: TV/Anime, desc: Anime} + - {id: "/anime//anime/audio-lossy/", cat: Audio, desc: Anime Audio Lossy} + - {id: "/anime//anime/audio-lossless/", cat: Audio/Lossless, desc: Anime Audio Lossless} + - {id: "/anime//anime/english-translated/", cat: TV/Anime, desc: Anime English Translated} + - {id: "/anime//anime/live-action-english/", cat: TV/Anime, desc: Anime Live Action English} + - {id: "/anime//anime/live-action-raw/", cat: TV/Anime, desc: Anime Live Action Raw} + - {id: "/anime//anime/raw/", cat: TV/Anime, desc: Anime Raw} + - {id: "/anime//anime/subs/", cat: TV/Anime, desc: Anime Subs} + - {id: "/anime//raw/", cat: TV/Anime, desc: Anime Raw} + - {id: "/applications/", cat: PC, desc: Apps} + - {id: "/applications//applications/android/", cat: PC/Mobile-Android, desc: Apps Android} + - {id: "/applications//applications/ios/", cat: PC/Mobile-iOS, desc: Apps iOS} + - {id: "/applications//applications/linux/", cat: PC, desc: Apps Linux} + - {id: "/applications//applications/mac/", cat: PC/Mac, desc: Apps Mac} + - {id: "/applications//applications/other-applications/", cat: PC/Mobile-Other, desc: Apps Other} + - {id: "/applications//applications/windows/", cat: PC/0day, desc: Apps Windows} + - {id: "/books/", cat: Books, desc: Books} + - {id: "/books//books/audio-books/", cat: Audio/Audiobook, desc: Books Audiobooks} + - {id: "/books//books/comics/", cat: Books/Comics, desc: Books Comics} + - {id: "/books//books/ebooks/", cat: Books/EBook, desc: Books Ebooks} + - {id: "/books//books/manga-english/", cat: Books/Comics, desc: Books Manga English} + - {id: "/books//books/manga-raw/", cat: Books/Comics, desc: Books Manga Raw} + - {id: "/games/", cat: PC/Games, desc: Games} + - {id: "/games//games/mac/", cat: PC/Mac, desc: Games Mac} + - {id: "/games//games/nds/", cat: Console/NDS, desc: Games NDS} + - {id: "/games//games/other-games/", cat: Console/Other, desc: Games Other} + - {id: "/games//games/pc-games/", cat: PC/Games, desc: Games PC} + - {id: "/games//games/ps3/", cat: Console/PS3, desc: Games PS3} + - {id: "/games//games/ps4/", cat: Console/PS4, desc: Games PS4} + - {id: "/games//games/psp/", cat: Console/PSP, desc: Games PSP} + - {id: "/games//games/switch/", cat: Console/Other, desc: Games Switch} + - {id: "/games//games/wii/", cat: Console/Wii, desc: Games Wii} + - {id: "/games//games/xbox360/", cat: Console/XBox 360, desc: Games Xbox360} + - {id: "/movies/", cat: Movies, desc: Movies} + - {id: "/movies//movies/3d-movies/", cat: Movies/3D, desc: Movies 3D} + - {id: "/movies//movies/bollywood/", cat: Movies, desc: Movies Bollywood} + - {id: "/movies//movies/documentary/", cat: Movies, desc: Movies Documentary} + - {id: "/movies//movies/dubbed-movies/", cat: Movies, desc: Movies Dubbed} + - {id: "/movies//movies/dvd/", cat: Movies/DVD, desc: Movies DVD} + - {id: "/movies//movies/highres-movies/", cat: Movies/HD, desc: Movies Highres} + - {id: "/movies//movies/movie-clips/", cat: Movies/Other, desc: Movies Movie clips} + - {id: "/movies//movies/mp4/", cat: Movies, desc: Movies MP4} + - {id: "/movies//movies/music-videos/", cat: Audio/Video, desc: Movies Music videos} + - {id: "/movies//movies/other-movies/", cat: Movies, desc: Movies Other Movies} + - {id: "/movies//movies/ultrahd/", cat: Movies/UHD, desc: Movies UltraHD} + - {id: "/music/", cat: Audio, desc: Music} + - {id: "/music//music/aac/", cat: Audio, desc: Music AAC} + - {id: "/music//music/lossless/", cat: Audio/Lossless, desc: Music Lossless} + - {id: "/music//music/mp3/", cat: Audio/MP3, desc: Music MP3} + - {id: "/music//music/other-music/", cat: Audio/Other, desc: Music Other} + - {id: "/music//music/radio-shows/", cat: Audio, desc: Music Radio Shows} + - {id: "/other/", cat: Other, desc: Other} + - {id: "/tv/", cat: TV, desc: TV} + - {id: "/tv//tv/episodes-hd/", cat: TV/HD, desc: TV Episodes HD} + - {id: "/tv//tv/episodes-sd/", cat: TV/SD, desc: TV Episodes SD} + - {id: "/tv//tv/episodes-4k-uhd/", cat: TV/UHD, desc: TV Episodes 4K} + - {id: "/tv//tv/big-season-packs/", cat: TV, desc: TV Big Season Packs} + - {id: "/tv//tv/season-packs/", cat: TV, desc: TV Season Packs} + - {id: "/tv//tv/sports/", cat: TV/Sport, desc: TV Sports} + - {id: "/video/", cat: XXX, desc: XXX Video} + - {id: "/xxx/", cat: XXX, desc: XXX} + - {id: "/xxx//xxx/games/", cat: XXX/Other, desc: XXX Games} + - {id: "/xxx//xxx/hentai/", cat: XXX/Other, desc: XXX Hentai} + - {id: "/xxx//xxx/magazines/", cat: XXX/Other, desc: XXX Magazines} + - {id: "/xxx//xxx/pictures/", cat: XXX/ImageSet, desc: XXX Pictures} + - {id: "/xxx//xxx/video/", cat: XXX, desc: XXX Video} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid] + movie-search: [q, imdbid] + music-search: [q] + book-search: [q] + +settings: + - name: sort + type: select + label: Sort requested from site + default: age + options: + age: created + seed: seeders + size: size + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_flaresolverr + type: info_flaresolverr + +search: + paths: + # https://ext.to/browse/?sort=age&order=desc&age=4&user_sort=1&with_adult=1 + # https://ext.to/browse/?sort=age&order=desc&user_sort=1&q=wipeout&with_adult=1 + # https://ext.to/browse/?imdb_id=tt2693776 + - path: browse/ + - path: browse/ + inputs: + page: 2 + followredirect: true + inputs: + q: "{{ .Keywords }}" + sort: "{{ .Config.sort }}" + order: "{{ .Config.type }}" + # 0=last 24 hours, 1=last 3 days, 2=last week, 3=last 2 weeks, 4=last month + age: "{{ if or .Keywords .Query.IMDBID }}{{ else }}0{{ end }}" + # familysafe 0=enabled, 1=disabled + with_adult: "{{ if .Query.IMDBID }}{{ else }}1{{ end }}" + imdb_id: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}" + user_sort: 1 + + rows: + selector: table.table-striped > tbody > tr + + fields: + category_part1: + selector: td:nth-child(1) div div a:nth-child(2) + attribute: href + optional: true + category_part2: + selector: td:nth-child(1) div div a:nth-child(3) + attribute: href + optional: true + category_combined: + text: "{{ .Result.category_part1 }}{{ .Result.category_part2 }}" + optional: true + category: + text: "{{ if .Result.category_combined }}{{ .Result.category_combined }}{{ else }}/other/{{ end }}" + title: + selector: td:nth-child(1) div a + details: + selector: td:nth-child(1) div a + attribute: href + infohash: + selector: a.search-magnet-btn + attribute: data-hash + size: + selector: td:nth-child(2) + files: + selector: td:nth-child(3) + optional: true + default: 1 + date: + selector: td:nth-child(4) + seeders: + selector: td:nth-child(5) + leechers: + selector: td:nth-child(6) + downloadvolumefactor: + text: 0 + uploadvolumefactor: + text: 1 +# engine n/a diff --git a/config/prowlarr/Definitions/f1carreras-api.yml b/config/prowlarr/Definitions/f1carreras-api.yml index da47e48c..2f38a7f9 100644 --- a/config/prowlarr/Definitions/f1carreras-api.yml +++ b/config/prowlarr/Definitions/f1carreras-api.yml @@ -121,8 +121,6 @@ search: selector: details_link download: selector: download_link - infohash: - selector: info_hash seeders: selector: seeders leechers: @@ -167,4 +165,4 @@ search: minimumseedtime: # 2 day (as seconds = 2 x 24 x 60 x 60) text: 172800 -# json UNIT3D 9.1.5 (custom) +# json UNIT3D 9.2.0 (custom) diff --git a/config/prowlarr/Definitions/fappaizuri.yml b/config/prowlarr/Definitions/fappaizuri.yml index 6e92f974..ab4f7d66 100644 --- a/config/prowlarr/Definitions/fappaizuri.yml +++ b/config/prowlarr/Definitions/fappaizuri.yml @@ -24,6 +24,10 @@ caps: book-search: [q] settings: + - name: info_2fa + type: info + label: "About 2FA" + default: "If you want to enable 2FA then use the Fappaizuri2FA indexer instead." - name: username type: text label: Username diff --git a/config/prowlarr/Definitions/fappaizuri2fa.yml b/config/prowlarr/Definitions/fappaizuri2fa.yml new file mode 100644 index 00000000..52805f7b --- /dev/null +++ b/config/prowlarr/Definitions/fappaizuri2fa.yml @@ -0,0 +1,154 @@ +--- +id: fappaizuri2fa +name: Fappaizuri2FA +description: "Fappaizuri is a Private Torrent Tracker for HENTAI / JAV. This indexer uses cookie login for 2FA." +language: en-US +type: private +encoding: UTF-8 +links: + - https://www.fappaizuri.me/ +legacylinks: + - https://fappaizuri.me/ + +caps: + categorymappings: + - {id: 5, cat: XXX, desc: "JAV"} + - {id: 6, cat: Books, desc: "Manga"} + - {id: 7, cat: Console, desc: "H-games"} + - {id: 8, cat: TV/Anime, desc: "Hentai"} + - {id: 9, cat: XXX, desc: "OFFS"} + + modes: + search: [q] + tv-search: [q, season, ep] + book-search: [q] + +settings: + - name: cookie + type: text + label: Cookie + - name: info_cookie + type: info_cookie + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: lang + type: select + label: Language + default: 0 + options: + 0: All + 4: Japanese + 5: Chinese + 6: Malaysia + 7: North Korea + 8: English + - name: sort + type: select + label: Sort requested from site + default: id + options: + id: created + seeders: seeders + size: size + name: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_flaresolverr + type: info_flaresolverr + +login: + # using cookie method because login page can present second page for 2FA when enabled + method: cookie + inputs: + cookie: "{{ .Config.cookie }}" + test: + path: index.php + selector: a[href="account-logout.php"] + +download: + selectors: + - selector: a[href^="download.php?id="] + attribute: href + +search: + paths: + # https://fappaizuri.me/torrents-search.php?search=&c8=1&c6=1&incldead=1&freeleech=0&lang=0 + - path: torrents-search.php + + inputs: + $raw: "{{ range .Categories }}&c{{.}}=1&{{end}}" + search: "{{ .Keywords }}" + # 0 active, 1 incldead, 2 onlydead + incldead: 1 + # 0 all, 1 notfree, 2 onlyfree + freeleech: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + lang: "{{ .Config.lang }}" + sort: "{{ .Config.sort }}" + order: "{{ .Config.type }}" + + rows: + selector: tr.t-row + + fields: + category: + selector: a[href^="torrents-search.php?cat="] + attribute: href + filters: + - name: querystring + args: cat + title: + selector: a[href^="torrents-details.php?id="] > b + details: + selector: a[href^="torrents-details.php?id="] + attribute: href + download: + selector: a[href^="torrents-details.php?id="] + attribute: href + poster: + selector: a[href^="torrents-details.php?id="] + attribute: onMouseover + filters: + - name: regexp + args: src=(.+?)> + _language: + selector: img[src*="images/languages/"] + attribute: alt + optional: true + description: + selector: font[color="red"] + filters: + - name: append + args: "{{ if .Result._language }} - {{ .Result._language }}{{ else }}{{ end }}" + size: + selector: td:nth-child(3) + seeders: + selector: td:nth-child(5) + leechers: + selector: td:nth-child(6) + grabs: + selector: td:nth-child(7) + date: + selector: td:nth-child(8) + filters: + - name: timeago + downloadvolumefactor: + case: + img[src="images/free.png"]: 0 + "*": 1 + uploadvolumefactor: + case: + img[src="images/doubleupload.gif"]: 2 + "*": 1 + minimumratio: + text: 1.0 + minimumseedtime: + # 4 days (as seconds = 4 x 24 x 60 x 60) + text: 345600 +# evolution diff --git a/config/prowlarr/Definitions/fearnopeer.yml b/config/prowlarr/Definitions/fearnopeer.yml index ad9cbd54..504965b2 100644 --- a/config/prowlarr/Definitions/fearnopeer.yml +++ b/config/prowlarr/Definitions/fearnopeer.yml @@ -122,8 +122,6 @@ search: selector: details_link download: selector: download_link - infohash: - selector: info_hash poster: selector: meta.poster filters: @@ -194,4 +192,4 @@ search: text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}" minimumratio: text: 0.81 -# json UNIT3D 9.1.5 +# json UNIT3D 9.2.0 diff --git a/config/prowlarr/Definitions/freefarm.yml b/config/prowlarr/Definitions/freefarm.yml index caf6836f..e0fe7870 100644 --- a/config/prowlarr/Definitions/freefarm.yml +++ b/config/prowlarr/Definitions/freefarm.yml @@ -49,19 +49,11 @@ caps: book-search: [q] settings: - - name: username + - name: cookie type: text - label: Username - - name: password - type: password - label: Password - - name: 2facode - type: text - label: 2FA code - - name: info_2fa - type: info - label: "About 2FA code" - default: "Only fill in the 2FA code box if you have enabled 2FA on the Free Farm Web Site. Otherwise just leave it empty." + label: Cookie + - name: info_cookie + type: info_cookie - name: freeleech type: checkbox label: Search freeleech only @@ -94,24 +86,10 @@ settings: default: "Cherish your user account. Inactive accounts would be deleted based on the following rules:
  1. Veteran User or above would never be deleted.
  2. Elite User or above would never be deleted if parked (at User CP).
  3. Parked accounts would be deleted if users have not logged in for more than 400 days in a row.
  4. Unparked accounts would be deleted if users have not logged in for more than 150 days in a row.
  5. Accounts with both uploaded and downloaded amount being 0 would be deleted if users have not logged in for more than 100 days in a row.
" login: - path: login.php - method: form - form: form[action="takelogin.php"] - captcha: - type: image - selector: img[alt="CAPTCHA"] - input: imagestring + # using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php + method: cookie inputs: - secret: "" - username: "{{ .Config.username }}" - password: "{{ .Config.password }}" - two_step_code: "{{ .Config.2facode }}" - logout: "" - securelogin: "" - ssl: yes - trackerssl: yes - error: - - selector: td.embedded:has(h2:contains("失败")) + cookie: "{{ .Config.cookie }}" test: path: index.php selector: a[href="logout.php"] @@ -194,12 +172,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 @@ -231,4 +217,4 @@ search: filters: - name: prepend args: "{{ .Result.description_verified }} " -# NexusPHP v1.9.11 2025-11-02 +# NexusPHP v1.10.0 2026-02-01 diff --git a/config/prowlarr/Definitions/frozenlayer.yml b/config/prowlarr/Definitions/frozenlayer.yml index 930e5b75..7b3f2e6c 100644 --- a/config/prowlarr/Definitions/frozenlayer.yml +++ b/config/prowlarr/Definitions/frozenlayer.yml @@ -7,7 +7,7 @@ type: public encoding: UTF-8 requestDelay: 2 certificates: - - 4a2229e8450d4cd573b4c6b2354c6e86fb038295 # Expired 29 June 2025 + - 12b89038d79803d9fae15e1babf50014d6398924 # Expired 17th Feb 2026 links: - https://www.frozen-layer.com/ diff --git a/config/prowlarr/Definitions/g3minitr4ck3r-api.yml b/config/prowlarr/Definitions/g3minitr4ck3r-api.yml new file mode 100644 index 00000000..af7df86e --- /dev/null +++ b/config/prowlarr/Definitions/g3minitr4ck3r-api.yml @@ -0,0 +1,239 @@ +--- +id: g3minitr4ck3r-api +name: G3MINI TR4CK3R (API) +description: "G3MINI TR4CK3R is a FRENCH Private Torrent Tracker for MOVIES / TV / GENERAL" +language: fr-FR +type: private +encoding: UTF-8 +links: + - https://gemini-tracker.org/ + +caps: + categorymappings: + - {id: 1, cat: Movies, desc: "Films"} + - {id: 2, cat: TV, desc: "Séries"} + - {id: 10, cat: TV/Sport, desc: "Sports"} + - {id: 13, cat: Movies/Other, desc: "Documentaires - Film"} + - {id: 14, cat: TV/Documentary, desc: "Documentaires - Series"} + - {id: 3, cat: PC/Games, desc: "Jeux PC"} + - {id: 4, cat: Console, desc: "Jeux Consoles"} + - {id: 7, cat: Movies, desc: "Films Animation Japonaise"} + - {id: 6, cat: TV/Anime, desc: "Animes"} + - {id: 5, cat: Audio, desc: "Audios"} + - {id: 8, cat: Books/Comics, desc: "Bandes dessinées"} + - {id: 11, cat: Books/Comics, desc: "Mangas"} + - {id: 9, cat: Books/Mags, desc: "Magazines"} + - {id: 12, cat: Books/EBook, desc: "Livres"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid, tvdbid, tmdbid] + movie-search: [q, imdbid, tmdbid] + music-search: [q] + +settings: + - name: apikey + type: text + label: APIKey + - name: info_key + type: info + label: About your API key + default: "Find or Generate a new API Token by accessing your G3MINI TR4CK3R account My Settings page and clicking on the API Key tab." + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: single_file_release_use_filename + type: checkbox + label: Use filename as title for single file releases + default: true + - name: multilang + type: checkbox + label: Replace MULTi by another language in release name + default: false + - name: multilanguage + type: select + label: Replace MULTi by this language + default: FRENCH + options: + FRENCH: FRENCH + MULTi FRENCH: MULTi FRENCH + ENGLISH: ENGLISH + MULTi ENGLISH: MULTi ENGLISH + VOSTFR: VOSTFR + MULTi VOSTFR: MULTi VOSTFR + - name: vostfr + type: checkbox + label: Replace VOSTFR and SUBFRENCH with ENGLISH + default: false + - name: vfq + type: checkbox + label: Replace VFQ with FRENCH + default: false + - name: sort + type: select + label: Sort requested from site + default: created_at + options: + created_at: created + seeders: seeders + size: size + name: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + +login: + path: /api/torrents + method: get + error: + - selector: a[href*="/login"] + message: + text: "The API key was not accepted by {{ .Config.sitelink }}." + - selector: :root:contains("Account is Banned") + +search: + paths: + # https://hdinnovations.github.io/UNIT3D/torrent_api.html + # https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657 + - path: api/torrents/filter + response: + type: json + + headers: + Authorization: ["Bearer {{ .Config.apikey }}"] + + inputs: + # if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6 + $raw: "{{ range .Categories }}&categories[]={{.}}{{end}}" + name: "{{ .Keywords }}" + seasonNumber: "{{ .Query.Season }}" + episodeNumber: "{{ .Query.Ep }}" + imdbId: "{{ .Query.IMDBIDShort }}" + tmdbId: "{{ .Query.TMDBID }}" + tvdbId: "{{ .Query.TVDBID }}" + "free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}" + sortField: "{{ .Config.sort }}" + sortDirection: "{{ .Config.type }}" + perPage: 100 + + keywordsfilters: + - name: re_replace + args: ["\\.", " "] + + rows: + selector: data + attribute: attributes + + fields: + category: + selector: category_id + title_optional: + selector: name + title_filename: + selector: "files[0].name" + optional: true + files: + selector: num_file + title_phase1: + text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}" + title_vfq: + text: "{{ .Result.title_phase1 }}" + filters: + - name: re_replace + args: ["(?i)\\b(VFQ)\\b", "FRENCH"] + title_phase2: + text: "{{ if .Config.vfq }}{{ .Result.title_vfq }}{{ else }}{{ .Result.title_phase1 }}{{ end }}" + title_vostfr: + text: "{{ .Result.title_phase2 }}" + filters: + - name: re_replace + args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"] + title_phase3: + text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase2 }}{{ end }}" + title_multilang: + text: "{{ .Result.title_phase3 }}" + filters: + - name: re_replace + args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))\\b", "{{ .Config.multilanguage }}"] + title: + text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase3 }}{{ end }}" + details: + selector: details_link + download: + selector: download_link + poster: + selector: meta.poster + filters: + - name: replace + args: ["https://via.placeholder.com/90x135", ""] + imdbid: + selector: imdb_id + tmdbid: + selector: tmdb_id + tvdbid: + selector: tvdb_id + genre: + selector: meta.genres + filters: + - name: replace + args: [" & ", "_&_"] + _internal: + selector: internal + case: + False: "{{ .False }}" + True: "{{ .True }}" + description: + text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}" + seeders: + selector: seeders + leechers: + selector: leechers + grabs: + selector: times_completed + date: + # "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50 + selector: created_at + filters: + - name: append + args: " +00:00" # GMT + - name: dateparse + args: "MM/dd/yyyy HH:mm:ss zzz" + size: + selector: size + _featured: + selector: featured + case: + False: "{{ .False }}" + True: "{{ .True }}" + downloadvolumefactor_freeleech: + # api returns 0%, 25%, 50%, 75%, 100% + selector: freeleech + case: + 0%: 1 # not free + 25%: 0.75 + 50%: 0.5 + 75%: 0.25 + 100%: 0 # freeleech + "*": 0 # catch errors + downloadvolumefactor: + text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}" + uploadvolumefactor_double_upload: + # api returns False, True + selector: double_upload + case: + False: 1 # normal + True: 2 # double + uploadvolumefactor: + text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}" +# global MR is 0.75 but torrents must be seeded for 2 days regardless of ratio +# minimumratio: +# text: 0.75 + minimumseedtime: + # 2 days (as seconds = 2 x 24 x 60 x 60) + text: 172800 +# json UNIT3D 9.2.0 (custom) diff --git a/config/prowlarr/Definitions/gay-torrents.yml b/config/prowlarr/Definitions/gay-torrents.yml index d0b60395..74c5b9db 100644 --- a/config/prowlarr/Definitions/gay-torrents.yml +++ b/config/prowlarr/Definitions/gay-torrents.yml @@ -140,7 +140,7 @@ search: args: ["(\\w+)", "+$1"] # prepend + to each word headers: - User-Agent: ["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.203"] + Referer: ["{{ .Config.sitelink }}"] rows: selector: ul.TorrentList, ul.Torrent-List diff --git a/config/prowlarr/Definitions/generationfree-api.yml b/config/prowlarr/Definitions/generationfree-api.yml index 4d5cc8ae..15bf7258 100644 --- a/config/prowlarr/Definitions/generationfree-api.yml +++ b/config/prowlarr/Definitions/generationfree-api.yml @@ -166,8 +166,6 @@ search: selector: details_link download: selector: download_link - infohash: - selector: info_hash poster: selector: meta.poster filters: @@ -238,4 +236,4 @@ search: minimumseedtime: # 3 days (as seconds = 3 x 24 x 60 x 60) text: 259200 -# json UNIT3D 9.0.1 +# json UNIT3D 9.2.0 (custom) diff --git a/config/prowlarr/Definitions/ggpt.yml b/config/prowlarr/Definitions/ggpt.yml index 367f8ef7..ef59cb47 100644 --- a/config/prowlarr/Definitions/ggpt.yml +++ b/config/prowlarr/Definitions/ggpt.yml @@ -163,4 +163,4 @@ search: description: selector: td:nth-child(2) remove: a, b, font, img, span -# NexusPHP v1.8.11 2024-03-27 +# NexusPHP v1.9.11 2025-11-02 diff --git a/config/prowlarr/Definitions/gimmepeers.yml b/config/prowlarr/Definitions/gimmepeers.yml index d09c67b7..663f0112 100644 --- a/config/prowlarr/Definitions/gimmepeers.yml +++ b/config/prowlarr/Definitions/gimmepeers.yml @@ -84,7 +84,7 @@ login: inputs: username: "{{ .Config.username }}" password: "{{ .Config.password }}" - returnto: / + returnto: /browse.php error: - selector: td:contains("Login failed!") message: diff --git a/config/prowlarr/Definitions/girotorrent.yml b/config/prowlarr/Definitions/girotorrent.yml index bc07619a..20f599d1 100644 --- a/config/prowlarr/Definitions/girotorrent.yml +++ b/config/prowlarr/Definitions/girotorrent.yml @@ -40,11 +40,6 @@ caps: - {id: 28, cat: Movies/Foreign, desc: "Movie Subbed-ita"} - {id: 73, cat: Movies/SD, desc: "Movie MP4"} - {id: 29, cat: Movies/Foreign, desc: "Movie Lingua Originale"} - # ANIMAZIONE - - {id: 32, cat: TV/Anime, desc: "Anime Disney"} - - {id: 33, cat: TV/Anime, desc: "Anime"} - - {id: 34, cat: TV/Anime, desc: "Anime Altri Cartoni"} - - {id: 62, cat: TV/Anime, desc: "Anime Natale Bimbi Girotor"} # TELEVISIONE - {id: 36, cat: TV, desc: "TV Serie"} - {id: 99, cat: TV/HD, desc: "TV Serie Hevc"} @@ -54,6 +49,11 @@ caps: - {id: 38, cat: TV, desc: "TV Concerti-Spettacoli"} - {id: 39, cat: TV, desc: "TV Teatro-Cabaret"} - {id: 40, cat: TV/Documentary, desc: "Tv Documentario"} + # ANIMAZIONE + - {id: 32, cat: TV/Anime, desc: "Anime Disney"} + - {id: 33, cat: TV/Anime, desc: "Anime"} + - {id: 34, cat: TV/Anime, desc: "Anime Altri Cartoni"} + - {id: 62, cat: TV/Anime, desc: "Anime Natale Bimbi Girotor"} # MUSICA - {id: 42, cat: Audio, desc: "Musica CD Singoli"} - {id: 43, cat: Audio, desc: "Musica Italiana"} @@ -149,13 +149,12 @@ download: search: paths: - # 15 results per page fetch 5 (site is slow, dont be greedy and fetch more) - path: index.php inputs: page: torrents search: "{{ .Keywords }}" category: "{{ range .Categories }}{{.}};{{end}}" - # 0 name, 1 name&descr, 2 descr, 3 uploader, 5 gold, 6 silver, 7 bronze + # 0 filename, 1 file&descr, 2 descr, 3 uploader, 5 gold, 6 silver, 7 bronze # note the options are exclusive, so searching for gold means the search keywords are ignored options: 0 # 0 all, 1 activeonly, 2 deadonly @@ -252,4 +251,4 @@ search: args: ["x Upload Multiplier", ""] minimumratio: text: 0.5 -# xbtitFM 3.1.00 +# xbtitFM v4.2.12 diff --git a/config/prowlarr/Definitions/happyfappy.yml b/config/prowlarr/Definitions/happyfappy.yml index 19185645..6b9eb072 100644 --- a/config/prowlarr/Definitions/happyfappy.yml +++ b/config/prowlarr/Definitions/happyfappy.yml @@ -6,10 +6,13 @@ language: en-US type: private encoding: UTF-8 links: + - https://www.happyfappy.net/ +legacylinks: - https://www.happyfappy.org/ caps: categorymappings: + - {id: 15, cat: XXX, desc: "AI"} - {id: 11, cat: XXX, desc: "Asian"} - {id: 6, cat: XXX, desc: "Fansite"} - {id: 13, cat: XXX, desc: "Games"} @@ -108,7 +111,7 @@ search: selector: a[href^="/torrents.php?id="] attribute: href download: - selector: a[href^="torrents.php?action=download&id="] + selector: a[href^="/torrents.php?action=download&id="] attribute: href description_tags: selector: div.tags diff --git a/config/prowlarr/Definitions/happyfappy2fa.yml b/config/prowlarr/Definitions/happyfappy2fa.yml index c400e86e..e7bd1df8 100644 --- a/config/prowlarr/Definitions/happyfappy2fa.yml +++ b/config/prowlarr/Definitions/happyfappy2fa.yml @@ -6,10 +6,13 @@ language: en-US type: private encoding: UTF-8 links: + - https://www.happyfappy.net/ +legacylinks: - https://www.happyfappy.org/ caps: categorymappings: + - {id: 15, cat: XXX, desc: "AI"} - {id: 11, cat: XXX, desc: "Asian"} - {id: 6, cat: XXX, desc: "Fansite"} - {id: 13, cat: XXX, desc: "Games"} @@ -97,7 +100,7 @@ search: selector: a[href^="/torrents.php?id="] attribute: href download: - selector: a[href^="torrents.php?action=download&id="] + selector: a[href^="/torrents.php?action=download&id="] attribute: href description_tags: selector: div.tags diff --git a/config/prowlarr/Definitions/hdarea.yml b/config/prowlarr/Definitions/hdarea.yml index a6315047..ee312362 100644 --- a/config/prowlarr/Definitions/hdarea.yml +++ b/config/prowlarr/Definitions/hdarea.yml @@ -34,8 +34,8 @@ caps: modes: search: [q] - tv-search: [q, season, ep, imdbid] - movie-search: [q, imdbid] + tv-search: [q, season, ep, imdbid, doubanid] + movie-search: [q, imdbid, doubanid] music-search: [q] settings: @@ -92,14 +92,13 @@ search: - path: torrents.php inputs: $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" - search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" + search: "{{ if or .Query.IMDBID .Query.DoubanID }}{{ or .Query.IMDBID .Query.DoubanID }}{{ else }}{{ .Keywords }}{{ end }}" # 0 incldead, 1 active, 2 onlydead incldead: 1 # 0 all, 1 normal, 2 free, 2 2x, 4 2xFree, 5 50%, 6 2x50%, 7 30% spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" - # 0 title, 1 descr, 3 uploader, 4 imdburl - search_area: "{{ if .Query.IMDBID }}4{{ else }}0{{ end }}" - # 0 AND, 1 OR, 2 Exact + # uses 'smart search' + search_area: 0 search_mode: 0 sort: "{{ .Config.sort }}" type: "{{ .Config.type }}" @@ -131,6 +130,9 @@ search: imdbid: selector: a[href*="imdb.com/title/tt"] attribute: href + doubanid: + selector: a[href*="movie.douban.com/subject/"] + attribute: href date_elapsed: # time type: time elapsed (default) selector: td.rowfollow:nth-last-child(6) > span[title] @@ -179,4 +181,4 @@ search: description: selector: td:nth-child(2) remove: a, b, font, img, span -# NexusPHP Standard v1.5 Beta 4 (customised) +# NexusPHP Standard v1.5 Beta 4 (customised) diff --git a/config/prowlarr/Definitions/hdbao.yml b/config/prowlarr/Definitions/hdbao.yml index 4303b17a..b0c0d76c 100644 --- a/config/prowlarr/Definitions/hdbao.yml +++ b/config/prowlarr/Definitions/hdbao.yml @@ -141,12 +141,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td:nth-child(5) + optional: true + default: 512MB seeders: selector: td:nth-child(6) + optional: true + default: 0 leechers: selector: td:nth-child(7) + optional: true + default: 0 grabs: selector: td:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/hdc.yml b/config/prowlarr/Definitions/hdc.yml index f3a24f26..de652adb 100644 --- a/config/prowlarr/Definitions/hdc.yml +++ b/config/prowlarr/Definitions/hdc.yml @@ -33,13 +33,12 @@ caps: music-search: [q] settings: - # not entirely sure why cookie method is being used. while the login page uses non-standard field names, the form seems regular enough. - # but since none of the team have an account we cannot switch to using form method without having any testing validation. - - name: cookie + - name: username type: text - label: Cookie - - name: info_cookie - type: info_cookie + label: Username + - name: password + type: password + label: Password - name: freeleech type: checkbox label: Search freeleech only @@ -63,13 +62,29 @@ settings: type: info label: Settings for Results default: "To use this indexer please set the following on your HDC account profile:
  • Site Language: English
  • Torrent List Profile: Default Modern [preview]
  • Time Type: Time Added
  • Torrents per page: 100
" + - name: info_activity + type: info + label: Account Inactivity + default: "Cherish your user account. Inactive accounts would be deleted based on the following rules:
  1. Veteran User or above would never be deleted.
  2. Elite User or above would never be deleted if parked (at User CP).
  3. Parked accounts would be deleted if users have not logged in for more than 180 days in a row.
  4. Unparked accounts would be deleted if users have not logged in for more than 60 days in a row.
  5. Accounts with both uploaded and downloaded amount being 0 would be deleted if users have not logged in for more than 30 days in a row.
" login: - method: cookie + path: login + method: form + form: form[action="signinhandler"] inputs: - cookie: "{{ .Config.cookie }}" + nftsidl1c03b: "{{ .Config.username }}" + insf0urO0abl1i: "{{ .Config.password }}" + selectorinputs: + s0hot: + selector: input[name="s0hot"] + attribute: value + asDf0z: + selector: input[name="asDf0z"] + attribute: value + error: + - selector: div.errormsg test: - path: pt + path: / selector: a[href^="logout?key="] search: @@ -93,75 +108,67 @@ search: notnewword: 1 rows: - selector: div.trblock + selector: div.mitem fields: - title: - selector: div.trtop a[href^="t-"] category: - selector: div.trm + selector: div.mcontent attribute: style filters: - name: regexp - args: (\d+) + args: "\\/(\\d+).png" + title: + selector: div.mtop a[href^="t-"] details: - selector: div.trtop a[href^="t-"] + selector: div.mtop a[href^="t-"] attribute: href download: selector: a[href^="download?id="] attribute: href poster: - selector: div.trp:not(:has(img[src$="poster.jpg"])) img + selector: div.mcontent:not(:has(img[src$="poster.jpg"])) img attribute: src imdbid: selector: a[href*="imdb.com/title/tt"] attribute: href size: - selector: div.trbo div:nth-last-child(8) + selector: div.mbottom div:nth-last-child(7) remove: i seeders: - selector: div.trbo div:nth-last-child(7) + selector: a[href$="#seeders"] optional: true default: 0 - filters: - - name: re_replace - args: ["\\s", "0"] leechers: - selector: div.trbo div:nth-last-child(6) + selector: a[href$="#leechers"] optional: true default: 0 - filters: - - name: re_replace - args: ["\\s", "0"] grabs: - selector: div.trbo div:nth-last-child(5) + selector: a[href^="viewsnatches?id="] optional: true default: 0 - filters: - - name: re_replace - args: ["\\s", "0"] date: - remove: a, span - selector: div[style="float:right;"] + selector: div[style="minfo"] + remove: span filters: - - name: replace - args: ["@", ""] - name: append args: " +08:00" # CST - name: dateparse args: "yyyy-MM-dd HH:mm:ss zzz" downloadvolumefactor: case: - img.pro_free: 0 - img.pro_free2up: 0 - img.pro_50pctdown: 0.5 - img.pro_50pctdown2up: 0.5 - img.pro_30pctdown: 0.3 + div.bfree: 0 + div.btwoupfree: 0 + div.bhalfdown: 0.5 + div.btwouphalfdown: 0.5 + div.bthirdown: 0.3 + div.bnone: 1 "*": 1 uploadvolumefactor: case: - img.pro_50pctdown2up: 2 - img.pro_free2up: 2 - img.pro_2up: 2 + div.btwouphalfdown: 2 + div.btwoupfree: 2 + div.btwoup: 2 "*": 1 -# engine n/a (likely based on NexusPHP) + minimumratio: + text: 1 +# engine n/a (based on NexusPHP) diff --git a/config/prowlarr/Definitions/hdclone.yml b/config/prowlarr/Definitions/hdclone.yml index 14694024..062430b3 100644 --- a/config/prowlarr/Definitions/hdclone.yml +++ b/config/prowlarr/Definitions/hdclone.yml @@ -6,6 +6,8 @@ language: zh-CN type: private encoding: UTF-8 links: + - https://pt.hdclone.top/ +legacylinks: - https://pt.hdclone.org/ caps: @@ -15,9 +17,9 @@ caps: - {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"} - {id: 403, cat: TV, desc: "TV Shows/综艺"} - {id: 405, cat: TV/Anime, desc: "Animations/动漫ă€ĺŠ¨ç”»"} - - {id: 408, cat: Audio/Video, desc: "Playlet/短剧"} + - {id: 409, cat: Audio/Video, desc: "Playlet/短剧"} - {id: 410, cat: Audio/Video, desc: "MV/演唱会"} - - {id: 406, cat: Audio, desc: "Music/éźłäą"} + - {id: 408, cat: Audio, desc: "Music/éźłäą"} - {id: 407, cat: Other, desc: "Others/ĺ…¶ä»–ďĽć…Žé€‰ďĽ‰"} modes: @@ -170,12 +172,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/hddolby.yml b/config/prowlarr/Definitions/hddolby.yml index 25dc2187..37ba7f73 100644 --- a/config/prowlarr/Definitions/hddolby.yml +++ b/config/prowlarr/Definitions/hddolby.yml @@ -141,12 +141,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/hdfans.yml b/config/prowlarr/Definitions/hdfans.yml index a10ea5b2..94ea3768 100644 --- a/config/prowlarr/Definitions/hdfans.yml +++ b/config/prowlarr/Definitions/hdfans.yml @@ -109,7 +109,7 @@ search: $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}" # 0 incldead, 1 active, 2 dead - incldead: 0 + incldead: 1 # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" # 0 title, 1 descr, 3 uploader, 4 imdburl diff --git a/config/prowlarr/Definitions/hdforever.yml b/config/prowlarr/Definitions/hdforever.yml index 8dccef15..81dcaf8b 100644 --- a/config/prowlarr/Definitions/hdforever.yml +++ b/config/prowlarr/Definitions/hdforever.yml @@ -20,8 +20,9 @@ caps: modes: search: [q] - tv-search: [q, season, ep] - movie-search: [q] + tv-search: [q, season, ep, imdbid, tvdbid] + movie-search: [q, imdbid, tmdbid] + allowtvsearchimdb: true settings: - name: username @@ -79,7 +80,11 @@ settings: - name: info_radarr type: info label: About Radarr - default: The HD-F web site cannot find movies if you use the release year in a title search. When you define your Radarr v3 Indexer remember to tick the Remove year from search string checkbox. + default: The HD-F web site cannot find movies if you use the release year in a title search. When you define your Radarr Indexer remember to tick the Remove year from search string checkbox. + - name: info_release_name + type: info + label: About release names + default: For more stable release names, enable Afficher les noms de fichiers in your HD-F profile settings. login: path: login.php @@ -107,7 +112,8 @@ search: searchsubmit: 1 # 1 freeleech, 2 neutral, 3 both, 0 normal freetorrent: "{{ if .Config.freeleech }}1{{ else }}{{ end }}" - # site does not support imdbid search or display imdb links in results + tmdbid: "{{ .Query.TMDBID }}" + imdbid: "{{ .Query.IMDBID }}" rows: selector: table#torrent_table > tbody > tr.torrent:has(a[href^="torrents.php?action=download&"]) @@ -145,10 +151,14 @@ search: poster: selector: div.group_image img attribute: src - files: - selector: td:nth-child(3) + imdbid: + selector: a[href*="imdb.com/title/tt"] + attribute: href + tmdbid: + selector: a[href*="themoviedb.org/movie/"], a[href*="themoviedb.org/tv/"] + attribute: href date: - selector: td:nth-child(4) + selector: span.time filters: - name: replace args: ["Il y a ", ""] @@ -182,116 +192,74 @@ search: selector: td:nth-child(8) downloadvolumefactor: case: - "div.group_info:contains(\"/ Free\")": 0 - "div.group_info:contains(\"↓75%\")": 0.75 - "div.group_info:contains(\"↓50%\")": 0.50 - "div.group_info:contains(\"↓25%\")": 0.25 # for this site this is the count ratio, which is 25% of the total torrent size. (I.E. it's 75% free) + "div.torrent_info .tl_free": 0 + "div.torrent_info .tl_notice[title*=\"Freeleech\"]": 0 # Global freeleech enabled + "div.torrent_info .tl_notice[title=\"-75%\"]": 0.75 + "div.torrent_info .tl_notice[title=\"-50%\"]": 0.50 + "div.torrent_info .tl_notice[title=\"-25%\"]": 0.25 # for this site this is the count ratio, which is 25% of the total torrent size. (I.E. it's 75% free) "*": 1 uploadvolumefactor: text: 1 - title_phase1: + title_torrent_filename: + selector: div.torrent_filename_row + optional: true + filters: + - name: trim + title_parsed: selector: div.group_info - remove: span.team_name, span:has(a[href^="torrents.php?action=download"]), div.tags, div.vote_controls, div.stats-content, .add_bookmark, img + remove: span.team_name, span:has(a[href^="torrents.php?action=download"]), div.tags, div.vote_controls, div.stats-content, .add_bookmark, img, .tl_free, .tl_notice, .torrent_filename_row filters: - name: replace args: ["\n", " "] - name: re_replace - args: ["\\s+", " "] + args: ["\\[(?:Concert|Film|Film d'animation|Spectacle|SĂ©rie|SĂ©rie d'animation|Documentaire)\\]", ""] - name: replace - args: ["Blu-Ray Original", "Complete.BluRay"] + args: ["Blu-ray Original", "Complete.BluRay"] - name: replace - args: ["Blu-Ray Remux", "Remux"] + args: ["Blu-ray Remux", "Remux"] - name: replace - args: ["Blu-Ray Rip", "BluRay.Rip"] + args: ["Blu-ray Rip", "BluRay.Rip"] - name: replace args: ["mHD", "mHD.BluRay.Rip"] - - name: replace - args: ["/ DC", "/ Directors.Cut"] - - name: replace - args: ["/ VL", "/ Extended"] - - name: replace - args: ["/ RM", "/ Remastered"] - - name: replace - args: ["/ UC", "/ Uncut"] - - name: replace - args: ["/ ES", "/ Special.Edition"] - - name: replace - args: [" / Cust_sub", ""] - - name: replace - args: [" / Cust", ""] - - name: replace - args: ["/ UN", "/ Unrated"] - - name: replace - args: [" / Crit", ""] - - name: replace - args: [" / WAC", ""] - - name: replace - args: [" / MoC", ""] - - name: replace - args: [" / BFI", ""] - - name: replace - args: [" / MUET", ""] - - name: replace - args: ["/ Exc NF", "/ NF"] - - name: replace - args: ["/ Exc AMZ", "/ AMZ"] - - name: replace - args: ["/ Exc YOU", "/ YT"] - - name: replace - args: [" / ↓25%", ""] - - name: replace - args: [" / ↓50%", ""] - - name: replace - args: [" / ↓75%", ""] - - name: replace - args: [" / Free", ""] - - name: replace - args: [" / ComplĂ©tĂ©!", ""] - - name: replace - args: [" / ", "."] + - name: re_replace + args: ["(?:\\]|\\/\\s)DC", ".Directors.Cut"] + - name: re_replace + args: ["(?:\\]|\\/\\s)VL", ".Extended"] + - name: re_replace + args: ["(?:\\]|\\/\\s)RM", ".Remastered"] + - name: re_replace + args: ["(?:\\]|\\/\\s)UC", ".Uncut"] + - name: re_replace + args: ["(?:\\]|\\/\\s)UR", ".Unrated"] + - name: re_replace + args: ["(?:\\]|\\/\\s)ES", ".Special.Edition"] + - name: re_replace + args: ["(?:\\]|\\/\\s)Crit", ".Criterion"] + - name: re_replace + args: ["(?:\\/ )?(?:Remplaçable|ComplĂ©tĂ©|Bonus|Note Modo|[2-9]+ème partie|\\b(?:Cust(?:_sub)?|WAC|BFI|MUET)\\b)(?: \\/)?", ""] - name: trim - - name: replace - args: [".VFF.VFQ.StFr.MULTI", ".MULTI.VFF.VFQ"] - - name: replace - args: [".VFF.VFQ.VO.StFr.MULTI", ".MULTI.VFF.VFQ"] - - name: replace - args: [".VFF.VFQ.VO.StFr", ".MULTI.VFF.VFQ"] - - name: replace - args: [".VFQ.VO.StFr", ".MULTI.VFQ"] - - name: replace - args: [".VO.VFI.StFr", ".MULTI"] - - name: replace - args: [".VO.VF?.StFr", ".MULTI"] - - name: replace - args: [".VFF.VO.StFr", ".MULTI.VFF"] - - name: replace - args: [".VOF.StFr", ".FRENCH"] - - name: replace - args: [".VFQ.StFr", ".FRENCH"] - - name: replace - args: [".VFF.StFr.MULTI", ".MULTI.VFF"] - - name: replace - args: [".VFF.StFr", ".FRENCH"] - - name: replace - args: [".VFI.MULTI", ".MULTI"] - - name: replace - args: [".VO.StFr", ".VOSTFR"] - - name: replace - args: [".VFQ.VO", ".MULTI.VFQ"] - - name: replace - args: [".VFF.VO", ".MULTI.VFF"] - - name: replace - args: [".VO.VF?.StFr", ".MULTI"] - - name: replace - args: [".VFI.StFr", ".FRENCH"] - - name: replace - args: [".VOF.MULTI", ".MULTI.FRENCH"] - - name: replace - args: [".VOF", ".FRENCH"] - - name: replace - args: [".VFQ.MULTI", ".MULTI.VFQ"] + - name: re_replace + args: ["[\\[\\]\\/\\s?.,:'!]+", "."] + - name: trim + args: "." + - name: re_replace + args: ["(?i)\\.VFF\\.VFQ\\.(?:MULTI|StFR(?:\\.MULTI)?|VO(?:\\.StFR)?)", ".MULTI.VF2"] + - name: re_replace + args: ["(?i)\\.VFF\\.(?:MULTI|StFR(?:\\.MULTI)?|VO(?:\\.StFR)?)", ".MULTI.VFF"] + - name: re_replace + args: ["(?i)\\.VFQ\\.(?:MULTI|StFR(?:\\.MULTI)?|VO(?:\\.StFR)?)", ".MULTI.VFQ"] + - name: re_replace + args: ["(?i)\\.VOQ\\.(?:MULTI|StFR(?:\\.MULTI)?|VO(?:\\.StFR)?)", ".MULTI.VOQ"] + - name: re_replace + args: ["(?i)\\.VFI\\.(?:MULTI|StFR(?:\\.MULTI)?|VO(?:\\.StFR)?)", ".MULTI.VFI"] + - name: re_replace + args: ["(?i)\\.VOF\\.(?:MULTI|StFR(?:\\.MULTI)?|VO(?:\\.StFR)?)", ".MULTI.VOF"] + - name: re_replace + args: ["(?i)\\.(?:VO\\.)?StFR", ".VOSTFR"] - name: append args: "{{ if .Result._release_group }}-{{ .Result._release_group }}{{ else }}{{ end }}" + title_phase1: + text: "{{ if .Result.title_torrent_filename }}{{ .Result.title_torrent_filename }}{{ else }}{{ .Result.title_parsed }}{{ end }}" title_vostfr: text: "{{ .Result.title_phase1 }}" filters: @@ -303,15 +271,20 @@ search: text: "{{ .Result.title_phase2 }}" filters: - name: re_replace - args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))\\b", "{{ .Config.multilanguage }}"] + args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR|VF2|VFF|VFQ|VOQ|VFI|VOF)))\\b", "{{ .Config.multilanguage }}"] title: text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}" description: selector: div.group_info - minimumratio: + filters: + - name: replace + args: ["\n", " "] + - name: re_replace + args: ["\\s+", " "] # global MR is 0.6 but torrents must be seeded for 3 days regardless of ratio +# minimumratio: # text: 0.6 -# minimumseedtime: + minimumseedtime: # 3 days (as seconds = 3 x 24 x 60 x 60) text: 259200 # Gazelle diff --git a/config/prowlarr/Definitions/hdgalaktik.yml b/config/prowlarr/Definitions/hdgalaktik.yml index 4deb1cd8..0f41913c 100644 --- a/config/prowlarr/Definitions/hdgalaktik.yml +++ b/config/prowlarr/Definitions/hdgalaktik.yml @@ -89,9 +89,6 @@ search: paths: - path: browse.php inputs: -# $raw: "{{ range .Categories }}cat[]={{.}}&{{end}}" - cat[]: 0 - shw_incl_cats: 0 # 0 default, 1 active, 2 dead, 3 gold, 4 sticky, lots of others incldead: "{{ if .Config.freeleech }}3{{ else }}0{{ end }}" search: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}" diff --git a/config/prowlarr/Definitions/hdhome.yml b/config/prowlarr/Definitions/hdhome.yml index 18f433fd..2b8655d4 100644 --- a/config/prowlarr/Definitions/hdhome.yml +++ b/config/prowlarr/Definitions/hdhome.yml @@ -12,34 +12,23 @@ legacylinks: caps: categorymappings: + - {id: 506, cat: Movies/BluRay, desc: "Movies 8K UHD BD"} + - {id: 499, cat: Movies/BluRay, desc: "Movies UHD Blu-ray"} + - {id: 518, cat: Movies/UHD, desc: "Movies UHD REMUX"} + - {id: 450, cat: Movies/BluRay, desc: "Movies Bluray"} + - {id: 415, cat: Movies/HD, desc: "Movies REMUX"} + - {id: 505, cat: Movies/UHD, desc: "Movies 8K/4320p"} + - {id: 416, cat: Movies/UHD, desc: "Movies 2160p"} + - {id: 414, cat: Movies/HD, desc: "Movies 1080p"} + - {id: 413, cat: Movies/HD, desc: "Movies 720p"} - {id: 411, cat: Movies/SD, desc: "Movies SD"} - {id: 412, cat: Movies/SD, desc: "Movies IPad"} - - {id: 413, cat: Movies/HD, desc: "Movies 720p"} - - {id: 414, cat: Movies/HD, desc: "Movies 1080p"} - - {id: 415, cat: Movies/HD, desc: "Movies REMUX"} - - {id: 450, cat: Movies/BluRay, desc: "Movies Bluray"} - - {id: 499, cat: Movies/BluRay, desc: "Movies UHD Blu-ray"} - - {id: 416, cat: Movies/UHD, desc: "Movies 2160p"} - - {id: 417, cat: TV/Documentary, desc: "Doc SD"} - - {id: 418, cat: TV/Documentary, desc: "Doc IPad"} - - {id: 419, cat: TV/Documentary, desc: "Doc 720p"} - - {id: 420, cat: TV/Documentary, desc: "Doc 1080p"} - - {id: 421, cat: TV/Documentary, desc: "Doc REMUX"} + - {id: 523, cat: TV/UHD, desc: "TVSeries 8KUHD"} + - {id: 502, cat: TV/UHD, desc: "TVSeries 4K Bluray"} - {id: 451, cat: TV/Documentary, desc: "Doc Bluray"} - - {id: 500, cat: TV/Documentary, desc: "Doc UHD Blu-ray"} - - {id: 422, cat: TV/Documentary, desc: "Doc 2160p"} - - {id: 423, cat: TV/HD, desc: "TVMusic 720p"} - - {id: 424, cat: TV/HD, desc: "TVMusic 1080i"} - - {id: 425, cat: TV/SD, desc: "TVShow SD"} - - {id: 426, cat: TV/SD, desc: "TVShow IPad"} - - {id: 471, cat: TV/SD, desc: "TVShow IPad"} - - {id: 427, cat: TV/HD, desc: "TVShow 720p"} - - {id: 428, cat: TV/HD, desc: "TVShow 1080i"} - - {id: 429, cat: TV/HD, desc: "TVShow 1080p"} - - {id: 430, cat: TV/HD, desc: "TVShow REMUX"} - - {id: 452, cat: TV/HD, desc: "TVShows Bluray"} + - {id: 421, cat: TV/Documentary, desc: "Doc REMUX"} + - {id: 526, cat: TV/UHD, desc: "TVSeries 4320p"} - {id: 431, cat: TV/HD, desc: "TVShow 2160p"} - - {id: 432, cat: TV/SD, desc: "TVSeries SD"} - {id: 433, cat: TV/SD, desc: "TVSeries IPad"} - {id: 434, cat: TV/HD, desc: "TVSeries 720p"} - {id: 435, cat: TV/HD, desc: "TVSeries 1080i"} @@ -47,11 +36,13 @@ caps: - {id: 437, cat: TV/HD, desc: "TVSeries REMUX"} - {id: 453, cat: TV/HD, desc: "TVSereis Bluray"} - {id: 438, cat: TV/UHD, desc: "TVSeries 2160p"} - - {id: 502, cat: TV/UHD, desc: "TVSeries 4K Bluray"} - {id: 439, cat: Audio/Other, desc: "Musics APE"} + - {id: 432, cat: TV/SD, desc: "TVSeries SD"} - {id: 440, cat: Audio/Lossless, desc: "Musics FLAC"} - {id: 441, cat: Audio/Video, desc: "Musics MV"} + - {id: 503, cat: Audio/Video, desc: "Musics Bluray"} - {id: 442, cat: TV/Sport, desc: "Sports 720p"} + - {id: 510, cat: TV/Anime, desc: "Anime 8K UHD BD"} - {id: 443, cat: TV/Sport, desc: "Sports 1080i"} - {id: 444, cat: TV/Anime, desc: "Anime SD"} - {id: 445, cat: TV/Anime, desc: "Anime IPad"} @@ -59,9 +50,31 @@ caps: - {id: 447, cat: TV/Anime, desc: "Anime 1080p"} - {id: 448, cat: TV/Anime, desc: "Anime REMUX"} - {id: 454, cat: TV/Anime, desc: "Anime Bluray"} + - {id: 531, cat: TV/Anime, desc: "Anime UHD REMUX"} - {id: 409, cat: Other, desc: "Misc"} - {id: 449, cat: TV/Anime, desc: "Anime 2160p"} + - {id: 509, cat: TV/Anime, desc: "Anime 8K/4320p"} - {id: 501, cat: TV/Anime, desc: "Anime UHD Blu-ray"} + - {id: 504, cat: TV/Sport, desc: "Sports 2160p"} + - {id: 511, cat: TV/Sport, desc: "Sport 8K/4320p"} + - {id: 508, cat: TV/Documentary, desc: "Doc 8K UHD BD"} + - {id: 529, cat: TV/Documentary, desc: "Doc 8K UHD BD REMUX"} + - {id: 500, cat: TV/Documentary, desc: "Doc UHD Blu-ray"} + - {id: 507, cat: TV/Documentary, desc: "Doc 8K/4320p"} + - {id: 422, cat: TV/Documentary, desc: "Doc 2160p"} + - {id: 420, cat: TV/Documentary, desc: "Doc 1080p"} + - {id: 419, cat: TV/Documentary, desc: "Doc 720p"} + - {id: 417, cat: TV/Documentary, desc: "Doc SD"} + - {id: 418, cat: TV/Documentary, desc: "Doc IPad"} + - {id: 424, cat: TV/HD, desc: "TVMusic 1080i"} + - {id: 423, cat: TV/HD, desc: "TVMusic 720p"} + - {id: 452, cat: TV/HD, desc: "TVShows Bluray"} + - {id: 430, cat: TV/HD, desc: "TVShow REMUX"} + - {id: 429, cat: TV/HD, desc: "TVShow 1080p"} + - {id: 428, cat: TV/HD, desc: "TVShow 1080i"} + - {id: 427, cat: TV/HD, desc: "TVShow 720p"} + - {id: 425, cat: TV/SD, desc: "TVShow SD"} + - {id: 426, cat: TV/SD, desc: "TVShow IPad"} modes: search: [q] @@ -83,6 +96,22 @@ settings: type: info label: Results Per Page default: For best results, change the Torrents per page: setting to 100 on your account profile. + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc login: # using cookie method due to #6460 @@ -99,39 +128,57 @@ search: inputs: $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" - incldead: 1 + # 0 incldead, 1 active, 2 dead + incldead: 0 + # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr, 3 uploader, 4 imdburl search_area: "{{ if .Query.IMDBID }}4{{ else }}0{{ end }}" + # 0 AND, 1 OR, 2 exact search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" notnewword: 1 rows: selector: table.torrents > tbody > tr:has(table.torrentname) fields: - title: - selector: a[title][href^="details.php?id="] - attribute: title category: - selector: a[href^="?cat="] + selector: a[href*="?cat="] attribute: href filters: - name: querystring args: cat + title_default: + selector: table.torrentname td a[href*="details.php?id="] + title: + selector: a[title][href*="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" details: - selector: a[title][href^="details.php?id="] + selector: a[title][href*="details.php?id="] attribute: href download: - selector: a[href^="download.php?id="] + selector: a[href*="download.php?id="] attribute: href size: selector: td.rowfollow:nth-child(5) - grabs: - selector: td.rowfollow:nth-child(8) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 date_elapsed: # time type: time elapsed (default) selector: td.rowfollow:nth-child(4) > span[title] diff --git a/config/prowlarr/Definitions/hdsky.yml b/config/prowlarr/Definitions/hdsky.yml index 550e4edf..78deb234 100644 --- a/config/prowlarr/Definitions/hdsky.yml +++ b/config/prowlarr/Definitions/hdsky.yml @@ -139,12 +139,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/hdspace.yml b/config/prowlarr/Definitions/hdspace.yml index 32fcf0fe..924fe8cb 100644 --- a/config/prowlarr/Definitions/hdspace.yml +++ b/config/prowlarr/Definitions/hdspace.yml @@ -108,6 +108,9 @@ search: filters: - name: querystring args: category + # change broken/missing cat 0 to Others + - name: re_replace + args: ["\\b0\\b", "38"] title_default: selector: td a[href^="index.php?page=torrent-details"] filters: diff --git a/config/prowlarr/Definitions/hdtime.yml b/config/prowlarr/Definitions/hdtime.yml index 3c105d9c..26c6c946 100644 --- a/config/prowlarr/Definitions/hdtime.yml +++ b/config/prowlarr/Definitions/hdtime.yml @@ -158,12 +158,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/hdu.yml b/config/prowlarr/Definitions/hdu.yml index 02a5aa35..18d49a35 100644 --- a/config/prowlarr/Definitions/hdu.yml +++ b/config/prowlarr/Definitions/hdu.yml @@ -148,12 +148,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/hdvideo.yml b/config/prowlarr/Definitions/hdvideo.yml new file mode 100644 index 00000000..b34b1beb --- /dev/null +++ b/config/prowlarr/Definitions/hdvideo.yml @@ -0,0 +1,207 @@ +--- +id: hdvideo +name: HDVideo +description: "HDVideo is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL" +language: zh-CN +type: private +encoding: UTF-8 +links: + - https://hdvideo.top/ + +caps: + categorymappings: + - {id: 406, cat: Audio, desc: "HQ Audio/音轨"} + - {id: 408, cat: Audio/Video, desc: "MV/éźłäą"} + - {id: 407, cat: TV/Sport, desc: "Sports/体育"} + - {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"} + - {id: 403, cat: TV, desc: "TV Shows/综艺"} + - {id: 405, cat: TV/Anime, desc: "Anime/动漫"} + - {id: 402, cat: TV, desc: "TV Series/电视剧"} + - {id: 401, cat: Movies, desc: "Movies/电影"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid, doubanid] + movie-search: [q, imdbid, doubanid] + music-search: [q] + +settings: + - name: username + type: text + label: Username + - name: password + type: password + label: Password + - name: 2facode + type: text + label: 2FA code + - name: info_2fa + type: info + label: "About 2FA code" + default: "Only fill in the 2FA code box if you have enabled 2FA on the HDVideo Web Site. Otherwise just leave it empty." + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. + - name: info_activity + type: info + label: Account Inactivity + default: "Accounts inactive (i.e. not logged in for a long time) are automatically deleted." + +login: + path: login.php + method: form + form: form[action="takelogin.php"] + captcha: + type: image + selector: img[alt="CAPTCHA"] + input: imagestring + inputs: + secret: "" + username: "{{ .Config.username }}" + password: "{{ .Config.password }}" + two_step_code: "{{ .Config.2facode }}" + logout: "" + securelogin: "" + ssl: yes + trackerssl: yes + error: + - selector: td.embedded:has(h2:contains("失败")) + test: + path: index.php + selector: a[href="logout.php"] +search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}" + # 0 incldead, 1 active, 2 dead + incldead: 0 + # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr, 3 uploader, 4 imdburl + search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}" + # 0 AND, 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + notnewword: 1 + + rows: + selector: table.torrents > tbody > tr:has(a[href^="download.php?id="]) + + fields: + category: + selector: a[href^="?cat="] + attribute: href + filters: + - name: querystring + args: cat + title_default: + selector: a[href^="details.php?id="] + title: + selector: a[title][href^="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" + details: + selector: a[href^="details.php?id="] + attribute: href + download: + selector: a[href^="download.php?id="] + attribute: href + imdbid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="imdb.com/title/tt"] + attribute: href + doubanid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="movie.douban.com/subject/"] + attribute: href + date_elapsed: + # time type: time elapsed (default) + selector: td.rowfollow:nth-child(4) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-dd HH:mm:ss zzz" + date_added: + # time added + selector: td.rowfollow:nth-child(4):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + date: + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 + downloadvolumefactor: + case: + img.pro_free: 0 + img.pro_free2up: 0 + img.pro_50pctdown: 0.5 + img.pro_50pctdown2up: 0.5 + img.pro_30pctdown: 0.3 + "*": 1 + uploadvolumefactor: + case: + img.pro_50pctdown2up: 2 + img.pro_free2up: 2 + img.pro_2up: 2 + "*": 1 + description_verified: + case: + span[title="通过"], span[title="通éŽ"], span[title="Allowed"]: "Verified:" + span[title="未审"], span[title="未審"], span[title="Not reviewed"]: "Unverified:" + span[title="拒绝"], span[title="拒絕"], span[title="Denied"]: "Banned:" + description: + selector: td:nth-child(2) + remove: a, b, font, img, span + filters: + - name: prepend + args: "{{ .Result.description_verified }} " + minimumseedtime: + # 1 day (as seconds = 24 x 60 x 60) + text: 86400 +# NexusPHP v1.8.15 2024-12-23 diff --git a/config/prowlarr/Definitions/hhanclub.yml b/config/prowlarr/Definitions/hhanclub.yml index f15bcee9..898db6b8 100644 --- a/config/prowlarr/Definitions/hhanclub.yml +++ b/config/prowlarr/Definitions/hhanclub.yml @@ -7,8 +7,10 @@ type: private encoding: UTF-8 followredirect: true links: - - https://hhanclub.top/ + - https://hhanclub.net/ - https://hhan.club/ +legacylinks: + - https://hhanclub.top/ caps: categorymappings: @@ -86,7 +88,7 @@ login: ssl: yes trackerssl: yes error: - - selector: div > div.flex:has(div:contains("失败")) + - selector: div#Container > div.flex:has(div:contains("失败")) test: path: index.php selector: a[href="logout.php"] diff --git a/config/prowlarr/Definitions/hhd-api.yml b/config/prowlarr/Definitions/hhd-api.yml index 2175e534..e48c472c 100644 --- a/config/prowlarr/Definitions/hhd-api.yml +++ b/config/prowlarr/Definitions/hhd-api.yml @@ -199,4 +199,4 @@ search: minimumseedtime: # 7 days (as seconds = 7 x 24 x 60 x 60) text: 604800 -# json UNIT3D 9.1.7 +# json UNIT3D 9.2.0 diff --git a/config/prowlarr/Definitions/hqmusic.yml b/config/prowlarr/Definitions/hqmusic.yml index aa070c7d..a8eff599 100644 --- a/config/prowlarr/Definitions/hqmusic.yml +++ b/config/prowlarr/Definitions/hqmusic.yml @@ -132,12 +132,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/hxpt.yml b/config/prowlarr/Definitions/hxpt.yml new file mode 100644 index 00000000..3293c1fa --- /dev/null +++ b/config/prowlarr/Definitions/hxpt.yml @@ -0,0 +1,168 @@ +--- +id: hxpt +name: HxPT (好学) +description: "HxPT (好学) is a CHINESE Private Torrent Tracker for E-LEARNING" +language: zh-CN +type: private +encoding: UTF-8 +links: + - https://www.hxpt.org/ + +caps: + categorymappings: + - {id: 401, cat: Other, desc: "学前教育 (Preschool)"} + - {id: 402, cat: Other, desc: "ĺ°Źĺ­¦é¨ (Primary School)"} + - {id: 403, cat: Other, desc: "ĺťä¸­é¨ (Middle School)"} + - {id: 404, cat: Other, desc: "é«čŚé¨ (Vocational High School)"} + - {id: 405, cat: Other, desc: "é«ä¸­é¨ (High School)"} + - {id: 406, cat: Other, desc: "教育影音 (Educational Video)"} + + modes: + search: [q] + +settings: + - name: cookie + type: text + label: Cookie + - name: info_cookie + type: info_cookie + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. + - name: info_activity + type: info + label: Account Inactivity + default: "Account retention rules:
  1. Veteran User and above will be retained forever
  2. Elite User and above will not have their account deleted after parking (in the control panel)
  3. Users with a parked account will be deleted if they do not log in for 400 consecutive days
  4. Users with a non-parked account will be deleted if they do not log in for 150 consecutive days
  5. Users who have no traffic (i.e. upload/download data are both 0) will be deleted if they do not log in for 100 consecutive days.
" + +login: + # using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php + method: cookie + inputs: + cookie: "{{ .Config.cookie }}" + test: + path: index.php + selector: a[href="logout.php"] + +search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ .Keywords }}" + # 0 incldead, 1 active, 2 dead + incldead: 0 + # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr, 3 uploader, 4 imdburl + search_area: 0 + # 0 AND, 1 OR, 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + notnewword: 1 + + rows: + selector: table.torrents > tbody > tr:has(a[href^="download.php?id="]) + + fields: + category: + selector: a[href^="?cat="] + attribute: href + filters: + - name: querystring + args: cat + title_default: + selector: a[href^="details.php?id="] + title: + selector: a[title][href^="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" + details: + selector: a[href^="details.php?id="] + attribute: href + download: + selector: a[href^="download.php?id="] + attribute: href + poster: + selector: img[data-src] + attribute: data-src + date_elapsed: + # time type: time elapsed (default) + selector: td.rowfollow:nth-child(4) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-dd HH:mm:ss zzz" + date_added: + # time added + selector: td.rowfollow:nth-child(4):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + date: + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 + downloadvolumefactor: + case: + img.pro_free: 0 + img.pro_free2up: 0 + img.pro_50pctdown: 0.5 + img.pro_50pctdown2up: 0.5 + img.pro_30pctdown: 0.3 + "*": 1 + uploadvolumefactor: + case: + img.pro_50pctdown2up: 2 + img.pro_free2up: 2 + img.pro_2up: 2 + "*": 1 + minimumseedtime: + # 24 hours (as seconds = 24 x 60 x 60) + text: 86400 + description: + selector: td.rowfollow:nth-child(2) + remove: a, b, font, img, span +# NexusPHP v1.9.6 2025-06-25 diff --git a/config/prowlarr/Definitions/isohunt2.yml b/config/prowlarr/Definitions/isohunt2.yml index b0fff9c3..a58efde4 100644 --- a/config/prowlarr/Definitions/isohunt2.yml +++ b/config/prowlarr/Definitions/isohunt2.yml @@ -6,13 +6,20 @@ language: en-US type: public encoding: UTF-8 links: - - https://isohunt.sh/ + - https://isohunt.lol/ + - https://isohuntx.com/ + - https://isohuntz.com/ + - https://isohuntz.net/ + - https://isohunt.how/ + - https://isohunt.tube/ legacylinks: - https://isohunt2.net/ # redirects to torrentproject.cc - https://isohunt.fun/ # redirects to torrentproject.cc - https://isohunt.tv/ # redirects to torrentproject.cc - https://isohunt.nz/ - https://isohunt.ch/ + - https://isohunt.sh/ + - https://isohunt.app/ caps: categorymappings: diff --git a/config/prowlarr/Definitions/jme-reunit3d-api.yml b/config/prowlarr/Definitions/jme-reunit3d-api.yml index de204673..a7a17da4 100644 --- a/config/prowlarr/Definitions/jme-reunit3d-api.yml +++ b/config/prowlarr/Definitions/jme-reunit3d-api.yml @@ -88,8 +88,8 @@ search: # if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6 $raw: "{{ range .Categories }}&categories[]={{.}}{{end}}" name: "{{ .Keywords }}" - seasonNumber: "{{ .Query.Season }}" - episodeNumber: "{{ .Query.Ep }}" + # seasonNumber: "{{ .Query.Season }}" # not supported + # episodeNumber: "{{ .Query.Ep }}" # not supported imdbId: "{{ .Query.IMDBIDShort }}" tmdbId: "{{ .Query.TMDBID }}" tvdbId: "{{ .Query.TVDBID }}" @@ -163,4 +163,4 @@ search: minimumseedtime: # 4 days (as seconds = 4 x 24 x 60 x 60) text: 345600 -# json UNIT3D 6.0.4 +# json UNIT3D 6.0.4 (custom) diff --git a/config/prowlarr/Definitions/jpopsuki.yml b/config/prowlarr/Definitions/jpopsuki.yml index db8af804..caf48471 100644 --- a/config/prowlarr/Definitions/jpopsuki.yml +++ b/config/prowlarr/Definitions/jpopsuki.yml @@ -26,7 +26,7 @@ caps: search: [q] tv-search: [q, season, ep, genre] movie-search: [q, genre] - music-search: [q, album, artist, genre] + music-search: [q, genre] settings: - name: username @@ -68,29 +68,31 @@ login: - selector: form#loginform > span.warning, font[color="red"] test: path: index.php - selector: a[href^="logout.php?auth="] + selector: a[href^="logout.php?auth="], a[href^="torrents.php?action=download&id="] search: - # https://jpopsuki.eu/ajax.php?section=torrents&artistname=&action=advanced&torrentname=snow+man&remastertitle=&filelist=&bitrate=&format=&media=&year=&freeleech=&remastered=&searchtags=&tags_type=0&order_by=s3&order_way=desc&enablegrouping=1 + # https://jpopsuki.eu/ajax.php?section=torrents&searchstr=snow man&action=basic&searchtags=&tags_type=0&order_by=s3&order_way=desc&filter_cat[5]=1 paths: - path: ajax.php + keywordsfilters: + - name: re_replace # replace special characters with " " (space) + args: ["[\\[!\"#$%&'()*+,\\-.\\/:;<=>?@[\\]^_`{|}~]", " "] inputs: - $raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}{{ if or .Query.Album .Query.Artist .Keywords }}action=advanced{{ else }}searchtags=japanese&tags_type=0{{ end }}" - artistname: "{{ .Query.Artist }}" - torrentname: "{{ if .Query.Album }}{{ .Query.Album }}{{ else }}{{ .Keywords }}{{ end }}" - freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}" - order_by: "{{ .Config.sort }}" - order_way: "{{ .Config.type }}" - disablegrouping: 1 section: torrents + searchstr: "{{ .Keywords }}" + action: basic searchtags: "{{ .Query.Genre }}" # 0 Any, 1 All tags_type: 1 + order_by: "{{ .Config.sort }}" + order_way: "{{ .Config.type }}" + freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}" + $raw: "{{ range .Categories }}&filter_cat[{{.}}]=1{{end}}" error: - selector: :root:contains("Database error.") rows: - selector: table#torrent_table > tbody > tr[class^="torrent"] + selector: table#torrent_table > tbody > tr[class^="torrent"]:has(a[href^="torrents.php?action=download&id="]) fields: category: @@ -109,6 +111,9 @@ search: args: [".", "_"] description: text: "{{ .Result.genre }}" + artist: + selector: td:nth-last-child(7) a[href*="artist.php"] + optional: true title: selector: td:nth-last-child(7) remove: span, div.tags, a[title="View Comments"] diff --git a/config/prowlarr/Definitions/jptv4us-api.yml b/config/prowlarr/Definitions/jptv4us-api.yml new file mode 100644 index 00000000..f6847041 --- /dev/null +++ b/config/prowlarr/Definitions/jptv4us-api.yml @@ -0,0 +1,197 @@ +--- +id: jptv4us-api +name: JPTV4us (API) +description: "JPTV4us is a JAPANESE Private Torrent Tracker for MOVIES / TV / MUSIC / GENERAL" +language: en-US +type: private +encoding: UTF-8 +links: + - https://jptv4.us/ + +caps: + categorymappings: + - {id: 1, cat: TV/Anime, desc: "Anime Movie"} + - {id: 2, cat: TV/Anime, desc: "Anime Series"} + - {id: 3, cat: TV/Documentary, desc: "Documentary"} + - {id: 4, cat: TV, desc: "Drama"} + - {id: 5, cat: TV/Other, desc: "Informational"} + - {id: 6, cat: Movies, desc: "Movie"} + - {id: 7, cat: Audio/Video, desc: "Music"} + - {id: 8, cat: TV/Other, desc: "News"} + - {id: 9, cat: TV/Other, desc: "Variety"} + - {id: 10, cat: Other, desc: "Other"} + - {id: 11, cat: Audio, desc: "Audio Only"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid, tvdbid, tmdbid] + movie-search: [q, imdbid, tmdbid] + music-search: [q] + book-search: [q] + +settings: + - name: apikey + type: text + label: APIKey + - name: info_key + type: info + label: About your API key + default: "Find or Generate a new API Token by accessing your JPTV4us account My Settings page and clicking on the API Key tab." + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: single_file_release_use_filename + type: checkbox + label: Use filename as title for single file releases + default: true + - name: sort + type: select + label: Sort requested from site + default: created_at + options: + created_at: created + seeders: seeders + size: size + name: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + +login: + path: /api/torrents + method: get + error: + - selector: a[href*="/login"] + message: + text: "The API key was not accepted by {{ .Config.sitelink }}." + - selector: :root:contains("Account is Banned") + +search: + paths: + # https://hdinnovations.github.io/UNIT3D/torrent_api.html + # https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657 + - path: api/torrents/filter + response: + type: json + + headers: + Authorization: ["Bearer {{ .Config.apikey }}"] + + inputs: + # if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6 + $raw: "{{ range .Categories }}&categories[]={{.}}{{end}}" + name: "{{ .Keywords }}" + seasonNumber: "{{ .Query.Season }}" + episodeNumber: "{{ .Query.Ep }}" + imdbId: "{{ .Query.IMDBIDShort }}" + tmdbId: "{{ .Query.TMDBID }}" + tvdbId: "{{ .Query.TVDBID }}" + "free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}" + sortField: "{{ .Config.sort }}" + sortDirection: "{{ .Config.type }}" + perPage: 100 + + keywordsfilters: + - name: re_replace + args: ["\\.", " "] + + rows: + selector: data + attribute: attributes + + fields: + category: + selector: category_id + title_optional: + selector: name + title_filename: + selector: "files[0].name" + optional: true + files: + selector: num_file + title: + text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}" + details: + selector: details_link + download: + selector: download_link + poster: + selector: meta.poster + filters: + - name: replace + args: ["https://via.placeholder.com/90x135", ""] + imdbid: + selector: imdb_id + tmdbid: + selector: tmdb_id + tvdbid: + selector: tvdb_id + genre: + selector: meta.genres + filters: + - name: re_replace + args: ["(?i)(Science Fiction)", "Science_Fiction"] + - name: re_replace + args: ["(?i)(TV Movie)", "TV_Movie"] + - name: replace + args: [" & ", "_&_"] + _internal: + selector: internal + case: + False: "{{ .False }}" + True: "{{ .True }}" + description: + text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}" + seeders: + selector: seeders + leechers: + selector: leechers + grabs: + selector: times_completed + date: + # "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50 + selector: created_at + filters: + - name: append + args: " +00:00" # GMT + - name: dateparse + args: "MM/dd/yyyy HH:mm:ss zzz" + size: + selector: size + _featured: + selector: featured + case: + False: "{{ .False }}" + True: "{{ .True }}" + downloadvolumefactor_freeleech: + # api returns 0%, 25%, 50%, 75%, 100% + selector: freeleech + case: + 0%: 1 # not free + 25%: 0.75 + 50%: 0.5 + 75%: 0.25 + 100%: 0 # freeleech + "*": 0 # catch errors + downloadvolumefactor: + text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}" + uploadvolumefactor_double_upload: + # api returns False, True + selector: double_upload + case: + False: 1 # normal + True: 2 # double + uploadvolumefactor: + text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}" +# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio +# minimumratio: +# text: 0.4 + minimumseedtime: + # 7 days (as seconds = 7 x 24 x 60 x 60) + text: 604800 +# json UNIT3D 9.1.7 diff --git a/config/prowlarr/Definitions/kamept.yml b/config/prowlarr/Definitions/kamept.yml index dcaa7b62..95322623 100644 --- a/config/prowlarr/Definitions/kamept.yml +++ b/config/prowlarr/Definitions/kamept.yml @@ -62,7 +62,7 @@ settings: default: For best results, change the Torrents per page: setting to 100 on your account profile. login: - # using cookie method because login page has embedded Clouflare turnstile + # using cookie method because login page has embedded Cloudflare turnstile method: cookie inputs: cookie: "{{ .Config.cookie }}" @@ -137,12 +137,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/keepfriends.yml b/config/prowlarr/Definitions/keepfriends.yml index aaded69e..4be3a4c1 100644 --- a/config/prowlarr/Definitions/keepfriends.yml +++ b/config/prowlarr/Definitions/keepfriends.yml @@ -72,7 +72,7 @@ settings: default: For best results, change the Torrents per page: setting to 100 on your account profile. login: - # using cookie method because login page has embedded Clouflare turnstile + # using cookie method because login page has embedded Cloudflare turnstile method: cookie inputs: cookie: "{{ .Config.cookie }}" diff --git a/config/prowlarr/Definitions/kelu.yml b/config/prowlarr/Definitions/kelu.yml index 6f567188..f3125dd8 100644 --- a/config/prowlarr/Definitions/kelu.yml +++ b/config/prowlarr/Definitions/kelu.yml @@ -156,12 +156,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/kickasstorrents-to.yml b/config/prowlarr/Definitions/kickasstorrents-to.yml index 73cfc603..d2cb788f 100644 --- a/config/prowlarr/Definitions/kickasstorrents-to.yml +++ b/config/prowlarr/Definitions/kickasstorrents-to.yml @@ -40,6 +40,7 @@ caps: - {id: "AnimeLiveAction[English-translated]", cat: TV/Anime, desc: "Anime Live Action English-translated"} - {id: "AnimeLiveAction[Non-English]", cat: TV/Anime, desc: "Anime Live Action Non-English"} - {id: "AnimeLiveAction[Raw]", cat: TV/Anime, desc: "Anime Live Action Raw"} + - {id: AnimeMusicvideo, cat: Audio/Video, desc: Anime Music video} - {id: AnimePictures, cat: Other, desc: Anime Pictures} - {id: AnimeRaw, cat: TV/Anime, desc: Anime Raw} - {id: AnimeSubs, cat: TV/Anime, desc: Anime Subs} @@ -87,6 +88,7 @@ caps: - {id: MoviesHighresMovies, cat: Movies/HD, desc: "Movies Highres"} - {id: MoviesMP4, cat: Movies/HD, desc: "Movies MP4"} - {id: MoviesMusicvideos, cat: Audio/Video, desc: "Movies Music videos"} + - {id: MoviesMovieclips, cat: Other, desc: "Movies Movie clips"} - {id: MoviesOtherMovies, cat: Movies/Other, desc: "Movies Other"} - {id: MoviesUltraHD, cat: Movies/UHD, desc: "Movies UltraHD"} - {id: Music, cat: Audio, desc: Music} diff --git a/config/prowlarr/Definitions/krazyzone.yml b/config/prowlarr/Definitions/krazyzone.yml index c9880e7b..ede762be 100644 --- a/config/prowlarr/Definitions/krazyzone.yml +++ b/config/prowlarr/Definitions/krazyzone.yml @@ -16,8 +16,8 @@ caps: - {id: 80, cat: Audio, desc: "DMC: DMC"} - {id: 49, cat: Audio/MP3, desc: "KZN MP3 Weekly: Ex-Vip"} - {id: 76, cat: Audio, desc: "KZN-Exclusive: Exclusive "} - - {id: 77, cat: Audio, desc: "KZN: Out Of VIP"} - {id: 98, cat: Audio/MP3, desc: "Other Mp3 Weeky: Mp3"} + - {id: 77, cat: Audio, desc: "KZN: Out Of VIP"} - {id: 99, cat: Audio/MP3, desc: "KZ Internal: KZ Internal"} - {id: 74, cat: Audio, desc: "Discography: Collection"} - {id: 82, cat: Audio/Lossless, desc: "Flac: Flac-Flac Packs"} @@ -29,16 +29,17 @@ caps: - {id: 24, cat: Audio, desc: "Karaoke: All Karaoke"} - {id: 47, cat: Movies/BluRay, desc: "Movies: Bluray-HD"} - {id: 52, cat: Movies, desc: "Pre 90s Movies: Pre90s"} - - {id: 28, cat: Movies, desc: "Movies: 2025"} - - {id: 25, cat: Movies/WEB-DL, desc: "Movies: Web-DL"} + - {id: 28, cat: Movies, desc: "Movies: 2026"} - {id: 102, cat: Movies/HD, desc: "Movies MP4: Movie MP4"} + - {id: 25, cat: Movies/WEB-DL, desc: "Movies: Web-DL"} + - {id: 105, cat: Movies, desc: "Pre 2000 MP4 Movies: Pre 2000 Mp4"} - {id: 48, cat: Movies/SD, desc: "Movies: Xvid-Dvd-Webrip"} - {id: 23, cat: Movies/Other, desc: "Movie: Kids-Anime-Family"} - {id: 41, cat: Movies/3D, desc: "Remux-3D: Remux-3D"} - {id: 86, cat: Movies/HD, desc: "1440P QHD: 1440P QHD"} - {id: 9, cat: Movies/DVD, desc: "Movies: Ntsc Dvdr-ISO"} - - {id: 22, cat: Movies/Foreign, desc: "Movies: Foreign"} - {id: 27, cat: Movies/UHD, desc: "Movies: 4K"} + - {id: 22, cat: Movies/Foreign, desc: "Movies: Foreign"} - {id: 53, cat: Movies, desc: "Movie Packs: Movie Pks"} - {id: 54, cat: Movies, desc: "Movie Pack: Pre-90s"} - {id: 6, cat: Movies/Other, desc: "Kids Movie Pk: Movie Pks"} @@ -60,6 +61,7 @@ caps: - {id: 93, cat: Movies/Other, desc: "Xmas Movies : Packs"} - {id: 94, cat: Audio/Other, desc: "Xmas Music Pack: Packs"} - {id: 95, cat: Other, desc: "Misc: Misc"} + - {id: 106, cat: Audio, desc: "Sals Top Torren: Never Forgotten"} modes: search: [q] diff --git a/config/prowlarr/Definitions/kufei.yml b/config/prowlarr/Definitions/kufei.yml index cc415ba6..69188cbe 100644 --- a/config/prowlarr/Definitions/kufei.yml +++ b/config/prowlarr/Definitions/kufei.yml @@ -175,12 +175,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/kunlun.yml b/config/prowlarr/Definitions/kunlun.yml new file mode 100644 index 00000000..36c9355f --- /dev/null +++ b/config/prowlarr/Definitions/kunlun.yml @@ -0,0 +1,178 @@ +--- +id: kunlun +name: Kunlun (ć†ä»‘) +description: "Kunlun (ć†ä»‘) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL" +language: zh-CN +type: private +encoding: UTF-8 +links: + - https://www.yhpp.cc/ + +caps: + categorymappings: + - {id: 401, cat: Movies, desc: "Movies/电影"} + - {id: 402, cat: TV, desc: "TV Series/电视剧"} + - {id: 403, cat: TV, desc: "TV Shows/综艺"} + - {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"} + - {id: 405, cat: TV/Anime, desc: "Animations/动漫ă€ĺŠ¨ç”»"} + - {id: 406, cat: Audio/Video, desc: "Music Videos/éźłäąč§†é˘‘"} + - {id: 407, cat: TV/Sport, desc: "Sports/体育"} + - {id: 408, cat: Audio/Lossless, desc: "Music/éźłäą"} + - {id: 409, cat: Other, desc: "Others/ĺ…¶ä»–"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid, doubanid] + movie-search: [q, imdbid, doubanid] + music-search: [q] + +settings: + - name: cookie + type: text + label: Cookie + - name: info_cookie + type: info_cookie + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. + - name: info_activity + type: info + label: Account Inactivity + default: "Cherish your user account. Inactive accounts would be deleted based on the following rules:
  1. Veteran User or above would never be deleted
  2. Elite User or above would never be deleted if parked (at User CP)
  3. Parked accounts would be deleted if users have not logged in for more than 400 days in a row
  4. Un-parked accounts would be deleted if users have not logged in for more than 150 days in a row
  5. Accounts with both uploaded and downloaded amount being 0 would be deleted if users have not logged in for more than 100 days in a row.
" + +login: + # using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php + method: cookie + inputs: + cookie: "{{ .Config.cookie }}" + error: + - selector: td.embedded:has(h2:contains("失败")) + test: + path: index.php + selector: a[href="logout.php"] + +search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}" + # 0 incldead, 1 active, 2 dead + incldead: 0 + # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr, 3 uploader, 4 imdburl + search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}" + # 0 AND, 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + notnewword: 1 + + rows: + selector: table.torrents > tbody > tr:has(table.torrentname) + + fields: + category: + selector: a[href^="?cat="] + attribute: href + filters: + - name: querystring + args: cat + title_default: + selector: a[href^="details.php?id="] + title: + selector: a[title][href^="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" + details: + selector: a[href^="details.php?id="] + attribute: href + download: + selector: a[href^="download.php?id="] + attribute: href + imdbid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="imdb.com/title/tt"] + attribute: href + doubanid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="movie.douban.com/subject/"] + attribute: href + date_elapsed: + # time type: time elapsed (default) + selector: td.rowfollow:nth-child(4) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-dd HH:mm:ss zzz" + date_added: + # time added + selector: td.rowfollow:nth-child(4):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + date: + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 + downloadvolumefactor: + case: + img.pro_free: 0 + img.pro_free2up: 0 + img.pro_50pctdown: 0.5 + img.pro_50pctdown2up: 0.5 + img.pro_30pctdown: 0.3 + "*": 1 + uploadvolumefactor: + case: + img.pro_50pctdown2up: 2 + img.pro_free2up: 2 + img.pro_2up: 2 + "*": 1 + description: + selector: td.rowfollow:nth-child(2) + remove: a, b, font, img, span +# NexusPHP v1.9.13 2025-12-28 diff --git a/config/prowlarr/Definitions/lacale-api.yml b/config/prowlarr/Definitions/lacale-api.yml new file mode 100644 index 00000000..95ddf14d --- /dev/null +++ b/config/prowlarr/Definitions/lacale-api.yml @@ -0,0 +1,171 @@ +--- +id: lacale-api +name: La Cale (API) +description: "La Cale is a FRENCH Private Torrent Tracker for MOVIES / TV / GENERAL" +language: fr-FR +type: private +encoding: UTF-8 +requestDelay: 5.0 +links: + - https://la-cale.space/ + +caps: + # use https://la-cale.space/api/external/meta?apikey=YOUR-APIKEY for cat mappings, slug is id, name is desc + categorymappings: + # Autres + - {id: autres, cat: Other, desc: "Autres"} + # E-books + - {id: e-books, cat: Books/EBook, desc: "E-books"} + - {id: bd, cat: Books/Comics, desc: "BD"} + - {id: comics, cat: Books/Comics, desc: "Comics"} + - {id: divers, cat: Books/Other, desc: "Divers"} + - {id: livres, cat: Books/EBook, desc: "Livres"} + - {id: mangas, cat: Books/Comics, desc: "Mangas"} + - {id: presse, cat: Books/Mags, desc: "Presse"} + # Audio + - {id: audio, cat: Audio, desc: "Audio"} + - {id: audio-divers, cat: Audio/Other, desc: "Audio divers"} + - {id: audiobooks, cat: Audio/Audiobook, desc: "Audiobooks"} + - {id: music, cat: Audio, desc: "Musique"} + - {id: flac, cat: Audio/Lossless, desc: "FLAC"} + - {id: m4a, cat: Audio, desc: "M4A"} + - {id: mp3, cat: Audio/MP3, desc: "MP3"} + - {id: podcast, cat: Audio/Other, desc: "Podcast"} + # Jeux + - {id: games, cat: PC/Games, desc: "Jeux"} + - {id: nintendo, cat: Console/NDS, desc: "Nintendo"} + - {id: pc, cat: PC/Games, desc: "PC"} + - {id: playstation, cat: Console/PS4, desc: "Playstation"} + - {id: sega, cat: Console/Other, desc: "Sega"} + - {id: t-l-phones, cat: PC/Mobile-Other, desc: "Téléphones"} + - {id: vr, cat: PC/Games, desc: "VR"} + - {id: xbox, cat: Console/XBox, desc: "Xbox"} + # Applications + - {id: applications, cat: PC, desc: "Applications"} + - {id: software, cat: PC, desc: "Logiciels"} + - {id: linux, cat: PC, desc: "Linux"} + - {id: systemes, cat: PC, desc: "Systèmes"} + # Vidéo + - {id: video, cat: Movies, desc: "Vidéo"} + - {id: video, cat: TV, desc: "Vidéo"} + - {id: video, cat: TV/Anime, desc: "Anime"} + - {id: films, cat: Movies, desc: "Films"} + - {id: spectacles-concerts, cat: TV/Other, desc: "Spectacles & Concerts"} + - {id: sports, cat: TV/Sport, desc: "Sports"} + - {id: series, cat: TV, desc: "Séries TV"} + # XXX + - {id: xxx, cat: XXX, desc: "XXX"} + + modes: + search: [q] + tv-search: [q, season, ep, tmdbid] + movie-search: [q, tmdbid] + music-search: [q] + book-search: [q] + +settings: + - name: apikey + type: text + label: API key + - name: info_apikey + type: info + label: About your API key + default: "Find/Generate your API key on your La Cale API keys." + - name: multilang + type: checkbox + label: Replace MULTi by another language in release name + default: false + - name: multilanguage + type: select + label: Replace MULTi by this language + default: FRENCH + options: + FRENCH: FRENCH + MULTi.FRENCH: MULTi.FRENCH + ENGLISH: ENGLISH + MULTi.ENGLISH: MULTi.ENGLISH + VOSTFR: VOSTFR + MULTi.VOSTFR: MULTi.VOSTFR + - name: vostfr + type: checkbox + label: Replace VOSTFR and SUBFRENCH with ENGLISH + default: false + +login: + path: api/external + method: get + inputs: + apikey: "{{ .Config.apikey }}" + error: + - selector: ":root:contains(\"API key invalide\")" + message: + text: "The API key was not accepted by {{ .Config.sitelink }}." + - selector: ":root:contains(\"API key manquant\")" + message: + text: "The API key was not accepted by {{ .Config.sitelink }}." + +search: + paths: + # docs at https://la-cale.space/faq/api + - path: api/external + response: + type: json + + inputs: + apikey: "{{ .Config.apikey }}" + $raw: "{{ range .Categories }}cat={{.}}&{{end}}" + q: "{{ if .Keywords }}{{ .Keywords }}{{ else }}*{{ end }}" + tmdbId: "{{ .Query.TMDBID }}" + + rows: + selector: $ + + fields: + categorydesc: + selector: category + title_phase1: + selector: title + title_vostfr: + text: "{{ .Result.title_phase1 }}" + filters: + - name: re_replace + args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"] + title_phase2: + text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase1 }}{{ end }}" + title_multilang: + text: "{{ .Result.title_phase2 }}" + filters: + - name: re_replace + args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))\\b", "{{ .Config.multilanguage }}"] + title: + text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}" + details: + selector: link + download: + selector: downloadLink + infohash: + selector: infoHash + size: + selector: size + date: + # "pubDate": "2026-01-16T16:32:19.243Z" is returned by Newtonsoft.Json.Linq as 16/01/2026 16:32:19 + selector: pubDate + filters: + - name: append + args: " +00:00" # GMT + - name: dateparse + args: "MM/dd/yyyy HH:mm:ss zzz" + seeders: + selector: seeders + leechers: + selector: leechers + downloadvolumefactor: + text: 1 + uploadvolumefactor: + text: 1 + minimumratio: + text: 1.0 + minimumseedtime: + # 2 days (as seconds = 2 x 24 x 60 x 60) + text: 172800 +# json API v1.3 diff --git a/config/prowlarr/Definitions/lajidui.yml b/config/prowlarr/Definitions/lajidui.yml index c14d7a16..226d0d61 100644 --- a/config/prowlarr/Definitions/lajidui.yml +++ b/config/prowlarr/Definitions/lajidui.yml @@ -153,12 +153,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: - selector: td.rowfollow.rowfollow:nth-child(6) + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/lastdigitalunderground.yml b/config/prowlarr/Definitions/lastdigitalunderground.yml index 6126ba1a..cf69b6ef 100644 --- a/config/prowlarr/Definitions/lastdigitalunderground.yml +++ b/config/prowlarr/Definitions/lastdigitalunderground.yml @@ -13,8 +13,8 @@ legacylinks: caps: categorymappings: - {id: 1, cat: Movies, desc: "Films: General"} - - {id: 33, cat: Movies/Other, desc: "Films: [TMDB UnListed]"} - {id: 21, cat: Movies/3D, desc: "Films: 3D"} + - {id: 33, cat: Movies/Other, desc: "Films: [TMDB UnListed]"} - {id: 25, cat: Movies/Other, desc: "Films: Musical"} - {id: 18, cat: Movies/Other, desc: "Films: Silent"} - {id: 24, cat: Movies/Other, desc: "Films: Holiday"} @@ -46,12 +46,18 @@ caps: - {id: 6, cat: XXX, desc: "Mature: NSFW [TMDB Listed]"} - {id: 45, cat: XXX, desc: "Mature: NSFW No ENG Subs"} - {id: 30, cat: XXX, desc: "Mature: NSFW [UnListed]"} + - {id: 52, cat: XXX, desc: "Mature: NSFW LGBTQ [UnListed]"} - {id: 15, cat: XXX/Pack, desc: "Mature: NSFW MegaPacks"} - {id: 10, cat: XXX, desc: "Mature: Hentai"} - {id: 14, cat: XXX/Other, desc: "Mature: Creators Corner"} - {id: 39, cat: XXX/Other, desc: "Mature: NSFL [Listed]"} - {id: 11, cat: XXX/Other, desc: "Mature: NSFL [Unlisted]"} - {id: 44, cat: XXX/Other, desc: "Mature: Audio"} + - {id: 47, cat: PC/0day, desc: "Software: PC"} + - {id: 48, cat: PC/Mac, desc: "Software: Mac"} + - {id: 49, cat: PC, desc: "Software: Linux/Unix"} + - {id: 50, cat: Console, desc: "Software: Console/ROMS"} + - {id: 51, cat: XXX/Other, desc: "Software: Adult Games Mature"} - {id: 43, cat: Other, desc: "Internal Testing"} - {id: 23, cat: Other, desc: "Other_Or_Not_Sure"} diff --git a/config/prowlarr/Definitions/lat-team-api.yml b/config/prowlarr/Definitions/lat-team-api.yml index 485d6854..55ff993f 100644 --- a/config/prowlarr/Definitions/lat-team-api.yml +++ b/config/prowlarr/Definitions/lat-team-api.yml @@ -34,6 +34,7 @@ caps: movie-search: [q, imdbid, tmdbid] music-search: [q] book-search: [q] + allowtvsearchimdb: true settings: - name: apikey @@ -136,8 +137,6 @@ search: selector: details_link download: selector: download_link - infohash: - selector: info_hash poster: selector: meta.poster filters: @@ -212,4 +211,4 @@ search: minimumseedtime: # 3 days (as seconds = 3 x 24 x 60 x 60) text: 259200 -# json UNIT3D 9.1.5 (custom) +# json UNIT3D 9.2.0 (custom) diff --git a/config/prowlarr/Definitions/learnflakes.yml b/config/prowlarr/Definitions/learnflakes.yml index 80f621d5..09708cc1 100644 --- a/config/prowlarr/Definitions/learnflakes.yml +++ b/config/prowlarr/Definitions/learnflakes.yml @@ -46,12 +46,11 @@ caps: book-search: [q] settings: - - name: username + - name: cookie type: text - label: Username - - name: password - type: password - label: Password + label: Cookie + - name: info_cookie + type: info_cookie - name: freeleech type: checkbox label: Filter freeleech only @@ -77,24 +76,10 @@ settings: default: "If you are getting the error Found no results while trying to browse this tracker then first access the site with your browser and check that you are not being forced to change your password because it has expired after 180 days." login: - path: ?p=home&pid=1 - method: form - form: form#loginbox_form - submitpath: ajax/login.php + # using cookie method because login page has embedded Cloudflare turnstile + method: cookie inputs: - action: login - loginbox_membername: "{{ .Config.username }}" - loginbox_password: "{{ .Config.password }}" - loginbox_remember: 1 - selectorinputs: - securitytoken: - selector: "script:contains(\"stKey: \")" - filters: - - name: regexp - args: "stKey: \"(.+?)\"," - error: - - selector: div.error - - selector: :contains("-ERROR-") + cookie: "{{ .Config.cookie }}" test: path: ?p=home&pid=1 selector: div#member_info_bar diff --git a/config/prowlarr/Definitions/leech24.yml b/config/prowlarr/Definitions/leech24.yml index 27022682..c96dbc1a 100644 --- a/config/prowlarr/Definitions/leech24.yml +++ b/config/prowlarr/Definitions/leech24.yml @@ -108,12 +108,12 @@ login: search: paths: - # https://leech24.net/torrents-search.php?c3=1&c1=1&c2=1&c42=1&c4=1&c7=1&search=&cat=0&incldead=1&freeleech=0&lang=0 + # https://leech24.net/torrents-search.php?&search=&incldead=1&freeleech=0&lang=0 - path: torrents-search.php inputs: $raw: "{{ range .Categories }}c{{.}}=1&{{end}}" search: "{{ .Keywords }}" - cat: 0 +# cat: 0 # causes 0 results # 0 active, 1 incldead, 2 onlydead incldead: 1 # 0 all, 1 notfree, 2 onlyfree diff --git a/config/prowlarr/Definitions/lemonhd-net.yml b/config/prowlarr/Definitions/lemonhd-net.yml new file mode 100644 index 00000000..fd420f8a --- /dev/null +++ b/config/prowlarr/Definitions/lemonhd-net.yml @@ -0,0 +1,191 @@ +--- +id: lemonhd-net +name: LemonHD.net +description: "LemonHD.net is a CHINESE Private Torrent Tracker for HD MOVIES / TV" +language: zh-CN +type: private +encoding: UTF-8 +links: + - https://lemonhd.net/ + +caps: + categorymappings: + - {id: 401, cat: Movies, desc: "Movies"} + - {id: 402, cat: Audio, desc: "Misc"} + - {id: 403, cat: TV/Anime, desc: "Animations"} + - {id: 404, cat: Audio/Video, desc: "Music Videos"} + - {id: 405, cat: TV/Documentary, desc: "Documentaries"} + - {id: 406, cat: TV, desc: "TV Series"} + - {id: 407, cat: TV, desc: "TV Shows"} + - {id: 408, cat: Movies/3D, desc: "3D"} + - {id: 409, cat: Other, desc: "Other"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid, doubanid] + movie-search: [q, imdbid, doubanid] + music-search: [q] + +settings: + - name: username + type: text + label: Username + - name: password + type: password + label: Password + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. + - name: info_activity + type: info + label: Account Inactivity + default: "Cherish your user account. Inactive accounts would be deleted based on the following rules:
  1. Veteran User or above would never be deleted.
  2. Elite User or above would never be deleted if parked (at User CP).
  3. Parked accounts would be deleted if users have not logged in for more than 400 days in a row.
  4. Unparked accounts would be deleted if users have not logged in for more than 150 days in a row.
  5. Accounts with both uploaded and downloaded amount being 0 would be deleted if users have not logged in for more than 100 days in a row.
" + +login: + path: login.php + method: form + form: form[action="takelogin.php"] + captcha: + type: image + selector: img[alt="CAPTCHA"] + input: imagestring + inputs: + username: "{{ .Config.username }}" + password: "{{ .Config.password }}" + logout: "" + securelogin: "" + ssl: yes + trackerssl: yes + error: + - selector: td.embedded:has(h2:contains("失败")) + test: + path: index.php + selector: a[href$="logout.php"] + +search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}" + # 0 incldead, 1 active, 2 justdead + incldead: 0 + # promotion: 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x 50%, 7 30% + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr, 3 uploader, 4 imdb + search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}" + # 0 AND, 1 OR, 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + notnewword: 1 + + rows: + selector: table.torrents > tbody > tr:has(table.torrentname) + + fields: + category: + selector: a[href^="?cat="] + attribute: href + filters: + - name: querystring + args: cat + title_default: + selector: a[href^="details.php?id="] + title: + selector: a[title][href^="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" + details: + selector: a[href^="details.php?id="] + attribute: href + download: + selector: a[href^="download.php?id="] + attribute: href + imdbid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="imdb.com/title/tt"] + attribute: href + doubanid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="movie.douban.com/subject/"] + attribute: href + date_elapsed: + # time type: time elapsed (default) + selector: td.rowfollow:nth-child(4) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-dd HH:mm:ss zzz" + date_added: + # time added + selector: td.rowfollow:nth-child(4):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + date: + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 + downloadvolumefactor: + case: + img.pro_free: 0 + img.pro_free2up: 0 + img.pro_50pctdown: 0.5 + img.pro_50pctdown2up: 0.5 + img.pro_30pctdown: 0.3 + "*": 1 + uploadvolumefactor: + case: + img.pro_50pctdown2up: 2 + img.pro_free2up: 2 + img.pro_2up: 2 + "*": 1 + minimumratio: + text: 1.0 + description: + selector: td:nth-child(2) + remove: a, b, font, img, span +# NexusPHP v1.10.0 2026-02-01 diff --git a/config/prowlarr/Definitions/lemonhd.yml b/config/prowlarr/Definitions/lemonhd.yml index 112d5e0c..3cbbcb91 100644 --- a/config/prowlarr/Definitions/lemonhd.yml +++ b/config/prowlarr/Definitions/lemonhd.yml @@ -147,12 +147,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/letseed.yml b/config/prowlarr/Definitions/letseed.yml index f6e157d0..e7c61c2e 100644 --- a/config/prowlarr/Definitions/letseed.yml +++ b/config/prowlarr/Definitions/letseed.yml @@ -5,8 +5,6 @@ description: "LetSeed is a TURKISH Private Torrent Tracker for MOVIES / TV / GEN language: tr-TR type: private encoding: UTF-8 -certificates: - - 5a61cc89a0417dcfe03ef685f7423b6b0bd4dc6b # expired 28 Aug 2025 links: - https://letseed.org/ diff --git a/config/prowlarr/Definitions/linuxtracker.yml b/config/prowlarr/Definitions/linuxtracker.yml index 8b26dddb..fe25a4b7 100644 --- a/config/prowlarr/Definitions/linuxtracker.yml +++ b/config/prowlarr/Definitions/linuxtracker.yml @@ -39,6 +39,7 @@ caps: - {id: 2237, cat: PC/ISO, desc: "Batocera Linux"} - {id: 2272, cat: PC/ISO, desc: "BeeFree OS"} - {id: 2017, cat: PC/ISO, desc: "Berry Linux"} + - {id: 2301, cat: PC/ISO, desc: "Berserk Arch"} - {id: 2243, cat: PC/ISO, desc: "BicomSystems PBXware"} - {id: 2275, cat: PC/ISO, desc: "BigLinux"} - {id: 2286, cat: PC/ISO, desc: "BitKey"} @@ -155,9 +156,11 @@ caps: - {id: 343, cat: PC/ISO, desc: "MidnightBSD"} - {id: 2075, cat: PC/ISO, desc: "Minino"} - {id: 2076, cat: PC/ISO, desc: "Minix"} + - {id: 2300, cat: PC/ISO, desc: "MocaccinoOS"} - {id: 2241, cat: PC/ISO, desc: "MorpheusArch Linux"} - {id: 373, cat: PC/ISO, desc: "Mythbuntu"} - {id: 2078, cat: PC/ISO, desc: "NAS4Free"} + - {id: 2302, cat: PC/ISO, desc: "NakeDeb"} - {id: 2217, cat: PC/ISO, desc: "Namib GNU/Linux"} - {id: 2079, cat: PC/ISO, desc: "Neptune"} - {id: 2080, cat: PC/ISO, desc: "Nethserver"} @@ -187,7 +190,6 @@ caps: - {id: 419, cat: PC/ISO, desc: "Pardus"} - {id: 2162, cat: PC/ISO, desc: "Parrot"} - {id: 422, cat: PC/ISO, desc: "Pcbsd"} - - {id: 429, cat: PC/ISO, desc: "Pentoo"} - {id: 430, cat: PC/ISO, desc: "Peppermint"} - {id: 432, cat: PC/ISO, desc: "Pfsense"} - {id: 2101, cat: PC/ISO, desc: "Pinguy OS"} @@ -227,6 +229,7 @@ caps: - {id: 2118, cat: PC/ISO, desc: "Salentos"} - {id: 477, cat: PC/ISO, desc: "Salix"} - {id: 482, cat: PC/ISO, desc: "Scientific Linux"} + - {id: 2304, cat: PC/ISO, desc: "Security Onion"} - {id: 2250, cat: PC/ISO, desc: "Septor"} - {id: 489, cat: PC/ISO, desc: "SharkLinux"} - {id: 2121, cat: PC/ISO, desc: "Siduction"} @@ -235,6 +238,7 @@ caps: - {id: 493, cat: PC/ISO, desc: "Slackel"} - {id: 495, cat: PC/ISO, desc: "Slackware"} - {id: 499, cat: PC/ISO, desc: "Slax"} + - {id: 2303, cat: PC/ISO, desc: "Slimbook OS"} - {id: 2124, cat: PC/ISO, desc: "SmartOS"} - {id: 2125, cat: PC/ISO, desc: "Smeserver"} - {id: 505, cat: PC/ISO, desc: "Smoothwall Express"} @@ -291,7 +295,7 @@ caps: - {id: 2193, cat: PC/ISO, desc: "Zevenet"} - {id: 1233, cat: PC/ISO, desc: "Zorin"} # undocumented categories - - {id: 531, cat: PC/ISO, desc: "Super Grub2 Disk"} + - {id: 531, cat: PC/ISO, desc: "no category"} modes: search: [q] diff --git a/config/prowlarr/Definitions/locadora.yml b/config/prowlarr/Definitions/locadora.yml index 1311ce6f..3ed7ac0e 100644 --- a/config/prowlarr/Definitions/locadora.yml +++ b/config/prowlarr/Definitions/locadora.yml @@ -144,8 +144,8 @@ search: _internal: selector: internal case: - False: "{{ .False }}" - True: "{{ .True }}" + 0: "{{ .False }}" + 1: "{{ .True }}" description: text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}" seeders: diff --git a/config/prowlarr/Definitions/longpt.yml b/config/prowlarr/Definitions/longpt.yml new file mode 100644 index 00000000..2d326d98 --- /dev/null +++ b/config/prowlarr/Definitions/longpt.yml @@ -0,0 +1,207 @@ +--- +id: longpt +name: LongPT +description: "LongPT is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL" +language: zh-CN +type: private +encoding: UTF-8 +links: + - https://longpt.org/ + +caps: + categorymappings: + - {id: 408, cat: Audio/Lossless, desc: "音频"} + - {id: 410, cat: Audio/Audiobook, desc: "有声书"} + - {id: 409, cat: Other, desc: "ĺ…¶ä»–"} + - {id: 407, cat: TV/Sport, desc: "体育"} + - {id: 406, cat: Audio/Video, desc: "éźłäąč§†é˘‘"} + - {id: 403, cat: TV, desc: "综艺"} + - {id: 402, cat: TV, desc: "剧集"} + - {id: 405, cat: TV/Anime, desc: "动画"} + - {id: 404, cat: TV/Documentary, desc: "纪录片"} + - {id: 401, cat: Movies, desc: "电影"} + - {id: 411, cat: Other, desc: "ĺ…¶ä»–"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid, doubanid] + movie-search: [q, imdbid, doubanid] + music-search: [q] + +settings: + - name: username + type: text + label: Username + - name: password + type: password + label: Password + - name: 2facode + type: text + label: 2FA code + - name: info_2fa + type: info + label: "About 2FA code" + default: "Only fill in the 2FA code box if you have enabled 2FA on the LongPT Web Site. Otherwise just leave it empty." + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. + - name: info_activity + type: info + label: Account Inactivity + default: "Cherish your user account. Inactive accounts would be deleted based on the following rules:
  1. Veteran User or above would never be deleted
  2. Elite User or above would never be deleted if parked (at User CP)
  3. Parked accounts would be deleted if users have not logged in for more than 400 days in a row
  4. Un-parked accounts would be deleted if users have not logged in for more than 150 days in a row
  5. Accounts with both uploaded and downloaded amount being 0 would be deleted if users have not logged in for more than 100 days in a row.
" + +login: + path: login.php + method: form + form: form[action="takelogin.php"] + captcha: + type: image + selector: img[alt="CAPTCHA"] + input: imagestring + inputs: + secret: "" + username: "{{ .Config.username }}" + password: "{{ .Config.password }}" + two_step_code: "{{ .Config.2facode }}" + error: + - selector: td.embedded:has(h2:contains("失败")) + test: + path: index.php + selector: a[href="logout.php"] + +search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}" + # 0 incldead, 1 active, 2 dead + incldead: 0 + # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr, 3 uploader, 4 imdburl + search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}" + # 0 AND, 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + notnewword: 1 + + rows: + selector: table.torrents > tbody > tr:has(table.torrentname) + + fields: + category: + selector: a[href^="?cat="] + attribute: href + filters: + - name: querystring + args: cat + title_default: + selector: a[href^="details.php?id="] + title: + selector: a[title][href^="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" + details: + selector: a[href^="details.php?id="] + attribute: href + download: + selector: a[href^="download.php?id="] + attribute: href + poster: + selector: img[data-src] + attribute: data-src + imdbid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="imdb.com/title/tt"] + attribute: href + doubanid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="movie.douban.com/subject/"] + attribute: href + date_elapsed: + # time type: time elapsed (default) + selector: td.rowfollow:nth-child(4) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-dd HH:mm:ss zzz" + date_added: + # time added + selector: td.rowfollow:nth-child(4):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + date: + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 + downloadvolumefactor: + case: + img.pro_free: 0 + img.pro_free2up: 0 + img.pro_50pctdown: 0.5 + img.pro_50pctdown2up: 0.5 + img.pro_30pctdown: 0.3 + "*": 1 + uploadvolumefactor: + case: + img.pro_50pctdown2up: 2 + img.pro_free2up: 2 + img.pro_2up: 2 + "*": 1 + description_verified: + case: + span[title="通过"]: "Verified:" + span[title="未审"]: "Unverified:" + span[title="拒绝"]: "Banned:" + description: + selector: td.rowfollow:nth-child(2) + remove: a, b, font, img, span + filters: + - name: prepend + args: "{{ .Result.description_verified }} " +# NexusPHP v1.9.6 2025-06-25 diff --git a/config/prowlarr/Definitions/lp-bits.yml b/config/prowlarr/Definitions/lp-bits.yml new file mode 100644 index 00000000..1572a3ec --- /dev/null +++ b/config/prowlarr/Definitions/lp-bits.yml @@ -0,0 +1,162 @@ +--- +id: lp-bits +name: LP-Bits 2.0 +description: LP-Bits 2.0 is a Private Torrent Tracker for Linkin Park Music Releases." +language: en-US +type: private +encoding: UTF-8 +links: + - https://lp-bits.com/ + +caps: + categorymappings: + - {id: 409, cat: Audio/Video, desc: "Video Audience Shot"} + - {id: 404, cat: Audio/Video, desc: "Documentaries \ Misc"} + - {id: 406, cat: Audio/Video, desc: "Music Videos"} + - {id: 407, cat: Audio, desc: "Audio Professional"} + - {id: 408, cat: Audio/Video, desc: "Pro Shot Video"} + - {id: 410, cat: Audio, desc: "Audio Audience Shot"} + + modes: + search: [q] + music-search: [q] + +settings: + - name: cookie + type: text + label: Cookie + - name: info_cookie + type: info_cookie + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. + - name: info_activity + type: info + label: Account Inactivity + default: "Account retention rules:
  1. Veteran User and above will be retained forever
  2. Elite User and above will not have their account deleted after parking (in the control panel)
  3. Users with a parked account will be deleted if they do not log in for 400 consecutive days
  4. Users with a non-parked account will be deleted if they do not log in for 150 consecutive days
  5. Users who have no traffic (i.e. upload/download data are both 0) will be deleted if they do not log in for 100 consecutive days.
" + +login: + # using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php + method: cookie + inputs: + cookie: "{{ .Config.cookie }}" + test: + path: index.php + selector: a[href="logout.php"] + +search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ .Keywords }}" + # 0 incldead, 1 active, 2 dead + incldead: 0 + # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr, 3 uploader, 4 imdburl + search_area: 0 + # 0 AND, 1 OR, 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + notnewword: 1 + + rows: + selector: table.torrents > tbody > tr:has(a[href^="download.php?id="]) + + fields: + category: + selector: a[href^="?cat="] + attribute: href + filters: + - name: querystring + args: cat + title: + selector: a[title][href^="details.php?id="] + attribute: title + details: + selector: a[href^="details.php?id="] + attribute: href + download: + selector: a[href^="download.php?id="] + attribute: href + poster: + selector: img[data-src] + attribute: data-src + filters: + - name: replace + args: ["pic/imdb_pic/nophoto.gif", ""] + date_elapsed: + # time type: time elapsed (default) + selector: td.rowfollow:nth-child(4) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-dd HH:mm:ss zzz" + date_added: + # time added + selector: td.rowfollow:nth-child(4):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + date: + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 + downloadvolumefactor: + case: + img.pro_free: 0 + img.pro_free2up: 0 + img.pro_50pctdown: 0.5 + img.pro_50pctdown2up: 0.5 + img.pro_30pctdown: 0.3 + "*": 1 + uploadvolumefactor: + case: + img.pro_50pctdown2up: 2 + img.pro_free2up: 2 + img.pro_2up: 2 + "*": 1 +# NexusPHP v1.9.14 2026-01-23 (custom) diff --git a/config/prowlarr/Definitions/lst.yml b/config/prowlarr/Definitions/lst.yml index d61ffd06..d3b2bb12 100644 --- a/config/prowlarr/Definitions/lst.yml +++ b/config/prowlarr/Definitions/lst.yml @@ -123,8 +123,6 @@ search: selector: details_link download: selector: download_link - infohash: - selector: info_hash poster: selector: meta.poster filters: @@ -199,4 +197,4 @@ search: minimumseedtime: # 3 days (as seconds = 3 x 24 x 60 x 60) text: 259200 -# json UNIT3D 9.1.5 +# json UNIT3D 9.2.0 diff --git a/config/prowlarr/Definitions/luminarr-api.yml b/config/prowlarr/Definitions/luminarr-api.yml new file mode 100644 index 00000000..ffe28f67 --- /dev/null +++ b/config/prowlarr/Definitions/luminarr-api.yml @@ -0,0 +1,190 @@ +--- +id: luminarr-api +name: Luminarr (API) +description: "Luminarr is a Private Torrent Tracker for MOVIES / TV" +language: en-US +type: private +encoding: UTF-8 +links: + - https://luminarr.me/ + +caps: + categorymappings: + - {id: 1, cat: Movies, desc: "Movies"} + - {id: 2, cat: TV, desc: "TV"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid, tvdbid, tmdbid] + movie-search: [q, imdbid, tmdbid] + +settings: + - name: apikey + type: text + label: APIKey + - name: info_key + type: info + label: About your API key + default: "Find or Generate a new API Token by accessing your luminarr.me account My Settings page and clicking on the API Key tab." + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: single_file_release_use_filename + type: checkbox + label: Use filename as title for single file releases + default: true + - name: sort + type: select + label: Sort requested from site + default: created_at + options: + created_at: created + seeders: seeders + size: size + name: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_activity + type: info + label: Account Inactivity + default: "
  • To avoid your account being disabled, you must login at least once every 3 months (90 days). Accounts will be pruned three months after deactivation for inactivity.
  • Luminarr is a sharing community, not a collection service. You must actively participate by uploading or downloading content within 30 days of account creation. Accounts that show no activity within this period may be pruned.
" + +login: + path: /api/torrents + method: get + error: + - selector: a[href*="/login"] + message: + text: "The API key was not accepted by {{ .Config.sitelink }}." + - selector: :root:contains("Account is Banned") + +search: + paths: + # https://hdinnovations.github.io/UNIT3D/torrent_api.html + # https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657 + - path: api/torrents/filter + response: + type: json + + headers: + Authorization: ["Bearer {{ .Config.apikey }}"] + + inputs: + # if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6 + $raw: "{{ range .Categories }}&categories[]={{.}}{{end}}" + name: "{{ .Keywords }}" + seasonNumber: "{{ .Query.Season }}" + episodeNumber: "{{ .Query.Ep }}" + imdbId: "{{ .Query.IMDBIDShort }}" + tmdbId: "{{ .Query.TMDBID }}" + tvdbId: "{{ .Query.TVDBID }}" + "free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}" + sortField: "{{ .Config.sort }}" + sortDirection: "{{ .Config.type }}" + perPage: 100 + + keywordsfilters: + - name: re_replace + args: ["\\.", " "] + + rows: + selector: data + attribute: attributes + + fields: + category: + selector: category_id + title_optional: + selector: name + title_filename: + selector: "files[0].name" + optional: true + files: + selector: num_file + title: + text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}" + details: + selector: details_link + download: + selector: download_link + poster: + selector: meta.poster + filters: + - name: replace + args: ["https://via.placeholder.com/90x135", ""] + imdbid: + selector: imdb_id + tmdbid: + selector: tmdb_id + tvdbid: + selector: tvdb_id + genre: + selector: meta.genres + filters: + - name: re_replace + args: ["(?i)(Science Fiction)", "Science_Fiction"] + - name: re_replace + args: ["(?i)(TV Movie)", "TV_Movie"] + - name: replace + args: [" & ", "_&_"] + _internal: + selector: internal + case: + False: "{{ .False }}" + True: "{{ .True }}" + description: + text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}" + seeders: + selector: seeders + leechers: + selector: leechers + grabs: + selector: times_completed + date: + # "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50 + selector: created_at + filters: + - name: append + args: " +00:00" # GMT + - name: dateparse + args: "MM/dd/yyyy HH:mm:ss zzz" + size: + selector: size + _featured: + selector: featured + case: + False: "{{ .False }}" + True: "{{ .True }}" + downloadvolumefactor_freeleech: + # api returns 0%, 25%, 50%, 75%, 100% + selector: freeleech + case: + 0%: 1 # not free + 25%: 0.75 + 50%: 0.5 + 75%: 0.25 + 100%: 0 # freeleech + "*": 0 # catch errors + downloadvolumefactor: + text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}" + uploadvolumefactor_double_upload: + # api returns False, True + selector: double_upload + case: + False: 1 # normal + True: 2 # double + uploadvolumefactor: + text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}" +# global MR is 0.6 but torrents must be seeded for 3 days regardless of ratio +# minimumratio: +# text: 0.6 + minimumseedtime: + # 3 days (as seconds = 3 x 24 x 60 x 60) + text: 259200 +# json UNIT3D 9.2.0 diff --git a/config/prowlarr/Definitions/mactorrentsdownload.yml b/config/prowlarr/Definitions/mactorrentsdownload.yml index d3c13cc3..0c23d038 100644 --- a/config/prowlarr/Definitions/mactorrentsdownload.yml +++ b/config/prowlarr/Definitions/mactorrentsdownload.yml @@ -31,11 +31,11 @@ download: - name: replace args: ["/download?", "/download/?"] selectors: - - selector: script:contains("downloadLink") + - selector: script:contains("torrentLink") usebeforeresponse: true filters: - name: regexp - args: "downloadLink = '(.+?)';" + args: "torrentLink = '(.+?)';" search: paths: diff --git a/config/prowlarr/Definitions/magico.yml b/config/prowlarr/Definitions/magico.yml new file mode 100644 index 00000000..d01c6b6f --- /dev/null +++ b/config/prowlarr/Definitions/magico.yml @@ -0,0 +1,329 @@ +--- +id: magico +replaces: + - trellas +name: Magico +description: "Magico (Trellas) is a GREEK Private Torrent Tracker for MOVIES / TV / GENERAL" +language: el-GR +type: private +encoding: UTF-8 +links: + - https://mpellas.me/ +legacylinks: + - https://magico.to/ + - https://magico.info/ + - https://magico.one/ + - https://magico.club/ + - https://magico.fun/ + - https://trellas.info/ + - https://trelas.club/ + - https://trellas.net/ + - https://trellas.me/ + +caps: + categorymappings: + - {id: 1, cat: Movies, desc: "Movies"} + - {id: 84, cat: Movies, desc: "Movies New (2022, 2023, 2024)"} + - {id: 14, cat: Movies/SD, desc: "Movies DVDRip-WEBRip-BRRip (up to 2021)"} + - {id: 16, cat: Movies/SD, desc: "Movies (CAM)"} + - {id: 17, cat: Movies/BluRay, desc: "Movies BLU-RAY"} + - {id: 44, cat: Movies, desc: "Movies Greek"} + - {id: 76, cat: Movies, desc: "Movies Documentaries"} + - {id: 82, cat: Movies, desc: "Movies Theater"} + + - {id: 52, cat: TV, desc: "TV Series"} + - {id: 53, cat: TV/SD, desc: "TV Series Foreign"} + - {id: 70, cat: TV/HD, desc: "TV Series Foreign (720p/1080p)"} + - {id: 54, cat: TV, desc: "TV Series Greek"} + - {id: 86, cat: TV, desc: "TV Series Foreign Complete Seasons"} + - {id: 92, cat: TV, desc: "TV Series Foreign Complete Seasons (720p/1080p)"} + - {id: 87, cat: TV, desc: "TV Series Greek Complete Seasons"} + - {id: 99, cat: TV, desc: "TV Series Greek Turkish women"} + - {id: 63, cat: TV, desc: "TV Series Recreational"} + - {id: 83, cat: TV/Sport, desc: "TV Sports"} + + - {id: 55, cat: Movies, desc: "Children"} + - {id: 38, cat: Movies, desc: "Children (Movies)"} + - {id: 39, cat: Movies, desc: "Children Subtitled (Movies)"} + - {id: 93, cat: Movies, desc: "Children (TV Series)"} + - {id: 94, cat: Movies, desc: "Children Subtitled (TV Series)"} + - {id: 45, cat: Movies, desc: "Children Anime"} + - {id: 98, cat: Movies, desc: "Children 3D"} + - {id: 64, cat: Movies, desc: "Children Music"} + + - {id: 7, cat: Audio, desc: "Music Foreign"} + - {id: 21, cat: Audio, desc: "Music Foreign New Releases"} + - {id: 46, cat: Audio, desc: "Music Foreign Old Releases"} + - {id: 32, cat: Audio, desc: "Music Foreign Discographies"} + - {id: 20, cat: Audio, desc: "Music Foreign Collections"} + - {id: 102, cat: Audio, desc: "Music Foreign MAGICO Radio"} + - {id: 108, cat: Audio, desc: "Music Foreign Lice Cd's"} + - {id: 81, cat: Audio, desc: "Music Foreign Karaoke"} + - {id: 95, cat: Audio, desc: "Music Foreign Soundtrack"} + + - {id: 47, cat: Audio, desc: "Music Greek"} + - {id: 48, cat: Audio, desc: "Music Greek New Releases"} + - {id: 49, cat: Audio, desc: "Music Greek Old Releases"} + - {id: 51, cat: Audio, desc: "Music Greek Discographies"} + - {id: 50, cat: Audio, desc: "Music Greek Collections"} + - {id: 101, cat: Audio, desc: "Music Greek MAGICO Radio"} + - {id: 97, cat: Audio, desc: "Music Greek Live Cd's"} + - {id: 57, cat: Audio, desc: "Music Greek Rebetika"} + - {id: 58, cat: Audio, desc: "Music Greek Primary"} + - {id: 59, cat: Audio, desc: "Music Greek Cretan"} + - {id: 60, cat: Audio, desc: "Music Greek Island"} + - {id: 62, cat: Audio, desc: "Music Greek Pontian"} + - {id: 80, cat: Audio, desc: "Music Greek Karaoke"} + - {id: 96, cat: Audio, desc: "Music Greek Soundtracks"} + + - {id: 73, cat: Audio, desc: "Music Seasonal"} + - {id: 74, cat: Audio, desc: "Music Seasonal Xmas"} + - {id: 79, cat: Audio, desc: "Music Seasonal Easter"} + - {id: 75, cat: Audio, desc: "Music Seasonal Halloween"} + - {id: 78, cat: Audio, desc: "Music Seasonal Valentines"} + + - {id: 33, cat: Books, desc: "Books"} + - {id: 41, cat: Books, desc: "Books Greek"} + - {id: 71, cat: Books, desc: "Books (A)"} + - {id: 65, cat: Books, desc: "Books Comics"} + - {id: 43, cat: Books, desc: "Books Periodicals"} + - {id: 105, cat: Books, desc: "Books Audio"} + - {id: 72, cat: Books, desc: "Books Children"} + - {id: 66, cat: Books, desc: "Books Educational"} + - {id: 42, cat: Books, desc: "Books Foreign"} + - {id: 67, cat: Books, desc: "Books Photos"} + + - {id: 6, cat: PC, desc: "Programs"} + - {id: 18, cat: PC/0day, desc: "Programs PC"} + - {id: 40, cat: PC/Mobile-Android, desc: "Programs Android"} + - {id: 19, cat: PC/Mac, desc: "Programs Mac"} + + - {id: 2, cat: PC/Games, desc: "Games"} + - {id: 27, cat: PC/Games, desc: "Games PC"} + + - {id: 88, cat: Other, desc: "Tutorials / Design / Accessories"} + - {id: 89, cat: Other, desc: "Tutorials Photoshop"} + - {id: 91, cat: Other, desc: "Tutorials Illustrator"} + - {id: 90, cat: Other, desc: "Tutorials After Effects"} + + modes: + search: [q] + tv-search: [q, season, ep] + movie-search: [q] + music-search: [q] + book-search: [q] + +settings: + - name: username + type: text + label: Username + - name: password + type: password + label: Password + - name: freeleech + type: checkbox + label: Filter freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: added + options: + added: created + seeders: seeders + size: size + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + +login: + path: ?p=home&pid=1 + method: form + form: form#loginbox_form + submitpath: /ajax/login.php + inputs: + action: login + loginbox_membername: "{{ .Config.username }}" + loginbox_password: "{{ .Config.password }}" + loginbox_remember: 1 + selectorinputs: + securitytoken: + selector: "script:contains(\"stKey: \")" + filters: + - name: regexp + args: "stKey: \"(.+?)\"," + error: + - selector: ":contains(\"-ERROR-\")" + test: + path: ?p=home&pid=1 + selector: div#member_info_bar + +search: + paths: + - path: /?p=torrents&pid=10 + method: post + keywordsfilters: + - name: toupper + - name: re_replace # add brackets to year on searchquery if missing + args: ["\\(*((19|20)\\d{2})\\)*", "($1)"] + - name: replace # use this as a workaround till #893 is implemented + args: ["Greys Anatomy", "Grey's Anatomy"] + - name: re_replace + args: ["[^\\w\\d\\(\\)]+", "+"] + inputs: + $raw: "{{ range .Categories }}cid[]={{.}}&{{end}}" + keywords: "{{ .Keywords }}" + # name, description, both, uploader + search_type: name + "sortOptions[sortBy]": "{{ .Config.sort }}" + "sortOptions[sortOrder]": "{{ .Config.type }}" + error: + - selector: div#show_error:not(:contains("Δεν βĎέθηκαν αποτελέĎματα")) font + + rows: + selector: "div#content > div.torrent-box[id^=\"torrent_\"]{{ if .Config.freeleech }}:has(img[src$=\"torrent_free.png\"]){{ else }}{{ end }}, tr:has(a[href*=\"?p=torrents\"][href*=\"&action=details\"]){{ if .Config.freeleech }}:has(img[src$=\"torrent_free.png\"]){{ else }}{{ end }}" + + fields: + title: + selector: a[href*="?p=torrents"][href*="&action=details"] + filters: + - name: replace + args: ["Grey's Anatomy", "Greys Anatomy"] + category: + selector: a[href*="?p=torrents"][href*="&cid="] + attribute: href + filters: + - name: querystring + args: cid + details: + selector: a[href*="?p=torrents"][href*="&action=details"] + attribute: href + download: + selector: a[href*="?p=torrents"][href*="&action=download"] + attribute: href + imdbid: + selector: a[href*="imdb.com/title/tt"] + attribute: href + size: + selector: a[rel="torrent_size"] + seeders: + selector: a[rel="torrent_seeders"] + leechers: + selector: a[rel="torrent_leechers"] + grabs: + selector: a[rel="times_completed"] + poster: + selector: a[rel="fancybox"] + attribute: href + description: + selector: div.torrentDetails > div:has(span.floatright) + filters: + - name: re_replace + args: ["^(.+?\\/10)", "IMDB Rating: $1"] + genre: + selector: div.torrentDetails > div:has(span.floatright) + remove: span + filters: + - name: re_replace + args: ["(Είδος:|\\))", ""] + - name: replace + args: [" (", "_"] + - name: replace + args: ["Α- ", "Α-_"] + - name: replace + args: ["Ω- ", "Ω-_"] + - name: replace + args: [" - ", "_-_"] + downloadvolumefactor: + case: + "img[src$=\"torrent_free.png\"]": 0 + "*": 1 + uploadvolumefactor: + case: + "*": 1 + date_day: + # Uploaded Yesterday at 20:12 by + selector: div.torrentOwner:not(:has(abbr.timeago)):contains("day"), div.torrentOwner:not(:has(abbr.timeago)):contains("ĎήμεĎα"), div.torrentOwner:not(:has(abbr.timeago)):contains("εχθές"), div.torrentOwner:not(:has(abbr.timeago)):contains("ΔευτέĎα"), div.torrentOwner:not(:has(abbr.timeago)):contains("ΤĎίτη"), div.torrentOwner:not(:has(abbr.timeago)):contains("ΤετάĎτη"), div.torrentOwner:not(:has(abbr.timeago)):contains("Πέμπτη"), div.torrentOwner:not(:has(abbr.timeago)):contains("ΠαĎαĎκευή"), div.torrentOwner:not(:has(abbr.timeago)):contains("Σάββατο"), div.torrentOwner:not(:has(abbr.timeago)):contains("ΚυĎιακή") + # auto adjusted by site account profile + optional: true + remove: span + filters: + - name: replace + args: ["Uploaded ", ""] + - name: replace + args: [" by", ""] + - name: replace + args: ["Ανέβηκε ", ""] # Uploaded + - name: replace + args: [" από", ""] # by + - name: replace + args: [" τον/την", ""] # him/her + - name: replace + args: ["Ďτις ", "at "] # at + - name: replace + args: ["ĎήμεĎα", "Today"] + - name: replace + args: ["εχθές", "Yesterday"] + - name: replace + args: ["ΔευτέĎα", "Monday"] + - name: replace + args: ["ΤĎίτη", "Tuesday"] + - name: replace + args: ["ΤετάĎτη", "Wednesday"] + - name: replace + args: ["Πέμπτη", "Thursday"] + - name: replace + args: ["ΠαĎαĎκευή", "Friday"] + - name: replace + args: ["Σάββατο", "Saturday"] + - name: replace + args: ["ΚυĎιακή", "Sunday"] + - name: fuzzytime + date_year: + # 23-10-2021 22:59 + selector: div.torrentOwner:not(:has(abbr.timeago)):contains("-") + # auto adjusted by site account profile + optional: true + remove: span + filters: + - name: replace + args: ["Uploaded ", ""] + - name: replace + args: [" by", ""] + - name: replace + args: ["at ", ""] + - name: replace + args: ["Ανέβηκε ", ""] # Uploaded + - name: replace + args: [" από", ""] # by + - name: replace + args: [" τον/την", ""] # him/her + - name: replace + args: ["Ďτις ", ""] # at + - name: dateparse + args: "dd-MM-yyyy HH:mm" + date_other: + selector: td.torrent_name + # auto adjusted by site account profile + optional: true + remove: div, a, span + filters: + - name: replace + args: ["Uploaded ", ""] + - name: replace + args: [" by", ""] + - name: replace + args: ["at ", ""] + - name: dateparse + args: "dd-MM-yyyy HH:mm" + date_unix: + selector: div.torrentOwner > abbr.timeago + attribute: data-time + optional: true + date: + text: "{{ if or .Result.date_day .Result.date_year .Result.date_other .Result.date_unix }}{{ or .Result.date_day .Result.date_year .Result.date_other .Result.date_unix }}{{ else }}now{{ end }}" +# TSUE 2.2 diff --git a/config/prowlarr/Definitions/magnetcat.yml b/config/prowlarr/Definitions/magnetcat.yml index 8ae55191..3bb27ed9 100644 --- a/config/prowlarr/Definitions/magnetcat.yml +++ b/config/prowlarr/Definitions/magnetcat.yml @@ -9,28 +9,28 @@ encoding: UTF-8 links: - https://magnetcatcat.com/ - https://clmclm.com/ + - https://www.8800541.xyz/ + - https://www.8800542.xyz/ + - https://www.8800543.xyz/ + - https://www.8800544.xyz/ +legacylinks: + - https://www.clm472.sbs/ + - https://www.8800526.xyz/ - https://www.8800524.xyz/ - https://www.8800525.xyz/ - https://www.8800528.xyz/ - https://www.8800527.xyz/ -legacylinks: - - https://www.clm472.sbs/ - - https://www.8800507.xyz/ - - https://www.8800508.xyz/ - - https://www.8800509.xyz/ - - https://www.8800510.xyz/ - - https://www.8800511.xyz/ - - https://www.8800514.xyz/ - - https://www.8800515.xyz/ - - https://www.8800516.xyz/ - - https://www.8800517.xyz/ - - https://www.8800518.xyz/ - - https://www.8800520.xyz/ - - https://www.8800519.xyz/ - - https://www.8800521.xyz/ - - https://www.8800522.xyz/ - - https://www.8800523.xyz/ - - https://www.8800526.xyz/ + - https://www.8800529.xyz/ + - https://www.8800531.xyz/ + - https://www.8800535.xyz/ + - https://www.8800532.xyz/ + - https://www.8800533.xyz/ + - https://www.8800534.xyz/ + - https://www.8800536.xyz/ + - https://www.8800537.xyz/ + - https://www.8800538.xyz/ + - https://www.8800539.xyz/ + - https://www.8800540.xyz/ caps: categorymappings: diff --git a/config/prowlarr/Definitions/malayabits-api.yml b/config/prowlarr/Definitions/malayabits-api.yml index 1272c376..e3cdd43b 100644 --- a/config/prowlarr/Definitions/malayabits-api.yml +++ b/config/prowlarr/Definitions/malayabits-api.yml @@ -13,12 +13,14 @@ caps: - {id: 1, cat: Movies, desc: "Movie"} - {id: 2, cat: TV, desc: "TV"} - {id: 3, cat: Audio, desc: "Musik"} + - {id: 4, cat: Books, desc: "Book"} modes: search: [q] tv-search: [q, season, ep, imdbid, tvdbid, tmdbid] movie-search: [q, imdbid, tmdbid] music-search: [q] + book-search: [q] settings: - name: apikey diff --git a/config/prowlarr/Definitions/march.yml b/config/prowlarr/Definitions/march.yml new file mode 100644 index 00000000..215ffe21 --- /dev/null +++ b/config/prowlarr/Definitions/march.yml @@ -0,0 +1,184 @@ +--- +id: march +name: March +description: "March is a CHINESE Private Torrent Tracker for MOVIES / TV" +language: zh-CN +type: private +encoding: UTF-8 +links: + - https://duckboobee.org/ + +caps: + categorymappings: + - {id: 401, cat: Movies, desc: "Movies/电影"} + - {id: 402, cat: TV, desc: "TV Series/电视剧"} + - {id: 403, cat: TV, desc: "TV Shows/综艺"} + - {id: 404, cat: TV/Documentary, desc: "Documentary/纪录片"} + - {id: 405, cat: TV/Anime, desc: "Animations/动画"} + - {id: 406, cat: Audio/Video, desc: "MV/演唱会"} + - {id: 407, cat: TV/Sport, desc: "Sports/体育"} + - {id: 408, cat: Audio, desc: "Music/éźłäą"} + - {id: 409, cat: Other/Misc, desc: "Misc/ĺ…¶ä»–"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid, doubanid] + movie-search: [q, imdbid, doubanid] + music-search: [q] + +settings: + - name: cookie + type: text + label: Cookie + - name: info_cookie + type: info_cookie + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. + - name: info_activity + type: info + label: Account Inactivity + default: "Account retention rules:
  1. Veteran User and above will be retained forever
  2. Elite User and above will not have their account deleted after parking (in the control panel)
  3. Users with a parked account will be deleted if they do not log in for 400 consecutive days
  4. Users with a non-parked account will be deleted if they do not log in for 150 consecutive days
  5. Users who have no traffic (i.e. upload/download data are both 0) will be deleted if they do not log in for 100 consecutive days.
" + +login: + # using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php + method: cookie + inputs: + cookie: "{{ .Config.cookie }}" + test: + path: index.php + selector: a[href="logout.php"] + +search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}" + # 0 incldead, 1 active, 2 dead + incldead: 0 + # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr, 3 uploader, 4 imdburl + search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}" + # 0 AND, 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + notnewword: 1 + + rows: + selector: table.torrents > tbody > tr:has(table.torrentname) + + fields: + category: + selector: a[href^="?cat="] + attribute: href + filters: + - name: querystring + args: cat + title_default: + selector: a[href^="details.php?id="] + title: + selector: a[title][href^="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" + details: + selector: a[href^="details.php?id="] + attribute: href + download: + selector: a[href^="download.php?id="] + attribute: href + poster: + selector: img[data-src] + attribute: data-src + imdbid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="imdb.com/title/tt"] + attribute: href + doubanid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="movie.douban.com/subject/"] + attribute: href + date_elapsed: + # time type: time elapsed (default) + selector: td.rowfollow:nth-child(4) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-dd HH:mm:ss zzz" + date_added: + # time added + selector: td.rowfollow:nth-child(4):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + date: + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 + downloadvolumefactor: + case: + img.pro_free: 0 + img.pro_free2up: 0 + img.pro_50pctdown: 0.5 + img.pro_50pctdown2up: 0.5 + img.pro_30pctdown: 0.3 + "*": 1 + uploadvolumefactor: + case: + img.pro_50pctdown2up: 2 + img.pro_free2up: 2 + img.pro_2up: 2 + "*": 1 + minimumratio: + text: 2.0 + minimumseedtime: + # 2 days (as seconds = 2 x 24 x 60 x 60) + text: 172800 + description: + selector: td.rowfollow:nth-child(2) + remove: a, b, font, img, span +# NexusPHP v1.9.9 2025-10-02 diff --git a/config/prowlarr/Definitions/matrix.yml b/config/prowlarr/Definitions/matrix.yml index d77b6dd4..d256cbf4 100644 --- a/config/prowlarr/Definitions/matrix.yml +++ b/config/prowlarr/Definitions/matrix.yml @@ -17,7 +17,7 @@ caps: - {id: 60, cat: Movies/Other, desc: "Cam/HU"} - {id: 45, cat: Books/EBook, desc: "eBook/EN"} - {id: 40, cat: Books/EBook, desc: "eBook/HU"} -# - {id: 20, cat: Movies/DVD, desc: "Film/DVD9"} + - {id: 20, cat: Movies/DVD, desc: "Film/DVD9"} - {id: 48, cat: Movies/HD, desc: "Film/EN/1080p"} - {id: 32, cat: Movies/HD, desc: "Film/EN/720p"} - {id: 38, cat: Movies/BluRay, desc: "Film/EN/Blu-ray"} @@ -33,7 +33,7 @@ caps: - {id: 39, cat: PC/Games, desc: "JátĂ©kok/Rip/Dox"} - {id: 47, cat: Other, desc: "Klippek"} - {id: 30, cat: Audio/Lossless, desc: "Lossless/EN"} -# - {id: 29, cat: Audio/Lossless, desc: "Lossless/HU"} + - {id: 29, cat: Audio/Lossless, desc: "Lossless/HU"} - {id: 25, cat: Audio/MP3, desc: "MP3/EN"} - {id: 6, cat: Audio/MP3, desc: "MP3/HU"} - {id: 33, cat: PC, desc: "Program/egyĂ©b"} @@ -94,7 +94,7 @@ settings: default: "If you do not log in to the site for 6 months, the system will automatically delete it!" login: - # using cookie method because login page has embedded Clouflare turnstile + # using cookie method because login page has embedded Cloudflare turnstile method: cookie inputs: cookie: "{{ .Config.cookie }}" @@ -127,7 +127,7 @@ search: img[src="/pic/categories/061.png"]: 60 img[src="/pic/categories/017.png"]: 45 img[src="/pic/categories/016.png"]: 40 -# img[]: 20 + img[src="/pic/categories/cat_movies.gif"]: 20 img[src="/pic/categories/010.png"]: 48 img[src="/pic/categories/9.png"]: 32 img[src="/pic/categories/011.png"]: 38 @@ -143,7 +143,7 @@ search: img[src="/pic/categories/cat_games.gif"]: 39 img[src="/pic/categories/026.png"]: 47 img[src="/pic/categories/024.png"]: 30 -# img[]: 29 + img[src="/pic/categories/019.png" ]: 29 img[src="/pic/categories/023.png"]: 25 img[src="/pic/categories/018.png"]: 6 img[src="/pic/categories/025.png"]: 33 diff --git a/config/prowlarr/Definitions/mikan.yml b/config/prowlarr/Definitions/mikan.yml index 2fa16888..8d6cdbf1 100644 --- a/config/prowlarr/Definitions/mikan.yml +++ b/config/prowlarr/Definitions/mikan.yml @@ -49,12 +49,15 @@ search: - name: replace args: ["今天", "Today"] - name: fuzzytime - date_year: - selector: td:nth-child(3):not(:has(a)) + date_year_raw: + selector: td:nth-of-type(4) optional: true filters: - - name: append - args: " +08:00" # CST + - name: regexp + args: "(\\d{4}/\\d{1,2}/\\d{1,2}[\\s\\u00A0]+\\d{1,2}:\\d{2})" + date_year: + text: "{{ if .Result.date_year_raw }}{{ .Result.date_year_raw }} +08:00{{ else }}{{ end }}" + filters: - name: dateparse args: "yyyy/MM/dd HH:mm zzz" date: diff --git a/config/prowlarr/Definitions/mircrew.yml b/config/prowlarr/Definitions/mircrew.yml index 22b51d1d..c607b4af 100644 --- a/config/prowlarr/Definitions/mircrew.yml +++ b/config/prowlarr/Definitions/mircrew.yml @@ -153,7 +153,8 @@ search: $raw: "{{ range .Categories }}&fid[]={{.}}{{end}}" headers: - User-Agent: ["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.203"] + # site blocks Jackett's User-Agents, so use a slightly altered Windows Jackett UA here (e.g. Safari/537.36 > Safari/537.35) + User-Agent: ["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.35"] rows: selector: li.row diff --git a/config/prowlarr/Definitions/mojblink.yml b/config/prowlarr/Definitions/mojblink.yml index 2f3e9d97..7857906e 100644 --- a/config/prowlarr/Definitions/mojblink.yml +++ b/config/prowlarr/Definitions/mojblink.yml @@ -150,6 +150,9 @@ search: type: "{{ .Config.type }}" redir: no + headers: + User-Agent: ["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.203"] + rows: selector: div.bgPreview diff --git a/config/prowlarr/Definitions/momentpt.yml b/config/prowlarr/Definitions/momentpt.yml new file mode 100644 index 00000000..d284df16 --- /dev/null +++ b/config/prowlarr/Definitions/momentpt.yml @@ -0,0 +1,175 @@ +--- +id: momentpt +name: MomentPT +description: "MomentPT is a CHINESE Private Torrent Tracker for Photography" +language: zh-CN +type: private +encoding: UTF-8 +links: + - https://www.momentpt.top/ + +caps: + categorymappings: + - {id: 401, cat: Other, desc: "写真(Portraiture)"} + - {id: 402, cat: Other, desc: "äşşĺŹ(Portrait)"} + - {id: 403, cat: Other, desc: "风光(Landscape)"} + - {id: 404, cat: Other, desc: "纪实(Documentary)"} + - {id: 416, cat: Other, desc: "杂志(Magazine)"} + - {id: 415, cat: Other, desc: "静物(Still Life)"} + - {id: 414, cat: Other, desc: "儿童(Children)"} + - {id: 413, cat: Other, desc: "超现实(Surreal)"} + - {id: 412, cat: Other, desc: "美食(Cuisine)"} + - {id: 411, cat: Other, desc: "动物(Animals)"} + - {id: 405, cat: Other, desc: "äşşć–‡(Humanity)"} + + modes: + search: [q] + +settings: + - name: cookie + type: text + label: Cookie + - name: info_cookie + type: info_cookie + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. + - name: info_activity + type: info + label: Account Inactivity + default: "Account retention rules:
  1. Veteran User and above will be retained forever
  2. Elite User and above will not have their account deleted after parking (in the control panel)
  3. Users with a parked account will be deleted if they do not log in for 400 consecutive days
  4. Users with a non-parked account will be deleted if they do not log in for 150 consecutive days
  5. Users who have no traffic (i.e. upload/download data are both 0) will be deleted if they do not log in for 100 consecutive days.
" + +login: + # using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php + method: cookie + inputs: + cookie: "{{ .Config.cookie }}" + test: + path: index.php + selector: a[href="logout.php"] + +search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ .Keywords }}" + # 0 incldead, 1 active, 2 dead + incldead: 0 + # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr, 3 uploader, 4 imdburl + search_area: 0 + # 0 AND, 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + notnewword: 1 + + rows: + selector: table.torrents > tbody > tr:has(a[href*="download.php?id="]) + + fields: + category: + selector: a[href*="?cat="] + attribute: href + filters: + - name: querystring + args: cat + title_default: + selector: a[href*="details.php?id="] + title: + selector: a[title][href*="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" + details: + selector: a[href*="details.php?id="] + attribute: href + download: + selector: a[href*="download.php?id="] + attribute: href + poster: + selector: img[data-src] + attribute: data-src + date_elapsed: + # time type: time elapsed (default) + selector: td.rowfollow:nth-child(4) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-dd HH:mm:ss zzz" + date_added: + # time added + selector: td.rowfollow:nth-child(4):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + date: + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 + downloadvolumefactor: + case: + img.pro_free: 0 + img.pro_free2up: 0 + img.pro_50pctdown: 0.5 + img.pro_50pctdown2up: 0.5 + img.pro_30pctdown: 0.3 + "*": 1 + uploadvolumefactor: + case: + img.pro_50pctdown2up: 2 + img.pro_free2up: 2 + img.pro_2up: 2 + "*": 1 + minimumratio: + text: 2.0 + minimumseedtime: + # 2 days (as seconds = 2 x 24 x 60 x 60) + text: 172800 + description: + selector: td.rowfollow:nth-child(2) + remove: a, b, font, img, span +# NexusPHP v1.9.7 2025-09-24 (custom) diff --git a/config/prowlarr/Definitions/monikadesign-api.yml b/config/prowlarr/Definitions/monikadesign-api.yml index 75cbfafb..57ec18b3 100644 --- a/config/prowlarr/Definitions/monikadesign-api.yml +++ b/config/prowlarr/Definitions/monikadesign-api.yml @@ -85,8 +85,8 @@ search: # if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6 $raw: "{{ range .Categories }}&categories[]={{.}}{{end}}" name: "{{ .Keywords }}" - seasonNumber: "{{ .Query.Season }}" - episodeNumber: "{{ .Query.Ep }}" + # seasonNumber: "{{ .Query.Season }}" # not supported + # episodeNumber: "{{ .Query.Ep }}" # not supported imdbId: "{{ .Query.IMDBIDShort }}" tmdbId: "{{ .Query.TMDBID }}" tvdbId: "{{ .Query.TVDBID }}" @@ -156,4 +156,4 @@ search: text: 1 minimumratio: text: 0.4 -# json UNIT3D 6.4.1 (Custom) +# json UNIT3D 6.4.1 (custom) diff --git a/config/prowlarr/Definitions/musebootlegs.yml b/config/prowlarr/Definitions/musebootlegs.yml index 36c7575f..6bc0ff35 100644 --- a/config/prowlarr/Definitions/musebootlegs.yml +++ b/config/prowlarr/Definitions/musebootlegs.yml @@ -6,6 +6,8 @@ language: en-US type: semi-private encoding: UTF-8 links: + - https://musebootlegs.com/ +legacylinks: - https://www.musebootlegs.com/ caps: @@ -34,6 +36,9 @@ caps: - {id: 58, cat: Audio/Lossless, desc: "Audio Lossless 2019"} - {id: 61, cat: Audio/Lossless, desc: "Audio Lossless 2022"} - {id: 63, cat: Audio/Lossless, desc: "Audio Lossless 2023"} + - {id: 66, cat: Audio/Lossless, desc: "Audio Lossless 2024"} + - {id: 65, cat: Audio/Lossless, desc: "Audio Lossless 2025"} + - {id: 67, cat: Audio/Lossless, desc: "Audio Lossless 2026"} - {id: 28, cat: Audio/Lossless, desc: "Audio Lossless Misc"} - {id: 8, cat: Audio/Video, desc: "DVD Amateur"} - {id: 3, cat: Audio/Video, desc: "DVD Pro-Shot"} @@ -59,6 +64,10 @@ caps: - {id: 59, cat: Audio/Video, desc: "DVD Pro-Shot 2018"} - {id: 60, cat: Audio/Video, desc: "DVD Pro-Shot 2019"} - {id: 62, cat: Audio/Video, desc: "DVD Pro-Shot 2022"} + - {id: 68, cat: Audio/Video, desc: "DVD Pro-Shot 2023"} + - {id: 69, cat: Audio/Video, desc: "DVD Pro-Shot 2024"} + - {id: 70, cat: Audio/Video, desc: "DVD Pro-Shot 2025"} + - {id: 71, cat: Audio/Video, desc: "DVD Pro-Shot 2026"} - {id: 44, cat: Audio/Video, desc: "DVD Pro-Shot Compilations"} - {id: 45, cat: Audio/Video, desc: "DVD Pro-Shot Music Videos"} - {id: 7, cat: Audio/Video, desc: "High-Definition"} diff --git a/config/prowlarr/Definitions/muxuege.yml b/config/prowlarr/Definitions/muxuege.yml new file mode 100644 index 00000000..ed05b9d2 --- /dev/null +++ b/config/prowlarr/Definitions/muxuege.yml @@ -0,0 +1,194 @@ +--- +id: muxuege +name: Muxuege +description: "Muxuege is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL" +language: zh-CN +type: private +encoding: UTF-8 +links: + - https://pt.muxuege.org/ + +caps: + categorymappings: + - {id: 401, cat: Movies, desc: "电影/Movies"} + - {id: 402, cat: TV, desc: "电视剧/TVSeries"} + - {id: 403, cat: TV, desc: "综艺/TV Shows"} + - {id: 404, cat: TV/Documentary, desc: "纪录片/Documentary"} + - {id: 405, cat: TV/Anime, desc: "动漫/Anime"} + - {id: 406, cat: Audio/Video, desc: "MV/Music Videos"} + - {id: 407, cat: TV/Sport, desc: "体育/Sports"} + - {id: 408, cat: Audio, desc: "éźłäą/Music"} + - {id: 418, cat: Audio, desc: "广播剧/Radio Dramas"} + - {id: 417, cat: Audio/Audiobook, desc: "有声书/Audiobooks"} + - {id: 416, cat: TV, desc: "短剧/Playlet"} + - {id: 415, cat: PC, desc: "软件/Software"} + - {id: 414, cat: Other, desc: "图片/Pictures"} + - {id: 413, cat: Other, desc: "教育/Education"} + - {id: 412, cat: Books, desc: "电ĺ­äą¦/E-books"} + - {id: 411, cat: Console, desc: "游ćŹ/Games"} + - {id: 410, cat: PC/ISO, desc: "系统镜ĺŹ/System Images"} + - {id: 409, cat: Other, desc: "ĺ…¶ä»–/Misc"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid] + movie-search: [q, imdbid] + music-search: [q] + book-search: [q] + +settings: + - name: cookie + type: text + label: Cookie + - name: info_cookie + type: info_cookie + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. + - name: info_activity + type: info + label: Account Inactivity + default: "Account retention rules:
  1. Veteran User and above will be retained forever
  2. Elite User and above will not have their account deleted after parking (in the control panel)
  3. Users with a parked account will be deleted if they do not log in for 400 consecutive days
  4. Users with a non-parked account will be deleted if they do not log in for 150 consecutive days
  5. Users who have no traffic (i.e. upload/download data are both 0) will be deleted if they do not log in for 100 consecutive days.
" + +login: + # using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php + method: cookie + inputs: + cookie: "{{ .Config.cookie }}" + test: + path: index.php + selector: a[href="logout.php"] + +search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}" + # 0 incldead, 1 active, 2 dead + incldead: 0 + # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr, 3 uploader, 4 imdburl + search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}" + # 0 AND, 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + notnewword: 1 + + rows: + selector: table.torrents > tbody > tr:has(a[href*="download.php?id="]) + + fields: + category: + selector: a[href*="?cat="] + attribute: href + filters: + - name: querystring + args: cat + title_default: + selector: a[href*="details.php?id="] + title: + selector: a[title][href*="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" + details: + selector: a[href*="details.php?id="] + attribute: href + download: + selector: a[href*="download.php?id="] + attribute: href + poster: + selector: img[data-src] + attribute: data-src + imdbid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="imdb.com/title/tt"] + attribute: href + doubanid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="movie.douban.com/subject/"] + attribute: href + date_elapsed: + # time type: time elapsed (default) + selector: td.rowfollow:nth-child(4) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-dd HH:mm:ss zzz" + date_added: + # time added + selector: td.rowfollow:nth-child(4):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + date: + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 + downloadvolumefactor: + case: + img.pro_free: 0 + img.pro_free2up: 0 + img.pro_50pctdown: 0.5 + img.pro_50pctdown2up: 0.5 + img.pro_30pctdown: 0.3 + "*": 1 + uploadvolumefactor: + case: + img.pro_50pctdown2up: 2 + img.pro_free2up: 2 + img.pro_2up: 2 + "*": 1 + minimumratio: + text: 2.0 + minimumseedtime: + # 2 days (as seconds = 2 x 24 x 60 x 60) + text: 172800 + description: + selector: td.rowfollow:nth-child(2) + remove: a, b, font, img, span +# NexusPHP v1.9.6 2025-06-25 diff --git a/config/prowlarr/Definitions/myspleen.yml b/config/prowlarr/Definitions/myspleen.yml index 84a44545..bffdf49b 100644 --- a/config/prowlarr/Definitions/myspleen.yml +++ b/config/prowlarr/Definitions/myspleen.yml @@ -33,7 +33,7 @@ settings: type: info_cookie login: - # using cookie method because login page has embedded Clouflare turnstile + # using cookie method because login page has embedded Cloudflare turnstile method: cookie inputs: cookie: "{{ .Config.cookie }}" diff --git a/config/prowlarr/Definitions/nanyangpt.yml b/config/prowlarr/Definitions/nanyangpt.yml new file mode 100644 index 00000000..6cfc5802 --- /dev/null +++ b/config/prowlarr/Definitions/nanyangpt.yml @@ -0,0 +1,174 @@ +--- +id: nanyangpt +name: NanyangPT (南洋) +description: "NanyangPT (南洋) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL" +language: zh-CN +type: private +encoding: UTF-8 +links: + - https://nanyangpt.com/ +legacylinks: + - https://52pt.site/ # loaded in error when first set up from template + +caps: + categorymappings: + - {id: 401, cat: Movies, desc: "Movies/电影"} + - {id: 402, cat: TV, desc: "TV Series/剧集"} + - {id: 403, cat: TV/Anime, desc: "Anime/动漫"} + - {id: 404, cat: TV, desc: "TV Shows/综艺"} + - {id: 405, cat: TV/Sport, desc: "Sports/čżä˝“"} + - {id: 406, cat: TV/Documentary, desc: "Documentaries/纪录"} + - {id: 407, cat: Audio, desc: "Music/éźłäą"} + - {id: 408, cat: Other, desc: "Study/学习"} + - {id: 409, cat: PC, desc: "Software/软件"} + - {id: 410, cat: Console, desc: "Games/游ćŹ"} + - {id: 411, cat: Other, desc: "Misc/ĺ…¶ĺ®"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid, doubanid] + movie-search: [q, imdbid, doubanid] + music-search: [q] + +settings: + - name: cookie + type: text + label: Cookie + - name: info_cookie + type: info_cookie + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. + - name: info_activity + type: info + label: Account Inactivity + default: "Account retention rules:
  1. University lecturer and above users will be retained forever
  2. Excellent master's degree and above users will not be deleted after the account is parked (in the control panel)
  3. Users with a parked account who do not log in for 400 consecutive days will be deleted
  4. Users with non-parked account will be deleted if they do not log in for 150 consecutive days
" + +login: + # using cookie method as login.php is different depending on IP address + method: cookie + inputs: + cookie: "{{ .Config.cookie }}" + test: + path: index.php + selector: a[href$="usercp.php"] + +search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + # currently supports only one query id at one time. + search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}" + # 0 incldead, 1 active, 2 dead, 3 noseeds + incldead: 0 + # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr, 3 uploader, 4 imdburl + search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}" + # 0 AND, 1 OR, 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + notnewword: 1 + # does not return imdb or doubanid in results + + rows: + selector: table.torrents > tbody > tr:has(table.torrentname) + + fields: + category: + selector: a[href*="?cat="] + attribute: href + filters: + - name: querystring + args: cat + title_default: + selector: a[href*="details.php?id="] + title: + selector: a[title][href*="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" + details: + selector: a[href*="details.php?id="] + attribute: href + download: + selector: a[href*="download.php?id="] + attribute: href + date_elapsed: + # time type: time elapsed (default) + selector: td:nth-child(4) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-dd HH:mm:ss zzz" + date_added: + # time added + selector: td:nth-child(4):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + date: + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 + downloadvolumefactor: + case: + img.pro_free: 0 + img.pro_free2up: 0 + img.pro_50pctdown: 0.5 + img.pro_50pctdown2up: 0.5 + img.pro_30pctdown: 0.3 + "*": 1 + uploadvolumefactor: + case: + img.pro_50pctdown2up: 2 + img.pro_free2up: 2 + img.pro_2up: 2 + "*": 1 + description: + selector: td:nth-child(2) + remove: a, b, font, img, span +# NYPT Project v1.0 2014-10-01 (based on NexusPHP) diff --git a/config/prowlarr/Definitions/ncore.yml b/config/prowlarr/Definitions/ncore.yml index 18bc717a..9fb81d28 100644 --- a/config/prowlarr/Definitions/ncore.yml +++ b/config/prowlarr/Definitions/ncore.yml @@ -57,6 +57,7 @@ caps: movie-search: [q, imdbid, genre] music-search: [q, genre] book-search: [q, genre] + allowrawsearch: true settings: - name: username diff --git a/config/prowlarr/Definitions/nekobt.yml b/config/prowlarr/Definitions/nekobt.yml new file mode 100644 index 00000000..a4511c24 --- /dev/null +++ b/config/prowlarr/Definitions/nekobt.yml @@ -0,0 +1,146 @@ +--- +id: nekobt +name: nekoBT +description: "nekoBT is a Public Torrent Tracker for ANIME" +language: en-US +type: public +encoding: UTF-8 +links: + - https://nekobt.to/ + +caps: + categorymappings: + - {id: 5070, cat: TV/Anime, desc: "Anime"} + - {id: 2000, cat: Movies/Other, desc: "Movies"} + + modes: + search: [q] + tv-search: [q, season, ep, tvdbid] + movie-search: [q] + +settings: + - name: apikey + type: text + label: API Key (Optional) + - name: info_key + type: info + label: About your API key + default: "API key is optional. You can find or generate a new API Key by accessing your nekoBT account settings page if needed." + - name: levels + type: select + label: Subtitle Level + default: _ + options: + _: "All" + "0": "Level 0" + "1": "Level 1" + "2": "Level 2" + "3": "Level 3" + "4": "Level 4" + - name: audio_lang + type: text + label: Audio Language (comma-separated codes, e.g. en,ja) + - name: fansub_lang + type: text + label: Fansub Language (comma-separated codes, e.g. en,ja) + - name: sub_lang + type: text + label: Subtitle Language (comma-separated codes, e.g. en,ja) + - name: hardsub + type: select + label: Hardcoded Subtitles + default: _ + options: + _: "No Filter" + "true": "Include Only" + "false": "Exclude" + - name: otl + type: select + label: OTL Subtitles + default: _ + options: + _: "No Filter" + "true": "Include Only" + "false": "Exclude" + - name: mtl + type: select + label: MTL Subtitles + default: _ + options: + _: "No Filter" + "true": "Include Only" + "false": "Exclude" + - name: group_id + type: text + label: Group ID + default: "" + +search: + paths: + - path: api/torznab/api + response: + type: xml + + inputs: + t: "search" + q: "{{ .Keywords }}" + apikey: "{{ .Config.apikey }}" + tvdbid: "{{ .Query.TVDBID }}" + season: "{{ .Query.Season }}" + ep: "{{ .Query.Ep }}" + levels: "{{ re_replace .Config.levels \"_\" \"\" }}" + audio_lang: "{{ .Config.audio_lang }}" + fansub_lang: "{{ .Config.fansub_lang }}" + sub_lang: "{{ .Config.sub_lang }}" + hardsub: "{{ re_replace .Config.hardsub \"_\" \"\" }}" + otl: "{{ re_replace .Config.otl \"_\" \"\" }}" + mtl: "{{ re_replace .Config.mtl \"_\" \"\" }}" + group_id: "{{ .Config.group_id }}" + limit: 100 + + rows: + selector: rss > channel > item + + fields: + title: + selector: title + filters: + - name: re_replace + args: ["(.+?) {Tags:.+", "$1"] + description: + selector: title + filters: + - name: re_replace + args: [".+ {(Tags:.+?)}", "$1"] + details: + selector: comments + magnet: + selector: enclosure + attribute: url + date: + # Sat, 03 Jan 2026 01:27:58 GMT + selector: pubDate + filters: + - name: replace + args: ["GMT", "+00:00"] + - name: dateparse + args: "ddd, dd MMM yyyy HH:mm:ss zzz" + category: + selector: '[name="category"]' + attribute: value + size: + selector: size + seeders: + selector: '[name="seeders"]' + attribute: value + leechers: + selector: '[name="leechers"]' + attribute: value + grabs: + selector: '[name="grabs"]' + attribute: value + downloadvolumefactor: + text: 0 + uploadvolumefactor: + text: 1 +# torznab xml diff --git a/config/prowlarr/Definitions/new-team.yml b/config/prowlarr/Definitions/new-team.yml new file mode 100644 index 00000000..05f4e501 --- /dev/null +++ b/config/prowlarr/Definitions/new-team.yml @@ -0,0 +1,474 @@ +--- +id: new-team +name: New-Team +description: "New-Team is a RUSSIAN Semi-Private Torrent Tracker for MOVIES / TV / GENERAL" +language: ru-RU +type: semi-private +encoding: UTF-8 +links: + - https://new-team.org/ + +caps: + categorymappings: + # Кинематограф, театр, видео + - {id: 241, cat: Movies, desc: "|- Релизы от Scarabey"} + - {id: 1170, cat: Movies, desc: "|-- ЗарŃбежные и роŃŃийŃкие фильмы 2019 - 2023"} + - {id: 1137, cat: Movies, desc: "|-- ТРЕБУЕТСЯ СĐĐ”."} + - {id: 1116, cat: Movies, desc: "|-- ГрŃппа 'Сиды' - хранение раздач"} + - {id: 1040, cat: Movies, desc: "|-- ЗарŃбежные и роŃŃийŃкие фильмы Đ´Đľ 1990 года"} + - {id: 1041, cat: Movies, desc: "|-- ЗарŃбежные и роŃŃийŃкие фильмы 1991-2000"} + - {id: 1042, cat: Movies, desc: "|-- ЗарŃбежные и роŃŃийŃкие фильмы 2001-2009"} + - {id: 1039, cat: Movies, desc: "|-- ЗарŃбежные и роŃŃийŃкие фильмы 2010-2013"} + - {id: 1088, cat: Movies, desc: "|-- ЗарŃбежные и роŃŃийŃкие фильмы 2014-2015"} + - {id: 1112, cat: Movies, desc: "|-- ЗарŃбежные и роŃŃийŃкие фильмы 2016-2018"} + - {id: 1110, cat: Movies, desc: "|-- ЗарŃбежные и роŃŃийŃкие фильмы в MKV (AVC / BDRip 720p /..."} + - {id: 1111, cat: Movies/Other, desc: "|-- Đниме"} + - {id: 1051, cat: Movies/Foreign, desc: "|-- ĐзиатŃкие фильмы"} + - {id: 1035, cat: TV, desc: "|-- Сериалы"} + - {id: 1096, cat: TV, desc: "|--- Сериал '24 чаŃа'"} + - {id: 1092, cat: TV, desc: "|--- Сериал 'Đ’Đľ вŃе тяжкие'"} + - {id: 1094, cat: TV, desc: "|--- Сериал 'Đгра преŃтолов'"} + - {id: 1098, cat: TV, desc: "|--- Сериал 'ĐžŃтатьŃŃŹ в живых'"} + - {id: 1097, cat: TV, desc: "|--- Сериал 'Подпольная империя'"} + - {id: 1090, cat: TV, desc: "|--- Сериал 'Спартак'"} + - {id: 1093, cat: TV, desc: "|--- Сериал 'Ходячие мертвецы'"} + - {id: 1095, cat: TV, desc: "|--- Сериал 'Шерлок'"} + - {id: 124, cat: Movies, desc: "|- Кинофильмы"} + - {id: 191, cat: Movies/Foreign, desc: "|-- ЗарŃбежное кино Đ´Đľ 1990 года"} + - {id: 192, cat: Movies/Foreign, desc: "|-- ЗарŃбежное кино 1990 - 1999"} + - {id: 160, cat: Movies/Foreign, desc: "|-- ЗарŃбежное кино 2000 - 2009"} + - {id: 125, cat: Movies/Foreign, desc: "|-- ЗарŃбежное кино 2010 - 2019"} + - {id: 1142, cat: Movies/Foreign, desc: "|-- ЗарŃбежное кино 2020 - 2024"} + - {id: 1182, cat: Movies/Foreign, desc: "|-- ЗарŃбежное кино 2025 (Новинки)"} + - {id: 126, cat: Movies/Foreign, desc: "|-- ЗарŃбежное кино (HD и DVD Video)"} + - {id: 162, cat: Movies, desc: "|-- Đ ĐľŃŃийŃкое кино"} + - {id: 164, cat: Movies, desc: "|--- Đ ĐľŃŃийŃкое кино (HD и DVD Video)"} + - {id: 1144, cat: Movies, desc: "|--- ДетŃкое роŃŃийŃкое кино"} + - {id: 900, cat: Movies, desc: "|-- СоветŃкое кино"} + - {id: 1181, cat: Movies, desc: "|--- СоветŃкое кино (HD и DVD Video)"} + - {id: 1143, cat: Movies, desc: "|--- ДетŃкое ŃоветŃкое кино"} + - {id: 1104, cat: Movies, desc: "|--- Фильмы довоенные и Ńозданные во время войны"} + - {id: 1177, cat: Movies, desc: "|--- ТелеŃпектакль"} + - {id: 891, cat: Movies/3D, desc: "|-- Кинофильмы 3D"} + - {id: 338, cat: Movies/Foreign, desc: "|-- КлаŃŃика зарŃбежного кино"} + - {id: 337, cat: Movies/Foreign, desc: "|-- ĐзиатŃкие фильмы"} + - {id: 917, cat: Movies, desc: "|-- Đрт-хаŃŃ Đ¸ авторŃкое кино"} + - {id: 207, cat: Movies, desc: "|-- Сборники"} + - {id: 203, cat: Movies/Other, desc: "|-- Трейлеры и дополнительные материалы"} + - {id: 826, cat: Audio/Other, desc: "|-- ЗвŃковые дорожки и переводы"} + - {id: 827, cat: Audio/Other, desc: "|--- ĐвторŃкий перевод"} + - {id: 828, cat: Audio/Other, desc: "|--- Закадровый перевод"} + - {id: 134, cat: TV/Documentary, desc: "|- ДокŃментальные фильмы и телепередачи"} + - {id: 999, cat: TV/Documentary, desc: "|-- Флора и фаŃна"} + - {id: 254, cat: TV/Documentary, desc: "|-- Великая ОтечеŃтвенная война"} + - {id: 478, cat: TV/Documentary, desc: "|-- НаŃчно-попŃлярные фильмы"} + - {id: 1058, cat: TV/Documentary, desc: "|-- ĐŃтория: Города и Страны / ĐрхитектŃра / ĐśŃзеи мира"} + - {id: 136, cat: TV/Documentary, desc: "|-- ĐŃтория: Биографии / ĐšŃмиры / ЛичноŃти / События"} + - {id: 253, cat: TV/Documentary, desc: "|-- Планета Земля / КоŃĐĽĐľŃ / Đ’Ńеленная"} + - {id: 256, cat: TV/Documentary, desc: "|-- Вера и религия / ДиагноŃтика кармы"} + - {id: 252, cat: TV/Documentary, desc: "|-- Тайны века / СпецŃĐ»Ńжбы / Теории Заговоров"} + - {id: 255, cat: TV/Documentary, desc: "|-- Развлекательные телепередачи и ŃĐľŃ, приколы и юмор"} + - {id: 135, cat: TV/Documentary, desc: "|-- ДокŃментальные фильмы и телепередачи (DVD, HD Video)"} + - {id: 889, cat: TV/Documentary, desc: "|-- ДокŃментальные фильмы и телепередачи (3D)"} + # Сериалы + - {id: 845, cat: TV, desc: "|- ОтечеŃтвенные cериалы"} + - {id: 850, cat: TV, desc: "|-- ОбŃŃждение Ńериалов"} + - {id: 854, cat: TV, desc: "|-- ĐŃторичеŃкие, военные"} + - {id: 846, cat: TV/Foreign, desc: "|- ЗарŃбежные Ńериалы"} + - {id: 856, cat: TV/Foreign, desc: "|-- ĐŃторичеŃкие, военные"} + - {id: 847, cat: TV, desc: "|- ОтечеŃтвенные Ńериалы (HD, DVD Video)"} + - {id: 857, cat: TV, desc: "|-- ĐŃторичеŃкие, военные"} + - {id: 848, cat: TV/Foreign, desc: "|- ЗарŃбежные Ńериалы (HD, DVD Video)"} + - {id: 858, cat: TV/Foreign, desc: "|-- ĐŃторичеŃкие, военные"} + # ĐśŃльтипликация + - {id: 869, cat: Movies/Other, desc: "|- ĐśŃльтфильмы"} + - {id: 1068, cat: Movies/Other, desc: "|- Короткометражные отечеŃтвенные ĐĽŃльтфильмы"} + - {id: 1067, cat: Movies/Other, desc: "|- Короткометражные иноŃтранные ĐĽŃльтфильмы"} + - {id: 1066, cat: Movies/Other, desc: "|- Короткометражные ĐĽŃльтфильмы (DVD, HD Video)"} + - {id: 871, cat: Movies/Other, desc: "|-- ОтечеŃтвенные ĐśŃльтфильмы"} + - {id: 870, cat: Movies/Other, desc: "|-- ЗарŃбежные ĐśŃльтфильмы"} + - {id: 875, cat: Movies/Other, desc: "|-- ОтечеŃтвенные ĐśŃльтфильмы (DVD, HD Video)"} + - {id: 874, cat: Movies/Other, desc: "|-- ЗарŃбежные ĐśŃльтфильмы (DVD, HD Video)"} + - {id: 877, cat: Movies/Other, desc: "|-- Сборники отечеŃтвенных ĐĽŃльтфильмов"} + - {id: 876, cat: Movies/Other, desc: "|-- Сборники зарŃбежных ĐĽŃльтфильмов"} + - {id: 890, cat: Movies/Other, desc: "|-- ĐśŃльтфильмы 3D"} + - {id: 872, cat: TV/Anime, desc: "|- ĐśŃльтŃериалы"} + - {id: 878, cat: TV/Anime, desc: "|-- ОтечеŃтвенные ĐśŃльтŃериалы"} + - {id: 879, cat: TV/Anime, desc: "|-- ЗарŃбежные ĐśŃльтŃериалы"} + - {id: 873, cat: TV/Anime, desc: "|- Đниме"} + - {id: 886, cat: TV/Anime, desc: "|-- Рипы Đниме"} + - {id: 884, cat: TV/Anime, desc: "|-- Đниме (DVD)"} + - {id: 885, cat: TV/Anime, desc: "|-- Đниме (HD Video)"} + - {id: 883, cat: TV/Anime, desc: "|-- Манга"} + # ĐśŃзыка + - {id: 571, cat: Audio/Lossless, desc: "|- Камерная и Ńольная инŃтрŃментальная ĐĽŃзыка (lossless)"} + - {id: 567, cat: Audio/Lossless, desc: "|- Вокальная и хоровая ĐĽŃзыка (lossless)"} + - {id: 577, cat: Audio, desc: "|- Classical Crossover (lossy и lossless)"} + - {id: 565, cat: Audio, desc: "|- Полные Ńобрания Ńочинений и многодиŃковые издания..."} + - {id: 569, cat: Audio/Lossless, desc: "|- ОркеŃтровая ĐĽŃзыка (lossless)"} + - {id: 574, cat: Audio/MP3, desc: "|- Вокальная и хоровая ĐĽŃзыка (lossy)"} + - {id: 576, cat: Audio/MP3, desc: "|- Камерная и Ńольная инŃтрŃментальная ĐĽŃзыка (lossy)"} + - {id: 579, cat: Audio/MP3, desc: "|- Đ’ĐľŃточноевропейŃкий фолк (lossy)"} + - {id: 580, cat: Audio/Lossless, desc: "|- Đ’ĐľŃточноевропейŃкий фолк (lossless)"} + - {id: 581, cat: Audio/MP3, desc: "|- ЗападноевропейŃкий фолк (lossy)"} + - {id: 582, cat: Audio/Lossless, desc: "|- ЗападноевропейŃкий фолк (lossless)"} + - {id: 583, cat: Audio, desc: "|- Klezmer и ЕврейŃкий фольклор (lossy и lossless)"} + - {id: 584, cat: Audio/MP3, desc: "|- ЭтничеŃкая ĐĽŃзыка Сибири, Средней и Đ’ĐľŃточной Đзии (lossy)"} + - {id: 585, cat: Audio/Lossless, desc: "|- ЭтничеŃкая ĐĽŃзыка Сибири, Средней и Đ’ĐľŃточной Đзии..."} + - {id: 587, cat: Audio/Lossless, desc: "|- ЭтничеŃкая ĐĽŃзыка Đндии (lossless)"} + - {id: 589, cat: Audio/Lossless, desc: "|- ЭтничеŃкая ĐĽŃзыка Đфрики и Ближнего Đ’ĐľŃтока (lossless)"} + - {id: 590, cat: Audio, desc: "|- ЭтничеŃкая ĐĽŃзыка Кавказа и Закавказья (lossy и lossless)"} + - {id: 591, cat: Audio/MP3, desc: "|- ЭтничеŃкая ĐĽŃзыка Северной и Южной Đмерики (lossy)"} + - {id: 592, cat: Audio/Lossless, desc: "|- ЭтничеŃкая ĐĽŃзыка Северной и Южной Đмерики (lossless)"} + - {id: 593, cat: Audio, desc: "|- ЭтничеŃкая ĐĽŃзыка ĐвŃтралии, ĐľŃтровов Тихого и ĐндийŃкого..."} + - {id: 595, cat: Audio/Lossless, desc: "|- Country, Bluegrass (lossless)"} + - {id: 608, cat: Audio/Lossless, desc: "|- Nouveau Flamenco, Mediterranean Guitar, Acoustic guitar..."} + - {id: 607, cat: Audio, desc: "|- Nouveau Flamenco, Mediterranean Guitar, Acoustic guitar..."} + - {id: 487, cat: Audio, desc: "|- Fields Recordings, Nature Sounds (ЗвŃки природы)"} + - {id: 481, cat: Audio/Lossless, desc: "|- New Age, Celtic New Age (lossless)"} + - {id: 483, cat: Audio/MP3, desc: "|- New Age, Celtic New Age (lossy)"} + - {id: 1048, cat: Audio/Lossless, desc: "|- Enigmatic, Gregorianic, Ambientpop, Mysticpop (lossless)"} + - {id: 1049, cat: Audio/MP3, desc: "|- Enigmatic, Gregorianic, Ambientpop, Mysticpop (lossy)"} + - {id: 484, cat: Audio/Lossless, desc: "|- Meditative, Healing, Relax & Nature (lossless)"} + - {id: 485, cat: Audio/MP3, desc: "|- Meditative, Healing, Relax & Nature (lossy)"} + - {id: 490, cat: Audio/Lossless, desc: "|- World Music, Ethnicbeat, Worldbeat, World Fusion..."} + - {id: 491, cat: Audio/MP3, desc: "|- World Music, Ethnicbeat, Worldbeat, World Fusion (lossy)"} + - {id: 492, cat: Audio/Lossless, desc: "|- Mantras, Ragas, Kirtans (lossless)"} + - {id: 493, cat: Audio/MP3, desc: "|- Mantras, Ragas, Kirtans (lossy)"} + - {id: 652, cat: Audio/MP3, desc: "|- ОтечеŃтвенный Đ ŃŤĐż, Хип-Хоп (lossy)"} + - {id: 653, cat: Audio/MP3, desc: "|- ОтечеŃтвенный R'n'B (lossy)"} + - {id: 654, cat: Audio/Lossless, desc: "|- ОтечеŃтвенный Đ ŃŤĐż, Хип-Хоп, R'n'B (lossless)"} + - {id: 657, cat: Audio/MP3, desc: "|- ЗарŃбежный Đ ŃŤĐż, Хип-Хоп (lossy)"} + - {id: 659, cat: Audio/Lossless, desc: "|- ЗарŃбежный Đ ŃŤĐż, Хип-Хоп (lossless)"} + - {id: 660, cat: Audio/Lossless, desc: "|- ЗарŃбежный R'n'B (lossless)"} + - {id: 756, cat: Audio/Lossless, desc: "|- Ska, Ska-Punk, Ska-Jazz (lossless)"} + - {id: 752, cat: Audio/MP3, desc: "|- Reggae (lossy)"} + - {id: 755, cat: Audio/Lossless, desc: "|- Reggae, Dancehall, Dub (lossless)"} + - {id: 549, cat: Audio, desc: "|- СаŃндтреки и Караоке"} + - {id: 765, cat: Audio, desc: "|-- МинŃŃовки (lossy и lossless)"} + - {id: 767, cat: Audio/Lossless, desc: "|-- СаŃндтреки Đş отечеŃтвенным фильмам (lossless)"} + - {id: 768, cat: Audio/MP3, desc: "|-- СаŃндтреки Đş отечеŃтвенным фильмам (lossy)"} + - {id: 769, cat: Audio/Lossless, desc: "|-- СаŃндтреки Đş зарŃбежным фильмам (lossless)"} + - {id: 770, cat: Audio/MP3, desc: "|-- СаŃндтреки Đş зарŃбежным фильмам (lossy)"} + - {id: 772, cat: Audio/Lossless, desc: "|-- СаŃндтреки Đş играм (lossless)"} + - {id: 776, cat: Audio/Lossless, desc: "|- ОтечеŃтвенный ŃанŃон (lossless)"} + - {id: 777, cat: Audio/MP3, desc: "|- ОтечеŃтвенный ŃанŃон (lossy)"} + - {id: 778, cat: Audio/MP3, desc: "|- Сборники отечеŃтвенного ŃанŃона (lossy)"} + - {id: 779, cat: Audio/Lossless, desc: "|- Военная пеŃня (lossless)"} + - {id: 780, cat: Audio/MP3, desc: "|- Военная пеŃня (lossy)"} + - {id: 781, cat: Audio/Lossless, desc: "|- ĐвторŃкая пеŃня (lossless)"} + - {id: 782, cat: Audio/MP3, desc: "|- ĐвторŃкая пеŃня (lossy)"} + - {id: 952, cat: Audio/Lossless, desc: "|- ЗарŃбежный ŃанŃон, Chanson (lossless)"} + - {id: 1175, cat: Audio/Lossless, desc: "|- ĐтальянŃкая поп-ĐĽŃзыка (lossless)"} + - {id: 1174, cat: Audio/Lossless, desc: "|- ЛатиноамериканŃкая поп-ĐĽŃзыка (lossless)"} + - {id: 1173, cat: Audio/Lossless, desc: "|- Easy Listening, Instrumental Pop (lossless)"} + - {id: 836, cat: Audio/MP3, desc: "|- ОтечеŃтвенная поп-ĐĽŃзыка (lossy)"} + - {id: 837, cat: Audio/Lossless, desc: "|- ОтечеŃтвенная поп-ĐĽŃзыка (lossless)"} + - {id: 838, cat: Audio/MP3, desc: "|- ЗарŃбежная поп-ĐĽŃзыка (lossy)"} + - {id: 839, cat: Audio/Lossless, desc: "|- ЗарŃбежная поп-ĐĽŃзыка (lossless)"} + - {id: 843, cat: Audio/Lossless, desc: "|- Đ’ĐľŃточноазиатŃкая поп-ĐĽŃзыка (lossless)"} + - {id: 1082, cat: Audio/Lossless, desc: "|- Disco, Italo-Disco, Euro-Disco, Hi-NRG (lossless)"} + - {id: 1081, cat: Audio/Lossless, desc: "|- Eurodance, Euro-House, Technopop (lossless)"} + - {id: 1084, cat: Audio/MP3, desc: "|- Disco, Italo-Disco, Euro-Disco, Hi-NRG (Ńборники) (lossy)"} + - {id: 1083, cat: Audio/MP3, desc: "|- Eurodance, Euro-House, Technopop (Ńборники) (lossy)"} + - {id: 1187, cat: Audio, desc: "|- ĐŃдио, как приложение Đş жŃрналам"} + - {id: 794, cat: Audio, desc: "|- Orthodox spiritual music. ПравоŃлавные пеŃнопения..."} + - {id: 1140, cat: Audio, desc: "|- ĐŃдиоматериал для теŃтирования и наŃтройки"} + - {id: 1099, cat: Audio/MP3, desc: "|- ПрофеŃŃиональная ĐĽŃзыка для йоги и фитнеŃа (lossy)"} + - {id: 789, cat: Audio/Lossless, desc: "|- ОтечеŃтвенная ĐĽŃзыка Đ´Ń€Ńгих жанров (lossless)"} + - {id: 788, cat: Audio/MP3, desc: "|- ОтечеŃтвенная ĐĽŃзыка Đ´Ń€Ńгих жанров (lossy)"} + - {id: 791, cat: Audio/Lossless, desc: "|- ЗарŃбежная ĐĽŃзыка Đ´Ń€Ńгих жанров (lossless)"} + - {id: 790, cat: Audio/MP3, desc: "|- ЗарŃбежная ĐĽŃзыка Đ´Ń€Ńгих жанров (lossy)"} + - {id: 795, cat: Audio, desc: "|- Сборники пеŃен для детей (lossy и lossless)"} + - {id: 798, cat: Audio, desc: "|- Мюзикл (lossy и lossless)"} + - {id: 800, cat: Audio/MP3, desc: "|- Неофициальные и внежанровые Ńборники (lossy)"} + - {id: 186, cat: Audio/Video, desc: "|- ĐśŃзыкальное видео (DVD и HD Video)"} + - {id: 185, cat: Audio/Video, desc: "|- ĐśŃзыкальное видео"} + - {id: 1160, cat: Audio/Foreign, desc: "|- ЗарŃбежная поп-ĐĽŃзыка"} + - {id: 1159, cat: Audio, desc: "|- СоветŃкая ŃŤŃтрада, ретро, романŃŃ‹"} + - {id: 1158, cat: Audio, desc: "|- ОтечеŃтвенная поп-ĐĽŃзыка"} + - {id: 1157, cat: Audio, desc: "|- ĐĐ˝ŃтрŃментальная поп-ĐĽŃзыка, ŃŤŃтрада"} + - {id: 1156, cat: Audio, desc: "|- Джаз и блюз"} + - {id: 1155, cat: Audio/Foreign, desc: "|- ЗарŃбежная рок-ĐĽŃзыка"} + - {id: 1154, cat: Audio, desc: "|- ОтечеŃтвенная рок-ĐĽŃзыка"} + - {id: 1153, cat: Audio, desc: "|- Электронная ĐĽŃзыка"} + - {id: 1152, cat: Audio, desc: "|- КлаŃŃика и клаŃŃика в Ńовременной обработке"} + # Электронная ĐĽŃзыка + - {id: 611, cat: Audio/Lossless, desc: "|- Goa Trance, Psy-Trance (lossless)"} + - {id: 612, cat: Audio/MP3, desc: "|- Goa Trance, Psy-Trance (lossy)"} + - {id: 613, cat: Audio/Lossless, desc: "|- PsyChill, Ambient Dub (lossless)"} + - {id: 614, cat: Audio/MP3, desc: "|- PsyChill, Ambient Dub (lossy)"} + - {id: 616, cat: Audio/Lossless, desc: "|- Trance (lossless)"} + - {id: 617, cat: Audio/MP3, desc: "|- Trance (lossy)"} + - {id: 618, cat: Audio/MP3, desc: "|- Trance (Singles, EPs) (lossy)"} + - {id: 619, cat: Audio/MP3, desc: "|- Trance (Radioshows, Podcasts, Live Sets, Mixes) (lossy)"} + - {id: 1061, cat: Audio/MP3, desc: "|- Trance discography (lossy)"} + - {id: 621, cat: Audio/Lossless, desc: "|- Hardcore, Hardstyle, Jumpstyle (lossless)"} + - {id: 622, cat: Audio/MP3, desc: "|- Hardcore, Hardstyle, Jumpstyle (lossy)"} + - {id: 623, cat: Audio, desc: "|- Hardcore, Hardstyle, Jumpstyle (vinyl, web)"} + - {id: 624, cat: Audio/Lossless, desc: "|- House (lossless)"} + - {id: 625, cat: Audio, desc: "|- House (Radioshow, Podcast, Liveset, Mixes)"} + - {id: 626, cat: Audio/MP3, desc: "|- House (lossy)"} + - {id: 627, cat: Audio, desc: "|- House (Проморелизы, Ńборники)"} + - {id: 628, cat: Audio/MP3, desc: "|- House (Singles, EPs) (lossy)"} + - {id: 629, cat: Audio/Lossless, desc: "|- Techno (lossless)"} + - {id: 630, cat: Audio/MP3, desc: "|- Techno (lossy)"} + - {id: 631, cat: Audio, desc: "|- Techno (Radioshows, Podcasts, Livesets, Mixes)"} + - {id: 632, cat: Audio/MP3, desc: "|- Techno (Singles, EPs) (lossy)"} + - {id: 643, cat: Audio/Lossless, desc: "|- Dubstep, Future Garage, Bass Music, UK Garage (lossless)"} + - {id: 644, cat: Audio/MP3, desc: "|- Dubstep, Future Garage, Bass Music, UK Garage (lossy)"} + - {id: 634, cat: Audio/Lossless, desc: "|- Electro, Electro-Freestyle, Nu Electro (lossless)"} + - {id: 635, cat: Audio/MP3, desc: "|- Electro, Electro-Freestyle, Nu Electro (lossy)"} + - {id: 636, cat: Audio/Lossless, desc: "|- Drum & Bass, Jungle (lossless)"} + - {id: 637, cat: Audio/MP3, desc: "|- Drum & Bass, Jungle (lossy)"} + - {id: 641, cat: Audio/Lossless, desc: "|- Breakbeat (lossless)"} + - {id: 642, cat: Audio/MP3, desc: "|- Breakbeat (lossy)"} + - {id: 645, cat: Audio/Lossless, desc: "|- IDM (lossless)"} + - {id: 646, cat: Audio/MP3, desc: "|- IDM (lossy)"} + - {id: 802, cat: Audio/Lossless, desc: "|- Chillout, Lounge, Downtempo (lossless)"} + - {id: 803, cat: Audio/MP3, desc: "|- Chillout, Lounge, Downtempo (lossy)"} + - {id: 804, cat: Audio/Lossless, desc: "|- Nu Jazz, Acid Jazz, Future Jazz (lossless)"} + - {id: 805, cat: Audio/MP3, desc: "|- Nu Jazz, Acid Jazz, Future Jazz (lossy)"} + - {id: 806, cat: Audio/Lossless, desc: "|- Trip Hop, Abstract Hip-Hop (lossless)"} + - {id: 807, cat: Audio/MP3, desc: "|- Trip Hop, Abstract Hip-Hop (lossy)"} + - {id: 1070, cat: Audio, desc: "|- 8-bit, Chiptune (lossy & lossless)"} + - {id: 808, cat: Audio/Lossless, desc: "|- Experimental (lossless)"} + - {id: 809, cat: Audio/MP3, desc: "|- Experimental (lossy)"} + - {id: 810, cat: Audio/Lossless, desc: "|- Modern Classical, Electroacoustic (lossless)"} + - {id: 811, cat: Audio/MP3, desc: "|- Modern Classical, Electroacoustic (lossy)"} + - {id: 812, cat: Audio/Lossless, desc: "|- Traditional Electronic, Ambient (lossless)"} + - {id: 813, cat: Audio/MP3, desc: "|- Traditional Electronic, Ambient (lossy)"} + - {id: 815, cat: Audio/Lossless, desc: "|- EBM, Dark Electro, Aggrotech (lossless)"} + - {id: 816, cat: Audio/MP3, desc: "|- EBM, Dark Electro, Aggrotech (lossy)"} + - {id: 817, cat: Audio/Lossless, desc: "|- Industrial, Noise (lossless)"} + - {id: 818, cat: Audio/MP3, desc: "|- Industrial, Noise (lossy)"} + - {id: 1071, cat: Audio/Lossless, desc: "|- Darkwave, Neoclassical, Ethereal, Dungeon Synth (lossless)"} + - {id: 1072, cat: Audio/MP3, desc: "|- Darkwave, Neoclassical, Ethereal, Dungeon Synth (lossy)"} + - {id: 819, cat: Audio/Lossless, desc: "|- Synthpop, Futurepop, New Wave (lossless)"} + - {id: 820, cat: Audio/MP3, desc: "|- Synthpop, Futurepop, New Wave (lossy)"} + - {id: 512, cat: Audio/Lossless, desc: "|- Label Packs (lossless)"} + - {id: 513, cat: Audio/MP3, desc: "|- Label packs, Scene packs, Radioshows packs (lossy)"} + # Рок-ĐĽŃзыка + - {id: 524, cat: Audio, desc: "|- ЗарŃбежный Rock"} + - {id: 699, cat: Audio/Lossless, desc: "|-- Pop Rock & Soft Rock (lossless)"} + - {id: 700, cat: Audio/MP3, desc: "|-- Pop Rock & Soft Rock (lossy)"} + - {id: 696, cat: Audio/Lossless, desc: "|-- Folk Rock (lossless)"} + - {id: 1167, cat: Audio/MP3, desc: "|-- Folk Rock (lossy)"} + - {id: 692, cat: Audio/Lossless, desc: "|-- Classic Rock & Hard Rock (lossless)"} + - {id: 693, cat: Audio/MP3, desc: "|-- Classic Rock & Hard Rock (lossy)"} + - {id: 694, cat: Audio/Lossless, desc: "|-- Progressive & Art-Rock (lossless)"} + - {id: 695, cat: Audio/MP3, desc: "|-- Progressive & Art-Rock (lossy)"} + - {id: 697, cat: Audio/Lossless, desc: "|-- AOR (Melodic Hard Rock, Arena rock) (lossless)"} + - {id: 698, cat: Audio/MP3, desc: "|-- AOR (Melodic Hard Rock, Arena rock) (lossy)"} + - {id: 701, cat: Audio/Lossless, desc: "|-- Instrumental Guitar Rock (lossless)"} + - {id: 702, cat: Audio/MP3, desc: "|-- Instrumental Guitar Rock (lossy)"} + - {id: 703, cat: Audio/Lossless, desc: "|-- Rockabilly, Psychobilly, Rock'n'Roll (lossless)"} + - {id: 704, cat: Audio/MP3, desc: "|-- Rockabilly, Psychobilly, Rock'n'Roll (lossy)"} + - {id: 705, cat: Audio/Lossless, desc: "|-- Đ’ĐľŃточноазиатŃкий рок (lossless)"} + - {id: 706, cat: Audio/MP3, desc: "|-- Đ’ĐľŃточноазиатŃкий рок (lossy)"} + - {id: 918, cat: Audio/Lossless, desc: "|- Sludge, Stoner, Post-Metal (lossless)"} + - {id: 919, cat: Audio/MP3, desc: "|- Sludge, Stoner, Post-Metal (lossly)"} + - {id: 711, cat: Audio/Lossless, desc: "|- Death, Doom (lossless)"} + - {id: 712, cat: Audio/MP3, desc: "|- Death, Doom (lossy)"} + - {id: 707, cat: Audio/Lossless, desc: "|- Avant-garde, Experimental Metal (lossless)"} + - {id: 708, cat: Audio/MP3, desc: "|- Avant-garde, Experimental Metal (lossy)"} + - {id: 709, cat: Audio/Lossless, desc: "|- Black (lossless)"} + - {id: 710, cat: Audio/MP3, desc: "|- Black (lossy)"} + - {id: 713, cat: Audio/Lossless, desc: "|- Folk, Pagan, Viking (lossless)"} + - {id: 714, cat: Audio/MP3, desc: "|- Folk, Pagan, Viking (lossy)"} + - {id: 715, cat: Audio/Lossless, desc: "|- Gothic Metal (lossless)"} + - {id: 716, cat: Audio/MP3, desc: "|- Gothic Metal (lossy)"} + - {id: 717, cat: Audio/Lossless, desc: "|- Grind, Brutal Death (lossless)"} + - {id: 718, cat: Audio/MP3, desc: "|- Grind, Brutal Death (lossy)"} + - {id: 719, cat: Audio/Lossless, desc: "|- Heavy, Power, Progressive (lossless)"} + - {id: 720, cat: Audio/MP3, desc: "|- Heavy, Power, Progressive (lossy)"} + - {id: 721, cat: Audio/Lossless, desc: "|- Metalcore, Deathcore, Mathcore (lossless)"} + - {id: 722, cat: Audio/MP3, desc: "|- Metalcore, Deathcore, Mathcore (lossy)"} + - {id: 723, cat: Audio/Lossless, desc: "|- Thrash, Speed (lossless)"} + - {id: 724, cat: Audio/MP3, desc: "|- Thrash, Speed (lossy)"} + - {id: 725, cat: Audio/Lossless, desc: "|- Сборники (lossless)"} + - {id: 726, cat: Audio/MP3, desc: "|- Сборники (lossy)"} + - {id: 1122, cat: Audio/Lossless, desc: "|- Gothic Rock, Deathrock, Electrogoth, Dark Cabaret..."} + - {id: 1125, cat: Audio/MP3, desc: "|- Gothic Rock, Deathrock, Electrogoth, Dark Cabaret (lossy)"} + - {id: 1123, cat: Audio/Lossless, desc: "|- Dark Folk, Neofolk, Martial Industrial, Ritual Ambient..."} + - {id: 1124, cat: Audio/MP3, desc: "|- Dark Folk, Neofolk, Martial Industrial, Ritual Ambient..."} + - {id: 727, cat: Audio/Lossless, desc: "|- Alternative & Nu-metal (lossless)"} + - {id: 728, cat: Audio/MP3, desc: "|- Alternative & Nu-metal (lossy)"} + - {id: 729, cat: Audio/Lossless, desc: "|- Punk (lossless)"} + - {id: 730, cat: Audio/MP3, desc: "|- Punk (lossy)"} + - {id: 731, cat: Audio/Lossless, desc: "|- Hardcore (lossless)"} + - {id: 732, cat: Audio/MP3, desc: "|- Hardcore (lossy)"} + - {id: 733, cat: Audio/Lossless, desc: "|- Indie, Post-Rock & Post-Punk (lossless)"} + - {id: 734, cat: Audio/MP3, desc: "|- Indie, Post-Rock & Post-Punk (lossy)"} + - {id: 735, cat: Audio/Lossless, desc: "|- Industrial & Post-industrial (lossless)"} + - {id: 736, cat: Audio/MP3, desc: "|- Industrial & Post-industrial (lossy)"} + - {id: 737, cat: Audio/Lossless, desc: "|- Emocore, Post-hardcore (lossless)"} + - {id: 738, cat: Audio/MP3, desc: "|- Emocore, Post-hardcore (lossy)"} + - {id: 1074, cat: Audio/MP3, desc: "|- Сборники (lossy)"} + - {id: 742, cat: Audio/Lossless, desc: "|- Рок, Панк, Đльтернатива (lossless)"} + - {id: 743, cat: Audio/MP3, desc: "|- Рок, Панк, Đльтернатива (lossy)"} + - {id: 744, cat: Audio/Lossless, desc: "|- Металл (lossless)"} + - {id: 745, cat: Audio/MP3, desc: "|- Металл (lossy)"} + - {id: 746, cat: Audio/Lossless, desc: "|- Рок на языках народов xUSSR (lossless)"} + - {id: 747, cat: Audio/MP3, desc: "|- Рок на языках народов xUSSR (lossy)"} + # Джазовая и блюзовая ĐĽŃзыка + - {id: 670, cat: Audio/Lossless, desc: "|- World Jazz, Ethnic Jazz (lossless)"} + - {id: 666, cat: Audio/Lossless, desc: "|- Early Jazz, Swing, Gypsy (lossless)"} + - {id: 667, cat: Audio/Lossless, desc: "|- Bop (lossless)"} + - {id: 668, cat: Audio/Lossless, desc: "|- Mainstream Jazz, Cool (lossless)"} + - {id: 669, cat: Audio/Lossless, desc: "|- Jazz Fusion (lossless)"} + - {id: 671, cat: Audio/Lossless, desc: "|- Avant-Garde Jazz, Free Improvisation (lossless)"} + - {id: 672, cat: Audio/Lossless, desc: "|- Modern Creative, Third Stream (lossless)"} + - {id: 673, cat: Audio/Lossless, desc: "|- Smooth, Jazz-Pop (lossless)"} + - {id: 674, cat: Audio/Lossless, desc: "|- Vocal Jazz (lossless)"} + - {id: 675, cat: Audio/Lossless, desc: "|- Funk, Soul, R&B (lossless)"} + - {id: 677, cat: Audio/MP3, desc: "|- ЗарŃбежный джаз (lossy)"} + - {id: 680, cat: Audio/Lossless, desc: "|- Blues Rock (lossless)"} + - {id: 679, cat: Audio/Lossless, desc: "|- Blues (Texas, Chicago, Modern and Others) (lossless)"} + - {id: 681, cat: Audio/Lossless, desc: "|- Roots, Pre-War Blues, Early R&B, Gospel (lossless)"} + - {id: 683, cat: Audio/MP3, desc: "|- ЗарŃбежный блюз (lossy)"} + - {id: 686, cat: Audio/Lossless, desc: "|- ОтечеŃтвенный джаз (lossless)"} + - {id: 687, cat: Audio/MP3, desc: "|- ОтечеŃтвенный джаз (lossy)"} + - {id: 688, cat: Audio/Lossless, desc: "|- ОтечеŃтвенный блюз (lossless)"} + - {id: 689, cat: Audio/MP3, desc: "|- ОтечеŃтвенный блюз (lossy)"} + # Программное обеŃпечение + - {id: 68, cat: PC, desc: "|- Программы под Windows"} + - {id: 91, cat: PC, desc: "|-- СиŃтемы для бизнеŃа"} + - {id: 95, cat: PC, desc: "|-- Программы для работы ŃĐľ звŃком"} + - {id: 94, cat: PC, desc: "|-- Редакторы видео"} + - {id: 87, cat: PC, desc: "|-- 3D моделирование, рендеринг и плагины для них"} + - {id: 98, cat: PC, desc: "|-- СиŃтемы навигации и карты"} + # Книги и жŃрналы + - {id: 340, cat: Books, desc: "|- Предложения по ŃĐ»ŃчŃению раздела 'Книги и жŃрналы..."} + - {id: 341, cat: Books, desc: "|- ĐĄŃдожеŃтвенная литератŃра"} + - {id: 351, cat: Books, desc: "|-- Đ ŃŃŃкая литератŃра (КлаŃŃика)"} + - {id: 405, cat: Books, desc: "|-- Đ ŃŃŃкая литератŃра (Современная проза)"} + - {id: 352, cat: Books/Foreign, desc: "|-- ЗарŃбежная литератŃра (Đ´Đľ 1900 Đł.)"} + - {id: 353, cat: Books/Foreign, desc: "|-- ЗарŃбежная литератŃра (XX и XXI век)"} + - {id: 354, cat: Books, desc: "|-- Детектив / боевик / триллер"} + - {id: 355, cat: Books, desc: "|-- ЖенŃкий роман"} + - {id: 315, cat: Books/Foreign, desc: "|-- ЗарŃбежная фантаŃтика / фэнтези / миŃтика"} + - {id: 316, cat: Books, desc: "|-- ОтечеŃтвенная фантаŃтика / фэнтези / миŃтика"} + - {id: 356, cat: Books, desc: "|-- Приключения"} + - {id: 358, cat: Books/Foreign, desc: "|-- ĐĄŃдожеŃтвенная литератŃра на иноŃтранных языках"} + - {id: 365, cat: Books, desc: "|- Учебная литератŃра для детŃкого Ńада и начальной Ńко..."} + - {id: 359, cat: Books, desc: "|- ĐĄŃдожеŃтвенная литератŃрара для Ńредних и ŃтарŃих клаŃŃов"} + - {id: 343, cat: Books, desc: "|- Đ“Ńманитарные наŃки, иŃтория, филоŃофия"} + - {id: 378, cat: Books, desc: "|-- ĐŃторичеŃкие наŃки. Đздания 1992-по Đ˝.в."} + - {id: 377, cat: Books, desc: "|-- ĐŃтория Đ ĐľŃŃии"} + - {id: 376, cat: Books, desc: "|-- Эпоха СССР"} + - {id: 375, cat: Books, desc: "|-- ĐŃтория отдельных Ńтран и регионов"} + - {id: 371, cat: Books, desc: "|-- ФилоŃофия"} + - {id: 368, cat: Books, desc: "|-- ĐźŃихотерапия, ĐżŃиходиагноŃтика, конŃŃльтирование и ĐżŃихокоррекция"} + - {id: 367, cat: Books, desc: "|-- Эзотерика, Ńаморазвитие и ŃамоŃоверŃенŃтвование"} + - {id: 382, cat: Books, desc: "|- Электроника / радио"} + - {id: 345, cat: Books, desc: "|- Компьютерная литератŃра"} + - {id: 394, cat: Books, desc: "|-- Веб-дизайн и программирование"} + - {id: 393, cat: Books, desc: "|-- Программирование"} + - {id: 898, cat: Books, desc: "|-- СУБД"} + - {id: 392, cat: Books, desc: "|-- Графика, обработка видео"} + - {id: 391, cat: Books, desc: "|-- Сети / VoIP"} + - {id: 389, cat: Books, desc: "|-- Компьютерные жŃрналы и приложения Đş ним"} + - {id: 396, cat: Books/Other, desc: "|- Прочее"} + - {id: 349, cat: Books/Mags, desc: "|- Đ–Ńрналы и газеты (общий раздел)"} + - {id: 350, cat: Books/Other, desc: "|- Разное"} + - {id: 342, cat: Books, desc: "|-- Учебная литератŃра - для детей, родителей и Ńчителей"} + - {id: 370, cat: Books, desc: "|-- Экономика, бизнеŃ, менеджмент, маркетинг"} + - {id: 398, cat: Books, desc: "|-- Прочие хобби"} + - {id: 399, cat: Books, desc: "|-- ĐšŃлинария (книги)"} + - {id: 400, cat: Books, desc: "|-- Охота и рыбалка"} + - {id: 336, cat: Books, desc: "|-- ФизкŃльтŃра, фитнеŃ, бодибилдинг, йога"} + # Разное + - {id: 242, cat: Other, desc: "|- ДрŃгое"} + # Скрытые разделы + - {id: 1184, cat: Other, desc: "|- Для оформления релизов AVP Studio"} + + modes: + search: [q] + tv-search: [q] + movie-search: [q] + music-search: [q] + book-search: [q] + +settings: + - name: username + type: text + label: Username + - name: password + type: password + label: Password + - name: sort + type: select + label: Sort requested from site + default: 1 + options: + 1: created + 10: seeders + 7: size + 2: title + - name: type + type: select + label: Order requested from site + default: 2 + options: + 2: desc + 1: asc + +login: + path: login.php + method: form + form: form[action="./login.php"] + inputs: + login_username: "{{ .Config.username }}" + login_password: "{{ .Config.password }}" + redirect: "index.php" + login: Вход + error: + - selector: table.error + test: + path: index.php + selector: a[href^="login.php?logout=1"] + +search: + paths: + - path: tracker.php + inputs: + f: "{{ join .Categories \",\" }}" + nm: "{{ .Keywords }}" + o: "{{ .Config.sort }}" + s: "{{ .Config.type }}" + tm: -1 + + rows: + selector: tr[id^="tor_"]:has(a[href^="/download.php?id="]) + + fields: + category: + selector: a[href^="tracker.php?f="] + attribute: href + filters: + - name: querystring + args: f + title: + selector: a.tLink + details: + selector: a.tLink + attribute: href + download: + selector: a[href^="/download.php?id="] + attribute: href + size: + selector: td:nth-child(6) > u + seeders: + selector: td.seedmed > b + leechers: + selector: td.leechmed > b + grabs: + selector: td:nth-child(9) + date: + selector: td:last-child > u + downloadvolumefactor: + text: 1 + uploadvolumefactor: + text: 1 +# engine n/a diff --git a/config/prowlarr/Definitions/nicept.yml b/config/prowlarr/Definitions/nicept.yml index e3c57103..ab5c72c6 100644 --- a/config/prowlarr/Definitions/nicept.yml +++ b/config/prowlarr/Definitions/nicept.yml @@ -133,12 +133,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/njtupt.yml b/config/prowlarr/Definitions/njtupt.yml new file mode 100644 index 00000000..4bfccc4c --- /dev/null +++ b/config/prowlarr/Definitions/njtupt.yml @@ -0,0 +1,203 @@ +--- +id: njtupt +name: njtupt (浦园) +description: "njtupt (浦园) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL" +language: zh-CN +type: private +encoding: UTF-8 +links: + - https://njtupt.top/ + +caps: + categorymappings: + - {id: 401, cat: Movies, desc: "电影/Movies"} + - {id: 402, cat: TV, desc: "剧集/TV-Series"} + - {id: 403, cat: TV, desc: "综艺/TV-Show"} + - {id: 405, cat: TV/Anime, desc: "动漫/Anime"} + - {id: 406, cat: Audio, desc: "éźłäą/Music"} + - {id: 422, cat: Audio/Video, desc: "演出/MusicVideo"} + - {id: 404, cat: TV/Documentary, desc: "纪录片/Documentary"} + - {id: 407, cat: TV/Sport, desc: "体育/Sports"} + - {id: 415, cat: TV, desc: "资料/Education"} + - {id: 425, cat: PC/Games, desc: "游ćŹ/Game"} + - {id: 428, cat: PC/0day, desc: "软件/Software"} + - {id: 409, cat: Other, desc: "ĺ…¶ä»–/Other"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid, doubanid] + movie-search: [q, imdbid, doubanid] + music-search: [q] + +settings: + - name: username + type: text + label: Username + - name: password + type: password + label: Password + - name: 2facode + type: text + label: 2FA code + - name: info_2fa + type: info + label: "About 2FA code" + default: "Only fill in the 2FA code box if you have enabled 2FA on the njtupt (浦园) Web Site. Otherwise just leave it empty." + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. + - name: info_activity + type: info + label: Account Inactivity + default: "Account Retention Rules:
  1. Veteran User or above would never be deleted; (Not enabled for the time being).
  2. Elite User or above would never be deleted if parked (at User CP); (Not enabled for the time being).
  3. Parked accounts would be deleted if users have not logged in for more than 400 days in a row.
  4. Unparked accounts would be deleted if users have not logged in for more than 150 days in a row.
" + +login: + path: login.php + method: form + form: form[action="takelogin.php"] + captcha: + type: image + selector: img[alt="CAPTCHA"] + input: imagestring + inputs: + secret: "" + username: "{{ .Config.username }}" + password: "{{ .Config.password }}" + two_step_code: "{{ .Config.2facode }}" + logout: "" + securelogin: "" + ssl: yes + trackerssl: yes + error: + - selector: td.embedded:has(h2:contains("失败")) + test: + path: index.php + selector: a[href="logout.php"] +search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}" + # 0 incldead, 1 active, 2 dead + incldead: 0 + # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr, 3 uploader, 4 imdburl + search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}" + # 0 AND, 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + notnewword: 1 + + rows: + selector: table.torrents > tbody > tr:has(a[href*="download.php?id="]) + + fields: + category: + selector: a[href*="?cat="] + attribute: href + filters: + - name: querystring + args: cat + title_default: + selector: a[href*="details.php?id="] + title: + selector: a[title][href*="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" + details: + selector: a[href*="details.php?id="] + attribute: href + download: + selector: a[href*="download.php?id="] + attribute: href + poster: + selector: img[data-src] + attribute: data-src + imdbid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="imdb.com/title/tt"] + attribute: href + doubanid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="movie.douban.com/subject/"] + attribute: href + date_elapsed: + # time type: time elapsed (default) + selector: td.rowfollow:nth-child(4) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-dd HH:mm:ss zzz" + date_added: + # time added + selector: td.rowfollow:nth-child(4):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + date: + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 + downloadvolumefactor: + case: + img.pro_free: 0 + img.pro_free2up: 0 + img.pro_50pctdown: 0.5 + img.pro_50pctdown2up: 0.5 + img.pro_30pctdown: 0.3 + "*": 1 + uploadvolumefactor: + case: + img.pro_50pctdown2up: 2 + img.pro_free2up: 2 + img.pro_2up: 2 + "*": 1 + description: + selector: td:nth-child(2) + remove: a, b, font, img, span +# NexusPHP v1.8.15 2024-11-27 diff --git a/config/prowlarr/Definitions/nordichd.yml b/config/prowlarr/Definitions/nordichd.yml new file mode 100644 index 00000000..a1e6b4c3 --- /dev/null +++ b/config/prowlarr/Definitions/nordichd.yml @@ -0,0 +1,176 @@ +--- +id: nordichd +name: NORDiCHD +description: "NORDiCHD is a Mixed NORDIC Private Tracker for MOVIES / TV / GENERAL" +language: en-US +type: private +encoding: UTF-8 +links: + - http://nordichd.org/ + - http://cinefilhd.eu/ +legacylinks: + - https://nordichd.sytes.net/ # https not supported + - http://nordichd.sytes.net/ + - https://nordichd.org/ # https not supported + +caps: + categorymappings: + - {id: 46, cat: PC/Games, desc: "Games/PC"} + - {id: 47, cat: PC/Games, desc: "Games/PCRips"} + - {id: 48, cat: Console, desc: "Games/PS"} + - {id: 49, cat: Movies/UHD, desc: "Internal/4k-2160p"} + - {id: 37, cat: Movies/HD, desc: "Internal/HD-1080p"} + - {id: 17, cat: Movies/HD, desc: "Internal/HD-720p"} + - {id: 30, cat: TV/HD, desc: "Internal/HDTV"} + - {id: 15, cat: Movies/HD, desc: "Internal/mHD"} + - {id: 40, cat: Movies/HD, desc: "Internal/Mp4"} + - {id: 26, cat: Movies, desc: "Internal/Remux"} + - {id: 45, cat: Movies/WEB-DL, desc: "Internal/WEB-DL"} + - {id: 12, cat: TV/HD, desc: "HDTV-Packs"} + - {id: 25, cat: Movies/3D, desc: "Movies/3D-Ou"} + - {id: 16, cat: Movies/3D, desc: "Movies/3D-SbS"} + - {id: 50, cat: Movies/UHD, desc: "Movies/4k-2016p"} + - {id: 5, cat: Movies/BluRay, desc: "Movies/BluRay"} + - {id: 38, cat: Movies/HD, desc: "Movies/HD-1080p"} + - {id: 10, cat: Movies/HD, desc: "Movies/HD-720p"} + - {id: 21, cat: TV/HD, desc: "Movies/HDTV"} + - {id: 29, cat: Movies/HD, desc: "Movies/mHD"} + - {id: 41, cat: Movies/HD, desc: "Movies/Mp4"} + - {id: 39, cat: Movies, desc: "Movies/Remux"} + - {id: 44, cat: Movies/WEB-DL, desc: "Movies/WEB-DL"} + - {id: 23, cat: Audio/Lossless, desc: "Lossless"} + - {id: 14, cat: Audio/MP3, desc: "MP3-Packs"} + - {id: 22, cat: Audio/MP3, desc: "Music-MP3"} + - {id: 43, cat: Audio/Video, desc: "Music/1080p"} + - {id: 42, cat: Audio/Video, desc: "Music/720p"} + + modes: + search: [q] + tv-search: [q, season, ep] + movie-search: [q] + music-search: [q] + book-search: [q] + +settings: + - name: username + type: text + label: Username + - name: password + type: password + label: Password + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page setting to 100 on your NORDiCHD account. + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + +login: + path: login.php + method: form + form: form[action="takelogin.php"] + inputs: + username: "{{ .Config.username }}" + password: "{{ .Config.password }}" + error: + - selector: h2 + message: + selector: table tr td.text + test: + path: index.php + selector: a[href^="logout.php?hash_please="] + +search: + paths: + # http://nordichd.sytes.net/browse.php?cats3[]=37&cats3[]=17&cats2[]=38&cats2[]=10&search=&searchin=title&incldead=1&only_free=1 + - path: browse.php + inputs: + # note: site uses the catsX[]=nn method which cardigann does not support. + search: "{{ .Keywords }}" + # title, descr, filelist, genre, all + searchin: title + # 0 active, 1 incldead, 2 onlydead + incldead: 1 + only_free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}" + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + # does not support searching imdbid and does not return imdb links + + rows: + selector: table tbody tr.browse_color:has(a[href^="download.php?torrent="]) + filters: + - name: andmatch + - name: strdump + + fields: + category: + selector: a[href^="browse.php?cat="] + attribute: href + filters: + - name: querystring + args: cat + title: + selector: a[href^="details.php?id="] + details: + selector: a[href^="details.php?id="] + attribute: href + download: + selector: a[href^="download.php?torrent="] + attribute: href + poster: + selector: a[href^="details.php?id="] + attribute: onmouseover + filters: + - name: regexp + args: "src=..(https.+).. width" + files: + selector: td:nth-last-child(8) + date_day: + # Today
08:10 AM + # Yesterday
06:44 PM + selector: td:nth-last-child(6):contains("day") + # auto adjusted by site account profile + optional: true + date_year: + # Dec 4 2021
10:20 AM + selector: td:nth-last-child(6):not(:contains("day")) + # auto adjusted by site account profile + optional: true + filters: + - name: dateparse + args: "MMM d yyyy hh:mm tt" + date: + text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}" + size: + selector: td:nth-last-child(5) + grabs: + selector: td:nth-last-child(4) + seeders: + selector: td:nth-last-child(3) + leechers: + selector: td:nth-last-child(2) + downloadvolumefactor: + text: 1 # site does not appear to have a freeleech flag + uploadvolumefactor: + text: 1 + minimumratio: + text: 1.0 +# U-232 V3 diff --git a/config/prowlarr/Definitions/nortorrent.yml b/config/prowlarr/Definitions/nortorrent.yml index 1e733dd0..54c65192 100644 --- a/config/prowlarr/Definitions/nortorrent.yml +++ b/config/prowlarr/Definitions/nortorrent.yml @@ -10,7 +10,7 @@ type: public encoding: UTF-8 # to fetch current domain use https://www.rantop.org/ links: - - https://ww1-nortorrent.town/ + - https://ww2-nortorrent.com/ legacylinks: # latest domains list - https://www.rantop.org/ @@ -26,11 +26,6 @@ legacylinks: - https://www.site-torrent.com/ - https://www.rantop.my/ # actual legacylinks - - https://www.torrent9.men/ - - https://www.torrent9.icu/ - - https://www-torrent9.com/ - - https://www.nortorrent.com/ - - https://www.nortorrent1.com/ - https://www.nortorrent2.com/ - https://www.nortorrent3.com/ - https://www.nortorrent4.com/ @@ -41,6 +36,11 @@ legacylinks: - https://nortorrent-proxy.site/ - https://ww1-nortorrent.me/ - https://www.nortorrent.rent/ + - https://ww1-nortorrent.town/ + - https://www.nortorrent7.com/ + - https://www.nortorrent8.com/ + - https://ww1-nortorrent.com/ + - https://www-nortorrent.com/ caps: categorymappings: @@ -94,12 +94,8 @@ settings: download: selectors: - - selector: a[href^="magnet:?"] + - selector: a[href^="/get_torrents/"] attribute: href - - selector: script:contains("magnet:?") - filters: - - name: regexp - args: "\\s'(magnet:\\?.+?)';" search: paths: diff --git a/config/prowlarr/Definitions/novahd.yml b/config/prowlarr/Definitions/novahd.yml new file mode 100644 index 00000000..ffacc8b8 --- /dev/null +++ b/config/prowlarr/Definitions/novahd.yml @@ -0,0 +1,188 @@ +--- +id: novahd +name: NovaHD +description: "NovaHD is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL" +language: zh-CN +type: private +encoding: UTF-8 +links: + - https://pt.novahd.top/ + - https://tracker.novahd.top/ + +caps: + categorymappings: + - {id: 413, cat: TV/Anime, desc: "Anime Series/番剧"} + - {id: 412, cat: TV/Anime, desc: "Anime/动漫"} + - {id: 411, cat: TV, desc: "Playlet/短剧"} + - {id: 401, cat: Movies, desc: "Movies/电影"} + - {id: 402, cat: TV, desc: "TV Series/电视剧"} + - {id: 403, cat: TV, desc: "TV Shows/综艺"} + - {id: 404, cat: TV/Documentary, desc: "Documentary/纪录片"} + - {id: 405, cat: TV/Anime, desc: "Animations/动画"} + - {id: 406, cat: Audio/Video, desc: "MV/演唱会"} + - {id: 407, cat: TV/Sport, desc: "Sports/体育"} + - {id: 409, cat: Audio, desc: "Music/éźłäą"} + - {id: 410, cat: Other/Misc, desc: "Misc/ĺ…¶ä»–"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid, doubanid] + movie-search: [q, imdbid, doubanid] + music-search: [q] + +settings: + - name: cookie + type: text + label: Cookie + - name: info_cookie + type: info_cookie + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. + - name: info_activity + type: info + label: Account Inactivity + default: "Account retention rules:
  1. Veteran User and above will be retained forever
  2. Elite User and above will not have their account deleted after parking (in the control panel)
  3. Users with a parked account will be deleted if they do not log in for 400 consecutive days
  4. Users with a non-parked account will be deleted if they do not log in for 150 consecutive days
  5. Users who have no traffic (i.e. upload/download data are both 0) will be deleted if they do not log in for 100 consecutive days.
" + +login: + # using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php + method: cookie + inputs: + cookie: "{{ .Config.cookie }}" + test: + path: index.php + selector: a[href="logout.php"] + +search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}" + # 0 incldead, 1 active, 2 dead + incldead: 0 + # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr, 3 uploader, 4 imdburl + search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}" + # 0 AND, 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + notnewword: 1 + + rows: + selector: table.torrents > tbody > tr:has(table.torrentname) + + fields: + category: + selector: a[href^="?cat="] + attribute: href + filters: + - name: querystring + args: cat + title_default: + selector: a[href^="details.php?id="] + title: + selector: a[title][href^="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" + details: + selector: a[href^="details.php?id="] + attribute: href + download: + selector: a[href^="download.php?id="] + attribute: href + poster: + selector: img[data-src] + attribute: data-src + imdbid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="imdb.com/title/tt"] + attribute: href + doubanid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="movie.douban.com/subject/"] + attribute: href + date_elapsed: + # time type: time elapsed (default) + selector: td.rowfollow:nth-child(4) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-dd HH:mm:ss zzz" + date_added: + # time added + selector: td.rowfollow:nth-child(4):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + date: + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 + downloadvolumefactor: + case: + img.pro_free: 0 + img.pro_free2up: 0 + img.pro_50pctdown: 0.5 + img.pro_50pctdown2up: 0.5 + img.pro_30pctdown: 0.3 + "*": 1 + uploadvolumefactor: + case: + img.pro_50pctdown2up: 2 + img.pro_free2up: 2 + img.pro_2up: 2 + "*": 1 + minimumratio: + text: 2.0 + minimumseedtime: + # 2 days (as seconds = 2 x 24 x 60 x 60) + text: 172800 + description: + selector: td.rowfollow:nth-child(2) + remove: a, b, font, img, span +# NexusPHP v1.9.9 2025-10-02 diff --git a/config/prowlarr/Definitions/okpt.yml b/config/prowlarr/Definitions/okpt.yml index 558148b0..0e4b0e5d 100644 --- a/config/prowlarr/Definitions/okpt.yml +++ b/config/prowlarr/Definitions/okpt.yml @@ -151,12 +151,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/oldgreektracker.yml b/config/prowlarr/Definitions/oldgreektracker.yml index 29ee9c6a..e0a6fa7e 100644 --- a/config/prowlarr/Definitions/oldgreektracker.yml +++ b/config/prowlarr/Definitions/oldgreektracker.yml @@ -12,84 +12,86 @@ legacylinks: caps: categorymappings: - - {id: 3, cat: PC, desc: "Apps"} - - {id: 7, cat: PC/Mobile-Android, desc: "Apps: Android"} + # Apps + - {id: 4, cat: PC/0day, desc: "Apps: Windows"} - {id: 5, cat: PC/0day, desc: "Apps: Linux"} - {id: 6, cat: PC/Mac, desc: "Apps: MacOS"} - - {id: 4, cat: PC/0day, desc: "Apps: Windows"} - - {id: 22, cat: Books, desc: "Books"} - - {id: 27, cat: Books/Comics, desc: "Books: Comics"} - - {id: 114, cat: Audio/Audiobook, desc: "Books: Foreign Audio Books"} - - {id: 23, cat: Books/EBook, desc: "Books: Foreign Books"} - - {id: 69, cat: Audio/Audiobook, desc: "Books: Greek Audio Books"} - - {id: 24, cat: Books/EBook, desc: "Books: Greek Books"} - - {id: 73, cat: Console, desc: "Games"} - - {id: 74, cat: PC/Games, desc: "Games: PC Games"} - - {id: 15, cat: Movies/SD, desc: "Movies"} - - {id: 132, cat: Movies/SD, desc: "Movies: CAM / TS / TC"} + - {id: 7, cat: PC/Mobile-Android, desc: "Apps: Android"} + # Music + - {id: 9, cat: Audio/MP3, desc: "Music: Greek MP3"} + - {id: 10, cat: Audio/Lossless, desc: "Music: Greek FLAC"} + - {id: 11, cat: Audio/MP3, desc: "Music: Foreign MP3"} + - {id: 12, cat: Audio/Lossless, desc: "Music: Foreign FLAC"} + - {id: 68, cat: Audio, desc: "Music:Discographies"} + - {id: 71, cat: Audio, desc: "Music: Collections"} + - {id: 72, cat: Audio/Other, desc: "Music: Foreign Soundtracks"} + - {id: 86, cat: Audio, desc: "Music: Greek Discographies"} + - {id: 87, cat: Audio, desc: "Music: Greek Collections"} + - {id: 92, cat: Audio/Other, desc: "Music: Greek Soundtracks"} + - {id: 115, cat: Audio/Video, desc: "Music: Foreign Music Videos"} + - {id: 116, cat: Audio/Video, desc: "Music: Greek Music Videos"} + # Movies + - {id: 16, cat: Movies/SD, desc: "Movies: Foreign Movies Non HD"} - {id: 20, cat: Movies/SD, desc: "Movies: Filmographies"} - {id: 105, cat: Movies, desc: "Movies: Animation"} - {id: 106, cat: Movies, desc: "Movies: Cartoons"} - - {id: 133, cat: Movies/DVD, desc: "Movies: Foreign DVD5/DVD9"} - - {id: 138, cat: Movies/DVD, desc: "Movies: Foreign DVDRip"} + - {id: 112, cat: Movies/HD, desc: "Movies: Movie Packs"} + - {id: 119, cat: Movies/SD, desc: "Movies: Greek Movies Non HD"} - {id: 122, cat: Movies/HD, desc: "Movies: Foreign HDRip / BRRip"} - - {id: 16, cat: Movies/SD, desc: "Movies: Foreign Movies Non HD"} + - {id: 129, cat: Movies/SD, desc: "Movies: Greek VHS"} - {id: 130, cat: Movies/SD, desc: "Movies: Foreign VHS"} - - {id: 145, cat: Movies/WEB-DL, desc: "Movies: Foreign WEBRip"} - - {id: 141, cat: Movies, desc: "Movies: Greek Audio Animation"} - - {id: 140, cat: Movies, desc: "Movies: Greek Audio Cartoons"} + - {id: 132, cat: Movies/SD, desc: "Movies: CAM / TS / TC"} + - {id: 133, cat: Movies/DVD, desc: "Movies: Foreign DVD5/DVD9"} - {id: 134, cat: Movies/DVD, desc: "Movies: Greek DVD5/DVD9"} - {id: 136, cat: Movies/DVD, desc: "Movies: Greek DVDRip"} + - {id: 138, cat: Movies/DVD, desc: "Movies: Foreign DVDRip"} - {id: 139, cat: Movies/HD, desc: "Movies: Greek HDRip / BRRip"} - - {id: 119, cat: Movies/SD, desc: "Movies: Greek Movies Non HD"} - - {id: 129, cat: Movies/SD, desc: "Movies: Greek VHS"} + - {id: 140, cat: Movies, desc: "Movies: Greek Audio Cartoons"} + - {id: 141, cat: Movies, desc: "Movies: Greek Audio Animation"} + - {id: 145, cat: Movies/WEB-DL, desc: "Movies: Foreign WEBRip"} - {id: 146, cat: Movies/WEB-DL, desc: "Movies: Greek WEBRip"} - - {id: 112, cat: Movies/HD, desc: "Movies: Movie Packs"} - - {id: 41, cat: Movies/HD, desc: "Movies HD"} - - {id: 50, cat: Movies/HD, desc: "Movies HD: BluRay / 1080p"} - - {id: 51, cat: Movies/UHD, desc: "Movies HD: BluRay / 4K (UHD)"} - - {id: 49, cat: Movies/HD, desc: "Movies HD: BluRay / 720p"} - - {id: 45, cat: Movies/BluRay, desc: "Movies HD: BluRay Disk / 1080p"} - - {id: 66, cat: Movies/BluRay, desc: "Movies HD: BluRay Disk / 4K (UHD)"} + # Books + - {id: 23, cat: Books/EBook, desc: "Books: Foreign Books"} + - {id: 24, cat: Books/EBook, desc: "Books: Greek Books"} + - {id: 27, cat: Books/Comics, desc: "Books: Comics"} + - {id: 69, cat: Audio/Audiobook, desc: "Books: Greek Audio Books"} + - {id: 114, cat: Audio/Audiobook, desc: "Books: Foreign Audio Books"} + # TV + - {id: 29, cat: TV/Anime, desc: "TV: Foreign Animation"} + - {id: 31, cat: TV/Other, desc: "TV: Foreign Cartoons"} + - {id: 35, cat: TV, desc: "TV: Greek TV Series"} + - {id: 36, cat: TV, desc: "TV: Greek TV Packs"} + - {id: 40, cat: TV, desc: "TV: Greek TV Shows"} + - {id: 67, cat: TV/Sport, desc: "TV: Sports"} + - {id: 75, cat: TV, desc: "TV: Foreign TV Series"} + - {id: 76, cat: TV, desc: "TV: Foreign TV Shows"} + - {id: 77, cat: TV, desc: "TV: Foreign TV Episodes"} + - {id: 79, cat: TV/Documentary, desc: "TV: Foreign Documentaries"} + - {id: 127, cat: TV/Other, desc: "TV: Tutorials"} + - {id: 142, cat: TV/Other, desc: "TV: Greek Audio Cartoons"} + - {id: 143, cat: TV/Anime, desc: "TV: Greek Audio Animation"} + - {id: 144, cat: TV/Documentary, desc: "TV: Greek Audio Documentaries"} + - {id: 147, cat: TV, desc: "TV: Foreign Packs"} + # Movies HD - {id: 42, cat: Movies/HD, desc: "Movies HD: Remux / 1080p"} + - {id: 43, cat: Movies/WEB-DL, desc: "Movies HD: WEB-DL / 720p"} + - {id: 45, cat: Movies/BluRay, desc: "Movies HD: BluRay Disk / 1080p"} - {id: 46, cat: Movies/UHD, desc: "Movies HD: Remux / 4K (UHD)"} - {id: 47, cat: Movies/WEB-DL, desc: "Movies HD: WEB-DL / 1080p"} - {id: 48, cat: Movies/UHD, desc: "Movies HD: WEB-DL / 4K (UHD)"} - - {id: 43, cat: Movies/WEB-DL, desc: "Movies HD: WEB-DL / 720p"} - - {id: 8, cat: Audio, desc: "Music"} - - {id: 71, cat: Audio, desc: "Music: Collections"} - - {id: 68, cat: Audio, desc: "Music:Discographies"} - - {id: 12, cat: Audio/Lossless, desc: "Music: Foreign FLAC"} - - {id: 11, cat: Audio/MP3, desc: "Music: Foreign MP3"} - - {id: 115, cat: Audio/Video, desc: "Music: Foreign Music Videos"} - - {id: 72, cat: Audio/Other, desc: "Music: Foreign Soundtracks"} - - {id: 87, cat: Audio, desc: "Music: Greek Collections"} - - {id: 86, cat: Audio, desc: "Music: Greek Discographies"} - - {id: 10, cat: Audio/Lossless, desc: "Music: Greek FLAC"} - - {id: 9, cat: Audio/MP3, desc: "Music: Greek MP3"} - - {id: 116, cat: Audio/Video, desc: "Music: Greek Music Videos"} - - {id: 92, cat: Audio/Other, desc: "Music: Greek Soundtracks"} - - {id: 28, cat: TV, desc: "TV"} - - {id: 29, cat: TV/Anime, desc: "TV: Foreign Animation"} - - {id: 31, cat: TV/Other, desc: "TV: Foreign Cartoons"} - - {id: 79, cat: TV/Documentary, desc: "TV: Foreign Documentaries"} - - {id: 147, cat: TV, desc: "TV: Foreign Packs"} - - {id: 77, cat: TV, desc: "TV: Foreign TV Episodes"} - - {id: 75, cat: TV, desc: "TV: Foreign TV Series"} - - {id: 76, cat: TV, desc: "TV: Foreign TV Shows"} - - {id: 143, cat: TV/Anime, desc: "TV: Greek Audio Animation"} - - {id: 142, cat: TV/Other, desc: "TV: Greek Audio Cartoons"} - - {id: 144, cat: TV/Documentary, desc: "TV: Greek Audio Documentaries"} - - {id: 36, cat: TV, desc: "TV: Greek TV Packs"} - - {id: 35, cat: TV, desc: "TV: Greek TV Series"} - - {id: 40, cat: TV, desc: "TV: Greek TV Shows"} - - {id: 67, cat: TV/Sport, desc: "TV: Sports"} - - {id: 127, cat: TV/Other, desc: "TV: Tutorials"} + - {id: 49, cat: Movies/HD, desc: "Movies HD: BluRay / 720p"} + - {id: 50, cat: Movies/HD, desc: "Movies HD: BluRay / 1080p"} + - {id: 51, cat: Movies/UHD, desc: "Movies HD: BluRay / 4K (UHD)"} + - {id: 66, cat: Movies/BluRay, desc: "Movies HD: BluRay Disk / 4K (UHD)"} + # Games + - {id: 74, cat: PC/Games, desc: "Games: PC Games"} + # the following are not selectable from the site's category pull down but exist as categories in results + - {id: 3, cat: PC, desc: "Apps"} modes: search: [q] tv-search: [q] - movie-search: [q, imdbid] + movie-search: [q] music-search: [q] book-search: [q] @@ -123,114 +125,106 @@ settings: - name: info_tpp type: info label: Results Per Page - default: For best results, change the Torrents per page: setting to 40 on your account profile. The Default is 15. + default: For best results, change the Torrents per page: setting to 100 on your account profile. The Default is 15. - name: info_activity type: info label: Account Inactivity default: "To keep records updated regularly, all inactive accounts will be deleted after 60 days of inactivity." login: - path: login.php - method: form - form: form[action="takelogin.php"] - captcha: - type: image - selector: img#regimage - input: imagestring + path: index.php?page=login + method: post inputs: - username: "{{ .Config.username }}" - password: "{{ .Config.password }}" - logout: "" + uid: "{{ .Config.username }}" + pwd: "{{ .Config.password }}" error: - - selector: table:contains("error has occured") + - selector: tr td span[style="color:#FF0000;"] test: path: index.php - selector: a[href*="/logout.php?logouthash="] - -download: - before: - path: takethanks.php - method: post - inputs: - torrentid: "{{ .DownloadUri.Query.id }}" - selectors: - - selector: a[href*="download-torrent-"] - attribute: href + selector: a[href="logout.php"] search: paths: - - path: browse.php - method: post + # https://oldgreektracker.xyz/index.php?page=torrents&search=&category=0&active=0 + - path: index.php + inputs: + page: torrents + search: "{{ .Keywords }}" + category: "{{ range .Categories }}{{.}};{{end}}" + # 0 filename, 1 file&descr, 2 descr, 3 uploaders, 18 genre, 4 imdb, 5 gold, 6 silver, 7 bronze + options: "{{ if .Config.freeleech }}5{{ else }}0{{ end }}" + # 0 all, 1 active only, 2 dead only + active: 0 + order: "{{ .Config.sort }}" + by: "{{ .Config.type }}" + keywordsfilters: - name: re_replace - args: ["[\\s]+", "%"] - inputs: - do: search - keywords: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" - # t_name, t_description, t_both, t_uploader, t_genre - search_type: "{{ if .Query.IMDBID }}t_genre{{ else }}t_name{{ end }}" - # does not support multi category searching so defaulting to all. - category: 0 - # yes, no - include_dead_torrents: yes - sort: "{{ if .Config.freeleech }}free{{ else }}{{ .Config.sort }}{{ end }}" - order: "{{ if .Config.freeleech }}asc{{ else }}{{ .Config.type }}{{ end }}" + args: ["\\.", " "] rows: - selector: "table.sortable tr:has(a[href*=\"download-torrent-\"]){{ if .Config.freeleech }}:has(img[src$=\"/freedownload.gif\"]){{ else }}{{ end }}" + selector: table.lista > tbody > tr:has(a[href^="download.php?id="]):has(strong img) fields: category: - selector: a[href*="torrent-category-"] + selector: a[href^="index.php?page=torrents&category="] attribute: href filters: - - name: regexp - args: torrent-category-(\d+) - title_default: - # is usually abbreaviated - selector: a[href*="torrent-details-"] + - name: querystring + args: category title: - # while still abbreviated, is usually longer than the default - selector: div.tooltip-content div - optional: true - default: "{{ .Result.title_default }}" + selector: a[href^="index.php?page=torrent-details&id="] details: - selector: a[href*="torrent-details-"] + selector: a[href^="index.php?page=torrent-details&id="] attribute: href download: - selector: a[href*="torrent-details-"] + selector: a[href^="download.php?id="] attribute: href poster: - selector: img[src*="/torrents/images/"] - attribute: src - date: - selector: td:nth-child(2) - # auto adjusted by site account profile + selector: a[href^="index.php?page=torrent-details&id="] + attribute: onmouseover filters: - name: regexp - args: "(\\d{2}-\\d{2}-\\d{2} \\d{2}:\\d{2})" - - name: dateparse - args: "dd-MM-yy HH:mm" + args: src=(.+?) width + - name: replace + args: ["torrentimg/nocover.jpg", ""] size: - selector: td:nth-last-child(5) - grabs: - selector: td:nth-last-child(4) + selector: td:nth-child(12) + date: + # auto adjusted by site account profile + selector: td:nth-child(8) + filters: + - name: dateparse + args: "dd/MM/yyyy" seeders: - selector: td:nth-last-child(3) + selector: td:nth-child(8) + optional: true + default: 0 leechers: - selector: td:nth-last-child(2) + optional: true + selector: td:nth-child(10) + default: 0 + grabs: + optional: true + selector: td:nth-child(11) + default: 0 + description: + selector: td:nth-child(1) + case: + img[src="/images/mod/ok.png"]: Verified + "*": Not Verified downloadvolumefactor: case: - img[src$="/freedownload.gif"]: 0 - img[src$="/silverdownload.gif"]: 0.5 + img[src="images/freeleech.gif"]: 0 + img[src="images/gold.gif"]: 0 + img[src="images/silver.gif"]: 0.5 + img[src="images/bronze.gif"]: 0.75 "*": 1 uploadvolumefactor: - case: - img[src$="/x2.gif"]: 2 - "*": 1 + text: 1 minimumratio: text: 1.0 minimumseedtime: # 3 days (as seconds = 3 x 24 x 60 x 60) text: 259200 -# TS Special Edition v.8.0 +# xbtitFM v4.2.12 diff --git a/config/prowlarr/Definitions/oldtoonsworld.yml b/config/prowlarr/Definitions/oldtoonsworld.yml index 010fb28c..6846fc85 100644 --- a/config/prowlarr/Definitions/oldtoonsworld.yml +++ b/config/prowlarr/Definitions/oldtoonsworld.yml @@ -194,4 +194,4 @@ search: minimumseedtime: # 2 days (as seconds = 2 x 24 x 60 x 60) text: 172800 -# json UNIT3D 9.1.7 +# json UNIT3D 9.2.0 diff --git a/config/prowlarr/Definitions/oscarworld.yml b/config/prowlarr/Definitions/oscarworld.yml new file mode 100644 index 00000000..e85deaab --- /dev/null +++ b/config/prowlarr/Definitions/oscarworld.yml @@ -0,0 +1,216 @@ +--- +id: oscarworld +name: Oscar World +description: "Oscar World is a Private Torrent Tracker for MOVIES / TV / GENERAL" +language: en-US +type: private +encoding: UTF-8 +links: + - https://oscarworld.xyz/ + +caps: + categorymappings: + - {id: 56, cat: Audio/Video, desc: "Music Videos"} + - {id: 22, cat: Audio, desc: "VIP"} + - {id: 23, cat: Audio/MP3, desc: "Music/MP3"} + - {id: 24, cat: Audio, desc: "Mastermix"} + - {id: 26, cat: Audio, desc: "DMC"} + - {id: 27, cat: Audio/Lossless, desc: "FLAC"} + - {id: 28, cat: Audio, desc: "Artist Albums"} + - {id: 30, cat: Audio, desc: "Mastermix Other"} + - {id: 31, cat: Audio, desc: "Compilation Albums"} + - {id: 41, cat: Audio, desc: "DMC Commercial"} + - {id: 44, cat: Audio, desc: "Music Packs"} + - {id: 45, cat: Audio, desc: "UntraMix - DJ Music"} + - {id: 46, cat: Audio, desc: "Christmas Music"} + - {id: 47, cat: Audio, desc: "Classical"} + - {id: 48, cat: Audio, desc: "Discography"} + - {id: 54, cat: Audio/Other, desc: "Karaoke"} + - {id: 49, cat: TV/Sport, desc: "Sports"} + - {id: 57, cat: Audio, desc: "Educational"} + - {id: 58, cat: TV, desc: "TV Series"} + - {id: 5, cat: Movies/Other, desc: "Animated"} + - {id: 32, cat: Movies/BluRay, desc: "BluRay"} + - {id: 33, cat: Movies/DVD, desc: "DVD"} + - {id: 34, cat: Movies/SD, desc: "VHS-Rip"} + - {id: 35, cat: Movies/SD, desc: "DVD-Rip"} + - {id: 36, cat: Movies/SD, desc: "MPG"} + - {id: 37, cat: Movies/HD, desc: "AV1"} + - {id: 38, cat: Movies, desc: "Box Sets"} + - {id: 39, cat: Movies, desc: "TV Movies Rip"} + - {id: 40, cat: Movies/Other, desc: "Documentary"} + - {id: 42, cat: Movies/HD, desc: "HD Rip"} + - {id: 55, cat: Movies/Foreign, desc: "Non-English"} + - {id: 59, cat: Movies/UHD, desc: "HEVC 10-Bit"} + - {id: 60, cat: Movies, desc: "Netflix"} + - {id: 61, cat: Movies, desc: "Amazon"} + - {id: 3, cat: PC/Games, desc: "Games"} + - {id: 52, cat: Audio/Audiobook, desc: "Audio Books"} + - {id: 53, cat: Books/EBook, desc: "eBooks"} + - {id: 4, cat: Other, desc: "Other"} + - {id: 50, cat: PC/Mobile-Android, desc: "Andriod Mobile Apps"} + - {id: 7, cat: PC/0day, desc: "Apps Win"} + - {id: 8, cat: PC/ISO, desc: "Apps Linux"} + - {id: 51, cat: PC/Mobile-iOS, desc: "iOS Mobile Apps"} + - {id: 9, cat: PC/Mac, desc: "Apps Mac"} + + modes: + search: [q] + tv-search: [q, season, ep] + movie-search: [q] + music-search: [q] + book-search: [q] + +settings: + - name: username + type: text + label: Username + - name: password + type: password + label: Password + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 3 + options: + 3: created + 5: seeders + 4: size + 2: title + - name: type + type: select + label: Order requested from site + default: 2 + options: + 2: desc + 1: asc + - name: info + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. Default is 20. + +login: + path: index.php?page=login + method: post + inputs: + uid: "{{ .Config.username }}" + pwd: "{{ .Config.password }}" + error: + - selector: tr td span[style="color:#FF0000;"] + test: + path: index.php + selector: a[href="logout.php"] + +download: + before: + path: thanks.php + method: post + inputs: + infohash: "{{ .DownloadUri.Query.id }}" + thanks: 1 + rndval: "1487013827343" + selectors: + - selector: a[href^="download.php?id="] + attribute: href + filters: + - name: regexp + args: "^(.+?)&key=" + +search: + paths: + # https://oscarworld.xyz/index.php?page=torrents&search=&category=0&active=0 + - path: index.php + inputs: + page: torrents + search: "{{ .Keywords }}" + category: "{{ range .Categories }}{{.}};{{end}}" + # 0 filename, 1 file&descr, 2 descr, 3 uploaders, 5 gold, 6 silver, 7 bronze + options: "{{ if .Config.freeleech }}5{{ else }}0{{ end }}" + # 0 all, 1 active only, 2 dead only + active: 0 + order: "{{ .Config.sort }}" + by: "{{ .Config.type }}" + + keywordsfilters: + - name: re_replace + args: ["\\.", " "] + + rows: + selector: table.lista > tbody > tr:has(a[href^="index.php?page=torrent-details&id="]) + + fields: + category: + selector: a[href^="index.php?page=torrents&category="] + attribute: href + filters: + - name: querystring + args: category + title: + selector: a[href^="index.php?page=torrent-details&id="] + details: + selector: a[href^="index.php?page=torrent-details&id="] + attribute: href + download: + selector: a[href^="index.php?page=downloadcheck&id="] + attribute: href + poster: + selector: a[href^="torrentimg/"] + attribute: href + size: + selector: td:nth-child(2) + filters: + - name: regexp + args: "Size:[\\s\\\xA0]+(.+?B)" + date: + # auto adjusted by site account profile + selector: td:nth-child(2) + filters: + - name: regexp + args: "AddDate:[\\s\\\xA0]+(.+?)\\\n" + - name: dateparse + args: "HH:mm:ss dd/MM/yyyy" + seeders: + selector: td:nth-child(2) + filters: + - name: regexp + args: "Seeds:[\\s\\\xA0]+(\\d+)\\\xA0" + leechers: + selector: td:nth-child(2) + filters: + - name: regexp + args: "Leechers:[\\s\\\xA0]+(\\d+)\\\xA0" + grabs: + selector: td:nth-child(2) + filters: + - name: regexp + args: "Complete:[\\s\\\xA0]+(.+?)\\s" + - name: replace + args: ["---", "0"] + downloadvolumefactor: + case: + img[src="images/freeleech.gif"]: 0 + img[src="images/gold.gif"]: 0 + img[src="images/silver.gif"]: 0.5 + img[src="images/bronze.gif"]: 0.75 + "*": 1 + uploadvolumefactor: + text: 1 + minimumratio: + text: 1.0 + minimumseedtime: + # 12 hours (as seconds = 12 x 60 x 60) - normal + # 2 days (as seconds = 7 x 24 x 60 x 60) - freeleech/promotion + case: + img[src="images/freeleech.gif"]: 172800 + img[src="images/gold.gif"]: 172800 + img[src="images/silver.gif"]: 172800 + img[src="images/bronze.gif"]: 172800 + "*": 43200 + description: + selector: img[src="images/downloaded.gif"] + attribute: title +# xbtitFM v2.1.08 diff --git a/config/prowlarr/Definitions/oshenpt.yml b/config/prowlarr/Definitions/oshenpt.yml index 786a36a0..9c71bf8f 100644 --- a/config/prowlarr/Definitions/oshenpt.yml +++ b/config/prowlarr/Definitions/oshenpt.yml @@ -169,12 +169,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/ourbits.yml b/config/prowlarr/Definitions/ourbits.yml index 8b49329d..20e2d425 100644 --- a/config/prowlarr/Definitions/ourbits.yml +++ b/config/prowlarr/Definitions/ourbits.yml @@ -144,12 +144,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/panda.yml b/config/prowlarr/Definitions/panda.yml index 2a5219c5..c390a3ec 100644 --- a/config/prowlarr/Definitions/panda.yml +++ b/config/prowlarr/Definitions/panda.yml @@ -45,7 +45,7 @@ settings: - name: info_2fa type: info label: "About 2FA code" - default: "Only fill in the 2FA code box if you have enabled 2FA on the Kufei Web Site. Otherwise just leave it empty." + default: "Only fill in the 2FA code box if you have enabled 2FA on the Panda Web Site. Otherwise just leave it empty." - name: freeleech type: checkbox label: Search freeleech only @@ -173,12 +173,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/parabellumhd-api.yml b/config/prowlarr/Definitions/parabellumhd-api.yml new file mode 100644 index 00000000..b4c606b4 --- /dev/null +++ b/config/prowlarr/Definitions/parabellumhd-api.yml @@ -0,0 +1,213 @@ +--- +id: parabellumhd-api +name: ParabellumHD (API) +description: "ParabellumHD is a SPANISH Private Torrent Tracker for HEVC & AV1-encoded MOVIES / TV" +language: es-ES +type: private +encoding: UTF-8 +links: + - https://parabellumhd.cx/ + +caps: + categorymappings: + - {id: 1, cat: Movies, desc: "Películas"} + - {id: 2, cat: TV, desc: "Series"} + - {id: 7, cat: Movies/Other, desc: "Películas Animación"} + - {id: 8, cat: TV/Other, desc: "Series Animación"} + - {id: 9, cat: Movies/Other, desc: "Películas Anime"} + - {id: 10, cat: TV/Anime, desc: "Series Anime"} + - {id: 6, cat: Other, desc: "Varios"} + - {id: 11, cat: Movies/UHD, desc: "Películas 4K"} + # undocumented + - {id: 4, cat: Console, desc: "Juegos"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid, tvdbid, tmdbid] + movie-search: [q, imdbid, tmdbid] + +settings: + - name: apikey + type: text + label: APIKey + - name: info_key + type: info + label: About your API key + default: "Find or Generate a new API Token by accessing your ParabellumHD account My Settings page and clicking on the API Key tab." + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: single_file_release_use_filename + type: checkbox + label: Use filename as title for single file releases + default: true + - name: sort + type: select + label: Sort requested from site + default: created_at + options: + created_at: created + seeders: seeders + size: size + name: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + +login: + path: /api/torrents + method: get + error: + - selector: a[href*="/login"] + message: + text: "The API key was not accepted by {{ .Config.sitelink }}." + - selector: :root:contains("Account is Banned") + +search: + paths: + # https://hdinnovations.github.io/UNIT3D/torrent_api.html + # https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657 + - path: api/torrents/filter + response: + type: json + + headers: + Authorization: ["Bearer {{ .Config.apikey }}"] + + inputs: + # if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6 + $raw: "{{ range .Categories }}&categories[]={{.}}{{end}}" + name: "{{ .Keywords }}" + seasonNumber: "{{ .Query.Season }}" + episodeNumber: "{{ .Query.Ep }}" + imdbId: "{{ .Query.IMDBIDShort }}" + tmdbId: "{{ .Query.TMDBID }}" + tvdbId: "{{ .Query.TVDBID }}" + "free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}" + sortField: "{{ .Config.sort }}" + sortDirection: "{{ .Config.type }}" + perPage: 100 + + keywordsfilters: + - name: re_replace + args: ["\\.", " "] + + rows: + selector: data + attribute: attributes + + fields: + category: + selector: category_id + _resolution: + selector: resolution + _type: + selector: type + filters: + - name: replace + args: ["Encode", "BluRay"] + - name: replace + args: ["Full Disc", "BR-DISK"] + title_optional: + selector: name + filters: + - name: append + args: " {{ .Result._resolution }} {{ .Result._type }}" + title_filename: + selector: "files[0].name" + optional: true + files: + selector: num_file + title: + text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}" + filters: + - name: re_replace + args: ["(?i)\\bTemporada (\\d+)\\b", "S$1"] + - name: re_replace + args: ["(?i)\\bEpisodio (\\d+)\\b", "E$1"] + - name: re_replace + args: ["(?i)(\\d+)x(\\d+)", "S$1E$2"] + details: + selector: details_link + download: + selector: download_link + poster: + selector: meta.poster + filters: + - name: replace + args: ["https://via.placeholder.com/90x135", ""] + imdbid: + selector: imdb_id + tmdbid: + selector: tmdb_id + tvdbid: + selector: tvdb_id + genre: + selector: meta.genres + filters: + - name: re_replace + args: ["(?i)(Science Fiction)", "Science_Fiction"] + - name: re_replace + args: ["(?i)(TV Movie)", "TV_Movie"] + - name: replace + args: [" & ", "_&_"] + _internal: + selector: internal + case: + False: "{{ .False }}" + True: "{{ .True }}" + description: + text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}" + seeders: + selector: seeders + leechers: + selector: leechers + grabs: + selector: times_completed + date: + # "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50 + selector: created_at + filters: + - name: append + args: " +00:00" # GMT + - name: dateparse + args: "MM/dd/yyyy HH:mm:ss zzz" + size: + selector: size + _featured: + selector: featured + case: + False: "{{ .False }}" + True: "{{ .True }}" + downloadvolumefactor_freeleech: + # api returns 0%, 25%, 50%, 75%, 100% + selector: freeleech + case: + 0%: 1 # not free + 25%: 0.75 + 50%: 0.5 + 75%: 0.25 + 100%: 0 # freeleech + "*": 0 # catch errors + downloadvolumefactor: + text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}" + uploadvolumefactor_double_upload: + # api returns False, True + selector: double_upload + case: + False: 1 # normal + True: 2 # double + uploadvolumefactor: + text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}" +# global MR is 1.0 but torrents must be seeded for 7 days regardless of ratio +# minimumratio: +# text: 1.0 + minimumseedtime: + # 7 days (as seconds = 7 x 24 x 60 x 60) + text: 604800 +# json UNIT3D 9.2.0 (custom) diff --git a/config/prowlarr/Definitions/pier720.yml b/config/prowlarr/Definitions/pier720.yml index 1212a44b..6123bd7f 100644 --- a/config/prowlarr/Definitions/pier720.yml +++ b/config/prowlarr/Definitions/pier720.yml @@ -59,6 +59,7 @@ caps: - {id: 65, cat: TV/Sport, desc: "Hockey - Stanley Cup Finals"} - {id: 92, cat: TV/Sport, desc: "Hockey - NCAA"} - {id: 49, cat: TV/Sport, desc: "Hockey - World Championship"} + - {id: 123, cat: TV/Sport, desc: "Hockey - Olympic Games"} - {id: 68, cat: TV/Sport, desc: "Hockey - Documentaries"} - {id: 64, cat: TV/Sport, desc: "Hockey - Reviews and highlights"} - {id: 50, cat: TV/Sport, desc: "Hockey - Other"} diff --git a/config/prowlarr/Definitions/pignetwork.yml b/config/prowlarr/Definitions/pignetwork.yml index b65ded06..8265416a 100644 --- a/config/prowlarr/Definitions/pignetwork.yml +++ b/config/prowlarr/Definitions/pignetwork.yml @@ -153,12 +153,20 @@ search: args: "yyyy-MM-ddHH:mm:ss zzz" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/playletpt.yml b/config/prowlarr/Definitions/playletpt.yml new file mode 100644 index 00000000..97c3b011 --- /dev/null +++ b/config/prowlarr/Definitions/playletpt.yml @@ -0,0 +1,169 @@ +--- +id: playletpt +name: PlayletPT +description: "PlayletPT is a CHINESE Private Torrent Tracker for Short Drama" +language: zh-CN +type: private +encoding: UTF-8 +links: + - https://playletpt.xyz/ + +caps: + categorymappings: + - {id: 408, cat: TV, desc: "短剧/Drama"} + - {id: 409, cat: TV, desc: "漫画/Comedy"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid] + +settings: + - name: cookie + type: text + label: Cookie + - name: info_cookie + type: info_cookie + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. + - name: info_activity + type: info + label: Account Inactivity + default: "Account retention rules:
  1. Veteran User and above will be retained forever
  2. Elite User and above will not have their account deleted after parking (in the control panel)
  3. Users with a parked account will be deleted if they do not log in for 400 consecutive days
  4. Users with a non-parked account will be deleted if they do not log in for 150 consecutive days
" + +login: + # using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php + method: cookie + inputs: + cookie: "{{ .Config.cookie }}" + test: + path: index.php + selector: a[href="logout.php"] + +search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" + # 0 incldead, 1 active, 2 dead + incldead: 0 + # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr, 3 uploader, 4 imdburl + search_area: "{{ if .Query.IMDBID }}4{{ else }}0{{ end }}" + # 0 AND, 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + notnewword: 1 + + rows: + selector: table.torrents > tbody > tr:has(a[href*="download.php?id="]) + + fields: + category: + selector: a[href*="?cat="] + attribute: href + filters: + - name: querystring + args: cat + title_default: + selector: a[href*="details.php?id="] + title: + selector: a[title][href*="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" + details: + selector: a[href*="details.php?id="] + attribute: href + download: + selector: a[href*="download.php?id="] + attribute: href + poster: + selector: img[data-src] + attribute: data-src + imdbid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="imdb.com/title/tt"] + attribute: href + date_elapsed: + # time type: time elapsed (default) + selector: td.rowfollow:nth-child(4) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-dd HH:mm:ss zzz" + date_added: + # time added + selector: td.rowfollow:nth-child(4):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + date: + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 + downloadvolumefactor: + case: + img.pro_free: 0 + img.pro_free2up: 0 + img.pro_50pctdown: 0.5 + img.pro_50pctdown2up: 0.5 + img.pro_30pctdown: 0.3 + "*": 1 + uploadvolumefactor: + case: + img.pro_50pctdown2up: 2 + img.pro_free2up: 2 + img.pro_2up: 2 + "*": 1 + minimumseedtime: + # 1 days (as seconds = 1 x 24 x 60 x 60) + text: 86400 + description: + selector: td.rowfollow:nth-child(2) + remove: a, b, font, img, span +# NexusPHP v1.9.6 2025-06-25 (custom) diff --git a/config/prowlarr/Definitions/polishtorrent.yml b/config/prowlarr/Definitions/polishtorrent.yml index df45c181..aaa00d8b 100644 --- a/config/prowlarr/Definitions/polishtorrent.yml +++ b/config/prowlarr/Definitions/polishtorrent.yml @@ -51,6 +51,7 @@ caps: movie-search: [q, imdbid, tmdbid] music-search: [q] book-search: [q] + allowtvsearchimdb: true settings: - name: apikey @@ -168,8 +169,6 @@ search: selector: details_link download: selector: download_link - infohash: - selector: info_hash poster: selector: meta.poster filters: @@ -242,6 +241,6 @@ search: # minimumratio: # text: 0.7 minimumseedtime: - # 5 days (as seconds = 5 x 24 x 60 x 60) - text: 432000 -# json UNIT3D 9.1.5 (custom) + # 10 days (as seconds = 10 x 24 x 60 x 60) + text: 864000 +# json UNIT3D 9.2.0 (custom) diff --git a/config/prowlarr/Definitions/polskie-torrenty.yml b/config/prowlarr/Definitions/polskie-torrenty.yml index 17caafc3..7caf82ad 100644 --- a/config/prowlarr/Definitions/polskie-torrenty.yml +++ b/config/prowlarr/Definitions/polskie-torrenty.yml @@ -107,12 +107,11 @@ caps: book-search: [q] settings: - - name: username + - name: cookie type: text - label: Username - - name: password - type: password - label: Password + label: Cookie + - name: info_cookie + type: info_cookie - name: multilang type: checkbox label: Replace MULTi by another language in release name @@ -124,46 +123,56 @@ settings: options: POLISH: POLISH MULTi POLISH: MULTi POLISH + - name: sort + type: select + label: Sort requested from site + default: date + options: + date: created + seed: seeders + size: size + name: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_limit + type: info + label: "Download Daily Limit" + default: "Polskie-Torrenty has a daily limit on downloads. If downloads fail then you have exceeded your daily limit. Try again tomorrow." login: - path: login.php - method: form - form: form[name="login"] + method: cookie inputs: - uid: "{{ .Config.username }}" - pwd: "{{ .Config.password }}" - keeplogged: 1 - error: - - selector: font[color="#FF0000"] + cookie: "{{ .Config.cookie }}" test: path: index.php selector: a[href="logout.php"] search: paths: - # https://polskie-torrenty.eu/torrents.php?c115=1&c116=1&c117=1&c118=1&search= - - path: torrents.php + # https://polskie-torrenty.eu/wyszukaj.php?q=Ronin&category=72&sort=seed_desc + - path: wyszukaj.php inputs: $raw: "{{ range .Categories }}c{{.}}=1&{{end}}" - search: "{{ .Keywords }}" - # does not support sorting results, or imdbid searching, or have imdb in results + q: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}" + sort: "{{ .Config.sort }}_{{ .Config.type }}" rows: - selector: div.boxcontent > table > tbody > tr:has(a.link1) + selector: table.results-table tbody tr fields: - categorydesc: - selector: div.link1 > font - optional: true - default: Pozostale - title_phase1: - selector: a.link1 + category: + selector: td:nth-child(1) a attribute: href filters: - - name: regexp - args: f=(.+?)\.torrent - - name: urldecode - - name: htmldecode + - name: querystring + args: sub_category + title_phase1: + selector: td:nth-child(2) a title_multilang: text: "{{ .Result.title_phase1 }}" filters: @@ -174,41 +183,22 @@ search: title: text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase1 }}{{ end }}" details: - selector: a[href^="details.php?id="] + selector: td:nth-child(2) a attribute: href download: - selector: a.link1 + selector: td:nth-child(2) a attribute: href - poster: - selector: img - attribute: src + filters: + - name: replace + args: ["details.php?id=", "download.php?id="] date: - selector: td.pole - filters: - - name: regexp - args: "(\\d{2}-\\d{2}-\\d{4})" - - name: dateparse - args: "dd-MM-yyyy" + text: now size: - selector: td.pole - filters: - - name: regexp - args: "Rozmiar: (\\d+\\.\\d+ [T|G|M|K|k]B)" + selector: td:nth-child(3) seeders: - selector: td.pole - filters: - - name: regexp - args: "SeedĂłw: (\\d+)" + selector: td:nth-child(4) leechers: - selector: td.pole - filters: - - name: regexp - args: "PeerĂłw: (\\d+)" - grabs: - selector: td.pole - filters: - - name: regexp - args: "Pobrano: (\\d+)" + selector: td:nth-child(5) downloadvolumefactor: text: 0 uploadvolumefactor: diff --git a/config/prowlarr/Definitions/pornolab.yml b/config/prowlarr/Definitions/pornolab.yml index f2a620d3..6a50f360 100644 --- a/config/prowlarr/Definitions/pornolab.yml +++ b/config/prowlarr/Definitions/pornolab.yml @@ -21,16 +21,16 @@ caps: - {id: 508, cat: XXX, desc: "КлаŃŃичеŃкие фильмы / Classic"} - {id: 555, cat: XXX, desc: "Фильмы Ń Ńюжетом / Feature & Vignettes"} - {id: 1845, cat: XXX, desc: "Гонзо-фильмы 1991-2010 / Gonzo 1991-2010"} - - {id: 1673, cat: XXX, desc: "Гонзо-фильмы 2011-2025 / Gonzo 2011-2025"} + - {id: 1673, cat: XXX, desc: "Гонзо-фильмы 2011-2026 / Gonzo 2011-2026"} - {id: 1112, cat: XXX, desc: "Фильмы без Ńюжета 1991-2010 / All Sex & Amateur 1991-2010"} - - {id: 1718, cat: XXX, desc: "Фильмы без Ńюжета 2011-2025 / All Sex & Amateur 2011-2025"} + - {id: 1718, cat: XXX, desc: "Фильмы без Ńюжета 2011-2026 / All Sex & Amateur 2011-2026"} - {id: 553, cat: XXX, desc: "ЛеŃбо-фильмы / All Girl & Solo"} - {id: 1143, cat: XXX, desc: "ЭтничеŃкие фильмы / Ethnic-Themed"} - {id: 1646, cat: XXX, desc: "Видео для телефонов и КПК / Pocket РС & Phone Video"} - {id: 1717, cat: XXX, desc: "ЗарŃбежные фильмы в выŃоком качеŃтве (DVD&HD) / Full Length Movies High-Quality"} - {id: 1851, cat: XXX/DVD, desc: "ЭротичеŃкие и ДокŃментальные видео (DVD) / Erotic, Documentary & Reality (DVD)"} - - {id: 1713, cat: XXX/DVD, desc: "Фильмы Ń Ńюжетом, КлаŃŃичеŃкие (DVD) / Feature & Vignetts, Classic (DVD)"} + - {id: 1713, cat: XXX/DVD, desc: "Фильмы Ń Ńюжетом, КлаŃŃичеŃкие (DVD) / Feature & Vignettes, Classic (DVD)"} - {id: 512, cat: XXX/DVD, desc: "Гонзо, ЛеŃбо и Фильмы без Ńюжета (DVD) / Gonzo, All Girl & Solo, All Sex (DVD)"} - {id: 1712, cat: XXX, desc: "ЭротичеŃкие и ДокŃментальные видео (HD Video) / Erotic, Documentary & Reality (HD Video)"} - {id: 1775, cat: XXX, desc: "Фильмы Ń Ńюжетом, КлаŃŃичеŃкие (HD Video) / Feature & Vignettes, Classic (HD Video)"} @@ -43,6 +43,8 @@ caps: - {id: 1830, cat: XXX, desc: "Сайтрипы Ń Ń€ŃŃŃкими актриŃами 1991-2015 (HD Video) / Russian SiteRip's 1991-2015 (HD Video)"} - {id: 1803, cat: XXX, desc: "Сайтрипы Ń Ń€ŃŃŃкими актриŃами 2016-2025 / Russian SiteRip's 2016-2025"} - {id: 1831, cat: XXX, desc: "Сайтрипы Ń Ń€ŃŃŃкими актриŃами 2016-2025 (HD Video) / Russian SiteRip's 2016-2025 (HD Video)"} + - {id: 1877, cat: XXX, desc: "Сайтрипы Ń Ń€ŃŃŃкими актриŃами 2026 / Russian SiteRip's 2026"} + - {id: 1878, cat: XXX, desc: "Сайтрипы Ń Ń€ŃŃŃкими актриŃами 2026 (HD Video) / Russian SiteRip's 2026 (HD Video)"} - {id: 1741, cat: XXX, desc: "Đ ŃŃŃкие Порноролики Разное / Russian Clips (various)"} - {id: 1676, cat: XXX, desc: "Đ ŃŃŃкое любительŃкое видео / Russian Amateur Video"} @@ -65,6 +67,7 @@ caps: - {id: 1861, cat: XXX, desc: "Сайтрипы 2023 (HD Video) / SiteRip's 2023 (HD Video)"} - {id: 1867, cat: XXX, desc: "Сайтрипы 2024 (HD Video) / SiteRip's 2024 (HD Video)"} - {id: 1872, cat: XXX, desc: "Сайтрипы 2025 (HD Video) / SiteRip's 2025 (HD Video)"} + - {id: 1875, cat: XXX, desc: "Сайтрипы 2026 (HD Video) / SiteRip's 2026 (HD Video)"} - {id: 1451, cat: XXX, desc: "Сайтрипы 1991-2010 / SiteRip's 1991-2010"} - {id: 1788, cat: XXX, desc: "Сайтрипы 2011-2012 / SiteRip's 2011-2012"} - {id: 1789, cat: XXX, desc: "Сайтрипы 2013 / SiteRip's 2013"} @@ -80,7 +83,9 @@ caps: - {id: 1862, cat: XXX, desc: "Сайтрипы 2023 / SiteRip's 2023"} - {id: 1868, cat: XXX, desc: "Сайтрипы 2024 / SiteRip's 2024"} - {id: 1873, cat: XXX, desc: "Сайтрипы 2025 / SiteRip's 2025"} + - {id: 1876, cat: XXX, desc: "Сайтрипы 2026 / SiteRip's 2026"} - {id: 1707, cat: XXX, desc: "Сцены из фильмов / Movie Scenes (кроме SiteRip)"} + - {id: 1874, cat: XXX, desc: "Порноролики Ń ĐżĐµŃ€ĐµĐ˛ĐľĐ´ĐľĐĽ / Clips with translation"} - {id: 284, cat: XXX, desc: "Порноролики Разное / Clips (various)"} - {id: 1853, cat: XXX, desc: "Компиляции и ĐśŃзыкальные порно клипы / Compilations & Porn Music Video (PMV)"} - {id: 1823, cat: XXX, desc: "Порноролики в 3D и Virtual Reality (VR) / 3D & Virtual Reality Videos"} @@ -89,9 +94,8 @@ caps: - {id: 1801, cat: XXX/Pack, desc: "Паки японŃких фильмов и Ńайтрипов / Full Length Japanese Movies Packs & SiteRip's Packs"} - {id: 1719, cat: XXX, desc: "ЯпонŃкие фильмы и Ńайтрипы (DVD и HD Video) / Japanese Movies & SiteRip's (DVD & HD Video)"} - {id: 997, cat: XXX, desc: "ЯпонŃкие фильмы и Ńайтрипы 1991-2014 / Japanese Movies & SiteRip's 1991-2014"} - - {id: 1818, cat: XXX, desc: "ЯпонŃкие фильмы и Ńайтрипы 2015-2025 / Japanese Movies & SiteRip's 2015-2025"} + - {id: 1818, cat: XXX, desc: "ЯпонŃкие фильмы и Ńайтрипы 2015-2026 / Japanese Movies & SiteRip's 2015-2026"} - {id: 1849, cat: XXX, desc: "КитайŃкие фильмы и Ńайтрипы (DVD и HD Video) / Chinese Movies & SiteRip's (DVD & HD Video)"} - - {id: 1815, cat: XXX, desc: "Đрхив (ЯпонŃкое и китайŃкое порно)"} - {id: 1723, cat: XXX, desc: "Фото и жŃрналы / Photos & Magazines"} - {id: 1726, cat: XXX, desc: "MetArt & MetModels"} @@ -102,7 +106,6 @@ caps: - {id: 1757, cat: XXX/ImageSet, desc: "Подборки Ńетов / Picture Sets Packs"} - {id: 1735, cat: XXX/ImageSet, desc: "ТематичеŃкое и нетрадиционное фото / Misc & Special Interest Picture Packs"} - {id: 1731, cat: XXX/ImageSet, desc: "Đ–Ńрналы / Magazines"} - - {id: 1802, cat: XXX, desc: "Đрхив (Фото)"} - {id: 1745, cat: XXX, desc: "Хентай и Манга, ĐśŃльтфильмы и КомикŃŃ‹, РиŃŃнки, ĐŃдио / Hentai & Manga, Cartoons & Comics, Artwork & Audio"} - {id: 1679, cat: XXX, desc: "Хентай: ĐľŃновной подраздел / Hentai: main subsection"} @@ -114,19 +117,17 @@ caps: - {id: 1711, cat: XXX, desc: "ĐśŃльтфильмы / Cartoons"} - {id: 1296, cat: XXX, desc: "КомикŃŃ‹, риŃŃнки, аŃдио / Comics, Artwork & Audio"} - {id: 1863, cat: XXX, desc: "ОбŃŃждение / Discussion"} - - {id: 1864, cat: XXX, desc: "Đрхив (Хентай и Манга, ĐśŃльтфильмы и КомикŃŃ‹, РиŃŃнки, Đ.."} - {id: 1838, cat: XXX, desc: "Đгры / Games"} - {id: 1750, cat: XXX, desc: "Đгры: ĐľŃновной подраздел / Games: main subsection"} - {id: 1756, cat: XXX, desc: "Đгры: визŃальные новеллы (профеŃŃиональная ŃŃ‚Ńдия) / Games: Visual Novels (Pro)"} - {id: 1869, cat: XXX, desc: "Đгры: визŃальные новеллы (незавиŃимый разработчик) / Games: Visual Novels (Indie)"} - - {id: 1785, cat: XXX, desc: "Đгры: ролевые / Games: role-playing (RPG Maker and WOLF RPG Editor)"} + - {id: 1785, cat: XXX, desc: "Đгры: ролевые / Games: role-playing [RPG Maker / WOLF RPG Editor]"} - {id: 1790, cat: XXX, desc: "Đгры и Софт: Đнимация / Software: Animation"} - {id: 1827, cat: XXX, desc: "Đгры: Đ’ разработке и Демо (ĐľŃновной подраздел) / Games: In Progress and Demo (main subsection)"} - {id: 1870, cat: XXX, desc: "Đгры: Đ’ разработке и Демо (визŃальные новеллы - незавиŃимый разработчик) / Games: In Progress and Demo (visual novels - Indie)"} - - {id: 1828, cat: XXX, desc: "Đгры: Đ’ разработке и Демо (ролевые) / Games: In Progress and Demo (role-playing - RPG Maker and WOLF RPG Editor)"} + - {id: 1828, cat: XXX, desc: "Đгры: Đ’ разработке и Демо (ролевые) / Games: In Progress and Demo (role-playing) [RPG Maker / WOLF RPG Editor]"} - {id: 1829, cat: XXX, desc: "ОбŃŃждение игр / Games Discussion"} - - {id: 1865, cat: XXX, desc: "Đрхив (Đгры)"} - {id: 11, cat: XXX, desc: "Нетрадиционное порно / Special Interest Movies & Clips"} - {id: 1715, cat: XXX, desc: "ТранŃŃекŃŃалы (DVD и HD) / Transsexual (DVD & HD)"} @@ -142,11 +143,10 @@ caps: - {id: 1685, cat: XXX, desc: "МочеиŃĐżŃŃкание / Peeing"} - {id: 1762, cat: XXX, desc: "Đ¤ĐµŃ‚Đ¸Ń / Fetish"} - {id: 1681, cat: XXX, desc: "Дефекация / Scat"} - - {id: 1683, cat: XXX, desc: "Đрхив (общий)"} - {id: 1688, cat: XXX, desc: "Гей-порно / Gay Forum"} - {id: 903, cat: XXX, desc: "Полнометражные гей-фильмы / Full Length Movies (Gay)"} - - {id: 1765, cat: XXX, desc: "Полнометражные азиатŃкие гей-фильмы / Full-length Asian (Gay)"} + - {id: 1765, cat: XXX, desc: "Полнометражные азиатŃкие гей-фильмы / Full-length Asian Films (Gay)"} - {id: 1767, cat: XXX, desc: "КлаŃŃичеŃкие гей-фильмы (Đ´Đľ 1990 года) / Classic Gay Films (Pre-1990's)"} - {id: 1755, cat: XXX, desc: "Гей-фильмы в выŃоком качеŃтве (DVD и HD) / High-Quality Full Length Movies (Gay DVD & HD)"} - {id: 1787, cat: XXX, desc: "ĐзиатŃкие гей-фильмы в выŃоком качеŃтве (DVD и HD) / High-Quality Full Length Asian Movies (Gay DVD & HD)"} @@ -154,7 +154,6 @@ caps: - {id: 1777, cat: XXX, desc: "Гей-ролики в выŃоком качеŃтве (HD Video) / Gay Clips (HD Video)"} - {id: 1691, cat: XXX, desc: "Ролики, SiteRip'Ń‹ и Ńцены из гей-фильмов / Clips & Movie Scenes (Gay)"} - {id: 1692, cat: XXX/ImageSet, desc: "Гей-жŃрналы, фото, разное / Magazines, Photo, Rest (Gay)"} - - {id: 1720, cat: XXX, desc: "Đрхив (Гей-порно)"} modes: search: [q] diff --git a/config/prowlarr/Definitions/pornotorrent.yml b/config/prowlarr/Definitions/pornotorrent.yml index 9689fdec..65c314d2 100644 --- a/config/prowlarr/Definitions/pornotorrent.yml +++ b/config/prowlarr/Definitions/pornotorrent.yml @@ -1,13 +1,16 @@ --- id: pornotorrent name: PornoTorrent -description: "PornoTorrent is a SPANISH Public Torrent Tracker for 3X" -language: en-US +description: "PornoTorrent is a BRAZILIAN Public Torrent Tracker for 3X" +language: pt-BR type: public encoding: UTF-8 testlinktorrent: false links: + - https://pornotorrent.com.br/ +legacylinks: - https://www.pornotorrent.eu/ + - https://pornotorrent.net.br/ caps: categorymappings: @@ -20,42 +23,40 @@ settings: [] download: selectors: - - selector: a.button_link - attribute: href + - selector: script:contains("CM_MAGNET_URL") filters: - - name: replace - args: ["////", "//"] + - name: regexp + args: /magnet./(.+?)\" + - name: urldecode search: paths: - path: / inputs: s: "{{ .Keywords }}" + cat: 0 rows: - selector: ul.lista-filmes > li - filters: - - name: andmatch + selector: div.section_inner > div.row > div fields: category: text: XXX title: - selector: a - attribute: title + selector: a.cm-card-pretitle__badge details: - selector: a + selector: a.cm-card-pretitle__badge attribute: href download: - selector: a + selector: a.cm-card-pretitle__badge attribute: href poster: selector: img - attribute: data-lazy-src + attribute: src date: text: now size: - text: "512 MB" + text: 5GB seeders: text: 1 leechers: @@ -64,4 +65,6 @@ search: text: 0 uploadvolumefactor: text: 1 + description: + selector: span:has(span.cm-ico-clock) # engine n/a diff --git a/config/prowlarr/Definitions/portugas-api.yml b/config/prowlarr/Definitions/portugas-api.yml index 65aaaabe..98ed6af0 100644 --- a/config/prowlarr/Definitions/portugas-api.yml +++ b/config/prowlarr/Definitions/portugas-api.yml @@ -200,9 +200,10 @@ search: True: 2 # double uploadvolumefactor: text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}" - minimumratio: - text: 1.0 +# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio +# minimumratio: +# text: 0.4 minimumseedtime: - # 3 days (as seconds = 3 x 24 x 60 x 60) - text: 259200 + # 7 days (as seconds = 7 x 24 x 60 x 60) + text: 604800 # json UNIT3D 8.3.6 (custom) diff --git a/config/prowlarr/Definitions/ptcc.yml b/config/prowlarr/Definitions/ptcc.yml new file mode 100644 index 00000000..48f8769e --- /dev/null +++ b/config/prowlarr/Definitions/ptcc.yml @@ -0,0 +1,187 @@ +--- +id: ptcc +name: PTCC (ć‘çš„PT) +description: "PTCC (ć‘çš„PT) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL" +language: zh-CN +type: private +encoding: UTF-8 +links: + - https://cc.mypt.cc/ + +caps: + categorymappings: + - {id: 401, cat: Movies, desc: "Movies/电影"} + - {id: 402, cat: TV, desc: "TV Series/剧集"} + - {id: 403, cat: TV, desc: "TV Shows/节目"} + - {id: 404, cat: TV/Documentary, desc: "DOCU/纪录片"} + - {id: 405, cat: TV/Anime, desc: "Animations/动画片"} + - {id: 406, cat: Audio/Video, desc: "MTV/演唱会/唱片"} + - {id: 407, cat: TV/Sport, desc: "Sports/čżĺЍ/体育"} + - {id: 408, cat: TV/Other, desc: "Playlet/短剧"} + - {id: 409, cat: Movies/Other, desc: "Opera/ćŹć›˛"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid] + movie-search: [q, imdbid] + music-search: [q] + +settings: + - name: cookie + type: text + label: Cookie + - name: info_cookie + type: info_cookie + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. + - name: info_activity + type: info + label: Account Inactivity + default: "Account retention rules:
  1. Veteran User and above will be retained forever
  2. Elite User and above will not have their account deleted after parking (in the control panel)
  3. Users with a parked account will be deleted if they do not log in for 400 consecutive days
  4. Users with a non-parked account will be deleted if they do not log in for 150 consecutive days
  5. Users with no traffic (i.e. upload/download data is 0) will be deleted if they have not logged in for more than 100 consecutive days.
" + +login: + # using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php + method: cookie + inputs: + cookie: "{{ .Config.cookie }}" + test: + path: index.php + selector: a[href="logout.php"] + +search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" + # 0 incldead, 1 active, 2 dead + incldead: 0 + # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr (broken so cannot search doubanid), 3 uploader, 4 imdburl + search_area: "{{ if .Query.IMDBID }}4{{ else }}0{{ end }}" + # 0 AND, 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + notnewword: 1 + + rows: + selector: table.torrents > tbody > tr:has(a[href^="download.php?id="]) + + fields: + category: + selector: a[href^="?cat="] + attribute: href + filters: + - name: querystring + args: cat + title_default: + selector: a[href^="details.php?id="] + title: + selector: a[title][href^="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" + details: + selector: a[href^="details.php?id="] + attribute: href + download: + selector: a[href^="download.php?id="] + attribute: href + imdbid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="imdb.com/title/tt"] + attribute: href + doubanid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="movie.douban.com/subject/"] + attribute: href + date_elapsed: + # time type: time elapsed (default) + selector: td.rowfollow:nth-child(4) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-dd HH:mm:ss zzz" + date_added: + # time added + selector: td.rowfollow:nth-child(4):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + date: + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 + downloadvolumefactor: + case: + img.pro_free: 0 + img.pro_free2up: 0 + img.pro_50pctdown: 0.5 + img.pro_50pctdown2up: 0.5 + img.pro_30pctdown: 0.3 + "*": 1 + uploadvolumefactor: + case: + img.pro_50pctdown2up: 2 + img.pro_free2up: 2 + img.pro_2up: 2 + "*": 1 + minimumseedtime: + # 1 day (as seconds = 24 x 60 x 60) + text: 86400 + description_verified: + case: + span[title="通过"], span[title="通éŽ"], span[title="Allowed"]: "Verified:" + span[title="未审"], span[title="未審"], span[title="Not reviewed"]: "Unverified:" + span[title="拒绝"], span[title="拒絕"], span[title="Denied"]: "Banned:" + description: + selector: td.rowfollow:nth-child(2) + remove: a, b, font, img, span + filters: + - name: prepend + args: "{{ .Result.description_verified }} " +# NexusPHP v1.8.15 2024-12-23 diff --git a/config/prowlarr/Definitions/pterclub.yml b/config/prowlarr/Definitions/pterclub.yml index f2ee1390..30628093 100644 --- a/config/prowlarr/Definitions/pterclub.yml +++ b/config/prowlarr/Definitions/pterclub.yml @@ -75,7 +75,7 @@ settings: default: "Account retention rules:
  1. All accounts will be permanently protected and will not be deleted; however, due to site security, some users will be temporarily banned due to activity rules
  2. New users with no traffic changes will be disabled after 7 days of registration (not the actual download volume)
  3. Those who download free torrents without generating any upload volume, or simply auxiliary torrents that generate magic power without any uploads will still be banned
  4. Users with a non-parked account will be disabled if they do not log in for 60 consecutive days
  5. Users with a parked account will be disabled if they do not log in for 180 consecutive days
  6. Angora/Veteran User and above will not be disabled after parking
  7. Sichuan Jianzhou Cat/Nexus Master users and above will be retained forever.
" login: - # using cookie method because login page has embedded Clouflare turnstile + # using cookie method because login page has embedded Cloudflare turnstile method: cookie inputs: cookie: "{{ .Config.cookie }}" diff --git a/config/prowlarr/Definitions/ptgtk.yml b/config/prowlarr/Definitions/ptgtk.yml index c5cb43dd..a5ae6d80 100644 --- a/config/prowlarr/Definitions/ptgtk.yml +++ b/config/prowlarr/Definitions/ptgtk.yml @@ -6,8 +6,10 @@ language: zh-CN type: private encoding: UTF-8 links: - - https://pt.gtk.pw/ +# backup domain - https://pt1.gtkpw.xyz/ - https://pt.gtkpw.xyz/ +legacylinks: + - https://pt.gtk.pw/ caps: categorymappings: @@ -44,7 +46,7 @@ settings: - name: info_2fa type: info label: "About 2FA code" - default: "Only fill in the 2FA code box if you have enabled 2FA on the Uploads Web Site. Otherwise just leave it empty." + default: "Only fill in the 2FA code box if you have enabled 2FA on the PT GTK Web Site. Otherwise just leave it empty." - name: freeleech type: checkbox label: Search freeleech only @@ -172,12 +174,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 @@ -195,4 +205,4 @@ search: description: selector: td:nth-child(2) remove: a, b, font, img, span -# NexusPHP v1.8.15 2024-12-23 +# NexusPHP v1.9.11 2025-11-02 diff --git a/config/prowlarr/Definitions/ptlao.yml b/config/prowlarr/Definitions/ptlao.yml new file mode 100644 index 00000000..434fcfdb --- /dev/null +++ b/config/prowlarr/Definitions/ptlao.yml @@ -0,0 +1,195 @@ +--- +id: ptlao +name: PTLAO +description: "PTLAO is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL" +language: zh-CN +type: private +encoding: UTF-8 +links: + - https://ptlao.top/ + +caps: + categorymappings: + - {id: 401, cat: Movies, desc: "Movies"} + - {id: 402, cat: TV, desc: "TV Series"} + - {id: 403, cat: TV, desc: "TV Shows"} + - {id: 405, cat: TV/Anime, desc: "Animations"} + - {id: 404, cat: TV/Documentary, desc: "Documentaries"} + - {id: 408, cat: Audio, desc: "HQ Audio"} + - {id: 409, cat: Other, desc: "Misc"} + - {id: 407, cat: TV/Sport, desc: "Sports"} + - {id: 406, cat: Audio/Video, desc: "Music Videos"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid, doubanid] + movie-search: [q, imdbid, doubanid] + music-search: [q] + +settings: + - name: username + type: text + label: Username + - name: password + type: password + label: Password + - name: 2facode + type: text + label: 2FA code + - name: info_2fa + type: info + label: "About 2FA code" + default: "Only fill in the 2FA code box if you have enabled 2FA on the PTLAO Web Site. Otherwise just leave it empty." + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. + - name: info_activity + type: info + label: Account Inactivity + default: "Account retention rules:
  1. Veteran User and above will be retained forever
  2. Elite Users and above will not be deleted after parking (in the control panel)
  3. Users with a parked account will be banned if they do not log in for 300 consecutive days
  4. Users who do not log in for 150 consecutive days will be banned
  5. Newly registered users with no traffic within 30 days, will be banned.
" + +login: + path: login.php + method: form + form: form[action="takelogin.php"] + captcha: + type: image + selector: img[alt="CAPTCHA"] + input: imagestring + inputs: + secret: "" + username: "{{ .Config.username }}" + password: "{{ .Config.password }}" + two_step_code: "{{ .Config.2facode }}" + logout: "" + securelogin: "" + ssl: yes + trackerssl: yes + error: + - selector: td.embedded:has(h2:contains("失败")) + test: + path: index.php + selector: a[href="logout.php"] + +search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}" + # 0 incldead, 1 active, 2 dead + incldead: 0 + # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr, 3 uploader, 4 imdburl + search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}" + # 0 AND, 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + notnewword: 1 + + rows: + selector: table.torrents > tbody > tr:has(a[href^="download.php?id="]) + + fields: + category: + selector: a[href^="?cat="] + attribute: href + filters: + - name: querystring + args: cat + title_default: + selector: a[href^="details.php?id="] + title: + selector: a[title][href^="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" + details: + selector: a[href^="details.php?id="] + attribute: href + download: + selector: a[href^="download.php?id="] + attribute: href + poster: + selector: img[data-src] + attribute: data-src + date_elapsed: + # time type: time elapsed (default) + selector: td.rowfollow:nth-child(4) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-dd HH:mm:ss zzz" + date_added: + # time added + selector: td.rowfollow:nth-child(4):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + date: + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 + downloadvolumefactor: + case: + img.pro_free: 0 + img.pro_free2up: 0 + img.pro_50pctdown: 0.5 + img.pro_50pctdown2up: 0.5 + img.pro_30pctdown: 0.3 + "*": 1 + uploadvolumefactor: + case: + img.pro_50pctdown2up: 2 + img.pro_free2up: 2 + img.pro_2up: 2 + "*": 1 + minimumratio: + text: 0.6 + description: + selector: td.rowfollow:nth-child(2) + remove: a, b, font, img, span +# NexusPHP v1.8.13 2024-09-21 diff --git a/config/prowlarr/Definitions/ptlgs.yml b/config/prowlarr/Definitions/ptlgs.yml new file mode 100644 index 00000000..23f9a18a --- /dev/null +++ b/config/prowlarr/Definitions/ptlgs.yml @@ -0,0 +1,203 @@ +--- +id: ptlgs +name: PTLGS +description: "PTLGS is a CHINESE Private Torrent Tracker for MOVIES / TV" +language: zh-CN +type: private +encoding: UTF-8 +links: + - https://ptlgs.org/ + +caps: + categorymappings: + - {id: 409, cat: Other/Misc, desc: "ĺ…¶ä»–(Other)"} + - {id: 407, cat: TV/Sport, desc: "体育(Sports)"} + - {id: 406, cat: Audio/Video, desc: "éźłäą(Music Video)"} + - {id: 403, cat: TV, desc: "综艺(Variety Shows)"} + - {id: 402, cat: TV, desc: "剧集(Drama Serie)"} + - {id: 405, cat: TV/Anime, desc: "动漫/Anime)"} + - {id: 404, cat: TV/Documentary, desc: "纪录片/Documentary)"} + - {id: 401, cat: Movies, desc: "电影(Movies)"} + - {id: 411, cat: Other, desc: "字幕组(Subtitle Group)"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid, doubanid] + movie-search: [q, imdbid, doubanid] + +settings: + - name: username + type: text + label: Username + - name: password + type: password + label: Password + - name: 2facode + type: text + label: 2FA code + - name: info_2fa + type: info + label: "About 2FA code" + default: "Only fill in the 2FA code box if you have enabled 2FA on the PTLGS Web Site. Otherwise just leave it empty." + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. + - name: info_activity + type: info + label: Account Inactivity + default: "Account retention rules:
  1. All users' accounts will be retained forever, and data will be retained forever
  2. Newly registered accounts without traffic (i.e., upload/download data are 0) will be automatically frozen by the system if they do not log in for 7 consecutive days
  3. Accounts that have been inactive for more than 30 days will be automatically banned by the system
  4. determination method: When there is an unread announcement, it is necessary to manually confirm that the announcement has been read to be considered active; When there are no unread announcements, you need to visit the homepage to be active.
" + +login: + path: login.php + method: form + form: form[action="takelogin.php"] + captcha: + type: image + selector: img[alt="CAPTCHA"] + input: imagestring + inputs: + secret: "" + username: "{{ .Config.username }}" + password: "{{ .Config.password }}" + two_step_code: "{{ .Config.2facode }}" + logout: "" + securelogin: "" + ssl: yes + trackerssl: yes + error: + - selector: td.embedded:has(h2:contains("失败")) + test: + path: index.php + selector: a[href="logout.php"] + +search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}" + # 0 incldead, 1 active, 2 dead + incldead: 0 + # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr, 3 uploader, 4 imdburl + search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}" + # 0 AND, 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + notnewword: 1 + + rows: + selector: table.torrents > tbody > tr:has(a[href*="download.php?id="]) + + fields: + category: + selector: a[href*="?cat="] + attribute: href + filters: + - name: querystring + args: cat + title_default: + selector: a[href*="details.php?id="] + title: + selector: a[title][href*="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" + details: + selector: a[href*="details.php?id="] + attribute: href + download: + selector: a[href*="download.php?id="] + attribute: href + poster: + selector: img[data-src] + attribute: data-src + imdbid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="imdb.com/title/tt"] + attribute: href + doubanid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="movie.douban.com/subject/"] + attribute: href + date_elapsed: + # time type: time elapsed (default) + selector: td.rowfollow:nth-child(4) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-dd HH:mm:ss zzz" + date_added: + # time added + selector: td.rowfollow:nth-child(4):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + date: + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 + downloadvolumefactor: + case: + img.pro_free: 0 + img.pro_free2up: 0 + img.pro_50pctdown: 0.5 + img.pro_50pctdown2up: 0.5 + img.pro_30pctdown: 0.3 + "*": 1 + uploadvolumefactor: + case: + img.pro_50pctdown2up: 2 + img.pro_free2up: 2 + img.pro_2up: 2 + "*": 1 + minimumseedtime: + # 5 hours (as seconds = 5 x 60 x 60) + text: 18000 + description: + selector: td.rowfollow:nth-child(2) + remove: a, b, font, img, span +# NexusPHP v1.8.13 2024-09-21 diff --git a/config/prowlarr/Definitions/ptsbao.yml b/config/prowlarr/Definitions/ptsbao.yml index c2a541fd..48d360b9 100644 --- a/config/prowlarr/Definitions/ptsbao.yml +++ b/config/prowlarr/Definitions/ptsbao.yml @@ -91,7 +91,7 @@ search: fields: category: - selector: a[href^="torrents.php?cat="] + selector: a[href^="?cat="] attribute: href filters: - name: querystring @@ -110,14 +110,14 @@ search: selector: a[href^="download.php?id="] attribute: href poster: - selector: img.tooltip - attribute: src + selector: img[data-src] + attribute: data-src filters: - name: replace args: ["pic/imdb_pic/nophoto.gif", ""] date_elapsed: # time type: time elapsed (default) - selector: td.rowfollow:nth-child(5) > span[title] + selector: td.rowfollow:nth-child(4) > span[title] attribute: title optional: true filters: @@ -127,7 +127,7 @@ search: args: "yyyy-MM-dd HH:mm:ss zzz" date_added: # time added - selector: td.rowfollow:nth-child(5):not(:has(span)) + selector: td.rowfollow:nth-child(4):not(:has(span)) optional: true filters: - name: append @@ -137,13 +137,21 @@ search: date: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: - selector: td.rowfollow:nth-child(6) + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: - selector: td.rowfollow:nth-child(7) + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: - selector: td.rowfollow:nth-child(8) + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: - selector: td.rowfollow:nth-child(9) + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 @@ -158,4 +166,4 @@ search: img.pro_free2up: 2 img.pro_2up: 2 "*": 1 -# NexusPHP custom 22082802 +# NexusPHP v1.10.0 2026-02-01 diff --git a/config/prowlarr/Definitions/ptskit.yml b/config/prowlarr/Definitions/ptskit.yml index de23bd0a..9369793b 100644 --- a/config/prowlarr/Definitions/ptskit.yml +++ b/config/prowlarr/Definitions/ptskit.yml @@ -194,4 +194,4 @@ search: description: selector: td.rowfollow:nth-child(2) remove: a, b, font, img, span -# NexusPHP v1.9.11 2025-11-02 +# NexusPHP v1.9.14 2026-01-23 diff --git a/config/prowlarr/Definitions/pttey.yml b/config/prowlarr/Definitions/pttey.yml new file mode 100644 index 00000000..21ce2b16 --- /dev/null +++ b/config/prowlarr/Definitions/pttey.yml @@ -0,0 +1,168 @@ +--- +id: pttey +name: PTTey +description: "PTTey is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL" +language: zh-CN +type: private +encoding: UTF-8 +links: + - https://pt.tey.cc/ +caps: + categorymappings: + - {id: 401, cat: Movies, desc: "Movies(电影)"} + - {id: 402, cat: TV, desc: "TV Series(电视剧)"} + - {id: 404, cat: TV/Documentary, desc: "Documentaries(记录片)"} + - {id: 403, cat: TV/Other, desc: "TV Shows(电视节目)"} + - {id: 405, cat: TV/Anime, desc: "Animations(动漫)"} + - {id: 407, cat: TV/Sport, desc: "Sports(体育)"} + - {id: 406, cat: Audio/Video, desc: "Music Videos(MV)"} + - {id: 408, cat: Audio, desc: "Music(éźłäą)"} + - {id: 409, cat: Other, desc: "Misc(ĺ…¶ä»–)"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid] + movie-search: [q, imdbid] + music-search: [q] + +settings: + - name: cookie + type: text + label: Cookie + - name: info_cookie + type: info_cookie + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. + - name: info_activity + type: info + label: Account Inactivity + default: "Cherish your user account. Inactive accounts would be deleted based on the following rules:
  1. Veteran User or above would never be deleted.
  2. Elite User or above would never be deleted if parked (at User CP).
  3. Parked accounts would be deleted if users have not logged in for more than 400 days in a row.
  4. Unparked accounts would be deleted if users have not logged in for more than 150 days in a row.
  5. Accounts with both uploaded and downloaded amount being 0 would be deleted if users have not logged in for more than 100 days in a row.
" + +login: + # using cookie method because login page has embedded Cloudflare turnstile + method: cookie + inputs: + cookie: "{{ .Config.cookie }}" + test: + path: index.php + selector: a[href*="logout.php"] + +search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" + # 0 incldead, 1 active, 2 dead + incldead: 0 + # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr, 3 uploader, 4 imdburl + search_area: "{{ if .Query.IMDBID }}4{{ else }}0{{ end }}" + # 0 AND, 1 OR, 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + notnewword: 1 + # does not return imdb link in results + + rows: + selector: table.torrents > tbody > tr:has(a[href*="download.php?id="]) + + fields: + category: + selector: a[href*="?cat="] + attribute: href + filters: + - name: querystring + args: cat + title_default: + selector: table.torrentname td a[href^="details.php?id="] + title: + selector: a[title][href*="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" + details: + selector: a[href*="details.php?id="] + attribute: href + download: + selector: a[href*="download.php?id="] + attribute: href + poster: + selector: img[data-src] + attribute: data-src + date_elapsed: + # time type: time elapsed (default) + selector: td.rowfollow:nth-child(4) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-dd HH:mm:ss zzz" + date_added: + # time added + selector: td.rowfollow:nth-child(4):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + date: + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 + downloadvolumefactor: + case: + img.pro_free: 0 + img.pro_free2up: 0 + img.pro_50pctdown: 0.5 + img.pro_50pctdown2up: 0.5 + img.pro_30pctdown: 0.3 + "*": 1 + uploadvolumefactor: + case: + img.pro_50pctdown2up: 2 + img.pro_free2up: 2 + img.pro_2up: 2 + "*": 1 +# NexusPHP v1.10.0 2026-02-01 diff --git a/config/prowlarr/Definitions/ptying.yml b/config/prowlarr/Definitions/ptying.yml new file mode 100644 index 00000000..bc392360 --- /dev/null +++ b/config/prowlarr/Definitions/ptying.yml @@ -0,0 +1,204 @@ +--- +id: ptying +name: PTYING (樱花) +description: "PTYING (樱花) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL" +language: zh-CN +type: private +encoding: UTF-8 +links: + - https://pt.ying.us.kg/ + +caps: + categorymappings: + - {id: 409, cat: Other, desc: "HQ Misc/其他"} + - {id: 408, cat: Audio, desc: "HQ Audio/音频"} + - {id: 406, cat: Audio/Video, desc: "Music Video/MV"} + - {id: 407, cat: TV/Sport, desc: "Sports/体育"} + - {id: 410, cat: TV, desc: "Playlet/短剧"} + - {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"} + - {id: 405, cat: TV/Anime, desc: "Anime/动漫"} + - {id: 403, cat: TV, desc: "TV Shows/综艺"} + - {id: 402, cat: TV, desc: "TV Series/电视剧"} + - {id: 401, cat: Movies, desc: "Movies/电影"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid, doubanid] + movie-search: [q, imdbid, doubanid] + music-search: [q] + +settings: + - name: username + type: text + label: Username + - name: password + type: password + label: Password + - name: 2facode + type: text + label: 2FA code + - name: info_2fa + type: info + label: "About 2FA code" + default: "Only fill in the 2FA code box if you have enabled 2FA on the PTYING Web Site. Otherwise just leave it empty." + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. + - name: info_activity + type: info + label: Account Inactivity + default: "Account retention rules:
  1. Veteran User and above will be retained forever
  2. Elite User and above will not have their account deleted after parking (in the control panel)
  3. Users with a parked account will be deleted if they do not log in for 400 consecutive days
  4. Users with a non-parked account will be deleted if they do not log in for 150 consecutive days
" + +login: + path: login.php + method: form + form: form[action="takelogin.php"] + captcha: + type: image + selector: img[alt="CAPTCHA"] + input: imagestring + inputs: + secret: "" + username: "{{ .Config.username }}" + password: "{{ .Config.password }}" + two_step_code: "{{ .Config.2facode }}" + logout: "" + securelogin: "" + ssl: yes + trackerssl: yes + error: + - selector: td.embedded:has(h2:contains("失败")) + test: + path: index.php + selector: a[href="logout.php"] +search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}" + # 0 incldead, 1 active, 2 dead + incldead: 0 + # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr, 3 uploader, 4 imdburl + search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}" + # 0 AND, 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + notnewword: 1 + + rows: + selector: table.torrents > tbody > tr:has(a[href^="download.php?id="]) + + fields: + category: + selector: a[href^="?cat="] + attribute: href + filters: + - name: querystring + args: cat + title_default: + selector: a[href^="details.php?id="] + title: + selector: a[title][href^="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" + details: + selector: a[href^="details.php?id="] + attribute: href + download: + selector: a[href^="download.php?id="] + attribute: href + poster: + selector: img[data-src] + attribute: data-src + imdbid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="imdb.com/title/tt"] + attribute: href + doubanid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="movie.douban.com/subject/"] + attribute: href + date_elapsed: + # time type: time elapsed (default) + selector: td.rowfollow:nth-child(4) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-dd HH:mm:ss zzz" + date_added: + # time added + selector: td.rowfollow:nth-child(4):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + date: + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 + downloadvolumefactor: + case: + img.pro_free: 0 + img.pro_free2up: 0 + img.pro_50pctdown: 0.5 + img.pro_50pctdown2up: 0.5 + img.pro_30pctdown: 0.3 + "*": 1 + uploadvolumefactor: + case: + img.pro_50pctdown2up: 2 + img.pro_free2up: 2 + img.pro_2up: 2 + "*": 1 + description: + selector: td:nth-child(2) + remove: a, b, font, img, span + minimumseedtime: + # 1 day (as seconds = 24 x 60 x 60) + text: 86400 +# NexusPHP v1.8.15 2024-12-23 diff --git a/config/prowlarr/Definitions/ptzone.yml b/config/prowlarr/Definitions/ptzone.yml new file mode 100644 index 00000000..6ad48e65 --- /dev/null +++ b/config/prowlarr/Definitions/ptzone.yml @@ -0,0 +1,189 @@ +--- +id: ptzone +name: PTzone +description: "PTzone is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL" +language: zh-CN +type: private +encoding: UTF-8 +links: + - https://ptzone.xyz/ + +caps: + categorymappings: + - {id: 401, cat: Movies, desc: "Movies(电影)"} + - {id: 402, cat: TV, desc: "TV Series(电视剧)"} + - {id: 403, cat: TV, desc: "TV Shows(综艺)"} + - {id: 404, cat: TV/Documentary, desc: "Documentaries(纪录片)"} + - {id: 405, cat: TV/Anime, desc: "Animations(动漫)"} + - {id: 406, cat: Audio, desc: "Music(éźłäą)"} + - {id: 407, cat: TV/Sport, desc: "Sports(体育)"} + - {id: 408, cat: Other, desc: "Others(ĺ…¶ĺ®)"} + - {id: 410, cat: PC/0day, desc: "Software(软件)"} + - {id: 411, cat: PC/Games, desc: "Games(游ćŹ)"} + - {id: 409, cat: TV, desc: "Others(ĺ…¶ĺ®)"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid, doubanid] + movie-search: [q, imdbid, doubanid] + music-search: [q] + +settings: + - name: cookie + type: text + label: Cookie + - name: info_cookie + type: info_cookie + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. + - name: info_activity + type: info + label: Account Inactivity + default: "Account retention rules:
  1. Veteran User and above will be retained forever
  2. Elite User and above will not have their account deleted after parking (in the control panel)
  3. Users with a parked account will be deleted if they do not log in for 400 consecutive days
  4. Users with a non-parked account will be deleted if they do not log in for 150 consecutive days
  5. Users who have no traffic (i.e. upload/download data are both 0) will be deleted if they do not log in for 100 consecutive days.
" + +login: + # using cookie method because site regularly disables login page for certain events during the year + method: cookie + inputs: + cookie: "{{ .Config.cookie }}" + test: + path: index.php + selector: a[href="logout.php"] + +search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}" + # 0 incldead, 1 active, 2 dead + incldead: 0 + # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr, 3 uploader, 4 imdburl (not working) + search_area: "{{ if or .Query.IMDBID .Query.DoubanID }}1{{ else }}0{{ end }}" + # 0 AND, 1 OR, 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + notnewword: 1 + + rows: + selector: table.torrents > tbody > tr:has(a[href^="details.php?id="]) + + fields: + category: + selector: a[href^="?cat="] + attribute: href + filters: + - name: querystring + args: cat + title_default: + selector: a[href^="details.php?id="] + title: + selector: a[title][href^="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" + details: + selector: a[href^="details.php?id="] + attribute: href + download: + selector: a[href^="download.php?id="] + attribute: href + poster: + selector: img[data-src] + attribute: data-src + imdbid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="imdb.com/title/tt"] + attribute: href + doubanid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="movie.douban.com/subject/"] + attribute: href + date_elapsed: + # time type: time elapsed (default) + selector: td.rowfollow:nth-child(4) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-dd HH:mm:ss zzz" + date_added: + # time added + selector: td.rowfollow:nth-child(4):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + date: + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 + downloadvolumefactor: + case: + img.pro_free: 0 + img.pro_free2up: 0 + img.pro_50pctdown: 0.5 + img.pro_50pctdown2up: 0.5 + img.pro_30pctdown: 0.3 + "*": 1 + uploadvolumefactor: + case: + img.pro_50pctdown2up: 2 + img.pro_free2up: 2 + img.pro_2up: 2 + "*": 1 + description_verified: + case: + span[title="通过"], span[title="通éŽ"], span[title="Allowed"]: "Verified:" + span[title="未审"], span[title="未審"], span[title="Not reviewed"]: "Unverified:" + span[title="拒绝"], span[title="拒絕"], span[title="Denied"]: "Banned:" + description: + selector: td.rowfollow:nth-child(2) + remove: a, b, font, img, span + filters: + - name: prepend + args: "{{ .Result.description_verified }} " +# NexusPHP v1.9.9 2025-10-02 diff --git a/config/prowlarr/Definitions/pussytorrents.yml b/config/prowlarr/Definitions/pussytorrents.yml index ee2b7ad7..c9b0c5cf 100644 --- a/config/prowlarr/Definitions/pussytorrents.yml +++ b/config/prowlarr/Definitions/pussytorrents.yml @@ -31,6 +31,7 @@ settings: seeders: seeders size: size nameSort: title + score: score - name: type type: select label: Order requested from site @@ -38,6 +39,10 @@ settings: options: desc: desc asc: asc + - name: info_score + type: info + label: About sorting by score + default: "In order to sort by score you first must have edited your PussyTorrents account profile and changed Results default sorting method to By Score." login: path: user/account/login/ @@ -59,8 +64,8 @@ search: inputs: query: "{{ .Keywords }}" page: 1 - orderby: "{{ .Config.sort }}" - order: "{{ .Config.type }}" + orderby: "{{ if ne .Config.sort \"score\" }}{{ .Config.sort }}{{ else }}{{ end }}" + order: "{{ if ne .Config.sort \"score\" }}{{ .Config.type }}{{ else }}{{ end }}" rows: selector: table#torrenttable > tbody > tr:has(a[href^="/download/"]) diff --git a/config/prowlarr/Definitions/qingwa.yml b/config/prowlarr/Definitions/qingwa.yml index 7305a99e..498795ea 100644 --- a/config/prowlarr/Definitions/qingwa.yml +++ b/config/prowlarr/Definitions/qingwa.yml @@ -150,12 +150,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/racing4everyone-api.yml b/config/prowlarr/Definitions/racing4everyone-api.yml index 88128aca..b01417a0 100644 --- a/config/prowlarr/Definitions/racing4everyone-api.yml +++ b/config/prowlarr/Definitions/racing4everyone-api.yml @@ -115,8 +115,8 @@ search: # if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6 $raw: "{{ range .Categories }}&categories[]={{.}}{{end}}" name: "{{ .Keywords }}" - seasonNumber: "{{ .Query.Season }}" - episodeNumber: "{{ .Query.Ep }}" + # seasonNumber: "{{ .Query.Season }}" # not supported + # episodeNumber: "{{ .Query.Ep }}" # not supported "free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}" sortField: "{{ .Config.sort }}" sortDirection: "{{ .Config.type }}" diff --git a/config/prowlarr/Definitions/railgunpt.yml b/config/prowlarr/Definitions/railgunpt.yml index 39d4eac9..89c3cc91 100644 --- a/config/prowlarr/Definitions/railgunpt.yml +++ b/config/prowlarr/Definitions/railgunpt.yml @@ -44,7 +44,7 @@ settings: - name: info_2fa type: info label: "About 2FA code" - default: "Only fill in the 2FA code box if you have enabled 2FA on the Rain Web Site. Otherwise just leave it empty." + default: "Only fill in the 2FA code box if you have enabled 2FA on the RailgunPT Web Site. Otherwise just leave it empty." - name: freeleech type: checkbox label: Search freeleech only @@ -172,12 +172,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/rain.yml b/config/prowlarr/Definitions/rain.yml index 66ce7202..5cc80a72 100644 --- a/config/prowlarr/Definitions/rain.yml +++ b/config/prowlarr/Definitions/rain.yml @@ -146,12 +146,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/reelflix-api.yml b/config/prowlarr/Definitions/reelflix-api.yml index 01ccfaf3..635f3b04 100644 --- a/config/prowlarr/Definitions/reelflix-api.yml +++ b/config/prowlarr/Definitions/reelflix-api.yml @@ -179,4 +179,4 @@ search: True: 2 # double minimumratio: text: 0.8 -# json UNIT3D 9.1.7 +# json UNIT3D 9.2.0 diff --git a/config/prowlarr/Definitions/rockethd.yml b/config/prowlarr/Definitions/rockethd.yml index 249de58c..728b21ba 100644 --- a/config/prowlarr/Definitions/rockethd.yml +++ b/config/prowlarr/Definitions/rockethd.yml @@ -32,6 +32,10 @@ settings: type: checkbox label: Search freeleech only default: false + - name: tmdbidonly + type: checkbox + label: Disable IMDB and TVDB ID search (only support TMDB ID) to potentially improve Sonarr and Radarr results + default: false - name: single_file_release_use_filename type: checkbox label: Use filename as title for single file releases @@ -83,9 +87,9 @@ search: name: "{{ .Keywords }}" seasonNumber: "{{ .Query.Season }}" episodeNumber: "{{ .Query.Ep }}" - imdbId: "{{ .Query.IMDBIDShort }}" + imdbId: "{{ if .Config.tmdbidonly }}{{ else }}{{ .Query.IMDBIDShort }}{{ end }}" tmdbId: "{{ .Query.TMDBID }}" - tvdbId: "{{ .Query.TVDBID }}" + tvdbId: "{{ if .Config.tmdbidonly }}{{ else }}{{ .Query.TVDBID }}{{ end }}" "free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}" sortField: "{{ .Config.sort }}" sortDirection: "{{ .Config.type }}" @@ -115,8 +119,6 @@ search: selector: details_link download: selector: download_link - infohash: - selector: info_hash poster: selector: meta.poster filters: @@ -186,4 +188,4 @@ search: minimumseedtime: # 7 days (as seconds = 7 x 24 x 60 x 60) text: 604800 -# json UNIT3D 9.1.5 +# json UNIT3D 9.2.0 (custom) diff --git a/config/prowlarr/Definitions/rotorrent-api.yml b/config/prowlarr/Definitions/rotorrent-api.yml new file mode 100644 index 00000000..ace6f3ee --- /dev/null +++ b/config/prowlarr/Definitions/rotorrent-api.yml @@ -0,0 +1,189 @@ +--- +id: rotorrent-api +name: RoTorrent (API) +description: "RoTorrent (ROT) is a ROMANIAN Private Torrent Tracker for MOVIES / TV / GENERAL" +language: ro-RO +type: private +encoding: UTF-8 +links: + - https://rotorrent.info/ + +caps: + categorymappings: + - {id: 1, cat: Movies, desc: "Movies"} + - {id: 2, cat: TV, desc: "TV"} + - {id: 3, cat: Audio, desc: "Music"} + - {id: 4, cat: PC/Games, desc: "Games"} + - {id: 5, cat: XXX, desc: "XXX"} + - {id: 6, cat: Other, desc: "Video"} + - {id: 7, cat: Other, desc: "Other"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid, tvdbid, tmdbid] + movie-search: [q, imdbid, tmdbid] + music-search: [q] + +settings: + - name: apikey + type: text + label: APIKey + - name: info_key + type: info + label: About your API key + default: "Find or Generate a new API Token by accessing your RoTorrent account My Settings page and clicking on the API Key tab." + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: single_file_release_use_filename + type: checkbox + label: Use filename as title for single file releases + default: true + - name: sort + type: select + label: Sort requested from site + default: created_at + options: + created_at: created + seeders: seeders + size: size + name: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + +login: + path: /api/torrents + method: get + error: + - selector: a[href*="/login"] + message: + text: "The API key was not accepted by {{ .Config.sitelink }}." + - selector: :root:contains("Account is Banned") + +search: + paths: + # https://hdinnovations.github.io/UNIT3D/torrent_api.html + # https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657 + - path: api/torrents/filter + response: + type: json + + headers: + Authorization: ["Bearer {{ .Config.apikey }}"] + + inputs: + # if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6 + $raw: "{{ range .Categories }}&categories[]={{.}}{{end}}" + name: "{{ .Keywords }}" + seasonNumber: "{{ .Query.Season }}" + episodeNumber: "{{ .Query.Ep }}" + imdbId: "{{ .Query.IMDBIDShort }}" + tmdbId: "{{ .Query.TMDBID }}" + tvdbId: "{{ .Query.TVDBID }}" + "free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}" + sortField: "{{ .Config.sort }}" + sortDirection: "{{ .Config.type }}" + perPage: 100 + + keywordsfilters: + - name: re_replace + args: ["\\.", " "] + + rows: + selector: data + attribute: attributes + + fields: + category: + selector: category_id + title_optional: + selector: name + title_filename: + selector: "files[0].name" + optional: true + files: + selector: num_file + title: + text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}" + details: + selector: details_link + download: + selector: download_link + poster: + selector: meta.poster + filters: + - name: replace + args: ["https://via.placeholder.com/90x135", ""] + imdbid: + selector: imdb_id + tmdbid: + selector: tmdb_id + tvdbid: + selector: tvdb_id + genre: + selector: meta.genres + filters: + - name: re_replace + args: ["(?i)(Science Fiction)", "Science_Fiction"] + - name: re_replace + args: ["(?i)(TV Movie)", "TV_Movie"] + - name: replace + args: [" & ", "_&_"] + _internal: + selector: internal + case: + False: "{{ .False }}" + True: "{{ .True }}" + description: + text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}" + seeders: + selector: seeders + leechers: + selector: leechers + grabs: + selector: times_completed + date: + # "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50 + selector: created_at + filters: + - name: append + args: " +00:00" # GMT + - name: dateparse + args: "MM/dd/yyyy HH:mm:ss zzz" + size: + selector: size + _featured: + selector: featured + case: + False: "{{ .False }}" + True: "{{ .True }}" + downloadvolumefactor_freeleech: + # api returns 0%, 25%, 50%, 75%, 100% + selector: freeleech + case: + 0%: 1 # not free + 25%: 0.75 + 50%: 0.5 + 75%: 0.25 + 100%: 0 # freeleech + "*": 0 # catch errors + downloadvolumefactor: + text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}" + uploadvolumefactor_double_upload: + # api returns False, True + selector: double_upload + case: + False: 1 # normal + True: 2 # double + uploadvolumefactor: + text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}" + minimumseedtime: + # 7 days (as seconds = 7 x 24 x 60 x 60) + text: 604800 +# json UNIT3D 9.2.0 diff --git a/config/prowlarr/Definitions/rousi-pro.yml b/config/prowlarr/Definitions/rousi-pro.yml new file mode 100644 index 00000000..8d9e9645 --- /dev/null +++ b/config/prowlarr/Definitions/rousi-pro.yml @@ -0,0 +1,146 @@ +--- +id: rousi-pro +name: Rousi.pro +description: "Rousi.pro is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL" +language: zh-CN +type: private +encoding: UTF-8 +links: + - https://rousi.pro/ + +caps: + categorymappings: + - {id: movie, cat: Movies, desc: "电影"} + - {id: tv, cat: TV, desc: "电视剧"} + - {id: documentary, cat: TV/Documentary, desc: "纪录片"} + - {id: animation, cat: TV/Anime, desc: "动漫"} + - {id: music, cat: Audio, desc: "éźłäą"} + - {id: variety, cat: TV, desc: "综艺"} + - {id: sports, cat: TV/Sport, desc: "体育"} + - {id: software, cat: PC, desc: "软件"} + - {id: ebook, cat: Books, desc: "电ĺ­äą¦"} + - {id: 9kg, cat: XXX, desc: "9KG"} + - {id: other, cat: Other, desc: "ĺ…¶ĺ®"} + + modes: + search: [q] + tv-search: [q, season, ep] + movie-search: [q] + music-search: [q] + book-search: [q] + +settings: + - name: apikey + type: text + label: API key + - name: info_apikey + type: info + label: About your API key + default: "
  1. Login to this tracker with your browser
  2. Open the DevTools panel by pressing F12
  3. Select the Network tab
  4. Click on the Fetch/XHR button (Chrome Browser) or XHR button (FireFox)
  5. Perform any search on the web site
  6. Click on the first search?query= entry
  7. Select the Headers tab on the Right panel
  8. Find 'cookie:' in the Request Headers section
  9. Select and Copy the API key from the Authorization string (everything after 'Authorization: Bearer ') and Paste here.
" + - name: passkey + type: text + label: Passkey + - name: info_passkey + type: info + label: About your Passkey + default: "You can find the Passkey on your Passkey settings page." + - name: sort + type: select + label: Sort requested from site + default: created_at + options: + created_at: created + size: size + - name: type + type: select + label: Order requested from site + default: DESC + options: + DESC: desc + ASC: asc + - name: info_activity + type: info + label: Account Inactivity + default: "Account retention rules (Inactive Accounts):
  1. Not logged in for more than 30 days: Send email reminders
  2. Not logged in for more than 60 days: 5000 Mana points are deducted daily
  3. After the mana value is deducted to 0: the account is banned
  4. If the user expects to be unable to log in for a period of time, they can pay in advance 150,000 mana to protect account for 60 days
" + +login: + path: api/torrent/latest + method: get + +search: + paths: + - path: api/torrent/search + response: + type: json + + headers: + Authorization: ["Bearer {{ .Config.apikey }}"] + + inputs: + query: "{{ .Keywords }}" + # "" both, title title, subtitle desc + search_field: title + sort: "{{ .Config.sort }}+{{ .Config.type }}" + + keywordsfilters: + - name: re_replace + args: ["[\\.\\s]", "%"] + + rows: + selector: data.torrents + + fields: + _id: + selector: uuid + title: + selector: title + category: + selector: type + details: + text: "{{ .Config.sitelink }}torrent/{{ .Result._id }}" + download: + text: "{{ .Config.sitelink }}api/torrent/{{ .Result._id }}/download/{{ .Config.passkey }}" + infohash: + selector: info_hash + poster: + selector: poster + imdbid: + selector: attributes.imdb_id + tmdbid: + selector: attributes.tmdb_id + doubanid: + selector: attributes.douban_id + description: + selector: subtitle + seeders: + selector: seeders + leechers: + selector: leechers + grabs: + selector: downloads + date: + # "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50 + selector: created_at + filters: + - name: append + args: " +00:00" # GMT + - name: dateparse + args: "MM/dd/yyyy HH:mm:ss zzz" + size: + selector: size + genre: + selector: genre + downloadvolumefactor: + selector: promotion.down_multiplier + optional: true + default: 1 + uploadvolumefactor: + selector: promotion.up_multiplier + optional: true + default: 1 + minimumratio: + text: 1.0 + minimumseedtime: + # 1 day (as seconds = 24 x 60 x 60) + text: 86400 +# json api diff --git a/config/prowlarr/Definitions/rousi.yml b/config/prowlarr/Definitions/rousi.yml index f4a1e890..2e48e9c7 100644 --- a/config/prowlarr/Definitions/rousi.yml +++ b/config/prowlarr/Definitions/rousi.yml @@ -196,12 +196,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/rudub.yml b/config/prowlarr/Definitions/rudub.yml index 227e8e3f..c1449747 100644 --- a/config/prowlarr/Definitions/rudub.yml +++ b/config/prowlarr/Definitions/rudub.yml @@ -8,40 +8,39 @@ language: ru-RU type: semi-private encoding: windows-1251 followredirect: true -# alternate TLDs are: buzz, homes, mom, online, shop, top and xyz links: - - https://dec09.rudub.bet/ + - https://r2.rudub.world/ legacylinks: - - http://nov25.rudub.world/ - - https://nov25.rudub.world/ - - http://nov26.rudub.world/ - - https://nov26.rudub.world/ - - http://nov27.rudub.world/ - - https://nov27.rudub.world/ - - http://nov28.rudub.world/ - - https://nov28.rudub.world/ - - http://nov29.rudub.world/ - - https://nov29.rudub.world/ - - http://nov30.rudub.world/ - - https://nov30.rudub.world/ - - http://dec01.rudub.world/ - - https://dec01.rudub.world/ - - http://dec02.rudub.world/ - - https://dec02.rudub.world/ - - http://dec03.rudub.world/ - - https://dec03.rudub.world/ - - http://dec04.rudub.world/ - - https://dec04.rudub.world/ - - http://dec05.rudub.world/ - - https://dec05.rudub.world/ - - http://dec06.rudub.world/ - - https://dec06.rudub.world/ - - http://dec07.rudub.world/ - - https://dec07.rudub.world/ - - http://dec08.rudub.world/ - - https://dec08.rudub.world/ - - https://dec08.rudub.bet/ - - http://dec09.rudub.bet/ + - http://dec12.rudub.bet/ + - https://dec12.rudub.bet/ + - http://dec13.rudub.bet/ + - https://dec13.rudub.bet/ + - http://dec14.rudub.bet/ + - https://dec14.rudub.bet/ + - http://dec15.rudub.bet/ + - https://dec15.rudub.bet/ + - http://dec16.rudub.bet/ + - https://dec16.rudub.bet/ + - http://dec17.rudub.bet/ + - https://dec17.rudub.bet/ + - http://dec18.rudub.bet/ + - https://dec18.rudub.bet/ + - http://dec19.rudub.bet/ + - https://dec19.rudub.bet/ + - http://dec20.rudub.bet/ + - https://dec20.rudub.bet/ + - http://dec21.rudub.bet/ + - https://dec21.rudub.bet/ + - http://dec22.rudub.bet/ + - https://dec22.rudub.bet/ + - http://dec23.rudub.bet/ + - https://dec23.rudub.bet/ + - http://dec24.rudub.bet/ + - https://dec24.rudub.bet/ + - http://dec25.rudub.bet/ + - https://dec25.rudub.bet/ + - http://dec26.rudub.bet/ + - https://dec26.rudub.bet/ caps: categorymappings: - {id: 1, cat: TV, desc: "TV"} diff --git a/config/prowlarr/Definitions/rustorka.yml b/config/prowlarr/Definitions/rustorka.yml index 309c5fd9..0505fd52 100644 --- a/config/prowlarr/Definitions/rustorka.yml +++ b/config/prowlarr/Definitions/rustorka.yml @@ -887,6 +887,7 @@ search: headers: Cookie: ["godbayadblock=godbayadblock"] + User-Agent: ["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.203"] rows: selector: tr[id^="tor_"]:has(a[href^="./download.php?id="]) diff --git a/config/prowlarr/Definitions/rutor.yml b/config/prowlarr/Definitions/rutor.yml index 42b653fd..136fe5d1 100644 --- a/config/prowlarr/Definitions/rutor.yml +++ b/config/prowlarr/Definitions/rutor.yml @@ -48,10 +48,6 @@ settings: type: checkbox label: Add RUS to end of all titles to improve language detection by Sonarr and Radarr. Will cause English-only results to be misidentified. default: false - - name: info - type: info - label: A note about RuTor - default: RuTor does not display categories in its search results page. This definition is probably only suitable for Prowlarr Dashboard Manual searches. - name: sort type: select label: Sort requested from site (Applies only to Search with Keywords) @@ -65,6 +61,8 @@ settings: 7: "size asc" 8: "title desc" 9: "title asc" + - name: info_category_8000 + type: info_category_8000 search: paths: @@ -146,9 +144,15 @@ search: details: selector: td:nth-of-type(2) a[href^="/torrent/"] attribute: href - magnet: - selector: td:nth-of-type(2) a[href^="magnet:?xt="] + download: + selector: a.downgif attribute: href + infohash: + selector: a[href^="magnet:?xt="] + attribute: href + filters: + - name: regexp + args: ([A-F|a-f|0-9]{40}) date: # 27 Окт 17 selector: td:nth-of-type(1) diff --git a/config/prowlarr/Definitions/samaritano.yml b/config/prowlarr/Definitions/samaritano.yml index e716ad22..c33ef05b 100644 --- a/config/prowlarr/Definitions/samaritano.yml +++ b/config/prowlarr/Definitions/samaritano.yml @@ -16,11 +16,12 @@ caps: - {id: 4, cat: Other, desc: "Cursos"} - {id: 5, cat: Console, desc: "Games"} - {id: 6, cat: Books/EBook, desc: "Livros"} - - {id: 7, cat: Books/Comics, desc: "HQs"} + - {id: 7, cat: Books/Comics, desc: "HQs e Mangas"} - {id: 8, cat: Audio/Audiobook, desc: "AudioBooks"} - {id: 9, cat: PC, desc: "Programas"} - {id: 11, cat: Other, desc: "Diversos"} - {id: 10, cat: Other, desc: "Materiais de Apoio"} + - {id: 12, cat: Audio, desc: "Músicas"} modes: search: [q] @@ -198,4 +199,4 @@ search: minimumseedtime: # 7 days (as seconds = 7 x 24 x 60 x 60) text: 604800 -# json UNIT3D 9.1.7 +# json UNIT3D 9.2.0 (custom) diff --git a/config/prowlarr/Definitions/sbpt.yml b/config/prowlarr/Definitions/sbpt.yml index 45d15aac..fa093899 100644 --- a/config/prowlarr/Definitions/sbpt.yml +++ b/config/prowlarr/Definitions/sbpt.yml @@ -39,7 +39,7 @@ settings: - name: info_2fa type: info label: "About 2FA code" - default: "Only fill in the 2FA code box if you have enabled 2FA on the Rain Web Site. Otherwise just leave it empty." + default: "Only fill in the 2FA code box if you have enabled 2FA on the SBPT Web Site. Otherwise just leave it empty." - name: freeleech type: checkbox label: Search freeleech only @@ -167,12 +167,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/seedpool-api.yml b/config/prowlarr/Definitions/seedpool-api.yml index c24bd9d0..de343e7e 100644 --- a/config/prowlarr/Definitions/seedpool-api.yml +++ b/config/prowlarr/Definitions/seedpool-api.yml @@ -40,8 +40,8 @@ caps: modes: search: [q] - tv-search: [q, season, ep, tmdbid] - movie-search: [q, tmdbid] + tv-search: [q, season, ep, imdbid, tvdbid, tmdbid] + movie-search: [q, imdbid, tmdbid] music-search: [q] book-search: [q] @@ -57,6 +57,10 @@ settings: type: checkbox label: Search freeleech only default: false + - name: tmdbidonly + type: checkbox + label: Disable IMDB and TVDB ID search (only support TMDB ID) to potentially improve Sonarr and Radarr results + default: true - name: single_file_release_use_filename type: checkbox label: Use filename as title for single file releases @@ -104,7 +108,9 @@ search: name: "{{ .Keywords }}" seasonNumber: "{{ .Query.Season }}" episodeNumber: "{{ .Query.Ep }}" + imdbId: "{{ if .Config.tmdbidonly }}{{ else }}{{ .Query.IMDBIDShort }}{{ end }}" tmdbId: "{{ .Query.TMDBID }}" + tvdbId: "{{ if .Config.tmdbidonly }}{{ else }}{{ .Query.TVDBID }}{{ end }}" "free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}" sortField: "{{ .Config.sort }}" sortDirection: "{{ .Config.type }}" @@ -141,8 +147,12 @@ search: filters: - name: replace args: ["https://via.placeholder.com/90x135", ""] + imdbid: + selector: imdb_id tmdbid: selector: tmdb_id + tvdbid: + selector: tvdb_id genre: selector: meta.genres filters: diff --git a/config/prowlarr/Definitions/sewerpt.yml b/config/prowlarr/Definitions/sewerpt.yml index 614b46d6..dfb5e295 100644 --- a/config/prowlarr/Definitions/sewerpt.yml +++ b/config/prowlarr/Definitions/sewerpt.yml @@ -108,7 +108,7 @@ search: fields: category: - selector: a[href*="cat="] + selector: a[href^="?cat="] attribute: href filters: - name: querystring @@ -122,17 +122,18 @@ search: download: selector: a[href^="download.php?id="] attribute: href - size: - selector: td.rowfollow:nth-child(5) - seeders: - selector: td.rowfollow:nth-child(6) - leechers: - selector: td.rowfollow:nth-child(7) - grabs: - selector: td.rowfollow:nth-child(8) + imdbid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="imdb.com/title/tt"] + attribute: href + doubanid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="movie.douban.com/subject/"] + attribute: href date_elapsed: selector: td.rowfollow:nth-child(4) > span[title] attribute: title + optional: true filters: - name: append args: " +08:00" @@ -140,13 +141,30 @@ search: args: "yyyy-MM-dd HH:mm:ss zzz" date_added: selector: td.rowfollow:nth-child(4):not(:has(span)) + optional: true filters: - name: append args: " +08:00" - name: dateparse args: "yyyy-MM-ddHH:mm:ss zzz" date: - text: "{{ or .Result.date_elapsed .Result.date_added }}" + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/sextorrent-api.yml b/config/prowlarr/Definitions/sextorrent-api.yml index c90e44a6..5c868baf 100644 --- a/config/prowlarr/Definitions/sextorrent-api.yml +++ b/config/prowlarr/Definitions/sextorrent-api.yml @@ -10,56 +10,57 @@ links: caps: categorymappings: - - {id: 3, cat: XXX, desc: "Amateur"} - - {id: 4, cat: XXX, desc: "Anal"} - - {id: 5, cat: XXX, desc: "Asian"} - - {id: 6, cat: XXX, desc: "BDSM"} - - {id: 7, cat: XXX, desc: "Big-Tits"} - - {id: 8, cat: XXX, desc: "Busty"} - - {id: 9, cat: XXX, desc: "Creampie"} - - {id: 10, cat: XXX, desc: "Fetish"} - - {id: 11, cat: XXX, desc: "Mature"} - - {id: 12, cat: XXX, desc: "Hardcore"} - - {id: 13, cat: XXX, desc: "Old and Young"} - - {id: 14, cat: XXX, desc: "Milf"} - - {id: 15, cat: XXX, desc: "Oral"} - - {id: 16, cat: XXX, desc: "Orgy Gang Bang"} - - {id: 17, cat: XXX, desc: "Lesbian"} - - {id: 18, cat: XXX, desc: "Teen"} - - {id: 19, cat: XXX, desc: "HD - High.Definition"} - - {id: 20, cat: XXX, desc: "Hentai"} - - {id: 21, cat: XXX, desc: "Interracial"} - - {id: 22, cat: XXX, desc: "Masturbate"} - - {id: 23, cat: XXX, desc: "Music Video"} - - {id: 24, cat: XXX, desc: "POV"} - - {id: 25, cat: XXX, desc: "Shemale -TS- TransSex"} - - {id: 26, cat: XXX, desc: "Straight"} - - {id: 27, cat: XXX, desc: "Mega.Pack"} - - {id: 28, cat: XXX, desc: "V.R. -Porn-"} - - {id: 30, cat: XXX/ImageSet, desc: "Pictures"} - - {id: 29, cat: XXX, desc: "SiteRip"} - - {id: 31, cat: XXX, desc: "Foreign"} - - {id: 32, cat: XXX, desc: "Latina"} - - {id: 33, cat: XXX/Other, desc: "Games"} - - {id: 34, cat: XXX, desc: "Magazines"} - - {id: 35, cat: XXX, desc: "Feature"} - - {id: 36, cat: XXX, desc: "Big-Ass"} - - {id: 37, cat: XXX/Other, desc: "Other"} - - {id: 38, cat: XXX, desc: "Cumshot"} - - {id: 39, cat: XXX, desc: "Black"} - - {id: 40, cat: XXX, desc: "Piss"} - - {id: 41, cat: XXX, desc: "Homemade"} - - {id: 42, cat: XXX, desc: "Pregnant"} - - {id: 43, cat: XXX, desc: "Gay"} + - {id: 4, cat: XXX, desc: "Hardcore"} + - {id: 5, cat: XXX, desc: "Anal"} + - {id: 6, cat: XXX, desc: "Asian"} + - {id: 7, cat: XXX, desc: "BDSM"} + - {id: 8, cat: XXX, desc: "Big.Tits"} + - {id: 9, cat: XXX, desc: "Busty"} + - {id: 10, cat: XXX, desc: "Creampie"} + - {id: 11, cat: XXX, desc: "Fetish"} + - {id: 12, cat: XXX, desc: "Mature"} + - {id: 13, cat: XXX, desc: "Amateur"} + - {id: 14, cat: XXX, desc: "Old and Young"} + - {id: 15, cat: XXX, desc: "Milf"} + - {id: 16, cat: XXX, desc: "Oral"} + - {id: 17, cat: XXX, desc: "Orgy GangBang"} + - {id: 18, cat: XXX, desc: "Lesbian"} + - {id: 19, cat: XXX, desc: "Teen"} + - {id: 20, cat: XXX/x264, desc: "HD High.Definition"} + - {id: 21, cat: XXX/Other, desc: "Cartoon Hentai"} + - {id: 22, cat: XXX, desc: "Interracial"} + - {id: 23, cat: XXX, desc: "Masturbate"} + - {id: 24, cat: XXX/Other, desc: "Music.Video"} + - {id: 25, cat: XXX, desc: "POV"} + - {id: 26, cat: XXX, desc: "Shemale TS Trans.Sex"} + - {id: 27, cat: XXX, desc: "Straight"} + - {id: 28, cat: XXX/Pack, desc: "Mega.PACK"} + - {id: 29, cat: XXX, desc: "VR - Porn"} + - {id: 30, cat: XXX/ImageSet, desc: "Pictures XXX"} + - {id: 31, cat: XXX, desc: "SiteRip"} + - {id: 32, cat: XXX, desc: "Foreign"} + - {id: 33, cat: XXX, desc: "Latina"} + - {id: 34, cat: XXX/Other, desc: "Games All type"} + - {id: 35, cat: XXX/Other, desc: "Magazines (Press.)"} + - {id: 36, cat: XXX, desc: "Feature"} + - {id: 37, cat: XXX, desc: "Big-Ass"} + - {id: 38, cat: XXX/Other, desc: "Other (all.mixt.)"} + - {id: 39, cat: XXX, desc: "CumShot"} + - {id: 40, cat: XXX, desc: "Black"} + - {id: 41, cat: XXX, desc: "Piss"} + - {id: 42, cat: XXX, desc: "Homemade"} + - {id: 43, cat: XXX, desc: "Pregnant"} + - {id: 44, cat: XXX, desc: "GAY"} - {id: 45, cat: XXX, desc: "Classic"} - - {id: 44, cat: XXX, desc: "SiteFan"} - - {id: 1, cat: Movies, desc: "Movies"} + - {id: 46, cat: XXX, desc: "Threesome"} + - {id: 1, cat: Movies, desc: "Movies XXX"} - {id: 2, cat: TV, desc: "TV"} + - {id: 3, cat: Audio, desc: "Music"} + - {id: 47, cat: XXX, desc: "Unsorted"} + - {id: 48, cat: XXX, desc: "OnlyFans .com"} modes: search: [q] - tv-search: [q, season, ep] - movie-search: [q] settings: - name: apikey @@ -93,6 +94,10 @@ settings: options: desc: desc asc: asc + - name: info_activity + type: info + label: Account Inactivity + default: "Inactive Account mean No trafic Up/Down, these will be wiped very fast." login: path: /api/torrents @@ -200,10 +205,10 @@ search: True: 2 # double uploadvolumefactor: text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}" -# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio +# global MR is 0.7 but torrents must be seeded for 7 days regardless of ratio # minimumratio: -# text: 0.4 +# text: 0.7 minimumseedtime: # 7 days (as seconds = 7 x 24 x 60 x 60) text: 604800 -# json UNIT3D 9.1.7 +# json UNIT3D 9.2.0 (custom) diff --git a/config/prowlarr/Definitions/shareisland-api.yml b/config/prowlarr/Definitions/shareisland-api.yml index 3ebb8dae..2572a12b 100644 --- a/config/prowlarr/Definitions/shareisland-api.yml +++ b/config/prowlarr/Definitions/shareisland-api.yml @@ -14,8 +14,10 @@ legacylinks: caps: categorymappings: - {id: 1, cat: Movies, desc: "Movie"} + - {id: 28, cat: Movies, desc: "Foreign Movie"} - {id: 2, cat: TV, desc: "Serie TV"} - {id: 15, cat: Books/EBook, desc: "Ebook"} + - {id: 26, cat: Audio/Audiobook, desc: "Audio Book"} - {id: 17, cat: Books/Mags, desc: "Riviste e Giornali"} - {id: 3, cat: Audio, desc: "Music"} - {id: 7, cat: PC/Games, desc: "Games"} diff --git a/config/prowlarr/Definitions/sharewood-api.yml b/config/prowlarr/Definitions/sharewood-api.yml index a9ca7c55..5018d463 100644 --- a/config/prowlarr/Definitions/sharewood-api.yml +++ b/config/prowlarr/Definitions/sharewood-api.yml @@ -114,6 +114,8 @@ login: path: "api/{{ .Config.passkey }}/last-torrents" method: get error: + - selector: ":root:contains(\"Invalid passkey\")" + - selector: ":root:contains(\"La page demandée est introuvable\")" # 404 page on empty passkey - selector: ":root:contains(\"Passkey invalide\")" - selector: ":root:contains(\"503 Service Temporarily Unavailable\")" diff --git a/config/prowlarr/Definitions/siqi.yml b/config/prowlarr/Definitions/siqi.yml new file mode 100644 index 00000000..46381459 --- /dev/null +++ b/config/prowlarr/Definitions/siqi.yml @@ -0,0 +1,171 @@ +--- +id: siqi +name: Siqi +description: "Siqi is a CHINESE Private Tracker for HD image BOOKS and E-BOOKS" +language: zh-CN +type: private +encoding: UTF-8 +links: + - https://si-qi.xyz/ + +caps: + categorymappings: + - {id: 411, cat: Books/Comics, desc: "漫画 (Comics)"} + - {id: 417, cat: Books/Technical, desc: "软件 (Software)"} + - {id: 416, cat: Books/EBook, desc: "摄影 (Photography)"} + - {id: 415, cat: Books/Technical, desc: "工具书 (Reference Books)"} + - {id: 414, cat: Books/Mags, desc: "杂志 (Magazines)"} + - {id: 413, cat: Other, desc: "图片集 (Photo Albums)"} + - {id: 412, cat: Books/Comics, desc: "连环画 (Comic Strips)"} + - {id: 418, cat: Books/EBook, desc: "插图书 (Illustrated Books)"} + - {id: 401, cat: Books/Technical, desc: "教学 (Instructional)"} + - {id: 409, cat: Books/Other, desc: "其他 (Others)"} + + modes: + search: [q] + book-search: [q] + +settings: + - name: cookie + type: text + label: Cookie + - name: info_cookie + type: info_cookie + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. + +login: + # using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php + method: cookie + inputs: + cookie: "{{ .Config.cookie }}" + test: + path: index.php + selector: a[href="logout.php"] + +search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ .Keywords }}" + # 0 incldead, 1 active, 2 dead + incldead: 0 + # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr, 3 uploader, 4 imdburl + search_area: 0 + # 0 AND, 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + notnewword: 1 + + rows: + selector: table.torrents > tbody > tr:has(a[href^="download.php?id="]) + + fields: + category: + selector: a[href^="?cat="] + attribute: href + filters: + - name: querystring + args: cat + title_default: + selector: a[href^="details.php?id="] + title: + selector: a[title][href^="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" + details: + selector: a[href^="details.php?id="] + attribute: href + download: + selector: a[href^="download.php?id="] + attribute: href + poster: + selector: img[data-src] + attribute: data-src + date_elapsed: + # time type: time elapsed (default) + selector: td.rowfollow:nth-child(4) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-dd HH:mm:ss zzz" + date_added: + # time added + selector: td.rowfollow:nth-child(4):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + date: + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 + downloadvolumefactor: + case: + img.pro_free: 0 + img.pro_free2up: 0 + img.pro_50pctdown: 0.5 + img.pro_50pctdown2up: 0.5 + img.pro_30pctdown: 0.3 + "*": 1 + uploadvolumefactor: + case: + img.pro_50pctdown2up: 2 + img.pro_free2up: 2 + img.pro_2up: 2 + "*": 1 + minimumratio: + text: 1.0 + minimumseedtime: + # 1 days (as seconds = 1 x 24 x 60 x 60) + text: 86400 + description: + selector: td.rowfollow:nth-child(2) + remove: a, b, font, img, span +# NexusPHP v1.9.6 2025-06-25 (Custom) diff --git a/config/prowlarr/Definitions/sportscult.yml b/config/prowlarr/Definitions/sportscult.yml index e140f2a6..47ffff48 100644 --- a/config/prowlarr/Definitions/sportscult.yml +++ b/config/prowlarr/Definitions/sportscult.yml @@ -101,6 +101,7 @@ caps: - {id: 6, cat: TV/Sport, desc: "European Soccer"} - {id: 101, cat: TV/Sport, desc: "EuroCup"} - {id: 102, cat: TV/Sport, desc: "Ultimate Diskk"} + - {id: 104, cat: TV/Sport, desc: "WinterOlympicGames"} - {id: 52, cat: TV/Sport, desc: "Field Hockey"} - {id: 103, cat: TV/Sport, desc: "Basketball Champions"} - {id: 58, cat: TV/Sport, desc: "UFC"} @@ -183,6 +184,9 @@ search: filters: - name: querystring args: category + # change broken/missing cat 0 to Uncategorised + - name: re_replace + args: ["\\b0\\b", "48"] title: selector: a[href^="index.php?page=torrent-details&id="] filters: diff --git a/config/prowlarr/Definitions/tangmen.yml b/config/prowlarr/Definitions/tangmen.yml index 2d28c5f3..0552315b 100644 --- a/config/prowlarr/Definitions/tangmen.yml +++ b/config/prowlarr/Definitions/tangmen.yml @@ -28,19 +28,11 @@ caps: music-search: [q] settings: - - name: username + - name: cookie type: text - label: Username - - name: password - type: password - label: Password - - name: 2facode - type: text - label: 2FA code - - name: info_2fa - type: info - label: "About 2FA code" - default: "Only fill in the 2FA code box if you have enabled 2FA on the cyanbug Web Site. Otherwise just leave it empty." + label: Cookie + - name: info_cookie + type: info_cookie - name: freeleech type: checkbox label: Search freeleech only @@ -71,26 +63,10 @@ settings: default: "Account retention rules:
  1. Veteran User and above will be retained forever
  2. Elite User and above will not have their account deleted after parking (in the control panel)
  3. Users with a parked account will be deleted if they do not log in for 400 consecutive days
  4. Users with a non-parked account will be deleted if they do not log in for 150 consecutive days
  5. Users who have no traffic (i.e. upload/download data are both 0) will be deleted if they do not log in for 100 consecutive days.
" login: - path: login.php - method: form - form: form[action="takelogin.php"] - captcha: - type: image - selector: img[alt="CAPTCHA"] - input: imagestring + # using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php + method: cookie inputs: - secret: "" - username: "{{ .Config.username }}" - password: "{{ .Config.password }}" - two_step_code: "{{ .Config.2facode }}" - logout: "" - securelogin: "" - ssl: yes - trackerssl: yes - error: - - selector: td.embedded:has(h2:contains("失败")) - message: - selector: td.text + cookie: "{{ .Config.cookie }}" test: path: index.php selector: a[href="logout.php"] @@ -170,12 +146,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: - selector: td.rowfollow.rowfollow:nth-child(6) + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/tangpt.yml b/config/prowlarr/Definitions/tangpt.yml new file mode 100644 index 00000000..3f555985 --- /dev/null +++ b/config/prowlarr/Definitions/tangpt.yml @@ -0,0 +1,189 @@ +--- +id: tangpt +name: TangPT (čşşĺął) +description: "TangPT (čşşĺął) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL" +language: zh-CN +type: private +encoding: UTF-8 +links: + - https://www.tangpt.top/ + +caps: + categorymappings: + - {id: 401, cat: Movies, desc: "电影"} + - {id: 402, cat: TV, desc: "电视剧"} + - {id: 403, cat: TV, desc: "综艺"} + - {id: 404, cat: TV/Documentary, desc: "纪录片"} + - {id: 405, cat: TV/Anime, desc: "动漫"} + - {id: 406, cat: Audio/Video, desc: "MV"} + - {id: 407, cat: TV/Sport, desc: "体育"} + - {id: 409, cat: Audio/Lossless, desc: "éźłäą"} + - {id: 414, cat: Other, desc: "ĺ…¶ä»–"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid, doubanid] + movie-search: [q, imdbid, doubanid] + music-search: [q] + +settings: + - name: cookie + type: text + label: Cookie + - name: info_cookie + type: info_cookie + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. + - name: info_activity + type: info + label: Account Inactivity + default: "Cherish your user account. Inactive accounts would be deleted based on the following rules:
  1. Veteran User or above would never be deleted
  2. Elite User or above would never be deleted if parked (at User CP)
  3. Parked accounts would be deleted if users have not logged in for more than 400 days in a row
  4. Un-parked accounts would be deleted if users have not logged in for more than 150 days in a row
  5. Accounts with both uploaded and downloaded amount being 0 would be deleted if users have not logged in for more than 100 days in a row.
" + +login: + # using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php + method: cookie + inputs: + cookie: "{{ .Config.cookie }}" + error: + - selector: td.embedded:has(h2:contains("失败")) + test: + path: index.php + selector: a[href="logout.php"] + +search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}" + # 0 incldead, 1 active, 2 dead + incldead: 0 + # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr, 3 uploader, 4 imdburl + search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}" + # 0 AND, 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + notnewword: 1 + + rows: + selector: table.torrents > tbody > tr:has(table.torrentname) + + fields: + category: + selector: a[href^="?cat="] + attribute: href + filters: + - name: querystring + args: cat + title_default: + selector: a[href^="details.php?id="] + title: + selector: a[title][href^="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" + details: + selector: a[href^="details.php?id="] + attribute: href + download: + selector: a[href^="download.php?id="] + attribute: href + poster: + selector: img[data-src] + attribute: data-src + imdbid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="imdb.com/title/tt"] + attribute: href + doubanid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="movie.douban.com/subject/"] + attribute: href + date_elapsed: + # time type: time elapsed (default) + selector: td.rowfollow:nth-child(4) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-dd HH:mm:ss zzz" + date_added: + # time added + selector: td.rowfollow:nth-child(4):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + date: + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 + downloadvolumefactor: + case: + img.pro_free: 0 + img.pro_free2up: 0 + img.pro_50pctdown: 0.5 + img.pro_50pctdown2up: 0.5 + img.pro_30pctdown: 0.3 + "*": 1 + uploadvolumefactor: + case: + img.pro_50pctdown2up: 2 + img.pro_free2up: 2 + img.pro_2up: 2 + "*": 1 + description_verified: + case: + span[title="通过"], span[title="通éŽ"], span[title="Allowed"]: "Verified:" + span[title="未审"], span[title="未審"], span[title="Not reviewed"]: "Unverified:" + span[title="拒绝"], span[title="拒絕"], span[title="Denied"]: "Banned:" + description: + selector: td.rowfollow:nth-child(2) + remove: a, b, font, img, span + filters: + - name: prepend + args: "{{ .Result.description_verified }} " +# NexusPHP v1.9.11 2025-11-02 diff --git a/config/prowlarr/Definitions/teamctgame.yml b/config/prowlarr/Definitions/teamctgame.yml index c2b77590..ce4a2acd 100644 --- a/config/prowlarr/Definitions/teamctgame.yml +++ b/config/prowlarr/Definitions/teamctgame.yml @@ -229,12 +229,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 description: case: span[title="AutorisĂ©"]: "Verified" diff --git a/config/prowlarr/Definitions/teamos.yml b/config/prowlarr/Definitions/teamos.yml index 011d3e8e..9b16719b 100644 --- a/config/prowlarr/Definitions/teamos.yml +++ b/config/prowlarr/Definitions/teamos.yml @@ -99,6 +99,7 @@ caps: - {id: 102, cat: Other, desc: "Post And Share"} - {id: 100, cat: Other, desc: "Tutorials"} # undocumented - {id: 103, cat: Other, desc: "Other Topic"} # undocumented + - {id: 166, cat: PC, desc: "Windows 64 Bit"} # undocumented modes: search: [q] diff --git a/config/prowlarr/Definitions/thebrothers.yml b/config/prowlarr/Definitions/thebrothers.yml new file mode 100644 index 00000000..de2d2599 --- /dev/null +++ b/config/prowlarr/Definitions/thebrothers.yml @@ -0,0 +1,220 @@ +--- +id: thebrothers +name: The Brothers +description: "The Brothers is a Private GERMAN tracker for MOVIES / TV / GENERAL" +language: de-DE +type: private +encoding: UTF-8 +links: + - https://the-brothers.bounceme.net/ + +caps: + categorymappings: + # Klassiker + - {id: 157, cat: Movies, desc: "Klassiker All In"} + # Anime + - {id: 189, cat: TV/Anime, desc: "Anime Serie"} + - {id: 193, cat: TV/Anime, desc: "Anime Pack"} + - {id: 183, cat: TV/Anime, desc: "Anime HD"} + - {id: 184, cat: TV/Anime, desc: "Anime SD"} + - {id: 186, cat: TV/Anime, desc: "Anime 4K"} + # Kids + - {id: 146, cat: Movies, desc: "Kids Alles"} + # Movie + - {id: 114, cat: Movies/DVD, desc: "Movie DVD"} + - {id: 122, cat: Movies/UHD, desc: "Movie 4K"} + - {id: 124, cat: Movies, desc: "Movie Pack"} + - {id: 196, cat: Movies/UHD, desc: "Movie UHD"} + - {id: 28, cat: Movies/SD, desc: "Movie SD"} + - {id: 32, cat: Movies/HD, desc: "Movie HD"} + - {id: 26, cat: Movies/3D, desc: "Movie 3D"} + # Serien + - {id: 56, cat: TV/SD, desc: "Serien DVD"} + - {id: 57, cat: TV/HD, desc: "Serien HD"} + - {id: 59, cat: TV, desc: "Serien Pack"} + - {id: 60, cat: TV/SD, desc: "Serien SD"} + # Software + - {id: 9, cat: PC, desc: "App Linux"} + - {id: 10, cat: PC/Mac, desc: "App Mac"} + - {id: 11, cat: PC/Mobile-Other, desc: "App Other"} + - {id: 12, cat: PC/0day, desc: "App Win"} + # Game + - {id: 120, cat: Console/PS3, desc: "Game PlayStation"} + - {id: 16, cat: Console, desc: "Game Wimmelbild"} + - {id: 17, cat: PC/Games, desc: "Game PC"} + - {id: 20, cat: Console/PSP, desc: "Game PSP"} + - {id: 22, cat: Console/Wii, desc: "Game Wii"} + - {id: 24, cat: Console/XBox, desc: "Game XBOX"} + # Music + - {id: 48, cat: Audio, desc: "Music Album"} + - {id: 49, cat: Audio, desc: "Music Charts"} + - {id: 52, cat: Audio, desc: "Music Pack"} + - {id: 54, cat: Audio, desc: "Music Single"} + - {id: 55, cat: Audio/Video, desc: "Music Video"} + - {id: 125, cat: Audio, desc: "Music Mixe"} + - {id: 126, cat: Audio, desc: "Music Audio"} + - {id: 148, cat: Audio, desc: "Music Discography"} + # Sport + - {id: 61, cat: TV/Sport, desc: "Sport Other"} + - {id: 130, cat: TV/Sport, desc: "Sport WWE"} + # Sonstiges + - {id: 144, cat: TV/Documentary, desc: "Sonstiges Doku"} + - {id: 131, cat: Books/Mags, desc: "Sonstiges Zeitungen"} + - {id: 63, cat: Audio/Audiobook, desc: "Sonstiges A-Book"} + - {id: 96, cat: Books/EBook, desc: "Sonstiges E-Book"} + - {id: 69, cat: Books, desc: "Sonstiges Tutorial"} + - {id: 71, cat: Books/Other, desc: "Sonstiges Other"} + # Internt'l + - {id: 98, cat: Movies/HD, desc: "Internt'l Movie HD"} + - {id: 99, cat: TV/HD, desc: "Internt'l Serie HD"} + - {id: 102, cat: TV/SD, desc: "Internt'l Serie SD"} + - {id: 103, cat: Movies/SD, desc: "Internt'l Movie SD"} + - {id: 104, cat: Other, desc: "Internt'l Misc"} + - {id: 105, cat: TV/Documentary, desc: "Internt'l Doku"} + - {id: 106, cat: Books/EBook, desc: "Internt'l E-Book"} + - {id: 107, cat: Audio/Audiobook, desc: "Internt'l A-Book"} + - {id: 115, cat: Movies/DVD, desc: "Internt'l DVD"} + # XXX + - {id: 73, cat: XXX/x264, desc: "XXX HD"} + - {id: 75, cat: XXX/Pack, desc: "XXX Pack"} + - {id: 76, cat: XXX/SD, desc: "XXX SD"} + - {id: 113, cat: XXX/DVD, desc: "XXX DVD"} + + modes: + search: [q] + tv-search: [q, season, ep] + movie-search: [q] + music-search: [q] + book-search: [q] + +settings: + - name: username + type: text + label: Username + - name: password + type: password + label: Password + - name: pin + type: text + label: Pin + - name: sort + type: select + label: Sort requested from site + default: added + options: + added: created + seeds: seeders + size: size + name: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Anzahl der Torrents beim Durchsuchen Torrents per page: setting to 60 on your account profile. The default is 15. + +login: + path: login.php + method: form + form: form[action="/login.php"] + cookies: ["JAVA=OK"] # avoid jscheck redirect + inputs: + username: "{{ .Config.username }}" + password: "{{ .Config.password }}" + pin: "{{ .Config.pin }}" + error: + - selector: div#login_error + test: + path: index.php + selector: a[href="logout.php"] + +download: + selectors: + - selector: a[href^="download_ssl.php?torrent="] + attribute: href + +search: + paths: + - path: selection.php + inputs: + $raw: "{{ range .Categories }}c{{.}}=1&{{end}}" + search: "{{ .Keywords }}" + # 0 name, 1 descr, 2 both + blah: 0 + orderby: "{{ .Config.sort }}" + sort: "{{ .Config.type }}" + + rows: + selector: div.selection_wrap + fields: + category_p1: + selector: div.kat_cat_pic_name + category_p2: + selector: div.kat_cat_pic_name_b + categorydesc: + text: "{{ .Result.category_p1 }} {{ .Result.category_p2 }}" + title: + selector: a.selection_a + filters: + - name: re_replace + args: ["^\\[[\\w ]*\\]\\s?", ""] + details: + selector: a.selection_a + attribute: href + download: + selector: a.selection_a + attribute: href + poster: + selector: div[id^="details"] img + attribute: src + size: + selector: div.selection_unter_ad + grabs: + selector: div.selection_unter_ae + date_day: + # Heute 13:30:04 + # Gestern 09:10:10 + selector: div.selection_unter_ab:not(:contains(".")) + optional: true + filters: + - name: replace + args: ["Heute", "Today"] + - name: replace + args: ["Gestern", "Yesterday"] + - name: append + args: " +01:00" # CET + date_year: + # 30.02.2018 um 23:12:50 + selector: div.selection_unter_ab:contains(".") + optional: true + filters: + - name: replace + args: [" um", ""] + - name: append + args: " +01:00" # CET + - name: dateparse + args: "dd.MM.yyyy HH:mm:ss zzz" + date: + text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}" + seeders: + selector: div.selection_unter_aa + leechers: + selector: div.selection_unter_aaa + downloadvolumefactor: + case: + ":root:has(div.onlyup)": 0 # GLobal Freeleech event + "*": 1 + uploadvolumefactor: + text: 1 +# global MR is 0.7 but torrents must be seeded for 2 days regardless of ratio +# minimumratio: +# text: 0.7 + minimumseedtime: + # 2 days (as seconds = 2 x 24 x 60 x 60) + text: 172800 +# 3xT diff --git a/config/prowlarr/Definitions/thefallingangels.yml b/config/prowlarr/Definitions/thefallingangels.yml index 11d4bbe0..4edc8e96 100644 --- a/config/prowlarr/Definitions/thefallingangels.yml +++ b/config/prowlarr/Definitions/thefallingangels.yml @@ -62,6 +62,7 @@ caps: - {id: 160, cat: Movies/Other, desc: "Anime Movies SD"} - {id: 168, cat: TV/Anime, desc: "Anime Serien HD"} - {id: 169, cat: TV/Anime, desc: "Anime Serien SD"} + - {id: 170, cat: TV/Anime, desc: "Anime Serien Pack"} - {id: 129, cat: TV/Anime, desc: "Anime Sonstiges"} - {id: 118, cat: Other, desc: "Other Mobile"} - {id: 119, cat: Other, desc: "Other HörbĂĽcher"} diff --git a/config/prowlarr/Definitions/thegeeks.yml b/config/prowlarr/Definitions/thegeeks.yml index fea40874..c46b430f 100644 --- a/config/prowlarr/Definitions/thegeeks.yml +++ b/config/prowlarr/Definitions/thegeeks.yml @@ -6,7 +6,7 @@ language: en-US type: private encoding: UTF-8 certificates: - - edf52a95960cbd7ca3c992e634cc087fa47df8c5 # Expired 23rd OCt 2025 + - d27e03f320cd5d0b6f74718659bd13b0b3ad6689 # Expired 21st Feb 2026 links: - https://thegeeks.click/ diff --git a/config/prowlarr/Definitions/theleachzone-api.yml b/config/prowlarr/Definitions/theleachzone-api.yml index 7281dc4e..951ded40 100644 --- a/config/prowlarr/Definitions/theleachzone-api.yml +++ b/config/prowlarr/Definitions/theleachzone-api.yml @@ -80,8 +80,8 @@ search: # if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6 $raw: "{{ range .Categories }}&categories[]={{.}}{{end}}" name: "{{ .Keywords }}" - seasonNumber: "{{ .Query.Season }}" - episodeNumber: "{{ .Query.Ep }}" + # seasonNumber: "{{ .Query.Season }}" # not supported + # episodeNumber: "{{ .Query.Ep }}" # not supported imdbId: "{{ .Query.IMDBIDShort }}" tmdbId: "{{ .Query.TMDBID }}" tvdbId: "{{ .Query.TVDBID }}" @@ -179,4 +179,4 @@ search: minimumseedtime: # 4 days (as seconds = 4 x 24 x 60 x 60) text: 345600 -# json UNIT3D 7.2.5 +# json UNIT3D 7.2.5 (custom) diff --git a/config/prowlarr/Definitions/theoldschool-api.yml b/config/prowlarr/Definitions/theoldschool-api.yml index 9f2c7f7b..18a99c5c 100644 --- a/config/prowlarr/Definitions/theoldschool-api.yml +++ b/config/prowlarr/Definitions/theoldschool-api.yml @@ -113,8 +113,8 @@ search: # if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6 $raw: "{{ range .Categories }}&categories[]={{.}}{{end}}" name: "{{ .Keywords }}" - seasonNumber: "{{ .Query.Season }}" - episodeNumber: "{{ .Query.Ep }}" + # seasonNumber: "{{ .Query.Season }}" # not supported + # episodeNumber: "{{ .Query.Ep }}" # not supported imdbId: "{{ if .Config.tmdbidonly }}{{ else }}{{ .Query.IMDBIDShort }}{{ end }}" tmdbId: "{{ .Query.TMDBID }}" tvdbId: "{{ if .Config.tmdbidonly }}{{ else }}{{ .Query.TVDBID }}{{ end }}" diff --git a/config/prowlarr/Definitions/thepiratebay.yml b/config/prowlarr/Definitions/thepiratebay.yml index 162b5afc..4a6b5480 100644 --- a/config/prowlarr/Definitions/thepiratebay.yml +++ b/config/prowlarr/Definitions/thepiratebay.yml @@ -205,6 +205,7 @@ search: selector: size files: selector: num_files + optional: true seeders: selector: seeders leechers: diff --git a/config/prowlarr/Definitions/theshow.yml b/config/prowlarr/Definitions/theshow.yml index 41e613cc..9f3da48c 100644 --- a/config/prowlarr/Definitions/theshow.yml +++ b/config/prowlarr/Definitions/theshow.yml @@ -6,7 +6,7 @@ language: en-US type: private encoding: UTF-8 certificates: - - e207e50c00d33374e13dd9da761a8baea4702b2d # Expired 23rd Oct 2025 + - 3bf77e8aa3cea0c26ae0bceb5c1f20fe75a3d64c # Expired 21st Feb 2026 links: - https://theshow.click/ legacylinks: diff --git a/config/prowlarr/Definitions/tmghub.yml b/config/prowlarr/Definitions/tmghub.yml index fc2eb4a6..44b0d97b 100644 --- a/config/prowlarr/Definitions/tmghub.yml +++ b/config/prowlarr/Definitions/tmghub.yml @@ -21,6 +21,7 @@ caps: - {id: 17, cat: Movies/WEB-DL, desc: "WEB-DL/DTH"} - {id: 14, cat: Movies/DVD, desc: "DVD-Rips"} - {id: 15, cat: Movies/HD, desc: "DTH/HD-Rip"} + - {id: 45, cat: Movies/Other, desc: "AI Encodes"} - {id: 20, cat: Movies/SD, desc: "VHS/TV-Rip"} - {id: 21, cat: Movies, desc: "Video CDs"} - {id: 19, cat: Movies, desc: "Pre Releases "} @@ -114,7 +115,7 @@ download: comment: "{{ .Config.thankyou }}" confirm: Confirm selectors: - - selector: td a[href^="download.php"] + - selector: a[href*="download.php?id="] attribute: href search: @@ -138,48 +139,56 @@ search: by: "{{ .Config.type }}" rows: - selector: "table#tottest[width=\"100%\"] tr:has(a[href^=\"index.php?page=torrent-details\"]):not(:has(img[title=\"Allready Grabbed !!\"]))" + selector: "table.torrents tr:has(a[href^=\"index.php?page=torrent-details\"]):not(:has(img[title=\"Allready Grabbed !!\"]))" fields: category: - selector: td a[href^="index.php?page=torrents&category="] + selector: td.category > a attribute: href filters: - name: querystring args: category title: - selector: td a[href^="index.php?page=torrent-details"] + selector: td.torrent-first a details: - selector: td a[href^="index.php?page=torrent-details"] + selector: td.torrent-first a attribute: href download: - selector: td a[href^="index.php?page=torrent-details"] - attribute: href - imdbid: - selector: a[href*="imdb.com/title/tt"] + selector: td.torrent-first a attribute: href poster: - selector: td a[href^="index.php?page=torrent-details"] + selector: td.torrent-first a attribute: onmouseover filters: - name: regexp - args: "src=(.+?) width" + args: "src=(.+?) border" date: # 6 weeks ago - selector: td a[href^="index.php?page=torrent-details"] + selector: td.torrent-first a attribute: onmouseover filters: - name: regexp args: "Added\\:(\\d+ \\w+ \\w+)<" - name: timeago size: - selector: td:nth-child(5) + selector: td.size grabs: - selector: td:nth-child(6) + selector: td.torrent-first div div + filters: + - name: regexp + args: "^\\d+\\s+\\d+\\s+(.+)" + - name: replace + args: ["---", "0"] seeders: - selector: td:nth-child(7) + selector: td.torrent-first div div + filters: + - name: regexp + args: "^(\\d+)\\s+\\d+\\s+.+" leechers: - selector: td:nth-child(8) + selector: td.torrent-first div div + filters: + - name: regexp + args: "^\\d+\\s+(\\d+)\\s+.+" downloadvolumefactor: case: img[src="gold/gold.gif"]: 0 diff --git a/config/prowlarr/Definitions/tocashare.yml b/config/prowlarr/Definitions/tocashare.yml index 5ce39c07..2ad8315b 100644 --- a/config/prowlarr/Definitions/tocashare.yml +++ b/config/prowlarr/Definitions/tocashare.yml @@ -12,9 +12,17 @@ legacylinks: caps: categorymappings: + - {id: 1, cat: Books/Mags, desc: "Revistas"} + - {id: 2, cat: TV, desc: "Seriado"} + - {id: 3, cat: Audio/Audiobook, desc: "MĂşsica"} + - {id: 4, cat: Console, desc: "Jogo"} + - {id: 5, cat: PC, desc: "Aplicativo"} - {id: 6, cat: Books/EBook, desc: "E-Books"} - {id: 7, cat: Other, desc: "Cursos"} - - {id: 9, cat: Audio/Audiobook, desc: "Audio E-Book"} + - {id: 8, cat: XXX/ImageSet, desc: "Fotos Adultas"} + - {id: 9, cat: Audio/Audiobook, desc: "Audio livro"} + - {id: 10, cat: Books/Comics, desc: "HQs/Mangas"} + - {id: 11, cat: TV, desc: "Shows"} modes: search: [q] diff --git a/config/prowlarr/Definitions/tokyopt.yml b/config/prowlarr/Definitions/tokyopt.yml new file mode 100644 index 00000000..cda3093b --- /dev/null +++ b/config/prowlarr/Definitions/tokyopt.yml @@ -0,0 +1,175 @@ +--- +id: tokyopt +name: TokyoPT +description: "TokyoPT is a CHINESE Private Torrent Tracker for MOVIES / TV" +language: zh-CN +type: private +encoding: UTF-8 +links: + - https://www.tokyopt.xyz/ + +caps: + categorymappings: + - {id: 409, cat: Other, desc: "ĺ…¶ä»–/Misc"} + - {id: 405, cat: TV/Anime, desc: "动漫/Anime"} + - {id: 414, cat: Movies, desc: "电影/Movies"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid] + movie-search: [q, imdbid] + +settings: + - name: cookie + type: text + label: Cookie + - name: info_cookie + type: info_cookie + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. + - name: info_activity + type: info + label: Account Inactivity + default: "Account retention rules:
  1. Veteran User and above will be retained forever
  2. Elite User and above will not have their account deleted after parking (in the control panel)
  3. Users with a parked account will be deleted if they do not log in for 400 consecutive days
  4. Users with a non-parked account will be deleted if they do not log in for 150 consecutive days
  5. Users who have no traffic (i.e. upload/download data are both 0) will be deleted if they do not log in for 100 consecutive days.
" + +login: + # using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php + method: cookie + inputs: + cookie: "{{ .Config.cookie }}" + test: + path: index.php + selector: a[href="logout.php"] + +search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}" + # 0 incldead, 1 active, 2 dead + incldead: 0 + # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr, 3 uploader, 4 imdburl + search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}" + # 0 AND, 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + notnewword: 1 + + rows: + selector: table.torrents > tbody > tr:has(a[href*="download.php?id="]) + + fields: + category: + selector: a[href*="?cat="] + attribute: href + filters: + - name: querystring + args: cat + title_default: + selector: a[href*="details.php?id="] + title: + selector: a[title][href*="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" + details: + selector: a[href*="details.php?id="] + attribute: href + download: + selector: a[href*="download.php?id="] + attribute: href + poster: + selector: img[data-src] + attribute: data-src + imdbid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="imdb.com/title/tt"] + attribute: href + doubanid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="movie.douban.com/subject/"] + attribute: href + date_elapsed: + # time type: time elapsed (default) + selector: td.rowfollow:nth-child(4) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-dd HH:mm:ss zzz" + date_added: + # time added + selector: td.rowfollow:nth-child(4):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + date: + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 + downloadvolumefactor: + case: + img.pro_free: 0 + img.pro_free2up: 0 + img.pro_50pctdown: 0.5 + img.pro_50pctdown2up: 0.5 + img.pro_30pctdown: 0.3 + "*": 1 + uploadvolumefactor: + case: + img.pro_50pctdown2up: 2 + img.pro_free2up: 2 + img.pro_2up: 2 + "*": 1 + minimumseedtime: + # 1 days (as seconds = 1 x 24 x 60 x 60) + text: 86400 + description: + selector: td.rowfollow:nth-child(2) + remove: a, b, font, img, span +# NexusPHP v1.9.6 2025-06-25 diff --git a/config/prowlarr/Definitions/torr9.yml b/config/prowlarr/Definitions/torr9.yml new file mode 100644 index 00000000..0aef1230 --- /dev/null +++ b/config/prowlarr/Definitions/torr9.yml @@ -0,0 +1,145 @@ +--- +id: torr9 +name: Torr9 +description: "Torr9 is a FRENCH Private Torrent Tracker for MOVIES / TV / GENERAL" +language: fr-FR +type: private +encoding: UTF-8 +links: + - https://torr9.xyz/ +legacylinks: + - https://torr9.com/ + +caps: + categorymappings: + # from https://api.torr9.xyz/api/v1/torznab?apikey=YOUR-PASSKEY&t=caps + - {id: 1000, cat: Console, desc: "Console/Games"} + - {id: 2000, cat: Movies, desc: "Movies"} + - {id: 3000, cat: Audio, desc: "Audio"} + - {id: 4000, cat: PC, desc: "PC/Applications"} + - {id: 5000, cat: TV, desc: "TV"} + - {id: 5000, cat: TV/Anime, desc: "Animes"} + - {id: 6000, cat: XXX, desc: "XXX"} + - {id: 7000, cat: Books, desc: "Books/eBook"} + - {id: 8000, cat: Other, desc: "Other"} + + modes: + search: [q] + tv-search: [q, season, ep, tvdbid] + movie-search: [q, imdbid] + music-search: [q] + book-search: [q] + +settings: + - name: passkey + type: text + label: PassKey + - name: info_key + type: info + label: About your PassKey + default: "You can find the API PassKey by accessing your Torr9 Profile page and scrolling down to the Passkey Tracker section." + - name: multilang + type: checkbox + label: Replace MULTi by another language in release name + default: false + - name: multilanguage + type: select + label: Replace MULTi by this language + default: FRENCH + options: + FRENCH: FRENCH + MULTi.FRENCH: MULTi.FRENCH + ENGLISH: ENGLISH + MULTi.ENGLISH: MULTi.ENGLISH + VOSTFR: VOSTFR + MULTi.VOSTFR: MULTi.VOSTFR + - name: vostfr + type: checkbox + label: Replace VOSTFR and SUBFRENCH with ENGLISH + default: false + - name: info_3x + type: info + label: Including 3X + default: "IF you want to see 3x torrents access your Torr9 Profile page and enabling the Contenu adulte option." + +login: + # returns "401 Unauthorized, check your credentials" if passkey is invalid + path: "https://api.torr9.xyz/api/v1/torznab?apikey={{ .Config.passkey }}&t=caps" + method: get + +search: + paths: + - path: https://api.torr9.xyz/api/v1/torznab + response: + type: xml + + inputs: + apikey: "{{ .Config.passkey }}" + t: "{{ if .Query.IMDBID }}movie{{ else }}{{ end }}{{ if .Query.TVDBID }}tvsearch{{ else }}{{ end }}{{ if or .Query.TVDBID .Query.IMDBID }}{{ else }}search{{ end }}" + q: "{{ .Keywords }}" + cat: "{{ join .Categories \",\" }}" +# season: "{{ .Query.Season }}" +# ep: "{{ .Query.Ep }}" + imdbid: "{{ .Query.IMDBID }}" + tvdbid: "{{ .Query.TVDBID }}" + limit: 100 + + keywordsfilters: + # replace spaces between words with percent wildcard + - name: re_replace + args: ["\\W+", "%"] + + rows: + selector: rss > channel > item + + fields: + category: + selector: '[name="category"]' + attribute: value + title_phase1: + selector: title + title_vostfr: + text: "{{ .Result.title_phase1 }}" + filters: + - name: re_replace + args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"] + title_phase2: + text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase1 }}{{ end }}" + title_multilang: + text: "{{ .Result.title_phase2 }}" + filters: + - name: re_replace + args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR|VF2|VFF|VFQ|VOQ|VFI|VOF)))\\b", "{{ .Config.multilanguage }}"] + title: + text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}" + details: + selector: comments + filters: + - name: replace + args: ["//api.", "//"] + download: + selector: link + infohash: + selector: '[name="infohash"]' + attribute: value + date: + # Thu, 15 Jan 2026 16:24:34 +0000 + selector: pubDate + filters: + - name: dateparse + args: "ddd, dd MMM yyyy HH:mm:ss zzz" + size: + selector: size + seeders: + selector: '[name="seeders"]' + attribute: value + leechers: + selector: '[name="peers"]' + attribute: value + downloadvolumefactor: + text: 1 + uploadvolumefactor: + text: 1 + minimumratio: + text: 1.0 +# torznab xml diff --git a/config/prowlarr/Definitions/torrent-heaven.yml b/config/prowlarr/Definitions/torrent-heaven.yml index 1b3c850b..97ac333f 100644 --- a/config/prowlarr/Definitions/torrent-heaven.yml +++ b/config/prowlarr/Definitions/torrent-heaven.yml @@ -92,6 +92,12 @@ search: paths: # https://www.torrentheaven.org/browse.php?search=&cat=0&incldead=1 - path: browse.php + keywordsfilters: + # if searching for season packs switch S01 to seizoen 1 + - name: re_replace + args: ["(?i)(S0)(\\d{1,2})$", "seizoen $2"] + - name: re_replace + args: ["(?i)(S)(\\d{1,3})$", "seizoen $2"] inputs: $raw: "{{ range .Categories }}c{{.}}=1&{{end}}" search: "{{ .Keywords }}" diff --git a/config/prowlarr/Definitions/torrent9.yml b/config/prowlarr/Definitions/torrent9.yml index 0bb0b6e0..f7ef10fb 100644 --- a/config/prowlarr/Definitions/torrent9.yml +++ b/config/prowlarr/Definitions/torrent9.yml @@ -8,9 +8,8 @@ encoding: UTF-8 followredirect: true testlinktorrent: false links: - - https://www.torrent9.zone/ + - https://www5.torrent9.to/ legacylinks: - - https://www.torrent09.uno/ - https://www.torrent9.pl/ # this is a proxy for torrent9clone - https://torrent9.black-mirror.xyz/ # this is a proxy for torrent9clone - https://torrent9.unblocked.casa/ # this is a proxy for torrent9clone @@ -31,8 +30,10 @@ legacylinks: - https://www.torrent9.se/ - https://torrent9.unblockninja.com/ # 403 forbidden - https://ww1.torrent9.fm/ + - https://www.torrent9.zone/ # clone? details links are broken - https://torrent9.to/ - https://www5.torrent9.to/ + - https://ww2.torrent9.to/ caps: # dont forget to update the search fields category case block diff --git a/config/prowlarr/Definitions/torrentdownloads.yml b/config/prowlarr/Definitions/torrentdownloads.yml index eb7cbf97..ab73fe27 100644 --- a/config/prowlarr/Definitions/torrentdownloads.yml +++ b/config/prowlarr/Definitions/torrentdownloads.yml @@ -68,7 +68,7 @@ download: search: paths: - - path: "{{ if .Keywords }}/search/{{ else }}/today/{{ end }}" + - path: "{{ if .Keywords }}/search/{{ else }}/yesterday/{{ end }}" followredirect: true inputs: $raw: "{{ range .Categories }}s_cat={{.}}&{{end}}" diff --git a/config/prowlarr/Definitions/torrenteros-api.yml b/config/prowlarr/Definitions/torrenteros-api.yml index e455e987..c063edaa 100644 --- a/config/prowlarr/Definitions/torrenteros-api.yml +++ b/config/prowlarr/Definitions/torrenteros-api.yml @@ -110,8 +110,6 @@ search: selector: details_link download: selector: download_link - infohash: - selector: info_hash poster: selector: meta.poster filters: @@ -186,4 +184,4 @@ search: minimumseedtime: # 3 days (as seconds = 3 x 24 x 60 x 60) text: 259200 -# json UNIT3D 8.3.2 (custom) +# json UNIT3D 9.2.0 (custom) diff --git a/config/prowlarr/Definitions/torrenting.yml b/config/prowlarr/Definitions/torrenting.yml index 510c1717..957141f7 100644 --- a/config/prowlarr/Definitions/torrenting.yml +++ b/config/prowlarr/Definitions/torrenting.yml @@ -56,7 +56,7 @@ settings: default: "All members are required to log into their account at least every 89 days or you will be deleted without warning." login: - # using cookie method because login page has embedded Clouflare turnstile + # using cookie method because login page has embedded Cloudflare turnstile method: cookie inputs: cookie: "{{ .Config.cookie }}" diff --git a/config/prowlarr/Definitions/torrentleech.yml b/config/prowlarr/Definitions/torrentleech.yml index a9b32bf6..673227e4 100644 --- a/config/prowlarr/Definitions/torrentleech.yml +++ b/config/prowlarr/Definitions/torrentleech.yml @@ -12,6 +12,7 @@ links: - https://www.torrentleech.me/ - https://www.tleechreload.org/ - https://www.tlgetin.cc/ + - https://rss.torrentleech.cc/ legacylinks: - https://v4.torrentleech.org/ diff --git a/config/prowlarr/Definitions/torrentqq.yml b/config/prowlarr/Definitions/torrentqq.yml index 8df75d98..18c4e3eb 100644 --- a/config/prowlarr/Definitions/torrentqq.yml +++ b/config/prowlarr/Definitions/torrentqq.yml @@ -7,39 +7,39 @@ type: public encoding: UTF-8 followredirect: true links: - - https://torrentqq397.com/ - - https://torrentegg85.com/ + - https://torrentqq408.com/ + - https://torrentegg87.com/ legacylinks: - - https://torrentegg70.com/ - - https://torrentegg71.com/ - - https://torrentqq382.com/ - https://torrentegg72.com/ - https://torrentegg73.com/ - - https://torrentqq383.com/ - - https://torrentqq384.com/ - https://torrentegg74.com/ - - https://torrentqq385.com/ - https://torrentegg75.com/ - - https://torrentqq386.com/ - https://torrentegg76.com/ - - https://torrentqq387.com/ - https://torrentegg77.com/ - - https://torrentqq388.com/ - https://torrentegg78.com/ - - https://torrentqq389.com/ - https://torrentegg79.com/ - - https://torrentqq390.com/ - https://torrentegg80.com/ - - https://torrentqq391.com/ - https://torrentegg81.com/ - - https://torrentqq392.com/ - https://torrentegg82.com/ + - https://torrentegg83.com/ + - https://torrentegg84.com/ + - https://torrentegg85.com/ + - https://torrentegg86.com/ + - https://torrentqq397.com/ - https://torrentqq393.com/ - https://torrentqq394.com/ - https://torrentqq395.com/ - - https://torrentegg83.com/ - https://torrentqq396.com/ - - https://torrentegg84.com/ + - https://torrentqq398.com/ + - https://torrentqq399.com/ + - https://torrentqq400.com/ + - https://torrentqq401.com/ + - https://torrentqq402.com/ + - https://torrentqq403.com/ + - https://torrentqq404.com/ + - https://torrentqq405.com/ + - https://torrentqq406.com/ + - https://torrentqq407.com/ caps: categorymappings: diff --git a/config/prowlarr/Definitions/torrentsome.yml b/config/prowlarr/Definitions/torrentsome.yml index 9b89af98..02a2a1c7 100644 --- a/config/prowlarr/Definitions/torrentsome.yml +++ b/config/prowlarr/Definitions/torrentsome.yml @@ -9,23 +9,23 @@ followredirect: true requestDelay: 2 # to fetch current domain use https://tzip.top/ links: - - https://torrentsome224.com/ + - https://torrentsome236.com/ legacylinks: - - https://torrentsome209.com/ - - https://torrentsome210.com/ - - https://torrentsome211.com/ - - https://torrentsome212.com/ - - https://torrentsome213.com/ - - https://torrentsome214.com/ - - https://torrentsome215.com/ - - https://torrentsome216.com/ - - https://torrentsome217.com/ - - https://torrentsome218.com/ - - https://torrentsome219.com/ - - https://torrentsome220.com/ - https://torrentsome221.com/ - https://torrentsome222.com/ - https://torrentsome223.com/ + - https://torrentsome224.com/ + - https://torrentsome225.com/ + - https://torrentsome226.com/ + - https://torrentsome227.com/ + - https://torrentsome228.com/ + - https://torrentsome229.com/ + - https://torrentsome230.com/ + - https://torrentsome231.com/ + - https://torrentsome232.com/ + - https://torrentsome233.com/ + - https://torrentsome234.com/ + - https://torrentsome235.com/ caps: categorymappings: diff --git a/config/prowlarr/Definitions/torrenttip.yml b/config/prowlarr/Definitions/torrenttip.yml index 348d5398..8e250d97 100644 --- a/config/prowlarr/Definitions/torrenttip.yml +++ b/config/prowlarr/Definitions/torrenttip.yml @@ -9,23 +9,23 @@ followredirect: true requestDelay: 2 # to fetch current domain use https://tzip.top/ links: - - https://torrenttip205.top/ + - https://torrenttip217.top/ legacylinks: - - https://torrenttip190.top/ - - https://torrenttip191.top/ - - https://torrenttip192.top/ - - https://torrenttip193.top/ - - https://torrenttip194.top/ - - https://torrenttip195.top/ - - https://torrenttip196.top/ - - https://torrenttip197.top/ - - https://torrenttip198.top/ - - https://torrenttip199.top/ - - https://torrenttip200.top/ - - https://torrenttip201.top/ - https://torrenttip202.top/ - https://torrenttip203.top/ - https://torrenttip204.top/ + - https://torrenttip205.top/ + - https://torrenttip206.top/ + - https://torrenttip207.top/ + - https://torrenttip208.top/ + - https://torrenttip209.top/ + - https://torrenttip210.top/ + - https://torrenttip211.top/ + - https://torrenttip212.top/ + - https://torrenttip213.top/ + - https://torrenttip214.top/ + - https://torrenttip215.top/ + - https://torrenttip216.top/ caps: categorymappings: diff --git a/config/prowlarr/Definitions/trackermk.yml b/config/prowlarr/Definitions/trackermk.yml index b5868bc1..24643f72 100644 --- a/config/prowlarr/Definitions/trackermk.yml +++ b/config/prowlarr/Definitions/trackermk.yml @@ -5,8 +5,12 @@ description: "TrackerMK is a MACEDONIAN Private Torrent Tracker for MOVIES / TV language: mk-MK type: private encoding: UTF-8 +certificates: + - d37b3811042d0868c032a097857b1a98ad583c31 # Expired 30 Dec 2025 links: - - http://trackermk.com/ # does not support https, CA expired December 2017 + - https://trackermk.com/ +legacylinks: + - http://trackermk.com/ # forces https despite invalid CA caps: categorymappings: diff --git a/config/prowlarr/Definitions/trackerzero.yml b/config/prowlarr/Definitions/trackerzero.yml new file mode 100644 index 00000000..c988b82c --- /dev/null +++ b/config/prowlarr/Definitions/trackerzero.yml @@ -0,0 +1,147 @@ +--- +id: trackerzero +name: TrackerZero +description: "TrackerZero is an ITALIAN Private PAY2DL Torrent Tracker for MOVIES / TV / MUSIC / SOFTWARE" +language: it-IT +type: private +encoding: UTF-8 +links: + - https://trackerzero.it/ +caps: + # https://trackerzero.it/docs#/torrents/list_categories_api_torrents_categories_get + categorymappings: + - {id: 4, cat: Movies/UHD, desc: "4k"} + - {id: 5, cat: Movies/SD, desc: "DvdRiP"} + - {id: 6, cat: Movies/SD, desc: "News_Cinema"} + - {id: 7, cat: Movies/HD, desc: "BluRay"} + - {id: 8, cat: Movies/DVD, desc: "DVD-R"} + - {id: 9, cat: TV/HD, desc: "SerieTV_Straniere"} + - {id: 10, cat: TV/HD, desc: "SerieTV_Italiane"} + - {id: 11, cat: TV/HD, desc: "DocuSerie"} + - {id: 12, cat: TV/Documentary, desc: "Documentari"} + - {id: 13, cat: Audio/MP3, desc: "MP3"} + - {id: 14, cat: Audio/Lossless, desc: "Flac"} + - {id: 15, cat: Audio/Video, desc: "VideoMusicai"} + - {id: 16, cat: Movies/Other, desc: "Spettacoli_E_Teatro"} + - {id: 17, cat: Movies/HD, desc: "Saghe"} + - {id: 18, cat: PC/Games, desc: "Giochi_PC"} + - {id: 19, cat: PC/Games, desc: "Giochi_Linux"} + - {id: 20, cat: Console/Other, desc: "Giochi_Mac"} + - {id: 21, cat: PC/0day, desc: "App_Windows"} + - {id: 22, cat: PC/0day, desc: "App_Linux"} + - {id: 23, cat: PC/Mac, desc: "App_Mac"} + - {id: 24, cat: TV/Anime, desc: "Cartoon"} + - {id: 25, cat: TV/Anime, desc: "Anime"} + - {id: 26, cat: Books/Mags, desc: "Quotidiani_Periodici"} + - {id: 27, cat: Books/EBook, desc: "Libri"} + - {id: 28, cat: Audio/Audiobook, desc: "Audiolibri"} + - {id: 29, cat: Other, desc: "VideoCorsi_E_Guide"} + - {id: 30, cat: TV/Other, desc: "Programmi tv"} + modes: + search: [q] + tv-search: [q, season, ep] + movie-search: [q] + music-search: [q] + book-search: [q] + +settings: + - name: apikey + type: text + label: API key + - name: info_apikey + type: info + label: About your API key + default: "
  1. Login to this tracker with your browser
  2. Open the DevTools panel by pressing F12
  3. Select the Network tab
  4. Click on the Fetch/XHR button (Chrome Browser) or XHR button (FireFox)
  5. Perform any search on the web site
  6. Click on the first torrents?limit=30&page=1&sort_by=created_at&sort_dir=desc entry
  7. Select the Headers tab on the Right panel
  8. Find 'cookie:' in the Request Headers section
  9. Select and Copy the API key from the Authorization string (everything after 'Authorization: Bearer ') and Paste here.
" + - name: passkey + type: text + label: Passkey + - name: info_passkey + type: info + label: About your Passkey + default: "Find your Passkey by accessing your TrackerZero Profile page and scrolling down to the Passkey section." + - name: sort + type: select + label: Sort requested from site + default: created_at + options: + created_at: created + seeders: seeders + size: size + name: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + +login: + path: api/torrents/latest + method: get + +search: + # docs: https://trackerzero.it/docs + paths: + # https://trackerzero.it/api/torrents?limit=100&page=1&q=pacific&sort_by=created_at&sort_dir=desc + - path: api/torrents + response: + type: json + + headers: + Authorization: ["Bearer {{ .Config.apikey }}"] + + inputs: + limit: 100 + page: 1 + q: "{{ .Keywords }}" + sort_by: "{{ .Config.sort }}" + sort_dir: "{{ .Config.type }}" + # category searching not supported, using it causes 500 internal server error + + keywordsfilters: + - name: diacritics + args: replace + + rows: + selector: items + + fields: + category: + selector: category.id + title: + selector: name + _id: + selector: id + details: + text: "{{ .Config.sitelink }}torrent/{{ .Result._id }}" + download: + text: "{{ .Config.sitelink }}api/torrents/{{ .Result._id }}/download-rss?passkey={{ .Config.passkey }}" + poster: + selector: poster + date: + # "created_at": "2026-02-20T18:17:51.514900+00:00" is returned by Newtonsoft.Json.Linq as 02/20/2026 18:17:51 + selector: created_at + filters: + - name: append + args: " +00:00" # GMT + - name: dateparse + args: "MM/dd/yyyy HH:mm:ss zzz" + size: + selector: size + seeders: + selector: seeders + leechers: + selector: leechers + grabs: + selector: completed + downloadvolumefactor: + text: 1 + uploadvolumefactor: + text: 1 + minimumratio: + text: 1.0 + minimumseedtime: + # 1 day (as seconds = 24 x 60 x 60) + text: 86400 +# json api diff --git a/config/prowlarr/Definitions/traht.yml b/config/prowlarr/Definitions/traht.yml index 3871f966..55bb49d3 100644 --- a/config/prowlarr/Definitions/traht.yml +++ b/config/prowlarr/Definitions/traht.yml @@ -1,9 +1,9 @@ --- id: traht name: TrahT -description: "TrahT is a RUSSIAN Public Torrent Tracker for 3X" +description: "TrahT is a RUSSIAN Semi-Private Torrent Tracker for 3X" language: ru-RU -type: public +type: semi-private encoding: windows-1251 links: - https://traht.org/ @@ -18,9 +18,28 @@ caps: search: [q] settings: + - name: username + type: text + label: Username + - name: password + type: password + label: Password - name: info_flaresolverr type: info_flaresolverr +login: + path: takelogin.php + method: post + inputs: + username: "{{ .Config.username }}" + password: "{{ .Config.password }}" + error: + - selector: td.embedded:has(div.error) + - selector: title:contains("403") + test: + path: / + selector: a[href*="logout.php"] + search: paths: # http://traht.org/browse.php?search=&cat=0&year=0&format=0 diff --git a/config/prowlarr/Definitions/trezzor.yml b/config/prowlarr/Definitions/trezzor.yml index adb39497..066d99e1 100644 --- a/config/prowlarr/Definitions/trezzor.yml +++ b/config/prowlarr/Definitions/trezzor.yml @@ -32,6 +32,7 @@ caps: - {id: 16, cat: Other, desc: "Foto,obrázky"} - {id: 21, cat: PC/Mobile-Android, desc: "Mobilmánia"} - {id: 20, cat: Console, desc: "Konzole"} + - {id: 43, cat: Other, desc: "Online tvorba"} - {id: 22, cat: Other, desc: "OstatnĂ­ CZ/SK scĂ©na"} - {id: 23, cat: Other, desc: "Na prani non CZ/SK"} diff --git a/config/prowlarr/Definitions/trezzorcookie.yml b/config/prowlarr/Definitions/trezzorcookie.yml index c75c1d09..79f7e60b 100644 --- a/config/prowlarr/Definitions/trezzorcookie.yml +++ b/config/prowlarr/Definitions/trezzorcookie.yml @@ -32,6 +32,7 @@ caps: - {id: 16, cat: Other, desc: "Foto,obrázky"} - {id: 21, cat: PC/Mobile-Android, desc: "Mobilmánia"} - {id: 20, cat: Console, desc: "Konzole"} + - {id: 43, cat: Other, desc: "Online tvorba"} - {id: 22, cat: Other, desc: "OstatnĂ­ CZ/SK scĂ©na"} - {id: 23, cat: Other, desc: "Na prani non CZ/SK"} diff --git a/config/prowlarr/Definitions/tvchaosuk.yml b/config/prowlarr/Definitions/tvchaosuk.yml index 3c9b62c4..d752033e 100644 --- a/config/prowlarr/Definitions/tvchaosuk.yml +++ b/config/prowlarr/Definitions/tvchaosuk.yml @@ -11,14 +11,15 @@ links: caps: categorymappings: - {id: 29, cat: TV, desc: "Comedy"} + - {id: 45, cat: TV, desc: "Current Affairs"} - {id: 5, cat: TV/Documentary, desc: "Documentary"} - {id: 11, cat: TV, desc: "Drama"} - {id: 14, cat: TV, desc: "Entertainment"} - {id: 19, cat: TV, desc: "Factual"} - {id: 43, cat: TV, desc: "Foreign"} - - {id: 32, cat: TV, desc: "Kids/Family"} + - {id: 32, cat: TV, desc: "Kids & Family"} - {id: 44, cat: Movies, desc: "Movies"} - - {id: 45, cat: TV, desc: "News & Current Affairs"} + - {id: 54, cat: TV, desc: "News"} - {id: 51, cat: Audio, desc: "Radio"} - {id: 52, cat: TV, desc: "Reality"} - {id: 30, cat: TV, desc: "Soaps"} diff --git a/config/prowlarr/Definitions/u2.yml b/config/prowlarr/Definitions/u2.yml index 26a42334..9a6eea61 100644 --- a/config/prowlarr/Definitions/u2.yml +++ b/config/prowlarr/Definitions/u2.yml @@ -148,12 +148,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/ubits.yml b/config/prowlarr/Definitions/ubits.yml index a4a480ec..5d29ca1d 100644 --- a/config/prowlarr/Definitions/ubits.yml +++ b/config/prowlarr/Definitions/ubits.yml @@ -75,6 +75,10 @@ login: path: login.php method: form form: form[action="takelogin.php"] + captcha: + type: image + selector: img[alt="CAPTCHA"] + input: imagestring inputs: secret: "" username: "{{ .Config.username }}" @@ -162,12 +166,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/ultrahd.yml b/config/prowlarr/Definitions/ultrahd.yml index b0e0050d..e6e093fc 100644 --- a/config/prowlarr/Definitions/ultrahd.yml +++ b/config/prowlarr/Definitions/ultrahd.yml @@ -140,12 +140,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/upscalevault.yml b/config/prowlarr/Definitions/upscalevault.yml index a67f38eb..6d48f40c 100644 --- a/config/prowlarr/Definitions/upscalevault.yml +++ b/config/prowlarr/Definitions/upscalevault.yml @@ -77,8 +77,8 @@ search: # if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6 $raw: "{{ range .Categories }}&categories[]={{.}}{{end}}" name: "{{ .Keywords }}" - seasonNumber: "{{ .Query.Season }}" - episodeNumber: "{{ .Query.Ep }}" + # seasonNumber: "{{ .Query.Season }}" # not supported + # episodeNumber: "{{ .Query.Ep }}" # not supported imdbId: "{{ .Query.IMDBIDShort }}" tmdbId: "{{ .Query.TMDBID }}" tvdbId: "{{ .Query.TVDBID }}" @@ -134,8 +134,8 @@ search: _internal: selector: internal case: - False: "{{ .False }}" - True: "{{ .True }}" + 0: "{{ .False }}" + 1: "{{ .True }}" description: text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}" seeders: @@ -185,4 +185,4 @@ search: minimumseedtime: # 14 day (as seconds = 14 x 24 x 60 x 60) text: 1209600 -# json UNIT3D 8.1.3 +# json UNIT3D 8.1.3 (custom) diff --git a/config/prowlarr/Definitions/uztracker.yml b/config/prowlarr/Definitions/uztracker.yml index b28b8f37..bea29794 100644 --- a/config/prowlarr/Definitions/uztracker.yml +++ b/config/prowlarr/Definitions/uztracker.yml @@ -11,21 +11,23 @@ links: caps: categorymappings: # Кинофильмы # Movies - - {id: 3, cat: Movies, desc: "ЗарŃбежные кинофильмы"} - - {id: 13, cat: Movies, desc: " |- Новинки 2025"} - - {id: 12, cat: Movies, desc: " |- Фильмы 2021-2024"} - - {id: 11, cat: Movies, desc: " |- Фильмы 2011-2020 годов"} - - {id: 10, cat: Movies, desc: " |- ЗарŃбежные фильмы Đ´Đľ 2011 года"} - - {id: 215, cat: Movies, desc: " |- КлаŃŃика мирового кинематографа"} - - {id: 5, cat: Movies, desc: " |- Фильмы (HDvideo)"} - - {id: 189, cat: Movies, desc: " |- Фильмы в 4K и 3D"} - - {id: 8, cat: Movies, desc: " |- Фильмологии"} - - {id: 242, cat: Movies, desc: " |- ĐндийŃкое кино"} - - {id: 7, cat: Movies, desc: " |- DVDScr, TS, CAMRip и Ń‚.Đż."} - - {id: 6, cat: Movies, desc: " |- HD-AVC"} - - {id: 33, cat: Movies, desc: " |- Перевод на ŃзбекŃкий"} + - {id: 3, cat: Movies/Foreign, desc: "ЗарŃбежные кинофильмы"} + - {id: 13, cat: Movies/Foreign, desc: " |- Новинки 2026"} + - {id: 12, cat: Movies/Foreign, desc: " |- Фильмы 2021-2025 годов"} + - {id: 11, cat: Movies/Foreign, desc: " |- Фильмы 2011-2020 годов"} + - {id: 10, cat: Movies/Foreign, desc: " |- ЗарŃбежные фильмы Đ´Đľ 2011 года"} + - {id: 215, cat: Movies/Foreign, desc: " |- КлаŃŃика мирового кинематографа"} + - {id: 5, cat: Movies/Foreign, desc: " |- Фильмы (HDvideo)"} + - {id: 189, cat: Movies/Foreign, desc: " |- Фильмы в 4K и 3D"} + - {id: 349, cat: Movies/Foreign, desc: " |- Кинофильмы (48-120 FPS)"} + - {id: 8, cat: Movies/Foreign, desc: " |- Фильмологии"} + - {id: 242, cat: Movies/Foreign, desc: " |- ĐндийŃкое кино"} + - {id: 7, cat: Movies/Foreign, desc: " |- DVDScr, TS, CAMRip и Ń‚.Đż."} + - {id: 6, cat: Movies/Foreign, desc: " |- HD-AVC"} + - {id: 33, cat: Movies/Foreign, desc: " |- Перевод на ŃзбекŃкий"} - {id: 14, cat: Movies, desc: "Đ ĐľŃŃийŃкие кинофильмы"} - - {id: 24, cat: Movies, desc: " |- Новинки 2025"} + - {id: 344, cat: Movies, desc: " |- Новинки 2026"} + - {id: 24, cat: Movies, desc: " |- Фильмы 2025"} - {id: 223, cat: Movies, desc: " |- Кино СССР"} - {id: 16, cat: Movies, desc: " |- Фильмы (HDvideo)"} - {id: 190, cat: Movies, desc: " |- Фильмы в 4K и 3D"} @@ -34,23 +36,36 @@ caps: - {id: 32, cat: Movies, desc: " |- Пр-во Узбекфильм (на Ń€ŃŃŃком)"} - {id: 30, cat: Movies, desc: " |- Пр-во Узбекфильм (на ŃзбекŃком языке)"} # Сериалы, Видео и ТВ # Series, Videos and TV + - {id: 410, cat: TV/Foreign, desc: "ЗарŃбежные Ńериалы"} + - {id: 412, cat: TV/Foreign, desc: " |- ЗарŃбежные Ńериалы (HD)"} + - {id: 427, cat: TV/Foreign, desc: " |- ЗарŃбежные Ńериалы (FullHD)"} + - {id: 411, cat: TV/Foreign, desc: " |- ЗарŃбежные Ńериалы (UHD)"} + - {id: 418, cat: TV, desc: "Đ ĐľŃŃийŃкие Ńериалы"} + - {id: 419, cat: TV, desc: " |- Đ ĐľŃŃийŃкие Ńериалы (HD)"} + - {id: 428, cat: TV, desc: " |- Đ ĐľŃŃийŃкие Ńериалы (FullHD)"} + - {id: 420, cat: TV, desc: " |- Đ ĐľŃŃийŃкие Ńериалы (UHD)"} + - {id: 421, cat: TV/Foreign, desc: "ĐзиатŃкие Ńериалы"} + - {id: 423, cat: TV/Foreign, desc: " |- ĐзиатŃкие Ńериалы (HD)"} + - {id: 429, cat: TV/Foreign, desc: " |- ĐзиатŃкие Ńериалы (FullHD)"} + - {id: 422, cat: TV/Foreign, desc: " |- ĐзиатŃкие Ńериалы (UHD)"} - {id: 97, cat: TV, desc: "Сериалы"} - {id: 333, cat: TV, desc: " |- Đгра преŃтолов / Game of Thrones"} - {id: 313, cat: TV, desc: " |- Секретные материалы \ The X-Files"} - - {id: 103, cat: TV, desc: " |- ЗарŃбежные Ńериалы"} - {id: 102, cat: TV, desc: " |- Đ ĐľŃŃийŃкие Ńериалы"} - - {id: 101, cat: TV, desc: " |- ĐзиатŃкие Ńериалы"} - {id: 100, cat: TV, desc: " |- ТŃрецкие Ńериалы"} - {id: 99, cat: TV, desc: " |- УзбекŃкие Ńериалы"} - {id: 98, cat: TV, desc: " |- ĐśŃльтŃериалы"} # ĐśŃльтфильмы # Cartoons - - {id: 36, cat: TV, desc: "ЗарŃбежные ĐĽŃльтфильмы"} - - {id: 48, cat: TV, desc: " |- Новинки 2025"} - - {id: 46, cat: TV, desc: " |- Полнометражные ĐĽŃльтфильмы"} - - {id: 45, cat: TV, desc: " |- Короткометражные ĐĽŃльтфильмы"} - - {id: 41, cat: TV, desc: " |- ĐноŃтранные ĐĽŃльтфильмы (HD Video)"} - - {id: 188, cat: TV, desc: " |- ĐśŃльтфильмы 4K, 3D"} - - {id: 39, cat: TV, desc: " |- Перевод на ŃзбекŃкий"} + - {id: 36, cat: TV/Foreign, desc: "ЗарŃбежные ĐĽŃльтфильмы"} + - {id: 48, cat: TV/Foreign, desc: " |- Новинки 2026"} + - {id: 61, cat: TV/Foreign, desc: " |- ĐśŃльтфильмы 2011-2025 годов"} + - {id: 60, cat: TV/Foreign, desc: " |- ĐśŃльтфильмы 2000-2010 годов"} + - {id: 59, cat: TV/Foreign, desc: " |- ĐśŃльтфильмы Đ´Đľ 2000 года"} + - {id: 46, cat: TV/Foreign, desc: " |- Полнометражные ĐĽŃльтфильмы"} + - {id: 45, cat: TV/Foreign, desc: " |- Короткометражные ĐĽŃльтфильмы"} + - {id: 41, cat: TV/Foreign, desc: " |- ĐноŃтранные ĐĽŃльтфильмы (HD Video)"} + - {id: 188, cat: TV/Foreign, desc: " |- ĐśŃльтфильмы 4K, 3D"} + - {id: 39, cat: TV/Foreign, desc: " |- Перевод на ŃзбекŃкий"} - {id: 37, cat: TV, desc: "Đ ĐľŃŃийŃкие ĐĽŃльтфильмы"} - {id: 58, cat: TV, desc: " |- Новинки 2025"} - {id: 56, cat: TV, desc: " |- Полнометражные ĐĽŃльтфильмы"} @@ -58,98 +73,102 @@ caps: - {id: 51, cat: TV, desc: " |- ĐśŃльтфильмы (HDvideo)"} - {id: 187, cat: TV, desc: " |- ĐśŃльтфильмы 4K, 3D"} - {id: 49, cat: TV, desc: " |- Перевод на ŃзбекŃкий"} - - {id: 38, cat: TV, desc: "УзбекŃкие ĐĽŃльтфильмы"} - - {id: 63, cat: TV, desc: " |- Новинки"} - - {id: 61, cat: TV, desc: " |- ĐśŃльтфильмы 2011-2024 годов"} - - {id: 60, cat: TV, desc: " |- ĐśŃльтфильмы 2000-2010 годов"} - - {id: 59, cat: TV, desc: " |- ĐśŃльтфильмы Đ´Đľ 2000 года"} + - {id: 403, cat: TV, desc: " |- УзбекŃкие ĐĽŃльтфильмы"} + # Đниме # Anime + - {id: 345, cat: TV/Anime, desc: "Сериалы"} + - {id: 346, cat: TV/Anime, desc: " |- Новинки (Онгоинги)"} + - {id: 347, cat: TV/Anime, desc: " |- Đниме Сериалы"} + - {id: 348, cat: TV/Anime, desc: " |- Đниме Сериалы (HD)"} + - {id: 365, cat: TV/Anime, desc: " |- OVA"} + - {id: 361, cat: Movies/Other, desc: "Фильмы"} + - {id: 366, cat: Movies/Other, desc: " |- Новинки"} + - {id: 364, cat: Movies/Other, desc: " |- Đниме Фильмы (HD)"} + - {id: 362, cat: Movies/Other, desc: " |- OVA"} # ĐśŃзыка # Music - - {id: 225, cat: Audio, desc: "♫ Đ ĐľŃŃийŃкие иŃполнители ♫ (Mp3)♫"} - - {id: 228, cat: Audio, desc: " |- Поп ĐĽŃзыка Đ ĐľŃŃии и Ńтран бывŃего СССР"} - - {id: 229, cat: Audio, desc: " |- Đ ŃŃŃкие поп Ńборники"} - - {id: 226, cat: Audio, desc: " |- Đ ŃŃŃкий ŃанŃон и авторŃкая пеŃня"} - - {id: 308, cat: Audio, desc: " |- Военная пеŃня"} - - {id: 227, cat: Audio, desc: " |- Сборники Đ ŃŃŃкого ŃанŃона"} - - {id: 230, cat: Audio, desc: " |- Đ ŃŃŃкий Rap, Hip-Hop"} - - {id: 122, cat: Audio, desc: "♫ ЗарŃбежная ĐĽŃзыка в формате ♫ (Mp3)♫"} - - {id: 315, cat: Audio, desc: " |- ЗарŃбежные Сборники DISCO, ITALO-DISCO"} - - {id: 239, cat: Audio, desc: " |- ЗарŃбежная поп ĐĽŃзыка (альбомы, диŃкографии)"} - - {id: 128, cat: Audio, desc: " |- ЗарŃбежные Ńборники поп ĐĽŃзыки"} - - {id: 244, cat: Audio, desc: " |- ЗарŃбежный Chanson"} - - {id: 131, cat: Audio, desc: " |- Джаз и блюз"} - - {id: 245, cat: Audio, desc: " |- ĐĐ˝ŃтрŃментальная ĐĽŃзыка"} - - {id: 129, cat: Audio, desc: " |- Đ ŃŤĐż, Хип-Хоп, R'n'B"} - - {id: 126, cat: Audio, desc: " |- Reggae, Ska, Dub"} - - {id: 132, cat: Audio, desc: " |- КлаŃŃичеŃкая ĐĽŃзыа"} - - {id: 125, cat: Audio, desc: " |- New Age, Relax, Meditative & Flamenco"} - - {id: 124, cat: Audio, desc: " |- Фольклор, Народная и ЭтничеŃкая ĐĽŃзыка"} - - {id: 338, cat: Audio, desc: " |- Country"} - - {id: 231, cat: Audio, desc: " |- Сборники и альбомы выходивŃие неофициальными изданиями."} - - {id: 144, cat: Audio, desc: "♫ ROCK & METAL ♫"} - - {id: 201, cat: Audio, desc: " |- Đ ŃŃŃкий Rock, Metal (mp3)"} - - {id: 202, cat: Audio, desc: " |- Сборники Đ ŃŃŃкого рока (mp3)"} - - {id: 323, cat: Audio, desc: " |- Đ ŃŃŃкий Rock, Metal (Lossless)"} - - {id: 214, cat: Audio, desc: " |- Soft & Pop-Rock"} - - {id: 334, cat: Audio, desc: " |- Progressive & Art-Rock"} - - {id: 156, cat: Audio, desc: " |- Progressive, Art, Classic & Hard Rock"} - - {id: 213, cat: Audio, desc: " |- Melodic & Folk Rock"} - - {id: 212, cat: Audio, desc: " |- Instrumental & Guitar Rock"} - - {id: 241, cat: Audio, desc: " |- Rock'n'Roll, Rockabilly, Psychobilly"} - - {id: 211, cat: Audio, desc: " |- Сборники зарŃбежного Рока"} - - {id: 243, cat: Audio, desc: " |- ЗарŃбежный Metal (альбомы)"} - - {id: 154, cat: Audio, desc: " |- ЗарŃбежный Metal (Ńборники)"} - - {id: 155, cat: Audio, desc: " |- Rock (lossless)"} - - {id: 146, cat: Audio, desc: " |- Metal (Lossless)"} - - {id: 216, cat: Audio, desc: "♫ Alternative, Punk, Industrial, Gothic ♫ (Mp3)♫"} - - {id: 219, cat: Audio, desc: " |- Alternative"} - - {id: 220, cat: Audio, desc: " |- Punk"} - - {id: 217, cat: Audio, desc: " |- Hardcore"} - - {id: 309, cat: Audio, desc: " |- Indie Rock, Indie Pop"} - - {id: 310, cat: Audio, desc: " |- Post-Rock, Post-Punk"} - - {id: 218, cat: Audio, desc: " |- Industrial"} - - {id: 311, cat: Audio, desc: " |- Metalcore, Post-hardcore"} - - {id: 221, cat: Audio, desc: " |- Gothic Rock"} - - {id: 292, cat: Audio, desc: "♫ Электронная ĐĽŃзыка ♫(Mp3)♫"} - - {id: 298, cat: Audio, desc: " |- Trance, Psy-Trance"} - - {id: 318, cat: Audio, desc: " |- Hardcore, Hardstyle, Jumpstyle"} - - {id: 296, cat: Audio, desc: " |- House"} - - {id: 297, cat: Audio, desc: " |- Techno"} - - {id: 299, cat: Audio, desc: " |- Drum & Bass"} - - {id: 301, cat: Audio, desc: " |- Synthpop"} - - {id: 302, cat: Audio, desc: " |- Downtempo, Chillout"} - - {id: 300, cat: Audio, desc: " |- EBM, Industrial"} - - {id: 303, cat: Audio, desc: " |- ĐžŃтальные жанры и направления"} - - {id: 234, cat: Audio, desc: "♫ HI-RES Audio ♫"} - - {id: 312, cat: Audio, desc: " |- ♫ Classics in processing (Hi-Res)"} - - {id: 235, cat: Audio, desc: " |- ♫ Поп-ĐĽŃзыка Hi-Res"} - - {id: 238, cat: Audio, desc: " |- ♫ Электронная ĐĽŃзыка Hi-Res"} - - {id: 237, cat: Audio, desc: " |- ♫ Рок-ĐĽŃзыка Hi-Res"} - - {id: 236, cat: Audio, desc: " |- ♫ Джаз и Блюз Hi-Res"} + - {id: 225, cat: Audio/MP3, desc: "♫ Đ ĐľŃŃийŃкие иŃполнители ♫ (Mp3)♫"} + - {id: 228, cat: Audio/MP3, desc: " |- Поп ĐĽŃзыка Đ ĐľŃŃии и Ńтран бывŃего СССР"} + - {id: 229, cat: Audio/MP3, desc: " |- Đ ŃŃŃкие поп Ńборники"} + - {id: 226, cat: Audio/MP3, desc: " |- Đ ŃŃŃкий ŃанŃон и авторŃкая пеŃня"} + - {id: 308, cat: Audio/MP3, desc: " |- Военная пеŃня"} + - {id: 227, cat: Audio/MP3, desc: " |- Сборники Đ ŃŃŃкого ŃанŃона"} + - {id: 230, cat: Audio/MP3, desc: " |- Đ ŃŃŃкий Rap, Hip-Hop"} + - {id: 343, cat: Audio/MP3, desc: " |- 🎵 МУЗЫКРĐРи НЕЙРОСЕТЕЙ (MP3, FLAC)"} + - {id: 122, cat: Audio/MP3, desc: "♫ ЗарŃбежная ĐĽŃзыка (Mp3)"} + - {id: 315, cat: Audio/MP3, desc: " |- ЗарŃбежные Сборники DISCO, ITALO-DISCO"} + - {id: 239, cat: Audio/MP3, desc: " |- ЗарŃбежная поп ĐĽŃзыка (альбомы, диŃкографии)"} + - {id: 128, cat: Audio/MP3, desc: " |- ЗарŃбежные Ńборники поп ĐĽŃзыки"} + - {id: 244, cat: Audio/MP3, desc: " |- ЗарŃбежный Chanson"} + - {id: 131, cat: Audio/MP3, desc: " |- Джаз и блюз"} + - {id: 245, cat: Audio/MP3, desc: " |- ĐĐ˝ŃтрŃментальная ĐĽŃзыка"} + - {id: 129, cat: Audio/MP3, desc: " |- Đ ŃŤĐż, Хип-Хоп, R'n'B"} + - {id: 126, cat: Audio/MP3, desc: " |- Reggae, Ska, Dub"} + - {id: 132, cat: Audio/MP3, desc: " |- КлаŃŃичеŃкая ĐĽŃзыка"} + - {id: 125, cat: Audio/MP3, desc: " |- New Age, Relax, Meditative & Flamenco"} + - {id: 124, cat: Audio/MP3, desc: " |- Фольклор, Народная и ЭтничеŃкая ĐĽŃзыка"} + - {id: 338, cat: Audio/MP3, desc: " |- Country"} + - {id: 231, cat: Audio/MP3, desc: " |- 🎵 Сборники и альбомы выходивŃие неофициальными изданиями."} + - {id: 201, cat: Audio/MP3, desc: " |- Đ ŃŃŃкий Rock, Metal (mp3)"} + - {id: 202, cat: Audio/MP3, desc: " |- Сборники Đ ŃŃŃкого рока (mp3)"} + - {id: 214, cat: Audio/MP3, desc: " |- Soft & Pop-Rock"} + - {id: 334, cat: Audio/MP3, desc: " |- Progressive & Art-Rock"} + - {id: 156, cat: Audio/MP3, desc: " |- Classic & Hard Rock"} + - {id: 213, cat: Audio/MP3, desc: " |- Melodic & Folk Rock"} + - {id: 212, cat: Audio/MP3, desc: " |- Instrumental & Guitar Rock"} + - {id: 241, cat: Audio/MP3, desc: " |- Rock'n'Roll, Rockabilly, Psychobilly"} + - {id: 211, cat: Audio/MP3, desc: " |- Сборники зарŃбежного Рока"} + - {id: 394, cat: Audio/MP3, desc: " |- ЗарŃбежный Metal (альбомы, диŃкографии)"} + - {id: 154, cat: Audio/MP3, desc: " |- ЗарŃбежный Metal (Ńборники)"} + - {id: 216, cat: Audio/MP3, desc: "♫ Alternative, Punk, Industrial, Gothic ♫ (Mp3)♫"} + - {id: 219, cat: Audio/MP3, desc: " |- Alternative"} + - {id: 220, cat: Audio/MP3, desc: " |- Punk"} + - {id: 217, cat: Audio/MP3, desc: " |- Hardcore"} + - {id: 309, cat: Audio/MP3, desc: " |- Indie Rock, Indie Pop"} + - {id: 310, cat: Audio/MP3, desc: " |- Post-Rock, Post-Punk"} + - {id: 218, cat: Audio/MP3, desc: " |- Industrial"} + - {id: 311, cat: Audio/MP3, desc: " |- Metalcore, Post-hardcore"} + - {id: 221, cat: Audio/MP3, desc: " |- Gothic Rock"} + - {id: 292, cat: Audio/MP3, desc: "♫ Электронная ĐĽŃзыка ♫(Mp3)♫"} + - {id: 298, cat: Audio/MP3, desc: " |- Trance, Psy-Trance"} + - {id: 318, cat: Audio/MP3, desc: " |- Hardcore, Hardstyle, Jumpstyle"} + - {id: 296, cat: Audio/MP3, desc: " |- House"} + - {id: 297, cat: Audio/MP3, desc: " |- Techno"} + - {id: 299, cat: Audio/MP3, desc: " |- Drum & Bass, Breakbeat"} + - {id: 301, cat: Audio/MP3, desc: " |- Synthpop"} + - {id: 302, cat: Audio/MP3, desc: " |- Downtempo, Chillout"} + - {id: 300, cat: Audio/MP3, desc: " |- EBM, Industrial"} + - {id: 303, cat: Audio/MP3, desc: " |- ĐžŃтальные жанры и направления"} + - {id: 234, cat: Audio/Lossless, desc: "♫ HI-RES Audio ♫"} + - {id: 312, cat: Audio/Lossless, desc: " |- ♫ Classics in processing (Hi-Res)"} + - {id: 235, cat: Audio/Lossless, desc: " |- ♫ Поп-ĐĽŃзыка Hi-Res"} + - {id: 238, cat: Audio/Lossless, desc: " |- ♫ Электронная ĐĽŃзыка Hi-Res"} + - {id: 237, cat: Audio/Lossless, desc: " |- ♫ Рок-ĐĽŃзыка Hi-Res"} + - {id: 236, cat: Audio/Lossless, desc: " |- ♫ Джаз и Блюз Hi-Res"} - {id: 324, cat: Audio, desc: "Оцифровки Ń Đ°Đ˝Đ°Đ»ĐľĐłĐľĐ˛Ń‹Ń… ноŃителей"} - {id: 330, cat: Audio, desc: " |- ♫ ЗарŃбежная поп ĐĽŃзыка (оцифровки)"} - {id: 328, cat: Audio, desc: " |- ♫ СоветŃкая и Đ ĐľŃŃийŃкая ŃŤŃтрада (оцифровки)"} - {id: 331, cat: Audio, desc: " |- ♫ Đ ŃŃŃкий рок (оцифровки)"} - {id: 326, cat: Audio, desc: " |- ♫ Rock (оцифровки)"} - {id: 325, cat: Audio, desc: " |- ♫ Электронная ĐĽŃзыка (оцифрофки)"} - - {id: 133, cat: Audio, desc: "♫ ĐśŃзыка в формате ♫ (lossless)"} - - {id: 203, cat: Audio, desc: " |- ĐśŃзыка Đ ĐľŃŃии и Ńтран бывŃего СССР (lossless)"} - - {id: 139, cat: Audio, desc: " |- Поп ĐĽŃзыка, Eurodance, Disco (lossless)"} - - {id: 141, cat: Audio, desc: " |- Электронная ĐĽŃзыка (lossless)"} - - {id: 142, cat: Audio, desc: " |- Джаз и блюз (lossless)"} - - {id: 138, cat: Audio, desc: " |- ШанŃон и Военная пеŃня (lossless)"} - - {id: 134, cat: Audio, desc: " |- ДрŃгие направления (lossless)"} - - {id: 157, cat: Audio, desc: "ĐśŃзыкальные видеоклипы и концерты"} - - {id: 161, cat: Audio, desc: " |- Поп"} - - {id: 160, cat: Audio, desc: " |- Электронная ĐĽŃзыка"} - - {id: 159, cat: Audio, desc: " |- Đ ŃŤĐż, Хип-Хоп, R'n'B"} - - {id: 295, cat: Audio, desc: " |- Рок ĐĽŃзыка (Video)"} - - {id: 294, cat: Audio, desc: " |- ĐśŃзыкальные ŃĐľŃ"} - - {id: 158, cat: Audio, desc: " |- ДрŃгие направления"} + - {id: 133, cat: Audio/Lossless, desc: "♫ ĐśŃзыка в формате ♫ (lossless)"} + - {id: 203, cat: Audio/Lossless, desc: " |- ĐśŃзыка Đ ĐľŃŃии и Ńтран бывŃего СССР (lossless)"} + - {id: 139, cat: Audio/Lossless, desc: " |- Поп ĐĽŃзыка, Eurodance, Disco (lossless)"} + - {id: 339, cat: Audio/Lossless, desc: " |- Rock, Metal (Lossless)"} + - {id: 340, cat: Audio/Lossless, desc: " |- Đ ŃŃŃкий Rock, Metal (Lossless)"} + - {id: 141, cat: Audio/Lossless, desc: " |- Электронная ĐĽŃзыка (lossless)"} + - {id: 142, cat: Audio/Lossless, desc: " |- Джаз и блюз (lossless)"} + - {id: 138, cat: Audio/Lossless, desc: " |- ШанŃон и Военная пеŃня (lossless)"} + - {id: 157, cat: Audio/Video, desc: "ĐśŃзыкальные видеоклипы и концерты"} + - {id: 161, cat: Audio/Video, desc: " |- Поп"} + - {id: 160, cat: Audio/Video, desc: " |- Электронная ĐĽŃзыка"} + - {id: 159, cat: Audio/Video, desc: " |- Đ ŃŤĐż, Хип-Хоп, R'n'B"} + - {id: 295, cat: Audio/Video, desc: " |- Рок ĐĽŃзыка (Video)"} + - {id: 294, cat: Audio/Video, desc: " |- ĐśŃзыкальные ŃĐľŃ"} + - {id: 158, cat: Audio/Video, desc: " |- ДрŃгие направления"} # ЛитератŃра # Literature - {id: 166, cat: Books, desc: "Книги FB2"} - {id: 173, cat: Books, desc: " |- ĐĄŃдожеŃтвенная литератŃра"} - {id: 314, cat: Books, desc: " |- Учебно-техничеŃкая литератŃра"} - - {id: 167, cat: Books, desc: "ĐŃдиокниги"} + - {id: 167, cat: Audio/Audiobook, desc: "ĐŃдиокниги"} - {id: 335, cat: Audio/Audiobook, desc: " |- ♫ Đ ŃŃŃкая литератŃра ĐĄĐĄ-ĐĄĐĄI века"} - {id: 232, cat: Audio/Audiobook, desc: " |- ♫ Детективы, приключения, триллеры"} - {id: 337, cat: Audio/Audiobook, desc: " |- ♫ Детективы Дарьи Донцовой"} @@ -157,13 +176,24 @@ caps: - {id: 233, cat: Audio/Audiobook, desc: " |- ♫ Любовные романы"} - {id: 176, cat: Audio/Audiobook, desc: " |- ♫ МиŃтика, фантаŃтика, ŃжаŃŃ‹"} - {id: 175, cat: Audio/Audiobook, desc: " |- ♫ Любовно-фантаŃтичеŃкий роман"} - - {id: 174, cat: Audio, desc: " |- ĐŃдиокниги на Đ´Ń€Ńгих языках (Audio)"} - - {id: 319, cat: Books, desc: " |- ĐŃдиокниги для детей"} + - {id: 174, cat: Audio/Audiobook, desc: " |- ĐŃдиокниги на Đ´Ń€Ńгих языках (Audio)"} + - {id: 319, cat: Audio/Audiobook, desc: " |- ĐŃдиокниги для детей"} + - {id: 350, cat: Books, desc: "Медицина и здоровье"} + - {id: 351, cat: Books, desc: " |- КлиничеŃкая медицина Đ´Đľ 1980 года"} + - {id: 352, cat: Books, desc: " |- КлиничеŃкая медицина Ń 1980 по 2000 год"} + - {id: 353, cat: Books, desc: " |- КлиничеŃкая медицина поŃле 2000 года"} + - {id: 354, cat: Books/Mags, desc: " |- НаŃчная медицинŃкая периодика (газеты и жŃрналы)"} + - {id: 357, cat: Books/Mags, desc: " |- ПопŃлярная медицинŃкая периодика (газеты и жŃрналы)"} + - {id: 355, cat: Books, desc: " |- Медико-биологичеŃкие наŃки"} + - {id: 356, cat: Books, desc: " |- Фармация и фармакология"} + - {id: 358, cat: Books, desc: " |- Нетрадиционная, народная медицина и попŃлярные книг..."} + - {id: 360, cat: Books, desc: " |- ВидеоŃроки и лекции по медицине"} + - {id: 359, cat: Books, desc: " |- Ветеринария, разное"} # Đгры # Games - {id: 105, cat: PC/Games, desc: "Đгры для ПК"} - {id: 120, cat: PC/Games, desc: " |- Горячие новинки (License`s)"} - {id: 119, cat: PC/Games, desc: " |- Горячие новинки (Repack`s)"} - - {id: 118, cat: PC/Games, desc: " |- Горячие новинки (Патчи, моды, дополнения, DLC и Ń‚.Đż.)"} + - {id: 118, cat: PC/Games, desc: " |- Early Access, Demo, Alpha, Beta верŃии"} - {id: 117, cat: PC/Games, desc: " |- Action"} - {id: 116, cat: PC/Games, desc: " |- RPG"} - {id: 289, cat: PC/Games, desc: " |- Horror"} @@ -182,61 +212,66 @@ caps: - {id: 108, cat: PC/Games, desc: " |- Старые игры"} - {id: 107, cat: PC/Games, desc: " |- Đгровое видео"} - {id: 106, cat: PC/Games, desc: " |- Патчи, моды, дополнения, DLC и Ń‚.Đż."} - - {id: 248, cat: PC/Games, desc: "Đгры для Android"} + - {id: 414, cat: Console/PS4, desc: " |- PS4 / PS5"} + - {id: 402, cat: Console/PS3, desc: " |- PS/PS2/PS3"} + - {id: 415, cat: Console/PSP, desc: " |- PSP / Đгры PS1 для PSP"} + - {id: 431, cat: Console/Other, desc: " |- Switch"} + - {id: 416, cat: Console/XBox 360, desc: " |- Xbox 360"} + - {id: 417, cat: PC/Games, desc: " |- SteamMachine"} # Софт # Software - - {id: 76, cat: PC, desc: "Операционные ŃиŃтемы"} - - {id: 80, cat: PC, desc: " |- Windows 11"} - - {id: 79, cat: PC, desc: " |- Windows 10"} - - {id: 78, cat: PC, desc: " |- Windows 8.x"} - - {id: 77, cat: PC, desc: " |- Windows 7"} - - {id: 250, cat: PC, desc: " |- Windows Vista , Windows XP , Windows выпŃщенные Đ´Đľ 20..."} - - {id: 81, cat: PC, desc: " |- Серверные ОС от Microsoft"} - - {id: 83, cat: PC, desc: " |- Linux, Unix, Mac и Đ´Ń€Ńгие ОС"} - - {id: 82, cat: PC, desc: " |- Разное (RC, Beta, Service Packs, Cracks)"} - - {id: 93, cat: PC, desc: "СиŃтемные программы"} - - {id: 86, cat: PC, desc: " |- Драйверы и реŃŃŃ€Ńные библиотеки"} - - {id: 251, cat: PC, desc: " |- ОбŃĐ»Ńживание и диагноŃтика компьютера"} - - {id: 252, cat: PC, desc: " |- Работа Ń Đ¶Ń‘Ńткими диŃками"} - - {id: 253, cat: PC, desc: " |- Работа Ń Đ˛Đ˝ĐµŃними ноŃителями информации"} - - {id: 254, cat: PC, desc: " |- Đрхиваторы и файловые менеджеры"} - - {id: 91, cat: PC, desc: " |- Программы для интернета и Ńетей"} - - {id: 256, cat: PC, desc: " |- НаŃтройка и оптимизация, изменение интерфейŃа ОС"} - - {id: 257, cat: PC, desc: " |- WPI и прочие Ńборники программ"} - - {id: 258, cat: PC, desc: " |- LiveCD/DVD/USB"} - - {id: 92, cat: PC, desc: "БезопаŃноŃть"} - - {id: 259, cat: PC, desc: " |- ĐнтивирŃŃŃ‹, брандмаŃэры"} - - {id: 260, cat: PC, desc: " |- ĐнтиŃпионŃкое, антирекламное и антиблокировочное ПО"} - - {id: 261, cat: PC, desc: " |- СредŃтва Ńифрования и защиты информации"} - - {id: 262, cat: PC, desc: " |- КомплекŃная защита ПК"} - - {id: 263, cat: PC, desc: "Программы для бизнеŃа, офиŃа, наŃчной и проектной работы"} - - {id: 272, cat: PC, desc: " |- ОфиŃные ŃиŃтемы"} - - {id: 271, cat: PC, desc: " |- СиŃтемы для бизнеŃа"} - - {id: 270, cat: PC, desc: " |- СиŃтемы для наŃчной работы"} - - {id: 269, cat: PC, desc: " |- СĐПР, Ńофт для архитекторов, дизайнеров и пр."} - - {id: 268, cat: PC, desc: " |- Справочные ŃиŃтемы, базы данных"} - - {id: 267, cat: PC, desc: " |- Программы для верŃтки, печати и работы ŃĐľ Ńрифтами"} - - {id: 266, cat: PC, desc: " |- Работа Ń PDF, DjVu, FB2, EPUB, MOBI и пр."} - - {id: 265, cat: PC, desc: " |- Словари, переводчики, программы обŃчения языкам"} - - {id: 264, cat: PC, desc: " |- РаŃпознавание текŃта, звŃка и Ńинтез речи"} - - {id: 273, cat: PC, desc: "Программирование и веб-разработка"} - - {id: 89, cat: PC, desc: " |- Среды программирования, компиляторы и вŃпомогател..."} - - {id: 276, cat: PC, desc: " |- ТекŃтовые редакторы Ń ĐżĐľĐ´Ńветкой кода"} - - {id: 275, cat: PC, desc: " |- СиŃтемы Ńправления базами данных (СУБД)"} - - {id: 277, cat: PC, desc: " |- WYSIWYG-редакторы для веб-дизайна"} - - {id: 274, cat: PC, desc: " |- Скрипты и Ńаблоны"} - - {id: 278, cat: PC, desc: "Графика и ĐĽŃльтимедиа"} - - {id: 316, cat: PC, desc: " |- 3D моделирование, рендеринг и плагины для них"} - - {id: 287, cat: PC, desc: " |- ГрафичеŃкие редакторы и каталогизаторы"} - - {id: 288, cat: PC, desc: " |- ГрафичеŃкие грабберы и конвертеры"} - - {id: 286, cat: PC, desc: " |- ĐŃдио- Видео- редакторы"} - - {id: 284, cat: PC, desc: " |- ĐŃдио- Видео- проигрыватели и каталогизаторы"} - - {id: 283, cat: PC, desc: " |- ĐŃдио- Видео- грабберы, рипперы и конвертеры"} - - {id: 282, cat: PC, desc: " |- Đнимация"} - - {id: 281, cat: PC, desc: " |- Программные комплекты"} - - {id: 279, cat: PC, desc: " |- Разное (Графика и ĐĽŃльтимедиа)"} - - {id: 332, cat: PC, desc: "СиŃтемы навигации и карты "} - - {id: 94, cat: PC, desc: " |- Утилиты"} - - {id: 88, cat: PC, desc: " |- ĐśŃльтимедия"} + - {id: 76, cat: PC/ISO, desc: "Операционные ŃиŃтемы"} + - {id: 80, cat: PC/ISO, desc: " |- Windows 11"} + - {id: 79, cat: PC/ISO, desc: " |- Windows 10"} + - {id: 78, cat: PC/ISO, desc: " |- Windows 8.x"} + - {id: 77, cat: PC/ISO, desc: " |- Windows 7"} + - {id: 250, cat: PC/ISO, desc: " |- Windows Vista , Windows XP , Windows выпŃщенные Đ´Đľ 20..."} + - {id: 81, cat: PC/ISO, desc: " |- Серверные ОС от Microsoft"} + - {id: 83, cat: PC/ISO, desc: " |- Linux, Unix, Mac и Đ´Ń€Ńгие ОС"} + - {id: 82, cat: PC/ISO, desc: " |- Разное (RC, Beta, Service Packs, Cracks)"} + - {id: 93, cat: PC/0day, desc: "СиŃтемные программы"} + - {id: 86, cat: PC/0day, desc: " |- Драйверы и реŃŃŃ€Ńные библиотеки"} + - {id: 251, cat: PC/0day, desc: " |- ОбŃĐ»Ńживание и диагноŃтика компьютера"} + - {id: 252, cat: PC/0day, desc: " |- Работа Ń Đ¶Ń‘Ńткими диŃками"} + - {id: 253, cat: PC/0day, desc: " |- Работа Ń Đ˛Đ˝ĐµŃними ноŃителями информации"} + - {id: 254, cat: PC/0day, desc: " |- Đрхиваторы и файловые менеджеры"} + - {id: 91, cat: PC/0day, desc: " |- Программы для интернета и Ńетей"} + - {id: 256, cat: PC/0day, desc: " |- НаŃтройка и оптимизация, изменение интерфейŃа ОС"} + - {id: 257, cat: PC/0day, desc: " |- WPI и прочие Ńборники программ"} + - {id: 258, cat: PC/0day, desc: " |- LiveCD/DVD/USB"} + - {id: 92, cat: PC/0day, desc: "БезопаŃноŃть"} + - {id: 259, cat: PC/0day, desc: " |- ĐнтивирŃŃŃ‹, брандмаŃэры"} + - {id: 260, cat: PC/0day, desc: " |- ĐнтиŃпионŃкое, антирекламное и антиблокировочное ПО"} + - {id: 261, cat: PC/0day, desc: " |- СредŃтва Ńифрования и защиты информации"} + - {id: 262, cat: PC/0day, desc: " |- КомплекŃная защита ПК"} + - {id: 263, cat: PC/0day, desc: "Программы для бизнеŃа, офиŃа, наŃчной и проектной работы"} + - {id: 272, cat: PC/0day, desc: " |- ОфиŃные ŃиŃтемы"} + - {id: 271, cat: PC/0day, desc: " |- СиŃтемы для бизнеŃа"} + - {id: 270, cat: PC/0day, desc: " |- СиŃтемы для наŃчной работы"} + - {id: 269, cat: PC/0day, desc: " |- СĐПР, Ńофт для архитекторов, дизайнеров и пр."} + - {id: 268, cat: PC/0day, desc: " |- Справочные ŃиŃтемы, базы данных"} + - {id: 267, cat: PC/0day, desc: " |- Программы для верŃтки, печати и работы ŃĐľ Ńрифтами"} + - {id: 266, cat: PC/0day, desc: " |- Работа Ń PDF, DjVu, FB2, EPUB, MOBI и пр."} + - {id: 265, cat: PC/0day, desc: " |- Словари, переводчики, программы обŃчения языкам"} + - {id: 264, cat: PC/0day, desc: " |- РаŃпознавание текŃта, звŃка и Ńинтез речи"} + - {id: 273, cat: PC/0day, desc: "Программирование и веб-разработка"} + - {id: 89, cat: PC/0day, desc: " |- Среды программирования, компиляторы и вŃпомогател..."} + - {id: 276, cat: PC/0day, desc: " |- ТекŃтовые редакторы Ń ĐżĐľĐ´Ńветкой кода"} + - {id: 275, cat: PC/0day, desc: " |- СиŃтемы Ńправления базами данных (СУБД)"} + - {id: 277, cat: PC/0day, desc: " |- WYSIWYG-редакторы для веб-дизайна"} + - {id: 274, cat: PC/0day, desc: " |- Скрипты и Ńаблоны"} + - {id: 278, cat: PC/0day, desc: "Графика и ĐĽŃльтимедиа"} + - {id: 316, cat: PC/0day, desc: " |- 3D моделирование, рендеринг и плагины для них"} + - {id: 287, cat: PC/0day, desc: " |- ГрафичеŃкие редакторы и каталогизаторы"} + - {id: 288, cat: PC/0day, desc: " |- ГрафичеŃкие грабберы и конвертеры"} + - {id: 286, cat: PC/0day, desc: " |- ĐŃдио- Видео- редакторы"} + - {id: 284, cat: PC/0day, desc: " |- ĐŃдио- Видео- проигрыватели и каталогизаторы"} + - {id: 283, cat: PC/0day, desc: " |- ĐŃдио- Видео- грабберы, рипперы и конвертеры"} + - {id: 282, cat: PC/0day, desc: " |- Đнимация"} + - {id: 281, cat: PC/0day, desc: " |- Программные комплекты"} + - {id: 279, cat: PC/0day, desc: " |- Разное (Графика и ĐĽŃльтимедиа)"} + - {id: 332, cat: PC/0day, desc: "СиŃтемы навигации и карты"} + - {id: 94, cat: PC/0day, desc: " |- Утилиты"} + - {id: 88, cat: PC/0day, desc: " |- ĐśŃльтимедия"} # Графика и Дизайн # Graphics and Design - {id: 178, cat: Other, desc: "ГрафичеŃкие изображения"} - {id: 184, cat: Other, desc: " |- Обои"} @@ -247,6 +282,39 @@ caps: - {id: 179, cat: Other, desc: "ДизайнерŃкие материалы"} - {id: 186, cat: Other, desc: " |- Đ’ŃŃ‘ для 2d графики"} - {id: 185, cat: Other, desc: " |- Đ’ŃŃ‘ для 3d графики"} + # Мобильные ŃŃтройŃтва # Mobile devices + - {id: 376, cat: PC/Mobile-Other, desc: "Помощь по Ń€Đ°Đ·Đ´ĐµĐ»Ń (Мобильные ŃŃтройŃтва)"} + - {id: 375, cat: PC/Mobile-Other, desc: "Đгры"} + - {id: 393, cat: PC/Mobile-Other, desc: " |- Java"} + - {id: 390, cat: PC/Mobile-Other, desc: " |- Windows Mobile / Windows Phone"} + - {id: 387, cat: PC/Mobile-iOS, desc: " |- iOS"} + - {id: 383, cat: PC/Mobile-Android, desc: " |- Android"} + - {id: 380, cat: PC/Mobile-Other, desc: " |- Symbian"} + - {id: 374, cat: PC/Mobile-Other, desc: "Приложения"} + - {id: 392, cat: PC/Mobile-Other, desc: " |- Java"} + - {id: 389, cat: PC/Mobile-Other, desc: " |- Windows Mobile / Windows Phone"} + - {id: 386, cat: PC/Mobile-iOS, desc: " |- iOS"} + - {id: 382, cat: PC/Mobile-Android, desc: " |- Android"} + - {id: 379, cat: PC/Mobile-Other, desc: " |- Symbian"} + - {id: 373, cat: PC/Mobile-Other, desc: "ПроŃивки"} + - {id: 391, cat: PC/Mobile-Other, desc: " |- Java"} + - {id: 388, cat: PC/Mobile-Other, desc: " |- Windows Mobile / Windows Phone"} + - {id: 385, cat: PC/Mobile-iOS, desc: " |- iOS"} + - {id: 381, cat: PC/Mobile-Android, desc: " |- Android"} + - {id: 378, cat: PC/Mobile-Other, desc: " |- Symbian"} + - {id: 377, cat: PC/Mobile-Other, desc: " |- ДрŃгие"} + - {id: 367, cat: PC/Mobile-Other, desc: "Дополнительно"} + - {id: 368, cat: PC/Mobile-Other, desc: " |- Софт для работы Ń Ń‚ĐµĐ»ĐµŃ„ĐľĐ˝ĐľĐĽ"} + - {id: 370, cat: PC/Mobile-Other, desc: " |- Видео для КПК"} + - {id: 369, cat: PC/Mobile-Other, desc: " |- Темы и Обои"} + - {id: 426, cat: PC/Mobile-Other, desc: " |- Подготовка и оформления раздач R.G. Mobile"} + # TorrentPier + - {id: 205, cat: Other, desc: "РеŃŃŃ€ŃŃ‹ для TorrentPier"} + - {id: 209, cat: Other, desc: " |- Модификации для TorrentPier"} + - {id: 207, cat: Other, desc: " |- Графика и Ńтили для TorrentPier"} + - {id: 206, cat: Other, desc: " |- Шаблоны для TorrentPier"} + # ТехничеŃкий форŃĐĽ # Technical Forum + - {id: 163, cat: Other, desc: "Временные раздачи"} modes: search: [q] diff --git a/config/prowlarr/Definitions/wintersakura.yml b/config/prowlarr/Definitions/wintersakura.yml index 7cf1a542..7a2400bf 100644 --- a/config/prowlarr/Definitions/wintersakura.yml +++ b/config/prowlarr/Definitions/wintersakura.yml @@ -178,12 +178,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/world-torrent.yml b/config/prowlarr/Definitions/world-torrent.yml new file mode 100644 index 00000000..992c0de1 --- /dev/null +++ b/config/prowlarr/Definitions/world-torrent.yml @@ -0,0 +1,167 @@ +--- +id: world-torrent +replaces: + - zetorrents +name: World-torrent +description: "World-torrent is a FRENCH Public site for MOVIES / TV / GENERAL" +language: fr-FR +type: public +encoding: UTF-8 +# to fetch current domain use https://www.rantop.org/ +links: + - https://ww2-mania-torrent.com/ + - https://ww2-cine-torrent.com/ + - https://ww2-magnet-torrent.com/ + - https://ww2-mega-torrent.com/ + - https://ww3-zone-torrent.com/ + - https://ww2-warez-torrent.com/ +legacylinks: + # latest domains list + - https://www.rantop.org/ + - https://www.site-torrent.cc/ + - https://www.torrent-site.com/ + # domain lists no longer working + - https://www.protege-torrent.com/ + - https://www.torrent.ws/ + - https://www.protege-liens.com/ + - https://www.protege-liens.net/ + - https://www.torrent.onl/ + - https://www.site-torrent.com/ + - https://www.rantop.my/ + # actual legacylinks + - https://ww1-zetorrents.me/ + - https://www.zetorrents.rent/ + - https://ww1-zetorrents.town/ + - https://www.cine-torrent1.com/ + - https://www-cine-torrent.com/ + - https://ww1-cine-torrent.com/ + - https://www.magnet-torrent1.com/ + - https://ww1-magnet-torrent.com/ + - https://www-magnet-torrent.com/ + - https://www.mania-torrent.com/ + - https://ww1-mania-torrent.com/ + - https://www-mania-torrent.com/ + - https://www.mega-torrent9.com/ + - https://ww1-mega-torrent.com/ + - https://www-mega-torrent.com/ + - https://www.warez-torrent1.com/ + - https://ww1-warez-torrent.com/ + - https://www-warez-torrent.com/ + - https://www.world-torrent.com/ + - https://www.world-torrent1.com/ + - https://www-world-torrent.com/ + - https://ww1-world-torrent.com/ + - https://www.zone-torrent6.com/ + - https://ww1-zone-torrent.com/ + - https://ww2-zone-torrent.com/ + +caps: + categorymappings: + - {id: Films, cat: Movies, desc: "Movies"} + - {id: Animes, cat: TV/Anime, desc: "Anime"} + - {id: Documentaires, cat: TV/Documentary, desc: "Documentaires"} + - {id: SĂ©ries, cat: TV, desc: "TV"} + - {id: Musiques, cat: Audio, desc: "Music"} + - {id: Ebooks, cat: Books, desc: "Books"} + - {id: Livres, cat: Books, desc: "Livres"} + - {id: Logiciels, cat: PC, desc: "Software"} + - {id: Applications, cat: PC, desc: "Applications"} + - {id: Jeux-PC, cat: PC/Games, desc: "PC Games"} + - {id: Jeux-Consoles, cat: Console/XBox 360, desc: "Console Games"} + - {id: Porno, cat: XXX, desc: "Porno"} + - {id: Spectacles, cat: TV/Other, desc: "Spectacles"} + - {id: Sports, cat: TV/Sport, desc: "Sports"} + - {id: Formations, cat: Other, desc: "Formations"} + - {id: VidĂ©os, cat: TV, desc: "VidĂ©os"} + + modes: + search: [q] + tv-search: [q, season, ep] + movie-search: [q] + music-search: [q] + book-search: [q] + allowrawsearch: true + +settings: + - name: multilang + type: checkbox + label: Replace MULTi by another language in release name + default: false + - name: multilanguage + type: select + label: Replace MULTi by this language + default: FRENCH + options: + FRENCH: FRENCH + MULTi FRENCH: MULTi FRENCH + ENGLISH: ENGLISH + MULTi ENGLISH: MULTi ENGLISH + VOSTFR: VOSTFR + MULTi VOSTFR: MULTi VOSTFR + - name: vostfr + type: checkbox + label: Replace VOSTFR and SUBFRENCH with ENGLISH + default: false + +download: + selectors: + - selector: a[href^="magnet:?"] + attribute: href + +search: + paths: + - path: "{{ if .Keywords }}recherche/{{ .Keywords }}{{ else }}derniers{{ end }}" + keywordsfilters: + # if searching for season packs switch S01 to saison 1 #9712 + - name: re_replace + args: ["(?i)(S0)(\\d{1,2})$", "saison $2"] + - name: re_replace + args: ["(?i)(S)(\\d{1,3})$", "saison $2"] + + rows: + selector: table.table > tbody > tr:has(a[href^="/detail/"]) + + fields: + category: + selector: i + attribute: class + title_phase1: + selector: a[href^="/detail/"] + filters: + - name: replace + args: ["WEBRIP", "WEBDL"] + - name: re_replace + args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b((19|20)\\d{2})\\b)$", "$3 $1$2"] + title_vostfr: + text: "{{ .Result.title_phase1 }}" + filters: + - name: re_replace + args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"] + title_phase2: + text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase1 }}{{ end }}" + title_multilang: + text: "{{ .Result.title_phase2 }}" + filters: + - name: re_replace + args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))\\b", "{{ .Config.multilanguage }}"] + title: + text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}" + details: + selector: a[href^="/detail/"] + attribute: href + download: + selector: a[href^="/detail/"] + attribute: href + date: + text: now + size: + selector: td:nth-child(2) + seeders: + selector: td:nth-child(3) + leechers: + selector: td:nth-child(4) + downloadvolumefactor: + text: 0 + uploadvolumefactor: + text: 1 +# engine n/a diff --git a/config/prowlarr/Definitions/xingwan.yml b/config/prowlarr/Definitions/xingwan.yml new file mode 100644 index 00000000..a6d8721e --- /dev/null +++ b/config/prowlarr/Definitions/xingwan.yml @@ -0,0 +1,185 @@ +--- +id: xingwan +name: Xingwan (ćźćąľ) +description: "Xingwan (ćźćąľ) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL" +language: zh-CN +type: private +encoding: UTF-8 +links: + - https://xingwan.cc/ + +caps: + categorymappings: + - {id: 401, cat: Movies, desc: "MoviesďĽđźŽ¬ 电影)"} + - {id: 402, cat: TV, desc: "TV SeriesďĽđź“ş 电视剧)"} + - {id: 410, cat: TV, desc: "ShortDramaďĽđꓱ 短剧)"} + - {id: 405, cat: TV/Anime, desc: "AnimationsďĽđźŚ¸ 动漫)"} + - {id: 403, cat: TV, desc: "TV ShowsďĽđźŽ¤ 综艺)"} + - {id: 404, cat: TV/Documentary, desc: "DocumentariesďĽđźŚŤ 纪录片)"} + - {id: 416, cat: Books/Comics, desc: "ComicsďĽđź“– 漫画)"} + - {id: 406, cat: Audio/Video, desc: "Music VideosďĽđźŽµ éźłäąč§†é˘‘)"} + - {id: 408, cat: Audio, desc: "HQ AudioďĽđźŽ§ 无损音äąďĽ‰"} + - {id: 407, cat: TV/Sport, desc: "SportsďĽâš˝ 体育)"} + - {id: 411, cat: Console, desc: "GamesďĽđźŽ® 游ćŹďĽ‰"} + - {id: 412, cat: PC, desc: "SoftwareďĽđź’» 软件)"} + - {id: 413, cat: Books, desc: "EbooksďĽđź“š 电ĺ­äą¦ďĽ‰"} + - {id: 409, cat: Other, desc: "MiscďĽđꓦ 其他杂项)"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid, doubanid] + movie-search: [q, imdbid, doubanid] + music-search: [q] + book-search: [q] + +settings: + - name: cookie + type: text + label: Cookie + - name: info_cookie + type: info_cookie + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. + - name: info_activity + type: info + label: Account Inactivity + default: "Account retention rules:
  1. Veteran User and above will be retained forever
  2. Elite User and above will not have their account deleted after parking (in the control panel)
  3. Users with a parked account will be deleted if they do not log in for 400 consecutive days
  4. Users with a non-parked account will be deleted if they do not log in for 150 consecutive days
  5. Users who have no traffic (i.e. upload/download data are both 0) will be deleted if they do not log in for 100 consecutive days.
" + +login: + # using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php + method: cookie + inputs: + cookie: "{{ .Config.cookie }}" + test: + path: index.php + selector: a[href$="logout.php"] + +search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}" + # 0 incldead, 1 active, 2 dead + incldead: 0 + # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr, 3 uploader, 4 imdburl + search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}" + # 0 AND, 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + notnewword: 1 + + rows: + selector: table.torrents > tbody > tr:has(a[href*="download.php?id="]) + + fields: + category: + selector: a[href*="?cat="] + attribute: href + filters: + - name: querystring + args: cat + title_default: + selector: a[href*="details.php?id="] + title: + selector: a[title][href*="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" + details: + selector: a[href*="details.php?id="] + attribute: href + download: + selector: a[href*="download.php?id="] + attribute: href + poster: + selector: img[data-src] + attribute: data-src + imdbid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="imdb.com/title/tt"] + attribute: href + doubanid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="movie.douban.com/subject/"] + attribute: href + date_elapsed: + # time type: time elapsed (default) + selector: td.rowfollow:nth-child(4) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-dd HH:mm:ss zzz" + date_added: + # time added + selector: td.rowfollow:nth-child(4):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + date: + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 + downloadvolumefactor: + case: + img.pro_free: 0 + img.pro_free2up: 0 + img.pro_50pctdown: 0.5 + img.pro_50pctdown2up: 0.5 + img.pro_30pctdown: 0.3 + "*": 1 + uploadvolumefactor: + case: + img.pro_50pctdown2up: 2 + img.pro_free2up: 2 + img.pro_2up: 2 + "*": 1 + description: + selector: td.rowfollow:nth-child(2) + remove: a, b, font, img, span +# NexusPHP v1.9.11 2025-11-02 diff --git a/config/prowlarr/Definitions/xingyung.yml b/config/prowlarr/Definitions/xingyung.yml new file mode 100644 index 00000000..9be15d84 --- /dev/null +++ b/config/prowlarr/Definitions/xingyung.yml @@ -0,0 +1,186 @@ +--- +id: xingyung +name: Xingyung (ćźé™¨é) +description: "Xingyung (ćźé™¨é) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL" +language: zh-CN +type: private +encoding: UTF-8 +links: + - https://pt.xingyungept.org/ + +caps: + categorymappings: + - {id: 409, cat: Other, desc: "ĺ…¶ä»–/Misc"} + - {id: 408, cat: Audio, desc: "音频/HQ Audio"} + - {id: 406, cat: Audio/Video, desc: "MV/Music Videos"} + - {id: 407, cat: TV/Sport, desc: "体育/Sports"} + - {id: 410, cat: TV, desc: "短剧/Playlet"} + - {id: 404, cat: TV/Documentary, desc: "纪录片/Documentary"} + - {id: 405, cat: TV/Anime, desc: "动漫/Animations"} + - {id: 403, cat: TV, desc: "综艺/TV Shows"} + - {id: 402, cat: TV, desc: "电视剧/TVSeries"} + - {id: 401, cat: Movies, desc: "电影/Movies"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid] + movie-search: [q, imdbid] + music-search: [q] + book-search: [q] + +settings: + - name: cookie + type: text + label: Cookie + - name: info_cookie + type: info_cookie + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. + - name: info_activity + type: info + label: Account Inactivity + default: "Account retention rules:
  1. Veteran User and above will be retained forever
  2. Elite User and above will not have their account deleted after parking (in the control panel)
  3. Users with a parked account will be deleted if they do not log in for 400 consecutive days
  4. Users with a non-parked account will be deleted if they do not log in for 150 consecutive days
  5. Users who have no traffic (i.e. upload/download data are both 0) will be deleted if they do not log in for 100 consecutive days.
" + +login: + # using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php + method: cookie + inputs: + cookie: "{{ .Config.cookie }}" + test: + path: index.php + selector: a[href="logout.php"] + +search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}" + # 0 incldead, 1 active, 2 dead + incldead: 0 + # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr, 3 uploader, 4 imdburl + search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}" + # 0 AND, 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + notnewword: 1 + + rows: + selector: table.torrents > tbody > tr:has(a[href*="download.php?id="]) + + fields: + category: + selector: a[href*="?cat="] + attribute: href + filters: + - name: querystring + args: cat + title_default: + selector: a[href*="details.php?id="] + title: + selector: a[title][href*="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" + details: + selector: a[href*="details.php?id="] + attribute: href + download: + selector: a[href*="download.php?id="] + attribute: href + poster: + selector: img[data-src] + attribute: data-src + imdbid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="imdb.com/title/tt"] + attribute: href + doubanid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="movie.douban.com/subject/"] + attribute: href + date_elapsed: + # time type: time elapsed (default) + selector: td.rowfollow:nth-child(4) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-dd HH:mm:ss zzz" + date_added: + # time added + selector: td.rowfollow:nth-child(4):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + date: + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 + downloadvolumefactor: + case: + img.pro_free: 0 + img.pro_free2up: 0 + img.pro_50pctdown: 0.5 + img.pro_50pctdown2up: 0.5 + img.pro_30pctdown: 0.3 + "*": 1 + uploadvolumefactor: + case: + img.pro_50pctdown2up: 2 + img.pro_free2up: 2 + img.pro_2up: 2 + "*": 1 + minimumratio: + text: 2.0 + minimumseedtime: + # 2 days (as seconds = 2 x 24 x 60 x 60) + text: 172800 + description: + selector: td.rowfollow:nth-child(2) + remove: a, b, font, img, span +# NexusPHP v1.9.6 2025-06-25 diff --git a/config/prowlarr/Definitions/xloli.yml b/config/prowlarr/Definitions/xloli.yml new file mode 100644 index 00000000..6fc9f575 --- /dev/null +++ b/config/prowlarr/Definitions/xloli.yml @@ -0,0 +1,200 @@ +--- +id: xloli +replaces: + - ilolicon +name: xloli +description: "xloli (ilolicon PT) is a CHINESE Private Torrent Tracker for LOLICON / MOVIES / 3X" +language: zh-CN +type: private +encoding: UTF-8 +requestDelay: 2 +links: + - https://mua.xloli.cc/ +legacylinks: + - https://share.ilolicon.com/ + +caps: + # dont forget to update the path categories in the search block + categorymappings: + - {id: 401, cat: Movies, desc: "电影(Movie)", default: true} + - {id: 402, cat: TV, desc: "电视剧(TV Series)", default: true} + - {id: 430, cat: TV, desc: "综艺(TV Show)", default: true} + - {id: 405, cat: TV/Anime, desc: "动画(Animation)", default: true} + - {id: 408, cat: Audio, desc: "éźłäą(Music)", default: true} + - {id: 410, cat: Audio/Video, desc: "čžĺŹ°ćĽ”ĺ‡ş(Stage Performance)", default: true} + - {id: 404, cat: TV/Documentary, desc: "纪录片(Documentary)", default: true} + - {id: 412, cat: Console, desc: "游ćŹ(Game)", default: true} + - {id: 413, cat: PC, desc: "软件(Software)", default: true} + - {id: 411, cat: Other, desc: "漫画/CG杂图/动漫杂志(Photo)", default: true} + - {id: 420, cat: XXX, desc: "AV(有ç /Censored)", default: false} + - {id: 419, cat: XXX, desc: "AV(ć— ç /Uncensored)", default: false} + - {id: 423, cat: XXX/Other, desc: "里番(Hanime)", default: false} + - {id: 425, cat: XXX/Other, desc: "H-2DĺŚäşşĺŠ¨ç”»(H 2D doujin anime)", default: false} + - {id: 426, cat: XXX/Other, desc: "H-3DĺŚäşşĺŠ¨ç”»(H 3D doujin anime)", default: false} + - {id: 424, cat: XXX/Other, desc: "H-漫画(H Manga)", default: false} + - {id: 427, cat: XXX/ImageSet, desc: "H-CG杂图(H-CG)", default: false} + - {id: 418, cat: XXX/ImageSet, desc: "写真(Picture)", default: false} + - {id: 429, cat: XXX/Other, desc: "音声(Audio)", default: false} + - {id: 428, cat: XXX/Other, desc: "H-游ćŹ(H Game)", default: false} + - {id: 422, cat: XXX, desc: "H-综艺(H TV Show)", default: false} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid, doubanid] + movie-search: [q, imdbid, doubanid] + music-search: [q] + +settings: + - name: cookie + type: text + label: Cookie + - name: info_cookie + type: info_cookie + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile.
Choosing more may cause the web site to fail to deliver complete results. + - name: info_activity + type: info + label: Account Inactivity + default: "Cherish your user account. Inactive accounts would be deleted based on the following rules:
  1. Veteran User or above would never be deleted.
  2. Elite User or above would never be deleted if parked (at User CP).
  3. Parked accounts would be deleted if users have not logged in for more than 400 days in a row.
  4. Unparked accounts would be deleted if users have not logged in for more than 150 days in a row.
  5. Accounts with both uploaded and downloaded amount being 0 would be deleted if users have not logged in for more than 100 days in a row.
" + +login: + # using cookie method because login page has embedded Cloudflare CAPTCHA + method: cookie + inputs: + cookie: "{{ .Config.cookie }}" + test: + path: index.php + selector: a[href="logout.php"] + +search: + paths: + - path: torrents.php + categories: [401, 402, 430, 405, 408, 410, 404, 412, 413, 411] + - path: special.php + categories: [420, 419, 423, 425, 426, 424, 427, 418, 429, 428, 422] + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}" + # 0 incldead, 1 active, 2 dead + incldead: 0 + # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr, 3 uploader, 4 imdburl + search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}" + # 0 AND, 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + notnewword: 1 + + rows: + selector: table.torrents > tbody > tr:has(a[href^="details.php?id="]) + + fields: + category: + selector: a[href^="?cat="] + attribute: href + filters: + - name: querystring + args: cat + title_default: + selector: a[href^="details.php?id="] + title: + selector: a[title][href^="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" + details: + selector: a[href^="details.php?id="] + attribute: href + download: + selector: a[href^="download.php?id="] + attribute: href + poster: + selector: img[data-src] + attribute: data-src + imdbid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="imdb.com/title/tt"] + attribute: href + doubanid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="movie.douban.com/subject/"] + attribute: href + date_elapsed: + # time type: time elapsed (default) + selector: td.rowfollow:nth-child(4) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-dd HH:mm:ss zzz" + date_added: + # time added + selector: td.rowfollow:nth-child(4):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + date: + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 + downloadvolumefactor: + case: + img.pro_free: 0 + img.pro_free2up: 0 + img.pro_50pctdown: 0.5 + img.pro_50pctdown2up: 0.5 + img.pro_30pctdown: 0.3 + "*": 1 + uploadvolumefactor: + case: + img.pro_50pctdown2up: 2 + img.pro_free2up: 2 + img.pro_2up: 2 + "*": 1 + description: + selector: td.rowfollow:nth-child(2) td:nth-child(2) + remove: a, b, font, img +# NexusPHP v1.9.11 2025-11-02 diff --git a/config/prowlarr/Definitions/xtorrenty.yml b/config/prowlarr/Definitions/xtorrenty.yml index dbcac496..370ac708 100644 --- a/config/prowlarr/Definitions/xtorrenty.yml +++ b/config/prowlarr/Definitions/xtorrenty.yml @@ -44,12 +44,11 @@ caps: book-search: [q] settings: - - name: email + - name: cookie type: text - label: Email - - name: password - type: password - label: Password + label: Cookie + - name: info_cookie + type: info_cookie - name: multilang type: checkbox label: Replace MULTi by another language in release name @@ -77,18 +76,10 @@ settings: asc: asc login: - path: ?do=login - method: form - form: form + # using cookie method because login page has embedded Cloudflare turnstile + method: cookie inputs: - login_name: "{{ .Config.email }}" - login_password: "{{ .Config.password }}" - login_not_save: "" - login: submit - error: - - selector: div.berrors b:contains("WystÄ…piĹ‚ błąd podczas autoryzacji") - message: - text: "Uwaga! Logowanie na stronie nie powiodĹ‚o siÄ™. NieprawidĹ‚owy adres e-mail lub hasĹ‚o." + cookie: "{{ .Config.cookie }}" test: path: / selector: a[href$="/index.php?action=logout"] diff --git a/config/prowlarr/Definitions/xxxclub.yml b/config/prowlarr/Definitions/xxxclub.yml index c96b6e4a..fed0fbc5 100644 --- a/config/prowlarr/Definitions/xxxclub.yml +++ b/config/prowlarr/Definitions/xxxclub.yml @@ -9,6 +9,7 @@ requestDelay: 3 links: - https://xxxclub.to/ - https://xxxclub.cc/ + - https://xxxclub.me/ caps: categorymappings: @@ -18,7 +19,8 @@ caps: - {id: 4, cat: XXX/UHD, desc: "XXX 2160p/UHD/4K"} - {id: 3, cat: XXX/WEB-DL, desc: "XXX Movies/DVD/WEB"} - {id: 5, cat: XXX/ImageSet, desc: "XXX IMAGESET"} - - {id: 6, cat: XXX/Other, desc: "XXX VR"} + - {id: 6, cat: XXX/Other, desc: "XXX VR/VirtualReality"} + - {id: 7, cat: XXX/Pack, desc: "XXX Pack/MegaPack"} modes: search: [q] diff --git a/config/prowlarr/Definitions/yts.yml b/config/prowlarr/Definitions/yts.yml index e2df95bd..1527df97 100644 --- a/config/prowlarr/Definitions/yts.yml +++ b/config/prowlarr/Definitions/yts.yml @@ -8,7 +8,7 @@ encoding: UTF-8 requestDelay: 2.5 # 2.5 requests per second (2 causes problems) links: # if the primary domain changes then don't forget to update the details, download and poster replace args - - https://yts.lt/ + - https://yts.bz/ # official domain list are at https://yifystatus.com/ and official proxies list are at https://ytsproxies.com/ - https://yts.unblockninja.com/ - https://yts.ninjaproxy1.com/ @@ -17,12 +17,14 @@ links: - https://yts.torrentbay.st/ - https://yts.torrentsbay.org/ legacylinks: - - https://yts.am/ - - https://yts.ag/ + - https://yts.am/ # redirects to .bz + - https://yts.ag/ # redirects to .bz + - https://yts.gg/ # redirects to .bz - https://yts.mx/ - https://yts.mrunblock.bond/ - https://yts.nocensor.cloud/ - https://yts.unblockit.download/ + - https://yts.lt/ # redirects to .bz caps: categorymappings: @@ -104,19 +106,19 @@ search: selector: ..url filters: - name: re_replace - args: ["^https?:\\/\\/yts\\.(mx|lt)\\/", "{{ .Config.sitelink }}"] # fix for 12494 + args: ["^https?:\\/\\/yts\\.(mx|lt|bz)\\/", "{{ .Config.sitelink }}"] # fix for 12494 download: selector: url filters: - name: re_replace - args: ["^https?:\\/\\/yts\\.(mx|lt)\\/", "{{ .Config.sitelink }}"] # fix for 12494 + args: ["^https?:\\/\\/yts\\.(mx|lt|bz)\\/", "{{ .Config.sitelink }}"] # fix for 12494 infohash: selector: hash poster: selector: ..large_cover_image filters: - name: re_replace - args: ["^https?:\\/\\/yts\\.(mx|lt)\\/", "{{ .Config.sitelink }}"] # fix for 12494 + args: ["^https?:\\/\\/yts\\.(mx|lt|bz)\\/", "{{ .Config.sitelink }}"] # fix for 12494 imdbid: selector: ..imdb_code date: diff --git a/config/prowlarr/Definitions/zamundarip.yml b/config/prowlarr/Definitions/zamundarip.yml new file mode 100644 index 00000000..fa8fe461 --- /dev/null +++ b/config/prowlarr/Definitions/zamundarip.yml @@ -0,0 +1,100 @@ +--- +id: zamundarip +name: Zamunda RIP +description: "Zamunda RIP is a BULGARIAN Public Torrent Archive for MOVIES / TV / GENERAL" +language: bg-BG +type: public +encoding: UTF-8 +links: + - https://zamunda.rip/ + +caps: + categorymappings: + # from https://zamunda.rip/api/torznab/api?t=caps + - {id: 1000, cat: Console, desc: "Console"} + - {id: 1050, cat: Console/XBox, desc: "Đгри/Xbox"} + - {id: 2000, cat: Movies, desc: "Movies"} + - {id: 2040, cat: Movies/HD, desc: "Филми/HD"} + - {id: 2030, cat: Movies/SD, desc: "Филми/SD"} + - {id: 2010, cat: Movies, desc: "Филми/Đ ŃŃия"} + - {id: 2020, cat: Movies/Other, desc: "Филми/ДокŃментални"} + - {id: 2050, cat: Movies/BluRay, desc: "Blu-ray"} + - {id: 2060, cat: Movies/3D, desc: "Филми/3D"} + - {id: 3000, cat: Audio, desc: "Audio"} + - {id: 3010, cat: Audio, desc: "ĐśŃзика"} + - {id: 3020, cat: Audio/Video, desc: "ĐśŃзика/DVD-R"} + - {id: 3040, cat: Audio, desc: "ĐśŃзика/DTS"} + - {id: 4000, cat: PC, desc: "PC"} + - {id: 4050, cat: PC/Games, desc: "Đгри/PC ISO"} + - {id: 4030, cat: PC/Mac, desc: "Đгри/Mac"} + - {id: 4020, cat: PC/ISO, desc: "Програми/PC ISO"} + - {id: 4010, cat: PC, desc: "Програми/Đ´Ń€Ńги"} + - {id: 4040, cat: PC/Mobile-Other, desc: "Mobile/GSM"} + - {id: 4070, cat: PC/Mobile-Android, desc: "Đндроид/Đгри"} + - {id: 5000, cat: TV, desc: "TV"} + - {id: 5070, cat: TV/Anime, desc: "Đнимации/Đниме"} + - {id: 5030, cat: TV, desc: "Сериали"} + - {id: 5040, cat: TV/HD, desc: "Сериали/HD"} + - {id: 5020, cat: TV, desc: "Сериали/Đ ŃŃия"} + - {id: 5060, cat: TV/Sport, desc: "Спорт/TV"} + - {id: 6000, cat: XXX, desc: "XXX"} + - {id: 6040, cat: XXX/x264, desc: "XXX"} + - {id: 7000, cat: Books, desc: "Other"} + - {id: 7030, cat: Books/Comics, desc: "Книги/КомикŃи"} + - {id: 8000, cat: Other, desc: "Misc"} + + modes: + search: [q] + tv-search: [q, season, ep] + movie-search: [q] + music-search: [q] + book-search: [q] + +settings: [] + +search: + paths: + # https://zamunda.rip/api/torznab/api?t=search&limit=100 + - path: api/torznab/api + response: + type: xml + + inputs: + t: search + q: "{{ .Keywords }}" + cat: "{{ join .Categories \",\" }}" + limit: 100 + + rows: + selector: rss > channel > item + + fields: + category: + selector: '[name="category"]' + attribute: value + title: + selector: title + details: + text: "{{ .Config.sitelink }}" + download: + selector: link + date: + # Sun, 08 Feb 2026 19:31:03 +0000 + selector: pubDate + filters: + - name: dateparse + args: "ddd, dd MMM yyyy HH:mm:ss zzz" + size: + selector: '[name="size"]' + attribute: value + seeders: + selector: '[name="seeders"]' + attribute: value + leechers: + selector: '[name="peers"]' + attribute: value + downloadvolumefactor: + text: 0 + uploadvolumefactor: + text: 1 +# torznab xml diff --git a/config/prowlarr/Definitions/zelkaorg.yml b/config/prowlarr/Definitions/zelkaorg.yml index 52c78c94..01251cc3 100644 --- a/config/prowlarr/Definitions/zelkaorg.yml +++ b/config/prowlarr/Definitions/zelkaorg.yml @@ -5,8 +5,6 @@ description: "Zelka (Zamunda) is a BULGARIAN Private Torrent Tracker for 0DAY / language: bg-BG type: private encoding: windows-1251 -certificates: - - 996dbb1ef245699bdd5ea796b704c220c684b626 # Expired 29th Nov 2025 links: - https://zelka.org/ - https://zamunda.se/ diff --git a/config/prowlarr/Definitions/zetorrents.yml b/config/prowlarr/Definitions/zetorrents.yml index 53c164dd..602a14bd 100644 --- a/config/prowlarr/Definitions/zetorrents.yml +++ b/config/prowlarr/Definitions/zetorrents.yml @@ -7,7 +7,7 @@ type: public encoding: UTF-8 # to fetch current domain use https://www.rantop.org/ links: - - https://ww1-zetorrents.town/ + - https://www.world-torrent1.com/ legacylinks: # latest domains list - https://www.rantop.org/ @@ -22,8 +22,6 @@ legacylinks: - https://www.site-torrent.com/ - https://www.rantop.my/ # actual legacylinks - - https://www.zetorrents.tw/ - - https://www.zetorrents.in/ - https://www.zetorrents.vg/ - https://www.zetorrents.vc/ - https://www.zetorrents.sk/ @@ -37,6 +35,8 @@ legacylinks: - https://zetorrents-proxy.site/ - https://ww1-zetorrents.me/ - https://www.zetorrents.rent/ + - https://ww1-zetorrents.town/ + - https://www.world-torrent.com/ caps: categories: @@ -78,7 +78,7 @@ download: search: paths: - - path: "{{ if .Keywords }}recherche/{{ .Keywords }}{{ else }}{{ end }}" + - path: "{{ if .Keywords }}recherche/{{ .Keywords }}{{ else }}derniers{{ end }}" keywordsfilters: # if searching for season packs swith S01 to saison 1 #9712 - name: re_replace diff --git a/config/prowlarr/Definitions/zktorrent.yml b/config/prowlarr/Definitions/zktorrent.yml index 4afe61d2..e2671d3d 100644 --- a/config/prowlarr/Definitions/zktorrent.yml +++ b/config/prowlarr/Definitions/zktorrent.yml @@ -9,7 +9,7 @@ type: public encoding: UTF-8 # to fetch current domain use https://www.rantop.org/ links: - - https://ww1-zktorrent.town/ + - https://www-zktorrent.com/ legacylinks: # latest domains list - https://www.rantop.org/ @@ -25,10 +25,6 @@ legacylinks: - https://www.site-torrent.com/ - https://www.rantop.my/ # actual legacylinks - - https://www.gktorrent.cv/ - - https://wvw-gktorrent.com/ - - https://www-gktorrent.com/ - - https://www.zktorrent.com/ - https://www.zktorrent1.com/ - https://www.zktorrent2.com/ - https://www.zktorrent3.com/ @@ -40,6 +36,10 @@ legacylinks: - https://zktorrent-proxy.site/ - https://ww1-zktorrent.me/ - https://www.zktorrent.rent/ + - https://ww1-zktorrent.town/ + - https://www.zktorrent7.com/ + - https://www.zktorrent8.com/ + - https://ww1-zktorrent.com/ caps: categorymappings: @@ -100,7 +100,7 @@ download: search: paths: - - path: "{{ if .Keywords }}recherche/{{ .Keywords }}{{ else }}{{ end }}" + - path: "{{ if .Keywords }}recherche/{{ .Keywords }}{{ else }}home{{ end }}" keywordsfilters: # if searching for season packs swith S01 to saison 1 #9712 - name: re_replace diff --git a/config/prowlarr/Definitions/zmpt.yml b/config/prowlarr/Definitions/zmpt.yml index 30a33ac4..f4d0a879 100644 --- a/config/prowlarr/Definitions/zmpt.yml +++ b/config/prowlarr/Definitions/zmpt.yml @@ -144,12 +144,20 @@ search: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB seeders: selector: td.rowfollow:nth-child(6) + optional: true + default: 0 leechers: selector: td.rowfollow:nth-child(7) + optional: true + default: 0 grabs: selector: td.rowfollow:nth-child(8) + optional: true + default: 0 downloadvolumefactor: case: img.pro_free: 0 diff --git a/config/prowlarr/Definitions/zrpt.yml b/config/prowlarr/Definitions/zrpt.yml new file mode 100644 index 00000000..30d7008e --- /dev/null +++ b/config/prowlarr/Definitions/zrpt.yml @@ -0,0 +1,179 @@ +--- +id: zrpt +name: ZRPT (自然) +description: "ZRPT (自然) is a CHINESE Private Torrent Tracker for Documentaries" +language: zh-CN +type: private +encoding: UTF-8 +links: + - https://zrpt.cc/ + +caps: + categorymappings: + - {id: 412, cat: TV/Documentary, desc: "Nature"} + - {id: 413, cat: TV/Documentary, desc: "NatureWeb"} + - {id: 401, cat: TV/Documentary, desc: "军事纪实"} + - {id: 402, cat: TV/Documentary, desc: "生物自然"} + - {id: 403, cat: TV/Documentary, desc: "é¤éĄ®çľŽéŁź"} + - {id: 404, cat: TV/Documentary, desc: "人文记录"} + - {id: 405, cat: TV/Documentary, desc: "宇宙ćźç"} + - {id: 406, cat: TV/Documentary, desc: "éźłäąč§†é˘‘"} + - {id: 407, cat: TV/Documentary, desc: "体育čżĺЍ"} + - {id: 409, cat: TV/Documentary, desc: "ĺ…¶ĺ®"} + - {id: 415, cat: TV/Documentary, desc: "旅游风景"} + - {id: 416, cat: TV/Documentary, desc: "纪录片"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid] + +settings: + - name: cookie + type: text + label: Cookie + - name: info_cookie + type: info_cookie + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. + - name: info_activity + type: info + label: Account Inactivity + default: "Account retention rules:
  1. Veteran User and above will be retained forever
  2. Elite User and above will not have their account deleted after parking (in the control panel)
  3. Users with a parked account will be deleted if they do not log in for 400 consecutive days
  4. Users with a non-parked account will be deleted if they do not log in for 150 consecutive days
  5. Users who have no traffic (i.e. upload/download data are both 0) will be deleted if they do not log in for 100 consecutive days.
" + +login: + # using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php + method: cookie + inputs: + cookie: "{{ .Config.cookie }}" + test: + path: index.php + selector: a[href="logout.php"] + +search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" + # 0 incldead, 1 active, 2 dead + incldead: 0 + # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr, 3 uploader, 4 imdburl + search_area: "{{ if .Query.IMDBID }}4{{ else }}0{{ end }}" + # 0 AND, 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + notnewword: 1 + + rows: + selector: table.torrents > tbody > tr:has(a[href*="download.php?id="]) + + fields: + category: + selector: a[href*="?cat="] + attribute: href + filters: + - name: querystring + args: cat + title_default: + selector: a[href*="details.php?id="] + title: + selector: a[title][href*="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" + details: + selector: a[href*="details.php?id="] + attribute: href + download: + selector: a[href*="download.php?id="] + attribute: href + poster: + selector: img[data-src] + attribute: data-src + imdbid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="imdb.com/title/tt"] + attribute: href + date_elapsed: + # time type: time elapsed (default) + selector: td.rowfollow:nth-child(4) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-dd HH:mm:ss zzz" + date_added: + # time added + selector: td.rowfollow:nth-child(4):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + date: + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 + downloadvolumefactor: + case: + img.pro_free: 0 + img.pro_free2up: 0 + img.pro_50pctdown: 0.5 + img.pro_50pctdown2up: 0.5 + img.pro_30pctdown: 0.3 + "*": 1 + uploadvolumefactor: + case: + img.pro_50pctdown2up: 2 + img.pro_free2up: 2 + img.pro_2up: 2 + "*": 1 + minimumseedtime: + # 1 days (as seconds = 1 x 24 x 60 x 60) + text: 86400 + description: + selector: td.rowfollow:nth-child(2) + remove: a, b, font, img, span +# NexusPHP v1.9.6 2025-06-25 (custom) diff --git a/config/prowlarr/asp/key-d1249e6b-2e23-43a2-9f82-530e2d7c4bfe.xml b/config/prowlarr/asp/key-d1249e6b-2e23-43a2-9f82-530e2d7c4bfe.xml new file mode 100644 index 00000000..4e493ff3 --- /dev/null +++ b/config/prowlarr/asp/key-d1249e6b-2e23-43a2-9f82-530e2d7c4bfe.xml @@ -0,0 +1,16 @@ + + + 2026-02-15T12:53:23.791836Z + 2026-02-15T12:53:23.7266979Z + 2026-05-16T12:53:23.7266979Z + + + + + + + Dnf50LlBWnznePCMJ6jQvg9k1vDSS0ULsU4ZEWxn9HQUbTP9QkdnJHj6kdWuwt+hoRB+ZQw5X7HnbbzFv8P74w== + + + + \ No newline at end of file diff --git a/config/prowlarr/prowlarr.pid b/config/prowlarr/prowlarr.pid index 2d73b5e3..4701cc79 100644 --- a/config/prowlarr/prowlarr.pid +++ b/config/prowlarr/prowlarr.pid @@ -1 +1 @@ -152 \ No newline at end of file +150 \ No newline at end of file diff --git a/config/qbitorrent/qBittorrent/BT_backup/08b056d23a6d05ceee382799f964eef70390eb6f.fastresume b/config/qbitorrent/qBittorrent/BT_backup/08b056d23a6d05ceee382799f964eef70390eb6f.fastresume new file mode 100644 index 00000000..a7544b7e Binary files /dev/null and b/config/qbitorrent/qBittorrent/BT_backup/08b056d23a6d05ceee382799f964eef70390eb6f.fastresume differ diff --git a/config/qbitorrent/qBittorrent/BT_backup/08b056d23a6d05ceee382799f964eef70390eb6f.torrent b/config/qbitorrent/qBittorrent/BT_backup/08b056d23a6d05ceee382799f964eef70390eb6f.torrent new file mode 100644 index 00000000..54836fc4 Binary files /dev/null and b/config/qbitorrent/qBittorrent/BT_backup/08b056d23a6d05ceee382799f964eef70390eb6f.torrent differ diff --git a/config/qbitorrent/qBittorrent/BT_backup/112234c9f4439e6b4e9a6c7e4860dc4e0d523344.fastresume b/config/qbitorrent/qBittorrent/BT_backup/112234c9f4439e6b4e9a6c7e4860dc4e0d523344.fastresume new file mode 100644 index 00000000..6170e17c Binary files /dev/null and b/config/qbitorrent/qBittorrent/BT_backup/112234c9f4439e6b4e9a6c7e4860dc4e0d523344.fastresume differ diff --git a/config/qbitorrent/qBittorrent/BT_backup/112234c9f4439e6b4e9a6c7e4860dc4e0d523344.torrent b/config/qbitorrent/qBittorrent/BT_backup/112234c9f4439e6b4e9a6c7e4860dc4e0d523344.torrent new file mode 100644 index 00000000..5c7ca173 Binary files /dev/null and b/config/qbitorrent/qBittorrent/BT_backup/112234c9f4439e6b4e9a6c7e4860dc4e0d523344.torrent differ diff --git a/config/qbitorrent/qBittorrent/BT_backup/1997b578049f1f68c6e1778e72c4882a8306847c.fastresume b/config/qbitorrent/qBittorrent/BT_backup/1997b578049f1f68c6e1778e72c4882a8306847c.fastresume deleted file mode 100644 index 018198e5..00000000 Binary files a/config/qbitorrent/qBittorrent/BT_backup/1997b578049f1f68c6e1778e72c4882a8306847c.fastresume and /dev/null differ diff --git a/config/qbitorrent/qBittorrent/BT_backup/1997b578049f1f68c6e1778e72c4882a8306847c.torrent b/config/qbitorrent/qBittorrent/BT_backup/1997b578049f1f68c6e1778e72c4882a8306847c.torrent deleted file mode 100644 index c46ba147..00000000 --- a/config/qbitorrent/qBittorrent/BT_backup/1997b578049f1f68c6e1778e72c4882a8306847c.torrent +++ /dev/null @@ -1,3024 +0,0 @@ -d10:created by10:YggTorrent13:creation datei1763123807e4:infod5:filesld6:lengthi3098852128e4:pathl56:41 ans, mariĂ©e et infidèle (Lustful Housewives) [2012]32:41 ans, mariĂ©e et infidèle.mp4eed6:lengthi523129978e4:pathl68:1ère Colonie de Vacances (Mina Sauvage, Her 1st Summer Camp) [2017]76:hard-fuck-at-the-dormitory-with-the-nice-blue-angel-27130-1080p_full_mp4.mp4eed6:lengthi468674206e4:pathl68:1ère Colonie de Vacances (Mina Sauvage, Her 1st Summer Camp) [2017]57:mina-sauvage-her-1st-summer-camp-26381-1080p_full_mp4.mp4eed6:lengthi674896695e4:pathl68:1ère Colonie de Vacances (Mina Sauvage, Her 1st Summer Camp) [2017]71:shona-river-mina-sauvage-naughty-college-girls-26612-1080p_full_mp4.mp4eed6:lengthi559703538e4:pathl68:1ère Colonie de Vacances (Mina Sauvage, Her 1st Summer Camp) [2017]68:young-student-sodomized-by-the-sports-coach-25753-1080p_full_mp4.mp4eed6:lengthi253550240e4:pathl37:8 Françaises (French Affairs) [2012]82:cerise_slutty_redhead_filled_with_happiness_by_2_big_dicks-4703-1080p_full_mp4.mp4eed6:lengthi268846450e4:pathl37:8 Françaises (French Affairs) [2012]59:champagne-gode-with-liza-del-sierra-6235-1080p_full_mp4.mp4eed6:lengthi276673643e4:pathl37:8 Françaises (French Affairs) [2012]54:clanddi_big_boobs_and_anal_sex-4695-1080p_full_mp4.mp4eed6:lengthi444647846e4:pathl37:8 Françaises (French Affairs) [2012]80:hard_anal_sex_for_nasta_zya_with_her_friend_gina_summers-4599-1080p_full_mp4.mp4eed6:lengthi258833076e4:pathl37:8 Françaises (French Affairs) [2012]85:hard_sex_in_the_bathroom_with_sabrina_the_luscious_blond_girl-4591-1080p_full_mp4.mp4eed6:lengthi469776690e4:pathl66:19 ans... Jeune escorte (19 years old.. [2015]. Young Escort Girl)54:2-slutty-brunettes-for-one-man-6683-1080p_full_mp4.mp4eed6:lengthi423372524e4:pathl66:19 ans... Jeune escorte (19 years old.. [2015]. Young Escort Girl)56:19-years-old-and-already-bitches-6603-1080p_full_mp4.mp4eed6:lengthi303781188e4:pathl66:19 ans... Jeune escorte (19 years old.. [2015]. Young Escort Girl)62:dirty-gang-bang-for-the-young-daniella-6707-1080p_full_mp4.mp4eed6:lengthi405721792e4:pathl66:19 ans... Jeune escorte (19 years old.. [2015]. Young Escort Girl)41:peep-show-fantasy-6703-1080p_full_mp4.mp4eed6:lengthi387785423e4:pathl66:19 ans... Jeune escorte (19 years old.. [2015]. Young Escort Girl)53:prostitute-for-the-first-time-6635-1080p_full_mp4.mp4eed6:lengthi403200643e4:pathl62:39 ans, mariĂ©e et ouverte a tous (Wide Open Housewife) [2014]54:anal-orgasm-for-ava-courcelles-6103-1080p_full_mp4.mp4eed6:lengthi431341316e4:pathl62:39 ans, mariĂ©e et ouverte a tous (Wide Open Housewife) [2014]73:brunette-ready-for-anything-sodomized-on-the-desk-6115-1080p_full_mp4.mp4eed6:lengthi624169431e4:pathl62:39 ans, mariĂ©e et ouverte a tous (Wide Open Housewife) [2014]53:making-of-wide-open-housewife-6331-1080p_full_mp4.mp4eed6:lengthi300658057e4:pathl62:39 ans, mariĂ©e et ouverte a tous (Wide Open Housewife) [2014]43:milfs-orgy-outdoors-6339-1080p_full_mp4.mp4eed6:lengthi153688878e4:pathl62:39 ans, mariĂ©e et ouverte a tous (Wide Open Housewife) [2014]69:nice-blowjob-in-the-morning-by-ava-courcelles-6075-1080p_full_mp4.mp4eed6:lengthi386892806e4:pathl62:39 ans, mariĂ©e et ouverte a tous (Wide Open Housewife) [2014]65:satin-sodomized-in-the-restaurant-toilets-6155-1080p_full_mp4.mp4eed6:lengthi326232027e4:pathl62:39 ans, mariĂ©e et ouverte a tous (Wide Open Housewife) [2014]60:two-40-years-old-milfs-want-hard-sex-6107-1080p_full_mp4.mp4eed6:lengthi556916639e4:pathl73:40 ans mes vacances sans mon mari (My holidays without my husband) [2015]74:hard-outdoor-threesome-with-dani-daniels-lexi-lowe-7567-1080p_full_mp4.mp4eed6:lengthi374255756e4:pathl73:40 ans mes vacances sans mon mari (My holidays without my husband) [2015]63:lea-guerlin-banged-in-the-swimming-pool-7647-1080p_full_mp4.mp4eed6:lengthi493060625e4:pathl73:40 ans mes vacances sans mon mari (My holidays without my husband) [2015]64:making-of-my-holidays-without-my-husband-7939-1080p_full_mp4.mp4eed6:lengthi524363692e4:pathl73:40 ans mes vacances sans mon mari (My holidays without my husband) [2015]62:outdoor-orgasm-for-the-busty-lexi-lowe-7695-1080p_full_mp4.mp4eed6:lengthi394474284e4:pathl73:40 ans mes vacances sans mon mari (My holidays without my husband) [2015]101:sex-party-with-ava-courcelles-dani-daniels-on-vacation-without-their-husbands-7635-1080p_full_mp4.mp4eed6:lengthi398434283e4:pathl73:40 ans mes vacances sans mon mari (My holidays without my husband) [2015]61:sienna-busty-secretary-wants-hard-sex-7619-1080p_full_mp4.mp4eed6:lengthi548349501e4:pathl54:40 ans, la femme de mon voisin (Wife next door) [2013]41:2_mature_lesbians-4859-1080p_full_mp4.mp4eed6:lengthi609670788e4:pathl54:40 ans, la femme de mon voisin (Wife next door) [2013]62:42_years_old_milf_and_still_unfaithful-4819-1080p_full_mp4.mp4eed6:lengthi615551685e4:pathl54:40 ans, la femme de mon voisin (Wife next door) [2013]57:deep_anal_sex_for_liza_del_sierra-4811-1080p_full_mp4.mp4eed6:lengthi355300553e4:pathl54:40 ans, la femme de mon voisin (Wife next door) [2013]51:tiffany_doll_s_best_blowjob-4875-1080p_full_mp4.mp4eed6:lengthi466875445e4:pathl64:40 ans, l'age du Vice (40 years old, my new vicious life) [2016]56:milf-rebecca-fucks-2-young-boys-24557-1080p_full_mp4.mp4eed6:lengthi347399457e4:pathl64:40 ans, l'age du Vice (40 years old, my new vicious life) [2016]63:mistress-rebecca-more-prefers-anal-sex-25137-1080p_full_mp4.mp4eed6:lengthi439190289e4:pathl64:40 ans, l'age du Vice (40 years old, my new vicious life) [2016]51:nikita-and-the-milf-rebecca-9653-1080p_full_mp4.mp4eed6:lengthi515013460e4:pathl64:40 ans, l'age du Vice (40 years old, my new vicious life) [2016]69:nikita-sienna-day-hardcore-sex-party-at-pool-24637-1080p_full_mp4.mp4eed6:lengthi52305176e4:pathl64:40 ans, l'age du Vice (40 years old, my new vicious life) [2016]55:rebecca-more-the-big-tits-milf-24633-1080p_full_mp4.mp4eed6:lengthi542643851e4:pathl64:40 ans, l'age du Vice (40 years old, my new vicious life) [2016]44:rebecca-slutty-milf-24889-1080p_full_mp4.mp4eed6:lengthi161552035e4:pathl82:40 ans, Ma Femme n'a pas de Culotte (40 years old, My Wife With no Panties) [2017]46:busty-milf-no-panties-28594-1080p_full_mp4.mp4eed6:lengthi453307990e4:pathl82:40 ans, Ma Femme n'a pas de Culotte (40 years old, My Wife With no Panties) [2017]54:hardcore-dp-on-the-pool-table-28534-1080p_full_mp4.mp4eed6:lengthi552435344e4:pathl82:40 ans, Ma Femme n'a pas de Culotte (40 years old, My Wife With no Panties) [2017]59:his-wife-offers-him-2-slutty-girls-28314-1080p_full_mp4.mp4eed6:lengthi427522350e4:pathl82:40 ans, Ma Femme n'a pas de Culotte (40 years old, My Wife With no Panties) [2017]46:hot-40-years-old-milf-28490-1080p_full_mp4.mp4eed6:lengthi515683273e4:pathl82:40 ans, Ma Femme n'a pas de Culotte (40 years old, My Wife With no Panties) [2017]58:mariska_naughty_40_years_old_milf-28358-1080p_full_mp4.mp4eed6:lengthi504202660e4:pathl82:40 ans, Ma Femme n'a pas de Culotte (40 years old, My Wife With no Panties) [2017]63:the-invitation-of-rose-valerie-mariska-28110-1080p_full_mp4.mp4eed6:lengthi789608556e4:pathl68:40 ans, mariĂ©e mais libertine (Cathy 40, cheating housewife) [2014]50:2-inked-lesbians-raw-scene-5303-1080p_full_mp4.mp4eed6:lengthi893570271e4:pathl68:40 ans, mariĂ©e mais libertine (Cathy 40, cheating housewife) [2014]55:ava-courcelles-unfaithful-woman-5295-1080p_full_mp4.mp4eed6:lengthi395911537e4:pathl68:40 ans, mariĂ©e mais libertine (Cathy 40, cheating housewife) [2014]51:beautiful-milf-and-anal-sex-5335-1080p_full_mp4.mp4eed6:lengthi305959276e4:pathl68:40 ans, mariĂ©e mais libertine (Cathy 40, cheating housewife) [2014]51:cathy-40-cheating-housewife-5343-1080p_full_mp4.mp4eed6:lengthi734157367e4:pathl68:40 ans, mariĂ©e mais libertine (Cathy 40, cheating housewife) [2014]61:making-of-cathy-40-cheating-housewife-5311-1080p_full_mp4.mp4eed6:lengthi403358231e4:pathl68:40 ans, mariĂ©e mais libertine (Cathy 40, cheating housewife) [2014]51:orgy-with-libertine-friends-5291-1080p_full_mp4.mp4eed6:lengthi241139408e4:pathl68:40 ans, mariĂ©e mais libertine (Cathy 40, cheating housewife) [2014]72:tiffany-doll-high-class-prostitute-in-the-street-5283-1080p_full_mp4.mp4eed6:lengthi402075983e4:pathl68:41 ans, Épouse Adultère (41 years old, the cheating spouse) [2017]58:ania-my-unfaithful-wife-sodomized-26405-1080p_full_mp4.mp4eed6:lengthi342482719e4:pathl68:41 ans, Épouse Adultère (41 years old, the cheating spouse) [2017]60:hardcore-sex-party-with-zara-durose-25737-1080p_full_mp4.mp4eed6:lengthi553895550e4:pathl68:41 ans, Épouse Adultère (41 years old, the cheating spouse) [2017]66:the-misha-cross-initiation-by-ania-kinski-25913-1080p_full_mp4.mp4eed6:lengthi516626465e4:pathl68:41 ans, Épouse Adultère (41 years old, the cheating spouse) [2017]59:the-naughty-bourgeois-tamara-grace-26476-1080p_full_mp4.mp4eed6:lengthi337755203e4:pathl68:41 ans, Épouse Adultère (41 years old, the cheating spouse) [2017]52:zara-fucked-harder-by-2-men-26456-1080p_full_mp4.mp4eed6:lengthi93841152e4:pathl68:41 ans, Épouse Adultère (41 years old, the cheating spouse) [2017]60:zara-redhead-teen-suck-an-older-man-25189-1080p_full_mp4.mp4eed6:lengthi383216919e4:pathl68:1ère Colonie de Vacances (Mina Sauvage, Her 1st Summer Camp) [2017]61:gorgeous-babe-fucked-in-the-bathroom-27210-1080p_full_mp4.mp4eed6:lengthi660336735e4:pathl56:41 ans, mariĂ©e et infidèle (Lustful Housewives) [2012]54:making-of_-_lustful_housewives-4739-1080p_full_mp4.mp4eed6:lengthi341220801e4:pathl53:42 ans, femme infidèle (Unfaithful Housewife) [2013]46:tiffany-doll-great-dp-26317-1080p_full_mp4.mp4eed6:lengthi590831267e4:pathl79:43 ans, Les Nuits d'une Femme MariĂ©e (Married Woman - The Call of Lust) [2015]56:3-married-women-for-only-one-man-6795-1080p_full_mp4.mp4eed6:lengthi571743756e4:pathl79:43 ans, Les Nuits d'une Femme MariĂ©e (Married Woman - The Call of Lust) [2015]74:hot-married-milf-fucked-in-dp-by-2-men-in-the-barn-6831-1080p_full_mp4.mp4eed6:lengthi362463098e4:pathl79:43 ans, Les Nuits d'une Femme MariĂ©e (Married Woman - The Call of Lust) [2015]59:my-friend-s-hot-mom-is-a-real-bitch-6899-1080p_full_mp4.mp4eed6:lengthi365761487e4:pathl79:43 ans, Les Nuits d'une Femme MariĂ©e (Married Woman - The Call of Lust) [2015]59:satin-the-rich-woman-with-big-boobs-6723-1080p_full_mp4.mp4eed6:lengthi420486528e4:pathl79:43 ans, Les Nuits d'une Femme MariĂ©e (Married Woman - The Call of Lust) [2015]72:young-student-fucked-by-her-horse-riding-teacher-6951-1080p_full_mp4.mp4eed6:lengthi527491954e4:pathl66:43 ans, ma femme est Ă©changiste (43, My Wife is a Swinger) [2016]62:2-escorts-girls-fucked-by-one-big-dick-8375-1080p_full_mp4.mp4eed6:lengthi513324029e4:pathl66:43 ans, ma femme est Ă©changiste (43, My Wife is a Swinger) [2016]69:2-hot-housewives-to-fuck-now-on-my-car-s-hood-8143-1080p_full_mp4.mp4eed6:lengthi299601810e4:pathl66:43 ans, ma femme est Ă©changiste (43, My Wife is a Swinger) [2016]23:8355-1080p_full_mp4.mp4eed6:lengthi415203563e4:pathl66:43 ans, ma femme est Ă©changiste (43, My Wife is a Swinger) [2016]76:britanny-43-years-old-fucked-by-two-guys-at-poolside-7995-1080p_full_mp4.mp4eed6:lengthi449295826e4:pathl66:43 ans, ma femme est Ă©changiste (43, My Wife is a Swinger) [2016]94:cara-st-germain-the-au-pair-girl-perverted-by-the-milf-brittany-bardot-8199-1080p_full_mp4.mp4eed6:lengthi401151450e4:pathl83:Anissa et Lola Ă  l'Ă©cole d'infirmière (Anissa and Lola at Nursing School) [2014]23:5499-1080p_full_mp4.mp4eed6:lengthi397379893e4:pathl83:Anissa et Lola Ă  l'Ă©cole d'infirmière (Anissa and Lola at Nursing School) [2014]68:beautiful-blond-girl-fucked-by-the-lab-chief-5655-1080p_full_mp4.mp4eed6:lengthi419321167e4:pathl83:Anissa et Lola Ă  l'Ă©cole d'infirmière (Anissa and Lola at Nursing School) [2014]76:hard-trio-with-anissa-and-a-beautiful-blue-eyes-girl-5639-1080p_full_mp4.mp4eed6:lengthi344209549e4:pathl83:Anissa et Lola Ă  l'Ă©cole d'infirmière (Anissa and Lola at Nursing School) [2014]59:lola-reve-and-vanda-lust-hot-nurses-5535-1080p_full_mp4.mp4eed6:lengthi427051886e4:pathl83:Anissa et Lola Ă  l'Ă©cole d'infirmière (Anissa and Lola at Nursing School) [2014]69:lola-reve-gets-shagged-by-two-men-on-the-desk-5551-1080p_full_mp4.mp4eed6:lengthi682388964e4:pathl83:Anissa et Lola Ă  l'Ă©cole d'infirmière (Anissa and Lola at Nursing School) [2014]63:making-of-anissa-lola-at-nursing-school-5563-1080p_full_mp4.mp4eed6:lengthi410170238e4:pathl53:Anissa Kate, la Veuve (Anissa Kate, the Widow) [2013]51:claire_castel_cayenne_klein-4939-1080p_full_mp4.mp4eed6:lengthi602754131e4:pathl53:Anissa Kate, la Veuve (Anissa Kate, the Widow) [2013]61:claire_castel_the_nymphomaniac_lawyer-4815-1080p_full_mp4.mp4eed6:lengthi448064668e4:pathl53:Anissa Kate, la Veuve (Anissa Kate, the Widow) [2013]78:horny_widow_is_comforted_by_three_men_in_a_parking_lot-4799-1080p_full_mp4.mp4eed6:lengthi744990435e4:pathl53:Anissa Kate, la Veuve (Anissa Kate, the Widow) [2013]45:making-of_-_the_widow-4835-1080p_full_mp4.mp4eed6:lengthi955866565e4:pathl53:Anissa Kate, la Veuve (Anissa Kate, the Widow) [2013]61:melanie_memphis_a_woman_without_taboo-4923-1080p_full_mp4.mp4eed6:lengthi982573827e4:pathl53:Anissa Kate, la Veuve (Anissa Kate, the Widow) [2013]86:raw_video_-_la_veuve_-_tarra_white_and_cherry_kiss_overexcited-4755-1080p_full_mp4.mp4eed6:lengthi332364842e4:pathl52:Anna, les nuits chaudes (After party bitches) [2012]85:anna_polina_in_the_nightclub_s_ladies_room_with_her_2_friends-4583-1080p_full_mp4.mp4eed6:lengthi520163486e4:pathl52:Anna, les nuits chaudes (After party bitches) [2012]44:anna-nuit-chaude-sc5-6271-1080p_full_mp4.mp4eed6:lengthi489478984e4:pathl52:Anna, les nuits chaudes (After party bitches) [2012]44:anna-nuit-chaude-sc6-6275-1080p_full_mp4.mp4eed6:lengthi73662893e4:pathl52:Anna, les nuits chaudes (After party bitches) [2012]73:carla-cox-make-a-blowbob-to-the-restaurant-waiter-6263-1080p_full_mp4.mp4eed6:lengthi362336118e4:pathl52:Anna, les nuits chaudes (After party bitches) [2012]61:she-s-watching-her-friend-gets-fucked-6267-1080p_full_mp4.mp4eed6:lengthi349839478e4:pathl52:Anna, les nuits chaudes (After party bitches) [2012]73:tifanny-dolls-gets-fucked-by-2-men-in-a-nightclub-6259-1080p_full_mp4.mp4eed6:lengthi399817502e4:pathl78:Ballerine le jour, escorte la nuit (Ballerina by day, escort the night) [2014]64:2-dancing-girl-with-big-tits-for-one-man-5379-1080p_full_mp4.mp4eed6:lengthi418126080e4:pathl78:Ballerine le jour, escorte la nuit (Ballerina by day, escort the night) [2014]69:ava-courcelles-hard-trio-with-lesbian-friends-5407-1080p_full_mp4.mp4eed6:lengthi456715480e4:pathl78:Ballerine le jour, escorte la nuit (Ballerina by day, escort the night) [2014]76:french-ava-courcelles-sodomized-by-her-dance-teacher-5483-1080p_full_mp4.mp4eed6:lengthi493065153e4:pathl78:Ballerine le jour, escorte la nuit (Ballerina by day, escort the night) [2014]71:gina-18-years-old-fucked-after-her-dance-lesson-5543-1080p_full_mp4.mp4eed6:lengthi607013937e4:pathl78:Ballerine le jour, escorte la nuit (Ballerina by day, escort the night) [2014]51:hardcore-dp-for-the-striper-5595-1080p_full_mp4.mp4eed6:lengthi709126007e4:pathl78:Ballerine le jour, escorte la nuit (Ballerina by day, escort the night) [2014]66:making-of-ballerina-by-day-escort-by-night-5527-1080p_full_mp4.mp4eed6:lengthi392006234e4:pathl65:Cara & Lucy Escortes De Luxe (Cara & Lucy Escortes DeLuxe) [2017]73:anna-polina-gets-fucked-in-the-ass-by-joel-tomas-26417-1080p_full_mp4.mp4eed6:lengthi551036885e4:pathl65:Cara & Lucy Escortes De Luxe (Cara & Lucy Escortes DeLuxe) [2017]69:cara-lucy-escorts-deluxe-get-fucked-by-4-men-26293-1080p_full_mp4.mp4eed6:lengthi574199676e4:pathl65:Cara & Lucy Escortes De Luxe (Cara & Lucy Escortes DeLuxe) [2017]59:cara-luxury-escort-at-your-service-26413-1080p_full_mp4.mp4eed6:lengthi317246852e4:pathl65:Cara & Lucy Escortes De Luxe (Cara & Lucy Escortes DeLuxe) [2017]61:clea-gaultier-her-first-dorcel-scene-26197-1080p_full_mp4.mp4eed6:lengthi595711385e4:pathl65:Cara & Lucy Escortes De Luxe (Cara & Lucy Escortes DeLuxe) [2017]58:mina-young-escort-at-your-service-25809-1080p_full_mp4.mp4eed6:lengthi252067836e4:pathl65:Cara & Lucy Escortes De Luxe (Cara & Lucy Escortes DeLuxe) [2017]73:young-mina-fucked-by-the-huge-yannick-shaft-dick-26321-1080p_full_mp4.mp4eed6:lengthi716619438e4:pathl64:Cara, SecrĂ©taire Soumise (Cara, My Submissive Secretary) [2015]49:alex-tomas-loves-anal-sex-7935-1080p_full_mp4.mp4eed6:lengthi624402946e4:pathl64:Cara, SecrĂ©taire Soumise (Cara, My Submissive Secretary) [2015]81:anissa-gets-a-hard-dp-action-with-her-business-associates-7923-1080p_full_mp4.mp4eed6:lengthi1011016295e4:pathl64:Cara, SecrĂ©taire Soumise (Cara, My Submissive Secretary) [2015]73:behind-the-scenes-of-cara-my-submissive-secretary-7919-1080p_full_mp4.mp4eed6:lengthi489952883e4:pathl64:Cara, SecrĂ©taire Soumise (Cara, My Submissive Secretary) [2015]69:cara-a-devoted-secretary-banged-by-her-bosses-7831-1080p_full_mp4.mp4eed6:lengthi439809078e4:pathl64:Cara, SecrĂ©taire Soumise (Cara, My Submissive Secretary) [2015]70:felicia-20-years-old-gets-fucked-by-the-driver-7807-1080p_full_mp4.mp4eed6:lengthi507469897e4:pathl64:Cara, SecrĂ©taire Soumise (Cara, My Submissive Secretary) [2015]94:hard-threesome-in-the-toilets-with-the-hot-cara-st-germain-alexa-tomas-7871-1080p_full_mp4.mp4eed6:lengthi310993339e4:pathl69:Claire & Cara Ă  votre service (Claire & Cara at your service) [2015]54:big-busty-maid-at-your-service-6595-1080p_full_mp4.mp4eed6:lengthi561062467e4:pathl69:Claire & Cara Ă  votre service (Claire & Cara at your service) [2015]65:cara-st-germain-her-very-first-porn-scene-5939-1080p_full_mp4.mp4eed6:lengthi475991945e4:pathl69:Claire & Cara Ă  votre service (Claire & Cara at your service) [2015]84:cara-st-germain-lesbian-s-initiation-featuring-claire-castel-6675-1080p_full_mp4.mp4eed6:lengthi350415619e4:pathl69:Claire & Cara Ă  votre service (Claire & Cara at your service) [2015]69:chloe-lacourt-the-young-sodomized-housekeeper-6627-1080p_full_mp4.mp4eed6:lengthi478627962e4:pathl69:Claire & Cara Ă  votre service (Claire & Cara at your service) [2015]86:claire-castel-at-the-service-of-theses-gentlemen-for-a-hard-dp-6699-1080p_full_mp4.mp4eed6:lengthi711399439e4:pathl69:Claire & Cara Ă  votre service (Claire & Cara at your service) [2015]61:making-of-claire-cara-at-your-service-6671-1080p_full_mp4.mp4eed6:lengthi363167965e4:pathl99:Claire Castel - Comment je suis devenue libertine (Claire Castel - How I became a libertine) [2012]53:claire_castel_fucked_by_4_men-5127-1080p_full_mp4.mp4eed6:lengthi206288569e4:pathl99:Claire Castel - Comment je suis devenue libertine (Claire Castel - How I became a libertine) [2012]69:claire-castel-gets-fucked-by-a-total-stranger-5959-1080p_full_mp4.mp4eed6:lengthi381286682e4:pathl99:Claire Castel - Comment je suis devenue libertine (Claire Castel - How I became a libertine) [2012]61:one-blond-one-brunette-for-a-big-dick-5995-1080p_full_mp4.mp4eed6:lengthi727816320e4:pathl73:Claire Castel - Femme de chambre (Claire Castel - The Chambermaid) [2013]60:claire_castel_intense_dp_-_raw_video-4575-1080p_full_mp4.mp4eed6:lengthi308719796e4:pathl73:Claire Castel - Femme de chambre (Claire Castel - The Chambermaid) [2013]46:claire_castel_the_cook-4959-1080p_full_mp4.mp4eed6:lengthi430068427e4:pathl73:Claire Castel - Femme de chambre (Claire Castel - The Chambermaid) [2013]82:hard_initiation_for_a_young_brunette_in_the_baron_s_castle-4927-1080p_full_mp4.mp4eed6:lengthi736229702e4:pathl73:Claire Castel - Femme de chambre (Claire Castel - The Chambermaid) [2013]65:making-of_-_claire_castel_the_chambermaid-4779-1080p_full_mp4.mp4eed6:lengthi538937792e4:pathl73:Claire Castel - Femme de chambre (Claire Castel - The Chambermaid) [2013]61:nasta_zya_the_french_maid_-_hard_trio-4951-1080p_full_mp4.mp4eed6:lengthi895249444e4:pathl73:Claire Castel - Femme de chambre (Claire Castel - The Chambermaid) [2013]69:raw_video_-_two_beautiful_maid_for_a_big_dick-4711-1080p_full_mp4.mp4eed6:lengthi429112846e4:pathl53:Claire La Scandaleuse (Claire Scandalous Girl) [2014]71:2-slutty-girls-fucked-in-the-hall-by-a-big-dick-6111-1080p_full_mp4.mp4eed6:lengthi499420721e4:pathl53:Claire La Scandaleuse (Claire Scandalous Girl) [2014]51:4-awesome-babes-for-one-guy-6071-1080p_full_mp4.mp4eed6:lengthi382602454e4:pathl53:Claire La Scandaleuse (Claire Scandalous Girl) [2014]68:claire-castel-the-scandalous-fucked-by-3-men-6147-1080p_full_mp4.mp4eed6:lengthi567870232e4:pathl53:Claire La Scandaleuse (Claire Scandalous Girl) [2014]63:hard-chic-afternoon-with-2-slutty-girls-6183-1080p_full_mp4.mp4eed6:lengthi266084013e4:pathl53:Claire La Scandaleuse (Claire Scandalous Girl) [2014]63:hard-fuck-at-the-hotel-with-anna-polina-6051-1080p_full_mp4.mp4eed6:lengthi674649433e4:pathl53:Claire La Scandaleuse (Claire Scandalous Girl) [2014]55:making-of-claire-the-scandalous-5975-1080p_full_mp4.mp4eed6:lengthi550900710e4:pathl50:Claire la sexologue (Claire the sexologist) [2016]89:amazing-sex-scene-with-the-very-hot-claire-castel-and-jessie-volt-8961-1080p_full_mp4.mp4eed6:lengthi1032582714e4:pathl50:Claire la sexologue (Claire the sexologist) [2016]66:behind-the-scenes-of-claire-the-sexologist-9073-1080p_full_mp4.mp4eed6:lengthi245726486e4:pathl50:Claire la sexologue (Claire the sexologist) [2016]78:claire-castel-gets-fucked-by-a-stranger-she-met-online-8869-1080p_full_mp4.mp4eed6:lengthi285354544e4:pathl50:Claire la sexologue (Claire the sexologist) [2016]81:claire-castel-wants-sex-and-gets-fucked-by-a-truck-driver-8997-1080p_full_mp4.mp4eed6:lengthi270004570e4:pathl50:Claire la sexologue (Claire the sexologist) [2016]75:hard-intense-sex-party-with-alexa-tomas-anna-polina-8853-1080p_full_mp4.mp4eed6:lengthi181031553e4:pathl50:Claire la sexologue (Claire the sexologist) [2016]62:valentin-nappi-submitted-by-s-m-master-8877-1080p_full_mp4.mp4eed6:lengthi263455796e4:pathl55:Claire La Soumise (Claire Desires of Submission) [2017]69:claire-desires-of-submission-e01-the-meeting-26488-1080p_full_mp4.mp4eed6:lengthi298381220e4:pathl55:Claire La Soumise (Claire Desires of Submission) [2017]78:claire-desires-of-submission-e03-chopsticks-pleasures-27068-1080p_full_mp4.mp4eed6:lengthi716472720e4:pathl55:Claire La Soumise (Claire Desires of Submission) [2017]69:claire-desires-of-submission-e04-first-tests-27110-1080p_full_mp4.mp4eed6:lengthi522615464e4:pathl55:Claire La Soumise (Claire Desires of Submission) [2017]66:claire-la-soumise-e05-the-whore-s-student-27134-1080p_full_mp4.mp4eed6:lengthi532573391e4:pathl55:Claire La Soumise (Claire Desires of Submission) [2017]62:claire-la-soumise-e06-the-final-stage-27178-1080p_full_mp4.mp4eed6:lengthi693625296e4:pathl55:Claire La Soumise (Claire Desires of Submission) [2017]63:making-of-claire-desires-of-submission-27182-1080p_full_mp4.mp4eed6:lengthi317751542e4:pathl55:Claire La Soumise (Claire Desires of Submission) [2017]35:the-dinner-26552-1080p_full_mp4.mp4eed6:lengthi379539511e4:pathl81:Comment je suis devenue une Esclave Sexuelle (How I became a Sexual Slave) [2015]77:2-young-blonds-initiated-to-lesbians-games-by-2-milfs-6819-1080p_full_mp4.mp4eed6:lengthi414003363e4:pathl81:Comment je suis devenue une Esclave Sexuelle (How I became a Sexual Slave) [2015]50:hot-milf-fucks-a-young-man-6719-1080p_full_mp4.mp4eed6:lengthi455490799e4:pathl81:Comment je suis devenue une Esclave Sexuelle (How I became a Sexual Slave) [2015]52:libertine-for-the-first-time-6851-1080p_full_mp4.mp4eed6:lengthi329363275e4:pathl81:Comment je suis devenue une Esclave Sexuelle (How I became a Sexual Slave) [2015]61:scarlet-red-22-years-old-sexual-slave-6691-1080p_full_mp4.mp4eed6:lengthi356834259e4:pathl81:Comment je suis devenue une Esclave Sexuelle (How I became a Sexual Slave) [2015]52:scarlet-the-blond-sex-addict-6779-1080p_full_mp4.mp4eed6:lengthi344452689e4:pathl75:Enterrement de vie de jeune fille aux CaraĂŻbes (Bachelorette Party) [2012]65:anna_polina_-_hard_dp_on_a_paradise_beach-4579-1080p_full_mp4.mp4eed6:lengthi381992877e4:pathl75:Enterrement de vie de jeune fille aux CaraĂŻbes (Bachelorette Party) [2012]88:anna_polina_and_tarra_white_get_fucked_by_a_stranger_at_the_pool-4563-1080p_full_mp4.mp4eed6:lengthi410218552e4:pathl75:Enterrement de vie de jeune fille aux CaraĂŻbes (Bachelorette Party) [2012]77:hard_anal_sex_for_avril_sun_with_her_friend_abbie_cat-4567-1080p_full_mp4.mp4eed6:lengthi276803060e4:pathl75:Enterrement de vie de jeune fille aux CaraĂŻbes (Bachelorette Party) [2012]75:hard_trio_with_two_blonds_girls_on_a_beautiful_boat-4571-1080p_full_mp4.mp4eed6:lengthi676035307e4:pathl75:Enterrement de vie de jeune fille aux CaraĂŻbes (Bachelorette Party) [2012]54:making-of_-_bachelorette_party-4715-1080p_full_mp4.mp4eed6:lengthi344576394e4:pathl47:Etudiantes Infirmières (Student Nurses) [2015]49:hard-dp-in-the-school-bus-6343-1080p_full_mp4.mp4eed6:lengthi536118659e4:pathl47:Etudiantes Infirmières (Student Nurses) [2015]72:hard-fuck-with-a-hot-brunette-at-a-student-party-6427-1080p_full_mp4.mp4eed6:lengthi619546426e4:pathl47:Etudiantes Infirmières (Student Nurses) [2015]49:hard-trio-at-the-hospital-6435-1080p_full_mp4.mp4eed6:lengthi478734511e4:pathl47:Etudiantes Infirmières (Student Nurses) [2015]67:slutty-student-blow-her-prof-under-the-desk-6407-1080p_full_mp4.mp4eed6:lengthi335113426e4:pathl47:Etudiantes Infirmières (Student Nurses) [2015]63:the-nursing-student-tiffany-learns-fast-6239-1080p_full_mp4.mp4eed6:lengthi398459731e4:pathl45:Harcelement Sexuel (Sexual Harassment) [2015]58:alice-laurent-the-real-cock-teaser-6903-1080p_full_mp4.mp4eed6:lengthi190701391e4:pathl45:Harcelement Sexuel (Sexual Harassment) [2015]79:blowjob-deepthroat-by-the-french-secretary-sophia-laure-7191-1080p_full_mp4.mp4eed6:lengthi430192917e4:pathl45:Harcelement Sexuel (Sexual Harassment) [2015]54:chloe-the-hr-manager-sodomized-6835-1080p_full_mp4.mp4eed6:lengthi417354809e4:pathl45:Harcelement Sexuel (Sexual Harassment) [2015]64:julie-blindfolded-fucked-by-her-workmate-6755-1080p_full_mp4.mp4eed6:lengthi723862296e4:pathl45:Harcelement Sexuel (Sexual Harassment) [2015]51:making-of-sexual-harassment-7247-1080p_full_mp4.mp4eed6:lengthi119406535e4:pathl45:Harcelement Sexuel (Sexual Harassment) [2015]76:nice-fuck-at-the-office-with-the-busty-sabrina-sweet-7239-1080p_full_mp4.mp4eed6:lengthi374953611e4:pathl45:Harcelement Sexuel (Sexual Harassment) [2015]53:sex-at-the-office-on-the-desk-6751-1080p_full_mp4.mp4eed6:lengthi566299968e4:pathl39:Hotesses de l'air (Stewardesses) [2015]72:air-hostess-claire-castel-care-for-her-passenger-6031-1080p_full_mp4.mp4eed6:lengthi405633654e4:pathl39:Hotesses de l'air (Stewardesses) [2015]60:chic-orgy-at-ibiza-in-a-luxury-villa-6383-1080p_full_mp4.mp4eed6:lengthi711207314e4:pathl39:Hotesses de l'air (Stewardesses) [2015]46:making-of-stewardesses-6395-1080p_full_mp4.mp4eed6:lengthi378712768e4:pathl39:Hotesses de l'air (Stewardesses) [2015]36:scene-1-lola-6371-1080p_full_mp4.mp4eed6:lengthi469800974e4:pathl39:Hotesses de l'air (Stewardesses) [2015]44:scene-2-alexis-vanda-6375-1080p_full_mp4.mp4eed6:lengthi418238231e4:pathl39:Hotesses de l'air (Stewardesses) [2015]43:scene-3-lola-claire-6379-1080p_full_mp4.mp4eed6:lengthi352514310e4:pathl39:Hotesses de l'air (Stewardesses) [2015]51:scene-5-claire-castel-villa-6387-1080p_full_mp4.mp4eed6:lengthi278111167e4:pathl26:In bed with Katsuni [2012]66:katsuni_s_intense_pleasure_with_a_stranger-4647-1080p_full_mp4.mp4eed6:lengthi388919817e4:pathl26:In bed with Katsuni [2012]61:orgy_in_a_strip_club_with_anissa_kate-4651-1080p_full_mp4.mp4eed6:lengthi411834585e4:pathl28:Ines, Escorte de Luxe [2016]69:hard-dp-for-claire-castel-at-a-very-hot-party-7519-1080p_full_mp4.mp4eed6:lengthi304175753e4:pathl28:Ines, Escorte de Luxe [2016]86:ines-lenvin-kimber-delice-two-new-dorcel-girls-at-your-service-8067-1080p_full_mp4.mp4eed6:lengthi539223482e4:pathl28:Ines, Escorte de Luxe [2016]60:kimber-delice-her-first-dorcel-scene-8427-1080p_full_mp4.mp4eed6:lengthi721535360e4:pathl28:Ines, Escorte de Luxe [2016]52:making-of-ines-escort-deluxe-9141-1080p_full_mp4.mp4eed6:lengthi245466221e4:pathl28:Ines, Escorte de Luxe [2016]98:the-innocent-girl-luna-rival-fucked-in-front-of-a-group-of-men-in-a-hammam-9001-1080p_full_mp4.mp4eed6:lengthi267540278e4:pathl28:Ines, Escorte de Luxe [2016]87:the-new-dorcel-girl-ines-lenvin-initiated-by-pascal-saint-james-8873-1080p_full_mp4.mp4eed6:lengthi334534590e4:pathl62:Inès, infirmière très privĂ©e (Inès, private nurse) [2016]69:anna-siline-chief-doctor-s-very-private-nurse-8667-1080p_full_mp4.mp4eed6:lengthi548681744e4:pathl62:Inès, infirmière très privĂ©e (Inès, private nurse) [2016]68:ines-lenvin-hard-gang-bang-with-a-rugby-team-8823-1080p_full_mp4.mp4eed6:lengthi267195882e4:pathl62:Inès, infirmière très privĂ©e (Inès, private nurse) [2016]66:ines-lenvin-nurse-sodomized-by-her-patient-8783-1080p_full_mp4.mp4eed6:lengthi446608384e4:pathl62:Inès, infirmière très privĂ©e (Inès, private nurse) [2016]99:lesbian-games-between-ines-lenvin-lena-nitro-in-front-of-the-voyeur-husband-8807-1080p_full_mp4.mp4eed6:lengthi699709265e4:pathl62:Inès, infirmière très privĂ©e (Inès, private nurse) [2016]52:making-of-ines-private-nurse-8819-1080p_full_mp4.mp4eed6:lengthi58801883e4:pathl62:Inès, infirmière très privĂ©e (Inès, private nurse) [2016]80:nikita-belluci-sucks-the-firefighter-s-dick-in-his-truck-8655-1080p_full_mp4.mp4eed6:lengthi465787183e4:pathl62:Inès, infirmière très privĂ©e (Inès, private nurse) [2016]84:the-gorgeous-nikita-bellucci-alexa-tomas-abuse-their-patient-8791-1080p_full_mp4.mp4eed6:lengthi373011113e4:pathl28:Initiation of Clanddi [2012]66:clanddi_and_liza_del_sierra_hungry_bitches-4511-1080p_full_mp4.mp4eed6:lengthi488077577e4:pathl28:Initiation of Clanddi [2012]81:jessie_volt_get_dominated_like_a_slut_by_clanddi_jinkcego-4491-1080p_full_mp4.mp4eed6:lengthi272905518e4:pathl28:Initiation of Clanddi [2012]76:jessie_volt_gets_fucked_by_mike_angelo_in_the_shower-4507-1080p_full_mp4.mp4eed6:lengthi365659758e4:pathl28:Initiation of Clanddi [2012]81:nasta_zya_the_young_frenchy_is_initiated_by_sabrina_sweet-4515-1080p_full_mp4.mp4eed6:lengthi279833230e4:pathl68:Jessie, assistante particulière (Jessie, personal assistant) [2015]67:blond-secretary-jessie-volt-enjoys-anal-sex-7275-1080p_full_mp4.mp4eed6:lengthi292070637e4:pathl68:Jessie, assistante particulière (Jessie, personal assistant) [2015]66:india-summer-40-years-old-but-still-slutty-7219-1080p_full_mp4.mp4eed6:lengthi329210420e4:pathl68:Jessie, assistante particulière (Jessie, personal assistant) [2015]72:jessie-initiates-young-kari-to-lesbian-pleasures-7167-1080p_full_mp4.mp4eed6:lengthi693336024e4:pathl68:Jessie, assistante particulière (Jessie, personal assistant) [2015]59:making-of-jessie-personal-assistant-7475-1080p_full_mp4.mp4eed6:lengthi373460626e4:pathl68:Jessie, assistante particulière (Jessie, personal assistant) [2015]49:scarlet-red-fucked-harder-7087-1080p_full_mp4.mp4eed6:lengthi413225710e4:pathl68:Jessie, assistante particulière (Jessie, personal assistant) [2015]57:victoria-sweet-the-beautiful-slut-7039-1080p_full_mp4.mp4eed6:lengthi706614434e4:pathl46:Jeunes Cavalières (Young Horse Riders) [2014]61:cherry_kiss_anal_sex_with_her_teacher-5099-1080p_full_mp4.mp4eed6:lengthi513178163e4:pathl46:Jeunes Cavalières (Young Horse Riders) [2014]34:lana_fever-5155-1080p_full_mp4.mp4eed6:lengthi382792319e4:pathl46:Jeunes Cavalières (Young Horse Riders) [2014]36:lesbian_trio-5095-1080p_full_mp4.mp4eed6:lengthi680006970e4:pathl46:Jeunes Cavalières (Young Horse Riders) [2014]54:making-of_-_young_horse_riders-5083-1080p_full_mp4.mp4eed6:lengthi588229170e4:pathl46:Jeunes Cavalières (Young Horse Riders) [2014]55:pervers_trio_with_college_girls-4983-1080p_full_mp4.mp4eed6:lengthi781259904e4:pathl20:La Bourgeoise [2013]45:4_sullied_girls_-_raw-4619-1080p_full_mp4.mp4eed6:lengthi563827494e4:pathl20:La Bourgeoise [2013]49:jessyca_wilson_is_on_fire-4871-1080p_full_mp4.mp4eed6:lengthi708097522e4:pathl20:La Bourgeoise [2013]49:making-of_-_la_bourgeoise-4743-1080p_full_mp4.mp4eed6:lengthi181150844e4:pathl20:La Bourgeoise [2013]71:tarra_white_getting_fucked_by_3_men_in_the_rain-4911-1080p_full_mp4.mp4eed6:lengthi392363162e4:pathl38:La Cavalière (The Horse rider) [2017]55:jessa-rhodes-extreme-pleasures-28854-1080p_full_mp4.mp4eed6:lengthi483972019e4:pathl38:La Cavalière (The Horse rider) [2017]50:the-stunning-jessa-rhodes-28198-1080p_full_mp4.mp4eed6:lengthi476848296e4:pathl38:La Cavalière (The Horse rider) [2017]61:tonight-i-tape-my-wife-and-her-lover-29186-1080p_full_mp4.mp4eed6:lengthi723844197e4:pathl31:La Danseuse (The Dancer) [2013]84:avant-premiere_-_hard_audition_for_the_dancer_aleska_diamond-4707-1080p_full_mp4.mp4eed6:lengthi760921272e4:pathl31:La Danseuse (The Dancer) [2013]96:avant-premiere_-_luxurious_orgy_with_friends_and_aleska_the_dancing_girl-4735-1080p_full_mp4.mp4eed6:lengthi1055126456e4:pathl31:La Danseuse (The Dancer) [2013]56:jessie_volt_will_stop_at_nothing-4791-1080p_full_mp4.mp4eed6:lengthi682084360e4:pathl31:La Danseuse (The Dancer) [2013]46:making-of_-_the_dancer-4771-1080p_full_mp4.mp4eed6:lengthi422189574e4:pathl60:La fille du milliardaire (The billionaire's daughter) [2015]88:big-tits-milf-having-sex-while-her-daughter-blow-2-men-in-public-6507-1080p_full_mp4.mp4eed6:lengthi647968712e4:pathl60:La fille du milliardaire (The billionaire's daughter) [2015]55:deep-anal-sex-for-2-busty-girls-6555-1080p_full_mp4.mp4eed6:lengthi689572317e4:pathl60:La fille du milliardaire (The billionaire's daughter) [2015]58:hard-threesome-with-2-slutty-girls-6543-1080p_full_mp4.mp4eed6:lengthi743563341e4:pathl60:La fille du milliardaire (The billionaire's daughter) [2015]60:making-of-the-billionaire-s-daughter-6511-1080p_full_mp4.mp4eed6:lengthi374093865e4:pathl60:La fille du milliardaire (The billionaire's daughter) [2015]70:naughty-blond-and-ready-to-anything-to-succeed-6479-1080p_full_mp4.mp4eed6:lengthi414761372e4:pathl60:La fille du milliardaire (The billionaire's daughter) [2015]77:the-big-tits-director-fucked-by-the-huge-danny-d-dick-6467-1080p_full_mp4.mp4eed6:lengthi1101928794e4:pathl41:La jeune Avocate (A novice Lawyer) [2014]66:4_big_dicks_for_ava_courcelles_in_a_cellar-5215-1080p_full_mp4.mp4eed6:lengthi425847970e4:pathl41:La jeune Avocate (A novice Lawyer) [2014]46:anna_polina_the_lawyer-4971-1080p_full_mp4.mp4eed6:lengthi289584142e4:pathl41:La jeune Avocate (A novice Lawyer) [2014]64:ava_courcelles_hard_fuck_in_the_restroom-5259-1080p_full_mp4.mp4eed6:lengthi409581507e4:pathl41:La jeune Avocate (A novice Lawyer) [2014]52:lola_reve_the_hot_blond_girl-5263-1080p_full_mp4.mp4eed6:lengthi694920719e4:pathl41:La jeune Avocate (A novice Lawyer) [2014]44:making-of_-_a_novice-5219-1080p_full_mp4.mp4eed6:lengthi307310988e4:pathl41:La jeune Avocate (A novice Lawyer) [2014]85:sophie_and_lola_the_2_naughty_girls_for_one_guy_at_restaurant-5251-1080p_full_mp4.mp4eed6:lengthi235808339e4:pathl38:La journaliste (The Journalist) [2012]57:1st_hard_anal_sex_for_anna_polina-4551-1080p_full_mp4.mp4eed6:lengthi227598778e4:pathl38:La journaliste (The Journalist) [2012]58:3_dicks_for_a_bitch_in_a_nightclub-4547-1080p_full_mp4.mp4eed6:lengthi271339778e4:pathl38:La journaliste (The Journalist) [2012]85:denisa_heaven_beautiful_ginger_gets_fucked_in_the_parking_lot-4555-1080p_full_mp4.mp4eed6:lengthi263780404e4:pathl38:La journaliste (The Journalist) [2012]102:denisa_heaven_elegant_sexy_ginger_gets_fucked_with_her_big_tits_friend_clanddi-4543-1080p_full_mp4.mp4eed6:lengthi305779780e4:pathl38:La journaliste (The Journalist) [2012]58:orgy_in_a_fashionable_luxury_manor-4559-1080p_full_mp4.mp4eed6:lengthi456046983e4:pathl46:La Mauvaise Eleve (Naughty School Girl) [2015]81:2-young-swimmers-fucked-by-their-coach-in-the-locker-room-6791-1080p_full_mp4.mp4eed6:lengthi472775539e4:pathl46:La Mauvaise Eleve (Naughty School Girl) [2015]55:a-dp-for-sophie-the-bad-student-6727-1080p_full_mp4.mp4eed6:lengthi545863352e4:pathl46:La Mauvaise Eleve (Naughty School Girl) [2015]69:hard-dp-for-the-young-19-years-old-schoolgirl-6815-1080p_full_mp4.mp4eed6:lengthi520045186e4:pathl46:La Mauvaise Eleve (Naughty School Girl) [2015]60:only-19-years-old-but-already-slutty-6895-1080p_full_mp4.mp4eed6:lengthi406784331e4:pathl46:La Mauvaise Eleve (Naughty School Girl) [2015]58:sophie-likes-it-anal-after-classes-6855-1080p_full_mp4.mp4eed6:lengthi418872790e4:pathl37:La Prisonnière (The Prisoner) [2017]56:clea-gaultier-double-punishment-28858-1080p_full_mp4.mp4eed6:lengthi409382445e4:pathl37:La Prisonnière (The Prisoner) [2017]58:clea-gaultier-gets-a-strip-search-29170-1080p_full_mp4.mp4eed6:lengthi497504494e4:pathl37:La Prisonnière (The Prisoner) [2017]35:inside-out-29254-1080p_full_mp4.mp4eed6:lengthi374091417e4:pathl37:La Prisonnière (The Prisoner) [2017]47:prisonners-greedy-girl-29122-1080p_full_mp4.mp4eed6:lengthi436622234e4:pathl37:La Prisonnière (The Prisoner) [2017]54:valentina-nappi-lusted-warden-28882-1080p_full_mp4.mp4eed6:lengthi571963140e4:pathl58:La secrĂ©taire de mon père (My father's secretary) [2017]66:2-young-secretaries-devoted-to-their-boss-27254-1080p_full_mp4.mp4eed6:lengthi466565651e4:pathl58:La secrĂ©taire de mon père (My father's secretary) [2017]48:blue-angel-stocking-sex-28134-1080p_full_mp4.mp4eed6:lengthi338788396e4:pathl58:La secrĂ©taire de mon père (My father's secretary) [2017]50:cherry-the-anal-secretary-27414-1080p_full_mp4.mp4eed6:lengthi719208959e4:pathl58:La secrĂ©taire de mon père (My father's secretary) [2017]56:making-of-my-father-s-secretary-27922-1080p_full_mp4.mp4eed6:lengthi337587403e4:pathl58:La secrĂ©taire de mon père (My father's secretary) [2017]69:mariska-fucked-in-the-bathroom-by-a-stranger-27098-1080p_full_mp4.mp4eed6:lengthi620882675e4:pathl58:La secrĂ©taire de mon père (My father's secretary) [2017]55:milf-mariska-prefers-young-men-27290-1080p_full_mp4.mp4eed6:lengthi734182827e4:pathl47:Le Dortoir des Filles (Girls' Dormitory) [2014]105:avant-premiere_-_le_dortoir_des_filles_lesbian_trio_with_the_most_beautiful_girls-4691-1080p_full_mp4.mp4eed6:lengthi458749505e4:pathl47:Le Dortoir des Filles (Girls' Dormitory) [2014]47:hard_dp_for_the_manager-4795-1080p_full_mp4.mp4eed6:lengthi717101054e4:pathl54:Le journal d'une Etudiante (Diary of a Student) [2017]64:behind-the-scenes-of-diary-of-a-student-25205-1080p_full_mp4.mp4eed6:lengthi282842699e4:pathl54:Le journal d'une Etudiante (Diary of a Student) [2017]53:fira-18-young-docile-student-25457-1080p_full_mp4.mp4eed6:lengthi597498236e4:pathl54:Le journal d'une Etudiante (Diary of a Student) [2017]55:mina-sauvage-pervert-afterwork-25201-1080p_full_mp4.mp4eed6:lengthi407878974e4:pathl54:Le journal d'une Etudiante (Diary of a Student) [2017]63:nikita-alexa-anal-sex-party-with-3-men-24893-1080p_full_mp4.mp4eed6:lengthi369819762e4:pathl54:Le journal d'une Etudiante (Diary of a Student) [2017]66:the-very-first-anal-scene-of-mina-sauvage-25129-1080p_full_mp4.mp4eed6:lengthi370530055e4:pathl43:Le parfum de Manon (Manon's perfume) [2015]56:anal-submission-for-manon-martin-7295-1080p_full_mp4.mp4eed6:lengthi186491070e4:pathl43:Le parfum de Manon (Manon's perfume) [2015]61:cecilia-de-lys-the-pigalle-prostitute-7323-1080p_full_mp4.mp4eed6:lengthi384328813e4:pathl43:Le parfum de Manon (Manon's perfume) [2015]59:chic-perverse-orgy-with-anissa-kate-7315-1080p_full_mp4.mp4eed6:lengthi852137472e4:pathl43:Le parfum de Manon (Manon's perfume) [2015]52:making-of-le-parfum-de-manon-7339-1080p_full_mp4.mp4eed6:lengthi302661009e4:pathl43:Le parfum de Manon (Manon's perfume) [2015]69:manon-chloe-get-fucked-at-a-hard-little-party-7319-1080p_full_mp4.mp4eed6:lengthi315821426e4:pathl43:Le parfum de Manon (Manon's perfume) [2015]59:manon-martin-banged-by-4-masked-men-7287-1080p_full_mp4.mp4eed6:lengthi305926143e4:pathl43:Le parfum de Manon (Manon's perfume) [2015]66:new-french-girl-lea-guerlin-her-first-porn-7291-1080p_full_mp4.mp4eed6:lengthi156573153e4:pathl30:Le point Q (The Q Spot) [2012]87:a_gorgeous_outfielder_taking_it_anal_and_deep_on_the_circus_ring-175-1080p_full_mp4.mp4eed6:lengthi236369868e4:pathl30:Le point Q (The Q Spot) [2012]97:deep_anal_job_for_a_gorgeous_blond_and_a_pervie_doctor_seeking_the_q_point-177-1080p_full_mp4.mp4eed6:lengthi186505230e4:pathl30:Le point Q (The Q Spot) [2012]81:dolly_a_hot_devoted_medical_secretary_enjoying_deep_sodomy-176-1080p_full_mp4.mp4eed6:lengthi238756682e4:pathl30:Le point Q (The Q Spot) [2012]97:top_hardcore_sodomy_and_anal_job_for_a_classy_girl_seeking_for_her_q_point-178-1080p_full_mp4.mp4eed6:lengthi649733266e4:pathl90:LĂ©a Guerlin au dortoir des filles (Lea Guerlin first night in the girls dormitory) [2016]85:4-college-girls-get-fucked-in-the-dormitory-by-the-supervisor-8047-1080p_full_mp4.mp4eed6:lengthi582717308e4:pathl90:LĂ©a Guerlin au dortoir des filles (Lea Guerlin first night in the girls dormitory) [2016]64:hard-dp-for-anita-bellini-under-the-tent-8135-1080p_full_mp4.mp4eed6:lengthi414312398e4:pathl90:LĂ©a Guerlin au dortoir des filles (Lea Guerlin first night in the girls dormitory) [2016]61:lola-taylor-the-obedient-college-girl-8063-1080p_full_mp4.mp4eed6:lengthi733696958e4:pathl90:LĂ©a Guerlin au dortoir des filles (Lea Guerlin first night in the girls dormitory) [2016]80:making-of-lea-guerlin-first-night-in-the-girls-dormitory-8219-1080p_full_mp4.mp4eed6:lengthi505800184e4:pathl90:LĂ©a Guerlin au dortoir des filles (Lea Guerlin first night in the girls dormitory) [2016]70:outdoor-threesome-with-the-student-gina-gerson-8043-1080p_full_mp4.mp4eed6:lengthi491380342e4:pathl90:LĂ©a Guerlin au dortoir des filles (Lea Guerlin first night in the girls dormitory) [2016]75:the-teen-lea-gets-banged-by-a-stranger-in-the-woods-7931-1080p_full_mp4.mp4eed6:lengthi545898091e4:pathl73:L'Ă©ducation d'une jeune soubrette (The Education of a young maid) [2014]68:2-young-french-maids-devoted-to-their-master-5651-1080p_full_mp4.mp4eed6:lengthi373028083e4:pathl73:L'Ă©ducation d'une jeune soubrette (The Education of a young maid) [2014]67:anissa-kate-fucked-in-the-ass-by-her-master-5675-1080p_full_mp4.mp4eed6:lengthi291215296e4:pathl73:L'Ă©ducation d'une jeune soubrette (The Education of a young maid) [2014]67:hard-dp-for-the-french-woman-ava-courcelles-5643-1080p_full_mp4.mp4eed6:lengthi678906398e4:pathl73:L'Ă©ducation d'une jeune soubrette (The Education of a young maid) [2014]63:making-of-the-education-of-a-young-maid-5659-1080p_full_mp4.mp4eed6:lengthi475022680e4:pathl73:L'Ă©ducation d'une jeune soubrette (The Education of a young maid) [2014]78:sharon-lee-the-beautiful-asian-ass-fucked-on-the-floor-5559-1080p_full_mp4.mp4eed6:lengthi408744805e4:pathl73:L'Ă©ducation d'une jeune soubrette (The Education of a young maid) [2014]66:taylor-sands-young-maid-fucked-by-her-boss-5575-1080p_full_mp4.mp4eed6:lengthi344301418e4:pathl54:Les 12 coups de minuit (12 Strokes To Midnight) [2012]44:christmas-s-threesome-168-1080p_full_mp4.mp4eed6:lengthi620815632e4:pathl54:Les 12 coups de minuit (12 Strokes To Midnight) [2012]44:orgy-of-christmas-eve-169-1080p_full_mp4.mp4eed6:lengthi220977710e4:pathl54:Les 12 coups de minuit (12 Strokes To Midnight) [2012]47:sodomy-for-christmas-eve-167-1080p_full_mp4.mp4eed6:lengthi457270370e4:pathl65:Les Etalons de Mademoiselle (The Mademoiselle's Stallions) [2013]47:anissa_kate_and_jasmine-4963-1080p_full_mp4.mp4eed6:lengthi699727362e4:pathl65:Les Etalons de Mademoiselle (The Mademoiselle's Stallions) [2013]48:anissa_kate_and_two_mens-4991-1080p_full_mp4.mp4eed6:lengthi523199850e4:pathl65:Les Etalons de Mademoiselle (The Mademoiselle's Stallions) [2013]57:anissa_kate_big_tits_and_anal_sex-4979-1080p_full_mp4.mp4eed6:lengthi397715970e4:pathl65:Les Etalons de Mademoiselle (The Mademoiselle's Stallions) [2013]36:le_haras_s05-5051-1080p_full_mp4.mp4eed6:lengthi694244714e4:pathl65:Les Etalons de Mademoiselle (The Mademoiselle's Stallions) [2013]65:making-of_-_the_stallions_of_mademoiselle-4967-1080p_full_mp4.mp4eed6:lengthi240117065e4:pathl65:Les Etalons de Mademoiselle (The Mademoiselle's Stallions) [2013]48:milf_fucked_at_the_haras-5003-1080p_full_mp4.mp4eed6:lengthi657172667e4:pathl65:Les Etalons de Mademoiselle (The Mademoiselle's Stallions) [2013]63:raw_video_-_milf_fucked_by_3_hard_dicks-5079-1080p_full_mp4.mp4eed6:lengthi448363455e4:pathl62:Les Femmes de Footballeurs XXX (Footballers Housewives) [2014]76:alexis-crystal-fucked-by-3-men-after-the-soccer-game-5467-1080p_full_mp4.mp4eed6:lengthi410454886e4:pathl62:Les Femmes de Footballeurs XXX (Footballers Housewives) [2014]67:anna-polina-and-abbie-cat-fuck-with-two-men-5423-1080p_full_mp4.mp4eed6:lengthi431650759e4:pathl62:Les Femmes de Footballeurs XXX (Footballers Housewives) [2014]65:blanche-bradburry-very-hard-sm-domination-5447-1080p_full_mp4.mp4eed6:lengthi197344216e4:pathl62:Les Femmes de Footballeurs XXX (Footballers Housewives) [2014]82:lola-reve-fucked-in-the-locker-room-during-the-soccer-game-5463-1080p_full_mp4.mp4eed6:lengthi697369505e4:pathl62:Les Femmes de Footballeurs XXX (Footballers Housewives) [2014]56:making-of-footballers-housewives-5431-1080p_full_mp4.mp4eed6:lengthi419434357e4:pathl62:Les Femmes de Footballeurs XXX (Footballers Housewives) [2014]58:orgy-in-the-club-with-3-hot-chicks-5491-1080p_full_mp4.mp4eed6:lengthi554264503e4:pathl57:Les filles de Madame Eva (Madam Eva and her Girls) [2017]42:best-lesbian-orgy-28886-1080p_full_mp4.mp4eed6:lengthi403968888e4:pathl57:Les filles de Madame Eva (Madam Eva and her Girls) [2017]39:please-lick-me-28874-1080p_full_mp4.mp4eed6:lengthi459987395e4:pathl57:Les filles de Madame Eva (Madam Eva and her Girls) [2017]47:red-fox-rookie-lesbian-29114-1080p_full_mp4.mp4eed6:lengthi529423769e4:pathl57:Les filles de Madame Eva (Madam Eva and her Girls) [2017]52:the-dorothy-blacks-strap-on-29134-1080p_full_mp4.mp4eed6:lengthi392972901e4:pathl57:Les filles de Madame Eva (Madam Eva and her Girls) [2017]52:the-dorothy-s-lesbian-games-29190-1080p_full_mp4.mp4eed6:lengthi555336225e4:pathl55:Les gros seins de l'infirmière (My busty nurse) [2013]56:2_brunettes_nurses_with_big_tits-5159-1080p_full_mp4.mp4eed6:lengthi594597474e4:pathl55:Les gros seins de l'infirmière (My busty nurse) [2013]50:abbie_cat_the_slutty_nurse-5195-1080p_full_mp4.mp4eed6:lengthi586401094e4:pathl55:Les gros seins de l'infirmière (My busty nurse) [2013]59:anna_polina_the_busty_naughty_nurse-5207-1080p_full_mp4.mp4eed6:lengthi619343015e4:pathl55:Les gros seins de l'infirmière (My busty nurse) [2013]47:anna_the_big_tits_nurse-5139-1080p_full_mp4.mp4eed6:lengthi605888676e4:pathl55:Les gros seins de l'infirmière (My busty nurse) [2013]44:lesbians_nurses_trio-5247-1080p_full_mp4.mp4eed6:lengthi469685792e4:pathl36:Les masseuses (The masseuses) [2017]42:cassie-loves-anal-27194-1080p_full_mp4.mp4eed6:lengthi739517665e4:pathl36:Les masseuses (The masseuses) [2017]47:cassie-the-hot-masseur-27286-1080p_full_mp4.mp4eed6:lengthi557841885e4:pathl36:Les masseuses (The masseuses) [2017]57:cherry-kiss-gets-banged-by-2-men-26329-1080p_full_mp4.mp4eed6:lengthi423634771e4:pathl36:Les masseuses (The masseuses) [2017]49:gina-the-naughty-masseur-25889-1080p_full_mp4.mp4eed6:lengthi493135944e4:pathl36:Les masseuses (The masseuses) [2017]66:oiled-lesbian-games-with-beautiful-cassie-26512-1080p_full_mp4.mp4eed6:lengthi555156884e4:pathl69:Les nuits d'une bourgeoise (The perverse games of a posh wife) [2017]60:anna-fucked-in-the-ass-by-strangers-25765-1080p_full_mp4.mp4eed6:lengthi485143572e4:pathl69:Les nuits d'une bourgeoise (The perverse games of a posh wife) [2017]49:cassie-stocking-pleasure-26333-1080p_full_mp4.mp4eed6:lengthi368164992e4:pathl69:Les nuits d'une bourgeoise (The perverse games of a posh wife) [2017]74:hardcore-threesome-with-the-bourgeois-anna-polina-27024-1080p_full_mp4.mp4eed6:lengthi228440102e4:pathl69:Les nuits d'une bourgeoise (The perverse games of a posh wife) [2017]56:the-amazing-ass-of-tamara-grace-25925-1080p_full_mp4.mp4eed6:lengthi262183100e4:pathl69:Les nuits d'une bourgeoise (The perverse games of a posh wife) [2017]65:the-rich-bitch-s-looking-for-black-cocks-26369-1080p_full_mp4.mp4eed6:lengthi340952976e4:pathl61:Les Parisiennes Libertines (Parisian Pleasure Seekers) [2016]77:anissa-gets-fucked-in-the-ass-in-front-of-her-husband-7759-1080p_full_mp4.mp4eed6:lengthi958143704e4:pathl61:Les Parisiennes Libertines (Parisian Pleasure Seekers) [2016]70:behind-the-scenes-of-parisian-pleasure-seekers-8075-1080p_full_mp4.mp4eed6:lengthi527324166e4:pathl61:Les Parisiennes Libertines (Parisian Pleasure Seekers) [2016]68:huge-orgy-blowjobs-dp-anal-sex-for-anna-lucy-7999-1080p_full_mp4.mp4eed6:lengthi192087019e4:pathl61:Les Parisiennes Libertines (Parisian Pleasure Seekers) [2016]87:nice-anna-s-blowjob-for-the-taxi-driver-in-front-of-her-friends-8051-1080p_full_mp4.mp4eed6:lengthi221466051e4:pathl61:Les Parisiennes Libertines (Parisian Pleasure Seekers) [2016]75:nice-brunette-fucked-in-the-ass-in-front-of-a-crowd-8071-1080p_full_mp4.mp4eed6:lengthi383843725e4:pathl61:Les Parisiennes Libertines (Parisian Pleasure Seekers) [2016]76:the-hot-cecilia-enjoys-the-swinger-club-s-glory-hole-7967-1080p_full_mp4.mp4eed6:lengthi408545887e4:pathl47:Les putains du baron (The baron's whore) [2014]55:2-slutty-girls-and-one-big-dick-5915-1080p_full_mp4.mp4eed6:lengthi433896667e4:pathl47:Les putains du baron (The baron's whore) [2014]54:a-great-birthday-for-2-bitches-5810-1080p_full_mp4.mp4eed6:lengthi623591105e4:pathl47:Les putains du baron (The baron's whore) [2014]56:anal-orgasm-for-samantha-bentley-5850-1080p_full_mp4.mp4eed6:lengthi712227752e4:pathl47:Les putains du baron (The baron's whore) [2014]51:making-of-the-baron-s-whore-6019-1080p_full_mp4.mp4eed6:lengthi471165042e4:pathl47:Les putains du baron (The baron's whore) [2014]63:orgy-and-dps-for-these-young-rich-girls-5846-1080p_full_mp4.mp4eed6:lengthi352465715e4:pathl47:Les putains du baron (The baron's whore) [2014]54:she-suck-fuck-the-photographer-5951-1080p_full_mp4.mp4eed6:lengthi208185335e4:pathl59:Les putes de l'autoroute (The Whores of the freeway) [2012]58:orgy-in-a-restaurant-with-tenessy-25197-1080p_full_mp4.mp4eed6:lengthi155009160e4:pathl59:Les putes de l'autoroute (The Whores of the freeway) [2012]62:tenessy-gets-fucked-by-a-truck-driver-25193-1080p_full_mp4.mp4eed6:lengthi218240002e4:pathl59:Les putes de l'autoroute (The Whores of the freeway) [2012]81:vintage-a-prostitute-satisfies-all-of-his-crazy-fantasies-5603-1080p_full_mp4.mp4eed6:lengthi267082494e4:pathl59:Les putes de l'autoroute (The Whores of the freeway) [2012]64:vintage-famous-dorcel-scene-with-tenessy-5607-1080p_full_mp4.mp4eed6:lengthi163421709e4:pathl59:Les putes de l'autoroute (The Whores of the freeway) [2012]71:vintage-the-doctors-fuck-their-big-tits-patient-5611-1080p_full_mp4.mp4eed6:lengthi537695912e4:pathl57:Les secrĂ©taires du patron (Executive Secretaries) [2016]60:2-naughty-secretaries-get-ass-fucked-9497-1080p_full_mp4.mp4eed6:lengthi494096727e4:pathl57:Les secrĂ©taires du patron (Executive Secretaries) [2016]70:jessie-karina-the-2-very-perverse-secretaries-18945-1080p_full_mp4.mp4eed6:lengthi517877682e4:pathl57:Les secrĂ©taires du patron (Executive Secretaries) [2016]53:jessie-secretary-with-glasses-9581-1080p_full_mp4.mp4eed6:lengthi1047264185e4:pathl57:Les secrĂ©taires du patron (Executive Secretaries) [2016]56:making-of-executive-secretaries-18877-1080p_full_mp4.mp4eed6:lengthi407334360e4:pathl57:Les secrĂ©taires du patron (Executive Secretaries) [2016]75:nikita-hard-fucked-by-her-workmate-in-the-bathroom-24561-1080p_full_mp4.mp4eed6:lengthi433884991e4:pathl57:Les secrĂ©taires du patron (Executive Secretaries) [2016]44:nikita-the-boss-slut-9469-1080p_full_mp4.mp4eed6:lengthi2190829800e4:pathl51:Les Soeurs Lane au Canada (The Lane Sisters) [2012]29:Les Soeurs Lane au Canada.mp4eed6:lengthi678242121e4:pathl51:Les Soeurs Lane au Canada (The Lane Sisters) [2012]52:making-of_-_the_lane_sisters-4719-1080p_full_mp4.mp4eed6:lengthi422256327e4:pathl50:Les Soubrettes De Madame (The Lady's Maids) [2016]72:anal-submission-for-the-french-maid-tiffany-doll-8447-1080p_full_mp4.mp4eed6:lengthi596403325e4:pathl50:Les Soubrettes De Madame (The Lady's Maids) [2016]62:anna-polina-gets-fucked-by-her-2-maids-8183-1080p_full_mp4.mp4eed6:lengthi495808697e4:pathl50:Les Soubrettes De Madame (The Lady's Maids) [2016]69:great-dp-for-anna-polina-the-french-housewife-8367-1080p_full_mp4.mp4eed6:lengthi544551136e4:pathl50:Les Soubrettes De Madame (The Lady's Maids) [2016]80:ivana-sugar-teaches-vianna-reed-how-to-be-a-naughty-maid-8423-1080p_full_mp4.mp4eed6:lengthi417327749e4:pathl50:Les Soubrettes De Madame (The Lady's Maids) [2016]59:marie-clarence-her-first-anal-scene-8415-1080p_full_mp4.mp4eed6:lengthi374393545e4:pathl44:L'HĂ©ritière (Revenge of a daughter) [2016]70:hardcore-sex-party-with-cara-anissa-and-nikita-9661-1080p_full_mp4.mp4eed6:lengthi391524683e4:pathl44:L'HĂ©ritière (Revenge of a daughter) [2016]75:hardcore-threesome-with-cara-st-germain-lucy-heart-18869-1080p_full_mp4.mp4eed6:lengthi275809207e4:pathl44:L'HĂ©ritière (Revenge of a daughter) [2016]64:ines-lenvin-gangbang-fucked-in-a-sm-club-9665-1080p_full_mp4.mp4eed6:lengthi966164719e4:pathl44:L'HĂ©ritière (Revenge of a daughter) [2016]55:making-of-revenge-of-a-daughter-9657-1080p_full_mp4.mp4eed6:lengthi302292550e4:pathl44:L'HĂ©ritière (Revenge of a daughter) [2016]61:mina-19-years-old-her-porn-initiation-9689-1080p_full_mp4.mp4eed6:lengthi417183183e4:pathl44:L'HĂ©ritière (Revenge of a daughter) [2016]71:sensual-the-big-tits-milf-gets-fucked-by-2-men-18897-1080p_full_mp4.mp4eed6:lengthi462266264e4:pathl44:L'HĂ©ritière (Revenge of a daughter) [2016]45:under-nikita-s-orders-9505-1080p_full_mp4.mp4eed6:lengthi243815816e4:pathl32:L'infiltrĂ©e (Undercover) [2017]58:cassie-rose-valerie-magic-fingers-28718-1080p_full_mp4.mp4eed6:lengthi80353421e4:pathl32:L'infiltrĂ©e (Undercover) [2017]55:kinky-blow-job-in-the-bathroom-28730-1080p_full_mp4.mp4eed6:lengthi190488750e4:pathl32:L'infiltrĂ©e (Undercover) [2017]48:luxurious-orgy-at-anias-28734-1080p_full_mp4.mp4eed6:lengthi664286081e4:pathl32:L'infiltrĂ©e (Undercover) [2017]45:making-of-undercover-28682-1080p_full_mp4.mp4eed6:lengthi105607182e4:pathl32:L'infiltrĂ©e (Undercover) [2017]65:megan-rain-et-mina-sauvage-lesbian-games-28862-1080p_full_mp4.mp4eed6:lengthi339998691e4:pathl32:L'infiltrĂ©e (Undercover) [2017]62:megan-rain-mina-sauvage-lesbian-games-28726-1080p_full_mp4.mp4eed6:lengthi692959138e4:pathl32:L'infiltrĂ©e (Undercover) [2017]56:megan-rain-pornstar-of-the-year-29258-1080p_full_mp4.mp4eed6:lengthi415978094e4:pathl32:L'infiltrĂ©e (Undercover) [2017]45:megan-takes-the-lead-28678-1080p_full_mp4.mp4eed6:lengthi368064641e4:pathl32:L'infiltrĂ©e (Undercover) [2017]58:mina-gives-herself-up-to-pleasure-28738-1080p_full_mp4.mp4eed6:lengthi98114013e4:pathl32:L'infiltrĂ©e (Undercover) [2017]61:showing-off-while-she-s-on-the-phone-28714-1080p_full_mp4.mp4eed6:lengthi370397421e4:pathl55:L'initation d'une vierge (A virgin's first time) [2014]67:big-tits-brunette-shagged-by-3-men-in-a-bar-5387-1080p_full_mp4.mp4eed6:lengthi451634766e4:pathl55:L'initation d'une vierge (A virgin's first time) [2014]56:cayenne-klein-and-alexis-crystal-5427-1080p_full_mp4.mp4eed6:lengthi282944588e4:pathl55:L'initation d'une vierge (A virgin's first time) [2014]78:cayenne-klein-and-her-friend-in-a-club-fucked-by-2-men-5355-1080p_full_mp4.mp4eed6:lengthi677568476e4:pathl55:L'initation d'une vierge (A virgin's first time) [2014]55:making-of-a-virgin-s-first-time-5395-1080p_full_mp4.mp4eed6:lengthi463317583e4:pathl55:L'initation d'une vierge (A virgin's first time) [2014]59:the-virgin-gina-gerson-18-years-old-5383-1080p_full_mp4.mp4eed6:lengthi293343157e4:pathl55:L'initation d'une vierge (A virgin's first time) [2014]62:tiffany-doll-sodomized-in-the-bathroom-5371-1080p_full_mp4.mp4eed6:lengthi494282674e4:pathl34:L'innocente (The Ingenuous) [2013]52:6_gorgeous_girls_for_one_man-4975-1080p_full_mp4.mp4eed6:lengthi480844704e4:pathl34:L'innocente (The Ingenuous) [2013]45:anna_her_piano_lesson-4987-1080p_full_mp4.mp4eed6:lengthi607378172e4:pathl34:L'innocente (The Ingenuous) [2013]56:huge_orgy_with_15_gorgeous_girls-4999-1080p_full_mp4.mp4eed6:lengthi320097087e4:pathl34:L'innocente (The Ingenuous) [2013]44:lesbian_flowery_orgy-4943-1080p_full_mp4.mp4eed6:lengthi453795279e4:pathl41:L'obsĂ©dĂ©e (Ella, The Sex Addict) [2017]50:2-sluts-for-a-married-man-27114-1080p_full_mp4.mp4eed6:lengthi476297624e4:pathl41:L'obsĂ©dĂ©e (Ella, The Sex Addict) [2017]50:ella-hughes-s-perversions-27370-1080p_full_mp4.mp4eed6:lengthi281806001e4:pathl41:L'obsĂ©dĂ©e (Ella, The Sex Addict) [2017]52:ella-the-horny-redhead-girl-27874-1080p_full_mp4.mp4eed6:lengthi1027518280e4:pathl41:L'obsĂ©dĂ©e (Ella, The Sex Addict) [2017]54:making-of-ella-the-sex-addict-27374-1080p_full_mp4.mp4eed6:lengthi557845194e4:pathl41:L'obsĂ©dĂ©e (Ella, The Sex Addict) [2017]50:threesome-anal-poker-game-27410-1080p_full_mp4.mp4eed6:lengthi499935486e4:pathl41:L'obsĂ©dĂ©e (Ella, The Sex Addict) [2017]57:total-gang-bang-with-ella-hughes-27266-1080p_full_mp4.mp4eed6:lengthi289920720e4:pathl54:Lola au manoir du vice (The debauchery Mansion) [2015]50:2-huge-dicks-for-lola-reve-6663-1080p_full_mp4.mp4eed6:lengthi491420579e4:pathl54:Lola au manoir du vice (The debauchery Mansion) [2015]43:extreme-dildo-games-6571-1080p_full_mp4.mp4eed6:lengthi703863252e4:pathl54:Lola au manoir du vice (The debauchery Mansion) [2015]64:making-of-lola-at-the-debauchery-mansion-6667-1080p_full_mp4.mp4eed6:lengthi331667201e4:pathl54:Lola au manoir du vice (The debauchery Mansion) [2015]60:rich-blond-fucked-hard-by-her-driver-6515-1080p_full_mp4.mp4eed6:lengthi374009636e4:pathl54:Lola au manoir du vice (The debauchery Mansion) [2015]56:stella-nice-and-slutty-rich-girl-6599-1080p_full_mp4.mp4eed6:lengthi474960797e4:pathl54:Lola au manoir du vice (The debauchery Mansion) [2015]74:the-lola-reve-initiation-at-the-debauchery-mansion-6547-1080p_full_mp4.mp4eed6:lengthi701618934e4:pathl67:Lola RĂŞve, le journal d'une vierge (Lola RĂŞve, the Virgin) [2014]62:2_dicks_for_lola_reve_the_young_virgin-5187-1080p_full_mp4.mp4eed6:lengthi323715752e4:pathl67:Lola RĂŞve, le journal d'une vierge (Lola RĂŞve, the Virgin) [2014]60:anal-sex-for-a-beautiful-black-women-5327-1080p_full_mp4.mp4eed6:lengthi359206538e4:pathl67:Lola RĂŞve, le journal d'une vierge (Lola RĂŞve, the Virgin) [2014]44:lola_reve_the_virgin-5203-1080p_full_mp4.mp4eed6:lengthi679592709e4:pathl67:Lola RĂŞve, le journal d'une vierge (Lola RĂŞve, the Virgin) [2014]56:making-of_-_lola_reve_the_virgin-5143-1080p_full_mp4.mp4eed6:lengthi337330487e4:pathl67:Lola RĂŞve, le journal d'une vierge (Lola RĂŞve, the Virgin) [2014]45:slutty_milf_wants_sex-5211-1080p_full_mp4.mp4eed6:lengthi670109110e4:pathl67:Lola RĂŞve, le journal d'une vierge (Lola RĂŞve, the Virgin) [2014]64:tiffany_doll_acts_the_young_blond_virgin-5167-1080p_full_mp4.mp4eed6:lengthi628191717e4:pathl60:Lola, Dressage en orgie (The orgy initiation of Lola) [2014]58:lola_reve_fucked_by_manuel_ferrara-5171-1080p_full_mp4.mp4eed6:lengthi153339587e4:pathl60:Lola, Dressage en orgie (The orgy initiation of Lola) [2014]89:lola-reve-s-doing-the-best-blowjob-in-the-world-to-manuel-ferrara-5287-1080p_full_mp4.mp4eed6:lengthi1067646642e4:pathl60:Lola, Dressage en orgie (The orgy initiation of Lola) [2014]49:lola-s-orgy-with-10-girls-5307-1080p_full_mp4.mp4eed6:lengthi698452931e4:pathl60:Lola, Dressage en orgie (The orgy initiation of Lola) [2014]61:making-of-the-orgy-initiation-of-lola-5299-1080p_full_mp4.mp4eed6:lengthi706699932e4:pathl46:L'orgie de l'Apocalypse (The Last Shag) [2012]49:making-of_-_the_last_shag-4759-1080p_full_mp4.mp4eed6:lengthi407728926e4:pathl46:L'orgie de l'Apocalypse (The Last Shag) [2012]72:tarra-white-gets-in-the-ass-the-big-danny-d-dick-5802-1080p_full_mp4.mp4eed6:lengthi525768154e4:pathl72:LUXURE - ComblĂ©e par d'autres (LUXURE - My wife fucked by other) [2017]59:a-stranger-for-his-wife-s-pleasure-29218-1080p_full_mp4.mp4eed6:lengthi296935989e4:pathl72:LUXURE - ComblĂ©e par d'autres (LUXURE - My wife fucked by other) [2017]41:a-voyeur-husband-29158-1080p_full_mp4.mp4eed6:lengthi438178912e4:pathl72:LUXURE - ComblĂ©e par d'autres (LUXURE - My wife fucked by other) [2017]43:luxure-the-meeting-28166-1080p_full_mp4.mp4eed6:lengthi485464514e4:pathl72:LUXURE - ComblĂ©e par d'autres (LUXURE - My wife fucked by other) [2017]48:susy-galas-first-dorcel-29230-1080p_full_mp4.mp4eed6:lengthi418938342e4:pathl60:Luxure - Epouse Ă  partager (Luxure - Wives to share) [2015]75:alexandra-dominated-by-her-lover-s-fetish-fantasies-7675-1080p_full_mp4.mp4eed6:lengthi421347685e4:pathl60:Luxure - Epouse Ă  partager (Luxure - Wives to share) [2015]64:amarna-miller-the-hot-cheating-housewife-7551-1080p_full_mp4.mp4eed6:lengthi514080979e4:pathl60:Luxure - Epouse Ă  partager (Luxure - Wives to share) [2015]64:cara-gets-banged-doggystyle-by-strangers-7527-1080p_full_mp4.mp4eed6:lengthi386905692e4:pathl60:Luxure - Epouse Ă  partager (Luxure - Wives to share) [2015]68:jessie-volt-alix-feeling-anal-party-in-paris-6887-1080p_full_mp4.mp4eed6:lengthi705036876e4:pathl60:Luxure - Epouse Ă  partager (Luxure - Wives to share) [2015]55:making-of-luxure-wives-to-share-7703-1080p_full_mp4.mp4eed6:lengthi434555857e4:pathl60:Luxure - Epouse Ă  partager (Luxure - Wives to share) [2015]77:ready-to-satisfy-their-husband-s-libertines-fantasies-7627-1080p_full_mp4.mp4eed6:lengthi359948736e4:pathl60:Luxure - Epouse obĂ©issante (Luxure - Obedient wives) [2016]70:bondage-and-anal-sex-for-luna-rival-lucy-heart-9181-1080p_full_mp4.mp4eed6:lengthi442301113e4:pathl60:Luxure - Epouse obĂ©issante (Luxure - Obedient wives) [2016]74:claire-castel-fucked-hard-by-3-mec-in-a-prison-lot-8747-1080p_full_mp4.mp4eed6:lengthi393039233e4:pathl60:Luxure - Epouse obĂ©issante (Luxure - Obedient wives) [2016]69:ines-lenvin-sodomized-in-front-of-her-husband-9121-1080p_full_mp4.mp4eed6:lengthi492970680e4:pathl60:Luxure - Epouse obĂ©issante (Luxure - Obedient wives) [2016]75:luxure-kimber-given-to-2-men-by-mistress-mya-lorenn-8993-1080p_full_mp4.mp4eed6:lengthi448552300e4:pathl60:Luxure - Epouse obĂ©issante (Luxure - Obedient wives) [2016]83:luxure-obedient-nikita-bellucci-with-lena-nitro-mike-angelo-7747-1080p_full_mp4.mp4eed6:lengthi653292233e4:pathl60:Luxure - Epouse obĂ©issante (Luxure - Obedient wives) [2016]55:making-of-luxure-obedient-wives-9265-1080p_full_mp4.mp4eed6:lengthi901096402e4:pathl79:Luxure - L'Ă©ducation de mon Ă©pouse (Luxure - The education of my wife) [2016]76:behind-the-scenes-of-luxure-the-education-of-my-wife-8339-1080p_full_mp4.mp4eed6:lengthi461342063e4:pathl79:Luxure - L'Ă©ducation de mon Ă©pouse (Luxure - The education of my wife) [2016]81:luxure-fetish-perverse-games-with-anna-polina-jessie-volt-8247-1080p_full_mp4.mp4eed6:lengthi828235685e4:pathl79:Luxure - L'Ă©ducation de mon Ă©pouse (Luxure - The education of my wife) [2016]80:luxure-julie-sky-high-my-docile-wife-banged-by-strangers-8287-1080p_full_mp4.mp4eed6:lengthi349633661e4:pathl79:Luxure - L'Ă©ducation de mon Ă©pouse (Luxure - The education of my wife) [2016]72:luxure-nice-fuck-with-the-french-cara-st-germain-8319-1080p_full_mp4.mp4eed6:lengthi523366996e4:pathl79:Luxure - L'Ă©ducation de mon Ă©pouse (Luxure - The education of my wife) [2016]100:luxure-nice-orgy-between-friends-with-the-stunning-julie-sky-high-lucy-heart-8139-1080p_full_mp4.mp4eed6:lengthi412667287e4:pathl79:Luxure - L'Ă©ducation de mon Ă©pouse (Luxure - The education of my wife) [2016]81:perverse-diner-for-2-blindfolded-blond-girls-jessie-chloe-7863-1080p_full_mp4.mp4eed6:lengthi410068378e4:pathl62:Luxure - L'Ă©pouse parfaite (Luxure - The perfect wife) [2017]57:ariel-fucked-by-samantha-bentley-25125-1080p_full_mp4.mp4eed6:lengthi394825297e4:pathl62:Luxure - L'Ă©pouse parfaite (Luxure - The perfect wife) [2017]53:ariel-rebel-extrem-obedience-25697-1080p_full_mp4.mp4eed6:lengthi559420105e4:pathl62:Luxure - L'Ă©pouse parfaite (Luxure - The perfect wife) [2017]89:luxure-megan-rain-gets-banged-by-2-men-for-her-first-dorcel-movie-8551-1080p_full_mp4.mp4eed6:lengthi317537259e4:pathl62:Luxure - L'Ă©pouse parfaite (Luxure - The perfect wife) [2017]67:luxure-nikita-bellucci-gangbanged-by-3-men-25461-1080p_full_mp4.mp4eed6:lengthi756952033e4:pathl62:Luxure - L'Ă©pouse parfaite (Luxure - The perfect wife) [2017]58:making-of-luxure-the-perfect-wife-25685-1080p_full_mp4.mp4eed6:lengthi323829068e4:pathl62:Luxure - L'Ă©pouse parfaite (Luxure - The perfect wife) [2017]52:mina-sauvage-her-first-porn-24725-1080p_full_mp4.mp4eed6:lengthi402035820e4:pathl72:Luxure - Offerte Ă  d'autres (Luxure - I offer my wife to others) [2017]66:clea-gaultier-her-first-luxure-experience-26460-1080p_full_mp4.mp4eed6:lengthi610458635e4:pathl72:Luxure - Offerte Ă  d'autres (Luxure - I offer my wife to others) [2017]53:hardcore-dp-for-naughty-lucy-27378-1080p_full_mp4.mp4eed6:lengthi532799146e4:pathl72:Luxure - Offerte Ă  d'autres (Luxure - I offer my wife to others) [2017]63:luxure-alexa-tomas-gets-banged-by-2-men-9005-1080p_full_mp4.mp4eed6:lengthi624478193e4:pathl72:Luxure - Offerte Ă  d'autres (Luxure - I offer my wife to others) [2017]55:mina-anal-fucked-by-a-big-dick-27222-1080p_full_mp4.mp4eed6:lengthi574881446e4:pathl72:Luxure - Offerte Ă  d'autres (Luxure - I offer my wife to others) [2017]55:perverse-orgy-with-3-hot-girls-27346-1080p_full_mp4.mp4eed6:lengthi449945386e4:pathl52:Luxure Femmes MariĂ©es (Luxure Married Women) [2014]50:anissa-kate-offerte-luxure-5555-1080p_full_mp4.mp4eed6:lengthi537155683e4:pathl52:Luxure Femmes MariĂ©es (Luxure Married Women) [2014]59:ash-hollywood-plays-the-docile-slut-5999-1080p_full_mp4.mp4eed6:lengthi492273492e4:pathl52:Luxure Femmes MariĂ©es (Luxure Married Women) [2014]29:chloe-5403-1080p_full_mp4.mp4eed6:lengthi496429378e4:pathl52:Luxure Femmes MariĂ©es (Luxure Married Women) [2014]51:lola-reve-extreme-obedience-5991-1080p_full_mp4.mp4eed6:lengthi627404998e4:pathl52:Luxure Femmes MariĂ©es (Luxure Married Women) [2014]68:luxure-l-echange-with-lola-reve-taylor-sands-5754-1080p_full_mp4.mp4eed6:lengthi540753700e4:pathl98:Luxure volume 2 - Initation de jeunes libertines (Luxure 2 - Initation of young libertines) [2015]63:ava-courcelles-reach-the-orgasm-with-dp-6359-1080p_full_mp4.mp4eed6:lengthi1057874639e4:pathl98:Luxure volume 2 - Initation de jeunes libertines (Luxure 2 - Initation of young libertines) [2015]53:behind-the-scenes-of-luxure-2-6619-1080p_full_mp4.mp4eed6:lengthi449302902e4:pathl98:Luxure volume 2 - Initation de jeunes libertines (Luxure 2 - Initation of young libertines) [2015]103:claire-castel-gave-herself-to-a-stranger-while-her-husband-s-waiting-in-the-car-6587-1080p_full_mp4.mp4eed6:lengthi490906694e4:pathl98:Luxure volume 2 - Initation de jeunes libertines (Luxure 2 - Initation of young libertines) [2015]59:hard-fuck-with-the-slutty-valentina-6535-1080p_full_mp4.mp4eed6:lengthi279247044e4:pathl98:Luxure volume 2 - Initation de jeunes libertines (Luxure 2 - Initation of young libertines) [2015]78:luxure-chloe-lacourt-a-stranger-fuck-her-in-the-toilet-6451-1080p_full_mp4.mp4eed6:lengthi414627122e4:pathl98:Luxure volume 2 - Initation de jeunes libertines (Luxure 2 - Initation of young libertines) [2015]83:luxure-manon-martin-punished-fucked-in-front-of-her-husband-6575-1080p_full_mp4.mp4eed6:lengthi527644512e4:pathl68:Ma Belle Fille est une Putain (My Daughter-in-Law is a Whore) [2017]52:cara-fucked-by-the-best-men-25165-1080p_full_mp4.mp4eed6:lengthi217027443e4:pathl68:Ma Belle Fille est une Putain (My Daughter-in-Law is a Whore) [2017]58:cara-st-germain-sex-fine-lingerie-24833-1080p_full_mp4.mp4eed6:lengthi327630761e4:pathl68:Ma Belle Fille est une Putain (My Daughter-in-Law is a Whore) [2017]54:emma-leigh-the-big-boobs-milf-25805-1080p_full_mp4.mp4eed6:lengthi748290434e4:pathl68:Ma Belle Fille est une Putain (My Daughter-in-Law is a Whore) [2017]64:making-of-my-daughter-in-law-is-a-whore-25773-1080p_full_mp4.mp4eed6:lengthi511692919e4:pathl68:Ma Belle Fille est une Putain (My Daughter-in-Law is a Whore) [2017]59:milf-teaches-teen-how-to-suck-fuck-25705-1080p_full_mp4.mp4eed6:lengthi489761854e4:pathl68:Ma Belle Fille est une Putain (My Daughter-in-Law is a Whore) [2017]57:perverse-games-with-tamara-grace-25757-1080p_full_mp4.mp4eed6:lengthi916473528e4:pathl55:Ma cousine est une putain (My cousin is a whore) [2016]91:behind-the-scene-of-the-movie-my-cousin-is-a-whore-with-lexie-candy-9565-1080p_full_mp4.mp4eed6:lengthi436723263e4:pathl55:Ma cousine est une putain (My cousin is a whore) [2016]77:hardcore-gangbang-in-a-bar-with-the-young-lexie-candy-9281-1080p_full_mp4.mp4eed6:lengthi385004504e4:pathl55:Ma cousine est une putain (My cousin is a whore) [2016]60:meet-lexie-candy-s-big-beautiful-ass-8723-1080p_full_mp4.mp4eed6:lengthi393440450e4:pathl55:Ma cousine est une putain (My cousin is a whore) [2016]58:meet-the-slutty-french-lexie-candy-9345-1080p_full_mp4.mp4eed6:lengthi302175144e4:pathl55:Ma cousine est une putain (My cousin is a whore) [2016]74:perverse-lesbian-games-with-lexie-candy-mea-malone-8985-1080p_full_mp4.mp4eed6:lengthi416434074e4:pathl55:Ma cousine est une putain (My cousin is a whore) [2016]57:stella-cox-anal-party-in-my-house-9329-1080p_full_mp4.mp4eed6:lengthi543729473e4:pathl51:Ma Femme est une Putain (My Wife is a Whore) [2015]65:hard-gang-bang-for-tarra-with-4-big-cocks-7803-1080p_full_mp4.mp4eed6:lengthi360139525e4:pathl51:Ma Femme est une Putain (My Wife is a Whore) [2015]54:my-wife-tarra-prefers-anal-sex-7859-1080p_full_mp4.mp4eed6:lengthi448697886e4:pathl51:Ma Femme est une Putain (My Wife is a Whore) [2015]71:tarra-white-the-nasty-housewife-wants-it-harder-7823-1080p_full_mp4.mp4eed6:lengthi377744213e4:pathl51:Ma Femme est une Putain (My Wife is a Whore) [2015]82:the-young-leyla-gets-fucked-beneath-her-mother-s-very-eyes-7835-1080p_full_mp4.mp4eed6:lengthi391444922e4:pathl53:Ma femme me trompe (My wife is cheating on me) [2014]68:a-huge-dick-for-the-beautiful-french-jessyca-5842-1080p_full_mp4.mp4eed6:lengthi491171782e4:pathl53:Ma femme me trompe (My wife is cheating on me) [2014]49:hard-orgy-between-friends-5955-1080p_full_mp4.mp4eed6:lengthi606595635e4:pathl53:Ma femme me trompe (My wife is cheating on me) [2014]73:jessyca-busty-french-brunette-with-manuel-ferrara-5786-1080p_full_mp4.mp4eed6:lengthi409551433e4:pathl53:Ma femme me trompe (My wife is cheating on me) [2014]66:lesbians-games-with-2-nymphos-french-girls-5818-1080p_full_mp4.mp4eed6:lengthi681752287e4:pathl53:Ma femme me trompe (My wife is cheating on me) [2014]59:making-of-my-wife-is-cheating-on-me-5794-1080p_full_mp4.mp4eed6:lengthi460969568e4:pathl53:Ma femme me trompe (My wife is cheating on me) [2014]83:the-teen-adriana-take-it-all-in-the-ass-with-manuel-ferrara-5814-1080p_full_mp4.mp4eed6:lengthi166357669e4:pathl55:Ma Fille est une Putain (My daughter is a whore) [2015]79:blowjob-in-the-public-toilets-by-the-french-lea-guerlin-7471-1080p_full_mp4.mp4eed6:lengthi283442124e4:pathl55:Ma Fille est une Putain (My daughter is a whore) [2015]68:chloe-cheats-on-her-husband-with-2-strangers-7487-1080p_full_mp4.mp4eed6:lengthi684352556e4:pathl55:Ma Fille est une Putain (My daughter is a whore) [2015]56:making-of-my-daughter-is-a-whore-7611-1080p_full_mp4.mp4eed6:lengthi367662474e4:pathl55:Ma Fille est une Putain (My daughter is a whore) [2015]59:nice-fuck-with-the-busty-emma-leigh-7403-1080p_full_mp4.mp4eed6:lengthi504127782e4:pathl55:Ma Fille est une Putain (My daughter is a whore) [2015]61:the-lesbian-initiation-of-lea-guerlin-7495-1080p_full_mp4.mp4eed6:lengthi444543618e4:pathl55:Ma Fille est une Putain (My daughter is a whore) [2015]66:the-young-lea-gest-banged-by-2-removal-men-7359-1080p_full_mp4.mp4eed6:lengthi467606764e4:pathl66:Ma mère prĂ©fère les jeunes (My mother prefers young men) [2016]81:busty-sensual-jane-fucks-a-perfect-stranger-in-the-toilet-9049-1080p_full_mp4.mp4eed6:lengthi336989121e4:pathl66:Ma mère prĂ©fère les jeunes (My mother prefers young men) [2016]86:he-gets-a-hardcore-sex-lesson-from-the-busty-milf-sensual-jane-8965-1080p_full_mp4.mp4eed6:lengthi637105213e4:pathl66:Ma mère prĂ©fère les jeunes (My mother prefers young men) [2016]51:ines-fucked-by-her-step-dad-9293-1080p_full_mp4.mp4eed6:lengthi354932569e4:pathl66:Ma mère prĂ©fère les jeunes (My mother prefers young men) [2016]64:milf-sensual-jane-fucks-2-young-students-9305-1080p_full_mp4.mp4eed6:lengthi155959185e4:pathl66:Ma mère prĂ©fère les jeunes (My mother prefers young men) [2016]69:nice-blowjob-in-the-bathroom-with-ines-lenvin-9285-1080p_full_mp4.mp4eed6:lengthi523347816e4:pathl66:Ma mère prĂ©fère les jeunes (My mother prefers young men) [2016]71:sensual-jane-tamara-horny-milfs-want-young-cock-9289-1080p_full_mp4.mp4eed6:lengthi480396350e4:pathl45:Ma première fois (My very first time) [2014]72:beautiful-tanned-girl-with-big-boobs-satin-bloom-5746-1080p_full_mp4.mp4eed6:lengthi245128907e4:pathl45:Ma première fois (My very first time) [2014]56:first-blowjob-for-a-young-virgin-5730-1080p_full_mp4.mp4eed6:lengthi396599037e4:pathl45:Ma première fois (My very first time) [2014]58:hard-dp-for-a-milf-by-her-2-lovers-5742-1080p_full_mp4.mp4eed6:lengthi674702530e4:pathl45:Ma première fois (My very first time) [2014]52:making-of-my-very-first-time-5762-1080p_full_mp4.mp4eed6:lengthi304915721e4:pathl45:Ma première fois (My very first time) [2014]63:my-slutty-mother-sodomized-by-my-friend-5778-1080p_full_mp4.mp4eed6:lengthi318792962e4:pathl45:Ma première fois (My very first time) [2014]53:the-young-virgin-s-first-time-5798-1080p_full_mp4.mp4eed6:lengthi299523563e4:pathl38:Ma Soeur & Moi (My Sister & Me) [2013]42:liza_enjoys_the_dp-4903-1080p_full_mp4.mp4eed6:lengthi715822545e4:pathl38:Ma Soeur & Moi (My Sister & Me) [2013]52:making-of_-_my_sister_and_me-4763-1080p_full_mp4.mp4eed6:lengthi431452596e4:pathl38:Ma Soeur & Moi (My Sister & Me) [2013]63:shana_lane_her_gang-bang_in_a_warehouse-4851-1080p_full_mp4.mp4eed6:lengthi457793382e4:pathl53:Ma soeur est une putain (My sister is a whore) [2016]71:hardcore-threesome-for-mia-malkova-jessie-volt-24585-1080p_full_mp4.mp4eed6:lengthi315805683e4:pathl53:Ma soeur est une putain (My sister is a whore) [2016]45:jessie-the-piano-girl-9361-1080p_full_mp4.mp4eed6:lengthi483078946e4:pathl53:Ma soeur est une putain (My sister is a whore) [2016]62:jessie-volt-gangbanged-by-3-young-men-24813-1080p_full_mp4.mp4eed6:lengthi687358988e4:pathl53:Ma soeur est une putain (My sister is a whore) [2016]55:making-of-my-sister-is-a-whore-24657-1080p_full_mp4.mp4eed6:lengthi217271402e4:pathl53:Ma soeur est une putain (My sister is a whore) [2016]54:nice-blowjob-with-jessie-volt-24569-1080p_full_mp4.mp4eed6:lengthi295590538e4:pathl53:Ma soeur est une putain (My sister is a whore) [2016]54:slutty-jessie-prefers-anal-sex-9649-1080p_full_mp4.mp4eed6:lengthi409033024e4:pathl53:Ma soeur est une putain (My sister is a whore) [2016]61:the-sexual-invitation-of-mia-malkova-24665-1080p_full_mp4.mp4eed6:lengthi1445760202e4:pathl56:Ma vraie Orgie Libertine (My real swinger's orgy) [2016]73:10-hot-girls-in-a-huge-masked-orgy-1h-of-hardcore-8795-1080p_full_mp4.mp4eed6:lengthi959115944e4:pathl56:Ma vraie Orgie Libertine (My real swinger's orgy) [2016]67:behind-the-scenes-of-my-real-swinger-s-orgy-8803-1080p_full_mp4.mp4eed6:lengthi193414008e4:pathl56:Ma vraie Orgie Libertine (My real swinger's orgy) [2016]84:marie-gets-initiated-by-anna-polina-for-her-first-hard-scene-8767-1080p_full_mp4.mp4eed6:lengthi541903461e4:pathl46:Madame et sa soubrette (My Maid And Me) [2017]62:gina-young-maid-devoted-to-her-master-25161-1080p_full_mp4.mp4eed6:lengthi485795435e4:pathl46:Madame et sa soubrette (My Maid And Me) [2017]57:maid-nikita-gets-fucked-by-3-men-25761-1080p_full_mp4.mp4eed6:lengthi328711212e4:pathl46:Madame et sa soubrette (My Maid And Me) [2017]59:nikita-being-watched-by-her-master-26077-1080p_full_mp4.mp4eed6:lengthi544952441e4:pathl46:Madame et sa soubrette (My Maid And Me) [2017]63:nikita-the-french-maid-at-your-service-25733-1080p_full_mp4.mp4eed6:lengthi499600852e4:pathl46:Madame et sa soubrette (My Maid And Me) [2017]60:sex-lesson-for-the-young-blond-maid-25869-1080p_full_mp4.mp4eed6:lengthi371544213e4:pathl62:Manon, secrĂ©taire dĂ©butante (Manon, Rookie Secretary) [2015]52:anal-orgasm-for-sophia-laure-6731-1080p_full_mp4.mp4eed6:lengthi531100294e4:pathl62:Manon, secrĂ©taire dĂ©butante (Manon, Rookie Secretary) [2015]80:first-anal-scene-for-sophia-laure-featuring-manon-martin-6659-1080p_full_mp4.mp4eed6:lengthi529021208e4:pathl62:Manon, secrĂ©taire dĂ©butante (Manon, Rookie Secretary) [2015]59:hardcore-dp-for-the-young-secretary-6715-1080p_full_mp4.mp4eed6:lengthi1037617403e4:pathl62:Manon, secrĂ©taire dĂ©butante (Manon, Rookie Secretary) [2015]56:making-of-manon-rookie-secretary-6767-1080p_full_mp4.mp4eed6:lengthi533647253e4:pathl62:Manon, secrĂ©taire dĂ©butante (Manon, Rookie Secretary) [2015]62:manon-martin-young-sodomized-secretary-6279-1080p_full_mp4.mp4eed6:lengthi519848800e4:pathl62:Manon, secrĂ©taire dĂ©butante (Manon, Rookie Secretary) [2015]59:rookie-secretary-ready-for-anything-6615-1080p_full_mp4.mp4eed6:lengthi428919935e4:pathl19:Maximum Anal [2012]55:2_slutty_and_2_men_for_anal_sex-5235-1080p_full_mp4.mp4eed6:lengthi665527772e4:pathl19:Maximum Anal [2012]47:3_hot_girls_for_one_guy-5267-1080p_full_mp4.mp4eed6:lengthi619028076e4:pathl19:Maximum Anal [2012]33:hard_anal-5191-1080p_full_mp4.mp4eed6:lengthi558929332e4:pathl19:Maximum Anal [2012]44:luxury_orgy_100_anal-5223-1080p_full_mp4.mp4eed6:lengthi483923851e4:pathl19:Maximum Anal [2012]61:theses_5_gorgeous_girls_love_anal_sex-5227-1080p_full_mp4.mp4eed6:lengthi2259000005e4:pathl69:Maximum Orgy - SpĂ©cial Pin Up (Maximum Orgy - Special Pin Up) [2012]52:maximum-orgy-special-pin-up-25837-1080p_full_mp4.mp4eed6:lengthi642583331e4:pathl28:Megan Escorte de Luxe [2016]75:anissa-jessie-reunited-for-a-hard-pervers-threesome-8779-1080p_full_mp4.mp4eed6:lengthi913056285e4:pathl28:Megan Escorte de Luxe [2016]66:behind-the-scenes-of-megan-escort-de-luxe-24617-1080p_full_mp4.mp4eed6:lengthi386437910e4:pathl28:Megan Escorte de Luxe [2016]71:escorte-deluxe-megan-gets-fucked-by-a-huge-cock-9569-1080p_full_mp4.mp4eed6:lengthi564093749e4:pathl28:Megan Escorte de Luxe [2016]62:julie-skyhigh-gets-gangbanged-by-3-men-9693-1080p_full_mp4.mp4eed6:lengthi443372450e4:pathl28:Megan Escorte de Luxe [2016]52:megan-rain-fucked-by-2-guys-18901-1080p_full_mp4.mp4eed6:lengthi431639603e4:pathl28:Megan Escorte de Luxe [2016]45:nikita-escort-deluxe-18873-1080p_full_mp4.mp4eed6:lengthi440672419e4:pathl49:Mes nuits en Prison (Hot nights in Prison) [2016]69:alexis-crystal-prisoner-offered-to-an-old-man-8307-1080p_full_mp4.mp4eed6:lengthi467693166e4:pathl49:Mes nuits en Prison (Hot nights in Prison) [2016]89:hard-sex-party-with-the-2-naughty-wardens-anna-polina-kattie-gold-8379-1080p_full_mp4.mp4eed6:lengthi716613334e4:pathl49:Mes nuits en Prison (Hot nights in Prison) [2016]54:making-of-hot-nights-in-prison-8579-1080p_full_mp4.mp4eed6:lengthi554111555e4:pathl49:Mes nuits en Prison (Hot nights in Prison) [2016]63:samantha-jolie-fucked-hard-by-3-inmates-8259-1080p_full_mp4.mp4eed6:lengthi622437060e4:pathl49:Mes nuits en Prison (Hot nights in Prison) [2016]59:two-big-dick-for-warden-anna-polina-8419-1080p_full_mp4.mp4eed6:lengthi422489628e4:pathl49:Mes nuits en Prison (Hot nights in Prison) [2016]74:young-inmate-offered-to-prisoners-craving-hard-sex-8411-1080p_full_mp4.mp4eed6:lengthi1899551017e4:pathl34:Orgie De Luxe (Orgy Deluxe) [2016]66:luxury-orgy-with-8-girls-1h20-of-hardcore-25141-1080p_full_mp4.mp4eed6:lengthi256751706e4:pathl36:Orgie en noir (Orgy In Black) [2012]85:hardcore_fucking_for_a_dark_goddess_in_a_cold_haunted_cemetery-193-1080p_full_mp4.mp4eed6:lengthi224937741e4:pathl36:Orgie en noir (Orgy In Black) [2012]73:hardcore_fucking_in_the_car_for_a_hot_drunk_couple-191-1080p_full_mp4.mp4eed6:lengthi117564637e4:pathl36:Orgie en noir (Orgy In Black) [2012]94:hardcore-doggy-on-a-grave-in-a-gold-cemetery-haunted-by-naughty-zombies-192-1080p_full_mp4.mp4eed6:lengthi264554384e4:pathl44:Patrouille de Nuit (The Night Patrol) [2014]65:fuck-by-night-in-paris-woods-with-a-whore-5347-1080p_full_mp4.mp4eed6:lengthi379278735e4:pathl44:Patrouille de Nuit (The Night Patrol) [2014]80:hard-fuck-for-lana-fever-a-french-brunette-with-big-tits-5415-1080p_full_mp4.mp4eed6:lengthi176495344e4:pathl44:Patrouille de Nuit (The Night Patrol) [2014]68:luxury-blowjob-of-the-georgous-angel-summers-5331-1080p_full_mp4.mp4eed6:lengthi416860610e4:pathl44:Patrouille de Nuit (The Night Patrol) [2014]61:the-french-girl-emy-russo-deep-sodomy-5367-1080p_full_mp4.mp4eed6:lengthi357622403e4:pathl44:Patrouille de Nuit (The Night Patrol) [2014]71:young-french-black-girl-shagged-in-a-hotel-room-5359-1080p_full_mp4.mp4eed6:lengthi612705533e4:pathl15:Peepshow [2014]84:avant-premiere_-_deep_throats_at_peep_show_by_philippe_soine-4663-1080p_full_mp4.mp4eed6:lengthi723805063e4:pathl15:Peepshow [2014]59:raw_video_-_lana_fever_at_peep_show-4679-1080p_full_mp4.mp4eed6:lengthi237330061e4:pathl35:Pornochic 23 - Claire Castel [2012]68:anissa_kate_beautiful_brunette_with_big_tits-4531-1080p_full_mp4.mp4eed6:lengthi303713263e4:pathl35:Pornochic 23 - Claire Castel [2012]96:claire_castel_hot_french_brunette_gets_banged_by_3_guys_at_the_same_time-4535-1080p_full_mp4.mp4eed6:lengthi212348326e4:pathl35:Pornochic 23 - Claire Castel [2012]71:hard_anal_sex_for_the_beautiful_liza_del_sierra-4527-1080p_full_mp4.mp4eed6:lengthi268417548e4:pathl35:Pornochic 23 - Claire Castel [2012]80:hard_dp_for_black_angelika_the_beautiful_tanned_brunette-4539-1080p_full_mp4.mp4eed6:lengthi311731658e4:pathl35:Pornochic 23 - Claire Castel [2012]68:hard_trio_with_anissa_kate_and_claire_castel-4519-1080p_full_mp4.mp4eed6:lengthi292547917e4:pathl35:Pornochic 23 - Claire Castel [2012]97:long_legs_and_dream_ass_the_blond_aleska_diamond_gets_fucked_on_the_patio-4523-1080p_full_mp4.mp4eed6:lengthi832966907e4:pathl45:Pornochic 24 - Ariel Rebel & Lola Reve [2013]61:anna_polina_lola_reve_never_satisfied-4843-1080p_full_mp4.mp4eed6:lengthi575657920e4:pathl45:Pornochic 24 - Ariel Rebel & Lola Reve [2013]61:ariel_rebel_and_anissa_kate_pornochic-4867-1080p_full_mp4.mp4eed6:lengthi1117659653e4:pathl45:Pornochic 24 - Ariel Rebel & Lola Reve [2013]49:ariel_rebel_in_the_garage-4831-1080p_full_mp4.mp4eed6:lengthi897638284e4:pathl45:Pornochic 24 - Ariel Rebel & Lola Reve [2013]65:cayenne_klein_and_mike_angelo_intense_sex-4823-1080p_full_mp4.mp4eed6:lengthi583854685e4:pathl45:Pornochic 24 - Ariel Rebel & Lola Reve [2013]66:jessie_volt_exhibitionist_and_nymphomaniac-4803-1080p_full_mp4.mp4eed6:lengthi688304399e4:pathl45:Pornochic 24 - Ariel Rebel & Lola Reve [2013]48:making-of_-_pornochic_24-4847-1080p_full_mp4.mp4eed6:lengthi482008923e4:pathl28:Pornochic 25 - Anissa [2015]73:angell-fucked-in-the-ass-by-the-huge-liza-s-dildo-6447-1080p_full_mp4.mp4eed6:lengthi517917412e4:pathl28:Pornochic 25 - Anissa [2015]63:anissa-fucked-by-3-men-in-a-parking-lot-6499-1080p_full_mp4.mp4eed6:lengthi547158399e4:pathl28:Pornochic 25 - Anissa [2015]55:champagne-and-anal-sex-at-ibiza-6527-1080p_full_mp4.mp4eed6:lengthi456812497e4:pathl28:Pornochic 25 - Anissa [2015]54:great-dp-on-a-parisian-balcony-6503-1080p_full_mp4.mp4eed6:lengthi582168439e4:pathl28:Pornochic 25 - Anissa [2015]63:hot-night-at-the-hotel-with-anissa-kate-6463-1080p_full_mp4.mp4eed6:lengthi689224379e4:pathl28:Pornochic 25 - Anissa [2015]53:making-of-pornochic-25-anissa-6591-1080p_full_mp4.mp4eed6:lengthi596659872e4:pathl26:Pornochic 26 - Lola [2015]88:anal-dp-and-deep-blowjobs-by-the-2-hotties-chloe-lacourt-henessy-7251-1080p_full_mp4.mp4eed6:lengthi593704468e4:pathl26:Pornochic 26 - Lola [2015]50:lola_reve_prefers_anal_sex-4899-1080p_full_mp4.mp4eed6:lengthi378805743e4:pathl26:Pornochic 26 - Lola [2015]63:lola-reve-deep-anal-sex-to-the-bathroom-7207-1080p_full_mp4.mp4eed6:lengthi399767150e4:pathl26:Pornochic 26 - Lola [2015]53:luxure-cara-st-germain-subdue-6431-1080p_full_mp4.mp4eed6:lengthi377349012e4:pathl26:Pornochic 26 - Lola [2015]61:sharon-lee-fucked-by-a-total-stranger-7123-1080p_full_mp4.mp4eed6:lengthi646180544e4:pathl32:Pornochic 27 - Superstars [2016]67:apolonia-lapiedra-s-very-first-dorcel-scene-9309-1080p_full_mp4.mp4eed6:lengthi1050052570e4:pathl32:Pornochic 27 - Superstars [2016]68:behind-the-scenes-of-pornochic-27-superstars-9461-1080p_full_mp4.mp4eed6:lengthi393235044e4:pathl32:Pornochic 27 - Superstars [2016]73:hardcore-sex-party-with-4-men-for-nikita-bellucci-9297-1080p_full_mp4.mp4eed6:lengthi546298325e4:pathl32:Pornochic 27 - Superstars [2016]81:lesbians-hardcore-games-with-samantha-bentley-ariel-rebel-9333-1080p_full_mp4.mp4eed6:lengthi519413867e4:pathl32:Pornochic 27 - Superstars [2016]65:lucia-love-banged-un-dp-by-her-neighbours-9321-1080p_full_mp4.mp4eed6:lengthi593276129e4:pathl32:Pornochic 27 - Superstars [2016]110:mia-malkova-for-the-1st-time-in-a-dorcel-movie-her-pornochic-threesome-with-lucia-love-8331-1080p_full_mp4.mp4eed6:lengthi457762356e4:pathl61:Première orgie pour ma femme (First orgy for my wife) [2015]53:3-hot-chicks-for-a-crazy-orgy-7019-1080p_full_mp4.mp4eed6:lengthi515437499e4:pathl61:Première orgie pour ma femme (First orgy for my wife) [2015]51:first-orgy-for-manon-martin-6867-1080p_full_mp4.mp4eed6:lengthi1024680946e4:pathl61:Première orgie pour ma femme (First orgy for my wife) [2015]62:making-of-premiere-orgie-pour-ma-femme-7075-1080p_full_mp4.mp4eed6:lengthi546683531e4:pathl61:Première orgie pour ma femme (First orgy for my wife) [2015]89:manon-martin-initiated-to-lesbian-sex-by-the-amazing-brandy-smile-7071-1080p_full_mp4.mp4eed6:lengthi662605102e4:pathl61:Première orgie pour ma femme (First orgy for my wife) [2015]53:orgasmic-sex-for-manon-martin-6743-1080p_full_mp4.mp4eed6:lengthi283825050e4:pathl13:Prison [2014]74:blond-woman-fucked-in-jail-in-front-of-her-husband-5766-1080p_full_mp4.mp4eed6:lengthi328609274e4:pathl13:Prison [2014]58:lola-reve-fucked-by-3-guyz-in-jail-5663-1080p_full_mp4.mp4eed6:lengthi583579373e4:pathl13:Prison [2014]81:lola-reve-fucked-in-the-ass-by-the-huge-yanick-shaft-dick-5774-1080p_full_mp4.mp4eed6:lengthi681967744e4:pathl13:Prison [2014]40:making-of-prison-5722-1080p_full_mp4.mp4eed6:lengthi401927694e4:pathl13:Prison [2014]73:new-hot-babe-alexis-crystal-hard-trio-in-a-prison-5647-1080p_full_mp4.mp4eed6:lengthi388207916e4:pathl13:Prison [2014]83:young-brunette-fucked-in-the-ass-by-the-prisoner-s-big-dick-5710-1080p_full_mp4.mp4eed6:lengthi540967517e4:pathl76:Rose ValĂ©rie, Infirmière de nuit (Rose ValĂ©rie, Night Shift Nurse) [2017]52:cecilia-scott-naughty-nurse-28478-1080p_full_mp4.mp4eed6:lengthi333750797e4:pathl76:Rose ValĂ©rie, Infirmière de nuit (Rose ValĂ©rie, Night Shift Nurse) [2017]55:cherry-kisss-special-treatment-28186-1080p_full_mp4.mp4eed6:lengthi788259493e4:pathl76:Rose ValĂ©rie, Infirmière de nuit (Rose ValĂ©rie, Night Shift Nurse) [2017]65:making-of-rose-valerie-night-shift-nurse-28498-1080p_full_mp4.mp4eed6:lengthi713205835e4:pathl76:Rose ValĂ©rie, Infirmière de nuit (Rose ValĂ©rie, Night Shift Nurse) [2017]66:rose-valerie-tina-kay-your-special-nurses-25929-1080p_full_mp4.mp4eed6:lengthi361953867e4:pathl76:Rose ValĂ©rie, Infirmière de nuit (Rose ValĂ©rie, Night Shift Nurse) [2017]63:the-first-porn-scene-of-laure-valentin-27966-1080p_full_mp4.mp4eed6:lengthi498787111e4:pathl76:Rose ValĂ©rie, Infirmière de nuit (Rose ValĂ©rie, Night Shift Nurse) [2017]64:tina-kays-gang-bang-with-3-firefighters-27942-1080p_full_mp4.mp4eed6:lengthi311957379e4:pathl79:Russian Institute - La Directrice (Russian Institute - The Headmistress) [2013]70:anna_and_nasta_zya_hard_fuck_with_the_gardener-4879-1080p_full_mp4.mp4eed6:lengthi378841145e4:pathl79:Russian Institute - La Directrice (Russian Institute - The Headmistress) [2013]73:anna_polina_and_nasta_zya_hard_college_girls_trio-4855-1080p_full_mp4.mp4eed6:lengthi299271479e4:pathl79:Russian Institute - La Directrice (Russian Institute - The Headmistress) [2013]55:clanddi_the_dominatrix_director-4919-1080p_full_mp4.mp4eed6:lengthi394146791e4:pathl79:Russian Institute - La Directrice (Russian Institute - The Headmistress) [2013]59:huge_tits_director_clanddi_jinkcego-4931-1080p_full_mp4.mp4eed6:lengthi431647959e4:pathl79:Russian Institute - La Directrice (Russian Institute - The Headmistress) [2013]76:the_2_beautiful_students_have_sex_with_their_teacher-4839-1080p_full_mp4.mp4eed6:lengthi199958396e4:pathl80:Russian Institute - La Nouvelle (Russian Institute - The New School Girl) [2015]67:alexis-brill-a-new-sexy-student-very-docile-6159-1080p_full_mp4.mp4eed6:lengthi446203991e4:pathl80:Russian Institute - La Nouvelle (Russian Institute - The New School Girl) [2015]56:anissa-kate-the-pervert-director-6363-1080p_full_mp4.mp4eed6:lengthi317964018e4:pathl80:Russian Institute - La Nouvelle (Russian Institute - The New School Girl) [2015]72:dildo-games-between-students-with-jessyca-wilson-6243-1080p_full_mp4.mp4eed6:lengthi698950025e4:pathl80:Russian Institute - La Nouvelle (Russian Institute - The New School Girl) [2015]71:making-of-russian-institute-the-new-school-girl-6355-1080p_full_mp4.mp4eed6:lengthi375681242e4:pathl80:Russian Institute - La Nouvelle (Russian Institute - The New School Girl) [2015]77:the-young-school-girl-tiffany-fucked-by-her-professor-6399-1080p_full_mp4.mp4eed6:lengthi315020508e4:pathl80:Russian Institute - La Nouvelle (Russian Institute - The New School Girl) [2015]60:young-student-sodomized-after-school-6347-1080p_full_mp4.mp4eed6:lengthi693815242e4:pathl70:Russian Institute - Punitions (Russian Institute - Punishments) [2015]43:anal-students-games-7051-1080p_full_mp4.mp4eed6:lengthi550767130e4:pathl70:Russian Institute - Punitions (Russian Institute - Punishments) [2015]65:anna-gives-tiffany-for-a-punitive-hard-dp-7183-1080p_full_mp4.mp4eed6:lengthi401536637e4:pathl70:Russian Institute - Punitions (Russian Institute - Punishments) [2015]84:anna-polina-the-hot-director-with-high-heels-nylon-stockings-6959-1080p_full_mp4.mp4eed6:lengthi294926591e4:pathl70:Russian Institute - Punitions (Russian Institute - Punishments) [2015]69:hard-rendez-vous-with-tiffany-the-hot-student-6995-1080p_full_mp4.mp4eed6:lengthi477525886e4:pathl70:Russian Institute - Punitions (Russian Institute - Punishments) [2015]48:hot-students-like-it-big-7091-1080p_full_mp4.mp4eed6:lengthi1048457927e4:pathl70:Russian Institute - Punitions (Russian Institute - Punishments) [2015]63:making-of-russian-institute-punishments-7187-1080p_full_mp4.mp4eed6:lengthi381929612e4:pathl37:Russian Institute - Sex Lesson [2012]71:2_youngs_teens_get_sex_with_the_school_director-4631-1080p_full_mp4.mp4eed6:lengthi265528227e4:pathl37:Russian Institute - Sex Lesson [2012]59:a_young_blond_student_gets_punished-4671-1080p_full_mp4.mp4eed6:lengthi381341775e4:pathl37:Russian Institute - Sex Lesson [2012]78:at_school_a_20_years_old_brunette_student_gets_fucked_-4643-1080p_full_mp4.mp4eed6:lengthi414482686e4:pathl37:Russian Institute - Sex Lesson [2012]73:hard_dp_is_the_punishment_for_a_beautiful_student-4587-1080p_full_mp4.mp4eed6:lengthi266708038e4:pathl37:Russian Institute - Sex Lesson [2012]55:lesbians_trio_in_a_student_room-4667-1080p_full_mp4.mp4eed6:lengthi999341273e4:pathl97:Russian Institute - Vacances chez mes parents (Russian Institute - Holidays at my parents) [2013]41:ariel_and_cayenne-4895-1080p_full_mp4.mp4eed6:lengthi428098357e4:pathl97:Russian Institute - Vacances chez mes parents (Russian Institute - Holidays at my parents) [2013]63:lola_reve_and_mike_angelo_in_the_forest-4915-1080p_full_mp4.mp4eed6:lengthi1098870456e4:pathl97:Russian Institute - Vacances chez mes parents (Russian Institute - Holidays at my parents) [2013]36:lola_reve_dp-4947-1080p_full_mp4.mp4eed6:lengthi682626946e4:pathl97:Russian Institute - Vacances chez mes parents (Russian Institute - Holidays at my parents) [2013]58:making-of_-_holidays_at_my_parents-4907-1080p_full_mp4.mp4eed6:lengthi492350606e4:pathl97:Russian Institute - Vacances chez mes parents (Russian Institute - Holidays at my parents) [2013]57:szilvia_lauren_and_james_brosmann-4935-1080p_full_mp4.mp4eed6:lengthi442467536e4:pathl84:Russian Institute 22 - Visite MĂ©dicale (Russian Institute 22 - Medical Exam) [2016]58:anal-school-test-for-anita-bellini-9349-1080p_full_mp4.mp4eed6:lengthi1052007984e4:pathl84:Russian Institute 22 - Visite MĂ©dicale (Russian Institute 22 - Medical Exam) [2016]75:behind-the-scenes-of-russian-institute-medical-exam-9473-1080p_full_mp4.mp4eed6:lengthi593819489e4:pathl84:Russian Institute 22 - Visite MĂ©dicale (Russian Institute 22 - Medical Exam) [2016]64:french-pornstar-anissa-kate-prefers-dp-s-9337-1080p_full_mp4.mp4eed6:lengthi593737889e4:pathl84:Russian Institute 22 - Visite MĂ©dicale (Russian Institute 22 - Medical Exam) [2016]82:lea-and-apolonia-hardcore-threesome-with-the-school-doctor-9365-1080p_full_mp4.mp4eed6:lengthi452939260e4:pathl84:Russian Institute 22 - Visite MĂ©dicale (Russian Institute 22 - Medical Exam) [2016]81:nasty-teen-schoolgirl-lea-seduces-and-fucks-her-classmate-9357-1080p_full_mp4.mp4eed6:lengthi550909308e4:pathl84:Russian Institute 22 - Visite MĂ©dicale (Russian Institute 22 - Medical Exam) [2016]73:sexual-check-up-for-the-sublime-apolonia-lapiedra-9521-1080p_full_mp4.mp4eed6:lengthi666435223e4:pathl55:SecrĂ©taire Ă  lunettes (Secretary with glasses) [2014]72:2-beautiful-secretaries-fucked-after-their-lunch-5967-1080p_full_mp4.mp4eed6:lengthi545320590e4:pathl55:SecrĂ©taire Ă  lunettes (Secretary with glasses) [2014]62:anissa-kate-hard-dp-on-the-boss-s-desk-5923-1080p_full_mp4.mp4eed6:lengthi500370466e4:pathl55:SecrĂ©taire Ă  lunettes (Secretary with glasses) [2014]64:intense-orgasm-on-a-boat-for-anissa-kate-5826-1080p_full_mp4.mp4eed6:lengthi683523732e4:pathl55:SecrĂ©taire Ă  lunettes (Secretary with glasses) [2014]56:making-of-secretary-with-glasses-5927-1080p_full_mp4.mp4eed6:lengthi496431246e4:pathl55:SecrĂ©taire Ă  lunettes (Secretary with glasses) [2014]69:the-administrative-assistant-shagged-by-2-men-5971-1080p_full_mp4.mp4eed6:lengthi407122978e4:pathl55:SecrĂ©taire Ă  lunettes (Secretary with glasses) [2014]59:young-slutty-secretary-with-glasses-5911-1080p_full_mp4.mp4eed6:lengthi550733300e4:pathl53:SecrĂ©taire de direction (Executive Assistant) [2014]65:anna_polina_the_young_executive_secretary-5151-1080p_full_mp4.mp4eed6:lengthi801225859e4:pathl53:SecrĂ©taire de direction (Executive Assistant) [2014]47:ava_courcelles_first_dp-5179-1080p_full_mp4.mp4eed6:lengthi718643653e4:pathl53:SecrĂ©taire de direction (Executive Assistant) [2014]62:ava_courcelles_fucked_in_a_parking_lot-5163-1080p_full_mp4.mp4eed6:lengthi641606885e4:pathl53:SecrĂ©taire de direction (Executive Assistant) [2014]67:hard-fuck-for-the-beautiful-blond-secretary-5319-1080p_full_mp4.mp4eed6:lengthi626728888e4:pathl53:SecrĂ©taire de direction (Executive Assistant) [2014]49:lesbians_secretaries_trio-5183-1080p_full_mp4.mp4eed6:lengthi645082111e4:pathl53:SecrĂ©taire de direction (Executive Assistant) [2014]55:making-of_-_executive_assistant-5231-1080p_full_mp4.mp4eed6:lengthi552181546e4:pathl48:SĂ©vices Militaires (Military Misconduct) [2017]49:brandi-love-milf-craving-28746-1080p_full_mp4.mp4eed6:lengthi435571663e4:pathl48:SĂ©vices Militaires (Military Misconduct) [2017]42:hardcore-bootcamp-28650-1080p_full_mp4.mp4eed6:lengthi441304788e4:pathl48:SĂ©vices Militaires (Military Misconduct) [2017]39:into-the-woods-28850-1080p_full_mp4.mp4eed6:lengthi519778712e4:pathl48:SĂ©vices Militaires (Military Misconduct) [2017]45:major-brandis-orders-27146-1080p_full_mp4.mp4eed6:lengthi435650326e4:pathl48:SĂ©vices Militaires (Military Misconduct) [2017]54:major-moore-prefers-young-men-28506-1080p_full_mp4.mp4eed6:lengthi716895049e4:pathl48:SĂ©vices Militaires (Military Misconduct) [2017]69:making-of-from-the-movie-military-misconduct-29098-1080p_full_mp4.mp4eed6:lengthi993320417e4:pathl53:Soubrettes Ă  partager (French maids to share) [2017]77:behind-the-scenes-of-the-movie-french-maids-to-share-28646-1080p_full_mp4.mp4eed6:lengthi642690574e4:pathl53:Soubrettes Ă  partager (French maids to share) [2017]46:pretty-cherry-to-fuck-28702-1080p_full_mp4.mp4eed6:lengthi547926048e4:pathl53:Soubrettes Ă  partager (French maids to share) [2017]49:the-maids-perverse-games-28582-1080p_full_mp4.mp4eed6:lengthi614440783e4:pathl53:Soubrettes Ă  partager (French maids to share) [2017]51:the-rich-housewifes-orders-28234-1080p_full_mp4.mp4eed6:lengthi351203506e4:pathl53:Soubrettes Ă  partager (French maids to share) [2017]51:young-maid-for-hardcore-dp-28382-1080p_full_mp4.mp4eed6:lengthi487131259e4:pathl53:Soubrettes Ă  partager (French maids to share) [2017]50:zazie-skymm-obedient-maid-28670-1080p_full_mp4.mp4eed6:lengthi684826323e4:pathl103:Soubrettes Services - Lola, au plaisir de Monsieur (French Maid Services - Lola at your service) [2014]54:anissa_kate_and_szilvia_lauren-5103-1080p_full_mp4.mp4eed6:lengthi549598161e4:pathl103:Soubrettes Services - Lola, au plaisir de Monsieur (French Maid Services - Lola at your service) [2014]54:anissa_kate_subdue_french_maid-5091-1080p_full_mp4.mp4eed6:lengthi462781338e4:pathl103:Soubrettes Services - Lola, au plaisir de Monsieur (French Maid Services - Lola at your service) [2014]67:ariel_rebel_and_lola_reve_1st_lesbian_video-4767-1080p_full_mp4.mp4eed6:lengthi542695939e4:pathl103:Soubrettes Services - Lola, au plaisir de Monsieur (French Maid Services - Lola at your service) [2014]57:exclu_-_lola_reve_the_french_maid-4751-1080p_full_mp4.mp4eed6:lengthi585999922e4:pathl103:Soubrettes Services - Lola, au plaisir de Monsieur (French Maid Services - Lola at your service) [2014]66:lola_reve_hard_dp_for_the_young_frenchmaid-4995-1080p_full_mp4.mp4eed6:lengthi693218953e4:pathl103:Soubrettes Services - Lola, au plaisir de Monsieur (French Maid Services - Lola at your service) [2014]56:making-of_-_lola_at_your_service-5023-1080p_full_mp4.mp4eed6:lengthi147344997e4:pathl45:Une affaire de Famille (Family Affair) [2012]63:anna_polina_hard_sex_near_the_waterfall-4623-1080p_full_mp4.mp4eed6:lengthi651290170e4:pathl45:Une affaire de Famille (Family Affair) [2012]49:making-of_-_family_affair-4731-1080p_full_mp4.mp4eed6:lengthi1932952971e4:pathl56:Une nuit d'Orgie pour Cassie (An orgy for Cassie) [2017]43:an-orgy-for-cassie-28462-1080p_full_mp4.mp4eed6:lengthi820191511e4:pathl63:VidĂ©os privĂ©es de Pornstars (Pornstars Private Videos) [2012]78:abbie_cat_a_beautiful_brunette_has_sex_with_an_old_man-4615-1080p_full_mp4.mp4eed6:lengthi585013701e4:pathl63:VidĂ©os privĂ©es de Pornstars (Pornstars Private Videos) [2012]80:aleska_diamond_the_beautiful_blond_girl_rides_a_big_cock-4607-1080p_full_mp4.mp4eed6:lengthi828318708e4:pathl63:VidĂ©os privĂ©es de Pornstars (Pornstars Private Videos) [2012]63:angelica_heart_a_busty_brunette_so_sexy-4611-1080p_full_mp4.mp4eee4:name69:[DorcelClub]Site.Rip.2012.2017.642.Videos.VOF.1080p.h264.WEB-DL-NoTag12:piece lengthi8388608e6:pieces759780:›\ťR*ě-i[ÎĐüió‰Át}i0Čűd—Ü H!ëżřixúźžŹ™FţőoYČ’oť“/0,X@z‚gÎ'îhÄ”ža…˘ß\O×Oe2fť±ŽcP’Í(ď¨1¶ŔWIýd}3•1´•«Y#ŔŢťKˇ’ĽyëhÎ`źÜůqDĽ[NŘŮJď»’‹Ô&w\u”kíIQŤÝś“‚*dÄ:N Ĺ3ć3öŘ΄w%ݰď;3µRCnäş&ı5˙Ň -Ŕ<%“v˝j‹L§MÎćŃ_ˇ«;¤…Ün;*#eDfSł°dČę ´&Ľuý ĚBfQQĚuÉśmţQ$ďR· «Ń;9JHĆą‹IŘ+,áh€~ EX5Š8¨ÖýśĎ›,”É,rź‘Ę^@¦¸ÝbŮHŕ,rId'ń[.˙¶c¨ĎGh°¬á(ˇ]MZĆ«tßwň˘dt`fŤ˘bÖ j†‹™!S$LJęn\Ťě=qÓÄGťÂÄśaŁ, ˇm‡śĘM»;Żđ"¶vkăčă ˇeëÓrŤ!ÄBżŮ%zEĎ*H&Ś(K,¦ą­ę˘O(„ÍŞ^ĚŚ•!°Xv„O°oúáÔ·ĺŢHđ«&f­Ţ Ut Ť -N-…—Yî…“ł@ˇ‡‰„=ń€źŮ/ ˛¬Ž!]Z‹»ŹŘ,ĺˇ|F^<°AëN ĎÂŮt¤ęqë^E*żşv7 +ŕ+Râ°/‡Žh/îĚ"#csÇ"–‚ő¶jî:ëaël“Ę<Pşś G­zŠŕŃN­4y¸ß+˛>W3¬¸Ő|dÍw‘q?¶!Fş ÎMć‰8ł&¨{e«ynkY˙&»Ş°CÓMˇ żm,oŚóť9LuvÓDß„čcýOŰ·jkt™&PHß=|Ph¸¦‚ă­±a «yY·ŚQbż¶enď -óZŽ"“:•§s|(9¦·ŘLˇ]÷Za:ŕĐAčKŤâ"3 -VÁ*ä*3‘DˇF Ů›üĘřę5ŕ˘ĎUĹoű-ŐßsŹőžőcś‰1jpúé§jđUŘ4ťů,ÔÂłxO}V·±5^FßLmäpşőŔ»=—›ů°"V#¦+čpłrvZČjs÷N,é •βôî¶©‘.‡uÂ$™FX¬űrÍ4ěX_ľeV9jÍ j–Í´őź6†ĎôQĹý(¸k7…Q_30C:ŠJł·µ” -+Xs€oý›{­Ôt†¶Đ3Bě4čZÁÝaĹěKŻeFkäĽĆ…íÜʢ„e‹Ą/Ŕ˝±©ŹVĺ““LČÄ î¬# -ĚZNrsĎ–ý8·±`wĂ8˛Č![Dk©ßäGđI«zÎ+ĽMJúpß،זńL® ¸†/5Ă­…čŰ -Y¬|Ť-„řěŤůżŚ->óť~¬h™ýž Đě"Teş·#WraŇ,çNôť~AáJPf1ăĽęvvE]~ŁŘű“¶XŻŮ~R9ŽdßńéĄŔa±M,u*ęµÓhĽźĺ~rRUĽ’ŕ}ś†°'Eőß’dň?¶Ą+ČÖR {í±K`aˇÍrߡŚ6Ę€DV‹ĺó‡Ü+E°ýLŔëšl/ÖągŕsYľ»óť…:ěÜÜYµ3ź=öŃü+Ag|DřÜ,ĎvőöĚxaidq Ú‡pGqÂúk“ááMŐńěxÔ–MDOyÍ€Ŕ¬ż×ËŘ1a9Čş‚âtpK E §éłŻA/—ĺźÉ.ľ6÷ˇ:đ92KÄ$çhEŕxŤ€éEz˙±HAZ;ŁâĎY@5M:öHIâwvť·ë§ĺ×L'H4>NT\p› -?.ŁúźňT±â@ šŞ†‹Fň‰1a¦UŰŢß‚ ä3/ăůJĹjĘ‹GĄP¶ĺ‰'XŚ—ó흆†ŮűŢx“ď †ü®Ó=W°Í‚58•¤—¦äW9ڇ®…j°°¸µt`2ÉÝGKěŁ ˇµďo5‰ -’(‰ű Xʎާb#yJ<* ¶mĄ¶µ Ř1Ěk4öE<ťĘŞÂ’ˇÎ®9€cľj(®&—ŚZŮu,™é‘—¤ĘvoäefíŢÚ'Xưw’Z ©Ŕőő_zµµŮ'"â˛Tî°łîŐÓÄĚüg“¦ÂF'(ŁJ ŁëL‹Âq1‰isţ˙~™*_·ń*Óä4Ľ*`řÉł˙ţ˘UÓĂ şŮK /a˘DŞšŽÜ:żF1ńńŁlΝۍ‚:^]kśglçwZa|‘™m *Ę“nÖ ţ’‡kÓŹá2+ŮIe{?vúZü±J©lQŁ_r"·¶|© d;¶´QyśY‡×ŕ ±?foTě÷®~ł›ćĄy:rĘyëěr’ł˙ýĐxZř¸!‰žuŃ*Íʇ × ł…ÂJf4m~6#Lďa9ÇKmŞoUěn·Ďëgű‚ݞLʸÔ”ęjÜZ@űc†$ôް đ!ň€g … ^Ň´ŹnÜĚÇ•*>ÖÔ8¨±Ŕ˘»bĹ9śX¤ă)ÄÔÁ¸ń#Ös°Ă6­}Ö?“ň«=:şUEa µ˛]TÇĎez.z˛!V2h…âdÖ·‡z<_sIýĆ\Jô”‹öŐÄjůÄx¸˘ÂtQ-Fˇ) ¬öCKJŔÜ ©/¶/0“ŇúšAVݰŔhÓ#:ś5ź».]ÄŘŮÇw0­”l…Éóuóu+}ţi† Î­&Ăěš7PČH.:ŘŤĘ•6čŃß áw›=ňúóv_˝Ą††n„%ú°ŔPřő,Ť¬”Ö|~©Q˙&)rŘOŠŁŻ8ŤĘ€ŽHoOŻĄŘ ‚•BIĘ<˙nnţ”ĄŢć˛;鱟!ɉrŕ)*ý­ĚZź_`°÷k°˘bŠ -?<…ZzźYČoiLsËć}ľ3Ů ¬8čŐٰ*±â{ż%ˬ7 FÓÎ{P -źˇű+Ż h-Ţ)m7 éÎĽ “¨_r§ľ[lwÂKŤLe˛ĎĐdąşŰE Vq ~g˝óá•ů0dHkéVˇîbăçÍ7‹ôúk潂&–ň“4alř°j „ľ<[ Ą™BŐ_TD®K¨ -âŞĹďVĹSľzđŘNUĂÔ™9|‰âźŮ‡čŘ}ĺăŹË w)ů Ç—üĄÂŰ+ýOˇ„ÍÁw$ѬŔ´5z¶Ô -Ęi!GŻĺ$KjÇ\Śżĺx…"$sWuşŠm‰#i”Cbߣ¤/»ŃÚn­şHŤŽĺÜ‹€•çş9 w†’:B™Ç2Bś–™&?đŻ>žn/ň?…hßÝ«/RĚCŰ©@,˙>1:Řľ»¦ŇÄĘž°´©C[ś y`|P5q¶ -ł5ÜnóĘbřZâ|XĚj’¨§üib&Š%a†HKZh¨ţ śžîĹéÎŐň‘¶&2Ýţx›Ň&üÄJ˝ď˘@‡ľv†¸ÁüĹŮ -`ŰśŤ˛n včâi\žH-fM.˝G‘f‡/v‰4Š$%G\Üşóűű …ŚeB1Ibcn.›qccË&—jâÂĹAíÔ¦ę'9Kě?ĺ0ws> Je Ă‘R¤Cő‡@ky“-+±NfUUČşę–ýȲ:ŔÍ~{„1‡züÝŰ„‰%ŇJŻ -¸oŁWËaXÍť4éJ„ôꕲl çˇÜ˝Ĺx·4ĂgQśB×& S­Ď;5ô1ä]ŤDŹęěË^’´ţńłw¨ý iZëçf6ĺŇËްŁÇD“ţ™žł €÷24Ş&]¦ąwâXő µ\3 t­§|Ľ ÍeP;äŽě7í0 }XeédwŮ.ÓXŁZ!W Ţs/g­8ą,Ę~č&˘Ă„}¸…2]u†‚ľ0=±ôo)/Y—)¸ŕ{ĽBźŰµ›ŇőăZł1Âáąďeĺí¸±[ŽŻjAé%/UÚšŠÄ -Mnšý<čÎťvꞷŚëĚ7ę®8ęĂ+ďÎx<‹˙ X!>ću𮔾µ7vĎ…R IڰÎ틮˰››¶ý©RSĎŔ×ýP7vĐk›q.ö4äaÜa#Ź%‹ -d‹yBË6š”,Ţý©ô™í~ęFü“3čp8Yn×É#í,j*$¤[­]y‚|™h3ś¬ćŹĂ Â2ďâ‘…ÎĂö_%_Ż]ˇŁ»‰­[ÂÄ›)W®wŰ´żÁ§dÔ’M|®ż“żvďšÝŰ”&agŔ˘hý˘řĽÝÝXŁ:07Đ™l¦Ú¶Ŕu߯vŻČž‘üň÷°J_'¬Ü"HFó†ĐY7‘VAťdł,’ł -dĄHĹĄçÇ‚z+BĂÚePÝ›±ŻŤ/¸Đe˘Ă˝ýIžŢÔýśĂ’é—©JB›z&•ˇS ¦ľZ1@ćóA­lC®µ0Ődşů&x|“đ;[G»ţĎm´v×U_p[4ŃŠůDé´Ç°¦1C‰ÂiW.ŐÉ_}$KL…ňP:•’Üҵ˙c»‰dJÜ*đńwäŚwˇóŮŞ%P#Űä¦ăÔé—T7f&źW&úŇ~u›•*ĹçAá–ăL™ e÷±;ÖW¸îaEÖ |łjÚ>ŕ’î`PţÓĎ"â8Ęą.ĎÉfáËôŠĘ: -cúBň{ă>˛ü^§ÜçĎ ÎBĚ­dö˙MQ™ô“zAĘş'ҶÚ2Čp±Ő•Żńj0»t—fÇ’«U4ŹůÜHŔÝ$p·ŐĎdE¶ múÉňzďŁ3M÷>ýż°ĚŔ†—· ç ć­<M+_ŇSĐyć^Ä7ÎZćNô€gňź´MŚ•ű&ÓsC,eoß?ĂđP‘›×…U™gv=O€ĄŢę\%*©¬';ÉUŽĚ UDdŞ•ő­‚Ďč8g&˘˘M”! -wćŞÝdłŮë0cŞĐ|ČP´ďČVŤÍňM~q`ű[Ýô=AËĹĹPš’k› -±„ÂĚö —ç§Ś/=Č…´ -‘óäLöZE‰ĆÚáćň1ĐHS˙Z&Qi2„%…2Ž(}%¤W7ób’Ś-ĆÍöśřŮţĹčgHžeFmô†,ěă„TŤÓ"§ Á~ó.¶rň,xwĎÔ¶Đ˝`~b×JÄDPO"O…5«:éqß/®†“5(TT°1s\i•ţ˘čŃ‚¸čđ_:‚ŘŁ'ź’|Ĺ%Ö…—Ţă{ÍĚĆH‚(eÖ—ikÍ•,˘+M#éŔĄĄ.ä@e›GŐš`Ő:×­z0&XöőG`ř:ušŹtőĂfI8uYöčňhD¨c”ôÖ®ŚÄHAßŮÂÄCI—-KzÇý“Âźśů–»¤ 'ĽĆúžŤ§š“ąú€'ŹsţšgrĚjaň·¸S™2— ˇ˘‡\źîBiÁ7ˇŁŽÜ‹Ĺ(ţŽúúî¤ţs-ëĆšŤhj†©¸ă#„{<ĄéMµćśy`ëâsżťQ%ˇ{ä}c;B› -˘g† ąř_ ÝŠJéí C»ŽĐťeÍo]$°zÍ6żŘF' ţCĐ6śGŰűýjęĐnÔŽ•K=ÁôŃ‹ň<śÍB›ĺNb™8›ąÖŰU?.i8»î/Lîú’iH"+"R=ű;ěµiŘH8‡ć˘%˛MLńöĽ{ěn=ĹšÚ;=cÝÂidÇűMő«=Ď?’‘© -ko*ظťüu%Ń"]WQ'“°pd0ÂÓĄŇ[OM:I›­c¸Í˙ rĚŕf,ó†őoł3ä’‹sD”3yâax[÷ĚYźPAýźySŁôýéoŠekcË9ł~ yń±§É¨ąń“LO‘ńëS#’ľş±ĎKo}ëďsĚ(TŢ ř2ÎŽ0Lň’rQ»tdę!Ę€]f$˛mµcď,»Ęrc70?˝G3ÁôŢS˝fćí6|Ďő˘‚:pVłSV‹%3DMtżŮ‰ŕ`Ť˘qö?'śď.|ç’9«Ú}>'-źµWëVKC°®zÜ`Ŕ'ľT&*L"v&í™AU}ŃFM?RŘËĹśALqTB}BKš p¤2¨‹Ý9ţúąĂ¦WÓ–pśěh†ě´*ą~?đ&1Y—ˇÝ+]Ëz"˲Y˝4Ôă+P#,żíČZ\đëÉ“đaL!IžtIťŹ|É^Ŕ=.\Ă TUR=Č· óYAßě^=Ó>&jRŰţî.ĆÁ-r.ŕ{0Í»O‰śd|ĎŹ#M¨ßçyfk] ڦN=Că7{P7†Ń®t2XA7OÚ*$R-J3¦qâ{@¬|×ÜyúňČmÉí-ă 2Ó‘¤pKą˘Ows« -ťO˙+Ő”€iĂ‹_z¬ y0†?1ŕ…źxŇ![ęgäđ[Q»28ĎJíą&Î#ü99Ń»D!– .ěÂogoja=˝źi¦Î‚šZ±Ý&ŠlěF(Ěď`h’ýd<Ş,úĐMÔ•Áë&»Ôszc˘e"!řóŶI ’4ĘěäM ¤%ax†O<ÝŤµZ í@JClĹ:Ú šýL¤‚®ý[Ä“łĄb.:äúņôczE1}YŮfŐ…ăÝdŇ’öYŐH+Ë˙ö>u҆Jú+mgĘP/…”·ÜA·č®©ěH3{8Ą $ś€Jŕ˛ţĘ—RI”»ĘÖŨť›ˇ7„y$ -°9_^´zžHrsěÍĹREn˛Č÷ĎĘŐUë4wA”íá$±,SéŘ<·űÎŢÖ3`L5óŕîMó:)—0|6 ŇëÇ–|_¬v¦Mo®ş©mÖ¶Ž.eN†şŠJr‚4ă!Xc]UĚóHř!bGi&´l…Ńąű7WwŇ'ň:tZkë ĂäÓăP;ońśf,V ĂOź‹o׎˘z,ĽkŻ˝oíó±™öűµçÓR€Q×[ýÎuëQá şĂĚ—Žuç6ĎMu⪓nî؂Ӆ|« Ň»Ť*żžĘťÓ7 ďéţoj…nY‡ŁŤlíř’»Ű§ÝĆ™éńž––ů ¶śÚ ·j1íRRŞüË)”šŐŐ’3®:kďX8¬_j ŢŇ €{ëWâ¬ËÓźň…ÓîĎ&Ięň”-M3śWSP5Őv’;ĽŃ™ĹŹŠxŽŰń¨­çĺH®Ů’™jĚ#ŮýúTź±I B NN+űÓDjAĂw´ză©;@·R7®Ď;ˇ?Đu^Ţş6żŕöU·._ü«™ĚőDfşť.Á÷Řeq~Ę ýđ™îwŁ "á8±­–ő€ĆĐč6łŕ,3Ľ©—M˝íĚ“ŰĐŠ¨•Ž%Ä’HÓĄç|ÖB…ŻÓÇ8¨›vŐĚQSqÂR:ÎÍ+4‘V€· ú‡”[ŁCÄ„1±źHűG -‹>Ç}‰TNT5ž¦…ź¤j_7“żŮăś -±Ę*ZÝóő‚YwV~DŻ*ľŽ–©·űLÂN%s’üP÷;‡1łĂĘtP -oáq´n©ôâ‰WQ Šg*X«W‘¨[´Ź1ŘĄfµ`Lg2Ę «űŠśÎ˘Cyđýł­Z_fÎ)ĽÜĐń»·g°CW4#űmJÝ|9%ÓÝéĘĹţŇ'gRk+*°oBę ě,Ż="ÝÍ#ň8Šý şŞˇż© ,v4®¸č´Őő.Ăz‰ÍŽ!¤vI#uËeˇ/ţ'ăUţ¸%´é!ŻŃ˙“ŕ÷荟·„âÄ-`u…oĄz±»TÝ„v2ÁHÖwŹ„A*'väś}—ýL$Tó¨TŇít |;Í)öIÚ9Xę€Ęw¦ -:ąłOŢÂQŤ€ŃĺYĹFv®ďŮŽP'Ę řŠ&Î\óF‹TŻđ @‚9uŞ#)ě$)K–ŕnŃýŐ©Ń ^8ŕ“ TH«q^ࣳǙÎ=RĘvţ*ŘwŘč… řqNŃÎ ±˝Ş¨Ęý<ioOý&O/ŞMfü1Řyz—ĎsC‡ş¶Gl;GĂ“Źý¨ÖŇ)[(ŹŤ_¶lĂ…šg„`ĹŹŁTÜ(ü|×ΆS€Ňţ Y’sH瓱Ôáćaµý*@@ćtŇňZL—'Š_vBĆ^ \Íľ)Lö;ÄŘ?ŃçďłQŕ —Ďě°;3ôRM®F­Î…W'č-«fcąÝ_‡U·đbCBżbV– Ď »×Áqĺ„Qˇę– -/«"K›Ďń…Ŕđíg 2“ë—ËŻâˇlwÜĘ*¨üĹhý’[ĺdx°dŮs!ÍmĚ1¤L;v·q@“4ţ:„»·ë´ćŕěV§*†żČĘČţ‘(JüĆ®b÷ŻúöTţ‰ľ˝Ň÷pîßb‚6DúłY#¤±Hp5 ŕĚ˙yüAý•F?˛LĽWçž4JŠ0» Ćń{lŞڰĚĐÎçĄ4XF^Ţ‘»pľ¨ ˛xÖgÜîšmőq -‹VB”öÔŇ}™Y×.uř˝AŤr`/íÎH$ÉŁ›şŞ„j›§r§Z¸"ćłä{Ť]Đ ˙ĵ˛×kłČđWÎAP43mEi»}T÷’8}Ż=,Źxpťt:ĺTP1´¨ś{đE&„ýÓ˝I¶3đ;SÜĹtdŤÜ©fź'ţř¬Gn|f·ĐÂÓˇßćŽ'«ůń˛ߪ ‡‰p»f^* y}h›x‘΋·‘ĺ’É&Ő(ţqUt|;´ůiśÝ6ăÝ*ÉB‚ˇ¤@»¶ş>v6·ÁľĽżqŰŁ_°GŤ­±Ě¤9=ĘZăÍ)DT]böý˝l˛SáHxđţĚ Fq±ĐÍŐµ{p^„ ëżÂÎpß1{E0?ú«Ä®µÉQ­¦5%K¤ŠÎQ|+(í'ScŚ%O'ÁçnÉ]Ű”ý4"»ß|‹6ť×ߤ.«)o ÝÉľoű -bËę1=€@VţËÄߦ¤eg´vÜÉ-&g*^ dőśűë ‘ĹY:öťJ%¶cçŇL ŚžąţŻĆ+Óˇď.q˛K µ5–Öx݆4%˙łŻ6‰•K~Żo[F3ë"ÍéęG~Ŕk¤”Óăš$ŤŢ éÄ|pC­Ë#ďFî×~×ů -…C@~˛„W• ÍáŮÍëHZŚ–2Öń&´ńŐu»t4§VI 8”$F¶:{|]‘´ ĆěÄ7ýńŮvq1ĄÇ=ÜúŮ“wB«Žh“7Ę*~jŻ’&çóD43Gř\ďŻÝ¬‹ť„ÝëôťřUnŔ¬Ň'aůŚf†L§Z%›Hž×ÝىÚ潼$’ĺ=@Íű‹xîÇ;R©^Ä˝5źńtŤ)BVşpYµDµ÷üČ~厷Íc€ňE˘g)ş*UPmťŢ…~:»wŤĎTHYÉĂI ýĽµ¨?}Ű•R/:¨ °[X;Á´`2›„D­ç¸ß*‹Î#ežb¦ÔűGĘͲ7©Ů5ŽÎÎ'´_4)đ¦{CÍ8mv|Ť ęä†ßbb}/Ľyť‚W^vľ“oľ7Žű˝Ď‹,gö\Ô^ÚۤEW6:=€Z˛˛D–—űšţŻůť}ĄŔsÎ -¦ŮHą3Áq?đ«RX9ţëČVŁjĚŰš[`cRĄ˝ č{Ź÷“ž#„F,Đđ"Ôkč"SËđ›<í6w„mďÂCÁŞ'§$€1Ťzn†Ą §…u K\FÎTÓâW©¸Ä· †ŞŻüEŚů QŁş‹5ŻSÖřÎ}éE/?WÚÜ­Ľ-4$Ýt\§Ť+ÖË0GĚ d1|¦ܦŽÓÝ›/óqF‡"yĄ#Ů–Ëš•kkx< Č“[ś(`xˇÂłQĆß‚P&<Ââ$Sć—áľ±d[ćąlŐ#ć`8Ż_e °¶2ę5ˇˇËQ;Üḳşt}mĺ“W‰p…K]›ąEŤŰŢqłž|ËT$G&óZĹ% -Ň…űćô]Ý3â١ËŃžłňb&ÉË`Žâ3ôzYCŰHş°äĺV߻К~nAO§'vÄ[ĎIěDĹTó­żęFĽyٱęşĆ?€$ٱ*ĘŠçŔŃBĂ­3ťÄ¸;ŔĹPdT{:fÝĄ×=k%ó"+ę0ŹqÍ_‡ŕ5%÷ńTNŻcŮT%ë—č8 áhÜCóɆŐ7˙ČA~AĂx#ŕ™÷HH„™­Ş5/–©%äŞq3…\07o‹#š‡fl¶Źh&™[‹ŰúOL -¦˘Ďĺµ/ÚjPłáčéo“üy+ŠĘ@Ćöí%«¸ŕ,ĹZ„’w™*˛{’yÜsŇe»đąÁŕúäĺ—פ&(ŇďQ>G>é=ĎQ6ä~sŻi%Jż•1é 3UŠ*Á&«5üpşľ}âbfOĽ ď°ś×TT§dd5"ŇđA: -,ú—óĘ] j©ě«Î^;Âb:.ú78 Ó9$w„˘Č.J‡î˝aÜUéqĽÎWŰôdGČîô-3?ůéĎjrQpĎšIřęźCő{Kä ܢďńúĄ_đKěĽú·Żţęwz¤MY* -˝:cŠĆ·x`rŁčęµ~M¤ŽëtĆ%XÜ”u*dđ’Ő3+ˇ·ĄľĂšŤˇäąeľ—‹ÁŞ ‚™ř…·ě‹éNń#áÔfWtÖËĄ•7'#ĹWW®7v§đ(”ćżAý·&Űsç»,˙ Âůśž]Ŕłë,ľĐ ´ -›S˝řďdÁ’BĂHfä[xĚş–'ÓA 4 -Ŕ°Đâ+îą§“ąšö@Śťh”‘·mĺ‹WĵČËLáÝxŕ2fëMZPw‚¤0hóÓ—A´€ź~©9Ďn‰|X"3Oűa8ńę䥹”n89Ń_N!ÖőŢj^ůďŐÉě‰é¦»DČÝČă:2eŚëdđh]$Ę=óDw A:geÓč*`=nőŐ7Ҷť'Xń&'™PĽ}•ŞďpAüéwU´Z÷Ť×śŇ´˙ŚÖÁöÉúz$ĆmNźŢnż -űhąü¸ń‹8Ľ@—:~‡P8¸‘~Ú `[2y´;ÎŁ˘˛żh–-o5J Mĺě¤î´”áÚÁ:âűš¤–L¦%Hű.ZůĽ«/Ű*˛ŞĚŚŁ©đ’Ě\ ÄuV:)ż&’[PŮťçj&ĄÝ&“ZµN?*řŐsqĽüöĽJw‹R{n6Ďě1™ęj`•u fNŠ}( “Ć(ž= ŠŔ€yúŃij rAŕńsČŔöľÓŞ"čHţîa0é-sşÖ÷[v%R1/Ď„€"˝"üü÷Ö&¸1ĹiÄ;Ţ w5<–ší%¬äĐë۵Ů?«   gŻŻ¶»ś~łk˛-¶ęň†˙yH,„·g—dU<›×“µ,ľjĐ­˛ÄDF$Ű x‹Ź - nÂî{öđaHF•Ń­´Ězµ's3;µł}M -ŻůĆ˝~ka¶›ŔX,ţĎĐ&ůŃO¬!P!BŠQ iĆ6ťudB‡mćů|ýpŃVHHE"hđ#GÖ@)^ۋҞ7ŕň¤{&ąĆçĐ~ĽEdŢb0dA=Ţ•çrzĐ]źişŤŹĎĚP:Š$»îZ˝pś:|€«PŘď qCcߎŘ( Ťąv…çJó­Y!Ű$t"1tďm4ł‹ş3Ŕ‘ů<ŐivőŤÂä‡ŰK™{Ô˘ ´vŔ—\פŐi©iyv@unżý?]®˙¦Ăń3ő€hL.& •łcm’yë:>DÄ5Ę׮蟔$&JcÂŹJäš]dç‹‹źŕĽŻ¶ÁŚ”Ô¤ řĺçÇ3î.MUtŰzŞJž„Ââr۬Ę·ž~ ±oőJĹg{¨řÚ-ŤC[^Ę·wNŠÇÖKIV”žť7©TO‰'¤Ćöë4TM“˛6¤LÇ3(ÜDâń[]ŻĹ‘ë·€ć«ď˙†Ę´ĹtPjěĄÚşNŐČ…ŕh:U?;á‘e?ŐúśšU6Ěśo&ý; “k‚BáUÓ.Â$ÜT€\ßNEYľËôC‘HĺŇř†d?‚âââMAĘż@*|ŕXŤ§ů,n -Š< ˘ĺ©bÉ{¶ÄYu>ŐĹň%Îp€¤˘ž>š"»L{ó†ĚµÍŮç2xWÉDŔ®pűXA D#óÓôéRhî?l(Ѩé"ć”6]T´{bA¦1 °ůOXŁbÍŐś4LŤqäĹ΄şĎŞ!ĎBę ¨{T gŰ’çĂ•‚”Đ÷'5>é#±Fý»ÂďŇ?Čq˛ÉvÜP˙ů÷ʧŇî+Ln°÷Ňe ¦Ö­Ło&ü&ŞOBX Łßů#iâ8Ѥ¨Q­I#C§ÁĆM4Żć†ő ®űʲ$ŃşR‘p’(4Ln‚ši![ôH„ő\@s‹‹`5Ś((lÝÚ¦UÚu&:qs¤ -eąÇâ|ÄdúlÇů†}a› xľu«¬·,q„Âvmű{ďśů`;„y 17Ń”&·ÖDQ?ţ÷v -ôí°"ŘĄÄZwCď®d÷ZvÉĐ­íě¸jřQIź}ĺ uô6ˇĂDóJʆ¨E†s:3CnÇÓ{}X?Ź,…çę´CQňe!&A%ŠvŰS ‡rśď–¦‰ĘJ Źxg˙‘ě)[׾”pßhŐ†Ő.đĄůťWç~oUlÍ–ŕ˝2#1 -˘4Ćť}礶Şüęd±´6DG­kµ­ÚFó8LŚźIc¦m«çq:cŔ#ŔŃiÇďhěď„ŐSˇö0‚¤+ÜIô}ŰţK/*ď3úNÉ>Y—wŐjf yśáF­W>öPO"}wó]8dcëĚĂrh“áŃŞĄű”X ¨ @ýşĘ ěŘerĄŔ:-"í>/ -<˝ĽüŐřEn]şą´O/8±,Đ @>˛p×±3UÓ“ŹGٞ˛çvTlléyřMLwîˇĎ`Bh˙-¨/׬cáXš·îśó°ÂŚ×RškUqv˝š+¦úÉgEýŚ) Ćońč’Ň.ľŠ©îĂOÍΛԜ&°ŕ6K…27ťő¦Ć|±›'Pŕś“ÄŁ‰2Ťî‰ţŞpŻ«©EăŽXŹ ĆsČš?h÷Făşó»?ăL}‚§-Tŕéüz3‹,|•áňOұx5=·/ ˇžŰôBöl˘!L…ˇiŔI.2Ä]i˝}~ŻO¶WšÓDp‚g»Ă»´›«ĎÝýť’=čĄzÓTť§´»*?ÇHţѡgĚ'˙qÔ,ż;¶’(Bn 'äďÉô» ×5:ţ| %Ѭ;ýFpÇn:żŃפ}jßÍVŁ%] öŇ×~”·:ŞŞH'° Ä;(čëć/H°ĎŚ:áł ţ‹LÝĐj°Ł–\"ăzîçFńw,Úë­“dFW'DîťÎ+˝FŘ/ËÜ˙˙‹.Ĺň1’bDöŢľŚL*¤RI+ť=Kšk©`Ź»Ń˝•—ĚÁ?€’ Á»‹_t"<ŤĄZęt,ŤÖäGžýOŤ”}u8B"ű3®ÄĂrkýy×tĘŔvĆkřľŃŃÖA– ±T]‚ůŻ^ůµŁ>ŕ'¨zĎ~KJ±b‚Fá%¬ě>@—䣧 -:ßęĺÜëżŢô®NZ)h ŔĹżÓĽZďJ:˙â}ű –67ků>±=đăU>µV`ęŁÚ!©iáp¨vŢź‰gC -j†@~`qűÚ†ř§uˇńŘ`´Ş}¦Y*ĺCČ"Ă˙r#łHavT~d먣´y9¶q°ý'‡6A cÖs9řqG˘“Ż•s|)"­íĘÄ”$ëćlÚ̲ĚE1žCłÖ™? ŰĹoĘ؉îO‘đ oŘÂ÷ą~yTé‚ě OŹŁąT<€[č`•,% z,îr­×¸ ±BŞÚpúôÝuľĽc†Ş4Ú­–ľAň2dŔ'j»aV(děöVoÂ/őmQŻ˘Dn¶“ÁÉ,O«đćśë%Ş7QgꔩćšTśŻú!Żn‡Ŕ -\X!ß…‡MňÔÎxŹBqM8›Ć`ż˝¦˝ŻîĘh˛đ/żűřľ4›9ĚyÔ$Žšü gČ”ÍiĂĘO0Y«©ö}f]aĆyAďěhł\[T3,'ůĘN÷»®Č©ů;vRVsL©­ šPŚž´?ň¬V™i’čD(ZĺC¸€DH–ĐŮ»Îçv÷Żo“ ä@Ëşlz«Ř¸ 04gD¬ałĆ´şp(&ŽąjrP'ƢHîÖo ‰¤††ő -.Ú=či|ţF8ŤjŰ‹xU¦ Ő"Đű›ş7_ç§.t*ĂsžCŢ´Ţ_Ůá±pNOÄÓwŻqJ”±Č:xW ä0KŢ€ŞmŇ<<ş1]—źV Ŕ–/gË~«·A—ő"ę]¸®•H´áµ´«ĆVi»Żľż‡řÜ+Fßúîů7éľhÄTî|6ŚbÍ.aińj¤ 85¶ĽXÄgţoŘý©Îg˘F*Š7S3Ľ$PU•TiŘĚaw¤ŢżńĐ«˛¤[µßăýµĂ}îoFÝĂ ( -\şv±ŐűĆ«Q=ÜdźŠ'úŃ*ńÝ6\Đ%’Ň"ˇăŹŇs%Či]Đűę¶= -Ş0M8‚ÜVÓŐh‡1z=ŰďnŮU2í‰×mÍäKV‹%éŮęb……›Ăń˛>F~«#-@ůő+ŃÁÔeĚ"¬­ú¦é…ě0R°ď·ő¸ł˛+-ueż;ĎU‹ŇćźÂG0‚čéY‘‚BmyŢ®`k ňü/ŚČÜ m(¸’xłrŤ@¦I´zN.ĘĽ‚­%ô´Ǩƛ*bPI ‚€‘\[±P0·RoăZgÍOy°|Ą_Ç•T‹·áĽďl C¤·;/ŤjŔ€ľSŘÚçç)ŘÎk^fDaPĎxćRÝ÷źÇ>đÉ'ď«ËBEňôą«S{@·9$WŇçAë!‰Ú÷}\˝/î@íćŞ<ëĚ)6·T§Y ť Ş»ćńźAł‹ËîĽgj+oązľKÉ é>ţžş­v…ČQĄě?řXżVŁÍ»ŢVÍQÎ&`ŤüKuť…=ă“.h™x&ÚŠŘ2A[*MąG­±˛Sb€jÇ˝L˝S΢ܱ¸ #ÎŰ^άË49Řĺľłµť!hʎ0Đ邳Ą/*­5Ňѱ¬^,ľżĘ:ř6I…ŕ‡{»:éÔw%őaÁWŤ´ Á“~FŢ~riiĂo‹ĺŮ™[ ´–ÄdĐ{ň.í#ŠZsĘk"N*GtÁ/şSżĆÇşÖ"‰, Ą7™»ĐrÇ`Úsź šŃKÎmŹÝ¸+‹Ç™¬ÜĺČ׍ ŹŠ]ÄĘhĄŐ»„…´ "Ąî?ŤJëíČÜPąAQ%BH1jěŚLXŁ$Â&p}ę^üŢ÷Ą<ćŞ]^Ó‰¶GďŻ1– -ŇÍ]¤N0&R2´ŃĄ^yFľí×O˙iľ$=ŽŚÂZÖS1áˇ,ëł.,n/Ä>šĄP˛ö6ßo¨bný㪖ůXś_نIąd2XŚ}هL}9†GÍ©Ťň?aĘ‹Ym$üHż°(Đf$­ş -3ćj];đŚŻ/¸ŽĹmń"sé¶űÁ7đ®D©4"ÁHš’‰Yüüţ!¦Ç¦ł/nŻ{ -LŔ×Ýź˛ĺ˝ŻRú¸^F€$Ć“n/Łőü¤€÷ÔřĚbź ”A"ˇŕëg[J-U˝žÔîbB5@ćuŹôB&'’uÇzAxX+7·PĹ“ĎU—şŰdXCEPôĄSßW˛0–ł~KŐc]ýŚFČ '.ąáC]ĺ™’2.ÚÜ:ŁĽ­­ě­\M4!ťÉ rtÍŃ“4;+í3o)źKu°FÇh6€^Ű`·ßřqČo÷Q˝ॕĆŐ5OT{•:Řtťał0 –A&Â6Ús|‚,Xžâ «†nůGö[ aQ S¤?4Wę žé[VEeő•  ¦®-ßőq·0©lۦTž?`đs$Ë•ck]Óg´ŘŰ$AF©f'ľ¬ş8Ń«Jd0äĄÜyeďÄŞJ8ÜO6×Éś^éư«Ź&yň;ŐĆ}.ʡ–:qsj1ŁÇŔ˙A˝,Ăť¨ëJÝ–¨xŐ*ßq2Mcż®…˛5ݵF®č $UJĘâ±S´Ďu˙–‚1ńołĚéµĆG?ĐÔ*…#e®’xŰ $A}Šč˝ĄăˇE ćU6ńřYo¬«ŽŃośCeń´Ad¸“óhËzc]W‡×¸/5śx-H4Ű×Í-ĹÖ˝Frâń¬$U|ĚóëçF‰rŢWvŮH˙”ČuĐ÷öŃLÚÔzßŘs߉r‹2Q)‘®ňx0ôvĹita»”ôýŽ-Żx (®‡¨”ÜD7çú˙µŃ9Ltî2§#rVő mÇŔWq­‚ŚCYĽŞł4óő™ňĚĺćń$Łw—ŁŰdpDI°-ăBá˝ ÝĂĺřţ¨ći‰ě8 ČŔv #MńĄ©T%|Al!y0ţT´wçľěµ7O•˛äą~î-”‰”ćä˛ĘôÚ˙,n˙Ĺ­ő‚ÎŃ đJ|Mw\I1Kśůo€ŐČU -÷ăđŤ˘»ůAŻgŢ×űosűSŹfć™}`hŽë+W¬Ó|»HĂ©gąs¸–&óiqűdĂL…şĂ Ş™˛çÉX¶jî8¸+wTâlXQňŻ´ˇˇ dîAŁĂ'ÂőśŹ#+nťaÓžZŘź0‹˘rŢĆ«—l‹ -u -!.ÖÓFéÚĚtMť6ř×\ŚQť˛ B‡ůFm›†×G4˙ĐBČ4¬_1ž( -uM"ĎDvçuE6Á_ßűdÉđę˙eŻb˛6¦“IčípýS&G­.#«Ĺµ3홸(¶91÷‰, éI¶;kśĆ FÁ…pJ‚í×/”ëýyňqO«¸żMklďËÉđ“‹~;™BĐÂrÎîGjŻ>]é’HXĎÇ˧i‰9[‡ şŐ# dOýĎĆCĂ»­_<#!‘züH˝´…=XQ¦DĎżě~bzČů 1ÔɰBR%ąčâäŕĺ -äŔĽ#ŢÜQСűŞW z5ĚqĄCOků_ńÚ‚đ™“2‰ˇÜşge»ÓCőśäĎ%A×^*bn˛Mx ĘXDq‹€ćŕű'Ţ~Ň›=…KŽl'Cžjsůİ -7ŞcŻl! <DzĽ˘ż5Á×íáőŹHHÝ2đ@p[qU‚”j°cQ9Ş˛eP÷żK¨NBMÝ=Ë•U'rŃ C:žżů\·É`3…dö·í3Ó__C!ôÓÄƱ ŽEs‹ÁRˇ3ôËű*ž\qç˙¨‰ÍŽ-Ě*ÚŽĆÉüý”Ôç»a ů‚»hxŰJ~čÇc°Ľ$pÄl|đȦZ:„ă«Ëßc¤R”ýřz}=KiC ë–ňß9đ˝-ĎÎŻî  @˙d@Ň$Š -MÎk›€( !¶aĚ,m-~B^nŕ2TńŃó,süţÚüpýyd~î\iÚË˝˛?{$ ÍË=+°ŤÄ^ÝĺYĂÚôę|’¬˙bď˛xcü.?«l(:˘ĽÖ" ŚąI¶ő0 ± -˛˘»î"ÚůIU-ă¶ -FÔ7×CaT\CR -pí…Ţߏŕsĺď»—xŤPĄŽ{¶¬hÔęŤm8Ó$„>ň¬“Ęětqč¸CIaMCN4"/« ë -tX -65â˘X„‚Ä2sşŞ+¸HĎZş‹@'&‹;v’>CÝŘŃŕJuÍ!çYî\ŇOĚ %ěÍ˝Ł¸přńXôźuą‡ímő5rAł'‚îŰĐn¤N Ă*VE{–ÎńŤCňCŚj˝ęlÂŻÇpśáź÷Á!DM+†;r‘˛YĆŇJ(çČLN]ŽŃ Ĺ§ŠŠŃý^ŢšÍMą+ňƲ5·¸>µ3 ď—·$®ÖŻë×® -)|™ źâŹnfě~»,ű#LĐűm¦”żšĺmď^Ll!kšÝ7#s÷(ř¨z ﵩŰ\ů’şaÓQćš®áš+{ěŔuÁóČ«=âž(Ë’ŰWä·7 öW‡˙ ô %űśĆ§şťş‚ě˘D@´Š}M]DĚh¬Hî{q*¦®/p'ĄOAľ—’Ď.§-áLÜŽčUt ¸\—śĂž™ć*¨Qbµ”%€śď|Íwwń€uÚ>mnl>­9ŕĽU̬ÉA¸(ŤřUÍ©WĺÓ9xíŠ]€9lńŻëŔ*Uz.Čă۬4e˘pŔ~ž¶Iý Ů«Y~Sáţ§«LbÔ€¨‰ăbHcđé“ŢÓ9ĺuj˘ŔĽďţ”µ…¸ä׳~9Ň.űÁ0!×˝_˛aéĂaĆŘyMŕPÚ˝¤ßŔÜ)e„‹ ˙ŘZ4`Zˇ˝‹Jo°p>%eçJ.#U űűk˛Ë·NÝżJß"ˇ2]ŕPT;ŃEËŁ®—ż§o %ôł‡8XB¤M0L ż¤ům< Üě7 0DضąUmł†ňMéŐömaµź@(!¦ŁĆ’ëµTößĎMÓß% ¶‘ôBŤ&‡ÎvŇ;Ůĺ[+Ű}¶«ăRŰiEcÝbĺ»đ®]Y-‰ Žľ¶âĂH\n"-:z83gK)gż;l>=Ů üoFő¤Ř‚…(¨bź©Č03Cč‘/kťt,EZ$¬˝®ý1Ł Ď"Ö:¨ĐŚrŰjÚrŹMµ™ç'ŤŠ€l¦ś[7őJ6ú%=t` h3wVJ.(îĚjťŽô:T1ŇŽç´žˇ–˘M”pCšěŞá°Łű'mBą3­pů‰­ĐFĂÄc´&Ç>Ę“ ysňĚŤ\U<ôŔ ő6|ď̨ -ľt/˝xxŽßî=LhŞťah‘U!q6capü ť]ÚTQk„AÇĹEÄąŽůä¤ďŠ1FŇBKîŢś3~tkňä ś±&D‚ĂƲäśé]8Óîż+ČůŤBxyĹó+ó¦›[:t$„)„J8®%\(şKGŘšŻ~č’¤[@ ŔŕlÉ”IýëRí÷ŇV‚…»•€xĺg}áÖSőŞ&“ 1Ň_R*8ť@…‡Ĺ4ń&ćˇqD ô•ô‡Ľl߆S5ś)źpVŠI“włĽź/ŢY­üĹkű-)"ň¤¶%`Xx@ł2.$RF[üóäy@hÝäE­X™!vŘ«±äX)ŹĐ¸BŹĺą÷­z%RôŘű×Sé šµď…ŻÖhÖ`ŐCčżĂFÓň×Ƭ©g†d÷˛ť É*€’בuH”úâŞűK ňçN€‰ÍˇĎÝ”˛}Ntâ?sL€Ýˇg®Ąu´˘54d˝/7@˙đ8ĺ=–˝<6ΖsÓ>Ęş=8żCeŚ—×Ć–9 -Š6ły Ž„$csőNL{µĐ÷w6 ă¦TK,ÉéŢs7:ÔĹ>z(…śç‘¸ Ę҉\ëÔ´¸;Đůî"¨)őUî‰ÝüˇLJźńŤřB6żäGÉŮ0c‹A|Ůá}‰°yźxłä‡•FŐ4ßXxB ô)IÎ8F~|X_)qŽlI ]€·}óK.Ub˘éŇÚŔVťSQË51î‘Vá -$ůăuÝ;öž5[xlŃ‘„n×…d…3뀩ţľt…0Ďésň•Éęcx'öD»ÔTÚTq ÷¤·•úđ˛YžhW‡{ŃYŐéĺÄ˙3{đQÉ7Ŕw¶D¶pÄÁB*ä<4ęż|źĺÜGôúfĄ(]z™rą DlçsŇŐ}»Ç}âö=Uh×ÓĽ@ďp¦ż‚'{ü6:KÝŇóĆ–§´Îă‰ŃNv~™›Mwžô„P ;ááH¬<É'­“nőŇhlČ}_ěf%Ă(řrů•Ş_XW‰ň:€fi@â¦ĂňÉ4čäľ$p3#1w‡x40%˘řäą.ČFO;ěy9Şĺ4×˙4(’ fôĹ`\i†·Ë©pżMX/âR ,šLî{ůVYsß؉€ýňqüĐś…Óíh3íčłĚB9–űů:čĐN¨9cČp4‹öśEhzÜ]ľ`fŐKŮ#ŰÚ•Î^'Ř}-tŤŇĄŁd¸ĂB‘Ľ×›ű¦“»Łq¤A7H«‘Ŕź‰úŽ ¦źq´âJŻéËu@'š±íµË4Ł÷ˇÇ˘W‡bŚÄ˛qęÇĐ«˘ÓŔ`Ňo”“Błź©8@ĄpĎ\;T&YĆ pßú‚€bR•v‹§°ëjŇVť±ěđ«­Ń;€–33§ň@)45¦(ĺsĹ•›ţ@d^˘ôŁ[DĽp‚rĘ…@3J¨÷n˙BgĐ‹ťałníĚhK‡Ł*âÝ&ţęŃ’«€fŤť°ú$/uXÖĎ] vř^Ć"i6IÜfż¤uá¤yîtÝčcĽŕo+ýF88,‹.Š—ś‘‹ µ -«ř:'Őw)W éOŃ@;ŻŁt  8`‘Ął‡#Ż:§Đ¦ŘáŢŠ;âű|.Ěkaż_¬ÉŞ(ë -ć'e đ;o +OםQňˇ!Ĺu+= -U U‹­X;fÍ)‹ ŁĂ”_·Ě”Z–ĆpÚnÄşÍLPî$ćd/#zşń4+b&ßŕrX×WÚĆŠD§…: -!‡|KČ=SŢ7.¦­'Eh´ŔŃ‘sÜŰţŐ4>Ë• -Dt퀅¬|ýI…‘¶Ĺ¬ß§}‡\8Ű1N/YĚ›Ďç*xŠ{ :]ó@ôB®ß§ -Űä¦÷”_9"®źČłXP-Ź™9*É2ÄŽ+)Żł¨›|\a'Ź=‚6×6Â4 -Nµ/öłGëÝäPžęNç^Ś<6úĎŇgvŇxď@ű8ŔÁ×”uő|łkR{ś%Ýęń˛µÄš†ëĽF3ě۸ę™—č:ćoäP€®:Ť4M``B¦‘­ô‘VĹÜą¨B«ŕB&b:¶ÎĚ;;‘ś©Ń.ß8.ě™&4D±b™'kÄáäý®gÂe}ţ|ÎËs7łţ<ŞĎ”GąsąšţU%řKú=ő9Ż}M•ę¸4¦´Čç‚ÇYTwx8ÎjX®_QĚż%jśîŻÇ{çĎvJĘpiO ň­Ź„UV—Ń{>žj­ÜěEHŁu„ŞhăĂĐ·Ç.źKŃy±®Ďđń‘^e©ĚđÝĄ2˙˘†ń4.#©•żůsÉ n3ä:2óó îdÚ“TľaXÝŻçBËä5•ĹÁ¨ç`ß‚ŐxpĽҶŮÄCô`2ů˙©ćŕŢ·ßĺß}ävyđáĽÍ ť[D˘9j¸/Čů -XÂ|!ŕÖ\xt°°#E&ł%ÔŽX©%U?vŇy~î:ăĎ1tE˝©‚˛îL07g˝:j÷ô­Ö‡źś”¨„č †Ávpţĺµ×^pzź­I='ĽNÉx Šjc%ą0ÚăzDí>H‘!†ň°Ç82W–s -•Č“x2fę -8t§V„;)ÔGÖN’]ą˙hVIâ ­űŚVĺć$đ-dĽf…EnDň›ióOt¸0Ż ×äV™*Ń%Ô3Ŕ¨ă{cîálŰ·m} ¬Ôy>¨k(d4o;)[ˇÉ"⇫Żü·ăĺk\Ó^[Č<1†çńM81łf ©‘qůçŁőRąÎ/˘[KrK•Ě=Ęăa‰¬2'¦J„L&Ęda58bĺOEľ„tw›Ą”ˇ7qˬ€dş‘hö‹łIiÁߨŰą") ˝­ŮŹi‹~2ËÁf$Tôź„ÂťxĎúŤáX ©×XFąëŐíż\&Ů×űqď_Ÿ}…řźřŘ•ţŰz.›i™±Ć ösʏôçN„96˰=ŻÎ€CÂNč(ó#۸riוÁ ^Ő]hůÂŹ\Ä\°ń -$Mô·™áZ9Éčâ?{ÓŤ­XAVK@«Ű¸˝ěHÚR¬<Űüu”ü;9$TĘô{ü‰ł†my㊇6Ľ‘ĹcÜ’’u -k˘°.—ŢľâůC˝ŕâ>\ö‚çĘńw~c UвíP[y°t~%\µ]–DĺçT)Ó[H”Ȭl^ĽAQÄ´őí\ś?)€on6äÍ´=YÉŐˇţ€LĂzQđń0±9bçòÄű8Čtb…ąÚűŮa[%źE4Ńë5 ‹Ť©vz—žÓS‰#VúĽÇÍDy–ŔÄů•uĺč‚=ijťőĎرůź[T±;Z¤®ŁXţ>U™CýcýńŤ.ÉÓQŻ2^’ĐV©¨Sb— -që -$üŻ«—«ůx¶Ç,p¨…îj}ż”AÎmSůĂ4);üěÜj{ٍćýâČÝES%Fćă22ÓÔ÷4ôŘăZčäŰ-Ńľ‡«8ĘŠBiNyô­”0ÔG­ ë[L”Ćü(¸˙´ś4tëňčµ>ÂŰEÚă…U*ôß`j_<¸!Ď8oˇÜö(Ág©Taš^ď­Ał»ÔÇ”j-ϦÍ渏˝ O:F*廩ă”V4¶yDßRűîŮ4onÔű wgŤţŇkH.Ő# -Rnů0ś"aB6–ŞŘ¸ĹTéž®ň§ŁíňŐZ¬Ą\IoDÎűčśeŢE86ÚZŠ˙ŽąŕäRŐ]ĽŹ§’ĹëD Ó—Š´!¶¸?>5¤)~RÄQv9m!(Úôr*ĽÂ˘ ?ä„@7DŹ59©äčWĂE‹Ł†”ŮÓ?˙Ö"eÍŰĆŔŤĂ‘-FŇUd¨BĐéK’ôoVčH>aÓ|Ą«K§¸b&ŕ Ü(´QŠC×2„ľ&;ł,:©Óľ~Xďöeű„Hú™ńá -j§Ă4›¬–*‘§Hý“K(Îôv/ćj‰ÚŻ6Öt‡ßS3Ö.mLˇ/Ţ_{Z“…ź#Ď<Ąß{°ęC‡Ä’šýSřx÷M”€źJA[Ą´¬ey•‚ÍŤÓ mšŁ,”ú{$6z@ŠĚ‰–ŘwSßoîŮsöŤN Ş×ąA×f’Fď7ţ¬xÍ‹`¦ÉđŚŤÝmUä^´(6 „ŽłĂ‡EKIÖ˛ŤĽ( -U‡´)†›Ů»ůrM“á|LĆË=°ň.ę¸!(®"„P#ýńĘŕk„KďÎí-ŤBě?nëőG?¨7[ŤÜUÔ­s^lýłn;pfZš  Ťh‡ĹŃ(‘ĄŚy|֞住tßĐD«ŞŁîjJ¨‘c㱾YÉGƬa]Ą^– m©ëŁ˝!…ä «D°!pŐŰČŇCĆë-Ź`Ĺő1™"Z–Ćć…2ˇ†&Ů›ŽĽŘ7ť4 ćÂĚ}G:*%RÇÎ3Wő[Łł™ć‹żÇ AÍÍĎPXŠĺv» C@,ČŠ„‹‰âxm~ç:ŠůÇdbsŻŰ3ĐĚVćę$±JŠčš:ĚYIĺËňŤfśŠ ŮsÉFöĘŽ 'z =äLÇřĽĄÚ“ëiŕŞřA„­UĘÍ>*(Ë®rË@ĽL?9Č^Q(®˘nĹĹÁđ Q\cűÁóöÂv˛bá2&kS*†aîëčµ2řţ@ -†Kí…vYĚń@ÜDM˘´Ňç¤KÚËŹÉ–F(0 ůł…Słĺ}‹\›ňY&éřÁj{ôY •Ť›č™QÓZ6FuĚőu,¶D"‡îUřNľ°>Qkł:v[˘·¨Žţ]$•Y9z±ŠD;˛?9“îZħ •{sěÚě~˘­⬠l[#Ž şĂ)P5ó]Ďđeptos;Ă;çrđM4Öü6ő2«Ľ×‡7€ĂE‡÷űK– úňă -­š¬7 –tť©ćrŢéć ť+«‰W‘÷‘ŇžĐKŔxŻîIŻ`îoĂĺÚV1z)\¬ß˝<Ď-Ńöĺös,ČŁ°3‚;ˇ©Ý<˝˙cIĄ w˙qđJI:/ e"Y}˙,´EI×OCúĐh„ƍ݆$łHNZOŚŇňE/\FŁś±ť j–ha®mŚ"!śČż*ůaw- ¦ËĎĘÉÄŔ“CDcůfÝŤMS$ꎩůÖYsvŠŕ8;bzé„aµďP@h›uCŐ8?2Ĺ`o]·$§X -Xa7č°¸bSëˇyܸď»ű8Ö÷ ää‹\ôńČÇ‹TúĐ®×IDâDC:Ím;4š~/{N/MüŹeor¤ŘU†o7ćă9›˙15Š}?„ŘÔ¬(ć[ňAÎ^~w©©«eÉQ·"ľÎ -=ţ{JŔń6ěů«A7 sŐ@"÷y`Zz˘Á©L8ş—Ş ‘/5­´kµ˘¤Ć¨b°ËÂMĽ•%7Îč7Óň¨o?´ĚÖĽŽçeKúüo/żů1]Ążg™ľ1\“P§ĘFýGęĆâ­ÄkbÝ)(ÍgLy˛˙GŘţ›vď@q´@L¬]4µöć‚âŢŚ&ĺă‘‹lŕNě8›U¸ý‘ĚÇVDĽ<ľŃO™sţMŰb\»űŻp![z˙@uHÖäë´áş¬xqyÁŁAZp`-«ą[Ě”C™¸•ž\iÇŤ&ěá"®RąëcQÔÔé’)†ĹIW ?]qË?EĚ>ŤÇÁtŠctFmr_lMpŮvĽ3MăSIşł{ŤułľްË"6 Eĺ`«bNY˝ŚcDŰfd’;ĂI ¤A+ Ş8kÄuóŔü~0©ˇëţâ[âÜČíĎÔ%ĄígŹmejXÜO¶/ť)(şIG˘q uL1Aź2Ľ—€ś<Žż„ë2é%Ü‘ě`M >Æ8 şŻ3‡{!pćZLX˝V=$îGŚĆ6Ľń=\Ú°ď·±”»VTŁďPŔ茫¶Ű‡šMŘě©×@Ůôů¦´ß$_^'yom=¬É B¤;LŻĐU‚E—iś~{*Y­yłÔ»Á^F”ďe¨†ĆőWk‘ľč›,şŤÖ(Ę*BüK©”ľO‰—އ˘™ç{żs¦\Ý8Ża6][ÇÔ‰M‚ŮäC(Ö)°ĽRż‡zŇů-ˇ×§Ú˝–]ąĘJ¸t#×x„ňî±îí&s/ů!Qť`±Ů¶á @XsEÇ‘”C‡äť}Ö˝0yŻl ‡6qSh7* 7°tóm0ŰFáçÍJXĘĄąVg¨/Ď—Ž|†XĂ~×â s˝ú=ˇr$-°˛"Sű –ńđz×YOÓĆ/ś¤™¨Ěbş­/S™f·qľ‘Áާű¬Ą{Y ö—ˇńß‚tŃ˨˙ ëéŘ÷›”‚ŰßçP†Öe0$(qSË}tO›'đĘ zVŐOE1şĆ ˝“ýuPjsĂ2X›Ů|"-Č/»ěŕ‰Í7ĐIÝ­ˇ;דdůWÓŁţŃń Ü đ¤»ŕ@K ]ë2빡EF}Ţ|¨•śËvöz9>g‘°żAßꕟŠwÂä˘áh;ĄMňÝy¦őö+ç•ɨńΊ#:8Bmß:ýóúw‹skö *lk‡lÔţÄYŔ&ú×{|č®iöŁŠ¦µ~Yă oÍĎrcg/"iĹWQC]Áţ®ŐŐ®*«s1›/Č»I|®$ɶě-»şk)ŮÝ_ΗžßM€ű_ä|ś]YĘČÎŞ9ŕŐŚĆIJ=€rüJzŇťX´Łí”E/vł>Óa^ŤŤÖ7T2c7Ô)•!…DAJćZ2`¦±bmęQKÎ<~{ĺZ˘cçŕn˙‰köS˙>˘'ă)Čü^’öK÷7ăÜ‚´•hŻő€ž%ĂŰ$µ5RŇLüő – Ö—ŢQ±3Á;3·?aAhŔ†T$ËMěômĂÔPĂ0Ť2CŰŁőĘűôřď€ä“sg©PI×öJt~5çŤio'^ŔáâŰŢe\íű¬ÍĄ ͆¤Îhču$ ľéŮ>x#±tsidŞŁŠŮE'@¦)äZ_–ȶ0i,âHsɵv`T3çŔ ÉŇ–qŢ@ň«ę5śŔÔ4ÓšŻőe&®Ľ­ëýéěĚĐ`ţîú2&wÂĚL"kŐ!u$]‰Ď!\OM'YëËó9ĄÇ4ŃŠMGzŔg+d2Öy»L18çńhQ\H 1ńM4„ëČąë¸Üäě­7­šŤÎG'Żëú{c’ż<´9ë†ÓŚ—Ć©F"ë}şÁHtÍU÷—TÝy"¦ŕŚă=Ŕ“3¶°wM(ü‚9O 4΋ö€ řŁŇ˘âĎnMxt–TŢŘ®şé="Ťx˛Ă2#ó¶%ôŚĘÓôŻ“x?ŹŐäę(^é «¸Űî)UQU 4Ďď1ů¬‹şáËa¬ů8ŚŁĘĐÚËĚŃŮ>ô˛ří2xÔ}– -ť~©ĚŢ÷hĄ–×O¦ -:™RĐŔđ)ě?XĘËŤq+‚ŐŐ|5u Š&¶„-*‚X^'p“¦mR,÷)럮Ô⣠‡“S¶˝|÷ĚćuÎČN\h”Ôłó3e<ĹměJFíĐ”L«äč< -É3ć4géŃE’žLĽóGĚO˙b;,Šhž ýăŤ1ă˙ťg›–ŠV¤Ĺň»ÎC6|ń^ë§Üťę?S¶žNÍÝĄ‰Gą^ĘRôNšĆ -ĎNۧ…ÔŘĆ+:>iYÓm—i×l\ ͢’aśĘ^•5Ő;lµHíşMo؉¬ëÍđ°RrŢMô—=$–^›ÖăÖ-şCČ—ĘoŐm;ĎżlnČ;89řG´ď9ąµŘ.-ŘĺyöçhżĂqá§Ę7Ť_ť!÷/ćj&ülĹŽŹ±ú.3Răoş@Ë)¬Žuś˘"–y‡ g±0µ Ą$¨Ç@ç$x°źň~řEřżđŕ~ˇ4ą®cţ}d5ą:$n ýżĂ’F/jŰĽ†Á“ŤPO?$ŕÁ˘ßµb “5ŇÄďäw\˛;‚\" Řľvű8 55ď¬ Ü{ ‚]ŰƄ梕‚úąěq.Jôč6ľ®ç2É0š2ôi“źűw‘É/qă1/ 2iĄđŻ >>5ĺ€o~Ř›óg^HÇ«xFĺć"őá»ĺýőxÉś“PF)µhžÔ(‹~ÝEęU[Ů&‰;ów†“–úöá˙«03 tÔ­-«Äaµŕ#¶YV;‡‘ÂŢSOKź'ë’í(¤gÔ©HÖŘÚśąć*ž”ëh{š(M…Öî´Łs‡eŘ/xńgy…„q‘4 -sfrçüno°RŹöűMâ5U‹.fűł}ŇíbĹ3,ěDŤdąTă]$dyn7n>`iíM´nzňĽd÷W¬•Ťř,‰Ö3ŇAiç×7•…t"rl‰óR„žF;Xě&Âz0ť4N±0éĄ0¬9B±ë^ý}ĺ–ĄA Ř&h܏ᬠ(H|»ŁŞwż 3ŻßşUz.#iӒ׿júN7˘´Ţ6?p©Śëô’vTZůŹVÎUľ¸Ň¸µ,0ňÁ»Â/˙¸ň¶ži^¦ŽáššGCôIŃU–K]Áă¨ç]b PÄÇtcűR۬Ţä[a‚%í\ą¦÷HÔKhJ’W‡ź˙y˙a ě—Čw8 -ęôŃ>żŽ„4]0ˇe8':ŕ¨ď‚uÔF|Ű.4ýKŹä$c)Ň ű}×ô,ŁS7RýŔo'\6{x WŠ'b7uŔćňź: fŠpKói˙ŇX4[ą9+Ą®üöÚoOů›¦Rđ) -‰…·ą0—!ĘP®&ú˘śrcĹQ[)Fq’©Đ‹2łIÇE°üv˙l´o'ë@Č„ňvN(°’&¶ýˇ¸ţŐé}m{ý·ŁgU„‹çňBüš^ĹłŔSw‚ˇwśß@椱s`Đ@ç~gy{.hŇ w˛§lbwö>JŞă}Š:¸ZŃ˝ÁýTÜöo±ÜĹOŁä µś~/ŻD +4›Q…OăiŹ”¬¨¬,É9بćIC.OMµ‡XqčlűtĎC`Çϰź÷÷‚NţîA´$Ęf`ĘÁ:ĹcNk8€_'ő ˇ˝ú(TŤb°9ÜY -ěŕ“¬oÚ^>3ţ2ĹJöÎÎÁ…9^‚ôaĘgŘRÜ`tÖp°,]˝]Ďž·Ďčy̤*™"f˝7ëJĄJě…&ąc[ř!O8‘{’!šţőXKíşš‹7•=ţđśqČ ŢĐ;'xĺý*r¬üś¤Á>ÜĄxɇ˛ˇB'›ĚÝP§úő:`Gívü`†rb(MXvÍŢ=?Ł5 s†˛;'@rÄknP'§•_ c¤fhĘN°°Ŕü'¬řĂoTęÚđť$–1KáŞWůvŁ\‚dŚíΔÔ_Ďľ†ÝÄP(„žc™‰t]ä˝C@Z™>ú`‚÷–5açÝ·`M‰çŹJáÁĹ;„üe °}.ŁBÍp €}cÚYjR -±Ž U€—2oÎYÖ`öÍ2˘Z9­AwŚ\rŃšFŠ‚?pb´Ř#Ů…ÁűďM©BÇ3˛¤Ţ\–5łŮü‘>ĽÁńŇô"T ¶kćqěżk˘3ľńÉhE&ťS\Zä`…cż¶ČR—F"Ą¦Ü$Ďĺľ ´p5â¬ĂůĄß%,…¸6ů–‡[–Ć›TřßkÂ2ĂA^§÷mTßo'‰5nbµĺ;±ăm7MÂ[[ˇŘ -Ä©Găk<Šîq3‹ő¤+"Fč$ć´ółW•83®ç[¸rÁíJŞw -ń„F‚OÝCâ—+ܬ{â&QÜrBµ…2Ćă»…x4hŔŢ­ž`dt’Ë>ŽşoÜ+Ul}ٞy<Ů·ô>ôřM@ljV?!LďćhEż˝¤´č)5ŃŹ¦ż‡Q;P@,ŻĂaćë0¶¬b›Ąřť ·=,ŰÄ˙ÎbgFTđFů–—”ŰRŞłţÁä˙Ş N˝¦çţYX€żłÇŤĹ¶ăüIÜ»ş.˛R%Ěmď–U±yE“ÎuËîâ)&–ҬjčX•Ĺ•ŽşŇłn*=W@VVń˙Ó;ś4c‚1T,¦š•]­ >lhG„߀`ËHÓtXđĐÓD¬Â„ěđ—Ë’.\Š6C!Ý ^DgRĘj§@«€ßäúMŘmZÁgcŠWRŞ_­Îí·¶ďYŔAlŐ×–OuO?U{Í"ŁÄ÷¤^/žó~P‡r§ě: ÂÓ"âzbssç>K¤<ŮSŹgŔQŤm.ĂmúÚč˝Çę.AšcBÝb ™1…ďv ­ö:čńĆ«›1¨A‡[/ SăŘ @IBŰió!,—…«ę+íé‰>ËŐřWćüąY~ű”„óľ,GSí^ŽÇłYž«Ř<` ź`‹Ó2Üá§@ h'E-`V1ÎÓMKˇŮŃXJ_ @ßőĄĺlŔt˘¦·˝DyňähŇű‡jžüJ­Öµeź‰đ.[úÍĚH&ô8 ő - ĆÔńRd¦ĺµ|í+T?ćŰa@Ó[:fBcél‰bѢŰ ”ëřÓđ“0*—F-ś¤TéĘgŠVâ?ÚľXđënł]™FĄ3¤ŮĂĎ8j7É&† Č2ŕŁ/ĹШśRH|ČŐĐ ŃÜň›ůňâW";Y»Ĺ”Ťî{Ë9[[Y0Đ»Ŕą°ŹoJÁ^úă-.™QƆŠFÇ ů?łEąť‚âxđ;6ž1¶ ˛͆T%˘Ý*%¤šĽC·µŕĺµt.Éd_mryiLýkčę*ěa”ÇwUşĘť_,ieŻ9ˇ”ŕÚÁ˛ĺh'ËŠ—RE`™Ň—Ń˝ňÓĘů®ł®ćČUc:‹]úHU°¤ç¬Ă„ŻýRî?É~a'±}TĄć©Źu7wľf,)ř°čĎÖn§Ptý_óĚ’ů[ě—u:Ş8FŹ1 ŽY94rő©>Z˘ž÷Iä°@;”Žu·—'Q[ †ú˛[ő1řŔŤîŠ´v7pôô PpŠ´˘?ľVZMj6»ÔŐ®>%D¶¦Ţ’Růç„Ę˙ă`(đn~ÝĚ{°AYĹ`¦ ż?ńhně” ĎMšk}Ś0LD,¸8řŢ–¸b„•ZÇäÎ÷Ľ@Ŕ¨ÓMA=ÔUHȦK@µ"Ř®<Ĺ)Ż–UH ŞęŢńĘÇĘşŤäUő,>­e? CTb5::¸Ás -3ę‰ ĎţyŇz<Î2é!ĽEqôřŠG›ő ü ARÝŰP2µŹx%‰‘™Ąó§růj3Ěč~|í&3Öl«Mţł«u:Ł›€<2u—“Äĺ˙˙đB|‚0 -/CSŮĐksčť‹ë@8[€˘«áÇ{‡ń#^I7 ¨!Gşă&~<‰lŰ…`†FŚB?ëü—b -kř®s¦˝e)÷(Ö=¦]%jÍZht¤j|G/?]ĚÖőgą]y™mvümăż0˛”q"öHÔ^54ęňáčßşţ#Č väíő@ÄŢĐúŰ€Ż?§˘<úłťľ×1ű‹‘ňVO¶Çík­ćb9a`ľ´Iő9ŻDÜ‚FäřŽńY.]îŇŕ*`«Rn‹;[2íübóéŻ8ŹŤ&öŻcYŮŐič]I?€!iEře-“XHZ-é‘FĐŐ&őY¦Á…ó;GÍ˝;™ü­ĽÉ°Dgz•®?g4Fá'Â[`~®˘˘ĽČ?Ů”'^}ĐäóZă¬{v<ĚëhŇťýkgµ“Błß*Sw%‰¤…ťÉTĚA2Ą7ĚDkĄ;ĚĚ˙e;¶B•ŐTH$Ŕ™bÓW ʆč ű~WŽmfů“Io]>Ä m|ôú¦ThĎ3s.ý€h‚ĺž“şJŚô`5$O‘ŇW¦snf‹ óĘ|9Tfc'ţ/s€ú ‡XłNMŤ§ĺBPN÷şˇŻéý(íőú˛-[ďşĎéćvźxF˝Ě·r  Aˇ±˙ĐłY̢ [ qÎŕ^.E{ˇ‡ ąšwÉA2…÷ -´GZ_á| -%MżMŇ:ęul´5|µu›ß’o§Ž›‹ł¶Ź3e¬{U3©QĂ1L@•¶çµ5Ç–ŕŕ–虪ĎčK•¶aŃMÍąPf»lvě–»#—(xcW(kÁIĐ:ÄŁ?_ÄČj,6ëZ ‡1ü¦z­euŃ.áyl -/N úçâÓ)ó$ôŠçíŇ7Ć\ 5PĽ&ŔúňšŞÂRő¤*4D±âę6¸˛#y-Çó&»Fď¤ďŮab©}2Źk%řIŁýŰdIä&Ťál¶Ý‚ĽňIi‡4 ÷ŃÖ9Tô§ÍťŤ$H?+,ž9TzÍńŰ4"Ž ‹†/lQË“îÇ65úŹĽ,$N‘‚,ç…`Ă^črvń¨rć.´ŻŹ†(m—őK—Gîô~č9Η»}Ó÷šĐÎŢ[aůě -7WăQ{MUÎ<cWTáľqAÓi·ąÚ«E0~»ŮČö`;+®íU™řúÎóńę‡4#éáWă¨J­QŹöB®*¬ËfiPč&iFgm¨SŃž¤Ö.ńÄŇM¦dKŇó$ĘČRěô3–"Ů[Š^ůV§ Śs8Ý·µ<ř9Ťńź)ŞhD_vŕ@8:ßĘ©>r‚“ĺ^ô—E<ŢJňăî×›Šsa­Śzań§GˇUT}˙ňéŤđY#sî˛&őę ťÎ” Z`…z$UGŽ˙Śú¦ƢŤňű‰.ÎđaYYĺj˘Ą‹–¦ľ^|`˝řóÜ*š†}ö()îBÉ蹊tÓk,,ôďAŘwÂcžką>¸ÝńÂpô…_˝„鹊¤jé Ě8©Zcmčrî_`Ďá­Őúѩżô„QË‘ˇ Ɖx^»Sµ(fŁ8<ŕ5IĚÝ}u%ŃĘä ËhDUt+çâ"öŤ¦ŚrM~Ë@Ä’MLí7C‘–Ť äˇüÎέęq̱t˧<]üŘ(±Ú‹c7,°°¬mí¦úL6˝»G…K¨zb®5»~ |P{.›ĚęŠÁkÖłş˙ě ßĚ×čÚ¨wúP¤Ůg€ +P2e…ס‡*Żżkś)ĄŚ¶çyXxŮëťť<:0cĆŞ%ŕp{ÎF’´ö$v€;Ó{PJsľAhyődÄÜžĎËÝ<-§RůXýQY®\W.óŇ‘őJŔ˝Ńcíăłę‡5}éiÇŠëz[„,@P*G#‰µ+|-ť7–)ÁŁ(ďk…8.ú_6Ć–^őŽx´vđĺ6ôŚ'EżˇÜqÓŢ/Ĺh"µ°Ël¦ˇŞ™ŻĺâµôJˇí6Ć{–ôz8y € -řâI¦ŻHŕě¦ćř`cĄ#†21öű‹ćő7ܨřć+É<Ë{ ĎĐHć4G)HŐ]?ĘH±ńw}ŻČĎ·’hŔžČ´›đ"¬ -8ĽÍëĽ`°:ó{ -Ă›ŔŞ(#0‚‹”źĺ…îäšÎĄÜî°sŁ7ŢI”2—™ą$ż–pş.ňaf:eµh¸{SťÖ×T|Xý8n4z¬¸Ä{] ‘7¸ÄĄţČŰvĚÓ]̇Pb®, -HüĽŤţ6]®p,–ţś^\ă![Lé«ţklV—ňñŚFlMć‰v®(/é˙Áz[çäÓŐúz•đ´Ó¨‚ŕáz ¬Áu˝ńĂŞŰ/ŤˇŮ–\‰bA«š _;ÍAö>Lăčcü*Ó·aŢ›}j× JÇŕ¸MĘŞ„Y–ÜĎÉĽV6§cüöĽÚ%áySđĹîőθĐâ蝀¬Ě"!±ˇ BľY9*-v׋óŇéÁ'…TߪŹ@4†ů­3Ţ ¨–ßIŠsPÇ -ąÝö٬€żŔŚýq–“Ě™+ńŹ¸Ř»kŤőđőžË2%\ۦ´ŕ߯YǸŔëŚYÔ3­‡éú?¸8ý××aj<(Yß»0ËEeĘł5ëeśŞ_H†Ľ)‰ď«‚u¬®™ťŤ–* -n„ěě`i‘íś]6.tBĄvů ÄoóŁ· -HŮ!µsEŁâbhń›'ę< ĽPwMŔt{G\!Č3évEůöçŢ7^×s6ěÄšˇýĺsbŢřŤ~ĘöB‘ß=«Ĺ@7‚,mš&ŹŔ˘¨qz%î؉˙üŁÁB)«@%ŹiĘŻf‘·„©Űă!8•Í>Oé_N÷âc5·ÁĆĚ»]€<<Vöi WDE7Áôđ«˙Z%ĘÜß0¬TGăĐ2äŽ8ő#XŰ §Žv–÷ÔrĄ7 -lýÓč~;´Lł!ŹĄď ÇÚlEBçĐ]˛ 1ůČ0ÁÁνꏣűŘ•¶~di¶ľ>]Śă/Ç0ľägýĬ7.óŹńŁ«”Z´)¨ V“„2Ź"lŽďź•=;%^許ůÍ‚ŕj˘óZőš.O <1·u˝GbmąÎ7ţY€IÖwą~žůtc…Ţ,Ö-üxÚZĂ|Y{'±ÉiIú̽؉Ëű¤Ĺe¸•… ´Ň˝(Ż×zÔZKí Łµuş•¬e˙çxxe6W·ŕŰ Ü KŇgËńzźďAŔ1k©Ě• ŁÍ†Ý¦ °ZÖÍżůÉ%‡–’ě·9–` ‰‰R$Ž ™źŃb×Kj-Í’›˝U”aÂ?]m|gę^<´Í 'ˇęÝ´ń¤ÂŰ(8UĆ‚¦śáŁvÍŁ“/†7ůt'ţ±Ęa'ťQĆ…§bQŰČěw0]«Ä–č_§Âz”O§Č¦jˇĄ{Â4ŢQ‹ÓŚfsŞ…źő@ŃÁ4j´DĄşđ)sjIU*'ÉĺmWÄ8P ĺ7™[S/łÇ§g [6gd·CřD2č łŹ#řutv\§bض˝µÁr2Ň­™TÇ˙ŃŻ^ŰfîlÉW!}TČU*Ť“, …ŮŔňµşl»~‡Q»ŠĘ¦ z7‰h]Y ŠŮđ•çD@¦$Ńa?pěĄ\őCŕőĆ'o~)9ÖLLµŘę…ů§"ŃÍhĄˇ§ďUkfőńZű—!ŮnEsk!sŐ| ý¨X Pßßsiś™Ě fP¤iĄ’Ů ‰K|Ľ•źdŠľjďŠxőK^vżµJ„Z˝–=|ID„pĹŢYÍ%ÂĚxüŃ,{H“Ö_@ą˙!Ţlw ô†ž-“ß9ü°jJÝ”€ÓÁ#۰˝ŽvÇ)çĺ[+‹U—4tx#|đǨägŮF󤞾ži’Ň-ć•ń ou2Ěű—j ö˘gńî%ÂJFÓd} 8V‘v ˇž(Ź ďC‚˙ÂĚ_V%_hÝ»śc۬âę˘ÂëWG[¸î=Ť«3~řTlžb—^(ą†nТ˛Ý!+Ž©f%‹ŢM$Ľ$s‚†¬ˇv?őaµčľć|‘3saç]|,5mÉĎ›éÂÚRU`ůýëŔśŠ\Ź0öĚP˙zG‡—2Nm=üI!Š<ɶČőÂŘĂ{KçŘXÉ´ŰűĘ7oéŇ,â’ů_ÇyáZĂŞ_°äńŠżĐZÇ>r íŚöŻäś%Ľ¤’~‹xRó)"Y§kGŞĺ)d˘‹~5DŘŽ@Ó™•hĚ  Ś<.C¦6 ŕqü{˝ëeřm"”ˇě,‡–‡ów"ü…Óµz_ýO–UÂWź—Ý8Ćź¸p“dćIţ°CÜ»ęŰ€h Ž…}ŮO8S‘W­×GbĄëÂPRßĘ2yčDwާđĚşŢ8ş„ŮI‘?sš0·‡<±‡±1-,fÍ?˘i}‰1Ó÷ČąDěŮóĚŁ'9Ń  »LíÓ‹ń#Lą9K±űÚ†Éú±Ž HmRĆ”(Çö?"1Ł8d2ĂŻŠZz‰Ţ;p†JRw2,;j‹…ű8ľá ë5?[DU6ŹiTµçŔ†öÔźüná!gěĂ%ÉőáĆKŽ9ď$Üič\N„ţ¬5(Ńr!¸Ý' Vˇ˙]gíEô`×@<2BőŻE9©Đ>®ŕ7U N`iS3ţVŃžĚg—DB? úĘva7>Ý«!KŃwŇř8“%Z–żró'q¸Ŕđ¤ŔM‘ ­ä"G) ×ěN»ö„™@Ť˘V&¸w^É -ŁÓ‰‚⩬­ga¨&IP‚čŚĐcŰyýOłSăf,ĆžJd§Sö^|o‚†íťŘ%ä<¤TŐ+_˝!#–őU‘dd`°x<_·,˙ö/CKÄz:°ĹpĄh/řĽAłĚrĘ:c@Rp«eöů˘Î‹!8ř2ÎęB¦|ő–S(Ę\/o¤đnJDä09ŕx‰$´P^ÁĆ—…咯šnÜěsůŻň•7Y Ţń©n™Ĺđ¨Ű›9nĺiwzSžĘ(ýNżáĺÔf¶ł‹´Ub»uE»ÇĆÉüDšŻo4\PGŕhµâʢŢLKŻČzôqU3r….Ä čc8gÓ¦?ćG_&ccÓ@Ő4ר -źíČČe€‡ -/n©Ť˘˛±3?CY¤K±đX! ë‰ť;»Ŕűŕ¸Dţ+°ÂrKň,DůĹťö´~Ęߟѡňµ˘‰Ü'i«äě?‘ŁBśh“бƼתAWáźUčÓŚƶüŹoˇÜ™›ĄvŤ±‹ő/î ĘŚEŘ2Äńž YĄ -|@„áÔIŢMȢ[ ě)E:źLyîÍV†Á:*-ß…Ö -p"@—˝ĚW'Ëó˙wĹĽŃiPí~â›ÚdŐ°ÁçmÍď¶•7ͻۚÇV§čz‰tW.Zhţ)§*łľ7ˇ4yµgsgqQUą\{Cäř\úr""\ĆČŁAü¤Ś0$ -Ř´ÍlćŐ«%Ř!NsłŽř´ç1yˇŘkɰДÓy˘Óyž–ĺR€˝ö {ń†RΛž+Á.*¤®úęŕ% l)Ř’Pä»&šaDIďîšLH )B”É -Xܡ’ż;mîŹhĺŰ”ýĆ`#–yŐ2ts×­­Ě1“Ũ18@¬ ­Ęí-‹˛pkXřődČÖ´–°Ęö-s?ÚW®a‘ŃBl ŐĽđé­,zn®acĐm{;fŽí&”_fçyí“–zĘ’ -ă'LÜßŇNÜQUlfŹĽLA˙€ŢĆ«±ë2h⪟`µ)đ4†Ç…|‰÷© w˘„@ŕ ˙MťZrśíVß4ÍŮĚÁ5T3iÄT‘°d#PY“ÝËë4 -ôîý×îč¦NçQ:T[ß®Ó8hă͢UďŃOĐPw€ -˘KŃĐĆä‰Ň…jjĄÔ¬0…G“ąűŻSd‰VŐx ‹é „Ń˝öÂíI&«Ľă÷»&Çcäš7a°*,7Ęą;L3ŚÖâ~ Ź2Ĺ-Ů}Hń˘ŞlKC›”C¶˘ţń#˘'ۡ–÷µłJĽÔ•Ř,Ŕ‘Ą8`†ď{Y‚rV×ă(Ď~ J•GNś–Źd°ŢYeJđŠFęőmţÎŹSdoýVŇ\‚fÉč]čZăŢyĘŹ.«'çď‡ÓŁ·âđž†Í#Ů·¦läXiźäoĆ?±8ăí l|FŇÓÓ1ĎIÇņWHdĹiduÍÇž‰ÍßôÜÔ#]í”™˛e@µůVőŠIQác\‹żĂv“µ…Î>–‰~§ďŻf´OĽ™e˛Đ9Nö*¶­ˇËć#ć ^Ş“ł@śŚylŤÚ5©Ćąś|©ĺĆlN2Eę’]”qâ-•ĐĄ2’©ßéó"ăVîXóŕúFbźcĺşkń.zYlEǸNÖ$#ňĽZ„ÓŠ˝0Gę -B‡\r­K÷Üb×37Ć9â,ä"‰.F™Ç|­4pËćhÖđŮ…çă 9÷5™¨} ˛ĹŃ -Q}\˝ł&ńúö´*®ŔĹç†^žŠ…5};Ć öYo"+Ł3÷˘‘¸3~„Ud:ĚęşvłĽČúŰlg‘±ˇ’Xđtş7ę%ĂÇkú©{µŕŤÜ˛$h݉oÂYp&A$‚—)HÉ -¸A)ŘĹ˙QşxńřUNť'ëdďM´IQ百Č:A|ğ¦ŕúćN^-X:”AçúÂ~D?[ćŰ¤ŚźóN° ~\ŻëkŮ©ĹÜŐĎć΀dWn(ţbQŮćÁĘ ©sH ś"KἛ¬§ŮŤ‡ˇ›·Żk#ÇLÎ^fýőš([w Eç›d"@ş]WˇR©!UťE5đęŘwŘl`UżÄ8µ¸Ľ&T«ií.ű7 Bgum[7é!$Ti<Ě+áű|Ĺr­/-1ćĆéDč÷ž±~”Ü–n’čŇŘçL„ÍmÉp¨^ Řz‘-üÍ…W|{®ëئ’ˇÝ#Ś–=N ˝ŇVŞi\ďÄ.9ĘŤôĽ Űš8ŃwVČ= É97eíÜÍ©ˇőYŕü$t˝«¬?”H#Âźă$­«…NŮź - ?¸ đ/˘:˙ÝŽ jé"ŇôĎ!¨ĄŘ´»¶ůL{Ţ;‡d43ĐôrN1hžŃ`2–×í^É÷ă)ŠdÝ$`ťé-ä}.xă5ľ%xţ#ĺVĆ+:Cp}d Ľ=×+r&›0­üŠOę±+(©»:˛tkżc´pĎâýá{3 %?Mĺy`a‡˝×ź$év©ž,äĺĆg§µM0!š-pëŤ[ Đżl©j9›]ŰŚ|đŇ»žSB÷â“9bűG'ŃIŹäŚ“O‘ ]Ćé+\h -ŕS·vĽŇi˛8Ŕ¶#éń"“Ą€_Ű/±ÍăT& ˝ŽÎ· ¦yĺ7‚UĎVŐ`_ţľh"o®[!×X¬'ä°eW.kť{JÁ˘Jjµ¨bó°p~V٦?eŢ„Š<ů)Rř`nó·0^Ú•DU (ú’|™ČrsOĎšę+QŐˇ˙8µTRĂjďMP»8÷Đ•ĺxůFtĺťĆýřá#V|0ŢXMŮýĽęô:S¨Ż˙(¸1Ź.;)ň§J¸J~gĽĂąP†KzgĹ‘0ę:űÂv-€®+ťĺ‰CI»îdg¨›¶Ś v¶ďIż&źc)3h/±Z›ý †ľč-~Y#ŤůPŻŠPľú/ÉýK€qÓ˘ćxŽÎÂ’2VO- I&¶ěW­łú‡‡¦ű¤súúűŘX÷ÜŇĐ3¤:rK;ÝĎýS8öĹdDPó6žsQĎ3¦ MBă)–EÉ͜΅÷ĎÔ^FR§ązE4ËMe{ŔqúĂ óˇŹç@5qĽě~˘´\Ýg÷·h|sÚcm„M Ŕ8€ąďë+@Ú?ó„ł'ĆI«ťôâ[jż;`>E$3‚…ĆĂCźt‹f‚(źŠŞ®ŽŘ2>m|†CrÁÇČęYÔë{Ąii~Đ+ąmőőáw(Íp“"¦ŃŕĐc3 ×Ţśm/ŽŤ)Ź`ˇ5čbDŃ5N»_ţĽßvľźo‡Ë„*$ÎáA»đ2[Z“cçáÉČ/ľGř-|ˇ‚¬<9§Z>q2 -«˛ăB{IEÎąyěŹŕ#ťžŇĺă¸6cúżÎ$î'p$–ŮÖ2(B×)R˛°‰Gť¤TŁ!-hćÉň”,€3´mŠLÄMÉ’,^G(PĄŤŕ Mň¤Č¶wsYz¶5Çs4ŠÔą(o/‰ ś4ťČ’šă;×Ón˝¶JÉöFk[ -8ݱ:ú*ɶG®¨Ž-Z˙ěhâÔł1łäe‚ ‹·dÓGxKźâ­yĎX/4ëíôţlîl–†ÂňŘ—úřnp˝żŠ1źąlĺ`éĐŃ ýR=ú -\ą±uN1±F˛k$[˙\A «§¶»<¬–Ęt$P{µŃÔ†óI]˝ÁüÓ2Î4É!ű~űP Cńc€:Ňíyá_í3€-ĄńÚ[Ż*›´…]Z^2€R ÔŹŔż1 §őÄTĐ_…zĚIÉ‘Äübź -˛ö6€&úđA;źfŤqé…ňʢĹjţćŁZR%ă*čďZn$Ő]?\Ëh¬mČal“Ú]˘n ±×_bśaĂÓT°X9Ůż#fsF¨ËL)‡ś#±ő°]/€"„zĄ=7ެháóŮd9Kîń+ů©#ăĄÇŚJ1"]÷+%…ĚŰÎŤáŇ&~yr8Y.°äáN0&Óg#kJ”H -\kĎ|(«ôĹ2 5˛1ň)âŢXĄ‰LW?'}1ď‡1 -đ'ę3śl3őýu‚ž ©„™WR^Ň&Ś…{&¸ÓL×^ë9'쏺r“ÁIŠłZ8Č{KˇAś=ë9úפ§{~˙O Sö.…Gm>’?Q}† -ëśm4ëü›ßŚ$3>R©( LíůĹxĐU©Sßądm>ŹÝîÂr ¶¶ -–D„/(D–‡SÖĘátBČfl‹Ă6Ä÷Ń LGn=8ź :ľăqĘńĐĐ˝3]OdôYÎ|~8š9sżŚ*@(«×ß8™,śAŇúEćŢ ¶ń¸wű-™–|ę=ŔpËDk€ÚfTŘęöĆřň©C=\ő@/ cX‹Ôľťţ5YJ -b˝‹çűž“âČ˝+™A…CăĘüÚ= V—}ěę'Žý (:6 3šąć';MĐ´bĺîΙF°—_Gx;Üb-.eŘ)m ÓVÜĚŃ‹ÍMýˇý»ŔtĚÜvçę^gđîKßwÓ%68“&yŹĘćä;|ÖÔÖú[ĘŹ“.–™'ŕ»Ýöęö1á<Çůň}ÂŘĹąŇSÁŁ:µů oÂĘ_erać1úmń±ŚvÄô‡2LĂ’/Ş› ËŻz`Ôřm‡á4jb^`ő˘ý Ă< ů˙s¶É;ŚÖdÎűÜ[}¸8Ó°®Ďú‚#¦µš 4đ¸GűĄ|˝X(Cę’Ú‘Ö-˙h¶\ë+µťŚËŽü8đbcĹDĹGßł'6I‡ČÜěH«QŐ%ÝP•…Č"9›EĎÖgžsśÉuŃv}űʆ®ÓoÚ>ç=ĺWÂ+d=Ö(óŤEĘ\g»äź¶iĂŮSÔĐ‘.!z§4[ĺď3‰Ő“*Ć:ťř9ďŻbÜ”>.ďŐ vgz›ĆžźF0ç-ŮcěŽŘńYöÓ‹7XéäPBt\iîş'†,WI–x veëęB+#Ę™ô­N쨊ÎĎyŁcĆoź6Ś”é‚MńńłŐ!Z»?˘xJO¦m'pęBAˇXu1·N6oääj×áő‡{łÉD›wĄŠ^u6ɬ§đ€ťe%=˛r$xV{üuG ‚Ł1`é(ŮJ`lCŚ5g; ÓübŃ4ř8Ďn˝j!ôÄ÷ÁwáŔzÜ/&^Y¦[Î -Ń ÉBy„=s€Ź }5»Z#&ďQ…!­AĐÍ2iĚ‘ÁBLô‘T㿏ž&¬Ű ¨´ěô‹mX‡5m,)otľW7ć]Ă]ř_ܛӓ0ŤĂóúŻuVlŚ‚]α Ż ™]ćQ”Ä(4CIvíŇ~«¶2:$ąŃ%ĺ¤űźwŮ7úŕĹTgéD5’Şőů -m˛N8ęβśb?… íT±řŰ_ŻâaŚÔ¤Í¨Hí - Ô~÷Éú;Ő?dŹW˛Çé%ý6Ľo’şí°[ŤŇOjÓ ŞĐ ŘŁÍŰú´˝‚ŇË”+O6ç٦¸ŕr`Ü/|Čăt9ë–\Ăâ´x.ÚcD?:?.»^ »ZýŚ#uÇ­RÍ›65‚Uűu Źa:¸şýÇćÜśh7lÍ‹¶.ŕ LGy-Ëń3ô<¤yVXÎÚ6Ő˙řÜ~Í®ţsůę ŠŐáüĹ^jMÍ…M?+‰Ń“ ě†ëRłěđ¨ű·ě2«§´ A::léĺKŮ -1A–#±8v—„›dyÍí´Ô+bTTѱŠnUHěvMȱ¸îi‡źva‹á§ćC׫<ŤńźÎŞ‹E=yKVś¶®YKŽĺ-Heć.Ür)IŽšďC‰5ŠŔŠPj(ˇíµ±i©¬CW—üńáRłś~hň¬–Ur¶ ¬-hź†ĎŽŚj´ĺ8Ű6Ždŕ"Ą™¦Dˇó(řńzĹkŕ2kWTV»g©á`ËŞčkéÍ۵>”‡Ŕ ŞŔĆn‚Ę0Ź§Ď ě«âme®JvuôJÝÚ…(’D7« ©éPNöŔdÖa7ÂLTW]2‚~ ™UľÎö\ľ]3‚'Ötŕ¨4µgăZ>žĎ&ě†˙ŰöňxéfĂÚUëëCC4"}O–ŢYßá SÁĆ  @,bń’nś]h‚42P wgJóĎAęwŰgŠő$áa"ÜŹÁOxął5Ýž§ěÇa“×aîzűŤőbDźő7ą\řjâ‚(±•Ć/…Rl3=1ĹnÝâß;J«Ć7ä±ÖVÝ—Ę&7Cô{ĎS -_M”ußďe[čbíBˇł7Á2Xá®˝y˙č4u‚ÓěÂ7ë¶—ć&Ĺ]Tri>·h ÓOşű^ĐËA©{Ă”żÇ“'ţ;Ąľ÷#ˇđůźŚń±©1u‘»%Yůeő1ÜQ.ü02łŔ€ÇňÓźYîţŤ/š†Ŕ-Ą(“A^#˛F`u)7Î, ÖA°uä“8ÁŕÁoüŐ?xŔ˘×8r•ŕE+ťŇ^ GĆĐ:GO:ŤmŃç]hŰ,‚Fń:5[00Ö@ŔŃ˛Â»Ě†ŻżB#ˇMy`¦L=XT«p“­îčtJŹKKrć[ĹCęÄrßqĽýďÚ1¬'ă"Oź»it/rAH»űcˇ˝Gk4Ę9P4‹F˛ŔcuÄźrh8Xâ˘]X1‚¦FD8)°q‘Ő˛˘9€č—ŕÓęčy·­6élÔ’ţ–ta©: -(Á~"ߢ6L}ďáęĎÉŇ™n"Ą;úÄ×/ÖŚ€…ôÓ}ţ¨‹3“„éuPçĚů;ňŕ"x0ő1z]âő—ÖţŻŽVł–»ý=6tµďŔqŤGť¦ŔÜ—Ő ŚÜ_˛iĹhq´ÓjŽho˙0•)?ŁH_—âCT~l\›4xčT­("­°ž=X)y÷o/«Łaö•ąţPé°Bá轥ń¸Ú&őIŹIä–"ú<|­µÔ~=,F;v‡©­„ň\Ä sÄÁÎÂđFć‚“oătKŹ™J±Ů{„·Ë öo§ˇ@‰…aQúŐUNJ Vśăžŕę´&"‹łgéěĹm4ôÂXrÄŐ Ilv$‰Ç†şĺŠóóPĐÁĘÄŐ»j‡X”Â(:özpÔ©Ď8*”&*G°ÔwśÄş Bż@˘pdHűµŘ×ęF\EpslÚŤđµeL\€HFśňYpĘąâěĺÎ÷‰’27ö˙«yŢ?ăϡ@3p!ÝFDµ>aÍ1Ey4–ť´f=í;ŔěŰ´äëŘ›l…PüßŤŚ¤xÁ {b5ŚěěčÝ˙It°ŚSZ|¬Ř§ţŽĄ:Św˘ˇĐ—Í ž$Ąbźî2ô™˛÷dzô •}]«.•"ě/\ĂŔ×äÂÍ®‚§řŃúĚł]čŔuÝ_oĎ!6fůR“´ď ‚ÎŮ“‡ŞŠÚ}TźÓ$ű ÖĄ -kdkmß ißžă‰Ër‚ĂU|yźşjÉF„"íöu@˘~Ţ eˇ'_•aFI*ݞoä~š,†ýXˇna«—ó&LŞq*ŘěŢyĂUS1•čĚDß÷´üĺŘšJ ‘`ëĄpŰťťČbí°RŇ‚ŹGś ` ź‚Ź (đ€bëÄ_nµeš‹t–‚BÁ˙¨›÷ Uî›’ ¦éţ@ÂlDŤ´^ýX&Â`<*ʍÖo˙˝řt„mÝ𣀕ĐoťJ«; -/ŃhŹ$‰b%:–ýM‰в4y Â岓 -*ÜäďĎŹu9¨süÍ‘#T¶iÔ›ű%߀#)ń<”ďł„\÷Ţ$¤ĽßŤ?Ł­c/dú›čȆ6^úWĘłŮÝŁOѲÜéwÜgAPrĽŽ»lůů›ŚQ&—iÖáQţM)ĹÖi+ü;Ű Ňž›çăŹ#´plśĹM—p#łó+1Ë—jđ]*ÔVRů:'tNŽj€–5ŔŁn<śd=:ÚFBç"ă@i°ő cĚ -Hi->Ôť;zGEÜ!˝*m+C}‘ą&OîĂ®‘­+VPxá¨8-K‰u*Ş’ŢĹ6‹SšżżYřëľr Ď‰Üuĺ%rľ× RzáČÎmUĐ~í \ĹĚđ9A»n1ňńéđT¨ŚśwKŻ: I{äţU$ůŰß}ăÚrcÓk-,ˇÄĐ.őźAŰM’qPľ ¬<pŚ—ń±ę/żŮý±Źv+üŻDÝ^Ô| Ç5€{÷<âËz9î†.`cdýa?ă3K‰>&~ˇęƇđOÓŐ r?#Xߤ @<«Čţi$_ö½@’€T€·ý^Ű6`'öiĘ>*#ž XSđ.H(ĘÜ“ÍčŐŤ`tËÚÍÉwÔî)‹>č:„ĺĆĽďp®©¨îtŁLńÓUśĘˇŠÍXj"ďý× böa(ÉMÜ{Ôv[őĹçíÝůŮ~ćÖcĘҜލAśÝÔ!@†iŢŮ‹ţ*• -&Ň/Ö’bČLp­řß$qǢS¬?™Ą¦â‘ç‚—ś:9'Ë“Ü0áÜ÷ܧ¦1ü©â)( -’AKě7ż•ĚrăµŰ&D€6 nu—Ćb9 ,‘W”ąąSĄ…4ýłşu»ô.+ŤµńĚř9ëŕW Ű»¸‚al^đÝf9żIѬ+2ě”F´pČs=šÁnJí»¬ę…Š€Éş^)ÇîbÍż×…¨Í›K¦ °Ď -Rb”˛»?·˛voµ&Žęád ĺ*ű5eTŤěłÓf=Pĺ,Š*2b§>na*ŕ}°H·öUű˝"Óř3¦<3đ揎ţť»Ů4:ÁŮVĚZ§HS/ĐŮŚ e˙$ŹČ•UAÂßS[ĹőőÉç]NrÄ‚Ó!°ĆŠĂ~ş”¦ëm|Xš@Š3÷gSĺw#c ż—’ł(‡ÂRč}f2Î#s×±µ‘_@3§SŐ0uýĽ[±G–s@@‰Ň›ěîő'ţ ¨„7“˙ÁĐŰč"†”¦PŚ×(ű§÷˘‘Ř+¬łÝđ™—í汎bMJßP¤ĐęÓMw_čů’lW‡]‹8y•¨)'ŚŻkäF#¦(Ŕ©™ÖŇ­OCž‰ď,J9ŚP ¶G¨J‰/ŰtĆĆocU} -±>ö·BŤĎNÎ…ů®Ý§9ą(*•Vl áŕn~Ęú]°’ TB\;ţ<2µ/VJÜcgŮč©svŤk/ŠŻSŢ´ő(š‘)—Â{A/WŽůÁ¤'ą‡ČtIŻ”/č˘iťŘŕV>LĄ®°C‰xŻeZ’Ŕb9b$9ČôĆ۶^¶îŁi3Hߨď 2ßłB¨9-ű_8ą_î\ŁÓ­j`. -‚qžŚËۡŔ=ŐPŐĹ»|ÂŁóŁV%()"Ź~%ěLźň˙ű·`üz6a,É Ě&ßF.G><´Á.–ZýÎĐrwĽ˛„Ц¸TŞ‘™ ˘š)) 7,ÁdgśŰ˙›”Čüřę©(Jhő7—ŢĚ(ýG#¦öÓ0ŻďyrŐäÔLńá2­%@ŁĺpđęŞ'â LW|_1`§Ç>Ř,tče}‹'ÁTýJµĎ^tpOr,S ĺV˛>2ýU}@ ‹{Šu+ÝgTžf8Ö´Ú@TsŹ­OÂîRüJ„+*c|xâ'ş˙ćNQf®ŕş|+ĂĂ‘„~”Ë^Ň“á´l,Ú…(ěč6S¶±ÉáÚUĘWĽgOťŰ{T{gdIÜäW!“>i¨…Ą˛ŁĚj2›c[1ĚáȿKŰlełŹJšępT«îëňV7-^VŰŔň¬GŽýđ‘›Öˇ.Ůu1üĂh˙ ‰`Ř×d²s<Ůĺ®_†4t™ü!}żtű…&îiP2›ü‚Vď°µdöŃpŚ< -ŠĂŕŞ6Đ×.ňĚńŮŰ26Žs­'QloĆ߀˝ŠOŢżj”„‰úń?ťfsŮŹĽwĄ_¦ÎS”ö-•-‘罥„‹>ćşŕ¦˙o7ś3b&űk±QĎBłÉ/Z٨&^Sô4ľî ?ć˘2%ޱe{ýyÚ×⪦1Ľŕľ6c?-1mŔźb˘îĘlšR"6‹í|YŮůbx쎶Ęýk…Ś'ě™WŃľŠR.„V»wT/ Ý—L掯Jĺ'1ńX×6bâeÍcˇ>™mRŕÂ?/mf#5čőIĐŘ¤Ł•ŘĺHôÜmPW{ -¨°˛¦ 6Đí§ę!ťAI:™˝ů×vĎš·E*ň×$\7f»ŘŠžŻN_€é<$@q@ä4Š|:óëoĎÁ3­°âÚ»PŠ—,%Îp:g!ŕó+Ú3‹ţwł”8v Çő™c㸩îGÔ*—@« 2 -Ko2ąÎbAz^“%ĐÓßNSlwÎ?:ÎĦPüÉgÝמHŚŞ(zç;×´KF˙}–“-:‡PŇx‚Á÷ŻJ7†˝řšKŁÁŇľUge᪫đÖ0đâ1A[B&%šµ!6`j˛¦=ÎÎ2H?$l,a^÷˘Ärç猥jץ&·łŁ—EÉ&“ßr}}čUwŹu[ťcŘ„Ŕ¦;ŰgęFáÔ}ďµtccC’¨•¸“ž°J’+ E °Ç…ĹźŚ‚ úA{>Ť$Ó ‘÷Î0ď‰'ž–-1ąIůNó•ŇoäťYšĂËΡE {#ýÍŔ¤»E1>v_2]–čĆkäŚ!RB˘…ŢÜŠ(xÓÜ},6űXvśÍöů\ţW™H«âᏂŐełŮ—‹°ĺĽé&>M.ät¦3€?ĎéőÉÉ7[<éý=12”ŹĹ)í7Ŕ°Ř„qz 9NŞBIĚ3Ă»¶y—©x™KŘ•ś&¨ ŐĎ~ŐÁvpeşqčGH—~wЧ)ž—®ův8KĐWׯĚöT«M&]%f5Č ĄŚŤäIăhË®ç'vůęAáěóţzç×üßľž‹Ťű#ŃŤÇĐ«ĎGËŘb˝}lÚ'ä, F¸Hbk°üpŮWů9µFśjźşB­ĽŰű¨ăÜ{D+e»ĺ=ÜMżK*ŰőÍ·üź¶muIBȨukód-!GĽˇ*@Ř4-„Ó}.݆ -Gň€OwôU7(9­i= Ă\J| j}ł“XŰi `mü\&‹2NĚ]…Jő4¤%…c× 7íÖ#íFąe ­»Ô¦(ŤPĘÁ lD<ëŘV(;Y]Ö_.vOăđş5k+wÄbƧMaš#ůŤÄÖV»Ą«%g`·ąC`«špöęPAŮÔ¤&čć»q3?úĘTq$QĘ®'•ä ŔŢÇO‡6Wh5„÷OҶÇţ4 -ô䝇G¸čŢ`lu‰˛żxC~¤#®^đBBË5r 'đD›5[_™|´=.Éë×w Ęëú?˘v|ń?„ű“&!98eÁGŘm÷]«<ú¬jˤéĆËzéj‘ŻM<©p--}3#Ďątz™?HžqŘż·çŢmó{]ÍE ×ăPŰŻcłtwËŃ$4ďi+iŽiô°ČzFx/…ôŰHÉöi˘Kł=őżéôľEkćcT%Đ€$T !Kc}ÎbxÚ­}ĺ+tu´ó«RśJo‡fľŹLB‡ÁqÂyŹŘęšÇKŤ[FD(Űä,¬µąŰ˝ńHJ‰şčh§dÄó9Ś2⤚őܲ:= ±c@™?EÝţŰś&EĐ7«tŽ7ËKżUăÎŰJ -=Z+ŇMŠü­ČÖ´bŐuś ŮEoŔ”˝YÚ)ô¬Ŕ.¶»ăѸ(䉹l„ŞŹ&ń9ęřH4[űďĄ`Ô×Ď|Vpć¶;[ąđÄŰFŘŻ§˛¬řńž{›*ęˇíěň!ýő€ -ă¦DúĄŃűRSÍ…›3$ŰÄ1pŹ{™žfN GŢ뛀Őë kSgjs”Ëß1*7ňĘVłŰľ%(掏ÄÄ Ä¶RV-b˘ˇćŹe:x[Ł.kdŕÍÄČbBş©ťyýźAQÁŽ|ĐŮ›Çŕ!µ(Ąą˝IHü~áj˙!uYă1™‹úş‡J™° ° [®Bů䆩€(«Aŕiď¸n˛Áťę«¤Sç[±kmůhĽfÔÉ0cM^4ĺňK‘ť.Q\¶W]b"IŃĚÁ°W\˘dą9T\‡4 şÓřái–™Ű­&ĎŐ>ę8Ż7ŚsÂ2ËP! ˝ÔSöqÁEŮÔĆ ”{#.âC_•“c Yz}ńcüŞPĚU7ꇼŢ{ŔB˘,e©#Ó˘Xó“ž×á1řŘ îZg^{D¦7 -'ÔČB7ţj÷‡Îí6ĄŔšwlRAv$a'F$0»’¨ć ®˙ ­ě|°'¤Śvc|Ç÷”€Ń8;~R‘9Ş$ÜÔň˘?n E¶ €Ńć{ŐÔ­kîĄŕiČzĎ™ˇ&#á©;…€ťŤUaEĐ>ysU$!ú‡ńžMÄÔ…âpDl' OzěDúÚ›ŃIŐýͨŃ/ęaď`ßżŔşbŁ4ĘşÓ!Ľ:ü/‘ľ•śś ßśˇÝĂä®,#´3NwآÂAîüę -lVňŤďđÖĆ8uEçjFŢ"ŽĆîjä+Ą/µČÁYő&čá_P­(ÜŤËUľˇ-ÉÔË[ĺ¸Ĺó[óΠźđ"ů‘«2k!AýěśÂtŘ2˛O"Ţ"\G­‹ŃA˛ÓµßĚÔ_e:DXŰ­üŻ‚Đ;u•«Ĺ?’Řf-Ř–B·ĘŘ{ůžÁ2©K‹ťmę—-¬ďUe4$Č©ěˇVą'Â*+ •“ęĚ7ÍÁČđ‹ot¦Gi×äâí2ÄsôbV¨!hłâ4MQhë€!i°’b,gÝ”zJ‹®KíaI^Gió8Q•öˇ4^wNQBWłÓ‰ň™ů ůÇ éšţ#c˙MČŰžĘ1 ł<ćÚ -oő·F°¬–'”$*DŘé°Žë,Â]ť‘nŐ/Ük›o•dg¶ś ˛qÂ3|öëď¬%€ -ż_¬¦ís%` _eÝ$ČjĂ ·bTpĽťdčĆ(*ů–á˙Ż7AW|:ĘJjô=;ë Ś65pĎ'—k2ş–möŮ´˘lˇ/FâlM ‘sĺ>˝ŽÚçŇ÷}ˇČC%ŁdJx9ÜĐT±ŞôO­şßÜEůâ—VîĐ1ŠűÎ Ž`µ^wpĘ-Új^ŃŠAB·Đí®ÓoWf•ęL­çŐ]€ĂAFÂţ #s•ţ!0 ŻÓď$·`UD°]WĘÂ}ŻçQ&.Ëą—¸ ăBźQ”cJü)k?IÉ"š‚0q‹#pÄm„? 2 6 ĺK(ŕ“cO#KĚŞ > XIß–şÚâ˘Řç‘…•î˙XFµ>Ä­3GÔJmĺ[ kńś-[łLŐŇrőLϧ{T;qe°k„kđ× -ČJ¦C»AtYڎŰNQ-,ć:*hĹ5>Ł%O Ýý˛xšżó¦Ź‘5r…”ޱµŢ‹ ŠK|ÇHęĚ÷ŔrŢ|`Whw&Ó _ÇVź[úŤŻPŞ^Ľ•čĽřŢ='qáFs®HrŚߥťʶµër™ëLł:žC^˘‹i9LČBĄ7·á[2+“ˇ‹LŐŇ/ńŠ=!CGĽď5$Z‘äśl8뺆5Ă(ca_*Őâţ{IţŹ × EÔ2«ŰŞăĂrÇ&:¤VwQr_rš/:qa˝Eľr ÂW%>·ű׎Aô±¨fRJ–đá”Çš±ÚŁ|um¶ËŘčlş{jŮ\‰E­ j…ńÎŐžŤ™(‹»ď˛ĹĂÖďb’9ü~ľËô.ĂĂ<î/y˨řˇ(éęÚlćW`źh¸ď~ŇsçCş0ŞpÂçśÎŠ' Oe`~* -ęÚiaÄŐd.h›jdGO‘I="oŚŕ˘ŢÜd‘“YgŢś8!X‚ňĄ˘=ˇ0Ö*ň¬ú– s⎠Š0Żě'†đŤš‚šŰ.´!Ź­ěJyˇ.’ „‡JŁ´ \ [(Ô«ľquî)ćÝ Ś0µźÎę¤4ÖJö“#ňľ.b›B x­ă×ŔXťf‚¸ôJĹÔXAä‘ç‚Ü>Vń)d:|Ő‡Ĺd•äbÓřaÍ{޵Žßi:mćÓ{ŔYë Lh} ŤĄvKB9—¬.ĹÖpžSISJă’[ÓϵĎŞ´ ŘOé‡ă]ýřަlřʱĺţFŰZČtĺÄz`§KŘ#ŤÖkŠ4lV€ú}Ć™ýNB%ŹAá›]9„ešôjśKőCűç\í;w}v=i6~@vÖ/0‘8®ňCxBvˇi4Ţ>Đ›l=1«~ŔĽh̤ÉXgšÄŞ—ZńÝĽ±çë;Ř9Żu˛PvĽ»ôEý~´U¨· ťßv@ŻÎěÇ:şÉÇŠo=¬Şľ×˝ĄM* źˇDc ís¦ŤJűĐÔŐÂ3ßoćç$€Ó§ĽŽÂŚB<,—/TĘǤ¦ĘkSO}tfŘtW!ő±Ńy9ŕ;7”OL#şm•# ÁąRŢGt(qˇ? "ejüٶp[ž›Í»O’(t.é×kI0‰í¸•.‰5CąÍŮ;.ůçŚNWĺ×%,E‡ôűGt›ŃËJ¶=ŔAJ¶(|ćZĹ}6ˇš BBďöIÍŔ+Z÷î#Łť„Pt1đšĽSŐ Rßă4<¶¸zŮ×é]Ŕ*exń=ëSkôââJQá]ß˙oďÚ4jöt93ÄDĘXޱű*ů]¦/¬K˙·1ľĐ0o¦“é7ŔžýđŚĺ˝«ä:(ZäÓjعÚ;FŰ!awÁŻ Ľ5pâQüЬř„[Ü947ž§ËV;©î ŰB>ř󏪡ůC±®śIC ČŹ›B02ĽułôÂ&?(ţ•ęt–B+©§‚łÉ—D–ŹLě]ŞÎóW‡ĹAIRQ¬bn‹wđHpůtngGG->8X­>UlSŮKCCM‚Ç:v˛áµÓăĚÜa´4GZkŃŠ¤t‘­P>3«Bţu/¤3‘‰‹9ŘÝŘÉż4!sś2ËËrCVs@Ąčníľ4r’âŮ$®ęôĂţ`<Ü2Ó_Ă· ťqÚĺâ«`Ę9n}ü§X= “öÖµ“ëX<@ÚÖvĚŢ©]‹ĐÖb٢ŮŐDńÍŹ0ü¶cć»ě̱}`čT)Ee üíhĚ!ęłÚ,ç>¤2VGyé»ÚEPQ9˛°×‰„QĹviÉwźOĎ]=!ůZ[HźĆ0™„ÜvΛ-S“$hP|‡†ôź˝#S2cB<>;Ź ŤŃe¬Cbńű)Ą -"` \n–wíTzÄŮĂÎ@Üo$ĺś÷®aVcÚ_‰Ż2%Ţ,)°6;Óf-ÓRkčJµ šĘ•jŢjĄv-ăżßeŢź«DüegyhŢ1ďišĎ$Âá†é«¨GÜ}— éźĎ+ßµ 0ozčzT÷˙†ä_-6hËaą˛ ‚!sµ(S©žđ[&ő¦qcŢQŽW&ˇâYn5¦ÖnĘ<”őRiîí7MëčcŠ‚č+ţéFwŰ@ë鱪Oh~ś9ĺ9íć·;V©§eB Y}ýfË4÷r5zâ^Qúäkig€ş­‰T^‹a–¨ë®eŇ8W“ Ľ`Łâň…˙(ső¨éîî˘}ü}˝5ś;jąš9űXŔĽž‹†!­˘ú‘)ź?Ŕp†âWçĺhˇ:ďÔŘ’ëkspä‚ŔFđS żETŃć -ćűî´lÜv¤‡AĹQN‹FKÚ…âź>{™nŁY®Bó€ž ĽžZçđňPŮë‘Ik Śé1Ć‘-[B-„Rř.¬%h&łąą{ÚĘšď°š‹—¦‚Éže8´`1\ăěOUcš©?®pŘ˙6| ˙ŕä˙Ť%µľdĆ » A2c`^×ŇE#iP÷öŠâT¶qŇv‹“ÝZ+ĄĹyřŽu‚•ő -¶vBd9»Óa ”ąZ&$}e»âÝ´]Č9 rčpo;;<ż1ěä1ě˝MZ'ţ±-!r¨şĐ÷/ĚmřŠ¨Ç¦n›€}a|ľ—Ör ?W3Fq[×€ŮYsČ“bn µH2ęj0pŔeĐb_„LäĐ${¤â{> -ű\ ŔÖČkç¦Ô`r»V fn…%_ŞĽ[7^¬-2=ďxđ2%mŹÂ2(4é„ő\í\=?Ç16žS̲}źFçEÝ;ľnÔńy|ź–—SĐ>ş“˙»m"7ěň϶mJ¬e®cfśfaŔUë´»ő‘Č6şŻÄE›Łc@Ë(ÍyLnźÉKJ}faÖB)”ÝjŮÔźb¸ŮUŔÓ…Ç -08ˇ0ň2d×b…>¤@ACć\¶ho覻‹|U—MÎ%9¸i7ýä\PGĎ—jBâd‘$¬řÄšÁ‚3ąˇËĐ+dö‚EŻ"âĚuR7©Íż -ł–ĆŔ™›‰ -éŞ/ăÝăďeZË]Pr®ÖľOl†5iÎě!pč8‘Ă#4<ß ě Ű2ĘřÜH}ŇFň é–Ł&™Ţ'ßL75.HŤóů±Ż<Äżřś*›÷ěOčŕFé릜Čz ăbZb(fâňÝĚ›‹e97ź(6®ĆăńI‚/bN'z çlJdŰę˛XL/Jń[źßAŔ5 -qmŻnPnÝvŔ¸ź¤R±Ń}+ł}ô¤úćPđş7ľOÓl‹ sĐθ#FrĆá)tű§©Bő|öŞž 5ŠKI /síÝúDFŤC]|—ŇR_ťÄ"ĘďWŠçáuL9ćżb<)}®V9Ťµ,żí•?mXŔ g`N´ťÓ“j·+ßĆuTxJH űá‚Öó•na•*Ń‚ŕfäD§–7Čä%¸–ęśt RLz¤‚„ăĚŇZTá˙Ąş!Č6íľ~” ­Ż1(ś•‘…÷2[˛#C®žÚŇÇÝĘ Ă{Ť•ö—4DáëJ´füńŞ›iC¶ş MŠ!äÓy°)iĘĎJQš˘J§ĺĐe2hçW”ŕôp•™ňd¨o§«b'˝†‰ ˘"ŠÔs˛Ń|/ÜäÍŔ‡ `ُmń%pŘ„qĆâw?ç3(˝{Ć.ő´YaMî‰SÉ.̦lFj;,n)H* ÖĎEíݢŬb»Ů˙^Y4łuŐľß‹B¨ň°9LŃ0I¶ĺ9đÖĘÁDűGw94› Ť! ¶űß? -÷$śźő Íş[~eN‘‰ű^…o‘ÍOîÓórLĺý~H‰ŠsG6{Kµź‹OšZÔT ö  Ő[†ćCP¬çy‡ÓŮŹëĎŃ·ŔJć6´Áhvµ)ăűżŕa˙sw%rÉĹĂŤ×,8î«ěÝ}ĂŐ–ŁĆÔÉf#Ëë‹÷[ç ç'~¨_…pšrĺ.8ĘÜď.úm:™ĺ•¦Š|-ě#&6ća[m)ć#¶Ŕuf·$vcFOˇ¦y0¦9 --ľŤ -sK7TjQ(Ł®†ös+čqŠAGZ'o,´\tÍ„UŤţüD…š)w›& éŽÎľł”ćY–ĺŔz˙'úNŰ«_3¬míHËaCM_×!ł/M˛îW›Đ‹,Ŕ{<$óŢqh®¸yg=…f$Š˘)†˛-č" ÔÁŕŔĐ3ěŽH)`©a.<%˙"­É6Ĺ!ŮŁrL;ÔöĂ,QVZŠĎ¦Ů Üߌ]”Ç$ób™GnĆ#]:»ÎĽôm^?8%Löí—łć#Ř´H|s uRĂ>ăę±ä2ůôO\k$KôšÂsˇd«Úc€‘Éš•qi@BeŤ¤HŔ‹ÍD‘.¤ŕđ=_ň‚¬jó¬ -¤Sgж21ť!ľÇ~ôU /öŕ˝'P/.+âĹÓZ‚“ľë =ÖÍĘÁ¸]îűÔűÔÇ7˘ópĂöąŹpşTxź¨tě‘č“´ÚŰ~‰.ŕÖ×’ţ%TK . µŮW+F°¶vśá°>‘ćM·Ń7Hp©"é A“j˘ ,Ęí -.aěVoąv˛H™[¶Łş‰ŮÜK óŚŹMč«ĐÇ‘•˘Ő©šľJŹNG¶Ő0®Ő÷lq_QőÄ6ßé+çť~ضc§*>ĹdÉM kŞnńć,%Űp± f·nć‘ý3LÔ™h05¶ňO§ÎĂűźŐ \úJ«”8?&ŃƬ8ą| Âpd;DČĄq”ďöř<â’[Á8]Q'ă,*AZĘîäRžç =žzŔ]˙•ĺ"‹.~ceeŻN&SmŞ}KJGđşT™Öŕ˝čgeN–Lµ¤/­*6ř7ř˘—Lx”>ă29ťĚšĂLgOż·(ÜŞ`zὝŘoKV”vgAŤ…eVŽń4)ĎQÝ‘˝R»IK$AxPŔĎĐV •F#ĺÖ•­‘ć÷śZYJEUijij"{ݡčŠCZßµ„ąáü?+­ď>˙?'zjZôTc¬Í:ĂÇxí -OÇĎőŇ0đtípĐľGÍhÇ!,.Ys&ąśË˝5ZÄ×ŕ§°ď‰"6,Jň‹ˇQęŕčfúˇŤ´}Î cMGźy˝C-°ĘôÜ$@玠wÁŘôŹŽaI—9´$óč*PÎţ’ŕ5.şo­­č˝{;'±Ć…ÖÉß…HN&GyřfÖĽ•J¦ă×k—/x> ˝±>ä`Ö•ă•P”®ń<…ëçEqş=vDSíÉÝ[ňŰŠîśäĄr_ÔĐëő îa©ř㣍ŇßMg׫ŃHŁi ˘čVU3?ç 2//Ă -‰â—g¨3M{)Câc7CtˇŠT2M9Á\Â(ď‹ ĄMŹŘŐ ň¶”ŹÖ 6˙§q-ĐÍ{™Ż»ť^´T[wL±ő[ľÜą]2áđýA‘â $ĆşŹ2|ÉŔ+$(ŢŠ9âđ‰b–âŚűĂ‹ŤÔĎť6ŔëIµGU-+rWĐ:eŃ(˛çŹ™n˘W9(ü×˝ŤđřhwŃťd%Đ7šŻslŹqŇH lC|g˙N%¦ ˝@~Í\~eN©Ô5#š\|bű§ăĐH´ÝlMŢč| ¦č\R|5¨ĺ›YFŇ©)hĆ%÷ş¨sŃŐ ŚUଲZ`B‹‹ŃBŐĽ˘Ľ<<ç -7Ţém˘‚ň"•¤\?Ťë?°˛”î:6Y]¶J¦1ˇNlŠ; ®Qlfaű*ż¬=ĂeńŞBĄöŹ6*·? ˇ8ţĄWŤ©Ă_Â0Ůh|ň9ŢfŁS'ęÖŇć|*şKdˇür˝>Zó>°ń+JvuҨCĐx;„˛‹ýĘs& 7Gô6ÍóMTô2±{n4-ąČ>Ý„gKŻl.[°l»+,#&źQqß«€&FĘměcę獫aąg~Ěž-~|#uÓ–~Ső—O´eě×"ś 1ŽÉP=EÖĺĽ$q|Y^wÂ1ű6şíÝ*°ćhĂb”í­É»‹Bs¶Öôřh‰| s\ß öů%x@řµË ̦vo-x ~‚˙ń¸±ŢöO‚„ :čŕëYG*"µŤ¬äĂ~˘Ä›ât‡ßţˇ·.*Zy=KÔ…ÖÄHSëµzĚNŘâf]ÉžJ2݆mčS_›†ĚÁ};;7ă—ţ„'ZĚđ2Ť¨¸s­ö5‹˘ěZ -Ý 'ZdwO¬+ !QŤx®U7>Á}!óRGŢ7F—®—3 ¶xyĐźrŘ(źk|ţ\ËoŔ=Ě?§>K™őR˙“ďű§0I™l”RŠńô[űX-&ÉÉnÎŤ}.őŢŰČB2U"#s ŕzpę( Ŕ˝é¸™Iţg6Śś\Q‚:¶iŞąb ptěkG\€xĺ±Ţ¨Ú7Đ÷˙Nc¬ŻŃçy{Ăß7âěEX㋍ž€od\9&‰DZ¦thť‹m)p·zđ+ć'ůÄĺé-=ňĂśë2^űK\ ü˝ ćíXEë Pn2:ˇ>ÝGň[«‡qŠßQhÔâÝňŕ#Â:ŔŘo™ý‚îNţ˘s¸™O&ĐQM˝Ĺ‡^ †Cćę˝á&ů}Ą B©sčˇŔHŃQE‚ŕ©5š¨ -|x!¦kźF”Ŕ[ĦíŽńq–;LQ:kXwŇÔC°hď%ÓÁX÷Eę©ÁMdůGÜcű˘!0sĽĎ2 hňs%k= =SGÝţůy¤§J¶Źl ÇpEz2>aÚVy«HJ-đAv‰¨¦E:‡ídŁJb:üxQAý[çĹü@~ă†1ĆMŠľh÷ V[ˇŃt Ő˙T",Ľ?ÉnćNŘ´™#č-:đ - -,^o ÉyNx§ Ú$±v]4FFâIgúšLŚCÜEŰ٬‡ 9i|Âű'ő÷‡ŠâđîQ{–Ł–(^Ý ß­lĎ;Gl,ëťă‹ŻqX¦]ڇoU Ůw¬nĆôth#ł%O¬\‘χ,r)! ~]¸ą)Îť#(ĚĽ·k·›n„źd¦mϤ wŔnô%÷dWĆm$ˇZ#BËx!™˙OŽ«ţś˝VEÇö߸A ů~fśŰ÷AĂB§e˝˛W㻲5'"4k‡°¬âͱ§}ŕeUYǤpésUĺF»gۢ«”$QŢÉÇĄa=¦E»~P$0Ľ•â°»Ę ,cSKť`üÚˇź¬µE>i658 ŔĂMĐ굊×Á6„ó˝ÂÜ Ö’Í$‘_mÜ3nč?ô¬Úňfüę÷’™ă4)_ž¶¸GŰq׌Ň bü˙ńQăa,‰ávÇQÍbĽ%é@ô±xC'Ô,>]»÷µÇ›I|íľŘwĆć„OŽ'řq‚%Łoíá©Ú̦Ŕ,Ô;·b;¶ĂÄe’NR5Ú/™+l›˝!ś®Óˇ[O+~˝Ţ6g_ ™H¬±śěI†Ę©9ĄÓá›fĐßÍ÷Iŕ#C-ÓŽŻźTľ,=í[\Ż‚˝–ĂĆ«Ňu‰µ7Ś&EĽ!CĄáéCĺ zýs•D9ÉúýšFŕ/PˇŽŐ- -’Ľ—Žg@…Q\ůčćońÚ`DĹž?S ű5Ýč+˘ŤŁCŰ­÷ŢŻŠ>[µ›I(§đě›×ć‹ęŐ…ĽŤI÷ń˝ř@Tr.j?Ćr°ĺOmGŘő đPTÓ‘tśĎdÂßőm`OéQ`±Ý®.¬ó穱G#†bJ /bĐÖ{V<·ŃwÇÔG‡ĄzâĆ 7qÂŮĆ?–—×<™Á3$QË=Âq©ŤĹ(ĘË"ĄídäŮöÍ™í&R¤IôžĚ‰oŤáßá°|ÎzĐÉ ;2ŁzdyťńîŽ%h¨wň:˙MÁ‘Y –eß˙‡{/*şG[M¨…[Ç˙oŰę M*- ‚/®X‡r脼uĽŠ¦ÂhĂ®Ä,@C7˘l&ŮŇÄ-ŢĄç{RĘ(#Ë)Až(Şĺ‘-TkłG -ţEu¦Á4#R JÚL.kşŔyBIąî~—;–~Mgǰj¶„ç{91B6Ţ=ëäĽűüćZÔž—ŐBDO #,㼠ů×ĹĎŰÂĆ™~ŔŐ—Ŕť®›Ó'őJYČ”Źö-»ŚŹqÄě6 ĎyâĐŽ”JĚçćkO‰u¬Ë!MŁË©?ÂlŘˬš‹쉶Ő2í 8‡ëą± ÇŔ>?:™™/±™7~…ˇ(´Ç<«Şü`fńŠ+‡±YźGRиٙԡ‰K„ đp^Of^‡K-óĐ»„SѲ>ńd'Ç‹®Ză‰%:Řáů>|ŹŘ“\{6qEť—s[‹ęr5cä†ÚŚŃMŻm“?fXŃ `Ą\azx?}ÎÖ©Ăňa -m;®•2‹®'­‰©MMȬ$$ô˙řŻŤíý`! Ł©dĽ—ő54ˇö ©MĽĚ€Ž@Ň›Htä wKS -Í_Cbřâ|u(5ý¸ßtłŠk홪µď¸nxćąţЉáŞ7¸HX§×¨˛ąMRΚFőŽz˘ÔgB=ł2n3 %×Ŕ-]2żSďŚdăĹĂc«`,ĺţCĆá~˝ú©¶L“+ĘĘŇGĺ`w>0qąÉ­ß›y݇xhÝĄ.H…ë2§V¤mˇÓý_¦ňŢíVöZÜéŰy§¨+©śŤ¤Ç˙ú`F]ßq&şăöÚPV -źť<ł•Ô3¨˙`G_÷Š™YrJ}»"Űóä6ŘŹe@ŻŘvLQ«Ţ™˝ăDD@SMCây%ř‰›-ţŔ‰°‹Ô¸wćă‰Ó צQµ·B !Qź_b‚ v­ÓSś15‡Gm˛'MÂ1ŤAś…Éků˛ŚDޤI”UÔ¶'xŇűCű*Nń]ÜvČ™‰4!5Z–¸W˘ăäéH8ěeâ ™’iÉ6kžâťdă—€=ą3§öçÔ1PčwC†zÇm˘ßlŕޡlÍąű*§Ełu<5ϋȟÇ/ę&ÍҦlf¬§>€ü€H1Č˝gv×9Ť´2ŕŕ¶…ćú†űýaýŰŁHŘŻcߤąF9TP$v8.˝űgčăŤY˙?†•ĂFA -őŠG‚´1°×}ˇĹµý$!ľW¬n˘‡ú`󝺎‡uĆ&ßľŤU8ěqöpÓâ!ÓńĎŕßÉp‚#5útŕüĽIŮ4.•t„и} A_˛ŻÍí±I|ő»r(š¦F!˘±jňKđqş`3đkÜť “fUŤ5}-đw…ŤI -ť—>ą†?„Gj*IĐęŮuYôüŰînľýO;ö<ËZ’4‘5¸ÍY¸ń-$Â0PrľĆÇâš÷ü†ó–¬ř…ZřQrć©·É -ŠśŢřGĚB[úł˝¶U[ݵ»má°¤™·ĐÜĂ”ë$ŻťF‹“ŕBšÔú3ĺŠÂňÎ`w…Ö­ŰÔž˘â!6n-TyMńęą+ÇFůăC=Ë`uµĽ¬­QłesPĎ]ˇZáSÉvCŐąňýÜ:2-Ş -B2reG_W—Řy°žBścds+׺áqe¬şľnÁcÓwKTO8yüţC^0ÂârŽn]ýyťW%¤ Ś‚ÔĎ»§"ę[?»»¬h,ĘĽG~I˘L –4rČy´G1°™Ci ’n|đ-Ża>ŰbęŹűvŔ{VőÄÎôŕM*S› -LóřS˛dkľŞĄ]˘FIZ(9š"DŠR<ă… ¬vżí~úXpŁŔť |˙}–Űť{&Śr)_Ę^‹zK¨é¬˘ŐČôÂ/™vr.Áµ AżŔŠÇĆ.¸pSiJiÁ^ěőŔ[Üs\ŚgÄô2Ö„ŻGž-t»Ő;«řbTHó3…«ĺÜzö F^ůłÉ®yÉ\$ýH˛/°Z„ţBJEŃmjÄf‹ilfĄ|ľ ®8ĺčcĎ!ňÇÇţéŤă†Ž>{!„ĺ«Áβ¦…ŕŰŹśá1~!ٓ˕”ŁĂbyx_ďĆ~ŕW~ĽDQ°ćž“řşb0…7ŁŢÉŻÓM’â ÎPä)]1Ú¤6×Í™|žż§\mˇâ'äáxGhyţz¦rŁâPr,zwŚ&ŹOĂŠš§„PÄ뉊I"«É%ŘögxÍH *×8t勹”Öâ‘u\¬ŤWY?_·0O+ď&‚QńŇ»śl~»ăˇX˙Ź·˙Ń«ßJ3gĺMď‹ţ©ń2,ü—ôŠ ü &p2NČ%Ă0ĐÔI Ě)ݧ8/•ü¸‹ff&¤Çb‚)ˇŢ©ŽŮ!:gdgąŽ¸śó‰ů:™ĐÜi…ĐŹŹ[Ľ¤Ź /ŹĚ6_o’'SP*3k°žĐOăvT5Îů¬ A.ťńႹž¦ -s„L^Ëpx$oÖ -2ś˝«D5Š6g|0Č}úóT·ćE@€}Ápq!XÉŠéB˘RhÜʢáq¤ Ą˛!RxuÔÝ˝1«„¸ěv¦Ü/˘ú ÎHG±»ˇHüŻďüĽĽV·–Đ»S2aN‘ÓćQA;'č§BÇŮŻű5TŃ»ý_Bč‚ň?pâ~¸6iĹ›Ę3– ˙UŻGŃGĆŮËąD„rG±—Éűłýâ´¸ZšV2¦3–°H"L-,H,ĺ#ÎčwĎAĄ;ŐŃ(ŠŔ‡VˇHŽ­ -żĆ!ÚÇŤ’6©lďâ^®ôÓ㥒~%búż’•É^1 ăëWŕQwKFń<$7î˘Pkgčµ6~ÇÝĽńjMAFö v† ¸ńVľŃ¬śJq>?7‡w/ÎtńŁh/JÂŞ.ßďĆbpń¦zŐ–ŮvŔgź3ăUŞ$›+Ź KűÁFCÂŽu2Â˙XňY=˛bú„¬¨Ň‡ď·Ú¦şx"ÇĽÄo[—°ž —'±’n‚ok^*~"T."ĽYëPWçîh¬Uá:Ë:xž$úľZZf;ü1¤m¦c×ăČe.ŔĎw×İç¨;ŕTÜ-±HAޞôťçÝ‚&1'Ľ5«4 -^¸p=Ě`űÖ)ŔF¤=Wc˝™¦c2SRqŔ˝g[ E;hAçBŃ(Čş·äU¨ˇü?“jËrPî“řm¤b¤lç¨ -DĄ•3gÓćś»˙Ŕ®C`8cÔ×"Pj@#_$6­Ůîăí+™QŔ¨ŞCą Q’kÄű¶ Îső¬«ŔRŮ&dph©Mä¨ozć‘Z°e*'LŐÖ K ä•")ő(¨ -”_vńŞ×AŽÝmúĺ,‚Q;C‚ľ÷Yh!vŕjźńşĄÔĘó«®µŚńíŔĘXęb9;«VÂüČ”ţöi$é5é¶In­ó -ż"¶EÝ((0 §™%,’ѱť"ÜŠĆéŁM^Ćj"LĢŐđŞwÚsĄĚ¸Ż;Ó¬ťň2Îm$LkšĹôwyÁĺs0Ň2đh0ě ­Ť€+ľ<- đ#ám›ŕĐ«'śĐÓ ÂcĎgâ'O…rÄ;ś/CęŽĐ ­H:J„śÚó Č&ëFd6ćOô8geß˙y©SÂż€hę2)fOÚŢÇ” ţÖÄÇ) -d¶H>fc˙zÉs§¬ŕÖŕ®0ů8q}­÷\3Î,µ'µYďĐ2U± -K‚>6iĎC3fsĆÚĆgNîÉTlndv÷¨â >Ó…_Ţł éSů?€řmÄŹm†’ĆeÜČ©űĐ^ő!’bo+6ůK -őÁ•[ü˘ËĘśe8 1]gtňšF~ ťÜ@Q&Ę8śěr Ź€ĚĘş˛>y÷­7¸Tď‘rŁů±ig“ís7+ި¶ĘrH©|mď›őŃEŢş š?ÚtnčŘdĘPMą|,3#Ó†.´ŤBݱóî°DĄV˛•-«±7ÚAeR]a˛%Ä˙¬€ö_ ÓÁr_{»ďîí ꄬô0:Ýé!ˇôép¤bc1Ż!šÁâBˇ0V»ă×±dě`¤äËř,łHIK#"]IÍ*'9ÚęTú¸µ_±ł‡U‚Oţ:ű.ŻQdlźČ¸y9ś«|ËĽ»YšÔ‡ĽC9°UĂ…bŻPÍő›ŁyĄX–^h/8~h1°®—ëM–\W}»fĎk$׿٭+Xü~1ŽYţ}c8ÔG·Q!?Đ!~\= "§‹7Éá‘ÓÚŁZjŐqĎ%|Ř5™Da`%˝hń!˛ÁK)ÄÍ”CŐ·d„»]RD«ů*ˇ{R7ŕ€cqžŃŁÝ0Ő­a]|-VźKOjUWČGyČ 4ć´áŚ‹Pn03rč)„& É—1© íM†­{ćre`gÉ| !2çCd{{e9ZŇ÷ű÷ď2Ť/"Cä˝ö3C­-Ś_ű9P]čá"Ż,¦™Ž"~7OćQ{ŻZD_Ęč¨Ů€Bł’°×ŇkńKlŔ¦ýŔt·r‚eó~,Óbńłżj ŕűdäSüŇʢ?GHĚŔ˛f7¤ĽŔ6@6 Ŕ‚ŕÓZýŹ5I¦XŃşPëÓkĺZÂ7Ľ˘s*¶»lPšŐ›,Ž8ŕT0OĚç>öŻfCeŔtP0Č•YČA!CČ€+IˇŠ>`ąľĚ3ĺLň]g?šŃy·®^"^¦pË~]Č1éÝ;ČďÉšűË#ân1eŽYĂkf^Ô -żę3?éAkť(·˘u!ČeÎň_yČVoî{-W® ߊČj ü§ăťÇ¶ šBő‚*q –úŐ5eíż64[Rs=ŻĆA)˙WýĂZźB,€‹€üČÄćY)˛@4d˝IĹô%xřŕŠD żr!˛”ń÷çđEĺîBŃť]˛!Îp>­|ŻsF&qý¬˙h_¸N—§9‰ˇů†ęßŔ®&¸đmŔřˇ™é…ŤÔ^˘çÂ:)ďÇAćÉřu)b0đ¦öřzáĆäŕH©B_ĂB7S1fŚü÷3ş´Ë î‹»ѶE>h÷^srw¨=K§t˛˘ŞŇŘae_°ÔG˝}žk’]eˇJÄźRµ™Ťa\ذ{Oč$9žÚȉô›Ĺ$‘rWo·óľž'k´šµt)Ľµ°GżnŞú0ÍeöčWš„ĂqŮs„ĚŔĂx¸]‰Ýg0Ľ÷X•ÄŰ1 3¸Jˇń R™ěŰpŰtęđŢ˙±t[óý{ŹĐń•jÓb\8ÍQt( w†Łzś2ÄGŢő -¤ M]%źĚÚ:6GîŔAą`Ňľoh§ëđ~ =ř6le±Q4x–śEVĺ0Z˝¸ő…e'/ŕë?ąSEѶZ[2Ţ% §7?öv=]~Ä+/řú‚f>täϧQíć6îiĐS–‚ťiâÜËí›Ń‚eŮ`×ć0śďZ—éáJqD[ wl—Ă÷ťnĽ át¶ťM9˝4&i¶^¶ë¸ţE/+6|óX'–(ť…|%N ɕ˘Ë’‚ö¤˛:JýVéęD$FsAťŃ$żĂ4…MçW.ţDxDłÚ©“Ü_×~óA0ńÍ"Y:EŚÄ›rŻ<ĄíQšt`ĘŁíľrß86y~ű쬳˝Cö}µ Í€¸ Q:ďµIU÷ą:ó-É2-ń`j)5"Đ÷Žwż•y>ůcË×oq Ä ý#.Ç“ †ŇA5•,¨2i;°5Ä\¸źL>ľűĎ ¦ž7îkđ¤uAčU8DP-˘ůŻąáRÍz!ŞQ«Sa—eĺÄëo{,ˇŰ[˛¬±>ŠĹ•µŠŃÂ9ša;X[!#­1¬Ľ„Ň­±E˝‰Źň{µ<1žcŢŞ¨˙$ .‰-Y±:gŘ4,Ąßm ˙Ą CŰ«Ćm”ň§}Vů¦Âşś7Ąx[pŞç€ĚŞLi‘°ĎBšąmýxď4Ň(gÉ0»řÍ…›ťôcq¤)+É9,HRü0(†d‹ÇöGKlá)’ëjf¤j¶N¬RźđČá5ĺ¤Ňŕßű˘+Z1ś31ĺ·äügrCI;ă˙~~ěép>ČH‰™®ç×ţşŠiW5Z‡ČyÁĆłc˝(̦„~`(Ł-¤›DoMA»WvČ­Qőű›¸R®xŽŻĎZwłçĺä|Źç}1WY–žţó†ząýr4ŚŚ´JŻŮ> Ô>G{ĘÍóLkI0•–tpZ‘Ęx2 çí÷w<-ŐĆ/&yŽ:/ţB"M®ŔzŽÇ’ăóhq5Ü>Ž7ĺé*›Ĺě=’:öeĂh])ŐéÔýA%J2T‰ Ś - ‡aőďQ^ĚÍpvćüąCőDóólʬž;-I‘U÷ťž-5°¦Ůtöň~łę~`uVbźś&ŹÁ5Já eŔS3Ţë âó^Îô—*ŢSô„{ LîE*ż2!¶ŃS]D#Ľj -Q~®ĂÜţă=§ÁĄ ŃëÝb®J¸´ľýńÇ?™1Ť„‘€–ćý¸»!ĘfŢÚŻć{U,Ш¤) ĘéPţe¨–˙÷Ja°3np§&)uŹ—ôÇsxľĚ®˝J˝ß”d™›š7¦'ŞĐ(mĺC÷±ýÚÄp{ âŘÜkθĐĘâ¶ŕfżűđşď-X(Žçň/^—yAU(ę řHhK¬Wç\´–“M^Öß¶=ÜŘ-¶ [Çăń%7.L4ŞD›´7.důE¬¤T): U”ÄAcµřs˙Ö@ęłč2ŚÔeś@Ă”ŠŚďáĹ•b’]{ké ,çcë–Ç0)­ś3±řÝ~Ţ“n×[‹–[ÉçJiîŕhKUČwga~J…ÝŞ[Ttkyc!lCPĽřunŁyAnYbgXÔŹOföTjë’˘äíńĄmV·R™ü˛ß[N±`h÷˘OţqŞXV6^ŰŘnq=Ń#šśY…aÄÓżÝ J ÄÎćsMěÂóI”MÝvÖç(ÁłR6…`˝$‰e„B¸6Ę!u©;N–-2áîaLtN`¦36 ŽňLz:dËhôâä{¶…@Ý(a0Se-ĐćH -rpď9ŕôĄkŠ+˛¤ E’Áđ‡8Se^ČXÚHJKTłí”ĘÂO?Óv=řąÇŮFĎÉ™Ŕ[;}Ť2÷ĄÄţ9ŢřôúFUz?ě«eŔdĎşŽ$_‚-“ ľ(&F Ňői±6Fő-đőřCć`ÔÚDĘÂü·eîöÜMŰwĘU‚ŔËRż Ş© ĘÜq´őęxXĚĆhö<Ľ†#[Ü'=esšÍĎ)î|Ío §›•ˇ¤‡(ŞŇ©¤˝mŐ&˘ĺâö8GĹź¤ëĆ’’p?áöĎĽHGF]VU¬ăH’ p -ÜFaKÜźŞąBµÍNÝ+źjrĄĄE}®¨Ő+*´ň_čNÄWTćJéN×ëŘ·äUř´=O\.ĆU·¸’ˇ§@Ą·Ľß}oţŁ˝§ř\đďś»ĘÎŮťXlöČfeúKÝUIÝ€ĽŘwT.WčÖáYí´!v¨tš™ĺ …)Čh´˙¤żE"c€µ¨ÔQĽĎ)\1Y‡ěr}ýě&2t§E˙ńęAÚpŻĄo¬ŰÍ—Ö@4#ĽŽR•ăýţĹ4aq˛{¸(®ŰỂäjpĺŐŻzŢąˇ0?’Âőîý ™ß -ŤÄ,˙IŢ„)öJńaăű¤ -D>údĽ %¨šMZĎŘ›94gcĽh‘0™†g ż2ó§E‘aľK36tţBn†Ş2mu^>-€JÜÜýćxY*ĹŇßâ·>OěŐUţRěąJT @Đ'‡¤żJ˛˝$€1_%&čTÔuúÂ@Ĺ7ÍľďĐžřś×a!žőÇë5tR÷muMŰ×}zw]·_( -˙űć2zË™šŇ/jÔž¬ÍŁOöĎŻ¸łľ‘eYReŇ×ËŃs>ꆂ†Kţ±ŕ9ĚŐ˛ŞŢNF9w±8Gsc•™Ňk®©żxS䀌xédf–ľ6—¬qŽ@mGNÚŁA1¨Âŕu‡›qQ ®w ±ľđNę¦đZ¶kt17F#wXCß6ě< -C¦&ČâUčlŕ§řĚüˇ%ÜĆ‘˘;EĹ)žé9&‡să9ÎĽ˘ňˇo¸§‡ěň6˛Áh^§;Í -n«4L× -ŕ/ő· o€ĄsĐ6÷˙Ró,—{Tcľü©}A´ÄČŇS†€Áü Löŕv°`Ň26sÄŤXUHĚâzďhŘg?Od©"ŘŠW_­uÁű˛8¨ZÄŇŮ$Ř*Hµş±™-Tc•‹ âîąÄ‹†6ßŘ«Ër^VqöwPҤ™Í4ذĘ9uyŇś‡ˇ,Ň./č˝w?5VpPv`uÄVpžĎŻůzĎkŚŕ;ůR*#Ëd ¨m;‘ű:]Šâ6qR:(ËÚşţĺ)Ű\„ e5Ă…,Źe÷DČ›(?W·Şb\Lj<ÄćŤ+óΫYo÷C‘.šRójî›h9 ĂĘ/$ň"^iWz„bGMkŞŠ˘B%cѸ!ä\„‘WxŃźţbżfO1“2ŞĎ×™ŇŐŤžĺ“ŞŽ·ź÷â;`cË•(+GoNQ™š–˝rč ÎXŤ«ŁŔp *Č}Ď*PŻř>ňő—"Čŕ4Ë›Ž=“’°t|O,ťzŘRž˙ť †€ć‹ŢjNg¨$złOo]ú·ţQcČËy®Ä¶Y k+¦7qŤ’çsňóÚµŹ¬5f$–qhôŞfO•9ôÜżÝ7†B0f:Rż`×ęYś܆zŢŽó"|íu!óTžşnđÇŞi‰uC č6Ěcyn¸Đ«WÚOzKCbĺl´$xyżOďdK¨óŐ»©=  T=>• éyZ»—łgÔzŕç«¶˙ ×Ű‹ÉLMîÂśoYž®¨v’ph˘öí»Ö3î}e˙›bwúÔBŰÇéjř8`Đì3đ™ŕnżŚ˝ů˛â«ĂrȳР›âŤ?_äďĂNRtŐ‚šg;żv‚Ętľ l -=s2üR4Ęâ=CÎ\÷YĺC­”ðJs\íĹŐZ?|T´ľ›IˇU$ËF©ÎV;µňżčŘÉÂ'xÇJ)ax—Ś…IŃ \ٵ!5)$ -<ýň®Ńďú µyg)Q˘’`Ŕ(YëDĘŞQ_+mlőTÍífÄŃQuB/©š“™ő/‰lÁÚEѰ -˘¬ľN®'÷C†ĚńµúsĂűía˘8 Fş=Ł6ŻÍŠ‹¶)łčmGhEÁ 2gADô1đq#^eWčÄ 8¶âoxݎfNı±Î?lD©ÜňË ąIôLn!䑥ä}h1ÓŔ‹¨ÚÖO0„ńČ8'ú˘#rŘđ<^ܦžěźÖ·ÚţeÓ€m•buŐâÍqĄ^§ϦŚ|oś’tŮSíčďLćż+ÍŤÁśčÝRŘĹűţmÁOAýb \'AÁü&¨ýܸ~Ŕ‹†?Űşy~Ë>Ňęď>\ËŠ‹ŰWŇTܨÉ;O;.é”O07ĂÓq÷ű*wt%VÁĂcšŔÂîu?,«MBAŚÁ N2¨ŻĐ,Éę ÷—Ę«'Ówż9ŚťYđ,ŚH]aúčsp˝9ÄY*–iŤŁ{Óe®‚D6ł2Ĺ‹ßédţG—»TNQžŞ¸»©,§_ü˝NŰqĘ pş™˛Ž!µą&˝¬BňrŃk}üçކI2-¸=wzň;Ó‰Ľ ý"FýR±“M|š°GPÎQjĐIHóáŁ3ă´‹óČĄ˛×»Lç3&šKE+dČV°0Ű&Ä"‘ܢDR÷©¸†™¸)6÷ä+śP—áe±ÎK<ë ‹\Í…ŤÝşĹŚTË˝wɉń<ňT‰G{7Тlú€;Źs?íŞMţBą43úźůжÁÂóv‰—ťVť‹€†¤\€6PšH]›ä… â”䇷ŁŢÇBśI ÁÂG]nŢr *¶4ŮÔĆŚř"şµ# 1óüú«ds˛@îA$8yę]& Oą+a­ć‡-‘ôs›ůćě™G’í„ô ‹k*¨ďĽťšşmvŃËŐH„]ä)Ufz˝…0ʤu "Űf9@ĺő -=ř§@băóž"2¨F7`ŠďžsŮpőŇo5÷żcÔ*Gűyóú‘>ߥ¨â 9°Ýř/xß0ź٧GÇoÎJJ´0 I€ -ć•Řą 4ź´íuš´9CMśźěˇ3Ž[ĄC@¦$Y"˝b·'Aĺ\őx^<±Îč`%BöLDüü›©3îr)wŘcýUF›‰¨`â„uRŠŮÉ©™Ťeĺx$c­(şmTčYJsĺ« Ţ0ĚÍpPE9*thÇžň6»‘`fmŁfB9 úcTp'g6ŢüĚökŽŰ?®Wh݆đs.™RÖ/Śúů­˙ˇăI¬b(:ĺ-÷LT伱›?ĚÝ^±t¤Ś&M˘­جŞć5VÄęX‘ rĐBŹňŢĂ%“.ń*Âún‚>Äů_˙ÓH3!M¤ Šč–Dč¶żŁ˛UíB1śôw<Ňm‰ď „{¸ Î+/ćBî‚§š mSg]ţQëR§†`Wó%Ý/ńq‘LěĎű ď1%Ö)ŰmŻhŻ´áÝ9Š9JŇu˛ «oĺ -Ł9Ylö×hFoŹ›ö҇ŕ mŮřľtŮŁ&O<©ĺŐĄMÖ»._ ;â’Ŕm´0X•ÁĽLQ,1]˘MCŮ“÷ÇUŽ@Đó­±j(jPŘkj¨¤Ľv:U®äţ´—–'˝Pe¨lÝU¬÷Î* hý#““7pśŚĆÚ+cgŮťo+]ĘSń Ěľ­tŃ;d@ő3vŔ -űc% 6h’Rl=Wp)ô H,HłŻłe~˝Íq6Îá,Á¦(Ťś=ťYŠL(bnmF>”&÷EH…†¸ś2hG™úŠIKH¤>łe˘şqXŰs §L],ĹÓ Đ⢎L&ĂŞu¨rr ň­0°Q§Ü˛µ,`Ń”+Ćůwůęş -± ‚>š9îL"HbÔ”ÝÔ,öš< ‘|+ő^V %ie0ťjĆ:w#śő+şwŮ Pß5%á0˘z_°ťܬµ~'Ëh0„+@}öBhu há]WcÜű><Ş0Á†noFGZÝÓiÓ‰]ënÇżf¤ #ż,4ń/‹©ŘřâĺôKż_Á.XÍ!ahMźńć™g•ZűzŐvF3[Ż3âB˙Ř™˘Ŕ>d˘äđý(:(„a> SřYóă'ÖÉ(bS=vHk[‰úB9€©}6Úá%¸Öł˝uxjˇ?‹,i?TI2°–Řfîв?E/G*N´ô‚Îń;}k·˛*Cž…ďăj Ýt]%1釵ݬ)h3?t´úŢ‚ĺPá ń© Bří¬qdłQ}aě2ônŃZđŇ1 >° VĎR”d;Đ”Y‚@Ëa\ aü+míXđľOüţÄÔ)6ŤôŠŐ-†Ďcăqý¨şöÂçnBý%÷ @ř’W\ »äŚö‚‚Č.ÝŹ&®î˙^lxüősęÂó!eÉéjňţ ™Ť,ÄYRBqśťŚP‹éđ*L _Z`ś›_L'ޤ‰[K-D&4$Éű! zöÖ— -u ×vĚ-ŮžşŘnÓBăÁ¤¤MĹ`Ł…§‘†·$ĚK5ľ\žžť•÷Ö–ývĹzëeŇćČ>HCTh00 8Ár*¦U[ȳؤŤt"WýP” &ūгxÇS]{4—ÖMŕzľ˙€Ő˘ż[»ééŘŞĐ™ůěçCµ† żU°(Ô‹Ó÷‘RjMF†žŔáýôO§<âpýÂfGu{—ä{Iđ¨ŠMđ ZÜĺ(ďĂú¸WŃHxż40H5[ĂnĐ9Ož=”)őňD§šš·ÔĂŤ|ťś`×;Éú rFű2‡®ňĽ»ĂµĂůÇSşe°%и3©fĆ]*ęę\މ7jžW·ąŻR”Ž«¶=Ů[ĘŽňVý¤ČëmD  jđ_6÷/¤+ţKCĚ~/ú)Á ’â4u}Hp-–ď“}lš=.D_ť˘x†T é ß¤?HË0 ŮĐ_§U€×~˛¤ąĎ” z[µÚ›őghśE¬Ěââ>K†ÔiNÄyŁ!qwQ,ż—Ś=¬ é“ˇŔ/¶ŕY¬“Ë÷÷ČR˛Ž -»ń”NŇh?_«ů}.«€±ÄźrŁňnP‘x’ČđężRł‹@µ@Üł/ÄjÜxIÄgF+®Čf°Ňâ3Ł'""@łč_F,‡¨Ť^AĺžkpFŚŔ4&Ř»‡}Ę…_ _‡Ö§’·ń LĘ`XVbQˇď˘mßä…™,ÄE©°ß‚EM©^&俲-…“ݵ I-XC‡ęĹ/%ű1N™bŞŞťł]ćŇłśAóp˙ĄőEĄ. †Ů eéŕ$dÉÓy&,U˝=d .ž§Wf$ˇłÖŐ)?ÉŠ‚=l]|— bKwö3s¤EeéMťÖ¨î?™o×RÁ6ňź´š€5Ů$Ňžâť;šűăsłcŻNCë×ăşBŚvSź2÷|)š÷ÉŔÂ`Ľ¤ťC~Äž#ńě!a?Lkă1‡łő·Ň/»Î{Ćů8M? e“èŰËĄ–Q„üaµQąE<źX,L 'ĂçňĐ]‡\2€ŽţłĆV‚ďĎ?(îmጳV^3¦ę™ćźÔŞ’‰GŢ—]«ôO×”ç[B’—E}‘EýM¨/PróSĚŻBŻĂU­č˝†{~eşµ‚T<ÜY¸Ľń‘a3 -›ŰČí+vB/ëf5ß~$ő7p…Ă˝./bľçŻ:|ÂđbŚfŇľÉ4:±ô° ¸“{^ççë`óíŻÍBp÷jFE·‘ŢĹJs˛CĂżŇ5­ ĂţY b—9ŻÔBîFYY¨7i82q<Ůć5báp8°ęC8¨ÇÜŠ €›ŞŹˇ*2ôĎ(Z•_)‚/Q%źČ––O4ô»ĚŹ2˘žăî -AY@ě˙I Ĺ3GeęI /Ţü`«v0ݧ%á›GZrgŃŽÓ=ŇHÖ’ŕZçźĎĐŻß'ÚxAŞ÷h9v+F6>ľîzÄ Ł›S(Ë"V3’S‚˝đׇúOú‡â•§ořÇSőúÇ2Ű]ó 2ąřdpö*ěE­—Ç#&RÁE{űAg6úş’˛®^×›ô±D3‘uţń.Ń/ZŰ´Ž\§X.fŤÖżŤôb“=ňáÝć»Ä`ť„ş€ő7ó šIú‘ -"ž(ţ™áŹ)Uq…9×÷rĘÓpúk9Ń*Î3.!Té -"śÂ3ĐČútŮuž_śPllaŞ -oü“¦‰¦¸ˇ5 YYuĚ/ŰSŕ§'đ™‡<%`wÎ:5năÜ{+źŐň7>>Šfvoć©Ô,󖏸PCч…‡„ŐęŐvziI]ęyWQŹço4_…Ć=źvşTH'q¶f(KUL/(ĺúţÓ{Ĺwi~±ä¸oČ»™›}ąb¤čÚj,‡kćűÍŚÄ[¤W¬yŘŽćŃEŕ ¦Ú‘’7Sîn®đr)őô¤o©”ĂţťĆ°NŚĂ _#*"D\¸µU@K^slA+\zÜ*ş•a€És/wo?°é_¶ĎˇqŠŰîÎBçW§&·­wGu‘ÜA"ó”8ø¦Ă@¸B¶6Ýu´Żjxٰ…\~łąUPboĐ©É<ë .Ě.Ć{±h "éˇrîfŕ(Qጼ´Đ¶’®<3™{Mo?ć.°áO04M=ą*ťwGÖĚG-,m^íYĘ;ßń‚”x¶2CAN!sIZq <<%yŁ\ÇÚŃâ1>Mꯖˇ—7`˘ -[ä‡ňţvXÖúÉHő´-śP5Ő.#%$‰kűęëŚxt.]˘ąLzuëiŤWĘÄ×ڶܶöĽLnŤ´ßŻÁx -3:/÷!s@Šj Eůµăőä‘fuB>™t÷-¬f^—]hŁńrs˘+úź» -Ç -ĺ–6ß>Ć, -ŘńŚ~ُż×y>.  Ń–Ç•őúJ«Tçç—+řuĘüž 7 çµ†[ťá¸‹Âv¨Ůvs4źé]&ô)ä5Ň€ĽZŇĹOeUŠ‘˝ä®˛M®ť%—ש)@ëüͱǖ'K>ç™÷[Jćp,ÎéJ—3¶m}čźůţÁRŔ0'F3éŰ…ŚÖ(ěäW9JĆ>núťČŁbäHš5„µ­#ÜĆAĚ•…JĹŘ[^Ă$T&=á%éü×°ůŔ–„ĂäYCŻ…Qz t,3ĽÝi‹;ß÷mUnÇ2W‘ës7×!Z}8™”ŐŰ‘y}ý ëßg}Ŕ@µ§[§ŻáŚzŁ;Ó{óĄ{ŕjĘÍ䣅ĚFIú ąË ź©íöé ⚏ |Eg×9·0ÂÇ—§CV BmÍ&ž f¤ëüü5döjÇŞ” -Lů˝á’?g•Ďd}‰u×ĆeZĐś—Đ–ŢH‰~ aŹK'3ríó{6^AΗĐF¶¸#CmmW) îÔśM’w(ĺd p&U§Š ţw?›’Ř%ŽčłX@ő„x¦śl…˙áÂÎ)^účŠ|y•`&éqíŻqďB1ŐhŢ%‡ĚĎţ†Ă«Ż÷®ó˛O­[™¬ŤO +©űrĎĄíQyWź Y®őÚŘ,·E×qqŇ8@ń–ŮRŠ©%ž©ä Mˇ0ůŠß[dc*Ż„É5„„V/µťŘ“ŢÇbÜżš·¸^!»{Č;¬ń¤÷˛Íś[FŔyk ÝąćĄÍ&óqc+čîżâ™µ$Ń•—YZ·T˛Í ó‡n‘rěí˙C‰!b’iz,.vúăMÔ&‘ȤAęřľď (€L - -S”[]R2 żĚú«EńdvÓ˝ëßŮŰ]řžŠ’¬/WĄî&KUźó+~ śĹ<ٵ;.:X(ăÓÔń;g„“Ďpä)l ÝXüŽ¬Ď $ĹÍTFĆyBő’„h[&˝9š’©!ë ŰîĐ—2«0ěů¦‹Sź|šKeĘŁ„‡@ĺ^łŇ;4fm/qűbńµŤ”âśM­ŮŤű&©ŃYLż€ayń"” ´,n˝·=¤×‘Íŕ‰¸HQ÷%ą˝îéĘÚ­˛o { ‚Q}OÓš-ăK'šĹěÜ6e·pçĄa٢…ŕé¬ăńĹw5“¦äX÷dk ¸î,˘‰…ÚĐ?˛Ů;0ŰJ_5ć=×á<æÚ11›ç,"TîŢFŹÇÖ%:ďšVIXr` ÷u[lFŠS‡¦ ŠČf úŰzďĽîbX±AÂşi|mex˛WdËĽ@D´áQLMyEÄ|2ŇÚ{}7ůQ…š¸FpLěŃ…xĘŹČšš—X3ĄôS™źżý×ăKĺŰžśÉ`ďWŻňi‡š’ż uö¨TŞ»_Îďď6FO? ‡Ŕh·›˛ô15 “Ú^c‹U–dL’9)ĄŽŁ(ô Z´Ŕ?)ýňLDńçĄN:ŔEf$‚°ŤYąfŞ©ÚZ˝;ŕvŻCJbĽ;aÓę š^…'źY%Çą\…¬Ć\Ü«;ąY·cŹ«‘Îż»Ű{x•ÄáěîŐµ]ą>ŁIěŇö -!5›&{Ŕ…W°tżÎpg¤QQP:űr\A:ÎŔ’ŹŘm_VMÄŁJ‹%Źą$Aě:őJ0m¶N≤űĎçĘü’g„™Węvĺ–•©Á WŔk5#ąČÜ)·ąč!tśsÂöEµŞÉ‹8·E„tŰh›Ëěl˙U«…ťŤâ®‘|ĚwTQBŢ@ĺÂbĐ›ěĚ4aĽJ*äýRĐśn‰ ÍĎ~Âh2ä%6p–ýÓ·sS6ÎŁi"˙ ä~zůĘí¨ő-kwś -»Ö„(‰;ĘĆ)ç€ryU‹Đµî,¦ý<U$\`v pHţK›UÇŠŤ5cË0Iĺ+k˘°0ßőH>_`łđh•âb˙$á&_śZ@S?–ľ¬Đ˝–*_dĆ]™fĽ%'Źĺôôç#38…,GMńÝžNyíűůNÂ˙”H­F^ç;V)ě¨\Ě[r‰ú´Čz^R›+Fy•Ě «…É™4ňÚ—ŻČ]J=š·8 Ţq•«>ŕÜ'ˇX[Ëśx(Đbˇ9…&ŃQáN™ÍńÝ;ÁORřř]36Ö çµ1ĆŻrął®w2[(ÂŁńË@aůđ|Ç=‹çŕ·;‹j=UŤúqě—n÷«ż¶¦VUŮ’(~î’BŇ{H˝CXP"ú´[ţA!8p˝c&cĐ2)[ď–kŰâ°Ľmľ„쑟p#řül s}lß'›±Ł.ýë8_ę.î¤ÖkC÷:§°™ĄAuâ`KŰ9tÇ5ŁA!ŢC·`ď6| „Ľůq­˛HYY<újR˘mń׺PôĄĄĄlbţŽA—ňňB°ç*kP©%yÄZ!ţ”Ęž,ÉťëőŠŽ ü“OD;ĺ„Oşm†ú?pßoץŮ7*î‘ÂÚěí1Qd5S™Ü汝8(µwčoY?óY›˘ˇZĐiÂÉ‘·ŹYĂü >/€„»˝vn{: -{ P˙§7-ŚŻď•;çE3ˇűmHĽ–~ŘşWRď(OúKë&‚Ë%íÁ t€9Žé;îLCÝőÝ÷ľ9h’Fńf‰ůËŕ&ľdEtîŤô±Ť -oÇŢ×E´j>tOˇŐ[YPđ¸đ©gv|5‰TqŧČy­ţłçĎ^ě =á2 ÔĎÉľ4“žŕ”¨xkg#ő5Ä'»ëŘpP0ËĎpĄ9˛ €™Qz…ÍaęĽ|ĂťwN×7¦ßQŔ_:sÜ”ç Nŕ)őŤ‚áóđ® ǰIH4N‘Ůô|ť 5K î_ĆÄTăŔ%>:2‡µ+l4®PMĽ5¤íy&uVłźşÝăâ"tĄë“4.±đüc «}Rk$pŽľřm¶Ř˙XöŇHěŽpa-śaŔ  Éů逎éu˛,ŇZ-% ßhjĆ Ä4 €D'çúľÓ)óÎ@g›°ĽH8ç~DĽĆL3÷3˝¦ýË˙q’aO‰Sr= }Qy3třŹźPë„D0š-Ż}ł»%U*¬uˇW`„nŘţç©n˝Ů‚®msP8ÎŇčCř<>M äČĎŐi $;|ů#ÚoŰ\Äck«U—n„íM­µ±ň˙3Őâd ÄHD‡+:Şą0$]#!şYM)5|ĺ<拲OŰ3Ů5¶NÉgýŮľĹîű(©­6ë›~ň-Ć„Ą=ć˙Ő M Ç$yáf2Y÷ń­Ż4$- YůjçËGC¬%&Ť–šs ‚Ü/~‚¶§Ţ©·ĺ°]ł˝=Ó2V¤ö.ÉŠŕ˙Đżxľőąš~ű4ă]˝\ĺśřU A#aďžôH÷—ô†mWľ»ZÁbţŔ,ČÝц2Ő/PĐş-›0é|ŰK-”6 ÄVfTůžZÂíĚŢŁ#P± Ecë+śŤS5˙şýË˝Ł–9Ńę †) ę_µUú)»wžWoăŘlĐLaŞçKăaiĚżĺŰÓ§ÍÓˇ5<$ëä·…Xś™Đ¤y#+sK5;IĹbÓą’Jś›g7M·¸!Ć<´ăâ©Đ+]Ůř¶ĂĚ3“fCz‡ZđŕVQb–[YS»žń o°ťËČ0ë…g—µ†ô˘ąŁćR¦*cîÜ7Aŕ1˛.±•âUűü2zŔüX=eť)ęKú,t, -݉şé¦ĆąKC.(KpH#„5"#MQÁe?˛»ňť[Ď_¸a4c:Ţ»GŃŽ°>¸ ‘`µ–ÖěĂŻöÉ’ëţ\côŔ¤v<…â-Ö¬ť#iÜDî|~”nj1†©ż°Ü'ßĚuąh!EÇ9_÷I•ÖhňŹI"Ů5xňújÔGł$Ţ`ýŮh‹ž)e‹Ô -t‘ší˙ZUŢÜÇ[ÂlS‹CŚř©â$ĆŃÖźŮÖyŐĘľE­­&$Š"ty­ů)Ů2%}*ĚČ(Y—źFâ“ţž÷­·—Íj -4ĚĎňěíɵݝz¬Iť€©ŕôKžŹ©2‘‘ůŮ6ŻmÁ‘f“-öF`ÁÇÁôa¤f:z ©Híu”ý§W[éśýŃ­‚ü‘߸ěˇy«Ů˘ŻĽ.ßĺ™<@Ń쥝ň€J$a<*1˘ŃË&c^u·R/ň/9Ă«¨Ů {†~yቓëÝČĄÜ`á3(ń|4O˝WŞ]9Ą=DŘ(m4Ĺ5$Y*ňŃů{Ež­W -1ţ.Ę0Ŕ9„amH´ëaÂăجíVőR©ąTH˘Ą°…xm -u•ò§ŇŽÚěpynîPâ’şg¦ç.d Ń0éVË]ç8ńś®źnwă˝CÇĂMö¦ö®ěg÷[jJÄ'“DÄ7_¬č‘‰-ŇD01$&,Ŕ -R/1M$Yď)ZMÝn\PÍRhËTÁJĐ©÷–a»b ĺú— ­p˝ĆWj -ÁëŞxšć8EŁŔ‹1ٱXš˙Ý"&ß…*YT悟•gtAÄÚ;o±6ćď}–u]şž6Ą ¬kB§+3Ť´FU~™Zžât!9ʇÎČŃ-¸üüŻ™5«wyWÇ‘kx/9 -¬°Wµk׫U¤őŁź˙›ÓćŽ+‹q¤ďGCô×uŚižFnW,˝xäX±­AŽü/3ć’ďr7üW!~OxűŐb?"Ř&ä {ŠŮÚä7~ŤXs˘úQ"‰#ÜV3ě*˙‚“póöjŰľNŽB´WLł(dfýk5ě„~ŻîĺŢßţPËÁĘĂŞ÷ŃpŇŁqMŚ4PNĐŰ'RÍzńĆ›Ą:µy™Lhp®rÚĹ»ŕp~*ż)ľĺ®-řç©´ˇŁĽĐŘ6ą9öN*ĹzÂô+ aöć)8«ŁJ‰mĐ8ćďÂĽ(ň_|Ë÷ŠIJŘw±2jěBQa¦ŞŃ‡+eJlsŃřRî”;M´}Ĺ´˙Đbîc k ýçRgĂĽŻnOâ˙¬v­žqôÄW: )$Hiľ´6ęhçÂóä ČKĹ‘;ťáÚ0¨\ęó5žbăĹ\řóiUş\&Á˛VŁ8Äq€ d˛U4:ŚŠ1D l<&č­Řš¬K;꿇ĂŢî«Ô‹ë~Z¸ě¶{´Tˇ° C*†e;Äľô0‰âč;Śąp^Ibú=ńF‚Ôô¨”D—ą6žŁÓÂ÷&Ά< ¨x™¤7Äá18äQöB‹ *eßň7¦J¨uÁä­nű¬*‡řË {ŮÍF4&|ŐŢl'(N› Ç<#őß튥­PôkŮ÷EŰjöŽh«š7YN?#D°ŠĆ¦w˛RńBĂIkŞA€ů… ~ÍôC®›˘±ů‹r= -Ś3S’řˇ§Ë©ÉŕĽFeé ĄŤ\žÍĎ[Sč635Ěß-Žp0Ä„g:ŇY egŠoµ7€kÉěüđ˘±pŁÓűÝŞycD¦éněłE™cűRăiľB©¤Žó:_©Ô=—Árź•Ę`.3µg¸ńŃżX€!6YĄ?ź.Öń± `Öh±ńż|U6á˛:É¤í –§čŐ7ËŢEͶŁŐÁYĂ™`ŕtÂ)"NăǬSšĺlÁP-sěěťD*ňĐ›sP7L : …ţ”`hůxť©rőĄ:züě˝uhn‡|‹ťKWµ1±Zë^—›#tˇâ•˝ĹŹÂ>‘‚ŹőÄ©i†ĎaÇqő‚GhM«-i·I\9 ZבގŤťţ8(ç×őVëŽ7'+x Á)M†úĽłă÷öϧťŚÁŃ ”RFŮ&ŔU‚®TÔü20† šzöl(z şŐ=6¸CůäSť-ľé?ôwV›‰iq™a!OŰ Ygt ĐOP—Hó~q¦»U4Ľj˝n‘ŢkF–­‰OYŞYĂ©łYKĆpţcň÷T¤ą.őâÔ=5ŕ× ˛'}éčÄáAůčđy⡰i"ěfůU{÷>h}1ŻĚ‘~ !¢Fţ±&ű#ÔMŘáęé9z·kŰři5ť `pw"¦ľ.üw0-ń0PΙ.„uZčQ7™Ňń+¤ú0ue“‘zÖ“,"’*ÖË7*Rö⊭Üĺ_ó ux~á‚ä÷—ęč uG…gbĚO¶_?ŹŐĺ âĂ &łóâUMqů ŇóÍ›ţżA¸ä*…éťm,§ŕ$Đ*M“J±ŢV—mOT8™b(›îžç9F…UŢ·/+čşg|‹­‡[í7á×8`űDçýIşď/ÄzâßëŔ‚§241Č•#ÄLâďß: -ńďďI˙ňÂ- ·CŠNh©ć13ËîČ8ń§HSźś EćŤEŠôÂÇD3‹;¨ŇM§VÔbę -F7ŻXéé˙¬˙ÄÂ4BšSßÚČĄč7±BEW\_#dÁ gŐsÉűŹ…ýčj÷ÉîőçkBéó ŽZHXé-e -ČbQ8Q…R)Ąß‘ţŃv Č7ĽŃ-ęvV NťŮ©:G«Ć#¬6ÚÝniJw ô>+^ҲG‹¶ŮĐČťI§¶©ĺLžÄHúfpräÓéÂĚ˝K†őjUG‰ -c€H%‹Eă_÷o‹;)n_&ĐI=ťă*’VćsĂŤĂxěŘ0.…ą‘—Šň·ĆăÝ ­‚ýďôř[ű{Śł2*SĂ„upâ7gËl‡¶>˙𸠍ŢtźXÝăe­…Ž«nŇŰâ…GK¸.˝5ZF(‡¬Đäcüޮܿ׼˙…Ĺ9•‚7Ő†ňJÖj ·ăÚŮĄf:7{/ö)á”bş ťPĆ®úýŔŁ›˛’´ "ßKpörĹÉ4"› -Cń]ďî(äT\ŰY´Ë˛řDl©´XZ,*čDü· ˛Ç+•rä1?¸n˛n‚G«ČL±yŤ| á’Ű™r¤±ý'…ő©—ÎΫ–&[đÄ^+ńÓŕ% 婨ĐđZ©]ĽAăeăX]+·’´Řđć\UĆbB´Űŕ3 ˙"ÜxÇiglÁć=¸U}ěv˛Wm$,ţ…gx޶­MÜí:Ŧà G;TEŞĐ2ŤşUÄî"v9P đ\–GŮěX 9ąK±źTf“ĽËäqíHšd3`ăĂZ9]€wh,‰Ž+! fC-ů7©4ěŕxŘf„+ ˛—RěöŚDQ;ECÉtÁ[\LíRäaäT$ „żtüčS€{‰hjëüK yűî7Ż Ń_%˝ -—pzŇ<.˙BĘ`ť?l&˝ĺ'”¬´^YˇOTA.˙`ŢKă Ѱ¬Éž]RĽ7eVťł‘F¬s÷/’1ÜźŹß÷˘G Ç …[ĆŢEŰŢéž@˘X©>f­şfď(\Ń*‚•ŃŻ¬Ă$ć 7uôj›řy°iNŽ+í°=Ř…Jěë.ě!9ćĎ-BA+·pĺąĂ–Úyb·Íű°·ásÄvMµ+#†Áüç)A† %/W?/ ¦ţrćłşlYř}?„8Ó/Pë1ĺëď4ăJ—ÔÎČůE¸„&aw–_ívĚ n>IBÜťűŞÉT¶'×´C2ŚăřZäůmoُ‡ŇDśŘzu0] ¨…7V]BŃđĽáyxXŻ?©ě;ĺ?€Ż9pNÜ÷ŕ«ä fË@‡öZ›‚ł 4c˛j—f*& 5łĎ:ý/ŇÖqW9Šţqżŕ^ (ŞqíňŁ–ŚI϶ ž -–häI’‘4Ö˘˙&`IůÔ¸~ g.6T€QĄ•‡ŘĄoÁČép{ľ{ą`¸†‰:”ńȦ¨6Ô›kďţú~‘ --14[ Śôk`ÔâŇńˇşW¶ÍQÖŢKůnA3iűLo{ż'!˙‰ŃV; rşá“ó—ŰW „/óŕ 5Qˇťn&ŕ“řßĆÚň·găŹÎĘůŽD[^˙âŽŔ%ćKAĚjk ęŐÔ˙Z:ć#(Jkí¶Lľí¬ę¦ß"$ÝH${~ˇ[ŇŔµŕq5Đ󑓡µ –¤¸F0XvË­»—‚.…Ş1ë‰[…€iýÖÇ0Ňó°ß¨O;NhÝąßźŰäŹzµWćĎw,t’UŤĐľ0·â!Y¤FőÄĐĄ±)ĹG~ĂăOhŻk>0Ň5vĎňđ—č°S/ŞÜŕÖI -ëâŕ…ŇEˇ1Vúé4n? \Ń27.ÄĘýŹĺ˙Ë'÷Ţ–ë:şśWD~íąíß2ďXd?Ď[q¤a…ŽZ1Q˝ŇŽţÜp©Ă~žţ\‚*ÇpôŐx¨‰Đď$Zꯩu{Ţ“ńĐ:—Ç•ŚÇ­[ě.\rřđ›cęDUŃ×ÍöÚŐl9íŚÇmmČńsď˝’dň8o5–ĐжääřKľ"3cQŔđjá(Ą`*E~ÖĚX°”9¸ČrérőŔęj¦Y±™$'ZAtIx•éwE “ęĘĄ0OرN7µcYÁÝ7!R‡‚cQX$/ĺĄwŇ‹E‚é’ź‰˝l´mS­ëîŢľ1Á;;Żčß‘0Ćž,'lhW(¬®üź1őWólTŕÍÎH}CŮÓ`q‡#"ž mWo WI4‡ţ -ş…NČşrc*ăZHÁß[č "/»÷;'‚QţÄ3Ďn°Ę77Ň‚–'8ß}Âj)§h I}óů––ç,A’zBϨq‹iĺ -4źŘ]SiŢ´đÖ˝H{§GQ™©tX×Ćń!&HÉ…f9­'„&žqť`ž/ŁË5r¦lÉčÇĽ>q˙AŚÄÎYăË#ŚĂL5˙ZăLŰłňËűÔqHáAFSöŚ4JŘăďű”.=±n”J#\ŢŞôçż=ShV”†<•źű­†U)Eu°:Kt ¨ĄD˘W˝§7Dź0ö”OŞî(Š”÷:÷{áĽxt©ą*NŹ˙íJâSDu3 ĺl›ˇĚDőĎ·`f5šh۵ýľoĐK=>Ď'&‹Úűý¦1 ö!sx‘Z=+ĄSÇ”WČ®ŐŰ©Ăcxá" ç•=ĺżÄrK˛Í6É+űŽ˝ą+'9±±ňËvť¨-÷$Śj7­čGHWłđbŕÇťądSĺ«H‡&Ŕ"ęôňőhëŇâQ!ox?+čCôHµO÷5Ľbí=A€*ŤG¸WĹźřd/j‹KO-ĚŢ']:÷”nŇßóâgŕ2U™ĆŠčŽ"ąA ö_Ä*ňţ}Ä3ă,PĚ$R×BßjţĎ»‰Qđ6Ż ˇĽ5?qđYŁi ĺćpş5$‘TQS7t“ŽÖZ›ĎĘ›­ćxAŽ(˝Ŕżűľę˙ o 8IŮ8ĚfȸW{®B;×vŤfŔ!^uşďPó#fw -L[Ĺř% --W18™{_)í{ݵs€¦ÇF)ŻO0R˝+s<…ťţśFůř·ł©e2ű­ýÜĄÂ!7vRÍm db‰˛aČűr*h_ ä=DÇi -tpÇÓ®s;CP{ÚÚT/¦UGż]kP#?n”$Ľ“hlßK1'm/Oă?DnŻěŇd?ďÎćęP Ćčű@X.̦"ĹXUż'jVüÇqä#Ýü­Ň   ZF|GÜŰi ˘©>Éa¨ ×sĚo{.%ôxvä€Á^öVvkZŘŕÇĘ)ěw`2ȸŐ'$?Ä܆zĺŢs7ňî…s5ŔMq˛OľW—A,řÝ'Î7VÓ‘ü â‰BýQĆ Fʵ´{oTďD)MI·oďĎ Ă+‡ ‘¤Pô-…:ĹĄ,SĹ? ¤‚”➪0»’ě?Q–<S0üÓő»6H—$XŔ®NxŞ>‰öÓU“CPÎŔOÎËqŐ«7 ú~hF=N’>xsXůčąú¦ţGúňLü‹ŤHo#×?lscDDď6ĺĆ3ßÖ‰YqrݶýĽ¤°•B¸^ýĄ“.ÄC\Ĺš‚ëZŻ>.»Ű±Îr€ZpĂ@Ő˘†YŤĂUtDĎÓŻyh/#QŠ­Ąß:r”QÇtIŇ-˛ÁölřŞŕŰQÁ,3ŠC˙€gpąĄŃĘž^(;ÚD¸˛É-j˙ BDđâl†Ş8ĺĽrČšDw‘'Ź=ěÂ;y„‹©ż¸¦&y˘eeĹźjKĚîůx|Ďň*SĆŢ+ĽÓ ;!CĆé?>M„áѨ -FĹ%¤`cš›Ó'vöu Ú7äA@¦.ď»=Şrţήöeżgş  -i.7d/Ür[\-¨2wúTău" ‡~JLŁ9đĄÜTl;T.±7cę*Žňý8@ ÉÝ'Ůí(ZŠř*ŕNB÷F‘LLđŕÜ)‚kß·î(¶şxĎ’XńĹŰS6Q¬7,:uč@›˙őćZi-'FŰŽĹ -d(č¤ÎŞ˝GźC= X1 3ä÷ßL…Q`ý€B†.™¦°2ü!v8eŁ.Ă#{Q«W=ďQßî– š6ĐVşˇ;b_m[<Ă˙ Q™ŘÔş"†ćH<©ďű…ŹhmńľĘq­Oń(ú|ŞăZÇ5xé¶Ź etČĽČÔĺŽŰŃďI{qy’ÖÍÝ#ś_tŽsÎ[=§,… —m))7ä D]˙Vz-˘äO`ôľ‰4é6ŃFfg$>ŲůÁçO3C~jz×ó7b/q ęîOńű6ŹaŤŮuʉĹ9dő^Ă-ékNľ•¸CDŕ˛ů¸@kč\ćY͉ QőcĄĘ…7n=bž‘5(P¶ˇŇfćwLí“K˝?Sî_wË8™Q!ĂWü·AWńá€;ÎKIó€< -DvŠŐç=Ş* ¤\;ŰJyśÔ>WţŞŰËĘĘqa|ÚĺÇ˝‚ÖŮś‰wžýŘÇĄvwU}yžBżJÜNÇŮ6NO%Ěß>iŮ:‚ŕüę–uĄfݎo0->ßٸzőěSľÖĚě©ŃWÄ1–©*:îoÚ=í–Ź)AnđĎöe®b€vżň#"˘đ6’|ýĂ±Č´Ż¨íł4ţZ§©#k¤X$éC'ä¶…3 uJBě€Äec"±h$ĚżĂtC#¸!۵§‚jµ]LjÓéä¬gĚožG# qŠžľľ÷Ç ׏ŕ’Á!&7»G"çs¨K8/?p )Ńěşý˘Ď˝óf>Ą†Ł©)ŕVŁc2G/6~’MÜíş˝äϨř [vßďžJöOĽ?ťŽ6’Ąx»đ SN|3rÉ‹(  vµś*SŐ˘LýŹKÚá»(mŇ+ÁŇşRBÓ{ij›Cî˘ߍĽăťL -ť&ołţč FŃvŹýđË´f ćĘ4?ę -J4SONĄ^h ‰#eHX†Ôěś—ÍÍ™ÝPmMz? -=N3,NÔĆj(ůđ“V!ü~ŞĽ–ăV5ĐőwuM©‰ÜL„ …E´űvgĂQ-ü 1eź;-1€<pő#â‚EĂŻüÜ] „80—fRŁÄ)öŔ6¸µ°Cż(-KhĆ\M>âđ.—.ÍHxŻ,ńÚéŐ}Źp>±\ąŽ\fđxâ˛ÉRř­ŐŹńeÔ -đv8Î]FźĄPî:i3QY™——M,jľĽäĐ»‰Żk Í$SÚt˙ńQjíauH\ÓÁeiZ‰zĂ“ŃΚáýúŻbúí5˙hŮűáúű1™’|kEZN™<\Ţó7˙îĎśÁn,§ d˝ţaś>Ókz - *ck~žü? ĘTĽ:ŕcJPŁwhŔKNlü­d& -űąEß4Wh!ß>4'yá !Ć–Řş-ó¸äţ1§±ě˛L˙ć- ř©0Ł6 ˙»,D®čpŇIAëxPTż†k’ćŘňşN™k?ĹËpýLŕÉĐŇőťőÓLËßmÝp–SÁ"Ďń,ŹĐŤÁHz<ă®Ěü6[G2á–™ ™ËĹŽĹ™"$ę2Ę]XO7I’Afť>¤ÂŘL–‹O‚FÎ|Î1ÖiXÖÄÜryń@'[ť/…á+W5$_]Ďżťc˘i»KpćqÂ{…„ÜţwĎ2XłĄ´|ŮĂG"Ą -ĂvLÍö&ŽŢP“VN ô„ňůÚi®ÎŔĘŽ$Đď1éIľ„S\ü0·ÄĂ_níiĐ7ŘW‰GŐˇ4üĐ]Ľr ĂÉPĹžK ·`^›¸€©°űDx1hHGC«ĹE‹„÷ 5›OÄx€JهÓoĎÉ4#â=ŤźĄuŻ,#›üN÷lHˇ «şßCÔäuúÝÓ€Č / 1FΙD$ş˛V îPC„匿Çš…ĹőRĄË$ip&Ŕ†"[šGżĘţN&Ď”Í8hJ9"Ň…áń´ĚĂ]C=;iO´áXţETěIšŁŹŻÍĘ9–V0›%H_5×mP°wŁ–‚ŔŢý\™?Ä;ďŻípâf{ ČE v—=.(\vëŇ™†˝I‡Wž’ą]w"3ʶć'–BW"$ŕa®1áóuŮĹŐŠE/Ę/Ëů -Ăô…”ËaEwĂp,óŢâŠi9Fč‹™ĚŘąĘÁ€Kß3źŔQI謧»ÉOV1>OáK±cĎ=Ěa.ě’©śşYÝoĹ„6ÄápKÄN‰g r1yĐZŇ%Ý8‹•ź˙ÇHa/¶Q’Ä€‰«çQ拹.ĘóőaN-żźĺ|ĐÄ÷ď׹S ™a ÜL«ÝJÍs —GEH"ŽY\ű ŠĄ#˝&Ľ<29/¶~˛ŹL%áH{˝µ8ÚţY˛o±‘á (ÔŹnC/NĂ.í1x ‹X‚H%^{ݤN­eˇIî[™1íŹ'ϦŞ˘ P:4Ţ+×ĂľGµž?çt% âÁNĹ?/ÓÇ9®ň+hŚÂr1Üóá˙3ľ§›ě -/…”vöĂﯭUľw‹ž,ͧ î@N„wşę©:?M&jd›ůź¦â*ą%•šúLŹ€QŰţ >"’7R®TßŐ§,®PS^“Ăô”íÄëľ-w•?»f4ˇ¦Ś|[éÂ4K -A*Ž®hň<ŽšWÚ]¸×Á -Ş-wzŐAßźr?:ÔWĂ.…mBš/B˛¤Šź‚Ş‚ ˘äbĆDgˇĺ¤ĎT(JżĘÚÄě-+ÖŘs?ű´(ăůá2ýO0 - yŻ%ÍCßVK ‰ąh0_î:xÍ)ÝUn«§‚w,7ˇQĹ·ŤQ'^żüř(Mß_ă!«Vxe9ÎÂ*FPŁQV,@ÝíiF]G„UŔmńű­x›ţťź;ÍĐŠĂ{ňß°$ŔfhŃm!ÓćŕřΉs­ Tg3(I/SíźiM¸V{¤xu"ÝD}3H—›Ď™ZÖ)§kdŕęΉj=†'‡\Äk÷ÇV˘#ŻÚů”xĎŠw<wße’<c<€š™Ű-—‡Čşڍ5ŻÍ—±ą+ —Ă`ÝP†çڰ°DŚŮăýńCw×]#;Âś°üĆO@Öm_K“kłvJüż1Úö0Ë"îŠ ĺµEnd?#ĺ™^3ŇöÔZEˇ‚^|őhLáK˘=ST…xs3:ÔÝś–H_ň×ÔćtÁçâ76/ŃŃ5/hĚ®bÚŞeš¨đó¤HĆć’-n)Y晋ťSÉĆ~S^`řö°qI -Ë@×cZň° J'˛’ŃŻŤ+·źkvŕĹâ(z“Ů·ČĹ e-ŃŢ·(t>ťOkŤTŹ´ŠA7ő÷_c ±Ë´„¦ëNpAüZ`d>éOG;”ăÁzÝńaś¬FPSç+Ň~ŚÜoŢ«H­ŻĹĎi©śłD{|r‚®N•€ -§kőđ‡gĺkňˇRˇ%ű˙Xg Ţ–ĺăśśBşxśĎ—ŔĘ0ăŮ•Uď]“#E˙÷r@WŢÄüŽ‚% ejbFŚVóń°l3cŃĹ“µ•qK§+ůQű˛Xíˇă'íAÉz“T}˵oH?ť,B|ýďäi ×ęß8ó2&ṆZđŠĘc-¬%UgGKŰŤ&ŰHk|‹Ű/úĄµ^瞆µcJűyŔ=¸îNB_íłh4ßó·÷oú˛/nó˘sš×ť…mndjŇÎů»rôbé8Şŕţ˘‘?l“>M¶]Ś++8^Kd mäÚjCWA‹¤(ĺc’K;´Ŕ§éÇŹkç‘ý$<ňR‘ž·‰H€nS¨kJÔÝv©3č¸h“…äB5Ń{í_V÷ŐÇhőEF<ŇCŹ‘]ŞFÖ -µ3 ‘żňE‡'k &HĄžq©"|’'Ý\/UŚ7'ěů»Z›Č"*޲šc̶[Ż(±˙B/Ţ´4ިPšĚT~lš<ň3÷ó_l†pP(•*r*q¶ ‘-‰_¶T±bĎMÜŕŹ9Ž÷F˝ńÇwsŽDŻ÷78w¬ž×~Ř˝ťB4AdôŽlŚ˘ö¬8;9–-m°’OT`·Ťo´őq|mŃsÍ-„!ătšBÍM« -ęĐ×Őśćń«KŤŢ͸umĺ}iÚ…¶ŞĚek\çŘ•­‰ ÷ĹŻH•¸q«1.F””Ťq Ň–Ź/7ż‰Z“ţ—1ĆAv|±¦&ęž|§V_čđx­‘‡!. _$NŮF ş`źă@ŢV®„á‹Á°ĺĂ˙Ąđ‘ćţ×2ź·ă”@€ľŘ2ÖJ a±•nF_Ţb/C™j‘ë3­ŚŁUü˘nK®üňÚÄF×ÎĆd­‹h–_‹ÍPEŘWŤ6Áŕ٬⪠ě–LÖ‡=ÖŰ.`-ÔÄc˝Ľ75ľ –•¨ů‡\ńěÄ•,:‚Ő<x_ eGqlŕŤ…ľô/F#<&‚G*M´v†±ú.´cUĎuGĎZEĹGb˘.‚üŽŠČg[¤›F±ö\ŽO¶tŚhĘߍwó¨TÔŹM!0[âR.Ť}ay€`±Ź'UśýƲµSŃĂe›˘–x+i» =oTVŁňS˝ŻÉ˛ň®ĺŃBŰçöĐŕ µ¬^ŞGü("lÄř8’‚ď8-¸é%˝÷ČiÜr“tś>Î.4C{!˘źtMgw0¤š8ŇęťLĎ@˛”Ç8čßQ´Ďrűb0ÓąBá§ĎĎĄnŠ/™eŕţ Ľ§ývĆ|Îä˝Xľ4ý^ĽCLŠ=|Pçsj“ 8Ý7ë,É®‚‘ …spłç5®Üđ`ő!ĚNŕĎ“ýi¨«ÉÁŁüŤ1%©9éPpî: »g+fɦÎęŕÁn}Sڵ‡vΡ‰;§}őÜś,š©|xţ‡íŻS0ÝGĺŕ(h{ Ťç&¨häŐŽ–^Áa¶Ďq+˝ĄĆ''t[¤Č*Ń›†pmüix,Ě95¦jٰ™< *RX/Dę heęXŚ fÖĺ@ FU™óRˇ68Ę–ugM4×)Ö1Wz űlŞ®·ň‹Íż•$¶cŹŰ©"ę×<¸yôéFź4Đ ÄŢR®…K×4¶‚GÉ…§ŚÔ »XMq?6ĘđvÓ­kŻ羼{±SeA=îXU{TGe¶ŮŐ74R+ ^®jyă$—!ýĂěż8νsŢ6łáM`Sžő¦ň2âUĚˇŞ‹ Ě[TŚgě÷6Ű˙1ř?ô˝Cӫ颲E bą«ţ$¦8ҲkoUR$ś$ćş=˙¨˛źí¦ú‘¤ĺ÷<úV2‡[ąc(7ĘÖČV{ŚhwDE°"iµâ”źG]Éeů,vSÁĹŢ đ˙„-Ků˛ˇ`< ×*gë2ńYá ">ľü7w_äüK9¨2e§dk Źpđě+hň‚íáůŃżä·5lŃMĐ×=®4ЏƄ>ˇÂÜcăl‹L]“l«ů§ˇĚPŔ3ŮŇ}Ăŕ°űă\Sa—ď׉hŔgÄôr[ąJC˝jě@!4ä:"ý*D†7C Ć÷Đ>ë<5@ZČěrąo -Z­)¸ů”M=ÜE‹ ăňś„©ĺÚő§ZopĂT‚:÷ţ -¤/f‚Ç9‘Űlđđ÷‰!Ŕ=ů±| )4aĂW“ňa.¬ŰŐqƶ7ĐD&‘ąÝ-öĆÍAÖ%F]’,¬™'ž\6Ń{ń+aá#㢳É&âv»>LF6ýŰz•AŤŤgGĄŞ$mzË“ö»iÍ]ÄŹU˘ůČQ UŔŐ|h¬OňbiďĐ -ĹcoŃXşüéŔť3H™ď÷+RCÝ.CÇ˙öďąĂE¬Ő±^aH‡$őĂVč=ší{+ĎiËÂĐ›ŕÝ D'ńˇĹđ¨·, őŮ?vŁ»ž—Ł­ -A_„:}€ěně|Ć1Ť×íYŔ 5k¸P-UË)s‰:ř*»ŕĎĽ*zŚQe‚3$7«uâ•Öܱ©x´9‹Î€ďŻď«úUµť8}IüCsń|;ňEq„‘,ůXzîă_r»´˘;~߲ŰíâkçtŠłŤů5Şšźô]řúůq$ő‘ -9o+D4ŇMw?ŞÂł‡ĺü]Ý+•—3Ń—jFýĄńŁŤ$ÉXy&¬MmFÉOß;ť:Ś7Ŕ °&¨ -Đ_ŁJŁÎ§BM“vÓ|±› sđŽ5ŞŘPŢú‘Ä1}ůćýűkj#Ěn`3•Mś…ä1< -:2®Ţç©1dÓé˛2MŠ7ěŞcŽză¸ôŔŰđ”…‚vJHŹ]Íqżż±ĘQCkZĂďšłţ X†]™ś†&0ĚU ^ÂmgTţŔÖ§ 2*Ăe/*ß^ĐŰ/DĹ2Żő%béÁ6'0ß±GŹhedí—} aWT„4ĐŠCCŰĽ‚”U)>Ő´’Žá§hŹ đ8&EYě@-%ZoťŰ8GÓ÷q‡Şzô*ŁK¤ťx­ BŰęľG˛°L'wĺ ť¨č!NK7¤yD>ç”ř–˛ú]l=ßv‡)ŕHÖâ€XŤřÁId<ľë9Á§¤©˛Žł+]Z8i /&µŐCśăÚJşEW•žE×»ň Ë3ëUd¸иwő}eHŃ«8Ea‹Čď“QP”čŃM™oŕć‡9)b`lbKÜĎżö=Ϣ”Ő Î9Ăę”ÖśA®˛»*M|Ň5ŇĚéűëĚČQä?DóŘŕöŋػRÚFHßö°1{V3ÂxXoG§ĆR B•EÓsˇX÷؉‘Çoľ–{ýĽ -łËĺ ##ŚS$ĹŞ¨ěóđ!¨›Ř:—J}ę2„3Q/—A¦­k¶^7UYuBć°ó¸ú›qˇîĂ€şT°'ŰáŃTră\őmËU•ŰËšéiŻN XΗd‚I´„Xőŕz$ÉOŹkݍ±Úŕ`‘t÷bŰá |¦–¶RĆlŕĎU@>剌š3źÉ5ś.ď_%€Î­ -‡Ţ«z#ş¤Ây;d±.‹Ň00ţ¤H>«_b:Ö—¦#¤L‡h€†6uO| G«–ÓĚiˇěĽ^Ŕ‚ťňkÂ4¶ó˛YąCüˇ }TLĹg¨˙ť[ç tdŽŕH[y»ţHuS -°˘-9^hjeÇ—÷ěçdÝ­~ŕEăO—/ -°ä|.§^F‚ŘĺĽV—ÎľF¸VNóQ÷v÷É–l hŰíÓĂjăßáĂTşí»7ěĚô«š^ÝŕľIB'’¤čOFŹ«ä'lJôŞ˝ćoÇ×` V"Ľ§3ű· $ŰĽlˇ’ôj_Zó†đúq·ë~ějťp>‰s˙ Ů%>YX$†ôlóEŘŐ•âđ»``#JبF5«J˛U95­Ěż+˛R|¸ýó%łr„ű‰Ĺgl©>•1 13b?uőé%ÝZ8¦ü˛•xWÚď©”>Ź^Z|t]ᕪÍÔŰÍ_‘9„!'„2†‡Â.u°ăfć?˙bśÝगžÖđHȶU_ÉÝA Žń4%ËÎl YŇz÷w$ácÚô´tMÁ˘Đłá¬pä+Ä -Ý Ţ$Ą×–ó‘;m€±űĘő‡ÇDÂ2YÔáń‹ťÇ%;a–(ŮKtĎ2¬&çă7mâ’Íc-ŚüÇ5^Ł^ÝbĂ1ídĹ0ĂW;ŽŰ`°šÎ=TÍ|ćźşT˛µűcřZ§â¦¬Łđu®=i}΀/Ş”ö; Ť:Ülv¨%â/yÂÜ%mÍěeüPďe´6˛¸ć©Łć2Đů9é1> lj7ěO´čéĆ]{€ßpY„˛že¶:ááĐpÜ9gJŻ1Ž -×tjŃôCé}Ë+mm“Ľ]X‡Îe8ŮÄJöäA@éśŰ =¶iĎúUÁ?ęѬۅ`“GŠŕ^şĺ° ĺYřľ]zşhOzH¨Ň›=ťq§<%F}a\•—qN·'2!ĆšĽűóüĺ>Ď2űÝÁĘ×—˙xŚgŤó±•4!ě÷×uI=äßşë[µ’Ľ˛¤Ěk YI˛—^¨›,µ«¨ ę>>Ş2?­FŢ?5űWQČ÷^­—äřyŐôţu/ţúĘŰĆĂ3PĄňiŤ(»ł` {®¦<,č P|¬“K}‹ő«ëúB’~jւƵ3AĽK…™PPüĽ‹ó›—ő°Jş ΄úvŮnľŃMźż˙GuŇ͆Áëv‰bt€ ë,V?ÔÝwf,PŔ˝`\O)˙p_ąr˙Ú”ÚŐAÂ˙Ž~ˇűÚč“ô®űDăelBu&)c°ĘGZÍXľx|ę!\Ćgyq "rŰčP!·‹X™ŤŐľkF¦ż`Övä(ź6ăákëŁu›‘ŮgŕÍLáD˛(_EnRSy\áßPSĺěÉ«ü“úř—”/.ŰĄxţ±,ęÄ?dWTÂ$řť-ëNý=•‹©\Ď%oŽý€„"–’§*6[B”eţ·Ş1ožX€úëMŻÖ’O%‡ő·l„:+1ťD‰mţLož" _Vríë•~qđĘ´<:boÚ1ëżž -˙»Ç}[ÂC!Ť;c…ö‘z3‡‰>o¸3*‰+âÂ1źí®É·É„\Ű>_µ6śÝzé¤ČPůö™ň 73˛7.9*ÄR±ěW×i ;8±…,„ĺĆUxŻx‡c¶„N•·ßXۇ^Ŕ]ţ|?ú:5Eůzô«ňÂ+’ĆZűFď™ä©b6iň¨· GąV [Ľ[¶ő řßÔ˘ŻŤ.ŤX±y’¤(íőn? -PRl‘´ąLĂůHŮRŘD’–a!żý@ý-•ëÝőśW>Ćŕcúó„_4†ö Y6Ó˛^ Z&.ibmcĽC®”«FĎ;_rBîÓl‡©őFÝ‚f–ű6]m~1ŤőNGÜ' c¶ ĹěkÚ{6 RĂ\ͨrą8–ßü0vm¬®¶·ĺ˝ţQp«¦żßbNu3*AHőŤ‡ż˝űá׺Ş™¸;?Ă.®˛[)™Ű{!n[”Ňşßćó*h<4P—4:çÖÝ; čÁ T=č37ĘÇD&1ĺßÍÔę6˘ ĐŁrUiÚ®ŰÉĚMJ6 -=ĄíÁ{$ô–Ě€: VŘN4¸V› łJ;ÚG6¶-;»*CAiJřb§ăř­bŇb6ě×úT+ĹŐ@WŽ!'tdşŠUé}*=°ů1ô6fd/„d’‰ ;—!çGY IÂb]oćą¶7żŃ€í-FÍ#óżFŁZf$&HÍőµK拺|‡2z‰“eđĆâůdž¬&]ĺ=SL¸¨eÔlw)ĂOG‚t·‡UYŽÜÇÎöçď$řNa.Ś’łVďŤ÷e°dbkűT#\Âĺ×D5!Gç«o+™Ŕ¨ě^Šöś ®áţąéű….©áPI( lh“˝Ţ<ďńˇ"m\)«+˙‰0ç™đľC®í™X:Đ˝#Ż´~ú/{+÷˛ś[ Ý GĄŐI…GĘÍŐĚhOL”ŮÜůÇ„NÜöńĘ)şÍúSÎ5W«Š"} ‚ő$áećç[m¤Î Ź$<Đ— ÓN?’0 `Äő/”@xs“âů·fč!ś -şŤoZĂţ¸šÇMWM}±““EN° -cßĂ|Ú Ë6ď5ťqú}–ďą ÖĘF›:)ÂŔ٨ąňk‚őUrc2"©n«u,Í›t_Ç[ÓcçŔîqOQÖǸ{ÁNů>@]˛áGjłúŔdQĄţ8Ç…Ü -F&HÇ`Č'<[Wľ˛(ˇżŤVŃWO>ľÍŇ’›2! ö3Zuťo鸗.ü…Nmp˛<(<~÷g#OĎűÚŹł ëhůą“HŔÖä|%€ą˙:2ýłűô‡śźĹÜ< P«Vś_PdÇ圪íĚ„Ĺ4Ł*r S&«±ŠçĘ99BŞ$@˝;=&Y:SŤPß›ŔÁq5©“DD$F)™ţ.˛}Mw%Wb>EúeJyí4i -z +áôé –ĂđŁŘ˵­I“5ţs·ë÷ 9ŞŔ@˝j¤é -˘]kŔ…3Żí2&űǤžââ‚5łůq3íe±\@%>[>`l!?d›™á±I8„#ąGÖsĽIď˝FÄFëôŁg”ß(`©Aw,<ćč–F5ŤŘȢ|Zs)§«-PÍtĎ ŤŘőKGPii1ĎfyÝq¶ëđ6FcÔ€¶´·‰•ť%Řŕá•‹ ÖŤR‚m¸C+ńájˇ„aÁr8 sĐč3řÉőő§ ľŕ6jЇş{3V‚^¨Në6&ľË{R¨rާó\M,«â˛‹u,»Žđu[ťŔÖČŕĂŐ@—Śę2|Č–AÖmfŠ™3Őě _űQ^á  wüQŐ öŁĆŮ-‰Á,F÷Y\˛I&~e7aU/ôaŘ x{vD×`CšŰ€ŘšŐ(5†pN_AŹSQ^đ­T‡ěÁ˛ň'’¬Ú7‚ Ąň¨k IŚž–ĚT˝˙” ëźTé¬DżXe˙g=dđâĎI_bTÖŘöDÝÉôłg™0áh­tHéč¤dô?ľEţś…bf«E)&§}ę]§ĺFQň5§¶)Kł¶ŚxwÁB1ˇÇˇz±ČîNTŽ›[Ľ–‚ ˘ †ś‰wh+÷QžÄd?ňµ8”TDPůżłř·ç·T1¤@‚°aâ‘uFő -ö?ÎKašâ4ÓAfÎ+FǸęZ·lMĽśOçYLě_WĂĚV -ëPwqW,yútYɉcʤ€ó~ Ű Ć\’żt? žO& wj~.u˘V˛qÜĽKPá.l¦ăčG4«Éç™™äÓkŚ˘Lh”4ş<§j•ú* -$ÓCę˛ Y‰/ü• é 0Ę'Ś¤Í”Ó»Ň•\ĎaÓRŮĺÝ­ësŘ\¶…˝(Gű:#Ť/Çś=•TßÁ=78âářý25Z´’˘ Qń+X±(:‘ýŚĘč6ťâł1Ńjnj0ŰĎŢąZ¨˛¬<äDS“3ć­bµÄ/¶;óŁ·2»TeéÁöĄ×®µˇ,*¸ľě@¤P•ă-x'ŁG‰÷ˇ s'ś]ÚŁź”cąHĄ/R"$ł6×™ ş5gúď15·f¨„/$c;hĂ2Şhyr‡şç -ô†!a­ię şjyCĂŮ Q_íäxĎÎNIůbF›Šb ×oÂŃ]],ěÇC[tÎ=ěű’=¬9´=×DŠŹ`×IÓv´/XůóĚYţŹz…Ŕm×»‘Ŕ!¨›‡Ńël2ú(…¦ßĄŻ8}ďËŮ*§§,; ±şŮzČYjZYZěÁ˙*lj¶SKř•đ}˘eŰ5Ëş Ú˛˝sDv–/‘Č ACŮó Řâ 0ZéÖ|îM?ReV ” - Đdb¨qyÄŻŞ)Ă~CÍ ×öGÇÄÎząM”6_ęj}3Żqq½ŕżnxÓĐş)ĚÜdă*»„Šň’+$Ęg [Ęľ”±řŘ„úŰQ˛\N_§ŇTŢCăŮ’o´T!Ď8-D‡yn!W8IË´V˛5Îńn5ô4~‡Ě˛´c*z[ŰÁŘć-†öĐ?©Ëb>ŠR†ąÓâyŔ\¤@ľŕşŕĺ 0&ĽŽsG˙ÇĚ›Pôxh4¸Őăšq‰úbUyl­ 1©*76+ˇc† -‹źČ˙$”rmÄWZ3Óô[aFŰ®ô&ĚěfcyX®r_6X żvČ퓞×QŁ$ÓąŔ9ťMU -sdwCf_–±‚ [óËĺ§ťřŰ2çżLI"§–u´¤.N‡¬Fř ‰g‡yQ?ČUV8šÉ@Z–5 Ücź— ýq'i»ÜÜöE#·ŠZµ°ţPtF‡~O VúA—p *Ű./đđĎt–C˛ËçĐd˙‘ …s±ë¨đ?ÎąÇQ$I{óď•:ÄÉö)ÝE±PýĐ$PŞíZŞ wp`ŞäÖ Ž"—âq÷YA¤ c×-4ţ×s«^ŮŻš¨Łn4J\!ćo‚t5ěđ;¤~}`ç`AkizÍç*†Ź»RńcMŮMlKłÄ©Š&N-#qŁf[µUĽKĺ5ÁÔ\•ĐšµRKZÄ7Í5‰ăk -:鍑¨vrJr> úQµ˝B7îëäyťŻ‚“ś›ž*˝ŕ}n öÚT‡ çvtµŢdě4l ÄÁ}ÚĹ„s ­¦e ޏRřĐsq**\;†=Cxî&Ŕź9ßjÖyUXjΤĂó@ÄVź›°0¨‚;†WF‚‹ ‚LXfO0´šµ -eQĺ‘,6ŐÔđ -˙^jÉfÄS`‡Ü+Ó}™°ľFş‘}r¶|8¦Ő`U - qá3ý•z .…*Zó®Áŕf8—{8ިě…Ď*OÜôwąs¸{öňW?»?VšyţűčŻ}ËTÍt' ňź(fŚ·ăQq¨Póěĺkpb%|ď7ɨJěňî…–2]‰ -SÍźî!ŘČ6“ů“ąĹ‰jăăđČrŢäˇgžÍŤ ;ßÇ˘Ž»ËţR„HóĎ”}«Í˘¸Ç /I0Bϡb#}ŰĘ]ćÓŢ’ěëLbqr">·łK ůěË=Ídíĺů=}uŠćýň¦żV×ŃĎýΗSxgöJöŽJ…bŞädŻçUĎ©ďKŻOvËGF莇źÚSňDä1®e7aOĆĘť­É”b¸ähYŹ'^9[ÝźÖ5„ý‡ˇńj!şnĺ˝­ż˘~żÉót|6[ ÔĎ•k‡¶4ĘL_É Oj´=*&yévęT)í𲖉›řÉ8ťĽéÚ:\Öl0č»xµGŔ€f~Nő9`Q2Ó!?đ° -aĎ Kl@'_® ÷x?ŕăÂÇĄsP„Ôµät Í­X±jfŮL7]°ęíI!ß#;RŐü-˙le|´ĺ¶o43˝OZ[–Ł‘4‘»÷[ ŕÔ!.X±z@¬Â×DYÉĎ!°ó0Y÷ꫤŘÁ xLH~%ÍMXěÄŞ+”ŐäÇtHőňČn(ĺĐ—˙™-Ŕ —…VÝ Ëaý=ú˝‘mŞ?L)ó謁övx_t¬Ţ]őe‘»˙aŇĘ>Nąú·5úCNtÄŞń“ŠQźS–ŕÇ%Ěćýs`F¨!řÁŹ+Ú¬ôEč˘#‚3 Őâ§ÍżöµłŽĐeĹUŻŹW$› %näŰĂěaׯü—źĄźÂ,Ű7Š)Ë‘źň^€»ÝxTßŮo;5d i•®=B€K39Žę°jWY«˘-lĆÝśźP–d÷*´;!\7ĐŮAVĂ)`9íú ˝–®|`Č7ŤF.϶ř3¤;J·5NˇÓ¶ĘČůŢąî-νȴ%Ę…•Ą'85?~&´»mb3vPôJҰwÔŰż‰ěÇĄĄQ*ďyE8kž4V1啼]Ć 8ŔGťÄŘ8¤ú˝?µďd¸rżßfuÖ%V”/WÇ0řë@~ -í•âŘÍU•A~óO«r#ŔxE).ü…§RóT0`čŞđj(8“b6QęPѬZź Lčý»!ťůS‹ľ˛˙[Y«…¶Ö˙©IÓSN€ňŢą¸Ëb~XEî";fNąĄ€v,Ň=ĄçQ0ĽôL!k¨3÷÷¸¨1”2»FřŞŃ¨§ěęŤ-XçąÖŮQ"‡´ ·_Ö;ŚU]-‰nĽźqA€rńś!›(YU\TnMń…ÂŇdâ91Gc[·łŤâ®P|Ôű$+cÁBIż=1ł0Ü×Uű¨éąnZâÍ č‚ÚBXP({Ú·u›]ÂIĆ)V[7Rhmpő˝8ŘazŞ€ŚŰk˘ˇ9ҧcľ÷TĆsu'ÎŚĽűf¦”˘¬6j§ď\·Í''oţrh9ꌾćYŰ)×đçůĘTWZßK¦Ľ< SO0oË_ “sXŃ›MBü ­˝6Ůú_ĘOßvrä;łIh¶ň4ŃD´Đ˝ {Fe–ťôőËZP¶ÖRÚűó_&…o§ppř{`™tŢćˇĹ⢲Ó~yÄVşţtíľs/„SµçË厍Ó.’[ŢŢż— o–7 ZΧP1ţ= üĹ:Oď^ đJĐš»µě‡—NüIśśůŮT¤}±Q©řőşë®?;“(Ž×"!ʶËËľAMDłĹ˙ř5بĄ5thĽMö4›jS‡üłžZą–JătAdľŃ´ŃČĺĚQ¬¶”µL5Żp±łdĆ´}„ Wůé…[&c\›nÍÎĎ ŔćĚwI4ĆGTzÓbŁ€‹dńëś͵΂€ »2<Žčá±Ŕ'Ŕ5Z‚hďd)m>s`6^^7 -QhÍx,qĆ‘ -€y(`0ý<–Z§@sÜźEÉŠ/nÝ[ą!äŕŐ‚Ôň×P¬úŮ`ó%oÂR.U2Ąí|¨™zQ«?%·ţŤY&a!1ŇŤŢĂ„qÚščZńXübnő¦ăÔĹŻĽ„fM¸4lݍ¤—ëŮi·wJ®ŕ…jáx€dpZAKčłřQIŢĂvŮeŻxT¬Ë~Ţ›ążňť,¬˛ş¸ľ~dR›¦hř‚Űhvy¸XTWŤ ůŹä¦AŹiÂdާ{žEPĄüŘąJ‚b/jŃÉÂ#¸LěMJ(|ęBĆ3^íë%4ÁŁü§˘ökM®0“dŘ3˛ÁRěśé§żéű·ô66ZâĚM¤Eą ‚ç;ë$ř—8ď%cd–ßÔűźßŤô7Ü/Ţ«=ź,Ś,żZzްźG;§4auVŁË>u¦í"ą‘Ëdš«Đ…%ü¬6î:ěą×µy‡ĆĄzv)ő÷ÔúĽ/Šq9Ç©š“Yĺű¬UIŠhűŃ­|*źŠ¨Ý›ť¶©avÜÂjÂeňě‘ď^s`Żî–/aěár›S`#ĹňzC)ű|’÷ű€ŕcĽ35üV¬ş!§N»rł:lĎL7Ř”|9òzŐM¬{ś9ł÷}l†ďJ„Sóň›HŚK ŕqβżi“iľ -ó;fżŢ‹…ya=ŁÁÇÝ‹tű2:éß±Hd/©zk/5/ô‹žÄşŁ<âŠ`#ź«&ÁŔ –´Y:'đz‚°É«ęKŃWŚÎ<€;W)IÎooątÂnh)M6§“ť»hĹIvCyľĂ׹‰<čk]úW5 ߆A¸¦ş†»bdıŁ1˛{˘1$!ký¬áZóV¸.±ň„pÔą©VŢ'Ac“ŻűU¸ă28« -€ŞÍj<űLUÁ%'UGď68»`¨ŕîgKŘ®nC/îŹ w{<]^ł’s9‚TśŠďôkŔ{éëŚTä2KGÜFÄ™á°L$¦ţôĺßěJ~VPŐĚöů˘0"ăFŁť~Ó׿Ů5÷j<Ó§®!Uw¸2ƧĂ;νţQ%¸`*q]żűrÂěᤢź‹ř(~Éĺóńěîf \‡/Š˝2ŐjÍ­P•¬:Ő•+·rä Ő´My)1h§ĽŰ‚žK6kđ?&ftŻĂi5ąŰŢ - ÚÎţT7őpďx^Ď?»Ý@ŃĆÄQń¸Á.Ěgî'ÂËc^¨çľÝśɶ]H†ýŤ…Ambň? ‡bŁČŚlsĎY;yŔxűÍńÜŔ6ýĹß–$Z˛]X°Ź÷±Ť–üJBhgTĺánż°í#4o–ů1.=®µ GĘGš$—Ő„¸R»÷k÷PćŮfăĆÄťŮĺ/vä¶Ŕ%zD±¤6­ŕĄYl‚ßřϱ¦bĐT`ÜĺsÍĚ«RsuyŁ pnvi -94G?°8¨ö°wă ĄřvFŰčřO+–űꉅ`®żÍ˙]8űĎ”¸Ń6ŹčŻŔÍĐݰďBź'ó°N¶ËÚ´ĺ J–;r/”W˘ČŤ)2b wV´ĺNM÷Ľ*Ől4”Ć­3ľ ëśs+€¬ŃťZ(M”OĂńDŻ˙ś§˝Tß9<ĺP±GÂW˛kŞ•ÚÁ÷|l%d`~TOÜş1é™HâékÎbv%|*K~ĚĂoç¨cżńŘřDŹT‚g1ů”—†čÔCS7—g©Ô†a7Ö¸6ÖĘK ŹJ?F­Źúβa¬uż5…ÎUŕ4>\IÍž~°đˇTZÜ­4KxČ-Of'’¶† *]ÖV1"QU) v0“UW%@yoĺ8™›Ü„ů«“t ŕĐĂ$4WGĆ”LáS«»üNŞD¬ŃA躡ęÓÇąrŤľ•Ţ^8ö3ĐqłÝöë8ŁFÜ*uá$kçfç -Ő±jK©WÖ&ËŔK9ŢĘ%ä¶uDŤ:uQQxQÖaqŢô8„fÉSiWB”ĹÍČ´"D…ă!†’Ɇ+đóéw›ŁŰŐJQ˛cÄŻî©B(°łăB·mŘ9-–úńUÇ1Ëa1 ŔňOĐéyÍtC˛ZóÇŔSźäXvç¶dDś0A>w \ë‰mő“ AăHÖ`Ő‚‚P*·ĺB•>1E‘Ů9ďđ…léCW˝™¦ÚäÁm7vş›IdȬemőW”貊Ô\ˇD·äű9PVĽ0Ŕ­$ćĆŕ| ŻÝz$PiŚMşdGĚö«Ě=Lb@%ĚÝ’¨ň—ŤĆ Ja–ŰÂ@ŨG jýaţC25TŽHOÖŃ‚bŕç7µ™ĐČ- 6ěĆYyŃýÝD ©†çŔÇ6ţUAĂ„ ť–Rç®#ů”f2ČH&ŻĽÖć–ÂY–śśbűµ§!çvđBšVć8J7ŁÔ=YX–rá´ˇÂEüĄ‚ŇŇëëf0ýăM'Ć·vEŇÖΗ§÷Z[Ó®űú[ˇ›qŐ?nŔ«i ĆŮ”Žk<šr2 ůŠ0oR*Ĺ -ń˝ŤßîjeÁ§ÎCÁ€®É:ěÇWĹFĎśҰ[cU(š·€~Ż „ÄĽBŹV]jÓ©”ń¸¦€¶˘#> ÓŹÍĄآ‰u|“~ -đ -˛Ă#±”W×nŮ‚µ,ĎöĐ’Ąn^!Á ›§zyרş|ˇ® +ÉËÓaÇ…ďΫ]S×ó˛7[Ň´ą€˛$Şőî`Łń«!Δcő._|¸Ä]˙‰wŞK«zđŰźüK4Ţ7Ű€îáÖ˘YşäĐîfe9GF;¶żăVq|´˙“|Ţ×q‹ěŕ>Y–âúöpü˘‚—Ö) Â(Bü‰·>ĐşîÎV‚ŔüŹR}.QĘ©,Kd Í«ÍőŤ­{©FµçŇ»‘~˘Â"©Ţ¦ń3…*°a^ ŹŢäŘĂÎă,¸äńĆy—5„€¨ĎĆ‚p^«qě3ěi P‚GIcť"—á,›ĘNc lřÄĐjL­¨¤Z¨„Á˝É ·Ú­¤÷ĘÓ&Š·Ë”šgďâ}±?i–•äś"úË"śź~f(RÉ„v*¬ĺĆęCaľ%ŰžŽÔkŤ2OU}†ĐOâ-1ŠRmW}Đáf&Ző3r<úĐzžüô€ö¶ĺČ®ah§¸®ŽHljcj1vŰç‘ß„\‘ŘEö¤BS%Lx=˛¶âť%Éň1°¸qĘ«q×7é5”Iq,jĘł˘ë°~ĘnౌČx ^ŹÍx.Վ“ëyá'gâ°„‘yŻüZs°:Z•¨Kí·"๪ -)u»ç«}–ë$+ě:9ŕđŢWHjý…ş÷±]ýöKf¨šŞ­h÷úýe¸RLŤKř‘OY;ZeĎO}łË‘—¤Ö”‰/ś¬ű¶B`%Ż9>Ňwł®}Ř=î5=öLű l»_ēɞµ!˛j[ó ű;wK9ZÂHc‹ě伡#Aý,Rś~˛wXBAÜŰ«>ŇŰk@O˛ż0¦\xĽŽ hf(¸Ź„ťČ8U2vę܉“H3‹Ń<ůqöź¸áŘž÷KT‚PXŮŐVTsŚ+ŕ˙~%–9iŘÓăýŘmŞůr(‘…IŢ °ýzIŔľ“vHďOŃ›Á!$…±žK|ă©ęy›r2mߏƬP•)©V‡łöĐ*üű˙‰™“FF;SÚőÉŃ 7ü*÷`Xšď22ŹÝÓ2>ˇ‡Ą´>×Aî YáxKç2T‚REŮÍLTY•lš -,5ĺîŚK❊5^é'7—kiអ"0Ň7óź3ęäČŤÜr‡ÉŹďRš2hW˝:ůŘś.cçGHµĺ -˛Łjľń˘kz6ÎĎ©D6i ű•‡¤ţ¸ąh`d‘~É÷Ü˙ÍâcᣏĆ?ž7wŢ­ĄŁŹÚş@*ú§Ęy‘[‰¤—˛śěÜ"ô:Ąp2›@#Xkśżúl -FŢĺ±ęuá,kžč‰Ý°čd-ĂÓ’Y9“:•ńQź—tćOđ!íô|^âgsŢřś^¸Í=Gő˘‡} ¤týyĆ.Ž“ľ¦›ü)AJ-ŘŞ&î.IĹRîĄă˝QoŘŁˇ!#]/9©Ńh+´€Ťú[12Ú"„Di:lI'^ý†;!Ęo©š°Ű·Só—FĚCMW·Đ˙ďvµĺŤ*ţ 8ëţ'‚Ť ÁKn‡-°ô¦íľ÷řń’V|cŞęŔNĎ­Ś´ĺ` «'ĹwÚ‹Ĺň‰zÇUkq ޵{ŕŮU‹Ć÷ć±Ä4ćđBc3†žť ×„o}F)Ţ -ťh4ĂN"c''X_,– Eó ZüśYšš:¨¶Üby$ĵ[ş–:„ł>U †¨íNăÁ3ş9Ěsß5,Ű& FČî,ĺĽ'»tVźWřôsFö\F˝0ťž-+ţ#Ť“ó^ťPśŹhţú `¸ŁR@×ČVÍ˝ŕŮEä†+ĺ˛Îvh®áC8ÂN4(<4€ÇL˙ń‘™Ę^cŰą?¬Ľ3G±O—Ërx=ęś -źő ős°ÝßO–®>˘VgűŚÇ+‡Ö€ ˸ÖhŻp‡đĽĚŃ[çIŁ & gcŔj´äĐt&„ś¬ÂCŞ8Ď>ĺ -„Â6ú‡e흌 Ť†2)ĐĆ÷®Śźĺ¤ =Ą{u⦾Q’2bqŮř_´#áŰ3 Zźs> 6aęŠ Š - Ř"¬ňŽú.z2;ąĚż˝GU@´ˇx­u9…ŔâÇ‘IµÎ<Ň 9ĺ=oŻÉŃQz=ií‹çäAďţ=4Đ/6Xö-Ü›˘ WA|„ű䧸ŹZ >o=˝ú&Ş@řĆ(2ŕ\Äß7¬’5¤ľ$t¨˛ŐBŚ“łi ©4'5¨ó‹3Ż ń‘€™•ú¨‰ -äţďâ!4—×A––[ŁŹäRäŞ*dÓW.ę’NG+??qDWŁŘjăšľŤŘ/óľ7üU9üćŚţŐ2ßď# ęËŰŐÓzX#b#k۰[6çŕ•¦,ƱqŹ\Íl0X‡ ¬52^  &m¶ä%ËýoYTx©ŚÓ9™:™'b˘¸2ĺ›ŃHŰč1§Ç>˝± Žp3é©áúÓÖ[đE˝Ş=ő^VłÔšpai®Zńž¦"…aÇŽÖ¦@Yůš‡í'⮓ŞŔo»śÎfDl·™KmI•0¶ź",‚ m©ä-¨ ”ľ|ŚÇ%Zqâ®>ń‹Ď÷ż,S&ŞŻÍ«ž÷«Éą2ŹQ)sLg»?Rˇć -áŞČ<üÇ.Ć ´R¦1–<ąý”`“¸?$‹­=«ëľI«ÍÖ¬ĺÍ8\öônR=ѻߑĎÔP;±ć.éJ& uVGÁ¬f#‹ĽŰ)sާ۳Čxˇ4ă~śZZ®Ú Ă'žwÁŁÂQ)ńYÁĄŁ1$<ďé ČĘA«ĚŚăkDŇ‹_mJŠ(A­Y7gvc<)ÇlšBů8ţ–{ŕímĹ­U´#}¬÷× ­y@îŢż˛.†+Z#„3Y–Ľ<ÚŤZÇ6ď]Ůî$‹4ĺÉ4ěi@ËäSśą˘ĄŤÜ´cŕ%cő,‘x‡ -?©~%$÷BdË0_[›ďq}$ąÖýIîHĽ°ÉÖC}‘°ŚČtFz‚Ă<ŞbôÜ˝M› 4€&„X‰Ę0á§Čî¸` ŢĂ.«GňĘ'˙@ű!q6öą†G -ŁBŚF?óţŰt˘-»ňĺŘߡĽĚą0ťŽďrđÉ%˝Ké™^ÍŮEŢŽ v•·\%ŐPŠŕň«>MźN$Mhp1&]@$MJšwžE ˛ˇÔńýŘKšß5Ƨ -t“¶ĂhÖ]Í{F€×FűćÉs¨¨ÔŮyÇ4 GíĽĐ)1¦Ř]9Ó—Éąqu<ł®˛h]>Ň=»Ťâ ť˛I–·r„ô61đ1" -†Ĺ]§¦şsL íÂń÷Ćă°˘â4•‚mś™?];–ŕ¦o›‰}+çu€ł[ć#Ům)O{żÉ}H‡śüĎ*`Đ‹˘ÇE[ŻšČ7©É(÷uÚlý‰˝Pµa·I+EćAí<6ś{ŢC¬ĺ`ÇĽ.*Ü:Öz -‘-^މ·Â˙Ä&…łXE†ŰK–‘;Łpnłru„Ö«‹Î: źśZÝ>#ńŔË;×r—•–é€TTŤĽs\'vÂY¶rJ«ôIr»*~cŤ-wŔťcďˇ ŕ(7.­}SćŕämŚşž ťĹßfWżün7ŻWüqÝfŘľŢ]4îMťt(úlYőUr„ZpÇ0v¬h¸-%×CEʲ˛¸±Ĺň˝ˇ‡ÖäĐBóbĎßtŔîÝŤ%ôŮB 6(ŇBŤFÄÓcź1!@ş˙Ç+ RĄX–ôt[Ě^&KÓJ{µ®2pÔĎ8Eüc¶ęôY¤r»=ű<,ILöeö9©…s2Z——<•ś±}?^.C­M%ej˘g)z$s}˦#5­~ם|’f™^ÜŚ‹kő˛ďĄ˝7× =}ŘŽo®8ľĹđ >ó|t`rđwŃTÝ ®dŃŕ‡XňK—wÍJÚŕ©ř¬_ěđ`ĚGVšRřĚÇb)ź}ĐĄ#o‹~˙ă‰Ëy^ĆäűéŤögj2¶ôęôÇm˘»k_|?*Ö#¤ O^eő X™éxE8÷¸B^GŘďěŮŐĽŢVšŢ.[-YM2őzŞ”}ë5“˘ âřSjŹ«áý1Ě·Ůäj ð4YY™Ô&„ł˙›„ä|ţ}ąIE ^]-mö^Aâ]G%Y»ń˙›~•f4úâ|:hdŽ$<*LăËÔ:şj9IóĺµĘăť—CřÖ;Ţ cĘL¸`~Ü?ëOE1ëůĺ‡H.ľÎÍ/ćđTU śŐ‡B‘ŠŰQˇLaGäFw:ţ8‹,Íç°7ăŐÄăJeCĘ´+­řdĺřšŇ$ŘöL,~ŔuŔyů‹`ŚĎË?* iĂB,äÍÁ%·Gš_C|˙¸d,Ń˝äUE˙liżufÄěÁRXEČ@î!ŹćúłŇ] X‹é‹îWÍ8aA±ž.‰R‘HĎŤÎ+úňÖăŃOvíŰđ˛Bţ’‡uńÇ·Ç:ôŹ^Ič)ĎŁ6 ÓÁo^ĺĺď´ů¸0ą_”)ď®Sůg2kŻI6aGmŰŰ“eB|§A.ˇî˙&Ţ÷  ÉnA8č«=ĄŇ„8rm  ^%dŁČ˙9Ř·CĚď1 R˘uËyAÍd ‡˘Ég]PmŚÝľD¸·ţ¶R¶mńßĎĽ”;tGÉä#lŘK+Dă|Ě!ŔOţlŕ­ňw˙¬ĚQŽv=ş=S×÷4źŮěb[RďŮůiFaĺŤűü^¸µF2CŚő°—ńAăͤ!§Ż‡Ć?9p- ťáÓŞgZĺş# -˛Ěů@óPaü[”ďöčÂşwâx˙yOq¤Óx% «#k“ÎIÍ×óă¬ÍäbLc\‚ćKŁS­Ťµł/%h»l× ‡·ŇńF® l?f÷Ěđé§ťľĄbE«‰PˇWhâÖ…µ°Ü©Ú Ń w|Ö«"§1÷Ě)hę7¬Ě ÂMńzŚ9nNź@Hž°”óµdÍś čI Ę%)eü®·M0oźq­Îvřú3bÜÚŻ›¶)Ö’M –@5YâęÚ„ĄËÍŚ_ćAe*j,Ńľ®5ü‹Ř• Ţ‚i¦P‚ÜDŘK -eaĘđ]™jĺňĺV4¸éő¬"Q?zß˙˛}\TĄëMŽFU›9 -őŠ%ľ|«PaZ2D•gCîŘ$2Đw8Rĺ©‚$0Pü™C”IAő|*ůŘdű€>cG.€Fבşµ­ŮTĐěć -h"6TĄ2›DeÉ@Q\Ää]¶Őëýů[ËÍ0@ŠđđóJĎÉ‚´Ą8Ő5-b“Ż*™Řym—ř' -4żÖEiţ§ę¬}$™ţ=ŁTň]#ń}pT'ŇÂgDĄđiĆAVĎ©Š>Q—ÓEć$ůYŇ»H ™‰BÍŽ=·ËµşŮÎĆĹ÷˝ž ¨8Y©ÇîŤýKŤ¸–qÎb&5¶÷ŹňńňMhŞ [r¦ äaa—|S\üŁäĂ÷z< ĚJřŚi {)ĆH3?Jű˙˛Ó€=tń·„epnĂ^p2lLď$Ń2sŤÁžYˇśčS§?Nň–ÝgĺÖGĆ@ÓĚS§. ‘đúşkâp—ŢE$dąśžÇĚqŞŔn„…€€5㏿őřyeÂÓvŽ*ť/ÜvOíÚJ*0^a.íÍ5ZÎÚf. }@ÍąăÎ#hG«´ú*«(–©&ăMżŽđ˘/<á¶ÎĎi·ß Ăp‹XÍ0aO®SNtFkŢőň· qYkđ$ŘŃ™‹˛e$5׌¤Cy5Z€¶‰ZZ$®í ţFO$x±w{ębŞýăËÂţé_uŠĘëxů -ŕőât˛ŞQÚb}ř,6młH±Ü[,#ÉUéň6îsŰë’ÂŤxŢ0%…˛÷:´|fsÚ »őëĂćx)O]AńG´Ęx§Ç äö6Ô°…ÖÓ®nÉÝEĐ€Ş/ę`řÍ»ô+%ŕĄý»ßú -‹ŕ˘gBeGb‚*b°sŻ$0SL-ü’Ĺ^Î=<KgřŹîśW×D®ľáO¤µë_ľ­ól< ´Ádj,żýdLŘ˝Wx5í–µÁ†ń“ÁwöĽ©>o/«g‘EÁő eXFء`.^ÜŰ0°v¨q«?¸©‡:ŠÁ„Ř@~€qTŁ Ü …m”żHŻ»Ýgďךš5M<‚áí‰űF!ˇo<ÍäfŮn uQ­-´ p&“ĹŁ-?Şaµ˛źqľęc{Ş0*/b ßXö0ü¤ľ¬¤'čô®ęŔ†ŤWťŕô·©?Ôť„ú˙a;ň\VţQř¶# úű®ÔéX¤{` Śř[Ş#‰çr}n¦Ź`CÎᨌTkD\“^aTĎÓÁT¸aV‡g±°9u#hŤÚ(&7WL.x›vbŰÜâ cž÷†űzu GÜvĐÁŇçÁuÂŞĐľ±/éŤ nÁ:§2`&‘±sT¶d`3&XĂÚ\•DŤŰeĺ·MďG›ËmO”Ö<óÂGňtďi -ťÔ­É#!#÷ÖW%Ł.˘‚§9CxÚ¤@˙¤Č‡±—i‰W_ľ -ů˝^ †đ¸uľá±ş]n‡9“Ć0Ö*u®*â š9ĚĎf»›ŻąÜhŔgĺ­ÔďčŮíA©QďÄÖ»y¶ž|˘Y›ýÖ¶ŹĂ猖3+FŞö*„Ź™˛í.2‘ţŕfŘ˙G:ů•ËČŻ1Ő’…äŘ•˛1×ܸDąA¸·ĺ-DŠ5űŕ®eQ|·}±ÓÖŻˇ(Fé—°˙ÉÖiÝČć,NëŁÓr°áurĄkGz«mˇÎëÎ)XóhŽĘńQg˝@áHĹČś›Ojµv~?X ˘g-"oĹł˛ÜĄGłóS6ůčŢ4—ŻVś4#¤§ŘyY×jŹU;Ě‚ _"±Ą+8&yn÷šÎĄŽ×ĎĄ˙o[FťĄYŕţ&ő–YXĄÚF|=ń’`śrµóţý·Âf%oŠ”u˛7‡š!ڦ˝Ş˝• ZtLťĽc*'ăą7š:|‹Ă2Dâ‘-ĺuCíŘíëľBžF*Ł~»Ć k˘»ďĄ"{#ÍQx1p¸ü¨Iť$Đ #B Ă:N~S7•á[âhqŠ˙ˇ>$ť-Űú4ý/©ČBµŠY‡›—»Mďő—Ş -/VR•»˘[CřFí} ¶±ZSL§Łâ&óŇ{Nv¦­őŕÖ_ťb­ĺůČ Âýr„`ň!MĂ[¨COc‘nÜI°ĂË\ąFCŃ=Ĺ«#lzEk•E¸ÔăV_ ‘­V®&Hb*'Ś1-^źJŚŽ†ť°0_/[Źűľk­DŃÖ¨€Đ†TÇôĄx¨±g:\Á,†) -+ŤÎH[6j”˙ČĘWApř'űŐDËţÝ(ᱬüBŁSsë"Ľîµ! Ў|Şţ9šíé çł'7Ĺ.§×ˇP]žTËť›{y”7ť0t„łMj¸;€'[Äš«ň¶Č]=ˇď›úMxŮQQ7­Ś]ő=ˇ‘Ť/ôÉ""ń§ź, -`˛jÝ@@/n í_›y¨°˝¦wІ ľgkË÷JI¦ µ™~|*׊kÄ7ń\xŹC>™úP5ÖV4ŕ|·G)Ŕ&=9GÁ 1§yĹ6̢|¦ß pB•˝awTAŁÖÉ$Gj${yÍ.µ¸CP6g<4ĺ/N"U"A‡ŮłČg^)Í>ŁďěĆ7öâącůL‚C¬Yë° Ěć&ăÓÇGv|óĚŰf› úľTś†đ°,­מ[WzÖäřHÉŻIíŔcÄŹ_wŢCQ)Č$ůňjˇ&?_޵şÂ \8á˛é…X.‘˛ŚK -.¨aŠ>R“EIJ÷¸éhbřŰÂ˙ śĹEP/YŽÍ‰¸ÔbeGoÜ'ĂjT#0äOšôŠ/vź‹”Důl4ežłt\Ő3Ĺ?ą*âč(q+×ku$ä¶O -íłňhDŽĺ]ˇ˝·´¸ő’÷}Ăâhş eßH§öWěÁ'ą 3Ry·y7%T/vľ]n[ĆĘß3źń„G25V­ăŠ}`„TÇąPřĄë`4 íQÜćŻ×1ćä*Ű%í»ÎDy¸»+T.Aí:-^lŐYK®J+'ÜĄĆá敥ŮF}ý -/Ç>­RmňyůŤŔl©ĺ9Ňim ů7Ő8"y U­ŽÂT%e>Ϣҭ’çÄÄ*WTÄäń˛÷Ł4őĄĐ#^0S17NT†ťgĎ_‘ő&µĐą5ĚÖ°@ż¸ŚÉÓ˛Ţá:Ă6^ŹQP~śiň˘×qě ”Ć*ú÷ńĚ!=ł~”NđˇM/?ĚŕÁpc˘¬żüŸ;öŹéŹß·Ć@éuÉ<;î¦ŕť†šo¬`»X)„z/âź<ç§u'—âÓÄ‹^i}Í÷OßmäđĂ+Š0‘¨łMÓŁJ6ńşO>ޡÔM× ďB“fncŤN&u°cE«a•‚oŢĚq.ŰöďíUNřD^Ć”h`.'ňpŘţ5CŰ;¸‹‚ä¸N9Ŕźíń:ťĎAU)Ţ)·sbˇL«ĎOeV3z´K°ééß< 븫ÂâőŞ®żČ kgZ"8mSe:E2?ˇ]=ÂŽ1r?/cŞ{< fJ íýÝSű› VÎYäBA]çnç{PĽU„Jf‡|đ…éjđŤÔěˇ`ĐŘ›¨lfës =\‚p*¸Gë¨&ĺjŞŹřޱlδĹR»–'­×…şÜ HyÖÜ(ul:Oß·>ąxś«a‚P%Ył™ą7áĺ¸ ĎË *ęüq^Đ.â!ľ_ĚĐĆgçf­µ“°Ą'ƻߍö%rŠ1ëńCjÝ…Ó‘ôg-îpo$˙<­śÚ”b,.Q’ Ýŕ!×ý}^q˝Ó’ŽŘPX-‚|+ 4×"€~ ő9Ţy,Ť<áëî;›Rˇůüx>Ü{Ý~űŻ âÖ,iąŕŮ‹Lý$g·żv“©ţlęz!,”čě?ďŤ#p‹%Řeµé€ôµ%ańŞ„«]•R*Lą7?)>źŽ×űŇ8†ÇCąŞőn_QľýĹ0 ˝łČžÉĺ9FĎÎëŐç9mš0ĆGłBó5ior˝żşď +Čב(jSfšUĄ†Žôgíŧx -$OPäĂý’fĂt÷%´ŢÚŔ°<¦Ě¤pJD—őZ8Š‚ŁŕcDŢ}ńmnjłĘkĆmĆSe{ź˛_§ZŠľ±±Ě˛=©4~Ń&˝dšvŠľ5”ćśWv¤„ëÖ>@ŞŃćVÇŘMëbDm¨8ź‹eú˙&’ lw<‡|1řq¬m@a»™ö.…0(PLŚxa.•ó\ űđ—Ő$đo˙î1FŠ1¸VB^µVű®ř×E¶Ŕd«…Ý=}]bfŐęEąö‘^j -¨hÇŁ HwW5R}žÖ#Żw™H]˙°đµ K|°ł·±‡ťk±OďýW/¦R_`Ą·x ˘ŁQBąůżŻŃM}VÎŰ‚žć’e[§&^f»>Ji#QB_}Ą…LŰ VÁ/f %#ŔÂ>ÎŘî°_=C«tëĂ®ÓÄôň¬řŰ’yĐ_ö»1U/ݶŢ.qUÁ§ZiÇŤlKç´‘ĽčJ úÔ×>7Ł4\öú{řÚ¶·kĄ&ZÍMČs3<;süČ[÷_xy7T±–4‘ůĎeŤC=…«6Ô™ľĆL9CN*yń;{-ˇ*,˘>Ń©ď•r>-XňŰřM€üźNĂOBX˘XCÜâä8‹;ë†Ţ_cz’§’[•ę`„2u7żÓťç¸oČb¸Ň‚A(źŇŻ~?}«:U˝ť!¬!š¶×ł G©„DVB§w”­`YY»MŐĎŃ’eSDµtĺä­0A)MYOZTVú›fUí{lFRĹ=;„á«8}Ć82gľhXžßć‰(*Ý×\ÚHJhʶç>·ş.h:ö5ĹĂ5öżµPTRÔ˝Hc[+6;őńu•»Y,Íë}@Ż|ŞU@Ž… -ňÎÉâB˝Ű"ŚÚÎFĽóý7o=µŐk…}îßÚ—xĐy-Sîr‡ŘTBÁLíË‚§ÁŹě÷?>ăŤÍ!(ĽĚ8ÇźźŃ©Çp‡Łë‚[łří.ýł¬“퟊jąüĹť6ÁJĂ›˝bZ«?ý­uęŁă(l=®×@%q´í›Ş×Í”ě6Ę‘~ľ_Ő؉7ÁTë)Ë{7ö}ƨ†·nü¨›×‹żxkőMôKžO¤5Ńl§v˝ŮŃűĘ{ĹĚÚ,ăš46ľϢđ2ëř$0 ŕÉż>ź0 •đ77Áž¬Lvr۵>céP/¤†»L{1ąz~݇%Ń´©2UłŔ°7ŢłźďŔ‚eaąSŽş^ô(ŻĚ|ËÜrmK~tzý$¦!śi÷×BL×áٵ!4Tú÷Áąě{´Z_ŹDWŽű®‡YwŐüóoĺżĚn<ôúÚ@–lw -óÂ8ÁЏc3‹ÁęňTJAÖJĄňnH?FJ„±Ľ`čęfµ4°´á qšapm8¤ĽŻČs4ź3rt°˘IUËh9wČ&(ŚZ˙áˇ0 °–Ї1”ÉrL`x#†44âçÔé(»ü¦ůŔč€ogău˝áóĚĽ'9I‹UŞGúś§ŃůőO·ŢĂyzť§jü÷"EíCçcąŚkGż˘ö…m/"Ϣsđç0ą”#„#şýŰRݬŘ~7ą=Ľň±Ůu&Ł® -Ś€V®¤ć‡ c Í‚şÓAQ"aŠ5¸Ł=­űŤ>\L‚–:cÇŘű*Ó*›Ö“ZćŐ>Ü]Ňíš7ž…špg˛9Ů#ÁaŽ“?čn?bÉÝ.÷ óľtHůäzöŮŐťűeÎ,™ÁÁ|üm,‚_ł-‰řďŘ›:pĄ ”q™QőŔ‘…nO‘ű¶Ő‚“ŘřňŇaÂ)Ď+&ľąńa<ťpqÍ#Ů×_ÂR÷0ń*°®bťľ®¶ż5ĐôkiLĘăZęEA*™áŰf<¶´Či1Ř] N(ŰĹÜSsČ@HćYK ş˘őFE"Ňňű˘D–AĂ÷Ń˝ůřtă“óë%{ŻWćŻčÉ ‡aŽ\•°Č›Ďý¸KâIȆ x*¬ĐeZi»K)dQ^ß8.I|©Ľ™eŹý¨›źîY[¬ÖRúë®S±0šĺo….¦Zuţú–ý=ËÉŰÝ%®·źŽ˝/OŻg„&bwA­T ďň0đ™ÔĘąěťŕŠ=©Ç}ó-űµŻ2IßVdWíÚ•!¤!§·„ďăDOĚëëYj,3MâöŘĆřoÜ;Ůž8ŃËL!ß( EĹ`ńY$†—ł©µ˙®oçEZ˦¨MXČF˘đ”8Ľ\ą¤ČÁč3•ĐŃ~ŃľÁâ×Ç[ŻTó€čT†fç˝P€ź ááéwńČó/g \’)a†¤¬EmÔ6ą~)<öw•XÂ’“@;ë5ć?îdđ8běäJ@j«ůŮ,üHÍđŠKâăqЏp_1Ă]“G´¤!ZÇm„r°éšKŇÜŃě„ţŠěUÖ|NIiţú‰x\Öy GÚč°´ś—žN>U…Qß•Ŕ+ꆜuKŇ0C$Ó®đc2WĂô7†AÔ{Tw›ĄS‹ň.oöáÚz„‡żnËąC©~Î˙ę &ďG|ÉÄK&—צŢOQ\«¶]Ůź+d Đ[©¨'ÇC¬űÖŚľP¦B!j ىđ$¬Łň~A<•×ÎúÝ…!<$ľW~\gwYö4®cW\} {îq`ř˝•Š$Ë@™}ŮŤŹń)«‘ŐÍé›î°3FJ­‡¤%Ą˛cźćHVÝD~9Fľ/$8ä§Ă˛ĺŕ–y¶ÂO×!żňŰd¤fCč¦]Ѥ©Ď/čQ·fYůT>ęj;€/[f¤=n85Ŕç“¶"ú-ć<„ô!]kŘŮę´“q膻:Ü >ő˛dR¸(ޱúÚG?CĽ—ő8X_űäÓH€¤8đĆ۵™yî%ď -“T2ŔÝË ß•U\©"|k3•ŚaÖMIîďç|k*T ÝrůĘ6ŽĆ,Rb lef…cŇװ²/Ýf‰˛‹´ÂuL¨Ďb8ˇ«,T%YiYôËL%Ç[a?{y""‡q[ďĂKĚńÝIěágĄŐŮHĐŁXYű3NŔ|ĚöTdU¤HapoCn7ůž)ReńK·~jZáVç©'şýĆČsXÉE#Ú”VÖg®łýІĘĆťco(ĺć †ţ•DůÁÚé„ů3ÁUî&Ś´7ĽďÇgąu…żdÔ›xă?†›5>)cW|…^€’Ç™ť -ź-Än!f0ą"Hüx–@{Ú50¦{6.’ęá´Z2ěz©#µ=IŹpšÓ˛ŻJjĽN&”ŘŘ÷)pŃĆ‹ÂËOŞAľj˘ĹĆ#µJAŽęYęxŻć§Uh<>eŇ2Ŕ…i®Ěa»s “aÉ8°_žŻíź»ŘÉç‹%YrXµ„·ˇb ďo*•?Ö˙JÎ ±1t=ű‡d8×N®ĚSń‰x•‘|Y©×˝‡°ű4±ű~¦Ň§žÉxĐuW̱;âm„igŮÝ“eî¸ŇéenÉ00 ĺ)Łć†ĘtŇ) /ćĺAÜy·fü‘‹Cúíą<Ő>ŘxD¶>ă6:ţĂn§łŹ[‡.®(ëšbcçGĽú¸ó˝îKn,ťł -ďŇ[YV'î QÎ@¤ ňâqbËń®¸†Öü=ňÄNËĄłáQčÎh…b´d\ÖĐËůSĘ4 YąČ…ířC"Ŕ˘ďW¸´:¸a?—ńgĹÚąb™űí›CKŤ3׵˓(e¦îËi™úfzž÷l`íRŁž¦4)C IF»jRŽkÚŁGËš3µpŮA-ßxëOëh6XÖ‰ý¬MÂěUt1 ŮłˇŞÎ‘xąŞ…× ŕM‹{L…łąS®Hhż4MĽŽY]Ešš|\4ëČD#:žwąĐ„ZM†żdćIN©óď@ Ŕ{a`-”Oż¤R<`ň"î‰)žîĄ]|Ď´yÄTÉĆXŤ%“táş7ńëŘŤ_gŻŽ2vÁpÉŃ^XTtOçQĂ‘bWlµŤ\I™Ç†PáÖLkýß±xwEqT»üD®bá$ŰH+ţ+véŤ˙dŁm<ĂŠ’JPÖgÎJ@7„2°"Ž…Dż#B}™×x2úŚhÚyŮ޵°‰Áîg·áeÚ*6Ak»!ľ÷-¤¤ßČžňŐ­}­8ąşŘEi,˛D¬Ď!Oµ¨¨ŁáÖdG‰Ŕ XTk]ţůZhř…¸;- ŤW˘‹íĆ’ąśTÔL`"Gć®Dg¨bW,ÉúţłŘĄsçÎIÇĄŚĽ©pô‹Íb×wšiKFZŁgŞ´ŠŔ dŻ®ă?ŮZ·•¬Đ€&IáS!—Áđk8iJ™Ž^–Ţ©VĘ S7ş4@\Ő‚đÖ)žĎ §uY^u˘áV @‚jÓ–ăC͡çQŹFľőThg:ą->“Đҵéw’ń -äĘWőß…1ĐAѧš#T•4dNETĺů}rŚÓ074ČŘöz±§}„VŰ„yUXŢdńEr©ĺ%¦Ťv!™ţ\!ŮE¸şXިÎŢ!b“—jšƉB-–§aEéťĘ.×9`Đ÷ł=–ŽĹÝ®•ąŃnCĄÄ§ó·Mzy8^Ţły2˛wípú*¶Č2RőO1žö<µGÝh.’î«*vĐ€§nŐ¸ Ýây$xţß–Ć“Çj^đ@xFÓUVx ]WVyfť˙°ŰŻŕőęé[|ᡊţą{ţŽŔC÷®GСf-¶Ĺ-đ\@KJÁáx,_–-ËIVĹ[tmi®K@¶[4pô´!‘%F D€.Cx® Ř.ŐW4yŽîr%-÷`GÍTSéLĺ[•> ťÁ& ä±°8řŚIˇ¨ú¦űďęgóo¨YVmŮíIRH9VĂzŢ”Jţôu‚>ŤGŠW_™!i_pŢQçQÇ’° âiĐÎŰmŚ\ś'`¨7Ţ]ß!dśG›NW!’Ě÷YÓÁ´ăµÁ«ůkČ)¬71>ł]@Qúgłb¦†ërwŇDüíMôL†R›ÔpĺpęUźzó}/PS&sB¦Ü<‡©1qş±O;dv:ăČ™rđŢÍŃ®Dŕ…QgČęň?ńx9Ź»ŚjÎçîđÎ=KÇčĚöva#M¨ßßďÁ.˝¦ßĺ–lŰ©e%]Üďâ) ŰĄŮ tŤJ)ęČ>iöRç‡ń Ř -|[ň.'É:BŻZ®JüyČÖ© ®Ü ňţ`ŠŢ‹Úľ¨‚mÄ{ŐpŚąč“µ[Ž€‡ł—èđŕ„˛‡›&®¶cˇ[ą8Äž8"ĎM°$Bˇ}!€¦Q)KŹĐ‘Ěi˘Ë€‹ öÝmrăĘĆq„ľ:‰ 3&"Q-éŕBC¸ xŮkť¨;U8Źy®ŹŔ,ŠtŔŞT˝™'iŁC ČG±Wy¬…L×&DŹ^&†'Ui2Îw›lş-_e\„7®ć č ‘”ŹÂç!Î{ -ĹŁe× E‰<~2›iMČXi«qY‹»S,hX:L„áëËÎ -ŻâÇ’}†Ś]‡Áž Ťˇ~J›^”„«ŘőŃ LźF‡˛&#Ďa[ŽÖi#ĚŁ:®¨Ü™>gl6JĺF¤ ?^8WýL¤Ş(–sH`#nCbeřŐ•ŕ<&(wÁ]§dňmU*‡ ˛iÝDq'Ć1DÜJďGdÓsG¸pâx`đűŰÄÔaş”ŕ iD.HíŕFzµ·/ĂPăś6@bĽŐ>vŻű'3ý˛©fý˝G‹‹Ú%O`9dǽ˔ą4Kt.çÝŠŹ~yÔRß»ŻTn[3&ŁĐ·W¬0[Ć}•ŢÉâ«đĄFľń ě±ăÓXç§Í·¨0ç˛ôČ~~UüČ # ™Pb±»MXň;oIűŽ“É×<×l‘Öc­Đšiq¤·„Ixu ˛ rI7ć®É-ň°îXĎ©žוş6pŰ5í›˙‚ĄDň[ĆöáâżňĚLmE·°çxÎ7÷ůťőŐ“F2łx”ýęŇČÓm˛ŤöKÖM}×í]J‰Ä¸VŇnH)šŘ€eĽ‘“ş&~öĐ„÷¨ŚEľëŤD‘öŃdÝQŔtź»Aäö”ď—­ -!ůĐ4kŢNş 8Ő ŐQuŇ#Ş_â5Ž`ČşĹ!­mŞßL(—ÚŘŚ<Ěčkô”묮z¨kŤ -tZ„ĹŽ|˘ŕć7y*ŕŚ5[XĘCÖů5…Ńa*ÍĹL ‹'żâ˙ -”¨U—AŰ?Ą†ąsśâpţÜěÇéĄ$ae˘NbqçeÜ-:`Ţ?(8˘żÝ—›ď¦•Çiš>»9•Z82ŚN&vŐl°U -y(oŢm@'ű7´=® š3Yj°ëčCż­ÍY2”–ă‹ĺW†ă´÷†eŇócŢD_ŰŻ#+ óEĄżööpţ«ÚŤ"Ű©…ř?5€zË­´ŮÁÁŚ9™ť?ŽłúŽŻJýÁĐĎne‘T™Ů{°FśŽ°:Î; --ʶ?¦ÜVäPS°ď§áF;S÷Ŕ±Ě4ĺů§@!b;—7”<Ü<Îß j8ôĎÓ= x8Gą.(=\÷UŚ‘Yá%T!gVą±5ľ|B.qí%pY+ř…Ăd]ďuŇNÚâ_2« M­,Ą˘÷d`$5™ću@6¸ˇZeŢş6÷>°qoĽxέÉ}P'„ţAŰý®€“v GëBÓ­Ľ óEF€,ń9!őPíCăĂP[ĎäĹÖ - }zKîťa­ŻĄ9‡Óę&¦Ě§•A‡!Ş-5Ű«Mxl)‹C…tjeďË=mßÓŹ`҇GąµŰyPÁëďc׊ČO×s -V’c¸[ĆmÝ›“nŢF\Nô˘lŃď_ť`žÚż}5˝¸­†Ŕ~ݦÓ?9"Ď;ěë…ö&Ů.± uÉp ŚrI×GŠĺąbBą`ź«Oc­†ö‰± ÜćŮXř%ż gáß×KÇÝ.=S7řYŢo÷ĺHĎž[7¸_÷piű}äú,ÚDwëwvUňwĽ”Ńm©aß0rÎîú“RĽL ‚ÇÉPaŔ"ň·ü» ˘łG>†Šł2Ü*Pśl‹&–ĂÖcfŚŁďŚm& âR§,lś gŰxűŲJÓ5•Fëú"§*Ƨʊ«»1"†a Č ýŢ7%ŠrŚÉ甲7Ť:Šąé'łĄ°GŁ…®]%1Á&©ÚÍ]Şr˝Ľ{ í4ä˝§ű†ćÉ3€¸•^L¨î($~‚Q «Ř<ě§łp‚XŔ2ˤ‡†>"<¦¦(ńqáAÜÍh‹lĚîv(X†:,ĽçH>QMŔ0•.ţâ:NeŻ´iýG-5ČM„ÜšĺQÍ.ƶNk2ŰWQcŹ|—¸ |~%ÂÖ„ČuëvކP@łµĂĘ91Aő˝î f‚Ó$Ő»PűiČČé,L †»‹-RP*i ´[í đśŽSUh˙xSĚ:XÖH„ś›ţÖ9^˘‡úĹ&G瓳?§ ÓżCІb3ÄşÍČ´ťz7wM—s†'—ľ&B€͉LXĂľź€;¸9= ĄčŔĆŰ `iĂć&†â^H7?ň<‰yŃt‡=ʇŰĹżä]«ý_ŚöçM~r@ÂßءXxĺAj‡pŚkjąÁpd iă+®}]&]Rďąé‘±sż)ąÎ- -VĚŐÇ"$Tôpę-Řô˛„“Ů1 - «®Xô|ýEâŁ9<&‚>§]Ę˙µĺ3ą UÁŘÁŽá–9=ĚŤC+«NŞ8ĹšGÎk7‡â#ßčÂcw &!ÜgШkř7i9RáJŞúY}¸A•) Ó…ŘDŰB¨ňx…#„źŻ5xÖPľ$řçx˘Ű‹ýZDD0k$„%ű$rŮΊ"–±ĹŤo#uŤy2‹«W?Žw+Ö9€I­ý+ „â uËA霉Éî.'A´ôĹ+Ôdµh푨}_âčtţÚ5 ¦t9ľ^3-);VůoĆt>ĂÁäĂ´`S@ůR‹řÜPÎm®šw¦ZFLSRُŤ§ě†ËŐ"ČÇÓ_¬Ź­==ÇF/±‡NÇDŃŠ0H -—tď®)űiXJµNŽW[ąUľVDÂ~ †Qšo<…ÚoďC”ďjWô“Cůąh;dE÷2›…żęô|®F2KRcŔËŘą Ú|%ÉQřëq}s˝Yg©K¨€Ö¤¦°öď=Éě´~hRXÂčŰ*–%Γ»H6Ş®±n"7Z<Ä\žČrŽč#,éË ťXnňr~ ‚˛?ťtóÓ“˝AČmSÉíčć[żM©BýÁĽ–í‚°«`–Z…q-ľćÓ+Én-tíîÂO¨P C•˝Lč‚aŠ'îŃ ęöŚ6žŮĹ’©Ľ‹5oK¨F€)ă‰*JDpFݦčŕžo -rŠźrĐMHív«MůîbW!|ĺUŢÎŐřÁdf+:ʼn/1ćźµČĂ»ĂSa®‘‚nl1¤ú¨™‹ăŻ˘m,$Ą -ŐrJ¶+Ś4÷!|Ôűš)¬MN9{«‰:D’m´ä`»wňˇÓxí X4Ć©†„%“ŤĂú»Ę8·jâ{ĵčkö!üW¤9¶–ŹÖĽËŞŘJcŚ Ř—@k†[Kžą"W;HĽx<˝‹Š>Í•zô#’Q ٬„b+<ÖP*,ă@©–g›ev±Ř8ŽÍ zô6j” Jv ˙ÜŠŞ|ŠŹČ}ÔKmpÔíZŢř°Çŕů°"T‰ż$ćÓ bż‹=m0‘!c§ĺ¨…#Eˇ%şXŹ”ćp\ţP t3F@ĘQáMÍËß*D˘7Ę@ -׬?Q›r(ÁŘŰ4sSo#ů4UĂ ˇw[ŇąS“Tźyv7ŹÝí䛸;ˇm±­-5đ¨đ^ŚÖóO‹fŐĐ1ßmcţälQűĎ3dxQvŻ'`ëC&“ťjRž•*í0ţ:ÎiK/Šý¬ÄÜ(Łďgďµf+Ľ}ĺˇp‰ł* -óüĆzň­Ă)|ŠÓŘq'4Ň1i!Ă‹nĚşRćľe:†=.qᨊڧ­l qńźonć<ÎţoČk<°G°TŚ a„ݎp„Çifţ/ĽĄŐű/4¨gy—c[±eúiůéWňM§ĽRä…üŚ çŠDŔ{f¦ôÇ HńxĄĂă?čÜ)Ľqă -đ—‚ýjůQ´‚9^fŻř¤Ş´wx‹ônJ}.­¨ýż˘O}Q˙ĄË­QCśŐ㡆€č˙Ý‘A¸ę»4vn2·TÜî4ČĎoHŕ3j¶B’Eň¦.D›6¤=ĺr˝%dLŚĚ+<ŃŢŚ˝ů#\6šAŽqľş™WńkŢ!~ŠűJÚ˘Źđ\×Áłk"¨¨RŹÁŠ]p}ů‹Tď)j-Tíľ\’…)ŮKťnmÁ jT -zíľC)üľ–ÍěË<‚#űင‹fč»Bę T»ě\nZ.Ϋš1âyî÷”ÉĐž¤˛$ăH;Ń•ySp펓1ŚWĂŕ*Îíă3×(ŚŰ‡ĂmÂl¨méDđ~Çű.1**ŮfłöŰäôجť˝Aزsx¤jDËäFá—Jđ,4őŚoäz\#᥂_%Ż?|F€ó'_í"»P(ďŃ’Đp°—Wů§É8E‡}*b}5¦ăŽSÓî…qe&°s™śěm­Błé- †Ó93¸5ÎóǶ\Ń'%Çô>~ńâA5ß—µ¬9‡ŹĎ6€Rkw#«Fl(|ż5{‡›ăľ#$?śŔffźYéĚa,±T⦬’ËKX¤ QâqĎę ŤĘÖľçĺȦ«í},xŠ&Ęp·Ń.¨“ ýy5ŽeP“¨u—?řuµĐ•Ĺ˙xň^žöIčL`ŠŢHӡ띗—Ýă\if›Ăí§;,DFFľ_BÓ¤8`µŐg$ҡsɲÁlôO˝řVůăĐUţź+ŹŐXĆKŻáŤa -Zęł ˛xÄ˙ëő•Źšľľ9¸ŰůY„ß·Ť~xKS/Ú!·1H4§ÍBŤý‚ĐQjc{›MµŠL*x“6ŰĆbç*3ń/^5ů­…×o͓ۀ[Q VHqSŃąŐ«ÂsX¬.ě6ęxT„YX!ÂĘ‘)®ţ·yúáněö?S*G¶\ť 蕹óaÔ>ááEc¸5°KµqOŢ÷SđçîJÔEďë'Ő Ĺ źÄ d.pü“Pßĺ¨5}9ÉËࣼwDôÚě˛ÜâŢm¨żôű$×ÍĽ¸üíílüÝ5ýśÇÍ“Ŕ>uGî¨~łńÁ&÷ń–'Ĺ[É@ ŤÉ:˛†L_(âŞĚ¬gňŔ=@Ź0ÚÉ眨§ďă͵”ńU[¬·ž!ą?<ĄzjiSGÍ:ÍkM«đî/qұ!ś(Ü•óEŰgmj!M­4ľ2ŻĘŠŞż¨jđł÷đ%éďÜE‚łzhîKűE˙»­ťď§đ‘lrFGY@\eŰy-8)]G˛óäÝ hââďNs -ąú¸íL˛jÁ˙ű»\u €Ú?Íďť«}t°Ę|bŐťĎÂťůó°ćtćÎďÝiHÓŃý|gšĹ[Łf˝"¤˝{#×ôD(Ux §…ů™!×{ Ż˝¨É…űdsóOM„“0 O·˙Ş´Í#ć†bÖt¸ ľČݵ±đIé“¶ŠÔÜÎjUX,Kqńµ¨q·±KM!۬hČ]ÜČĂDżpí›·ŐĘĽ€“™GK ÖCŻ–5‹Č*|çš‘nËuDgÜŔC,§›XČÇŐ>ŰG¤ÓepUöť}ެ†Ś>0±—Ć’§‚…ěKćŢ8Y]üOCô‘ďĺňË‘ó}ě^nˇůMÔŹăž‘‘ýz!ź*<|DŽß-×ß\  -+5»Ţjě0B×ćžĘC%‹„Ę!á1¶vŃŘo‡Ü @ŤĚć?Á3DÚ†PŔth{cFNMöĎ ©ômň¶)§1µÇýW!ÚŐ0LíŔĐhn…˝ŁpywD„9<}°)»ÝÍy~ű%Ł˙‡ŰBdf#@˝ś–Ý»DiOr2źÝ€Xd zL‹ŃFĺoĺŁ2ą oĄîŮLH5ďµţßmF©%™ÇYT¨~íă müYŇţľRŔÔigw‹U`gf®é‰d]ëI:xEŤSźjÉw·ĽČż[¤";ÉâÂŚ«XD.í˙¶Î´ÓTłóÂi¸ń\2 ŰšNá¤J¤âÎ˙´Xę݇ĄäoÖĚbS7ÉîÇ~ŤÔ*ŢKů^ÓĽ–LYŢťĂ˙ťˇÇkO ]•ävÁZó†ř ±ÂRD*íÇü{ÎGmťÖÔh)Ҷӵč×aŤĐ|©űŚiISő5ĘţČ\V©†|¶ř -¨úôöAýÓ$ráľÎł¦) »Ż–%ýbeśŔĐ—Ěl(ë°ëĽ¨[Ő‰®®đţXC>gJQ; -š×Ć^˛‰-Q˝t„Ú,˘ž¤˛̵ě,Męfu‡"ş,«Kü3´Íď:&Ëýu˙ę­Í–WLőyEŢ@yjç V»Đćçůó0hÚ†' úĎ[‰'Ę…ăÄĽRĄÁ,fNĹíúŰCć…Ć\‰*‡–L€ĽŰjµ© ŐżMO‚Ľ!DˇÄ·ŇĐjFŃô¸gÝŹ•Y+d”W×ęW1A3ng‡ő‰MÁ€n–>ĘÇ#Â04Ól$™MËĚŞ»:šŠÉsÔ±7]›=Peá†Ů­ĄÖ"•cÜY^NĽy(’E=*Y@Ł;ň3X’Ë,i®0ů´`×{¨ 87:<~ôJ©bȡ߳ĹwY…ĽjĂs^ŐJ¬łç’ă|]•ťLÝ7СŰý)µ5P˝Zžoŕ¤wD·Îő°ĂĚţ’™C:Űé“oĘ˝  -˘Ű|Čzątůz¨‹µ§8v°@Ńn¶Ç=۶ٖT%Z‚nF„rvˇÁŤ<ú”Óş–ŃYî3j™CŘ.¸şăjĄÔ·˘+n “Ńn|yŁ kaŘĂUwKÇםŕÁŚ`TÁ8™±íSSó…A˝Ϭ«ęe˘ŕ.Ce1Ž»6ÍÔĹźîÖŇ» ‹Ox/Ľ#ĹśŞ¶ľ’ôÇÇđKŐ`ÉD߯7”Ś~f˘µ42-—1śLÚ´°{űz“FLŐółs8j›ť¸ęrjp]đŕČî$3ÇӬټ—ŃŻ…eLŐöőeŕTÝźľ‡&ú^škŃJ0L’;ł=Č˙ţ»†qHó~ÓŻľX6*)ý¨°mÝĐnë`[Ô7pľ†Ć·]‰2ýnŇÄ7§“šÂÍ‚ĹÁLą#Ă^ĽŮŞm+‚¤×n–’±Ńľ(Si;ĚCź7kż¤Ă[ŻĽqÂ4ĽTćŹí_†ą Ô 6{váŃ€Aź_`ÖóŁ«óJ őSu3ž)vya:Ę{”RČ©ŚŞ~Ůš|“(JmCĹseőŃ…;ßEA*?]›Íď +$lpŹ đŚóp–kjÍgsVďP÷‹uűś,[đ˘pfEĹ~@ôHĂ,4!*!ŢÄ?¨#Ŕľ^¤)2L˙śżÍy’‹>¸¸”E‡´ŘŤ .Évä °žç ş‡ćvüAĎkÝ!·ÔVó^3uĚśúż źíő§Î–"|ĺďÔ†ÝöYJČ|ń}#!†ťż®˙FBöŐs†NcCŕ2äkpŔ¨c¬M+ŮŢ®šăŞTGŢŐN¶7-ydš?Ň'>@¸á÷Í[ˇDP„˘5d‘fCÇž¸¶mý:¬m™5­ł{LMR÷ňŢę$¦#\S/2ß1™ž|·@š{Ý~ľQŻŠ¦n#€ -Ţ ß–¶L?ëeǰ–¸3kôFNsÎsÜË%íXÖ‹Cbʲs(ćŻöąŘ"ö´TXŮě -ż q{ÍÁŃŐš“űMŃâĎ54˛t%{˝~vßl”’áž‹Ü öIz«ÍŁo{eż4– ęý* -ÔľŢ.Ŕ4ĎçDťŇşEŔÝd‘iÔh¶EuŃH=®Ľť+©ŻřĆ­ŔĎ5‰ŻiřSŔ%≯nŐßiĽ™4L‡+!yv9'őMÂ|VY Ŕjú†ĂDç,%žE9˝cđ3d$Ż·šÜÎŚŠw褖g§Ó­Ś»łřÂ9ýŚţŔZŹÚ•&˝ą©ŞŇWÁା3Ź8®:DöÚ DĽŠš[+·®zVz=WpOĄ- ľĽĽ4Ż›úŕE>íKtŹĂ ©ň˙Î!Џ_“ŚKĆÓE§oΨk¶Ţú™SfőĄ -*‘qCdTf·ř `!(Éö¤ń¨WYéa5xňq˝™ŞŁ«č9VVö=™żćw˙ʬQťę‰<3ŻÇ}Ínô^•X9” Ďęs¶Ç‡ś1„”Ďř:[čB&Č-kě VDŞŔ?zÔ—ĂLBż˛;)™^ř® ˝đe- m˛˛‘ţ–cv‰ -l¬í#\ÎÖŠĂ•†ĆYçó°F…đ!$î{k~çvôÍsÁ~•ür*N0ąśťüŠŐŹßN  ŤXTŢWc‹r¦ëcYŇż6¨léŇ>’nëZjŹ/BźĚŞŤ^8Öů'uńśçPÉ/!ŕĎÚmň¸ęů.죦ë™á–¦Hń^Őż˛?ÍUűn-ˇńÜT+uAĐ .Ý“äŘ đ‡ŢŮ(ĄM˛·bͰŤáWĹ_‰1ę« ¦µ  'iő°ű•)´´&6† vz*ĂĎů¨ĺoIm‹+Ű뎻Ě*0¶ď*ŐKĺ°űé×F¦’ßYüĹjâ6 áŕ2«= -÷Ëč®–ŁďłÜóî#ÖUů˛†Ńóť]ĎGÂݶÇfýżeŚGt1éő:=cG(Ść”ŢšMľw¸–üE6ńEsš#EĂ[ąáXIđOÖşjCK›F×J…8’ť©żÓWŔý?˘KL:Ű˝¸v”Š,şŹšľ¶ú%©L%ółXl¬/ö¶Ä ¦Yˇ%Ą*ëÇ Ž;ËUÔ ß¶Ź¬"×YMé˙\bŘęŞ$´ö„#.D¬ëěżż»q‘CÜK”Ę»ă•u­ŰÎđĐÖÜÜ®»M÷’Cż$=(=ͭ׎ôŐ˛)ź5śC[Ś$ôkČ6l3˘ÔV´ĐĽ¸ĺ ˝)K1”«Ł­®%˘I§ůĂ®ë—ÁÄ[ĆŔ8–Tä¬Ĺ}łÇEµ[NÎůhO3ŕ`d €8‡ŻNÉzřűX¤íÚ:3eźÓa°Ú|?ź|,SUÖř÷hŕ´ůlŢ*úaĹýääJ%¬ą‚Śfśyüŕҡ?Ô% yŞźÇµ»ŇÇT¨ŮŠT™P“kVěČ#{‹¶Ćpň­„,¶üĚ CŁÍŮÎř±‹ŠĄQ€p¸^4¬AöPn~˝_ě䌩7ćÂ&µ–Í຾ĶÓŔ,}˝Ú:ôš#[ĽB3yDňPH_ÄfL=ŽÎŁ_t‰ä(§Ž!)ŃH«[&#\c“R ¸ľ!ü}gŔ%ăYxc¸ ÔxY€ m6%˘ó€-[Ń*×H͎uĽRGµS™ZÁ>:·vŘ:ů•:ĚVËÚjĹŇŢČ\]ˇ1:%”°ąăăU·%>2üV…xö©A;źaVµB€ŢqÁňôYf‹CQˇĎŤŃ´Nô&öXĘyŚJđeQ ° Ů$ĄńŔÖŚ†™ÔóE6Źj8ĐÚ­ýőÇ`8XAĄÇŇ•F*O|€}čb÷ *•uĆźćEşg‘.Xˇ­’S.ü ­:îR´ż»Â˛bŽfň¦DF–av(A‹˛¬ęJKcA{†ˇ9Ł^…ŽŮMźŃgńFĂĘđˇy{ł»ÝßůŤ›ČĄxo€í˘=€rTVy_‡ŞŮĆřżeÎnkfGý6ɦ dĄ¬V5č,:žŃ”%óc"Ňítéî<[Šďú†áöšřP’[Űe Y›ą­gďĎBG:śixdJŻ0iebĆŚÇö¤ĺy ŰCs´>%X»CÔţ“šÚU8Ş™˛IŰ_tĐě´îoy  ­1ńv9˘ľ•UÔ$ÔcĐŁŢő´GeŔëĹEm‰†‹ąÇUţß„č}Ȧ´DB-ÉÖköJśxć3řóÝÚŁËÄŽśĎçaÖâx‘‡ĘRÔW‡ź–1¸ÝÔďÜYă#Č?YţoͬŻőDíĐv'Á×hż­‚CGâÚĹÔŁ~Ł„˝ Čđń˝t«7Á$z(ŚwĚÔ…! -Ěs~éNq6ŔĄ& qug==ÎĘĄó1Ů'zXţ,ýőá%&N1”F6QOrŹr2W Łe޸ ˙ehIĆK—5Ň|W~É5íő°€ ăĎ`$úšÖ?¶ÚşÄÍvub`«‰vÎăv”~d­ -WÚ’W˛h·RäĆbţ¤¸>ŮË[iřâj7ăçĹeÝ Ťę²iă8Fµ^‚>Ňz\ˇn%ő,Ů[ńśęu·¤ź§č1Ü2öÂÓCëkťD[ĎŁMľeţ’÷/9 =ll°Ľ„0(čŞ~¶UŮAó]şhLôŹ, -#Iě㼀äĎ&˘;uĆe~p$%űúevńďÜĄy•Pô„O&·s,¬(íV¬‡ucAzń -U®™÷0}éPÂĐVNkO)šqÜů`;y:B2”/ü‘‚ű“g…ď?cŠwüđWDKh9<śXÓ.=#çODśŹÖ®É^…cĚ„n(I™ŔÍaŕ˝Ô€ma3{©ě;‹nj‘?e16¤é°ÉU)Lý{(!ˇrţuČlkźň@ -RČ÷X •©l4r'’łčďŢ0tź -PÔŹ~Ý€(¬ş˝‚łŚÉá袂Ż> ëëŃSćŰ$Ď`Śĺ1ó7C;Šܑܮ縛͕íß˙ěŘe W^9†=™č/™Ą&č0¤mb´49“Ĺ5TF ¶(v{ă źŠ«€5s„z0ÁTśąAÄŃㆠޤnÔB¸f:ĂălX¨¬ířVŮ5žKfXä°ˇúŚy¬Óo},Ě3řÝ©4.BäŇ}cgń`HźŻ°ăeťđTő{:x.‰Ń -bĆ…mŰě‡.˛Ĺ˘F17·spµł›*;+!‰--z†.ńŽĎ×–É+^ËL%ý¨,5€hŇňóŐ,2_)Lß -đ%'Y?.Ź·?ëôŽLˇ@©Ř@UYFď•s+§”7…b~GďČ$>cŐ¦é=$L Č~’v2á.´ŰúŞď˘iűíc!†ś{¸˙ËŃł]nYĘ嫯™Ł]Żh0z66Á˘ť˝Kżˇ¬?ďTݱ>7E˘Ę /˙Śâşśł;T`ęĆ2óŤ4óW¶Ý—ŽO*eřň˘d†” Ě´ń‹ţbŐ•$M÷Ă–Z÷Ń–e—ÔúËF ˇ Ů•˙X6XĄ0ŠÖř5î\şúÍÁÇDcŕu!SO‹Đ íű'±'3qď„ŢgSőmËŢóŰsxm©]qcÓ’J4&0íŽd؝ζɀZŽ( ÖA˘ŽÔmt –\aQ§;ZÜČŚ€ş:˙|—¸)=FÜ„+5óeS{ęĽAÍ`ÇW#¦`‰…ĽŔŮÜ3 jŁ=ů“ 8Űŕłë÷‹U(Ë\Ł Čk&ë©˝ĚĂËéŃĆ–u$O˙űČ ZCÜŕ3†µE}$şóĆ^gţ©ÜĹçş­3÷ŘJíĎ]ß°ÄúŘć·÷e3jŕYPeÍX¨9ű^huń{ů$¬Iŕţµ`ţ…°çő}÷ RŁĐúĂŚZî§\ęÉ˙Ěn°)[ –şé´Ł®ˇţÜĂ♲dÇŮpěĆz;(VG¬I÷Zé2”®’%´ĹĆű6,ţžA±¦–ď -*Eš\D>dt›ę7fŻl÷ˇZ7FŚCutH©dŁłń·RSšśî4áŕ@ ď´Őy^ŐŤ!Vé¦ z-°ř$ĆĘcĄĘJ¨Ő>ü˛*,"ŃñÓ@Ţnލ¶A%n7z¬Öxm=ü’ÉŠŁÉ~ÚxCMĂŔřAâl/ü ‰Ŕ‚g€5„OÉ4âb×€ˇ]·í˘5–ü=„l6š ö}Ý˙ąÁwŘîUÎŰśś`A·>g¦—hׂ™Yvď–Bęű÷q“ŐáŃJ'cöH%Xô7EÜ/l;ÉWűąk°IĚ -Zęź'äᯅ-ô>ľ0ŘaürňŐ¨ÝXşËA,JkO›>ç¨GćîżÚËaĹŇĂŤyMđîÁe'űŠó+núŠ[8X9gďxťVf–Ů~Nzž9j·hwŔ=4ŢIĺކC°”U(Ô nuD¦tö()ęu\¶_,tŔ»[ĺ© %ʡ)1RĚI#rJZ|Ź3ńÝvĺ\>Ę{(|ië˙ŞŻ‰údšöÎe’… Ó1Őňe ŐßűčvMhâH‡ý Gę®3Řص„v8żŕé -łçʤJü\3•rš xOŤád>PÝ‹ ~Nj’!ˇÔ@ě˝Övľ‡1Y’ÍÇ˝ Âá{TY¤wcuČ«#1ĺĽ@˙q6HřŻd„1i•üɊ¨Ű;(J­őlg„Řo‰›{om60ď©Ń¦ s´ąVŰ6će¶‘@kďŐ銛U¶Çh> bX$}ěćI…j”±źŐd8Y Wýo Ń’J3ᑤ)őˇ†b¤/ri†$ót‚˛wÂŇä9ťp„›čo2"™ľÇ#¶ć‡<üVé2s—O‡Î3<’č)E5“Q´Í“Ľ˝Bý;śĐ’¬§rUN†ú|V~9‘/B±äUźYóĺuđeŹűŢÁł˛2Âh®®Ľ5ącYű’3Rk‘ýZwĎCzˇnsVób¦›÷!y~ŤŤö´ŕZ÷z´á=ă_—łÉB€ęQqü™íô‡1ř É.3ĺIýĺëŠJĆ|Qy&7ÓńŻîĹă<»„´Ţđ‘›]Ť9—Đ Ě:îĽG4 çˇ -ńUÓv»Ţ<Ő×ÎâÔ¸cV«+¬ĂŚc.Ń-Să0x=ČďQ7ů_Ťĺ]C=}'ń{„çˇKářKÍ7Ąf/Áî3źŞł>(›L_&`Ś@Í’¦Ęč.çÁwîY Ä5™îó ;ů Ä"§ř”ăž•ťŻĺžÔť‹ZÔuôl#MÖîÁ -D±őCS‰2°˛¸ăĄz§=šQqŻÁ4NđPµ4ç5<ţ-řŤ™…!´%wÎĂ­ÉŢľú0…”Ĺ©—ŔŮĄ(¨×ňąŻ¶8Áq6ŮšźŃ:"vVĎóŤfxMIŘşŃ«Š - ď%é( ˛Ň̦ޕő’°*ďN€˝ŤúśÄ0a 畢¶y1xšeP•5凅µ–PMł4;É H7Ţzq©!ˇÖ™G©nőŔiöõ)«Mz,”pn_jtµŰMů9¬˛GioŢ`·[ĆHMĆŐ› j§źĎ hß~} ˇB"3Uź*ŮB­TËĚîüN™c©§yŮŸلę¶Łf›ň‚¦ăĎąŁő`íÁó‰˝u2—›•yś|:g‰‘nŠ8ŠB”ęręKxg‘a8k”\FrŞ$€ľ')ŃkŐQ.ů4OÖóľŰś¬] ˘d-XćÜv!Éĺcjçđ ö(Ű«µ>{&¤Š3LM|5p¨”Z=$ŽU}‹ą»ęAŤőĺĂft›V/¬ŃŘýwpžX1ý lJÓ@[*¶†×v'b~š îË\Óű Iz *ňí˘Öf}Á§}ŕżÁwŢŁtÔ5€RŐPĄ†&GL›”8[Ř#»ĘbŕJ ł&~ -=Rűçs9d(_ŚŃjä;˘ăńMě­tEňD·ýuqáÝŚ‹ óÇ=b$˝ tú@ •‹Ň·‡ç|ą†őL F:Ş?˛źĹđK€ÎęřÔ>źőŤ)ŢQ}Ć!ă÷|i»…˛0†Oă¶W¤Ŕ´Q9‡JJEŰ’QJNňľ!LUPcń=ç›U__>ŸG˝CEg”Ą;ߊĂĘٵ4,«†Ü«ÄüŐţ‚ʉ"[2×-‰Ę\,%¦6ß±Í e–«R Žś0¬#†·;f¶Ľř;ĺąňÂ)/FŻ+}/bµŽDÖŐź˝±FżăÚÄ5îz–LszgőÚ…Ł 9…ę˝J1Ž’ú!|XL&ř +EŹţ’'·ş–qHťn#śźĹą÷„íö°»Ł÷Ęęő»‘Éf‰{+v',Á>"íÓǧťtë"}\yŚĽB$ĹxÂĽşŃ˘üŐä}‚Xű -ČšîlTúđŽL}äwŠBZI” 9Ď:*E;Ô.BÝ6„Ż :ęťşŰŰň EäŕuĹ9…-ęa¶™aďžu‡s{)ß’Ç1ó}§ŐŰf{®ő]ĎÇ -⬭A®Ŕ)A¤ćF‰l[k¸Q…„[Sˇ*˘ĄD+Ş Ž·†SmžĽn °h@†Ł”äÁGm+"J™1­M»Ľ‚Ż´ťŁé™Eu4¦ -ŚéÉDWzÔ€ŐŠ 9OÖµÚJÁC±k’Ç1âłÚŁ÷,ţ쯚әĺ5µť+šże#Bl±…ăĆÔ.IpnĆ«Äri?*"»Ľg‡ vi’בÔh -,ŤOlcŠŚ#©â|ßTmęĹÉ4Ý8Ä.ťQÓ?‘,6^¤ŐÔGÓ%eX)µ^Ť®·ŰřAXüľ…ŘY…á5Íâ:×ᶆĽÍŐ‡[ŰrXÖ©“~€ ˘ŕˇč™‰4 ‹5>ő›Ęéâë`žbNÄlí>ŤRćO‡c´Ęă-i~šŇ±ĆľmgÎO‹şt]5cBô#¨tĽbĂ Ţܱ&ţW_MN2>šđ–¨Y~™Ú@ńjp®műdŇĘéăyhżÉůŞ^żV¤„5|Ĺ‘Ő÷XßPL•Źé˛řGGŻŘWΊăĺqé -Ž=MM0ŠŘ‡”¸yDú©}_#ճοZ7qi¦Ó~ްgË›\ĺŃ0ž‰» —ĐMK2ĹaôÚ˙ÓCÍŃ6Aqř ú6kÍ©|5J/Qm•8 †13_ßĘ6~kDŚ˙;T†ňCšßW®g„9wÍ#‚$ĂꄿU E=!#ČW´íŁĹ»ŁźJ¬T1.ŐÝk~fLxJ-F¶ ůLăjˇ Çú…ßű÷ ÷~W„ Ča*•";ŢD h;D"(îÝ›â î6Ü–őúžťé•jÄÍż±G®*xĄ.ş:+w;u•kĂóďGQ0-ĹŮtŃŚ>yB2`a_h¬ŹErŃA)ZÂ\ýd$?­ŞŽµđs®¸vůڞAĽ ˛:ČΡׅr‚Ő6­V÷Něr`©čÉŁŐźi8LśĎp:r -;«BÝkA˘A;#Üë%pí!ßńÂÇŮFKÝŽ6AŁ˙Ö[•ü7~MćuZ€hµ2®VőĚnf*˝Çâ<đ-˛ýW)–Śçz”֞¹¶E¤•çţ°$‘vµ%˝dťüXעIçať]°«›™nžëč.8–Ţ6ŢňYěGăi˘Ş÷úí‘úČň-ąŁ‰°:D%kDľňćl(LđÄCŃ·ŰTóز".¸ďŚě—ÄE}Ôi>€N؆˝hDRÎçÍöć:<™u·>já4Ć*4íyNâ|Fk¤Ľ·’ -o"J•ÄđäpXŐĎ -łL6H¨üŃS$:'ŰT${uÝs„÷T«`Oé°q›naôzâQŮĎ1ýÝçÚi¦Łç(Ź/!@W‰°ňÇŇž6‚ů4ăż^eâôl q§^..Kę‚ÎłHh‡ö]9ĂëöŰÝţĂőŐ”ÖŞî‚zľN–OčĹgaźŽÉE,–„6ÇâÄTŕT™jĽLI69ť·”ýŤK±Ŕ^€‡Ž7 Ř}dµô€Ť ÝU‚8đ…“¶Č[ą(’á|6µ^H?Qn´šv–¤xrú–)ŤyÖÂńHDAa{ŰćÁ͡"Ţúc÷ZŹ*;ĄÚOľÎ>úηkHŹ"š€*KjžÄD¸‰ë‚Ř™ńě ˝‚Šug'…ŐµIŘ·˛ŞŢ 2ë„ŕO°jqśńýĎÄ×>}c Oh»ýŤ§µič¶Őţ&ăféóŮb6{‚ŕÂ’Z`Ľ— ‘ňfłŘ{‹ ő°$Ňt¦Ľ[ا¶ĺŢ˝JU2ź·<ě-†sĎŹÖ1+϶~?ÓD«î—¤S.×Vj°Ż,ćŔÁEĚýű݆{wK*zą°uU8•Żq…ÂNDˇ ha;ä5‰0%©°ň”n{Qő‚ĄPđÄ]n -T€ža5ád«ć®ÓQťa:ú´"wŐdúd #ĺć‹L5¶¶]!S!»ĺZ&‘©¸»çŃZĂÁIďĆ µţu“±+kŚ:?g'â&|DI vÝ/žş·(ĽvŚwšK˙gĄĘŤb€ÖÖ5\2sł°2j6©ićŔQ@©«7â&•Fž‡¨Ú %“„żFĄ—|Ń:m>M‡˛Ó˙ČÖ’!šÁ'Ľęµ •ű˛ŔSşgCô;1Ž®|ZĽWz ^ßŇúGë%°X"č1Kâwőž{ŚZŁżýć1,0y+DçŞĺRD¬ĺďiGG=żśnpb°d˘¬ŤŁĽŐŁŘ«;\ˇQNçĐŢqzŮş:Ł`R#t^ëÂŚ4 qÖÓaĄ¨şŐáË@5WŮ3ˇ)W•q\+ -<Ď“č»îň@…/Čąh«\ˇp°8D—őźđ•'vŔ¶a—ž6$űŐЎ‡b´Ž ŁĹLŞč3EË9śZ@‡Ań"ž  -Ňú}H|4u%uç3pˇËv -> -rą«5HüL‡ţlšG(6 ß©óN˝&,*WCĄěV„Ʊ3(;”ŁaşŔíźá4˘ăůɧŚW3Éě˙ÜÝŹgâóÓIŃ…ČW`Ř_ž1nřΖ=őâ-牏Ç↓EµĎęďÉL_®‚vYT€ű/ŻÍ'}@d˝3/ w?‡H@µ%ă\.0ř;~nŔ0»h„ľÍ‘dŕśŮŞ˘g}¬´şĘĆĚxřŔlÄîWčnó KŠŁşKKŢúĘëť/§e>fF°žŹÇńn·(BÁ%·¨ßuĄXďĄÁŻŽçµ{MŇZÂ8™k €ćS(Ć.Ů‹Azc,{Ô]G#u©ş€2W][§"–(ôˇĹ±±—¦Ůű×Q -=‡˝7ĄČňĽ‹!G\©áĺW@Z"&粲gĆŻĹ/Ş™µ8š‘=µësTw­ŐoĂ-CÖ9(*Š:¶<Ö4÷`ukoç ÓŐŞ.Ž— ŞŐ3”´b#j»W`QעŁçš»”Đĺâőđé n…©đ˛z üHŞ ŠÂ˘× ĹăÖÂ^»;Š»ě¬R,˙]Bçşa[…8d/NŘ,`ĎE®őÉ]”|ĎčS!!H`(t9—ďҶ[ŕő„甕ŕ…:q©-ĄSn@‹xŘ -Hş×ĽŹţ áhA¤ÇsĎĽ"ŘžfYíI«śíÇ•śĹoPv˘šÜ7Í·3ć?ŐóÇüýWěµ˙·e€~¸Ö-ö `Τ䥎R6źýÍŔvrí -Ž ”ľ!ťB(]jϤͧńĄGɵżÎ‚ýŁç€áť§§~Ţ ÇíhÖśVxE+KŮśl:*>ÝÜ *@T Q3Ď ľ0¸_ŞfaŃ2C%äŞÎď~!ěPOĐmo,X0Dąyżgŕ*ŻÇŘŤů¦8ÁÚ×ď•ŕ«]ÓÉV›„(‹ ˝R:é·Ŕůž 6łęŢH6ŞýťÝŘ7rŢ€&Š ¬°J™Ö’üŰřë@|ăań†¸.†-~ęŔ×rÄĆ•µ–ÓÂj­„šxşDJ7\rę/{9řł4¤h4ŢńąřL{i뱌:÷VoNň>·&ćÉŠv*ŠŞŢŁŕžshA&Oއ—ľĂ2h&1¶“r¨Q™[ŢŰÄAV®U¤·5.H˛WWˇ2%Ĺ ×Ärčr%ź$Ý˝NŔçvâŐ{˝6ţ­!}k[î‘k˛Ü=?KwŐv†ĂĂ˝†a™qö÷ź’í@úC°'ÇdpR°Ě†3`$EYĘv,Ő…ńT€âz+ť™Ue•P ôCčůőŕţŰAÚ%ďŞ/K>‘YŽÖ@3$4/ÎÉš‰Ŕł$»YĐĚŻd€CĚŽy‚ ľj+ň=pÎ}î¸4#ěN$Šnw|uă&‹b퀙,«+ ¤ŤóŮfĄĎÁÁv 9ŞĚ§>đf 7zeăBX‡ąaJťÔ’}÷vĚćď—}h©´ †Gˇ/đ?Ă„üçF›0E”[„§yݞĐŇ“¨ĐQăBţĆq|ÄĘÁŰË -qŢęň#áĐ.¸úElř|%(~>G%·]厣¶ú¨.ÝiDn¦˛( ®LŁ•őiť¦˙Đ_ ÷|ÖS„f„dţęĘ NÇH2ŚŁ"čôÎęőCJ 6"8ýŕ~¸š1‡ŢTÎćÁxz®EĹ9[KÚj€çŐn—äWĄŘ”aĺ˘ß5\ŠL(÷ű{É’-mM0IJ@|ÖY÷Nç'f¨xÉV7¦Ď5-WęýŤ¬UťuYËu?—ßbqśÝ•6WmĎśxĆôG‰¨Ůnh)ĚÝKi˛XÖ}$˘’ÜU1GŢXŢ0¦{RătÚ0¨P˝Ű” Ô µŔ5oAONČ»xQĘŰş°űČ’mU˝Rŕ&Ő`[Ş®CQ`y@Q¤OC„K±Źw6ň\\˝ÉŘ,xĽÓpôiL.‡GgűĹ„O·w‡žH[É}±ÓPd’šŰť(N~ËǸ0 ÜFIěăÖřÝÄ–Ň2ăVĐţľy >[żź˝p?żŚB-ĽËěF9ş -dćÉçúdć=cJěÔ7Ź2\Ň‘«üE ~XĽ‘¶?žóŐĎÄ"żÍ0±ľ§±óŹžßDZĚA p—Il†‘R­’ŃŤş¦ţ•¬“ůŁÄŁáşČ-p+Tka5Ń&˘+Ú`H m˛—‡ň@?]rŚş{j€ M-̄ɓOÓá3y˘eŻŮ%’b}%UĽG…gEüĎ!枇vľRoˇŁ;ŇJňšé ĐkgÇŽŔ“=žäX€›IŔÓ¬[fľ€I%ů͇şÁy©7×”ż}ÓDDߪôĄ#$ˇďK$X¦íµĚjĘ;e…XI–‡âşľ ŁT5‰’ěKë÷Z Ë#X™Çěną]“S:źq·éu—« ţw8ó«-Ý]Ĺ\>$—ŁŇóÉôP@ĘČ ď^:ҸE“ôxůyú=—ďěŻ ”B.“|F6¶›6Zžčů¤ls'IM çvĽq˛©]€©ÚĎua|Çdrq [Ψł·„™)‘Muś1Řqőësxč[lW€Z†+ô0b™eOY1Ěqë>ă^J€i\iÂu*&M'ąś €đ“–IF“5´xĺůםˇd°ędG ¤B»ŢŽYŔő8mk%V`ş[Én Úží§îőś¦†ľ iýŚ?iIËZ÷˝…‹Â#ýÓŐZ°36L„.}})éŢŔ}§ëâeĹ*ŇýŚ®Đvi‘YÝŚšă•#ÝökĽŁ®P=¸˘<śS¸-S@ ň~›ž)†™ě¨ęg­+¶˙Ż9sôŰŠľŤíËM˙pŚěÔ'˘{Ł63 FR·2i*9cš™üJÉ’÷(o’Ňl»Ëi/cCč<îÂ:á+ńTeęÜ ˛ŹÄ5µż&¨CuŹ—ÇA …9šłÉÍťp-9{p3Ý8ä¶ňůűë±DňHHălŤgąPF‡;ßęüń¦–“\ŃúňCŃŤŠ-äż -Ňŕ7îú~8j‰®ęśgnôJ¤@v´ľżc^:h ¤ÉŚcćO)żsÜ„Ł„Í ú vl’mô·/_ź‹-˛·‡F0ţŔ؇ˇ¸4V¤ ¬“‡Â)ÖY}8“ö"0^.wI¤R€5Ŕ°1lL$&ĚŁröX\ĎőˇĄ¤Jk<âÄ˝wŔ$8Ôdî†éňňǧĺ–·­ŁŇHgŕ 'ăZÂilĎgS¤Úďž$¦űB“Á9(Ć=Hk -<‚TÚGĚ—á{I-‘řő}ˇ Ď=5ś¦ Z¦":JŃ˝EÖe9%Ťş Ě -»l&Ü-ha?ĂżÖ|qVVĘ*fݶ ˙>Ň|o77‚°ňq‹"­ë1Ŕöpy šĎę°›Ó+cÚ;ˇö†=şä†\{ňÇ‚ËhgsŠ‚é] :M5ÜÖÁ~ęý:¦˙LŽ0}8@?Ň/±‰v¦yhę§Rą–Ř>R–&]}k‰ yÚFá†YDćąí †BçűÚůţ4“.ČŻÖ‚h4ףxW/ăľ9Nf©PĹ©4F°Żu¤"=f/‘„EOwĚ“Çů ŤĂ âľË$k`ż8!ÉŽÓ–×ëWŽé ĹéâľMťőç3™Cb$Üň3şÜ ‰Cß‚i.bHPü"YâébÓ˘FIĽ™| 7ămÍZ#3śb8˘NÇ÷Ŕ˝Kp¦T?ätŮşyäĺď@ŐÓ[µU´ÖĽl•$?ÁmĐä±ŇI†ÂŃĽó v2áIHĐÖĘÎÚýoűÇ3UŐ)[qT9Aż!*\†"ëŚM‰wÍ«µ©ŕöV‘Ń)|p°Ć=Íżťa'7ąŔĐ!c8‚V\Ccsy‘VŢؤÖ”·L<˝ÔÎ(ůš“űÉňŰř\çŚÚ©ĄFŕĐ»B93űQ]aOYůŐ…yýťmXÜŃa$ŞÝLőKޞD´§ěPó‰%ňqĚźš(|Îü÷ĂQDZ¦ČBažÂ(†2čF4”éa_pßh{&ŢyşźÄŐŃŠěa҉4JbÚ™"}ĐK.Ě)ѦÄyËRm<ĆĄŠ -`¨dw1ťłěwtšN‘çsČxŃw‹9;.ř#ŕ;‹ęÎŢi2ČEű{h҆jĆ PďĘ ł`ôÝ{™‚"™Ž=ó!ŽŹŹ`ŽI×@*îŤRP$…« gZ‰Ó?¤ŕĐ®űYö*Ý> ŢUZ)Žł-Ć1ć°&S¢B—ţ\D(ôvX ś#ĆלvL§các6v9·[2)|×0őEł¦»ňťš‘Fmt|A*üiÁĐbľ‰+:/wŃR¬{g3¦Q ëZrgeT /Ą‰ŻŢCW/@˘€Śî٤ňˇ©QŮFGZ ľťXŞÓĐ×°˙ŻjwW.ăŢVát±­ľťţľi$µ÷v!+„Eµ¨!Oó·¶Ľ|ZđýhqDÖ×đů7i‹Ř›Qą›†1ĺćNĚBÖSŮE´_ş¦¸T~×Ř»Ź;SéŹŮő§X®ëĄGěň§Ń-0 b€„4MÄ1ŽłMä -:vëˇ<-yvZ tyŁËÓł *«¶¶!‘őËŚ=Ź«PéQëo°ńś%y}‰b¤Ü…ü0H"Ť†d~Ľ™áä ·¬xćë˙OÜ_u+ňHőŁĂć(>r±JzT|vŽ/ľá ą˝qn*36­ć*¨Ěé‚x6µËťŰÖÇPPjŃô¨8d¸ż*×~|ĄŠńWIđH焳Ú° IŞü×áŇÚDËS¶â Öč<~xcŞ˛«[S)>î:"ťÜ,&âńˇţ’ń>­{˛wa3ĎĂ('8ĹN,¦Ż™ĄCĽE˝ŽkďÇú|@BËP‹ MţŤţŻA—Aüať<ř™Vň­3é٤«b€ĘťÍĽ}WÝÓ–Ż&;{Ú\60zůŘuš*[»’´rsđđiű‹ç•$TďŢ›/e¦1?{0Áć”ÜMŮu2ÁU‹ĐGoąj=h?QYBmşFÄJ¶0&.ćP¦…'ä!‘Ň ˇů Ĺ ďęsÂtQá¤Á‚é…Ĺ~>ýS(v[Fথ?Ěl}˘(ĺiG–[Q*°ŹWvx,aĐY$Ćş†öhJÍ:W6Ž™ď ŔßEtŮËJÖ3wŁdŔ@ɵ–VÂه¶y}±’٧`®»6™Ú‰4¸oóâK˘c·HWUj -SŤşTäúUc@DUŹ<ľ/+tBZP[érńçj|ć^úŢ -W@ -ÎţO‹ŢýŞ~ÝĺÚVý%Á)â2˙*L5Čq÷,s;¦úvĚS_MáŞöF|r†cWťy ćoźkI ›ű`} …A…ÖľZřEĚĎ®S<ø-}ŤÝx¶iďok™i×/UŔţźšËĄç9Ě—g=Ěëú÷Ö•` Ű§˛”‚VÁľŢgÂRG~sxź†ŔÝŞĺÜHcô´©Ń–rŹ’TĂV z…!»AĄŢ7 -ű*Yręł%|OźÔ Ň® °¨ţěä ę{}YB+ů,xřźeć ăő|D«Bň´O6NVľ´öhËáObű.ą=ŤVVLÍ6GPDÄ' ›JOOrT »¦§Ĺ:‡uËj•«r˙őĽQ:ąŚÝ—ç‹+ąI‡˙ÔXk[7Čbń*:UÉEŘř/-¬¨Ýan¬ĚEĎU*vTčÓ5řHIo˘cňËZö‹¦u˙Q¶/Æ™ôßşšf°Ża+‡kÜ/0EÔ˛5 ĘśÇMÉ~ţRä!t´qfrĺ_¢P_y řt-lĂj™ľ_cspëOPWĽäďž=ť-¦“t˛5ˇť‘y«Ý˱Gű›˘)Í‹“Ë©á…ô߉hT7ţ‘ő±ŕCĎ .‹ˇcL”$±»AČ~6kIĚ~O{ D~we–>×gúۦ›Ş5éÂX?m¶Ü«ń=ź&eyŕíčvY¸S01,äMx¦+óôjŮ=V-M$BžOň}`¶»ÂU•=ĐƧřQű6ݶˇJŁk„›Ął'_»Ď`»ÖöV+Ą 9"—űŇę˛ÉůůwWřĘ,›ą@V™ ™YkĂ0VĂĆź˝Éřҡ] ߀/žĂ–lňĽw4 łľ¬š†Óżž2íˇ”0ťSš[ąČ".P¸őŕęR‹b…^”5‹wg> —zňŮ6 n-ęľÜKyfkËčé–®h·(ßâęX[VWgXôHăÜ+\¶Ü«Ú#c‚6ÓDĄĽbŁŢÉ]’î†ńçřÝx™ ¤éŞHšńó“Ö{ -o&Ş8Ä– ߍOśrQOÇŁqüIrňă! -` Üî\É˙ôxÇl&GĹÇä˙ˇ˝km/¬p5Čõ›Žd–ëU±FlĹ,’ć9$‚˝Ł":{h÷m h¶ţ}|ëL‡ł0Ů~ÉĹťÁ]źüůypΔv)ś÷őTB«Ôď%Î@tXPŃuÍLrv˝ŢłňlěľD7`ŘĂČ®ě#„‚<±áH"“Ě2Q+ w'ĺUcÁš¨Ě©˘%6)DÚTÎu‰O±‡3cwpÉŚÚf`t9}ë)ű˘¶ícf‰ąpţô©ŃŘuĆZRÍvŮ‹¬`{ĘÂäc™/Ř—ĹúŰŞî¬2g˙Y ćË k|~{?¤0ăUŕÄÍű-ňŻĂµDضâ¦ßŽ—Q¶[hr?“5¨Ĺz ]eâ&UřXWi9Ą±±<…EEŢń/˝Îw”qbEbęŮ#J¸•¨„Čł1KŞKţiEĐÇ)Ö“ńż™Z÷T†›ľťűrLW@»9 !0?Cő0ěÓü+`túu á§űȸżI?µă"'!ů#T„ýµĆ¶łĐ‘Śn*ép[†ű•x))…H&c÷a޶dŔ.®ˇĺŠÍ:˝˙îEµPݰË>Ą—nÍěâň7ő‡'“ť7 Wśťh>9ç¤rű­˘…˝d–ĘˢG>®H=ŮÂ>©rBÉŚ·` Ő« ’Ň_Ż7şĹKT~«¬y - 2.'şE StÜ×Aó ,ŞÔT0š}/;¸¦ˇ:)1K(Ú^ĆĚ1«x÷ŢZQc®ő]¸tËűÍYË>¦ĄĘ<×Ř9ťťép›áGJ¨ĐíL„ʵ0äJŹĚŐÓArł´Ň:Ov›‘oŚ^î>1 đÉ`:Ƥr¸eç”äÇ0-™~s`.‡á>Áůď«BmS˝WµŻv.u¦ Ń(9ű3 ha/bŤxźőĎî…ĹÎŚ— .ńéH Ě>©¨ßÚYR´5Î)Ŕ(‘m­s&  zńNifÓĐXtôB:©‚NHĄeŇí3‚i˙l˘UL V|2+–©:»ŃDé–¦ ţ˛Ű†”ó—Ž{$Q.Â1ň˘_64ŐVµ‹T*’•Ďç*4s8÷¨HOşéQîWĆLüß’”»8ČäáďGž%q˙lDá|ŔÄ ŐĄłZö1l;‚ĚŤŘŐk~˛Iáj/9KĚo^§˛ÚŃvRKTڧŔŽţ´+Ő.s]±ą°As•›Dj§ŃjÚn,F‘˝"%^ič٧LQ`cÄ<+––9ŘŹYť†8°¤ř#SB\aöÚbůĐ$Löö„ĘŠr”ĺÔŔ_L‡Lňąň,łĆ7Ćv&Ô»ôAR?ˇĘ ĄŃµyŹ.ZĚŐ%ŁŰ˛Ňč(´5ě Ţ< ­đ 8LŁŔP_ @»®,HöĂą}8rÜF—/]¤ÝűQ5yĹş8Ĺ`Îť­vä\Hđ0{gŘ|BžÁ;ˇ™&” BW@ˇ9ŇžZ*yËwa¨w -6e˙jľŽĽDüP‚żKHRÚ»ŁBÇţ9@Boť›¸cťŚ÷WüËô}ö˘¨Ô€2e@ľHЧ˙Ę8E„*Są8˝¬/2ĂŤ{đłl< ŕ 0ŠÇńߤ`W0ᦽCÂ9›‰U¬82}:i.ŠĐAŰb¤»8Ç\ĘüMÖ5Ä[D CŇĘʡÖKn§†ZÝ^YłC1Z.ľĎüZ-¤Ô®@’,€ÍMĘËf5ă—Ľ-‰ŕnťNÂŐ»ˇÇpĄoCđ؆±y–¶ĹŽ.˝ŹńoNRëBţÉÚAŃé…KĎ›łŘť$)‰ĄGꡬ5N¸1Ü2TćzĺŚ[Ů5´ůź"ül#€ -ęé13 ¬“ŰžT’ęĘĺ{!Ő2˘w°ąÝ¬Şr\V,^ĺÖL›´S@ -^•ď¸ęp@ĂŤsłQíÄE÷ÇéÁČé^˝źÔ7l€łdt`Ŕ˘ÇdDzş€•ŐŻ­=č±PŐeúŁžtN.$+÷n˙ŇKs‹bKmúÄw‰€Cő`ě!GM‚ -ľç|â™8nB-~¦”®+11Ú4 ŠăšAí D.–Ň–ŹÔ”Zý•ÚĆGx).ÂŃcˇŇHvćÇĺ./gݶý—ŕÂęç"4TĽ;o·fńŻG§?€?x˘JÍ7ËKĂ r9‚;ŕçqŤÂĚëÖńo6ęń2řÄ—EŰŽŠD4„ns¨éůBzˇ‘ŻČ3ĹlO®ŕTKP€lšÔť÷Y"xk˘¤‹őŢHSO]©ż+*çb‰Î·_#XkNŮ»űNJÇ˝ŁéT.öÄص©.›}"獛›ß>íążňٰeđ! -Dë2r›@ŤmQ~$IOš}.čËS?ÁńÄ>`†µnŇ%Lž×ô·únqŚşŢÓBŠnSLŰ˙Bßë{{é6Ö!6~ÓU&üůĆ·˝Y, ÉH ˙v ˇµ±ÄNÚOĽ˘Ě‡ĂţšŢ1÷˙Ü;ѦČzaKd}Išfz }=ëu%éńµĄZżiď•qî/ťŚˇX+xrÇ$‰3Ž2ÔgÜ †u˘â™_Éň%\ĽĹ܍ЉLéG#q&SΆQ0Bă29ćFÄBćkő0Sáézíč+•iŇgś”Ŕ†–(ĺuWŠŁ÷—€€W*d›%lBŚX”*ç˛GiÚžc¬F¬›÷˘Â {˝UHnOëÖsîkÖ»pă7}€±K¨Â;b…®ţlç‘VF‚ç’˝„  .±=1Â{˝ßOĺ™V‡ÓaĚS®L8Ą# HqÚčeť×>;$ŕ ű’]÷µü%®ź+¬8ŃHpŁ›Őđą$ý)n˘z- ·ŕÝoDsŰs,ľ“˝¦^&Ś*Ćn.ŕ˝B˛1Îń¸ĹďqH0¶Ń+ľr đn©I,O^`!uŢwčˇR -׬z |si·ëĆŐ›–Ô¸ľr ›č&Ź©„4Ć@!u 0 X÷ ťfJ7<łŠ"*őń&Ă‘K Cčër2ÖuŰq\"0GąÜĚ×(u¦Ś×s ´Iîżň1ť˙?:ăŞ=}Iˇ{Ý÷\™üzâd¦`j ucď›·ČvÄŐ˛~%éH&şYëCš‚Ó&żąĽ°MöŐ,î¸DpSv—¸¦WńüľË˘^‚ozřµ’ü¶h"Ň›‚_‚˛űy+›+Úµx“ŘęÇŁň%]šŘŃŠ˙<Ć/L$Ţé(Ş˝8K‰Ě?ÚâHńčĘ{uYi1¸+Ö gŢdĐĹ9 -…t6 ŠŐhźđ$ëĚ8ŕrĽź«g•ńW×j ‚„$Ćz’o7_ż™Ž]“1OgÔ¶{ÁZřdĎ6đĹ{Čę‡|10U7|m'1ýťţŠQFů gđét?‘0deY·f¤yµH06§ÉÇĺĘŹęťĘv°ă¶ëŔÚétŢĘĄś%^Vśk5[HĎ8:} °ń0Ąŕţyű ń0ÇšŻç‡Č„.ż–í¨Ĺ_´Bąće¬ŢšĄ•Ń€ lYďäިQę±čŮč}RIˇ&6>Ö¶™µ­(ćX’krôŘűfŚ»ČúCţ,‹~–ŕÁe57ŢFóăX:7صؖăYDs7JĽÜw梅_Ä ~ÂUJ[Ř˙ÔŠÓN†z… –K,CtÝ+TäFWwëD1©˙s5j˛B8+ÎŹáż8đ°Íj$rwpQ®Ůˇ-ÔĆXůN4äŘ`´ď˙+ Ě?Řč§řźŤad6Iľß]śŕ"yKA>ü{C"Ä ëPň‡VĽĄ0Źbô—ó#“Jň«I[?Öw[đď @%‰ŕLQ~8qhäKw‚đ™”.śkÍví…1ËL…&Ś•úŁC•«SDfü#G»ÁÝ(dé‡y &ć…ÖZXböâĘŇ -2r¦n‹câ™Ę-FŕA#ă`A´*Ψ? -Ő™5SOxŚ™MHű’Aß ö#7S&óFÓŤ;Tf3k(o:¬PţÍMŠÍJ\ęQ^ Ę5»ĽÁź˙ĐĘ…/Ö&fJE–”4·(€ĚgĺQ şHŚ.~‹Í—.Φ«^KŁJţ§654%Idů!k{_5ČN÷ÝhŘ€ťĐÜŽĹŘń¸8çńL‚ĽJ´ÖE˛ë@±`†fQÍ"îőUÁ•CAÄî^_qNň뿦^ůK?|óęťy.öŚ’$W- –Ř1Ok[Čܧ -mŰġ˛#Y=ŐŕeŕôöpdHçŻ+ŢyEf…šrÖU ÂÄ_ţ.±Cgî·˙ş”Jö,ß‚i]Ń2Đ$˛ÂÂĹŮśél¬eľű×° -;{úŕŢůČá¶!ŚĺB°`Š*u2¦&1ÔÍ‹ôI¬+ĆVţB‘Čč;MĚX‡íJu`W~°a8·“ĽłôLŃXNwäs Áe4żěeQ“6ŽąM’«š¬šĄ“š(WâěMµđĺľź⍱aÉ És ÖHÖ“¬Ť âŮ„.46#e..6Z¤˛ýl-1ßg7ĺăLHŔ-kz¨"7őçjÚ}UJBä'y‹V˛ Ć¦[rŹ1ÍqnS0ččš7lú¨E«Ť×Y …ŕµôĂžRŢŘJD0oŚ1$_oŔµpŽő0Ű˝— H0d“5xfXpŢv¨¤±ü !{łŃMÓ4kб0ČuGqµSfhqś6>̤J䇽·€SŽ'­µ`N:Tů°·%"vKĽnň$ň'‚&9ŚöÂL€1‰ĚN<Ż“Ňngćô+ig@~ągpăm̲ăś1ě»% -ćK5KIŐăô˘·XŘŔ‹Ăž]^ňö•Ĺťô©Ôňrˇź ˝]®~ĐĘěµuożfËňĄ;ˇĆ"L=ŇI ś^< 5¨F§¸D&¸ĐŻ®d´2 $Lc¸štĘM7j†ko•&u‡ÜňÜś=–©"x„,© ë7×Ѥúhňť¨!‡UnŇCŕ»U,ŁOÉVă@¨5„%R® #xe× š.}`ę—­ĺ–Bő°Uţ,Ű[Ašě­,@kż‰Xe´V¬ţCß6ăÉ·ŕ‹žC]@Ţ2®Ua™›|Łß¬ŕ€‰ł×ůs.¨5¶út¶6}ÉË®‰›ýß®âĺq;}Ó`2e˛eÖ?2¶†|>{60˘Bž{]‚•dzU¦Şíç‚}«ÂôŮAďž>(źÄ2;űĆ« ń= oYíHôęřÓK‡‚¦ăeáY’ó“űčőé@.Ú.˘Śľ­IÝÝj~l- Ƥ©ÉaÇŘ ť“Sq§`Ţl÷!¤íL„‚×ă(©r!/!ůBIWc`á˘Iń^¸u»3ŚÄ-\Ý„¨Ž5Ş -^śýĎíI7ół–Łboń¤č‹ý ©P—UĘç>důęëůR^€B⛤—P¶˘Lr;Öă*CżVdtŇ”č2'f( –HzťůŰ@\ćÜźhŞ÷wft)<)¨ň˙"űőjŹ„>Tڻ˯Ńßěµi뿇˘+°Şsîą2… ŕÍ˙?Ň´ÖhńuYŘ"7m;ĆÉ üq#ď sČŰSÂÎۉ[«Ť™"zFĹ6?e›˘¸źůCÍoB@)‹ŰL™řÝ€‹ů!ů/T{ĆEţ©$^đ+ü†X@ą+DµďĆ>¬}~—\…sďO¸IrĘÜ7Söëϧ=$€ě†d­żđ1ŰĚç{ł{ňÖěůXKÝ„hŐ[^¤zE@Ň&öO‹ÄŽf:DO|‡˘sî`™oĄ‡N6Ô$#N÷đ*Ü›ý=–ÇŘĽvt‹kłá {T´ůŁaô*íWS€śµŔŞ…ŠŘĆŰ@H‹ŢaÉO=¸r˙€š¦ÝÉÍî;0;0=›[NR¨ÝÂÉĽBĺ/‚]ş‰¶ĽŐmcâŞK†Îµß?FŰ:âRŇť#‹çW3qreó­‡ÜcęĘťÚĘlćš);‡c;~ Pžř¶ś_ĆuĐu #ť=uĎŞ6TÝł(jŃ\3: · X÷"9•FÄsőĹ2}˙¬ cqĂTŔ©e)™6/ř‹ŚĘJsҲ6tđtňóř´•ÔŠt_aěńĚ÷MNˇăóĘFý@.C¶ż`͓ͫ7 <; ú‡aa±ňŃ?jIDýgˇPV¨ …#¦T҇\ľeŤĄ6ÂĘE±ÂFŚ÷óÖ—ëŐÜőŘ-rŽ-ťBđ¤Ĺ‰«÷=vó×’í÷‡ nÜÎr®ű›@­Ý’˝]ŔĚ= śĽl§u®¬Ńş¨sÍÁňĄBr|ZÜoj†ô=/¦ć‹xŻ5ćÜvĐ8™^^.wM;RŇ -Ó2ÍĘţ˛×Ť%8ôô.‘#÷]ă{DýW?¤{PüQ‚> JCtŚťä÷îŚsż$ü†ąŠÔĆAůˇŐ-C4ĘŐ›@Ň€W™ďÍc·â’¤~¦,yÓJQh^±ł5xzŇë:[KWľĘ'Ö–MxN[‹FȢÝËžŢDk‘ŘĘď÷´cŞŞH(Ü _FĚýëIo:–J'K -±(7Ňóąç‹¬ë÷pyâJ×Z!Mîyzľ0BŠ,sÔăt(üĐěNb®qÁR·ËĐm^)®Znv[ď„h†j«‚÷ˇ -‚kÁ>»Đć×›/î Ë x©óFť,ű±âăúÓ¶!#źźú{uc×yŐ€Vm˘<Ľ†g˙p$«îu2jîă#’Íŕ…n]żŘ%ŢíO%žť©˝…®!Śm `nS÷źĘű4ouńý=ń rŚÖ $ĂŹa?HA Š?;¦D7¦–Ű´Źqňd/iĐę]ą$tç đ8´ŚŃŰoA>mcĺC Ľ…ĺ˝A Ő4GĂ2¨Íö•ąęÖőâPŢ.Smt‚™Ôł#ŢŇX!V$fşfĚQ1łd1±î(’ź ăěÔĐç“NŞ€¬…2…ëÂÄ‹ţđâĚ]"˛äâ&Gʦ}Ô1ĄSr%+ńO«ËB+·Ć Đ#a^V’˝$\…ęÓ3ŽÉ’Ą Ă´—›Żä†tłž›k1}ĚYDŁc.ż›éeúRyÄ €eŠÝÂŞ1ZôK§zlęôŁi@=&IH”Ő™Ě8„łWJŚ5FĽýę;ľČ­N©üß㩬ŞAklZĘw„_í-őśxŢ FŇ9÷Šč° +ë}MŰWS%ý@•‡ÇNF·3˘‰U¬?—1üšžHdě—[;A[Çr<ÜÁ"5%±®9"úĂ̢ pѦ+":Čb¸NCCŽXĘÚgRľ›·ˇŕĎŮÖy„ë6xѨ© -6yn1¸†ď§1ňĐ‹CäzGKúI+#v׎ÜţŔ’–Ď˙teÔ4ŇűUî®Î>¦Ů/[\BŞŹJXp,ä]ěĺ‹]«Óţ™U߲tq;n <’§!'Kş`šş°‹ÝţşD‰m ›$‚‚&BĄ¬9ů\"`zkĚł ¬{tŽh4Ă*®żĽ$jź4ä~R…ʎ>yěx–#ÂϰŚěî9îĆŐ ůQ W L›ś…äŰ6dĽ±–UŢAç8jM ĐĂěüŽŽ‡:¤Ú6ĽvuÖ‚ěţZŁrtŹGo­¨‘R´§Ř±Ę…Iyžß8ÝőR¸Äâ°Ąrëg°,:űˇ9d=_MSő¶ˇ¶Ă0qçKŤ/¤ HµI=! ýQíĚ'żźp¨ĽÁ–,R8˝qvßÎľoŘ"NZ -\"IcccŰ}Ň Ś˛f /n(++ -äŞŮŰ?ńA ‹ýw)'V°ŔĂWŇ kĆGkU÷űEw3jđ8››·Ľ-ą¬ś˘"‘Wö쟬Şzk4sI .“ø `Gtđs˙*uĚňÔ—&Î}ĺ˘Ű ¤[#Ś&$5k#]uT`\LÇý'–rŕËś®lŹÎóÓ>oŘ_Ľ}żQbQ‡˛&t˙ŐĘő•‡žĺäzu„cMwĄnnl.bfĹIł+$•"# ”äÍ~PIS1`čĹř‘ÍšÉ^˘!‚c÷•Ű 7ŻZgöĚ=–Şă°Őf·ńú]Ô!ŁĹŕ˘IjůY*âŁ0y/+Ro(ą µ -°Î4µÜ¨Ąî”-,YÖĆ~šŮ\XJ…´%©"Nä[b'Vđ“.Ť^ĂĎŞ’|HmŃ%çfs›˝˙]l*+ăʶFŢ—©Ëߌ¶×ů,%f™É'ßÎ9Ťd‘ĚNŮšÖ±‰Ą)QW,if‰ďľÍ:Ó IŐo§ÓK˘ŔMŻRÓ¬ůCgą6Ý7TĆ űÄvśÝĆ$Ôßpc:Ň× řőh˘ -ý‹‰·D§n^T˙ë?R¨«b—§l{Ş_˛—0ĆĺŕsQxúÓöŐŇqś'߼ş]hFŁÖëáä8śjÜą;™Ö~p­™ m§kÜa%eŕ'Ó"ŻeĽxŮ«;ß/v„WZ(U“꓉9Çs[k;łSW±éŘ&¬%Ç©=v»©¨Ż*Ô!˙fŘZî>ëőW8h·š×Â) v÷´L@7rĽŮ ¸ěĆ p—ţFY—Ôl[¬—\ŘWbţ ZSŮ~F§‘ŠĎóÓáĚݬÜ<•ʸ:€xśE3XP–"žy!|žŇN-Fć¤=Ż^můęK¬ë‰ŤPŐjĆřŞč€x»ëůľ«Áŕaš{ú í_Á­/¦±´¤ň§(ŢOúę›nr1ľ'áŽŇ‹“ -˙}µ®ś‡N.cň–Ëhp+úţĎđ żÁKfjÜʦ/^Ń2ý$ńU[Śfďá ¨ŚžŚíşâé#Z'ÜhŻ÷wÁ@ 4C#ĄJHë»C˘dKńvHţ]W•>Ľžăů°k3a䩪FßŮÓ©áăTdá-Ť¦ë™—¸_ŤT€°ĺ„˝ČÇÍ,g{HGN/hś -y–hűn•·Sr®źeř…ŮĂ'΍ѱôt÷Ěl~zIF×Őťî_ëÂ/Z"Éo˘WŽTŔđă{ł')UęŢł«ťşa}9:ŇöĂ˝­R^9ę,:aD3ٵişë¤Ěd|ŕôěro®0»Đ[L;Šýí–[|X[)§R×Ů}Ęaš·ĚmâtŽŇ¸'‡ćę "µUtî5…âr°‘Fgç ;wŁĎ1ďŞOĐěÍŰÎ$Ś8ZDH2§Č$ gNłÝلʙÂ/‰ĵ’Ó+ýčvtˇíxŐ ¬ -±µ5ü¬$îŕ|żeą0ŞëůË:¦ú0őń} pÇ:ÇíHQébřü6 YžISZTýzÚnćéÇnL˙®ď†^˘¬@p)¤đ9˘÷—üj9__!ó»őKMŔa{ŕçv{—Ěő]‰§iX•\Nę˘č-ÎFu8Ҭ˛:ça·“é˙SŤ&śĺö&LN|<FřvĹkN‚đď.]yîŃ|Ô0±.uY/OD(©ĆĆ~ŮľđR ŔüjÜ~ÉŹc=˘Ń=Ł˙踿óF;k÷ źjU§^ٱť\C¨N®Ístŕ"óâ<"¶MÄ/tě˙˘Śe3ôMCFĹ ń’5i(ßĐxtË˙j}*BF Ú9§¤µĆŁžŻ ?Ú e]ń÷’ďý°ő(Đ˝źą &O!‚ôÁNL´ŇÝ8ÇăTGHĐŠW˝ěÂŔ şřHyH°AŁU⢓!¤ÖŻűßîÓßyÉ·Ł‹ˇ3ĺYňőÂ…mĹP€ř[ę…áłĎgţ-\Ţ/§¦ÝÄ0ĺ8ŁĆ%>Ŕiz3¶ÎüۉßlműUßŘŇX`4`şwš©ŹňKŹ)•ަ®ÂKTJsBOC$›ż~Ĺ ÎN#Äńr8ţ•ΡÝ::,%‚ĚěŽËťÉ†ł¦µÓ ..Ű ie¤îÄ]& ů$ކ!ůWăźÓF1»ů,˝2°4a·d°lmAĽ¬‚;ď’_ %ţ“Rh’( -FH»ëą®ŚüîÍpě]ÓŞą·˙Ťň^[;čçcĆ„{ŮpČţI _(’śţŇ4 - 6Î âH«˛6źťQ*3ä·VŞLTHŤ÷(,wVD(Y=yŮ–†”ĹąIiµÂb–ĘĹ0ŘO°˝Šyo;U „D®¦óó/ę1á6…şś ź«ňąHů ¦•ă™Ém±Đ,Ô§_ôČvż2<»ŽĎ“Tťj-©ŘRʏˇy®Ëa.Ü>ŽŮEýŁĹC#ťDĂ…ŤŔ×űîh®©[ť)бMÂPÔ—J,"ĸئ(&X[˙6Ć<*”]Lž\5祫ǩÉj TQ3î4Úu¦5ś©ž^„ěÜ.ě$rŔďTíé’’ocŻR$Żč‰$|*FĄ8űçźÉqję[9ĹçĽ$mđ_Łtlµ,űJ)˘ď߆3s»ĆtúîGń4·îÖ¬‡2$Ą Ć7«ĺłe·Ţ=Şu8}Ů4;9I!Âă—ŕČ˙b§<}˛C‰Ć‚DK#P9÷f%Ą Ö4ńSśůÄąŰ=‘–ĎĎ‹öov- (~čDç˘ăżŽŞ”ŕ™@şm Ś/ ąY&^\ö¸!…Íćs1—‡ŁO÷T߼–xňCńĂŞŢÂĘNněH!WÇ÷ćX¤yÍ -Ňđç.0%}ÇŁŤ=É›łŻEÁŤ"Ú( 9ÉC\;ŰĄ4–R‚ófÓ:‰Mi"‡iZf÷řűwĎ™¬_ÜÎËŻÍÍ…Op‰–p=ž‘–O -=Ňýh+´ë­FM ·tŐH=µů´…âĎôşćRÓiG­FňK§šŞ÷[=ţ=ňĆVC˛˛Nd-ˇÁúD” ĆS«łÎ“*čć· hł·2Í Q·o–,Oš’Í÷ĚĽŤqäNńŚ3ţí\xĹ]’˛!kAĆ=G©}SLçAŘË„ś×Cĺjr°× 7/N¬Qż×´î€PšÄ޵Ú×Ú~Ńlp˛8ŤĽ!%ÖSóP穆mPż[yW%ŕR_î–r?XŘ {Ŷ% ‚§•đł mFF׺sĹ·mÁHByÚfěĎ/É -`9da‡&›Žá 1čDAÓ‡Iýö@´¤ Ů“ý:BŁ™méG,B§ź5nL2~śČ,ĐŮyąZ;%żŹ‚’÷z"Ź ĆŠ8Ć;őÓ~šłŐíxňYcĹ$W­ööĘ×ÝŞĐ -ĺů)Ů‘wÜ—68٤˙FUă® őo,,ŁokyKştjëËÖîĺZoő™Ľ:Dťšţż™”·6Ę[«J•z˘©śVáęJĺf9ú üSĆa)“»É¸ú -ŁŁ`”(L·ąĂmÄo¤§ř1żô¦C~K;ÍĚŐGŕ=FYćlŽYÉéSęąO<-0y“wdřttŁĂPaěÇUfQ#f\h/mďůŽÚw˙ľ˘|iÜ!'cŁk ™o˝ˇ L™&Ý…Đ0q]„ŰyŚÓEťÖhă%ެ÷Ńk™lÉ­VFF7LEP·*šVC¤oě;›3,1Š—ńźťC’—hm±ÍŁl -r–`­–ą#Ňw -;ĺ]=–Í–ç— bá1ku°ĹÜ59~;¤Iż±s.ŇuÝ®ţţŚő-Śnz“Ŕä ąuĄĐbFtí Ňxŕz%úO¬Đ˙ Nż‰iňąóôyŘ6lâĎ~ťvĹ©¶ĺuµ2/EQS«hoKghe7U÷}äO?(B‡äËŽ/§Ż•Ő _*âX!ě%í-Xé‡*—€U2µ Ľ–ůUíĐ6>‘*BĐjěŁŐŃŽWgśb(n6ÓĂ/G._9ÖéşÝZ#YE¦$ßä§.&—Ž1Ĺ$˛=µw6?ćHP*şQ™ć®Ä<űír9ó”/‚Äňv,… ĂwE®™ý6*0™$ncšÁîń'Y~;óTŔ”ȲǸ39 "–ľňhŠláĎ{Ř]—‹8ĘžÉněMńÄаéŃŰ"`ä·ö%ąT˙-^6ɤAô»ZеĄN×#÷0é|“)ć"í­@ ŇÉ·z›#›čÇ*&˝Ň‡5đů‘*[QVŠěÓĹé"ÖqčšťĚuˇtµ)˙ďüŁW˘ĎIÜ) ĘŮ©–gĺŁyťŰńç$fw·+k©ĆŔ"ß…d ŠÁËYŘ2ú«ŻfhxűÚ©%߀˚"^6ĽÂ5ŤŠMőłť•Ś|2Żťś÷žů·î¶ é†ů÷/Ö”Űm?šěé§ŮĘÍ˛Š -· ˛Ňô˙ŔLŔKîaÎ|'Oëşěq:Ň}úCt¨A¬(ĺM¨†Ľ“ärˇň†ë×{Čq-eCŕüÖKJŮXHą7oÇÁ°ôîţő'ü©lŰ+¦1ř#­†YŤşĹj\YHő‚˛ź¦ĺ0FfŤçi“`ô- -ě˙1&ĄLŕ. 4PÓđř3TsĂ&ăĽŢ»Ćč•4z—7˛NŚA߼đcľÄL^\׫¤'đ›–iWđI1őćumî -ÔS{® ü -‰đţ‰f¨˘5|}áŐÔ)%éú'CC®e^-utÚĺŠŕŕŁM&gŤ`ľS‘Ĺ9&µµÉ“ŘqŃ IóŮ˝ćĆÁ‚őţZĽÝ·ŁV=z aŠ€,ń{»ŻD?ŠRüĂ(ĆŤ†EŻI¦Ű.ňňČVâz^P)KżČ“ĚMŠ-Ëᛄ°~Ú÷Hčű6”7Ao†ŰZhÚ]hŁ,eá¤M@¨öŤlX™ÇYÚ•Ň2uť4âíˇ|áa^5üŁm›‰Ţ{Ť-¶3é‹˝7á|!đ0pćĆFŐĂî`É2µ¦CE5ţĘ–k[¬ôRçż”1Ő«á~%úFű„cćZ§Ümuru\ç€tËaqKEäřO'd¦ŹÄڰŇńl¨yçČt"×F†pB€ŮŔZä’Fwív·q7×L™¸ć řëÚëŃyđłx@©Äd‡ˇÎ[ďlj'AüĐH+«t†Ę-bhčRŢsY›9brĐ6,Ć€dżŁJĐú“â—i*`  Ň*q)·ÄRÚ§›‡Ů!Í|‡îϰ Ą‹ŃHFŚÍCŻá“ŢŕĐIÝâŞčîlfL°=áŃn{˛V$ášc„L'Ąű­Ó]x:+ȱŹăkt>9ëżsć~B;ai†€üĐ…EČłrť¸d3L#Fž$Ŕ·ČĘ÷8螎ČčëeNé(/×ä»<Ń|LÇ›{Ěv.\ÖľţĐMSuŻůŔŞńnąĘ×›uŐ‰˘sĄ§ÁFł1€Ř;ťxü&Ż?µą©<ŇÝšřVşˇ…¬ĄF µ˛&9‡îŹĂđÖM’,Śüi4’pî§Ŕl:kIŹĽ‘!ٶĺ \ŔᡒdVöť;ź - úŽŚ2îéKĹ˝—÷$5ŚxŔy¦aŞŐXWqEkOĂě-Ń+íŰs$T~R»ůž„Ž1 ř·Ďň6š­¨2FŤrĹŞ@1D*¦üÉ'zp§ZQžOQ°Ęç‰l‡[VsiȤRp1«lřC¨–đäŔf î‹CNbż"Ô—–]śşăé€ŰZaç~Ž›+ #~¤+l6ôĺOďj© A¨Ä7=ý;ň q¤ő†—S /ÚŤÜ kíŰ$N®b)…(ÝŤM -|‰MM‰JIŁÚîăÄŔ¶1‹¸ÚÁ­ŤPŔú\ög !Źžýř2N¤˛$ -Ĺ.¤?#>†ą1Ć—' ŹFDDXHŢ{ˇę+Ówh¦oźŔámÎE§ě¬ 7ĹNg0U«ó…áGĄNoˇqŮ˝ŔŘCšŇ·ŃDuC\›'ć$c¦ ­ąággR+Ąß_˙@ł7źÜ[ Í}¸Ĺ $Um^c^ßz©złŞ!•˙­p5%BWî7–°fĄ›(–çŽ VŠ6lĚGctŰěči‡ţܵ!2 ˛X+PÖ4´Ęş‰Żń‘¨Ů]m1ζ~ó1ąrδÉH­ó§ŻóN” `$?ČEŠŕ‘K †ß™’\mˇ˘» ~Ěm¨‹I8fAR÷CU«zhĹ^—?ĄŽ ”ŕôóEĐü²žB85ĘsH\P$Wűs±"˘‹ĺ}ukíC¶ÄýĘ)˘Ż Sĺ¶4Ě ý+‰y€$¤‡Ň°Đň„ă¬Bç3PH‰ô~ ľ`C›?C’ŠoϤ•vĹÖĺ©4 ÚŮýůľç€x[4L9Ł2o¶W#ňgE1ŚlŽŻ|ošco.Č-Ľ­R›2lń_? ŚY’ľÔRXŠë&Ä•›L_Ölš ŞWő—”‚Ű^ŞăžŮJ54{(Č `šÂ›_-óÍŽ±! Ăć~ hťĚÖ€ Ě™>ň‚ jĘŞe[B˙jqŘS»Ĺ¶8k$áÝ:?Ôî{Ĺ~JX×j‰%/Ăľ{¸Ź6’ż«37»¤:"yÂő\Wäö “ů&G]˝nMH +Ŕ™.Y+˙&űIúłö¶(±ZĘ茓ĐVĄlFŤ [#§{…ÖąÁG"€ř{t¨D‹FA™¨â4"lQ71éP¦Ąř°ŻÜÝ•—/Ë&ĘbÔ'䦮xŽö°VYŐűĹ;BůÂěĚ@,5ăuű+”Űńá›/Ă&ďŐŽÔmĐŹL ő &Ş6FŁnEPŕ•jť˛7NvŃ]AX ˘nwę~Ż­MG1g­_Y¤ů±˝—Ř58·Ťő~†LŠâú3î:ŹbYAâ$2Ú»NK%`HÂel˝!źJÇύŞI’˝¬…ýŔ"ˇĘÎĘxFb]kÇ&ü ,ô`Cł¬öGâéăL#ů‚ÜÓîQąéeŁ23Y×;T,ęĆăľE=u8śŇŮ@Rżćj‹©4Üń­Ś$|ŐEŔ=ËZč7+}%˝!öřšĚŚ‹¸Ô}ÓŚŹĹFÁy °Ş´ę'»´łÉ­«ĘÓ”~'‘Ŕň*/ěi Rü‰ĐT–‘@ʶŤÁ@‰”îz5($—çr¸«öÝűSżGŠ—šÎ@ď¸ NŻ EŃ ĘŘ,ŁĚŠČ—Ç»BÉ˙FC7ţň/„z2NÄ·‰ż«qy‹o»ő}م٦ŞŇÁ!ý:G“çxŻgdb<Ż8ĺŔoň6ĐČ;.xIIb+űŘňiM¤ˇ@ůh ›[”ŽbŇ„RĽ‰Âö††j6ÖŔ*'r6IşŠOo¸@$p&ŢŽ"×ďJť}ŇűÜ@óů&ŃËşë‘–ç.şórG»¬ő‹˘Ű€í¬|™ŠgĘ|ęqµ=goe81ş«'TwhÓWbj ©Đß!Tz}d¦ A`q éŹôµóX7é;ŽŞ„.¦ćGÍ\GEă¦íË—MË"˘GÁ1Ř=ŁĽ•¶’O˘bN™SłJťřl ‚2"_NůŚŃ7‰M4ÇKE.µéţŹ„4“ĹŻö59Ş"™)˙ćTť`徇[Eé{ÓśU%čVfMHůS,[©¨] °rfË4[+ži3ÍqceÝŞąţSD¨•ŔhĹŠâwâ$»nňRŽbkŻ«;ĐJMÉ8ń]\ł­Ň€w”Q~`µ=Ă/vŞÂů˛Ťs&ŻŰ+ŻsşçŚÓb¶ę)xÁB"‚1€ä„¤| Rîs’’¬RcĐDsâ€/6ŚFÉě@ec%X‰(˙ĆźyrŠlÚů…ZZ ?{Śry¬·"¸B¸ô3{ňǤzżś0wŁB*ŃŚł+ - {Íó/Ť5ţŻĚ¤ĎäËqé B|Ň&™›ÔŽó¸«_+P_nÂV\sä¨ -/=Ě(´ĆuČŁ*4{­_Ş_Í> zS3E·±»SýC.Ë'›’đëčV,M8ëlłz;ßÉZ˘/d'.Ĺ›-y°ž¬T~RW ÉĄąýs!Żýpőh2Râ?§˝•öĐ#ě˝Ú|d[Á†6Ď x‡’tfB˙ŽÉµp€Ç¶™­(¸Ä™5 ±Cgfż­8L_V*ţ~ĄůE¨Ź›¸ ['~üĽß>g,’ÁŞ+?¨eńpú‘żŘlŃ·U€db*“ŠŮŰĎÜbĆă-‡rrš]ťKô;ŕć*˛ąXE Äcń-–ä:cţĚŞHwšfÄ0Â'ĎźďşnßťáaxĄD u‰ÔS§~Ąbç®=βKaXR{Żw![v `ňĘ-7ÄÚÚËĂ:kźr8—Ëbô®“‡¦°[¦ôµŃŞÇł]B)ď‚ĂËęqZđý(zj‚=% 7Ŕ<ý)0;ŃÖÜLaüĄu{÷@>)ŕ•I¨zŢoëäěŐ:Z]ŰűŠčhÇIşKc°I QŁ™XIśč€e č\E#µr î™”îiPÎÜ#q‰Š¶gĘ$đŢ T}TÖ-ćB.ĺä»¶ €› aƢ$úbő†€ŐďZ"J5aIň-‡˝Z˙«‹„"f7áH˛Y_!•yˇÂ/Z‡5Ü@š± bĂé|ŇUAýŮ8Ď|ŕ'­$śp3Qna¨éG`9ŁĽu§·!í\~ă…Ĺwť|ˇęŤzţŰĆő-WŔłZ:7ĚPőnĺ1 7ěr˙Ç?šöáăŘu˝ ¨úŽäŤ>±šÎHÔŚ©ýAČĽ¸Ń¬–ŕĐyáhF1ŐţXJ;oÇŢŞ©zC8}\ m‚1K…f襰ix¦L[;~›©M(thN$ă’‘€6ç“GcOšźGŚŃŽáäE_Á‚l úbÖQ™M”Ś*&°ĽˇŁ¤źëÄD§cx'‡Ůj1sPµC˛řśVIjÄŽ„I.^]2líT$˙SŐ/©I‡÷qkȉä˛l}łÎrq„; -ŽT^‚¦©Ó#eţľX†@˘Ăé–‚dÁ&Ö -xÚC+LQ«$ěÓרy%€¨ąjÄr5Ř-fRĎYđ VŇ“‰g‡ő RuĎ{ňmAźú±J…÷A˛±d§ż™KBu­¤oŃŐ˛›Cn…ňőQ!(!YŰNćÁ$Âź;‚ąGAŚL“Ţi ŐŚpAëJ×Q ¬)ÓőŁżWAYźňąűGuŮ‹»G«´g/•‚8@©Ęl Ą8š¶…x$c|ŇYş+]DěŃÜź×ýY~Ůű¨.z{0ú–ć_Ŕ1}0…Ţü{ˇłzÇŞ‡ zWdü¦6)8î•áąCťŃ’ѤKb~qMĺË“Š5őb>”Qžc­É6Ť2Ă~hËęçt„ÓĽµž.JJÂĹѶ˝1YĐËC°w‹ËÄ -:eą}ö‡ň+-řÔé @ţ€Oňş1älăö‡iĆÁ7ŞnaŃ|é–l -şü‹łŁŃQ¸ ţtšRůłżú(ŚzŇ‰Ł¨±+ůřlŻ™ŢÓGŠÁ;'˝´VH­:SŰĆZäÖÝ6!~ -‹Ś]ň Ĺ16âÔ´™ś¸Ë ř?}—_µC˙RgĄ.F§O{±ŤÚô{Ý˝±RÜ;şŰFA‡ŃÍQű@ě&C×c9Ő†«©—Ě´E™SĄJRQOWÜb@ĄlLăí“ö.SťŤO;ŤĄá’%Ť€üßFäŚä=Źź_!Dż»Nqî~Ą’>‰ŁůŤnńED={üôŽŁ éŃfžŁħ8sŕiú§ě˛Ń1očĘ÷µ>×ÍÍA„6˛ňIűěGĆéÓz›K“S—Ç[™˛áÝô§2E,p ă>·ź´%¸‚{*ĚŇ -˝ţh=3¨Ůć€c%LÎ4hĄ’Ss1ăsTăeĂŢńË·H@Y¨#cUiďTěbű¦˛ě´í-7ůÔÎüňlúoŐú2TŃcŻ@0Ź“K.ěnţ‹…VW}’ŐvD $loˇIł/ć‰Đ84c®'Ë$ŰÍ(XłĄ™öóőHvąý´…N4r0J¬G€oNć”ŕ3¦˛¸¦¬É| Ë swgĄ4$l’¬5íD—ȨKŢrNfuašIž>3śHîâň\KŠnîrJ‘w«»›łqďuÄ–ąnŇVeÓçIô©ÁÖ„aŁťŞ]"r9&ť3Ţж–¶Ą*oóř§T*ÜT}Ĺg -}ŕţ=Yy2KĽ®ł†ęg¨3pŠ^!¶ >Qŕ??l÷­k˘„Ż -Fŕö-WĎŮ>éś·é|ŚsvµömÜě>'23%@žĄô6Ř*q« ůbÎŁ6uO¨ť™Vř ” ŽWťŐ” (f5·“©a;ô©ˇĄă–¨čŻ/ˇ @Şů_ó¦pć©j‘í˛Fd Âó©oó@ÁŞ»¸iŇšŤë4PţAů7-šŹ·üĺ© ţ†MÇE=‘@ŕwŠG}źdywŻź#CÉâsŕĆ«DÉŠYČŐäĘrro¤OľN~.ú=÷H]÷*GnČśż)6Gbه+Ł®‚vŢŕźüŕC÷Ĺ2rôË®szÎ vćhń{v4űŃĆ;aÂľ|NV8(r ÂáÔ3…AQ!»a•Ć*3$ő-ŔŐ9á/ĐK{SýIáčüM‰ĄoVř¨S°OŮęąŃ.†¤É?ř~=ť'˙‚ZŻS®ă‹ńqL{ăбl -HěE%;G±˝¨źęĚ›t’)PuĐtU°hQ^ţ˙L>§(p|#ÓcLycŮ4Ü^9—{ÎHÔú˙K*ďW=7Ůċ̂*ò?¸\8Tzi›ôU|;XHîY™v -VćĽ"}Ú»Ş 4řű¶j‹•´áµ€ĎŻŹĆ-ɢę9[ăˇdK”ň鋉?Z×»vŘt;üř´&}©ńŚŇÇUfź2µŽ$€{Ż• śçŮQŘşóX “ĺ”s'Á?Sé^¨…n|2•žŹax«Çw-\X¶ý⪼ŞÁ;¬VfˇśqxH„Îb=ŞNˇ<Éph ă$Ś>ýLŚfů˘řΰů)ęŤINCQ»™ÄAĽĂ˘g˛ e{‡–HSľD4¤†Aú L ľŐĘ4äŮwüíj‰ } ›Ůëč9]Ťů®hű&”ř6Żd¶“K’*>oF€‡ňe ¨µ%]ÎoˇöÍŻ´|\Y:ŇÍy¶]á;H'¨cµď•Łż"G đÚs_ ź©˙÷‡ôř–Ł‹ZřxÄ?;2f±Üŕ-ĎH§m "¤`Í]Qťî6 T7X@}4Ô(ÇS‚%r ăÍŽ$<ÓµCí‡ÎyWn5>˛ń_.ł]–ßMşË9\ź’c´b0ëĂUZ>¸`7ÚÇI6áŠÄ’vwFsłäV”ĆÖË^ńšK´!R|JZ5÷«‹űv%_…9#AMY6 tyx—•ő›OďLp,Ś»ĄÝ˙p2¦ŘFf̤C«…ęě5TŐ(ł#´ -Eâě$Ł˝÷ItŁ»JV‹&˛9>¬YMWßi·©Ř¨ÝEđÝ\Ę×ď÷7Ś7QĽyTŕÓ6ÍźÎČú(é w¬|uŘ]*Ěip9­éÇ€łŻ˛ˇvDúÍŃĽľlď|z‚‰V‡˘xó™wecb«ć R«Zµ˝Jiů6v| -TlóçřĘ_}G»Ń•ö§´í-}ň“ç<îQxŇâQIobUĆE¨ŕ -¦+yř ş;Ćnv¤Ţ;č@578¦@„łćn÷MŔ řd»R"ÓѤÓ1xźAëŠqPŽ“4˛ °Kç}®®ôVKć?b`î˘ůŔ ßŐ|V)Ú|4ž,¸śëŃ<”%äGÝ·íX÷fŰlŇĽŮRĄ(kđÔ&ß@­‡Q˝ň~ć´úţ>s‰2Ö®PáVŐČřب»ţĚF´›/Ü_Ćź–´ •鋱ž îAë]ý­ĺ%ű:€Ę&.x·}´żŹżáçJ}Q±7BÜPj§żHŽÍ÷űpŞŕŃQ÷ţ„¬,ăK;ÔB®l˙aľ4j%lA.ş¶%4;1“U”?Č0lŇÚjätŰ/ą/tBo‹M˙§—űSTS…zmá?őĄhĎH›=˘·TR§BíGK¦úÎ)VĺąçŐaŹĂEîłÍŻ`6bUŰ0ą3GVŇHÓhu˙=ŤOo©?sgh¶şÎ7Ëf@!O)^§é(’ÉËÉŔŘOęµÓJă­]©+­Č‹“kꪑ/ţt ę*†ü"îĚâ}ú=XxŢ˙µë6äňńI4 eßş\n˝ţQ8:\á đ!‚/M#»+  ¬\Ę%ą>Ąć 1+;R±î¶_hËő”âGq­Uş2v[7ň/żŞcI†áŮ$ćĺ­$ÇÝŐÄQ7Ó/ =-5›ZpH¸—ŕ)}RţŽ&퉕†Ěă-ăѰÂIŁz^˝8(CŹ„pb¬6Nďé$°â"ä‘ó1uő|˛|5›Ż«ÖřČ‚člž#qYßłť7w'ţbĚÖ„Ł”$/ĘwéNŁK“CS<ݰ ˝¶yő+PÎÚ]rłÄ'/KxUŔ±µmźR :ZFôE<Ô óZ]8{Ĺh»üî#$ü·ÓĂ)&âąłľîT…7ŠÖ6ű:‚tq¤řIˇŢ©"qŃÚ·´Ţ;˙]›ŐŻş®vţšóĄGŰŰfŢÔą_NsÍZŔŇŞs›€Eˇè˝d5“16–—a”©Ł ú}HĽ V¦T Ó-âpCôlň3Ůr€šhzŤŇľcHh\ -„n:jˇË„ ő!SivW”2Ťâ*ĺŰń"§ő´Őe´’0Ěç­‘đ6Ęg 纲uet’4î…P _娩×=$ĺ `¶>Oh(9Ćëë\¨ÂAžJŹÜ3-”đńjxĺ kť*xD¦]ĺ˛Pł“Ş YŞQ8/H¸‚¶3żíÚżířŐ¨Ąo2u=xňŃ9ć±ćä˘?[đ˛ë«Ë®ŘĐłn¶Ë¦"˘}=Ô’:‡úTńu”8%:Î7űIŘaG‚¨-đ‰ěé©?B8ő›âż Î7QÇVg!Ąpźfณ!íd¦šK‹ą=8Ë%$ÎŁ4ˇĎůÁ˘ŻÍ Ó®±äÓBˇcÔ©Č‹z$Ň@¬ť -|3zäp.ÚO’®Ď±~gŠŞKe(¦©«ś+V0ĺ•ë>ĽpădÇ‘«5`ý°-yN†45Ú$ŁÓřžÂŢl–ş>öŃ2ýTMŐĘšq÷gDiŔí2'‘ä?żp„…ďÁ¦d;űd»˛ z3h“ެc#ˇ4{ž’|ĄźD2xóGWđłÜ¬z uС¨Đb÷ňřĂĆŽR€ŤJËtĄĐŕü‹ -ú˝ř@ €źôĂ+5„daʤ^?Â$C˝ďlí§ýżvŹËĚřŮUWµ…xç7ÝYYŰIőΊwŁHŘ ýŐ»‹05·Ăşqµ@żM!IŐ,VíP#‡;7{ôŞä`‘´úxyďÔ× ŞKdß^ /ěĎd‰o eݦ҄ĚÓůz”Ýő©„<•}SŇôH—Ps˝;…wŮ&ó„Ŕ’™ćNMosv·©ţŠ)źs-ŞUÁäĘżžËS°çqą4ńő4 ś0űg=×<=Ć GYŇBa˝\_ţ6` ¶_‡őPźë—,›.äźcSÁĎögđOůßĘĺ!·Ú+t[÷‰Lž[­ą‘ ‹ ŃaŘĺŐ‡"/Ú˝ĺ{OŐ)µś)‡××(°©‰jFE·X}@e—ç‘Nȵ· -őďĽST)• oúqr—Ž{}ŠĹ!O¦‹`:śřO™%ń öS¨č`'[`ÍĚe&ôĘL‰ČN坲lÍňá•R]·Ľň˝łSž\š*^ŚŁRřIÝţS€¬z(ĹăRçq×8ő8¸:[¨ăÉ őĚŹdŹńúmC…·mŠ2°Zlľé@`C=´đ˙ú“ \ÔtX^(Mäwµ95Ó3Rýô)Ćośü¦­~Ďť äŮ Ä&°oľÖT+Nu­EI–(MtĘĽNɧ~äsâ/ŻZ—ËĐSäyňd׫ a!j¸šPжNOßµŁă‚ú݋Kđ±‡ă.+ąQ5üM&Gžú1®€żĐ§sĐ\›ž×€†ú@‡y#ÂP,á†NđđuřACü›vČéű€71Uáî)NÔýyáO}R4§;g¨@}6˙–‰AÖýhÝ›ÎXŤpżěŇ,UÖţQáw™>ăÍŹh^ą¬č6‰äŽ4s„…™ •÷–,0Öâ ü¸!EĂ= dźňl-Ă®ËwŰť¦Đ‡~-ĂČÎ|¤#ůmt8~) -2śň·w®dÝ/4—&xÖb{|×ßžvfďĂVĽP ŻJ1eś,T…\OëhüBź·PЏ¨&Ö†ÖiM˘›kÇy¤[Şő¤Ü5©ËH°/Io)ľŚ|-”˝‡]Çłî8F”QS<™3FÚlÁIč€r‚s¨ 2Ó˙J|{ÍÂ2$¦Í€­„Ľ* üÉ€t8‰d× Sŕ‚—‚ňuÎ-$íh”yJ ë®®ě‹aŔ”I:”Xfe}Ô¦ŮcY4Ő„‡J˙~»}sü­Źż`»|é2i8žr}ďĽ&ś—.}Ż?V*ýĘMRÍ©řĎH»ăř®âó˘YJ,)Ď>ŰXłJMß·Ěg$î>9GQÎvʧ/Zë#úoSŽ& »h>ŽE9_ĹqŢâĽÇÜpwOą'şÁ¬™]˝VA@K -5t-üO°ŇěwOE“ÉlŰ(ăŃäor\ť´şť•Đ—ĎV‹D@Ş!ףíÜuúhwŔxţ}i gŹmh|źsWc±Ő‚ł|53,wŰÓnŻĚ‹q·; Ć§Eśn$ -8ÉpĽl´Ę”ťj|±%šęNwiąF:óţ`ˇďP$D%1…Üą}YQG %Eś›ů?1gg#ďg,>J ěIdŹIŕ5˘±¶ëY=‹ö‡^˛j<&ŘL€Îá¸Ýp8c€c­ÜúŞśYéĘ—·ň˝~PÚ}av˘Ş‹M—»ˇySynĆpRCŇwFTčß5i -ë]l¤Ń!Ýqa„&I§Ť“rď>ÓD˛Mvłńsá÷5ż_6®ç‰Đď-L•+TÔŕŕKĽiĂ®ßű”†´ëĐűűCąD™ tOÝýĂĄíK‘"ČK«Ž%‚ýB¸ŃYFí˙± y*KűĎîăJ„6m˛®ŰăK¸7Ó-?ŕť•‘Nęhcg „Ů -¬Qĺý¸7]¸(ü ÷Ő›•ćüČʤŮčLÄľyě,•˛>čą™.BüU·Śl„Ôć Íd¨ęŕj23Jş˛łPýkčžđUvÍ6_.d?Ó&ß]ČýJ.rř‡/ąŁś„Ýú™ą©0Ő(Đ"Ş$Ă›®C‡ÚއÂŰ_’`F3¬Š_·‹lđKÁÚ0Ö±˛łI"»Öň\@Qô–3żňöÍ1»–÷€sZ_¦7…üc˝ôŞgU8ďPź«vلޣ›žć/^}“6˛Ě@ž7ŃtS’ŤŽÝxÎU%®ý|MbĄ7r©ĎÂáÔ’Bß}Z§Łâź]Cč·{?pŠ»ÉOy»’“ - ‘ßpIIOë{Jb>Šë2“$jö€ÍaZÖ -1ľ -ňI™Ë*Źľ8ŁË•}ŞÂ(Î+gală‡Oěbć/ÂbE–¬Źî#hµÖImxsNĄ˝íníg@ß,´Ú ׉ ˛Ô~îĆ`ڏşůT ›kš¶éîĚG+®˛ńhf*SC ę÷Ő#řQ^VL%xť0ős5¤Ş(´đ Ú‰__>`ř‘ÝÓŤE|\g„ ‰âî–~Ű9VaŢ >Ś_Ч:Ăžř:€GxoâsĹo'}ö Q´§GŘđL K<„y=؉ç‹ *Ô>Á¦Ţb¬ó"aůH“>‚(`­jÜkžŚh*,/ôäh~*H‚*—UÎP8wz»Ši{®>řa#ÎÓ«h5ŇKjXŞÍ5[É4Ľ¸{ע¶o$w(ţöóNfß~Ją+ü„aşç~t”CR‘%bˇ ž–#1'b–éhjn3‡×dĹBęĄpt)ďśx‰í@Ű*[hvoŁň‡őřŰ˙xM‰Óś`işĺUöu«˙Ńö˛ž{¤F—YLŔËA¸¶3dţíÁ_•EáŐÖ -ć@ÓŤëb»XNX.ŤĘVĉ>Ú:§˛y7<Ë4:‘ŕóh‰ţ¤¶˛ůŔł˝bg“«f*uĽşň‚‘Y–u&N®+ąä‰H]P’MĐÉyS˛˛„pŽzŚŤE /]˝W85šmJ2)ý®ÎLLŕmFżyĺÜŕyűA;i?a,”,ÁźdWcҬjަ٭Ô1†[+ż3Í”śŁ ůp‰y:±x)śťG¬á‹Ń݇w 'CďÂbÉ‘ “¨ˇűÁPMÇLĽc‘F7ż~R»;MR#=•ląđÁ -_ÍŚöă‘FÓm™ąÂhŚŃkUoWÍűĎăł=Qi+wÄk:ęŞZę]ŹU"Ą>`<- ćŽń HÚ—•ő ×Ô>~,\#Üśăş$kĹ<żź hHőŠ|űÇ-:Őršś¸.É”~++ĎJ+ł'HV¬ -($řč+Ä”:ţk“.}`­Ylą7ä8hăJÔÓďÔéßOđ\LČ˝Ht蜡¸ }hRź×Űp@ÉgA„hăŐbFOrŢÇi6CoĽţĺ©x|„P2fęUĂ?j'\‚vň;+Ž\Ć ˝RHtiŰĚ_ö笡UU×’@˛3 e!¶Ž ŐËQĐé»Ă­%‹Đi•H˝˘'d-™5@ůmŘ~˛Řw ‰'OM:·ągĹaiëN?‹wŹĄç*´uRŕOǶ' z˝Üˇ±Ö’baĐĺt¸3u›JŁóż`5ΊGĽ« 6yÍĘ@–aŐo˙ -IM\L6íj{a ‘ş.g]±Ń˙Çż¸ďŞHű÷iâĚäß’Šą•3‹öy-aě+¬ş[˙•+!sŇdĆěŚj…:ÖZ®8jůDšKA[YăŻă—q5'Ś!ěŘ•Y=Čü<9Çöąčkz€˘FŠÎg]đ/ö»j•ą$-;­Áđáü’\8®ą±C;Xô"oÇëă7p­GĽŚ %u…w¦:‹7¨ß őę—!bâŮWřŻ.áhî{LóĄRÚ Éĺ.;/+Ý3»˘KÖ´ _ĂKá'I?żoŃI+ý¤ř«ď& ŇĘ˙ % D/3Ĺ©¸vśČG|*[çͦżTŕ f=övl;ř‘p:”A~±ćŐzŹ śi‹‡ÇĆ_ĹvPú«Ü1d—îK{´$ˇů‘?ł´REÚŃŇGÝg)µ)5îÓţ1FÎY>ĽqdI7,9.ÇqÓCp‹Ewĺvl}äÍĐvĎ™±ýőN<Ňă şeF—ÄŽ=3~»[oëGńýJÜň‚…¶ËÖµ!$KUĆď7bl -|q X% Ó‡y0Đű*ZçŹén“`żH e€ą -ŕčwwĄâ·\TăŰáuýj#Wçghڦ­33ĚÄžmTę¤ăÖ +Ý"ŚtHű@¬NČČĚßÍJĽ+'ÔFIüa‹ĹÓ@Ç›O¬zśÎq°W§´µk\×)€Ó­ě4Áݲň›.8żn.@d§ďR"ŇŻŤ"<ÚM‡-][H3Č/ꔇÓőBĺ =wižöé%I.řQQŮWĶ ăŔ%ž^ů-ť%Ľ®f?úÝíÍ|Äb?ď3ÝťŔ‘p”ŐčOĽGÄjŐ7j©KDM>“‰]źŔ ZńĂ`~ X\ ›÷š[©MJŃó8g0ľ$§ănáŐőźş¸*\ˇ žť 5™ĹŇ•şËM:'ŚIÁTM™<ň˝©„ëŢ+\©9pĘ{PcW4u0bi/˘B"ńü¬cmCď´­ŕY˘qČ"ö6wEë’n–;¨ čB.… z­.đČ~IO%3šh‰v\ýA‰Bd54“ýŞÂ5Đ&$)+VŕěJjDďŽ×ă5Ł Íhő¬kšÚn’ůŃQO,Ź^†ßé(v˛¶Ä -Ţ)f»ĺE¬µ!ŰSxW”Íu‘oÓ›ďš,ĎR/ -|ÜUë˙ľÉDkO×áTNĹÖÂŘ*Ú ľ5ôśé˝s7<ÄR(vzčC6ˇRčÍj-ä6á⿩Ē' :jľ&W´ýÁhpGKŰztHźýĹ3ZÜ -Ţ…)ŠNn…sđ2Q×Čţý.|™ü¸xA\=ÍéU“µey{‘Ő7čÂꏱ©€ä9s&mł‘.´źÚP.‘iő2›«s’´RĆé #ĺţ®6†GfĐ€˛ădĆ~č -Š@Ŕ˛Ăü$ůĐ›ăçńŢ{QŰŤĹě|sۧϑ¦IbëťÍO;äŃd+î‰LiƢ7ťmޱ­YĚae˙䤚AÄóDÔő&Ý”#| žGľ’§.٦†q4WŕS®z×7á Ś´łcVţKż ›[ UŞó݉ Ög‚I•kÚIpÉ}»ć†X íÚľßĎ`„@ćďĺĺűbž@!čú«!Hµ+…KŮüž×Ölź§e'Ý8†XŢţ’.9´‰ńh5ŕ†AVu˙™˙áRĎ$ĽőM;ţ?¤ă±“=é6ž·™pĽ/Ô&«/™ ‡“4Ë.ÓxäQ0˝cäąjýĹă¨,t𯟝ś˛:7B೸ Ň›’Ë’ mčŢšÝúZĚc’[Ú8ť-Őćň.R/%µ›LJ–•Î[#‰~5©žćf)ë™ÇA®>ůYɰ.©%&ZfŁ66¦•9lG¸”ţGá„ -„íš}<Ţv® mA°,ŚĆĺÄ|wÍ`ëhďŻjç_ć6B—˘°3Ą™ýÎX$^îwŞ÷1<†Ťó°ćdČÖË€`h°Ü˙¶ÔÖŰŇS×ń[RĹÉđ‡čľ#ysőđćĆĽ[>’¬ěµ>zÇD"-3 ql-î™DŚsĐZihü]˘Q+°b±Ůźmn ČCŃĘi ¬Švţź7‹Î“„űű;ŢP‘KÂH†!µ–ť]Żeí•ƵŔ!¸ú0íčŰŤ$´žÚ©ŁJǰéH8uT+Ńä Já-•ĎŮçőžhřR±PěéDá0eK±ç»'-ąyňŠ\»tsęëLHřŽzIŠfÉקˢ7:jZµ˛žĎäŕ_Qsż;¦(<Ę|ĚĄ”(bĎAyIE:í3m@†/5zVś˙™cfB>ÁOyÁłШ„ä(o=¤(ˇµ= ÷¶łVšb7OožÎl.ZeH[Ľć]VÄ´^]×lŤ}üł¤+ĐĽ‚ФÓŃá×;H[­ŕ¤4×”é!őâ]† ™ŕ×”§D®¨NŘv¶ńŢÔ!“ĺt^qü>jű˘ěőÇnĂŰŹ›a®|!L‘Ý!Śt+ľAĽŢ鳆Z$Ŕăb¬“Âɢ…žčĺrdÉ (©ŕâ÷đeÖ÷©‹ÁXW=ŃËăs®ÜßxŐx-ňďą±h¸f)mžŇhĽÉú•w˘ar€đ]w‹śĹT@GV<Ňp¸JCŰŢA`Üɢě”BYZOfQŇŽ4źůW%ëĂmĺ[~ÎP -ą4}D;ŻÂô`÷^6ßßaľpţűVU8vqŁüÇŁDŰţ9á -G—č̸޸kŐ¨î$;űÖÓÉ}A(ď‚4†ó`PšŢôEÝAmxłi2:ł“šěÜNő¦đ™=Ë'ő Ę‹,¤ÓâĂAÚh/óxîÉ-˝)ĆrE ŢY'«k4î y‘PWöJĘ7=´ÜČ/ŞX­ …ä,Źd­EÜ·}Óśą ”Ś5)ÄŞébrjHĐHëŰ…pÜK’™Äţ µ}ŁôF§×Ţ*dÂ}•K&‘L*+ ž&OXńs»ŐđŃ€¦ôĽQö^Ţ:÷E`ě…™ &WŻCnl°LiöHHť8„ô>)í: ·ý\qHţ_íŇţ9PdÎ -Ł 1Ś R[GhľŽšZ×ÔLµ]™<Žž˘&4Pf-i–˝:Ü”eîŤâĚ-2ěďMý)™ 0Ž ´—BţăYüš‘°ÎŚ(ŮD¬ĎĆ…[ĽmѸMčžER9ĺ"%ó˘(Ť\ëOĎłęÇ•náˇk5b”îěŃuPOë¶»žŘQbčs`eË,‹ÝŮľu±\qĐV=/Š-´•#G”NrçŇŔYTÁş#¸y -s§“Ő¦ďß_Vá:5-‘űŢRÜŘ«¶×>’Kcçćß’ŻŃҢj6O›Y$d˝l4AŮ–ikż ťŤDŃYń”ŢŤ"vµˇÉÎĄS“B`C p(¶Ëđ–v‚qť:Ą@áńĚŹÉŔzSuź“AIgš÷u€bĹě‚^¬ó}U°ÄÄCůü$D}bs5â ´Žv„“Oh––A’Ęwp WcŽ”ĂäwE™ Ď_`sęAűĄ(N)ç@â„—…‰ˇMH%˛@B·o¨hÝ ŐĄOKB+LŞ› ĐyjHĺŮ ü‚ŕí·ŰË«B×ýĺąşłč!!=˘ه˘pÜÁ˝/¬]ÂĂ(Ţ(˝ÔqcŹK€”Q/Růj„aă$ŤT‰®8Ěłóx T Ocç«§C—i:ş‚ŢáŤv±qĎz>bć°ďöŢŃ ¦u˝wĆjé¶|€Ű÷9Ć>§z‹* &iłç5Ű!é2?ny™ň`ÜÁ1˘· «/­ü¸ŕ˝»#O"%€úKb†TÖŞWNP´˝‹¨Äţ\~d*Qó3â^KŞ-ăex>TŘc/0Ä]•nĚL…0iíęÓĽ3üSşŰ·x”cśßĺ™ůöčJ3˛‰mŘđŘ-…´+@K‚EtčůR)o`}~Ř+ľ>ëÉ„&ua}oRK‡)†Ś01>9Ő"-c7đîîŘdIBŤ -áUşmWů<ť‹Í<]»/Tg—Ó5nľóH^ŕjÝ4«O'čÉf­YťM]=š…mIó9{ĺD`\¦%Ô۲ůËáš„¶FÜŮ:.8™tÓŢÂ÷Ł4}űúŚmw(Ń+ۦ"ţ]ó„ă¶ßҚ⌾t˛©Đ;ůÔëyk† #ńĺ`nÜłďô!” -ü?±U5h=Č–qÝ˙>Ţj®ĎЦ÷’¤úŚ%î‘ָÎI’ŞÚ§š\ŤI4ˇe¬Đ{.uzk]LV÷Ďkřx¨˘ńąů+Ů—Ś>áfFt‹ż ¦Tâžq†ÖE0ěĹÝlŠäKVŕ;ĄüÇS[wŻ‚ĽâRá’Ék /Fĺn°¦ZácűząäžžŇ@Tő}…ç>TLë2 F8yŐ4°č-_Ç>M ˙5Xc뾲ކ™ťCŤÇѢH:ĂţŐűPk+TÖƉCŚŐöKذ*]¬Çß–űî›rŘň Cä—Ňáçŕ"LßP(dÔ ş­;š.=cpş“-$‰ĺ±P;ř°Ř‚§tçúv¤MČN8˝ňgŘŐ’Áä!"#pfŽŃ{%´îŤR6âŇd’ű7L—==­éäçIĆ]Dz7z“Ž ~`%%ňöz7čh5»8µ$$”Ń˝»Ě¬6–˘yŠÇů¸ąĆp>M ŔÔUř`„&ŽvžRu“c& ŕYŹ]şy4¤@Ř_4ňb&¦QW—Űw`ŁÎĆ77^÷fT€şôč݇Ńv}Iĺ=÷뀝Üăš­RŃÔj4tĽuŇä5ĚĎbęҶ=„—Ö˝)ĺ6¤) -™pa}K?A–Z -Ŕ%ĺ®UÂřµD=Çć”rgX„xN‡Ž)>’ÄĽńŢqµ0–6.şx<Ě«k‘áż)š˛ęŢákÜţ{Ĺł‹ĐAѰ§çş¨‰ŘŚ’Eł,öÎ*ź—%q#ŹN8C)bź Ť8v5|Ń1źŐÓd-íC2ĂńW¸nÉ»YśI)݇ýć:¸)U°Ý E}eÍ/řzď IÔ%ťŚ‡ Ě_Ç—HNAÚüŠŢ,–buWyWIlĆWP«J>Š,”ŔôZ&X•óŻ]Ľ»Rm!©5ÖÍ&bEä¨)(B -4`#”iěÜŔĹ~ -ićžýí2¶v ÉĎ©÷ϡîĚű ó>ĹÝ)|ť»ßvú6wNĄ7śŐYLůľśî‰Šm‡ úŠÇözŔüEVÎç›Dm«7•´GÄü/ -#ăÓům9Ď„÷~*}Um ‘„EOfx|=şAŘĽA“GuěQß©r¤ÖUzr0ť{'˛Nrd} U¸' ôü,ŹŹB9R¨:Éô~S űJYp ŠŹ›<¶ÔS t”Żě‡=ßsľ.Ü3ą60ĐX[oB3Üë«Tj("Húü[ÇŠ©˛†J&®9Ęq?yîťBţި´Ź˝†nů÷[&^žŁŢ9š0öł˝ŰÚMu¸Ká˘Ň_Ŕ -¬q řh<Äĺ*´·q»‰°Ä´V˘żÓhÔ xýXM śiţűl#°Ůô‡Ç2“9X56ű #A;îdĚ;č>\ç´ó ué†AŁF•çĺ Ľ“ž ›:=Ď–ÁÔü{Ft34&¬Î¦buhŞťZ_0‘m@µř/ĺzëiĄ·dĚŕKćąĚđe !5ŁăaK9Jj Wýbąěc%MĘýx‚´ -ldkâ˝s¬ÓER?¤¬®çÎ>4‡5e»«3˙+r%·aúĄÔÉT•6íVIZýn¬}ˤ7ÓíÉÁĺěS®ß©s@r%~:—ŚťrÚĂîÝ-FŰü™MóĺFh6ýě.żIÁ–­-•˛{]{%Oެૌ ±đq«Ă̲\´ueóIő4B„PT›Y×§śÖ "ő¦G˙WŇt•›‘ă>Ü|ůÉM0ŕďc›Âыʹ:ÂäşRoÍÉHQrQ¸PĂ1ŠqĆ&U¬ ŇŐŃĽ=·ÁÔámaboŹ -E”y¬Ôî»uĹAäÉj5RcčäĆáW¦¨V:đÁmŢ]Ůa*7VEŻ^2-c… €đH.½űFT~:® ˘ ®yçb?7Ě.ą¤w¤"ypQŽě<ř"„ÎÍë^řIZ#¶EbNMŃAĆńÓ$Ěđ쯣^  9Oč Č›·fř8ţĘ‘Đ*:[™yćŚćsŤHłĄXcn‚[rq9 ĹpвÄ0đŔ$$F®–;p“ŁŐG˘€opË×fÄÓW‘Égé˛#čHbą˝†l§¤ě&PÓĚĐ˝YÎŹšÇ·rH´(-çFëš–ˇ]2ď§[g‹ůÔîLľ»“Ž^ÖÇşŮüů…S´Ä'€ëË_Ż––n#ęy ž?/oŤč–8űf¸:Ű5â ş¶—%K€µ\eD×%żŐćŕl­¦“Dq7îy4r,vţ»âj ¬Ȩ0Ő*üµÇ,7LĆNV°gÚüŤ©aOţ{ę–WÁ9$ľíSU·”ąąî§5ŕ*Ä5FF“Ú›‹*Uňoŕ8łšçß±ó†xŘBĺ0–§Ť+—ŞbS‘ÉLO0VŚŔ¸x×Ńqľ´Ä}éŞJ!ßw¤ĆÜ^Č(†>§Ľ^?Ý&„!<ďż'€Áxč ęVĘŘr¸­ĚQ’Ş…ŢĐĂIĐŽMV ŹáÁĚČ—ľň <°|Ň(EÝ´(ŮR«’ -z48dĺZÚ5Ësx…TÂkK)9¸ŁFU7î+"¶‘şw­QîńäíęěžaB=h ?$Č‘`)h@Pm_ -űóWŞ -r„„IkË6?)….ř?žÂČšĆrą(A±ęîˇ8S=k5p0{j _ś=u‰íď GÜď‰Î›ąv™^â×ďgŞi˝óA˛ô†53ăcgH¦§í§őűÉÖă]b‡ď±ü?ëőü,ihçóŽNýżOPçć̤¬Đ·Cř`šÁdR,ýq0’É!ö <ôMŚMEwă˝’ś18¦÷*4Ô ßť%8G“÷JH  !ď*˛÷{¤ľ?úÚÎóUDâĂ\ť¦‰óT:‰‘Ľ·‹{k8ˇçżšÚGIßpďč͸Lëňaa`uŘVťtÓî˛3’ŃÖüŢWMŢT’Hâ9OKeĎŮÔ062'˘L´‡_6đëź› Q X|†Ö÷ÖĺXHÂ#hŔ. | u/Ź+3ŃçÂ2đ˛b•¶BĆEű‘ŽK†Ôą˘ż çŇĚŢ_°ÖÝäč®éŤç†´˘z˘ňL(ďcŘl‘ŮcXĄĹI?ůÎjŢ­—P[`,¤yĚ»±Ă"¨¶,şĄĂlZ¶d•ŁÄq‰]oéľÜ‹ -ĽDŮgäa{Ř!(ä·LŠäf0Ü sß1˝Ŕ˘ôgTxT$ß%ýńîcŞ*p‰QCÇăń–Wń#‘ -öcs…ËôŢţ’Ż˝{«±©®»fláXŐXcUńŕqn+g×!Hç? -q›-ˇś&d<P;cŢ#!ďByÁ+ŰYVpÂŹg˘=yŔk|×C>ľĘ=­#?o$:F=Q«h´lËĘĚ]â~ĎÉáĽřĽúë ®kŤĹŤÂ–"·ˇ=Á)ěĚcśD>Ťd¶ˇ$°0WjŽ~SWжŰQÄÇßŕ› šÍ•«(Tţl9zĆu -Ymś[•˝vÍ6ěa;Ň—W“ä5d@éĄc®ť„á–RôEEđoŹOA*8—a‡ťď2†Ż ä>…®Ąf “ůckâą&{ćv‘wD”’´ëĚVüéËv?ěqëĽŇtĘÇv;Ý(‚ęEoN‚1°kšޤ®60Cš` ‹eDpďâÁ˝·Ć¤çRÁSĚ^Z‡›;ÝŮňFhë§ĐŮŤu•młĎË’ŠXÂiF‘8˝ô빀ç -ŕłnd†ÄŰ•Âs⋸ç3»G%BĘCÉ’• (ŕŇw#%¤řjŤc$ŤćTą<…¤”ĘĚ ŃZˇ&CČU.^Ş`ő˙|×âbw'§˛kČĐę¬as·’lsć&’r[KCľHeíh¦«ň2ľäřlŃŮń)îFřaăĂHję; 4ĹB®<é]4+â= WĚ4ú˝®ĄšR]ółĘÍÚ^íÜ´äŤăÜ łÓC\Ł}4|“.4wl<Š'ŠWf,H2@çÂđvšŔŘ€·§TśV€Ťâk#uŐ żq“ĺýľŢ±ýŐí° ェlÂťf®Uěěx˘ -Ď}wóüś÷·Ł ͵1ŁwÎߎ€Ç0~íĚŮŻ!Ńĺa^$¦’äqŽcó‹‡ŃˇZ¦/E×îNü…Ű6!˝TĚtď~Hł>UďżčÄ„±âzĂ.ĺ Ťäe-'crÁÓn+–öŻř Â©ĐÖćXô{ţŐYâĚČł§ţ(ěP*i6F )©ž‚­$Ôä]—ć­BćG(e±v— ˙EZŤ -+­„ü¶í¬ó »¨ą7ëˇÓŠH(Ś0’Eđ`Đz†d-ďő˙X•Ͱ˝ži>'U#űí8ńűU™&S’FŰ:M’5ó|ÁźÄ·{ćq ´šŠ@I“Ëí÷‘P;|c@ĺÍc¨[`±§ľ}&ÓŐŰ1ž=HĽ°[źąL -´;–µ„6aŹ"Gá©~• -eoĎ6Ë«_Äę_X•zIŘP"{8‰çě†fzadˇŞ‘Ú˛żě)|ŚL¨4cOŤ?-.zäF^]%été ܇żĽ˝<‰ĺ˝Š••ěÜĚ}GŇ÷QŚšńĎČśçÍŢ«¸·#–ţD$±Ś2›Í8ĐUŞľç®B&%n3pŕ3rK¶>7No…Uż®çsęÇäyăĚ-ě¬Î5n˘ćŽ®Zký']u˝göŻŤ–¤>¬fóS‡ˇ#ťV.<¨¬z)uQâćlU!Ë^÷×§¨aR%ůiÜÇ{›‡]Ĥ6k,ť#×ŔŰż˙}ť¶mCbŰ®RĎ‚eO#?Z•˙żwŞ%ź›ĽÎpŢ3< ×AŤ„ćŇîÚ^«°Ňüڎ(ŕw}oŤµ2Rŕ·IJjĚS©0ľ9:˘óc¸8â@&eA+°=[VáÓЬ,_żD„ăÂK ˙M¦ŘeŢ»OzŽŮŢN»Ä2Ł"^±ę*‰¸đBtxtűÁ‘‘éąŘBe(Ś–ĎăúWÂ'âAěd -’Ú8;Ř ±Á—"ťUť‰ś5oשĺÚňňç‡H ż•»ÓćWy™µŃ.9YůĐŹm‚„\ščµµ®{0u¨<§{5ř¶x«ˇ+}vĽaTdfµ¦p§ćm×mČ}l9Éŕś[Âű^ŠíČY^‚B©ůŃżÇÄşđ?~¨±RôĽK·ćÓÝą k2 ü+Í´,8LPóą«ph´YŁ%´ÉﲜH›EŃ‹“‰ż‰lD•üŁQďl!âýâlH¸p -|6=śrTňZ»úÄß˙™ĺúV}·®™“®Č6f˘p©µžl[ŔĹš™Ń}m|˛ţ7ç›ű©»ĹYM9žZc%ź¤ůUăë덚7áŮß®ĚŇ1X2ňŹYdżR8€e ˇş‹I=ÓKgŐ<ĆţUĚ‚ ţއb6߲*~%éą-?%;%Ř쵉B:ÚÓ®PůĐ­BÚňĄ× +%'ánŮLë’ ÄÓ“h\JŢI®µ´MÍ´­¶đR–ŢP°ń*vz{‚›˘TŤź WńHE»@_'ĐVšżťŞ“K5ް°:™ĆČűgf?Eéça†&sxÉřŐŁŽC±0Yŕ>ÎٱÁ“KQó[ÔAx’ËUŹÝ6¨ĺ´žíP«/¬L°ßM†k î"šJŃaL\Mđö ůlĂŤs–ňŕI°·Íe}Á“ŕĎáXą yběeL{LÄaÚřĚyčG6GFÜp§)Ti˘ÝĹ“`Ô˘eCˇ‰…tu 'ţîU˘y@.˙ Ś´Hym–lG4 2V*k˘×=‘…®UŽ@Zç˛i§Oaú€^éxŚť µ•ižpÓc8‡™AşC7™©–˛ťaO’/‹±î /š|ňZ·›¬ś)6›˝•ňHÍç'wůŘ…9N@H@˘6~ýĺY|߉ˇň˙Äî>i:îÄ%O3 ŃśĆ˛[î'/+3#§É%S)Ř9lŇ!_@lĐ”××g˝÷3ŹzŞm߲ŹÇ8ßsßR ěňâ›Ŕë™-Ůéz¸ôˇ¶ĺ®s&adHň˛`D»Hľ5>1R|Î× Ŕ¨˘˘ą‚*5íŘßĚ(ľ6rW!I:{çn›zűůo°8ĺ÷/oĆ=R)÷A%ŻWĆ€L•Vě§PČQD&ôG&+XtÜé{[­‚éJInH°{VŹôŽ+7Ä©`4ŕŞ/óÔĽTކf¤wĽC¬;+c‘Ǒtžěű…˘F„Ç9$U—üÁ¸p9ůšrrSŰ$Ňpŕt:1¨ŕ&]G$Čś¤Â~Ą9˝>mK[ö4¨/XƤÝ-­Ěë;CĐmFlAĺPöɇŹ›ËwżŞ”čĐ™ uRNŞ­ţő}Dňsff)ŚźFĽ+8ŔÜXqťÉ)şő޸S(7˘$˛Ť2_rţKa)ţą~í·ýq‘‰`úĐľ‹ŢÉ)ĚQ`:,`çúîd -冕úhiĚ @ŁôSTZem»H”‚3 şTĺĚŐłłöCÉ:.Jň?çĎ0$uř÷LhĘS­cÔÔtÖđăOwď«ó\\ҧYą•ößVâc4GŻĹI®Ů««(Ěd -M -7Áąë|Ö­ĆÇKäTęí”iZťä0öA`Śí$~ŘP'S×m€jÁuc‚óJwőLĘҵŤÓČ%Iô¨N ¦¨čDő6‰Ť™żĎ-ąĚĹ ÔÖéÖĄ$RSÁÚ+=++r(˝)[EWT%ČRëcĘîŠéwđu{ĽxNrűhAźŁ™;§cľyúĘŇ·îÓP.ł™ÔŽ^Ý$ť®pZśXî N&‚¶ębŐÓ {}_Íb~â«Qł¶Ls/p*3íł…ĐÎě—HáÁ‹ÖA;ÂąŚVôM5Qyz-"đŹÇ†h?FĽ0Q:U ¤żÔ8Ý©— (Ó/Ăň~lŰăňŽ.ĺśçáĎî Ĺ=’qgďEýK„Ö‚He:óÉY§Ä¶„c,ńW„Ň=Ýł­âË…¸ć‡ĽĘčGš3x9lŃŐü¨ť©”6Á7ŔYI_´Ď ŞÚ~Y*бS·Sˇ‡ÓăŽÚ´¨?ű-´s-»ŕ -Ű08 -¤˝jŤłÇ‚Mˇ ? 9fĘ»“ŁG­¶m 3S_÷‘źIőppÝs˛Ä Î¸mîąUěOĺH±KX)˝1z–ڇeż×Ůa~ ńś&Ç€7á=»Üď¦ň‚dD\­¤ ·L°ĚĽSd¬‚şGąîJŃ—@Ń~Źw2ď4D;ôPˇs$âÁŠ»ČŢR‰8ŽY0Ta˘äU›u -Ł‹<ąF1Ź•;}Ć”Q®U wÝIÄ_Rc†exp!yŢ#k€ěŚJÜűĄ»Ńśa;z2ˇHǦÇaígˇ[y„É•±a‰ó«6<ń©ŤźÔdL¸Kٵ¨‚§WżČW^ŕfÇD 1ě\Á -Żř·ć˝~DWhÉt©0}üĺěÜ´Ťžß#ôă-?Nges'áÇ{‚îÇ˝w[ưFSąĄ…ß­m_â5ućă‘”oHTÚ}O§•A%ćŻç#xÖÔ@âÉĚ’Ă:g9dŹĆ¨ZÁ5—gçżMâ!~‘_úÝ%Ń]jĄý )™ľÇF`ť4Âx-łíÚJ'_·űŁř™fŇ5ËѧááĄŇa‚ńb—ř×iă°ŐGŃ>Y¸e’zç45WRұŢěÖ-fęć!VrÓ Pög˘µ9ĐĎ’7HĺňrݩΗOv.O‡ĂAţ¶¨Ô„­´aŚA$GHD´¬ÔÚjęˇÎ_a•LđŔĂ#owůőä•ÜEb$íîłŘĘđ(ȸą3űJńc%ĚK|Şë2ó4¦Şe/Ž˘Ŕí·@,ËGŇö¸4‘?uP@Îôűxż8{gRĘKj=UţfEÄŢŻ˛žć U1‚…1ËĽ´Ö$JËJFŁĂ/'ö)¬5źvK”&ëy”­e7–!.‡¸ť…ŕs 0W!"¤:ü‰âĂśIąĹ¨Pýîq*ΡJ] +ÚkźLë<—&*T#Ż(rT§®“Hš&Ťł™ľŇZvbě<'ő†ŕ› ‡íł±_ńĐOMľX“™3~‹lť1xV­ őF ˝čW\ôNÖřHż<ŃÎťÉÖoă~bîZfë(…Ą™čxPŽ‹đ@ćc¨‡/ż0öě -@ČŰĐ ·«^Ŕ—©Q+rÍ–ĺ“’ÄRÇő®dG訑5Ëťýě|ÚśZ5%¬Ş–ä®’ci8$¨ůZÂ(ç^aŽÜ'Ő”Ń+ĂôNŤw7•¤ŢćÎŔÍYÉŠ ©%4RňűPÉ•‰–‰&^!?řňéCvŇĚŚE˙ŻpçaŐ/ŃŞE‰¤ÉZxđ÷Š5n{q5ćä{ĺŠ:ésđt0żtMý· -Qj#ÇĎÇíŐâ–˝;ç8ŃX„ÇNŻMôŃŮâűMł…29žďP•Ä Oßŕ<<Ńţq…€á¬áR?ďQA–Żć¨rLÍlŞUřˇĄ ý9@Ý‹Źňo+†'H!âĆMXžZj´ęŔC0µôťć[ ?%oĘŘî:ş nbĆB=śN…éÔĺľĘúş×Qqüó?Ě:<ćüw–DíeçámlâÜČ3'PéiKÇĄĽ+SMRťŤrď’fl_§5´Y)Xě3Ŕ‹ű¤jgaq$wMŔB[%Ťb:ßEü”Ą.¦ ő×ňTćqwiőµţě ®Qµ ^ÎŰ7™ŕ ŚM/ť\:¨–‚”qýW®qş4™ĺ—€Ó %A‚B•žüW;Xí :NlóËŐ-W‡ě'—)FžŤe -RGsđ/ôLő}8Ţս¦2㋜PŐl€-‡Jîś’ŔŽ?LFpÜâ”b‘CjŢi­öľóI,ÂafĹř¦§ČëÁw)ý ňĹ4°Ó,KOZőđ¶Žŕ–¬śŁ )>NY´9ŠiŞĹ" YâuŹďq·–eMćďľÖťnTŽ…źł'hwhŃ8úi 3Ë=F2_k#90B?Sp‰1„řďŰÜ{/ŻýO±2=?tB1`“XŇÔÜyŃłá[憬ş8Á ń¬¨Y âžchŁß´«3D -䦻J;¦x4"Ž› r+Đ4 ÍD^ęUab©ÂS$ó§mŤäť Oţ>BŮ7đ9Ťx;U^Ę´TDV¤˘\ëńHcl@ˇ—4ü©]­mł_Ő¨á/™íĺ w ·:ů§![“>Săů°Űň›?-4}˝Hu]´ÝEs”7r˘gňjء ęMş…’G]’îµOú$ 7ŹŞf÷ë3\ş›™¦(,sŔ<0–W<:¸™Ŕľ†Ië «(qrŰŠăŘ7ř‹mţfŞíüďę¬S·,ü-˘gÚTţ ŤôCAĽČCÚmul6 1|!čČúś&vŽ(5‚90OyěOâčKŰ>^YĹ>­ZI˛ů®37äl¸§`‚<‚ę{rż.Ű8”ŕëfĹsnë0Ň–­Fťb˘š°˛5Ś~\‰"ó¦~ń·kttp:ř¤^–EĽXI}Ű>Ą4M ˛CŹŁŽiO?`Fe)š«žR+O.…$évŃA$Ă\ůSÄ$|€:˘*CŤsđůVl ąśŹňo´v×_•`&Ňä»*\ ë óŞDĽëťAý7SYúč2é$¡e6ÖűÔéiB—đPŐňé06’z‰É]ÍynŮ'÷V`–‡ŚÍ6Łě1+\fC@C}#ŕŤâľ_ł~Mń(Şl¸ĺ8á ŕśPÁŁ„qPćŘ—ĎŚ3´Hý­íÔmćäáĘ)Ä—çAë«‘,vsxĎŚ9ö©żëv[NŇea#ľ ‘ő&«ĐkŤ¨ď‚¶eĚ^é–śŔ€CŐü r4Uĺt#“$2‹’d Kţ•^˝Ë‘@Z3ô®&ö»ny…¤ů’¨ů»@;6Ć2ň&9´{yę!łľ›;í4Ĺ j~â÷Š“swpÄ©nĹb8Ž·ş—ş¬©đ¸ŁćN‰f˛¬;śÝJ•ňEH:ŠDŔąýZ.Í«Kun -tó ‘ĆÂ4ć’»|ÁŹ’v˙‹ZłËŕÓÁ:ăúë쎸µĄĆ͕̺MőÓÉţÜ—çD`µnöÓŻę|2ď%˝Ý˙»ţŹŐOŘĎTŮz™uŞÂŞ.ÇŞ`şÇeśuJuŮ5娅°Fý»Ë#.L9Tf°·ŁÉ›ób˙€G˝ľ\[‰˝RšĂ}@šKŻpX*… U¨A­ŻZ/V­lR[¬ĎDŔ ľTTejękfí+LôyVŹ|gGĎĂňĄ“P4‡F­ľ˛]< gu~sń"ĂIôÝUí8¦Ł8gCü$ëŮžć5—Ť—ĄŽ§N{yŐĂ ĆôtD(KŽY.ů—úŐ@ˇSHKá73Ź C¤5s4BŤ0©­;•(IBßÖž; Űüž§w GćT{ôŐ'HÍŹ^Â[¸ÖýóHëľ{¸{ĽÓ‚ sž ť!ĄBďłťÖĄYŘKď}ß(™9Đi3\şÝL5ÝżmŮ6E‚ÇY5Řjkáţ‡A!ŤšŻJ7^ü4Ž%’>ÁKóSz÷°G–ź]o¶«ĘĽé›_#R珏¶Đ¬pJľeJ#x…Äßx*âSŃŇ)‘Âv‡Ž;ňsóAřÉ9µ2y@‰+Ü_ç•;‘Ůí‚Ί‘ld‡Ń©}ęd“¤ewŠlT0Kë(Ó|nqPx!¬˛śwďŕ"őb‡…‰4‡ťľöXgꬑ„ fK’hJť¦t˛śij7™”Ěę)_”A*óÎĐ’‘ś)˙™fŮJ"ŇQ‚MÜBŃ _…ÎăËs‡Ńý¦1çÜ<(é3˙Ęú5ř'!FWĘ–ź° ějkćťŰ6âďSW Úpí…Ä9¦˙áżty.ß:ŚH˘ăaž¸xzL.€Î­ű -ÔdzúvóqÄšhťb ‘gF0#^ďĂⴿӵİs´ ›KňpQÝ SăÂňY?=|:ÍßëmsĎ1*ŃV˝} «í˛Îhâ(YÄÉ3ŕëŔP“óDż¤šwu/źš NÖźo!Ő¶+ o±—x‘ţ÷gŞ«Ěă¨áCnzĘt˛Ë“séŘaĘ€ -!zřÁEÜFS¸´çë u"0ŁŃQÂŢ Ř|IRmMwÚˇďayĘZ$µ  8ˇ„ĽłÄý{ď+´$;Ι|5±^YϬN•»O\-6Ó‹~Ő,ŽŰ5¸ß nłěÓ'Ť+”Áú›®~IÓśyúŐ?—·×úÇp@ źseßWĽG 1+‡€Hö™'Ń_5TŤŘk°BI±áM.bۢ>ľ%‘ŰÜrµńQ±;Ł©áŔdŹE;g…óŠÉÜÓđ ňÁ$µĐM®ě{<Î!Ń仇{3Y…Tä“aé -ődZ‡Ś)‡(j*ŞT(}˛H¶€„>^â›ü,u”—ď)]׾[ožoË‚tÍ ł®ÚąLűÔIb] -|98ś.ÁPcZ% uďÔ˛ĘlndÁÖw»UsüAa§‰T»ŁĂ÷ZkÚJŢ˙‰4ń,Ŕ¬Ô’X|w÷PÎľůxľŁ$űű8Şp´ępsv.Ü~`€ŤÇ‡ďۤ¤lmIgŚ@ĂĹË^ć+~Vk03u©xÝN|śůßÜw -yŞźů€ŻÄň—Dáŕ×ăIĎôh}śó. RĽéßą0Tj…Ń|ŹOoBńiř–7†Sňzm­~źÜéb?yÝFĹŤĽfýayěx ç­eýJ.k™C4băĹ돳Aę">YGüľTë)YYŹZ3<)8l˘3'H&űÄŠĐż»|„ŃpÓ⮦tŕuóbYSXz“Bŕ)@ᨂ!fHÝ$l•ő‘Ě[Ěf’ 0íéSŹŞĽ9ÎCŚ‘1"F),:[l"Ńgy öÚÓ‘¶E=ß$ąŻę@$ŽéúŇ –ŮPd·†ÍŐé®:†Ä9’,U4ńÉĘX’ŘŔŞáES2¸żš3”xLľ€łŢÚ>MÖÇîÎJ‡˝ŰçQÓµ"Ö Ĺ;eµZ…m gzŘ%$‹["´ÝíŮ´A6H3.joĺ-źˇÔËŁëK*tÖ‚ŰäôÎłV~$%Íq±µ9\&;÷ŤĎçpX-{±;•-…}UĐ;1Ůóş¸oü’# őĘ{M>l]Çđ‘Y&Ú$Id‘ËéD˛šl j•78až!YŹąĘplXWzťábJőÁcsĐ[Ń[á÷îO ÔŇAýÓíş d`ëĆţb6y¤6‚˝&„h}¨@ÍW]U»‹k˛MółŰ°-ěp’Kź Z?ŇÖËy…nA&oŁŔs`yŢ,Q¸•GeÍíîŔmţ}m÷WNĄ† U|Ö=†«Ak÷ĆRZ:$/–_'OÍx|şôW o„č]Ł‹h_'Ź*„ÜěfxgcŚĆţnŠpó\ýłYö^ď ‹DĂ}áĐx±:-ŔČ+=D†Ż˝{6`”%´4ň*‡zWh뉗@áˇ@íCR’~é=8Ę0čOËohţä«WE~«żŤlţäýŽL -Ůşĺ@ f٧čŤ5ŻŠĹ,&f’…¶ű’Hqëwě Wůämć˘_8»Fş!đô}xëçt€ŮFşy5-®‘Ôŕű’‹ňÖbÚ¸@mݬĽp˘ćSK2ŤÁcŔءEÓ‘ËTj˙?ŢáAf×ŕ@Lűn(Ç! P ń8Iżbl|LäzđL9›ß) íľŻIý?ý©)‘źlç‚Č< Hä|MŔKć-S¨v /ŇŃóć81Ň7*R Śž›•¬µ°ű‰úäDäJ/ÖeݱÂÎö9ꑞ,`‘2ý÷ś.ąÎZsyvw»ëĘ=Ů«EőHąW„ŇŽ*ß0ůGcč— ˝ű·úÖż˝Aŕ­ŞF>®m%a()5V -9ĺěüQ‘x˘•×HŞ Ą@ AyĎd7^^ric˘˙2ěş@lźf9ü‹¤}ř?K^ŘŐ`đ‡~ö N^gWľ9y _14¸ä ÇŻľW˘V -­R‚Ł’–VÇühWąn™ if^ďó ٦_‰ôZôA®Ţ©{Ü,â7•úFvËde¬ň˘”­ĎĐWUp'=ĽľäÔi;Ř2î¬aÍóőÁłVÓŕńŽ'ďŞN"ŘŹ°ťU »Ü˝úš«űť¤<>OAFבÎs].9‰Öý[ ÉŤôé±Űw´1~j -ÂZK”_Xř`€Ő#T¬ ńÓöÂ/•­ŕsT ýĎÝů4?ŕ‰\•uIź®ýN\¤ăwťr˘€î6A@śhƵWýóű˝đB¸c‡ÔD݄ͳ® Pµ•)lqĎq‘qđ8ÎHBbę]‡]ž“5»5¤Cł‚wOôBŔčiěÔrˇAVôç&ťfP¦Ůt“”úŻnľhוLźş“xöĎ€ŔˉäČąĹć6;×2HÄ'ň”LĐĆšZŁI¶Ô1ĚcNOyg´(>L9ŻNśÓ˙;MĐÎUś A„N:ÜѬOü„CťP…-ˇ8Ł ‚š0žď´mo'đxŃ -]cs¦öÍ—Ş6.éVKö7W˘Z(vô·|L»0yCŁČ Ř™čÁ¨śd÷Ť·ˇÇúŐU=%xž*·ĎL}j€ięď!đ`¸*…ľroůsÔmâq‰ŽŮň2 uQÂđz‡éç>äô¬@Vîµ/Ŕ]8 8Ę×*„l˝ěěÁŤ˘÷ˇôüúž+ýSî±âŞ*))‡Hş‡b–FĹŽr(Ć>Kö0˛ó@®Ăş‹”lq)t—śŕ\ď:1˛†–‹ôůSIuĘ¡¨„źA s|€|EĄKśK$}+éRhłQmÖQ忡Ś5Ä»Áě¶żňˇ#¸Ec÷ÚÂm:Ôâä°&•g˙7Ě®ĚĘ*fş ßě] ß&k+&ŐiDneč&v»ßĆÇĹ˝$ĚÁ€jÂcpŕ™eějÍ‘‰9˝×ń¶ÍňFń?iĹŮel+·Ë噇rĎháNŘ=¦7Ľ­ó`íĐ·^ą©€mMĄľ”‹)ť0"É]ű} Ç )“JÎĎćRŻľ4ÄÁú/dóZ3bó[1öi3Ξ\OFfpŢ‹ő}űÚ>/Ë . -#^ş8Ŕ"^xˇHvŞđ°ô~Ń#Ŕ™ŃŰ’äŞ Ww$4ťŰlüăßů„Tűą á‘Î’t´+=ĎĄáN÷Ik.g_;Ţ, ¶ l¦B|żz} Ę)Ă* đI&®^!ó×Zl¨ľý·ň(0ڰĂJo2/ŹjÔÉ2·ŕ6#©Ö‘čµ™OTłÍëźv˙`— -ŮĹßĚ»¶HźÖ’–o3]U.D'ßÔ:ęmMÉͨmŚ«SXv޲é—é˝˙÷ót˘”!U„,Ýšü¨E@H{Pěîg­;EŻŕ1a›ĘŕJ~ăH˙8t‘>âłĘČöa€‘z<1ZA.żGnqAT-3@'‚5 -ŤÚe{Yř1‹š:©íŁž_ĂkÉ ß<ĘĽC FS—› ”¶>Ô :Q36PŐ2Y„‰Z;lݱľ§ša棞°N`¨ťšĆĹ:üšYéý$˙%€î O˘Ë ˇüŰ®ë¬KyâůFńn¤h´–ÉĽýáŞv™:ď«[—ˇ!™=nŞ4µ’ňŐ:'Ýä±ë$/GŞr䪰űf·Ç­JĆ·}„ĎĎ AfL eözˇ°UôűłŇ~&ě$•ť>ĺšĆÉ»B±ä`qMÇŁůb9O oµźăŚž·N Cj©ďŚÔńŤXrxĽÇĺ…=ż‹I`Zç‹GéłlŐ˘Ăuxśm©Č⢇Üz/|Y^lÖۆ„tÄö§¦ŻÂťCޤ@ľÔ:6—Ě;$“ĐlG[qťŘÎŽËęÁîŹkęí®“(ďłZ\Ó@ŘÂ^Ä·b•ę ęĚÔ2ď’_‘ňÂËöqvet»”ŕŠKFß‚˛.[]ă°K>2P‡ËéÓ•ţ¬‚ýqjbŐ6RçŔ*B tľ^Pš‡Îr…G{KŘR‚ń(čÁŽ[ČÄM˘µěSM]˘}7íüo{~—ź|‘ĺo9Ŕ…˛s{›ÝľόסRÍdľQ,fŃ{k´ą?†ţýuĄ‹Špgef™p|şIúÔ®STř0ŮĆśč•Ex„1EýÔ*´î0侀ĂzŽ|1,€ gÎ^•‹‰ŻXüKĹ‚Yg€Xá^ĺų̋°M`”d·Ł0¸ĺ–őNŔ™Ęč˘qS[ G%ş(łaW¶.©Šă•ř\ -)TÓ·úůVMr}xn—ëé=·‘Äq飆XU™§Ş‹6E?Z™«ćŤŹ{Ł`‡_€óŻRăŹG1|BÄ2Mń:·ÇjÁ%$”> ü—צĘj’Z'!$ţŻă ~ąIö†őPˇunÇßpç—Rűä›ű˙ăhţâŹó ‰$ůOz@g7MxwĺIBů‡€‡ě›b/čŻđp~z™’ž,Če¤ ŕٰ č–µ“ŘhPëć‘Ä ž{Ç×´(Ů×00€|ұťyhR…ý«D °­Óî§ď´˙‹lµ°‚wŽ’wF Á±q}€đ&ńa¬¬itB{=ăĹđE¦bĄ?yu/ŻU&Á& ,&!ÄT¸7ݦ‡!=:#ě|¸´öŮŠ|9Fć˛oIĘ×®ôř0.,Pţ'\Ęâ*©ŹĽç~âĺ·YË óá›ÖPő‰béB h,ąaTV¸oÁĆtŕü kŢë ń]Ń<Ů~ŚrÜ.şF&ݎ3PÎ0iA+‰ą¨‰ôOdźŠPO¸Ç.Čł­ië̤LÂZŻOs¦0ú aT@Ľ†í±l•îąo’=“O„BŮÎŁ ś¬hŐ^Đ>u™4ý#Pš÷éĚĹĘWÝz›8_ťîwX.Ĺ(C"Ýa•ŠĆ¦ář°)ÔkţĂžđf۲őTĆ0ţ˙®ňáÔg43}LŁR/Úf_¬f6řd%ićą1q“}uk[ ńüőłQFĽëT‡zĂÔš hâDŕĐ•TT -1Á‹!yĄ‹T®7+Wlʆ{Uď4×yŮ÷žŇ©HÎ¶Č ĐS˙«©r=`‚žUd;×(Ö·Ý † -tbÖ3ő‡Â0ť%-Ý>1qŰě/§(Ě#E[¦śžŃU`:Ëx7óD6'šę{Ť'׎ ±n[™X<Ś0ÇPú š X’ĺëü)9<1—‡Řë `ꤱ{x«=3<}ç>‚ž~Bůð@Í3ÁNŰËU^zŮśšJ’'křÇăśÁf÷I‹¨Ýűµn ŞŹĚÁ‚2ä'áÍ©ą¤ÓłŢz“9Ó'rtmµcÖĺtjńťŰI·.Ą«ÁÁ;fjĄ,^ÚŔEü’˛j˝¬+Ģ´~éc·;«—3‡§čŠ] ŤŻ ×±‚vÉúť`ďlĐîą“ĘóÄ~t-çĂüě­KP(BŤfU@â6Ťíi‰ď¬(§ŰT T~Ćţä7Lšg §˙¸ň ËŚŕC—Ý&IŔîď‚ Śs&î¬ię_ţ,Z¤6uqyy\´ŮY~ ÚņŹÓĘ@[­űη1iXĆÓ Ź1zřxĚ<Ő°PIĆgA4~&ĹE{.łś»[Oń,· §ÍĂi’¦‚kĆ0Âö§lŚ/MŞúy_ŰÍ)©ôĺÎT"ĘŞ_y˝¨'µ>'ÉNŕ…D‘ÁĄ1 ›OFâŽ8#ݶĄţDá•é°‚ŕý[‹8 »ߤÁ«>€Óűč?OF"@†BŘ’mDý6ĆyKZúł8ž¸ňŢŠÜHZü<¬ąŽN•;ĺúňčPĎe›Z:ŞŻŠňá*ôäKÓ"Çľ7MFżŻÓ鮏 ^ó¤ĄôŻŢ®b%”˘YGrťo_aSĚŢ&uÔçůÇ-Ľ{2 Ń-?~™­•oÔá.˘(â -”’äý+7%۱Bްí…3,DE”˙ŹSŇa4&:=źb, ©4Žhç ĎС8nďM&Ör3`>˘úę ŮŹĹ+qŽAľ’{äě’4gSg›?ryiyý«Ď4—Í3ĆA<ß/=“üÖxęŰ/i6¸©Ń"TMY784©ĐNoÖPşmŇc·ÔGŕśţYáÄÎX;‰GHΔĂD;ňŠŞĺÁŢ•ąŰ/ß‹ńć)Í[đtĎćĂŕëÎ,- »šňův)&TAÇó€ ę -ś`Jˇ4¨¬¸Š‚Z—±Ő_¤šÖĂ5.ÔhhnM^aš7xľ(ˇÎç†%ţ F¸Ľ>$ŹoŔ K“–0 [ŃČ3‰OŢťšôĎáŚw-ŞĆß8 š}uY ˘˘Ť8ň[Á`ü‘z{ćé(Ż>¨&Óń¦ť^r×GáÓĘÄ«–Ç3çşäk *˙ żÚ7 $éĚÉl'Ö'ĆYĆ]ĹË“×^$ 6}˙_yâ˙ŮĽ„ßľp/—˛TŹîŁÍbčq[×3[.M»`QÎÔf&•ž7ôţ †GÄ[ýĆ×xÓj UîyB˛Ş_qÍŽĆ2#¶[g[µĄŹMĄÔns‹ŘkŔge07$ˇ˙ĎúSÍUę\‰9îxŘ7%ˇÄŰ÷ ćŕ%’řęĽč4˘|f¬,‰±‡řQH{HK ĺ&4=D0„­łÜ´X¸ -ŹÔYQ¬<Á9±;Ć„ő\aĽs˛ËŢY(=10’ţ6ss_- mŮşÁ» p}jCYu8×”ÂkÉßÁ˝® -S7„®‘Č^ÜĹ7‘h&d”†úč=Îj 2mńüŘ«âŘ€e˘+UkĎĂjKP;–ۇ?A[ŹRMI„«é8d‚vŰ›@*¨Ž”/đ?óßźĹĚČň9Ű2U›Çż_%;/`¨gĘ0HÚ®[*|Ă0¨± ¤ŕ•,ĐřyҢńĺy&ćYÇçŃďîĎ‘”–Y-/:±•Ľĺ%ľÉiľ˙ĄDf˝ü¸ _yÔˇoxh†=€ÍŕÖHs6CU Ţ]™€ÂtM°łŚ¶3¦‘›UWâ-ýܸid˛˘vÖŹ&Ťk C'ZůígĆAË<¨Ęš6‹>śBn6Ć)>:—jÂČŹű ·{¨Ĺ®řřńǵ4lżk|š¸ŚŻ‹UŇŮűmb^üGôz~3©˛†çĚŢKSWúe{Ťµť l™\Ţ>ťwÍOsÁđµÄŻL©u•ÁÂE ¸Q°#,IČ*ŻńKôB’s˝¬ü°âr”öł¬m2’ ˙.Ή\¦OXšI,ͰOçgĹO{şaŹ}¬ŘÎl×4µŃŽţŮd„•0\ŻÎűŞWßweݰ#u·Ž"gŢ»”D aýRŽ’CÝĎĽ«„°Ş b®ĺĹ7dŽ3âB<«µţă‡aBçds’s©°AD öaăL-ŻľŕŞ€Çób?Ý.Yš›|@ňT ş U´Z­7U‡ _ăčÖwGú"¬H…¤D2Şq4Ť+)ź[VŐ.‰¤×=B Öăâyř·Ŕ˝O¶ÁĆ{9mĄyŢm -¦ĐŻĽ]Ş gsľ_TAÔĹą5¸Ě=VF ­U°ArOžéęÇĘF°7Hz—¨ťŁ Fţ-SiĂöęB™?ńvXyĂü˙2GÝo Ę‚RUZ†áƢ.ĘěޤC¸ĹQ™®DYDđ]Â{‚ŻřUD`)îבSzÔĘÉzN Ň‹y“‰YlJ˛âž%•ćč›>Ŕw˛îlgźůq¸ťdíĹÔóŻĚĹ|Ľk9𣄦鼖B2•;ÄZظy@âá´]ýšÂ“`¬÷á§™’u ÷Żő¦ąžLbW#-hI"V˛U‘qóőZż‚¬® q·/ŇşBMçOgŃëŽM Â)‚ń·_uH˘ß~Ö·dćFÖ˝Őĺ@ňż05f˘Ü-çKsŢjr¨& «8’*ż ˛p0ś3Ë›mrÎ>ďávMŔÂĽŢÔS0bĚČ:WË'3¦ßBŇ?Ľ˝ĂťĂF§Ó¶‰|ÜY~P»żz#´Đçµőś›Đ5ţ–îůY_;2iŽK|JqŠf+żCq04··¦ž±šôŰ°Š ¤uA‰-?á˛vue”xx<*íQôJÜŚ?fšpĽ˘ó7ŕFC ^h‹·/– Ů•/ůµ 4AšQŃÉ3ŁRcÄćÄ/‰nÁ‡î082Ś UşXś2=ëťćóhôuŐslJQ¨u‰•đľĂŕż2Ű"|¦.5Çŕ*Ţ˝|©6ô˘6}ŘYÜvZ‡ĆÝů ?w¨Ü˙ŮÓćŰ'ň2jŞv\loó·‘ŢĆčÚăË}ő'Ší+ę§Đ7öźóÝÎc+ĆW®ß2ă«~@†Ú%ąěţ2HGÁÚŇ»5eSG¤r–Đ‘ź“Ie’*v˛‰´ž:­‡©gÚäRgM;÷lĹgáżł ąŁٶdyĆikJdL4N{34ă 7źJ9í‹‘+ţ­ÔÜMňmTbŕ™utŇ\ -řH ľkˇ~ý.ţ@}[ŢÓ˙m·_J÷¤‡xí ćĺ']ńťŻß(Îg­*"ąKĄUé1a /'ř˝ň8G7’`QARdśeIĘă8H*F‹őĆČ“xźZöbŽ^`€ą[Ů™ŃkÜć× “w!ô¨?É\»­Ňő°JŤ˙nť\ű2ˇ–Vă-^čĚ=~ťQ‡÷şĆť}˛Ű”†%ű3ÎéćóSýČoCîĄÓ1`ltAV§Í鍇[şďm;=JşÍĂžŘ.fACÉČ–6¶®IƀóńMd‹92UOĹ)ë™Â9ĆŤ·>’Ĺ“˘˝ed_†4‰ŇLŹĹ]„ŘâpYŐ°T fźS?Wľµ˛Đ‚ď2ì–úŢ%¬ĂĄˇA8m⢔ł84u„ ěÂ\‡ăˇ;x–ôÖcď“ŢĆä(8(p6'Ö«¤OÂźůuʍM}ŮŞčP’‹ýĘJšz˛ýž—ä‚é^3j«Űp©čĺöxÔo”Ľ[€ü×’kí')DA -á»5e€ESt„0€ËŞž ö’Ä®ć¦ř<ţt»Ş"ŞČRĆ*Ąö·©ejŇÜkĘh’ß6ß.bŹA&–¤ŰéűI‘jŢ“zĂĄy<KĹň‰+¶}TĹĘi‚ií đ1kÄ™oÍiPfŢ)G ű“Ď];^Í5Ι«AdKËôf5pát!AvJR5h|@q‹7UMţĂĚG]†Ŕ{âÍÇ·ËcŮhsĹPó. «Čą"r7Ýxůđ¬č,Zóü|qkę@”¶˙ÔHy§™Vaěß¶έK]şzŹHÝi—ýŕ˘ňřęJOŕx&,2E"(WBŮ©›šQ€ŹúŢ]ů)iŽľa˛'Ú@śŢa^ŃĽMŮB,sm¦]3Iňľ-›Â Ü(Ö8h!Ą4Šöľ§· ĚF*›x`âöKă­uÔŮtłYbdúˇUn< J85}6›bđdJ„Ěź\XĄ^ ¶FY*‘3„d›xkŚ5ţmšEźŹ„y~áW¨ŞyĹA‡FóÁŃě2ZÇ]ŔnÓŘVq˛čDeDwpn`±1Mí­Ű„–… ElWhÔâ/q ˘ ćŮtÍŞłčçe™E‹ńîŰM3]\6ľĎ)ÄÝę „7Řôʞ¶Ź đ‡!S!YnéĽQRV¶ -\®ÜŔ)k‘Ăq~Ţę*đׇ0ŕ{…†˛÷6›ƶŕŐĺ˙Ú39ő8.«ű€î¬á×NKAţ1šČę©ÖżăšłW3łe "ôĹý˝]Lň‹ýŮr=3bąžŔN˙ĄšyűkŻF›Úďc\“Ť©đš/šśd?ĂµŚ»…ő(’áěUVJý°‘š™cŚýYɱŠLŁW4@pűyV9MÍ}´~•Lľ~'© Ľ+‘ş$z ,,‚QH%ĂÉ­ťÇs«âš˙Ś`oeI­ĘđZQQÔŻR6U\Ç묪ĎŔçĂÎŞ‹M|*Âaâ°ŃˇŔv[Ô)€rŻ€¶ťG,J›±GuÂťłĐřžň”&ŐřdŢÎYç•« É’lÚ™4#ţ9#ě„eÁŔÉ^I%Öi@Ą#q;ł>?ł˘G(W5ÄfY¨&˛wP§ę–lł˙łnÄ,Ď6÷n -®ÂŮ+™zÎŰZ©:Ú+_t„­c Ä~űKîăćýϵ„‘Ť -n-—đmLO¨w -0b03iÝů,ÜҶXÖĂ2±´ümÝ*| Ü»wO¨¤ą˝Y—©í©Â5´Äk±˘ś #´· -Ň +wţ&ŁZÄîvm7¸Ćw˙xOHQ‹\-+Ťő(kÓxšĎ]éĺąĂ•‡ĘšÉn;iđâeÄ+÷o†ŢžŚěQĆkIŐęĂKVçě¸]úp™>­Qď+.—Śy!Ś´ťXhâ¶X#cýĘĎśrjgĄ3ía˝Ž! Pđaű]óhEeA˛fžż©ć“ČÖ€BGVY}?.@%µ[ž)ŕb,ÇDŠçOŐ…ÜŔú”H‚g÷]T—›‰u˛óptŞ6Jšíu@FX¸=§ęçP›B3>§6ŃKhĘWςҊózŞü g†“ZŠ}4S÷[§ĄD°ŔÜ EJÁCčŻâ‰Myýá`Rç*f­H3Zúuou§őˇu˝TG’_˛«\´z EĂG‡ęҬó¶X;ťc~qŚrŐcI‚bćn J >.I°¤uKźÝťkż•ę°iŔ·Ć—3LCÓjgÝśÁă"ß…úÖ˘c`—JÉue$Ф _Š7ěa,ż -9çőŇó±‚(±pŐ´D™˘áÓ0f·oiŁłôaż[H”š€ôť„ŇdĚwVxv>|>L éDR§fŔ,›dĽü;b¬A฽}IpčnlDî6$zˇW‰WÇśăö;š†y4Ü«ĎO!ŢI°ź–€Â[R®ÔŽ'˘ŚH‹ŘPHňýťVqŕIdAri§ČęaŻ˝Äy=˘ ł8[-ź/)Ń”e6’DXnű2ćVH¬ĺ˘ HĽů0•‚ŇŚµrűőŕ<°;nn»ăĆqXdÚ..ó‚iš&ű5r ™§>!ÉśEö®}ŤŐ“Ď'îGZŚe„8Ć®¸_fÇß,ě›xÚtşbbş{(ś¬‚śÔ}—S[X±C¤áŢ7ruBB*–Ň×ŕEt%Şěż˛ÉŹŁŐĺŽöÂýŐč¦ô§BÜGP•ű5Š'ŹCuŠţÄŮnfô µ.ÓĆg_˝˙ęTö×1uzţ†}‚*ęĎţµ2ťé¬ĘňhąÝ+ÝłAeDaŚüšG»B_YG­Ä©)ç ·Ö“ĐúćrFAö«śG´Ď]ˇŐNjAď§–'ç§ú ˇNó1F3ŁuQ\ô0đ×Ú\ůt(UjY ~n óĂÖ 49_â ŞEx¤š‚ČYViAđ"d_ExŰÎ=˘‚/®ˇ’,Ş®_W‹çjöČ]óxĎS¨ńÓaž1¶™Ţ"ňÄŐŤ(nrđîžšŽµ&+‘‰b; Vii±hÔ´Łř'TŢy:e‘pÚQĽ®^l뤪:IťPůQš,Hp?uÖßUÎs®ŢT÷Š…?s`ľŕŃ:gëëČ‚ś­DÇ(śGi@ý˝YQÜŚ˙¸jQëDĄ׎‚Š·¤­Ă6ń»˘Ę]5PŚ‘B¶uŕ Ź\>Dű-oüj=ćőÔÎ2ßa"!R]$lJ’!J`p·&9ÖšˇĄę˙ávŞëőyű´qY´&eç'Ĺ_¤z > ‡ě -´ÎsuşÁ.0Đ]š˘&ŚřÇ1;§ü$.ż!ß˙ęé1Áťp•Y3-Ó҉ĺWwńŃťŠ|F3ëMEąăĹé1ŹťĄČ…"n+Ug3ůnî ŮEt…„¬–÷}m«Ę3•‰6\s»ŃË_MĺF˘łÖ"6ôt©€&‚ć ĽüM8céOk­űǰP0Šľ×SÖG绦*ţp•ĂaŃĐJ€0ăD ˘”Ůâ÷Pş!ňŃxwĽ:JŠń-/Ä={ŚĚ×ţˇ¬Ďźä$;÷‡â˙¦čv'͇ɵ2Ĺ÷Vćů¨ŢÓQo÷şJÜR #đE ^»á´'z&1‘ů6ZţŤtd§LzÜŁ_f.xÜŰ$ff8<+Ďk‰Â‘ŐÜŻň1Ĺę›ţ˘—Ńq{ě#óŁô(R^@&S¤_\ađîü 0ŰŹ˙y”gżtP›ÄĚŠ5Q:Mݲí@·Ů±JÔ–¤Că°>™C*˛XŞÄe,î_3”Ĺět8D5@dÚkMQÔJŘqC…XŕŹ‡‚(mâíőÓőĎŤkkţĺŚiálŠđdyçŽzđďéśWŐ)É7 ÷;]˙ÂÖ©ŇÁÄG%V9)b15Ť"®$Y§ą -ç€ď€AKáy×ôp˙rwO°w›€o<[‚Ͷ8ąŮ|Őy¤ö o+ĂŢďďUúęé^‰—"±ôĂ»Ó!ż÷`ʵ‚©]j™ľÓĺ3&GÂ` -Ľ‹{Ăpz2;—ą‡g>űŔő˙uŕŕ+}šfv…TŔ›±÷S‘ /y '…¨Bů@%„çHăBĚÖ` ĎěĎŘŁ›Pb{Ă)µ®ý „,Ĺđ"9&Gi‹GF›Hőć|«Ă™˝yĄ;ĽĆžŁÚšBpZéŔ…ؤÂ^ŚŐ§˛jŐ¦kk¨ńIx›qä!ĹíÔö­ ä¨ÖgÖîüö79#—ş<?őd.” Ă2eűH ĘUŘőäMF tsçŽ|Ń—mµ”Jlhr`â'Óę1(€b\iětÚ`$©«j2Ďhw*PV×n…đnx̖ɲłK-Ů"G˛SnÂKřcŹSqŔ!J­űWŤŰ#hk¶’‚' JôŘ©@ -;Pi'•7€ -ă WËŚ«ĄŻ,†ŕhHh줖ăQšµËőeáŁgůď­Ęü:8vÚź“‚lt>âÖ¦.źű˝ńóŢĺ­á >P#jáŽ÷ÎŞËl5~Ç ÄŽŕr#đ1f“âą śĘ‹Z(¸Ľg—Ů— SOÎZâĂŁś·7KđLáHřÚńФIó Pô?¸˛ço ×}w €aěűv -··˛Kîp GÓó˙_ĚBĎ´ćFÂŽÇŽúśšŰŮóo'OrއlďĂ/¦ş†AĄ"1Ń •ą„o^p\@q¦í´ŘŤAĎ~ŹŔc$ú˙d‘ąŘýQGkĺ˘bŔą zŠÉ©‘Aď(W˘˙Á@/;l eČu)9› - HME -ۤýNQ[hşňŕ^Ü>k™Ă«~ďű±°_•ŰŽč´ą7¨›±[űł@Wĺo·tűřˇ‚"ěРéEsí— Äś¶é>iÔˇ]ź>ÖH1ą‚%0…Râ'Đ´ÂO€Éşó:ýÍá ÷B˛ž§Ý9.˝˝üBQĽ+Zo"¨Y¸z¦›O6ž÷Ăú Qä„蚥˙•ćÉ0řďÍ!„L=ó÷NţÉ=ďj±>_Ô-ővD•M‘Íö›>ÁjăĄE m‚‚µčbRxČŻ ŁŇJž0®P’Ţ(4gEň–}ŽPf0MŞË„.‹˘_ -ÇâKí}KĎ érĐŢ̡şE{2¨P3kĆüĽÄuMŇ—Í~>&ťÎĎ10ę5úż§e%ŽqĽÄ028°ËÎHÍG.Fšˇ‰Â˛ďĚďŘLßębÝUýđ×>š ĎZşé¦˝sg *Ł~gz„‰sĂóFŻ–P×4Ů0ĺt\*˛˘ađ$x¦‚^čî*ąjxgcśíGGÔf^řĺ“RońR3>Š é -˝ZEĚCO®!QqTňz°Še_|˝Đ»ŞDký]!‘ŘĘío§ß$Ţ5©rĽÁ„Hřľ€+lË Ă6dÍ㇠žřîëxfý^ö ŢBü#Ü™±ŁÝŘŰÁiŕL˙ŞĂĚ Ú.Ťk#ŹtŮVç'?>·ú˝n?p{˘řgY ’đ—ĺ膗´ZŹOÚšý/ř2ĄýФr-fPOÓÇĆC›ätRXaĂ©ľ´nP\[¦n%?íq‡×A'()°@ězmĂŹťĺĚHě\”o édĚ»‹"x;&mk :L3˛:Ĺ—Ü&”´Kůžý(ś«ÄĐ»ŃÁ€<q›ň=…ŠîëĺĽ_$ś«ö9nSçďAŻRżď €GŽz\řßT.UE3 *T4^őŃ˝ĽÔˇ4¶5S»ĎŽVD8÷nµŽ?Zsv-l썰 p<8(Č`]k¦BgţűÓ{{ŘL<4>cŰÓşµ$_uMűxô?şV‚őp]nq3źX¦ťÇşEű}̲@€ý…”ÄÂţPu2źč÷Çůśóřžůâ9ý`ؤë2č ‹čTT({ČC\°~D!*jGłĺ  FóźJJ´ě‚`)»Čôm¶vžˇ±ÍŹv-ţÎÔô”Mď÷Z‡['Üőä<ůląťŃÎKäĆĹś:*ĚŢq4űYµŤfŚë k^ ,ÝĐŞĺîóĺwµ"DÓâ·í7rE˙m ÷b}Q{ŮCÇQđ¦Ář¦/9Z(¦1#቉¤!Ő:‰®ż@ßMě‚ďë®U•ń:×Ţřzü©>gWÎěât­Ü«S«Ýđ  ú˝(ÍąyÔś[Ů)ϸâ:N?=3^Śk‰’ČÜ÷µO. ^+o“`b—k::ŇÔ ęŻaW(#‚‘˘Gžá=Afőüp1žpűMy‡č\ I_ůâWb§ţýWÉÇ -‹ á1-X8öĂŁĚ‘˙…+Ţ'j˛QS—×.üüËŇ*/k˛*3€ÇvÎP2U?î*©ÄĆž#wQ»ŇÄ&6r1_DżÄć -ÔV‘ź?×!Ľvz r**0{¨‘ÍąúîÉ•2Ż‚€>ű¨ceëŘ;,}t©ďk˘%€éíëźG˘;r[06¦XÚš«ÄÍ’^K%ŢŻ"ÎG7™j|AýY2RűëâŃ·=Ů'%]Äű,ždÚ÷–µ›Ó{ÇâC~ä]-L-б*™ˇ6Ť´ĽőďJw Éfk4‡.pa†ČW†„¸H=CT€ßÍo}{]«ĐŃŐţçývÍÉôş+Óľge’_e™«,4önvyGÝň}A;PŐ˙^›0ČńťŚđ݉Uôw·xRx}šsa‡aîŇĆżŠŞ‘ÂÔ‘….­ţ|'ß"úhrLŔ[50M • |?ó¤'î…±§jKÂ:ʎcL_ĺÚP-y'oű*6sv’]F7)k\îŇÚ†© Ĺ5ÁC\UJí¸ÎÇ]<٤UěZy‹úÉí°ő)¨/“Noá;“ż3ř S©őĂăÖV€“î-«ě(a‘÷uJ)Ăçű6b äĂĽ8:Gj™n_‡”éŮY#);ĆqÓ’ÝVÔkă"%KŮĄšÂů&ů")«`Ű™3JßčU–,ŞŔäĄX†ÇUµ—·űJwh˝ÉśyUŐy†D˘ŚîĘIRFsě[ôd -"Á`[ͧŐíßś#´řcm1i?ß…×NŠj˝ß ý¨ťŤśŔť©†‰}¨.žŤ®Ň:5ňTŔŹŰú§>6dŁž1_0ÓJU7Ă.ŽĘ,yoމԚÍFĘ#Ů6ݱŤCGČyC8şăxßgĄ^Bqĺx2+ÉŠŽ#&”!:Ăŕ>é$ů»/j/ÎÖAŁKVĹşuAęÎDÔĚX©Ĺ+äXë€6¤Ź­˛…łŤ°G…É$É eámĘM¬Ź)ú<ß‚í·­`qi_ŰËş…Ťe“†DŁR ™mŤń >$űż›ÓĎtČ‹Čď; -önŽÂ!–“ŔşĆ 0Ć,.ĺR§Ä+všýKŹŔú‹çęů 5iĽŹ@jp÷ý'ˇT"ĹŞ[ĄqPÖ-÷“Ë[ˇH"äö›¬µAR©Ňš`GůĂEĆ -ĄQęíö"P t`ąٰ«č ş,÷ŻR)Ş!îŤ1ÍŚHuź“Ťa˙¸yü ńS·‚î«Üś5Ţeďób/™ţ…č»ţZ '$éµ2@{âĺŇ=]Łí|%’ĺG/óąÂ‚©Vl^ßÂÓtś/ žł®„Ľi+Ő -­ QĂsď™ËkHąPú ĎčĄ"©ŮöwŃŰÝŹ69´>&ěv»ćtŘűŘúˇw"Ň`eíĺIÚáąS¸rXďóü›¤ ¨=żŽaŚ#5¸PĆcݵřĆŐÚ$ËÝŠĎ;j*¬ˇ9ż&ż\šűÄî(ŕí÷3g Ď˙ŔČ«šj Ôo\ę­XKť®Z‹— ubÁ?˝¸mBérÂÚˇ•Ç,'¦q,lîwsÝ壵 €âđOl¶$Ľí±vZ%'ę¤ ôĹy€Öާˇ] Ű(™[Ą>×ÎűÚ¨T­x6Z¤J Đ®?6\Ew_řkäX>;bŘ=>ń´O¤č6đŻČ‹Ůt˘äoáőz§ĺÉ µV¶ÄujA݆ő·WE5ŘŞÉľú…®/&Ť8` 'őRçăŞLO˛TÔ$Ęů4Ťŕ͉Ą}őŽ0ň˙ -čwŤöh:{›qˇţAđM­6Ë´Éö'GhąWGY¨h:¦;ΫÓK!ş×ŤÂELýĐ*şáµâם±_ŚC1]˙ÚŤ!#+,2mWzÚM$aÍEşĹߥp%zŃŔĎŐŠˇG»?Đggo˙±ŤĹ[™”č ‚¬çR˝NUě3š#¨Ž^DŠ9řß>µŘ€~~żt¬cĎZ ŮR„d×C·ýÁ=äHf\—< “vSŚőX´Śp§yä—os¬ßÎë^¨·áŁnÇŚţ®Ů‡jĽP Óu…÷ů4cw\żÁÚ˙5Ü#§~·äa×·^KsÍWMiŤ<6E¶ă0±ňwŤô{yĘu‡¤É —šßŮťô`ăüŠ!w]÷‘úArŇ~ˇĆ|¦LWpŤKc'‡´óp!‘[=ń BFvťŚUbŃž÷w7Đłď˝/Ř(d‡hű˘¬®PKĹ„]–yě_ڧ¸Îšeä^\äi\'-–¦€gą*Áă~% %ęÂŔ‰FŃŰgůěéS‹aÔľ`óÓů8'ŹěŁä7ŰÂIDĄ‚Ő)yuĐ4®r“Gš˙2·ô“Ąľ;'áńń­ţś&PDĺ¸5¶)®ëŻ”|ŞëÔ7[튻&y(Żă‰Iŕ‰3•ŐrPN±§}ÜěÇH:Měs¬ąwÇز״^=ŤSśłtô¸'Ť®čN9˙ŃîtD ĚŠE䏳ΧŁ0ľ‡?‡Aş2T˝+˛gĄf‡"v’a1ÍĂÎ4 -éfłx“f“JS„ÄMď`Íůcý ďąG˙ˇśÓ1Űוë)ĺG¬†‹š+ =ˇ˝0}0ţ:0ZXp7;-”…TęGâ…ÖŤ¨tĎĎŁP|Ňu¤˘¤lŚTCńÝ‘îËD©$:ű2dE¨–oĆË»„7wOś÷&ÜôĹSUŤ˛€;Ń®AćáÇ„˘F Ŕűa 8„Ppă‡&…?|DI0Uą"LOÇC -ç5WQ¦Ę=űČZo’ţ†,ŞË‰z|7őÚg% ‹ä‹& -$ĺŔ†%ř…FšěüÁř~˛$ţľ+ŕh/áţŘ`yüޤ%éî*ž -,ş1”Ü[ç„8q«GÄď§0)©rś©­Ř›™_ľä>>Ć•(P+Q T¶š’xA:ÁXě…!ě,Ýßn<ýńz¶vŘŽ Ś™ďťŠkę Ć?(|<ü*×FĂĎ5’ä9zI…6ŮďßĎġ%Ř+ş¬n:«aâ ôs×rÓMŔ33sfß*[@/čĐ<  -řW?^ZĆŃoööčy®q[’R&űzÜŰ/-eP{$kc–ĄaUCD*¸möRUpĐjXóßWäzCĘř -Đ­’ô—nŻ…ňěˇŃĎÂG5¸Jd™Dô‡+c`ädÄš&EřŃ™[˛Ş:D4ůčÎtLk±Ś0çڬ]1”—[(ľË®ăž‹ /*yćwĘ[*„äZ ®ú˛HĂcJj3řŢĘ´P8«˝}ęô‘CZ–nŤ0+ĆŤJÎŐÄjÜŽ”:źf/¤*壀¨kÔĘŃęFXM$ňŞ$ćâˇ'(oł`ÉeEôîÖÁ ÂŚób®z…1Ě27±ZÜtô*ńşśý9ŐY l Ľaí|}‹fđžŘř%üŃdȤ2fXj›ŃI>…čăL°2ľ˘VWd4Nçڞý–}z†ŐRÁi Újż˙šFă'Tk’`ȵ“ËWő“§(m¬Ć5Ç_nŽ­Ĺ4Ý[u‡ĚuÝÉŚÓWĘ–űó ©ó[h••24 -B]Ŕ°`čPQäĐö§dťyaB\Ęp±˙bň ś=÷ĂŽ%0kżŇ¶U\ÁŻUţďĘŮWSż2AÓNN† ‚ł%[ř¤=Hßfk_6űR˘hŮ®ąp˛ö–á¨2şĚď€Ă†ŚTĄ„mŽą¬Ç}ěř2°Č ďľÎ`Q*Ă€™xîď.ËżŽCÇwVŢ?śp‹ôŮĆř!ç9 ‰uŁ“|ďŠń?˝I÷äăú|ěLą~dx`ZÓ# ü¬ŰUS_;đŤ*‚/Ę"ŮF+"Ź€äĹţĎ}6…ö–¸C GĽ8óĽ¦ěŚűžY¤Ä䙚2‡ŹÇ!Y]REň uP¤jŔŤ ^IFč‚%ł’Đ…vůâÖ´Ô˝K%9ü:ľ,%ä˘˙ .ŤRÂ»Ń $¦1uş˛ôŔÜ^blÖUűU·W÷W Dha0íťÄ0.»aŹđ~H(OÔ,·â «¸&Ďc]c¸LíĆ’ µÎ‡)±fŐüf§`ž<'ýN÷‡“ŃŔ§q¸:žkU¸F |žý^€ďŘEKąĹµ9”O§Çpkz‡ś«×˛ř|¦h#Ç \Ę7/ë[XéŚP%Q’4Ć—NÄ`pVxp\Šýf$ä<]ć?ú`z.w,«Ć'ŔśRCYŔFYĂb+’Ě d]Ń>@ÂÚXś$îju®^*aÍJň9§4őŠ™ßŠłęăv¨ŽryŢLxô¬^řň$•„䚢“łŻ×® ]ŚZty§¤x.; ´µ)ďń ˝=Wń߇ĺ‘^¨´#ss*çź`7˘aµ2@aáä·˘›CZżeŠV–;óÉĺüŤB4Ô>ç…HNvY™Çsp ¨±¨«žŞ¶Uőˇűű‘”ČűŽ~{ q  lľzß -•rŘ„âjs‚C“O‡`C(Ęő©ŔŽ…ĽOög% IŁď¦¬Ł6őeŐz°ÓT1pK¤“ěšĚťłí3‘ôMáÁ°sBßťâń ů’ţ†ě™aâ)RrVń—ÖĆ2*˘ŁÇ x†€qsHťĚť:b’xE±ç㍪tĂ|F®Ńž“O´âóX¸íÍPĂ9CÝÝF˝¬n'&N ¶j°fCÇă ńѬ@o)Ş˝¦ú–Ż«_GÁ;#ę‡ĺ ĺ›lăéĄĆCýÄrăőóH¬ć©Ö`ů‰‡hţ ®2ěWq§PĂŠ—!LËJŮMডQĚř˙źZć I÷©ăŻ:…ÁĘś4PęĂŠS‘‚A>×5†‰mŘ)Š áUë°“Şü´ři--oY ´|8‘BîéČď:ęŁqď¶JčS‘;`÷bľ{Ń™„+TÉ›ę„Đ!’© Ă\YîD]w]¶@%q& Çć†K6Z{9ćŤ4 $»ĄD0€Şýq.•z¶.Ŕ¨Çă3WO§Žg&maZqB8„ĎŁű˛äc˙evζ~WÄ;ď`ň•¸·5©š®ZŇ6Ňbx]†*z<ëHÁ¤^¶ČťG´×÷pű8–­Ô/x8ťxó¬`•íX^r„ö'wŹż»ĐşB ‚äĽ DÜ—%ö -Cś›¤t#MŰ"/čÚU˘O¶_(JťŁ06«0Ý -âu pŐ,=„Ż|é/*y®`…´ß -6Ëäž>÷ąşÖ cn(ů­ňň7pô.2ń3‘÷e˛ ¤–ľř«8[/»ßŤ)ąńĘĐß{Űň'E.óů9ýlW¦«g¤Ş§Ýeń•N.9ĂĹłüʶ=eM/ĐP p ¤&Üšů\5ţ“ťT͢éřA5+7¨`2,2%ŹŔ¨Ý8OęM'GHgćšy#~ńç›(y• ×Ílú+>bč[¦ú2® řdŁ*3"ś 9óD|*m>ĺCěOË)ýŰJöVŐA 2Ý‹ŃĆ”Ć.«/űÔ"»´·L*W6-n]łĆŹU.ĘđZo’´řŻČ˘K‡·u Ď Ě1­hZډƋc§”˛lf’(64j¸ąýUDÎÇů -^v…WZĐy«.göćt¸pÚW¬*'@ ňrÍ/*°X3öŠş'Ş•D¨ľČF¶Eüµŕ‰ŞâĘľ•5”hóqôŢv—Đ5¸„ŕS· čšŐX ňµć·Ç9}đt,™ ÚG릉'()äE˝¨ ÂÂ鎴˝Ď>:عǀÜĘ…f ›f ĘÉĘ»°·hç¦PčÝZéĚh“ą}9Ţ[vř ’pĐzN ëx\ĹíA_׊V#zîlŽÁč‹6ýqů8`[ÉERZ5ę‡!FîhŁŇ–kÓÉ7ú˝fia7ďlpű”žQ -¦ď}mŠ·rQPŠŹ×Sśě™lă€M9ř*˝C,ôçj l0Рڶ™5ᇡ{”#±•ú\ŚÓŔ¤BłMôËö‚ű3‘—‰Tł<ľ± ˇ?fÍŇj9}UeUŹÖůgâ%=ß\»ÚYń§˛ĘîđU*Z=Ĺ˝é;¶” ×fŰ}"Ś —ĘçĚ.&kŘăę®uŹ÷”‚ŕ˝qłKهF@»ˇ 5L)­¸4^5yĽIme7jZŞŰXÝYv¸Ě4z#·ˇ¤ r,62±J•&JcyWÜŰtĺüŃHHQČŢĆýw*’ rÜC2tŕäćTŢEŠŐ4E†ÔÝôrŚÓ&ń»^ăő|-Ą(NCIűżŢ$Ô®^¶pcMCźu»úéľ}Čg„š˛é¤u??(˛Ą– §ú–Ż˙‹HIá5˙ĐUurŇÂl¬^´LNľ’nl?Ëť˙ĽŃAŞŽçwş#á8xČelÉ7=?ĂŠĘIĂŰ–Ö“t‹ `‡Ź¦i!mĎ jÔÔĆżďBóĘDĽlđ»ňĺ6 K¤®qnĆŁśgżegUß˝Ż ĆyŞY€ŮnžŰ« npß&yë‹R‘8eŘĺ,~ń®¶BaxYOn6źň.ű—5BÔI9ůGťX;žkĺýÔĘ$-kß ˇěyîär}oMfdoě‰hNöÓ¶ H'-ł\ë”ŢץK.&@š»–Gýs,¸)ĺŁ_9ĽôQ„ÄýSŘ«ˇ#ů|ĐýŁxÚ~zMŐýoüCĄ}“BľúĎ*BS§ňŐ(S‚ľÔsyNFčÁ©vŃŹŚ!;ň_HĺS!ßäuŁ«'łŤ~ -M—Í ýSü¸SŮŔĚĄă•QP7(Ą€§nölł4§ŹĎ¤Đ(X°ŘҵäT”oNގBiÎ2lâˇů °Ń|ÁÂľ~i˦C93ş=Ś”ŚË·Ěs$ÔB± öśő…˝2şKe ÜË…-­ «Ćľ‚}Ą+ľ€÷‚ÉöŽŔŕô╎33Ö€&ǙŠ-»ËÂ]ČOXô„{ÓLşĄGË ‡TÍĽ…°ŻçŁŚF>]¸sł÷{ů 6ŇzÔ°Wň…Ö)ŠZźCő™łqčC¬›Énk°u:łçŠĚóĂie92šDĄ#ťż1ruÂV©CÎŔlŠ]ěĘ çčÜęS¬¦ő›"ëHś+ŞqÝşX˛ÔşĘÍz÷Ůö©´:NR%ŁŠdĄď;óRr”ŕUÁ˝BĄ!ô* ôäíşŐ€ĆçÄśO°qÝÇ|eÖ}Ę’>6 -…Ĺ˝’N‹±źEĎďŁCÍ͵ĝŐYśi*šGřr -sÚ` ŐÁAAâĘÝ´şřv?Ž*ýtŁ– ^Ř‚Węä׺dđO} y˘Ňň{*6U¬6Ń?óxüÚŰŔŻŇ.ä’™݉äŃĺßîĹ@:ńćýM|Ť(#ü-Ž÷*í,ŽN¶;ZŘ[ŢźŻĹ.ˇäąłłö8źäěńŻÝA ŃNú;•®ŢĂ“ńýýÓ%#+ Ônó‡"ňFĆE)l0řF­ Ľ5ö6HZ“Ô´F śČhEßź«š×)O˛¤ýŹÔ¬#žş©„śW…;>ÁQjw€üŤwnL—µEŕťŇT˛Ŕź…äZPâ8wműŹWIW»řl;`“Ę÷kż°YVD”ň $‘‘ř…ôZ…Ę_âUĎęRf\0Ý—LçÜ6uţ8Ģ+kO›Ŕć ř˝lZżŰńĽ_5,eakł@üŇSu’ŃĂ4ěÉG,ĺł17Ń.E(ióőÍ`ňů ĄÄw˝Ô»”ŢĽMÂťuÚ·­ÍŢĎpŁë9ü’yŠşRClËČ%1_NŻÜÄŘŤ]YK;\˙ş6ŔRůťš9Ę2}u7:ĽŕMő»ŕ5ő&©9Ól«ŁTj3ć&§ďŇm 癜Ü4oLmĹřŰ_Á,KŚ\Ýy»±qvŃZ‰<ĎĹÄn–m¶&Np+Ťl -'¬ČÝ5Y–]X&ĺRnt8HyÉ«`ž#iPdŮgű†xE†ü˛¤OcŤ—vrň$X–şšµë»aŰ}zć¶pvčěYĂ=ŘBŽrA0FĂ+h{á7ĎuÂ:CY-!˝s,—ÖGő™±§ÜúT~AŹ»dßAĽ75‚ŐúÜv‚3ËăVŔ“ä–Ś†â÷·Íh?|R··‚V–T(}gÄ8üĆń1ß0ń<2~Ş2wđERüwŐŕ]á`ĆT·•îmş€IXsÉţ¨§ĎY±öŕ-đĂuĺꨔÁ#ŘŃđęiřé±™Áިł5ÁZ:aŰ ¬>‘=BéQ¬0Ě3˙ -lV˛ŤˇxVľóŕaS" -ŽĚ¬"ÖN“RG¬r>ř?b2rµËî4—™‡Ä]pŐ.-ŤłO'Ëź÷v@ţľ¨î0$—Ǥja˝9»µŠ “6?¶NXWŹ˘Ńň îŽ%&ĺȑϗżM]$熲ąg3›˛ŹµmˇhË_L˛Ý:ěą+Z•ŃŹŰ7=x–x'VAěÖŠžOŘAí2j“Q٦źŽ>öEtl¦đjÇ5”ŕ+âŃ4žwŤq×Tĺ»z˙m&jP»ÝÉN¬ń[ĆĶBË­ŔšX„¶ňí ® L\‚Ě x!ěW~ú -°µĂb ÁÚlčŠŮ˝E­ ~‹fŚv…ęssĐfki”{-Öň‰˛KüŇ÷8{ ‹“ĆĹMź“Ń0׬|†zĺ¤!ŃËŻÎ?xßiáś5{+^î+řńp9 -D^gŇ˙–ýV -uU˛ňGd«cbĆPfź?™Äi‡po؉˛/q.śĂQXŃE;r0˛ÁŰ?=ętDuěW -ľ´zá.ř_¨/oőÂ*>˝¶SäO]ˇĽř‡‰KJ»85ý«=ş“ľëUä÷×ę•áO÷Z€•ó•.gaN˛§•Očůb5Ů˝–Ç-¶|Iö]úöçN“‰ ZXč¨Z㤞3)”Ôłç¦`?$¸€ľN˝MĽĂáy™đ?4B4 <ă6“ŢBękľsoź9˙őŃÎâYż¬TĆ2a~Lʵ"…řæ¬ĐYTĹľ‰¶°~®ňLwOp¦:0×’đMhMJ@0"•Ś…«áĹđm~§V¤…ĂóŐłg.ąĺ¨HąţńaÉÂůľ/gńĎ’ž“]Ü$iÎ"m˛™1i%.Ô]űgŃîű›Í#RŞďPůO0¶ŮŇÔ¤ć–u*ßvÓ©× ę˙Y eJň8ŕč!ˇC›·tç3íč–Č6jв]Ťˇ=»ŻČüäB¨ZŹ‘–ŕU ˇ©ť(Ą¨_„ µĚ´fC!~‰Çqß+­ˇG‡¬V¦Í]8 $ ďq5±~x] YŢwÜ÷E5¶´,Ę-pşę¸ }gNo*úŘV±µ¨|8ňk¶xé5NÄž°J ÇŮçâ1Č”Á­·Z{Ź•˛MđÖÇŽľ!ńt]O†}…ŁR“_-ÍĄ?©zxBäsłŢ×óäú˝˛ä”<é™ćlŃń}ĹÜ>…¬cůBt¨Ěc-ŐnÚH…n.™—„·JP°řÉ2Ř/]9ô4ü$Řyç,D÷ ˝ŔŽĘĄëbW‘©RĽ"śŤ»ŢÓă=]e%@ [ął§çÔf§{żaś#ŽÜEhäxĘ—ü› <抨‰^_­†Ď{§<śk/ůCWĎę®!Í–«oÁ^áŻřŁëłBŰ ńQŘ\VŔż,—€¦gůw® JEu¸ Ź™fxáqd) !±ű)Ľ*Ř Ä®ňzĆĺ.E›;ý˛#ÜÜkRĆu[@ÎÚ!Ń”ŮĎ%ŚNkÓY{ŻĚ3čtťE> V—@Unbü`ćôt=0Í›ŃUZiî3]–|D„aëeJn·ĐK‚fJ˝™Ř§a”投©ş¨ŞJ§úU–(Űi•Í0đTŘ? ęQ;,sŐ¤§ŕ&±@řŕxńÓtłSćâĆ,Űăĺ‹ xů ¦ T$c‡ča|9/ż^Í8p5Ĺé?ľ^ „Źi\kň@š9éűĚ­ÚMŇę'-9˙¸`Üaá|hň0E3ÜĺPŰ!źíUi“úß9üNwÜ˙fŻBxň˛Ô¨>˝óţłůݢóë]U+’ÍQx…hšO!ĄĚlľź ah‘Ë“=řů3žÂö|c.˙Ě` A›­×˝hř&äÉ"JäŹ.đ7<ÄUżçĐ{gxĹUzO†^»§Q…É.żčŻs{V4űµEęáIÚ5±µ&Î,x™ć"ťúŢ8"Řńűˇ®‡Ä»aÁÎĺ\zf°ŠŘÁŢÍ}ÎĆă)*HFRv"7Ŕ´šP–lô䞪GX^eŇÂďÉÉbzštGei—rŤťď»0 ŁLVł;ĆÓ®m„źŽ[w çyl¦÷i˙r^˛•~ăö·j–)üĽŚŚ×ĎmÇ?ÖŤ(¬I˙QëZw•MqÄÁűrr°ćbĺžëÔĂX0XhJĂľšvŤQA”N• pA5V0ăv™ž'ŃŮť^3™ëq†đĘ×ÇŰŰ?ă=ˢ›«,ăgŘułçqnĽ‘’{BÇĹK`ߢ×zÝÔÎ)H]gö™~'†IŰ,ʦwŚztŹ„ů2·Í?Aőďdpý¦­y}Ꮖ¶¸D`TQňĆ9V–şQiŽ…„Q"]ÖGo‡űřŇť\ ”ăŕ¨g8šş×I:‰ü„„yKđeťqjgm·ĂÚb–¬ÓASŮÔľÎ)ĆKôZđ¶Ë^-í[´śWĐśŤĂ?ĽRk€9‹7ů~¸Çx3/\€E(=tŔ1©F?6oűô`¶Ä¶X'ť+ =v€E8—HeůÍ®°÷5Öűř?s{Ŕ[Pdöt(‘˙\mE˘ Ąđ”÷áĂľő‹¸/˝°÷ކA=aí!ŰŞţ ® ŕ¤úŠ—‘ HÎéň=bI+ĄŐň56ş6xz V=Í-FŻň0™đ·pÓ䫊şü|?L·?”ń,;7Ěh.üŻ>ä(ÎŮäď -8Ű)ćR‡!úĎßĆ ÁŁŃW€öů\&p‰ q ­J)W®"ŞîQ&´ŃĄŚ}şj?yŤĺŇMŠôlĎ#đąĆ@}ß_•k ?Áąa::ŤJIÎL\Ođ˝i‹Ů÷•_}RťNÁÄ;Ú~k„fQq\·N¬Ń”˛ŕ VZušq,ŘÔ^âş˙ľűď¸áěKs]FUäSuRŤŠĘáĘŔâqu‹ňŠéTg[ZoĹ‘Á´äQwTu=ţ4ÎAĆóEÜ/Ţ —˘#Ž}Yă†pĎýKŐĺ44ő!éÁ¦;Ź^iě^Ǜȣúh$këżk+5˛´ťW×ä —ô ľqőMp ¬¬B5O赺íů°w“D«cú -ˇ×OőšwofÁ#;4o»˝B€^Š’qÔé”\ÄGë2ű–ş“Ú=*Í -źÎp;Ł[96Mý愆ńÉw~ő[©<2ůĘ$úWĆcÁe`Ń“˛-˙]ôíG›˙üřayĄ÷2” ÝłE%ł¦zM‹FĆL™źÍ`RĆ"7/$+Ô -`wŃŃmÚ›Ř]ä=RÖĚŠe°Ä HÍݰH‰â Y0đą-ľŐ2*öE¤d„ -Üîá3ČѰçî@řüĽŰżĎM4:Ů!K˝@[ş 5˛¦uu‘H+äŞ?e~Ýěű_IW˝™€™Ýg­‡iąÍ^˙e!ť<áö¨ÂÉv™ShéíŹ8é×íĐů•Š”¸áEUĂŔžV"öG^äú{ß× y"¦Ú:?Ńě@óĆVś”†mó ´j_é‘ÄM8*—ólÔôg’`ÂÍl¬L?Ĺ~ڧŔĎ -V,˘Ä ‡ľ€do I‹rcµ“:F++&.9ë–Ň{S5^Ĺ`čţU}łÂîň -Ćž1o#>',ăŇI‰\|\ ź—DőíßÉ ­R»5†~uĆŞ’@Ëjúę-ŚďC;Ż9gS© í - ăU É›ÚŮóVŕ&|źeL‘Ä*!<–ˇÝ@ -ĘŁÍPí#NW©xŻÖ`¬1ĺţZr‚”źEť%+ő¨÷‡ţPćŹŮ*ĘČTËŤ§6\ž©"®î#ŻşA¨xň ‡B‹ÍrßîYľ­ Ź˙śp»ÉNwAb›YŔbžżńřcrĎľ„Ŕ”őlÎĎ.©pj3¬_7>ŇŠJ·‡ŇáVauć[ŢWN%\±üă”"łé?źö%ýF ‹×®ăh«¬iîĂ·†Đ-Đ/÷,sžč±=f5&‡4˘wďU{áŇNâ~Ę\ýŤđIąâÂäP•ş˙ňŤŰ -°9ł÷1ˇ7ĺÖŽßŃńš`ŹdčĽÎ& J 3/ăe˛EfsD4‘ĺp}i‹čkŇ[˘î®[lQ:–Î2}ŇZÔćśgÖl–O ćŤŇő»ĽȦ ÎŔ@(úç̱ęf:fŰ›/‹’t7YľjQ«6QD`{˘ťţ9@„ŰNëmC_–ĹB×WV’ AiŔNŐŃbYą–MůĆ€Čň0m·f«ĆŇ·óĘ€ ě›ZZ«żr {ŰÁ:ĂhC˝ÓlłÚVT?Ą|}㽲wî­Gđ(-´aŻĺ‚ŇOiEţ;˝ťk©Ç»đ$Íś1číÓ&}Ď„ań¬üJ5ýĺ‡mKtŚŹşŹŹQK˛ RQŠ‘Ź%hi“éË÷wáŘťŰoÓXŰNBo<đUńŇqQ4ß/'€‡ŔלËčÍ‹Ó;ŽzÎD ÚXPfŘÇD⪺j@ -#J‡cě\R{„có›´1/»šüľj["b‹úąŹlůăÄ1ę˙ž˛50»‡¬´ŐÜ_/B BÎś8\;ý96“W%R˛źS©q!¦Ý*<ň~­6^˙Bß.k×›‹ŞĂ†g¦v]Ąď <ĐɱąŔąvciWâ?{H0@ŚfaŐŚ|š– \n¬ť%˛Ó­¶<^Ŕ" |ĹëČG††Ô“#t®|‹¤ĄÄśAÝ}ř˛N¤ßţ21~f©•G-ěh'‘Içř˛Ż“^ 瀖y—Öú¨—ŇuŘç|Y'Ĺţť ëčá^ę©ÉÔ]ǧ\˙HNęĽ|„RŃŐ6ÁţýŃţ§ Ü/6ď±M…ٵf -PVnĆù¥M^RżLµLŘ…‡Xcxs\ôÇ›ř&x™@ѰÇH×îH™-Ă”äńs¦ ă‚’eMÚĆ7j+¶ăeS:;ęQŹ «/­ŇO\e{vNŁ€…řxä§ď€#—ˇ•|sm;@=Őđ8ŮŇȵř_…H¨«,3ř€tÖR:‚ Ę)ép‹ †ŚeZ‰PË?.LČfybťéá ćE=Íän)ĚŹóZë`Zr\ţ˝aďXYHŘ“ - -ş ĆҶȓ\ł\Ö5N`Ăé<řú•ĽE‹?Č:ßuËĆŻnIą–X±¦ö׆3 %Ď•â©ë\ň…Žs±˝ S+#S”čŃ—Ô׼ԋK;ÔÚeîµôíŽĚuz[qDęW«kY“OOÚ.ŢŹ!@E˘zMô6>¶M|ě˛ă7/,PB}zÝś5č+i{$ŁáÚóىď<8aĹŮA»‡—<ú¬,Kyy#gÚ}·^üâ˙č0J^Ĺxň«äŰŐsV‡îHÝěo(ÉnOK6”wj'3në‰i¸§€®ÂŇÄÝ3•ĹxĚîWe†śÄ€÷dˇJŐ[ä:ÝTąl“÷E*séX‰§×2 űU;>őťĽRëňž°Ú;!Qöó¦.”1ôÍ '­WÚ/¤¸v]y‚qŃŹµĺ±Đ`™Ľ´4A?$m4Ó}łăéq4‘WęQŐŢ&’×[”_Ö̶¬[BpŮ{ťjw~JI™¸Ţřrrt©'˙ŔF{Út‡zD+tCg ÷ëÜQ%4­ĺóĆňd˘Ç$ÔŐs U2i|qcßxÓu-%^Ď—„AÁŻ-US¤«vŘBĆŢ­ŢźG|IAyŔ_÷­J,äC/ŽăŇeňd"7é)©tö”GĄ{źĹyŢAa1łĘ[%…¬Yę:JµČaNŰŰqdˇénhjh"iÄš yŐíĄ-jI“¤!O śeątÇ™Č"j| ŹŘ!ť•I§OŁ@qýřăÝŐŰ…e yč—§3†»ácqµ2™ôD(dıě)ŕĆTى3méęyHřzŃ9‘ÉOŽ–T‘ľW獱OSaŕô -e”h”śü*ą­ÖÚ3’0@ę«~ÔiĄÇđLü3†€‡é÷ňy;?żD×űžĎgűÉwi_eľâ‚hĹš(i@zD‘v`'źP -eňŕĺLŃĽ[‰€ÂḮaů­‰m…ŃšYäD¤T”9"ˇn„ls˘ëMÂydßhnmě·Ä_˛éďU´Ą2Š-uÄĂűšŃóŚđđHÝę¨ÉÉF÷O ’Q¸Kᩞ É|gs‹ŚŽ! -Xę’}wŔ» Á=Źě ä‘Á\äčđa0â Z9’°ÁSZăƦ/V:†/,ŢH*Ä»m°ŔÜÇ9d˛­sąůÚ0ąHiU5- Zŕ|ç÷|YÝ‹[ťŚÚá¸Řd3Ĺąq›ŢŤ)$ É ˙^+•Ąę{ł‰ŽXşĂ°ŞŮbCůFîč0©rÍÇ„3đŚŤŃte—p]©Ďš >jµN—˘YuIʵ‡Âeřv0J—b ě~˝ą¸tE˘SÜé*(-+ÁłoJ®?ţ.4i?a*4~¸˛ńvcE0JâŮ=ĺ'uw™°P‡´óůűßö,›ŐĂŁýëDÎHB84ĺß3¶óę"ĂĘĺJÝŹÍH2HŰtçłoŽ»9¬(yWĺzřTÄíţµ,k»ZŞc8Vŕt«Ô‚µnî—¶îű˙đ¶ éPÂL‰ŕ–EIgć>ČĘ$[¶Ąŕ\?÷Ĺ&_ě$MşúŠŚRzţ —čhS­‰V>Ąů„™Ýöřs/ÎĂÝI’ôkŐ‘tÜk¨i;·ŁËňEžĎŇřöD5‰řł(eÎĎácjÁzd&tż -ŇĺÜłŁXÖ óK×%ŕ_9×úĎoĄ8ďÜ<"‹a‹‚RdPzˇy¬ŹJ;¶ťĹ|Ëĺ§đě-ÂR*řCĂ -ÍĎËdýb$OSSQX{ë“ô.Ô ţúz0±7ö¦Ô—¶[˛,]˛”8´Śmsł-’®«áçxĂđµ¦ČCŽkÔ0k3AŰÝĂč}5Ł[ -Zh}‘âSŐmłŘĺč&ŮŁŔńyÂ$î5;q«eCRĂe„'žnÄk3ŞĽđjî.N2±Ćą}c|ĽXY­’‚` -ÜW……ŘÖ«¦kmRŮęĐŁc©e+ŐQčńvĐŽˇYúiG{ąÍsĽE¶ĹÖ¤ >T‡Dđ{Î\±¨ÖZŁŕeŕÎ3@Ŕ•TĆ4oőhaÇ´Ü*6Rµ#}ţąWë^Ńr^ÓrĚŐůhˇI'Ď>R*JznsŽĹń~=÷ -Ŕ['§h‰P“¤a[L3îíFr÷sÚů@ř°Ű~(“ËĆ·NŠëç+"J†°güK|6đX’äÁąę÷Ô˝6·zË—9T皣[÷euQü FĆçMfŘęRź ”Ý\Ł0(#DöY·ú*ŔĚc˙ʲKiP©HžBlŔ›×Ţ€:OD'cXÍlQ枏ćVę3ůú’Lh%łěČ)!¤c+pÎÓŐţkäHQ2t×I–ÚŃk-*"KXéÓű•piĽÄą3ËI)X@#m@ÄËŽŃqć˝#ôÝ)ŞYpŹ Ť®Î[ć©]…Ô~ ·ä€7~=IÚ}đtAŔ‚6’ś`CüąjȬ6’GÖ†śŔ–ő…U#.„ęĽSÄťzx_ńy-%q8K¤f,ľ]Ǥ†#K$»°Ę|—Żů&{Ń˝N+Ŕ`˛Ž…ycDžp¸&ű%ľ˙#˦=0BINY[űŕÄ -ăć“Ű,řFT*هm_{HQ™Úm…ćE%Ř˙ő ŤÓobś­śĺ•?-¤BůßJqqďµVŐ0÷ˇJAQÓ9eÓÁéQ-‘ŁhŐ‹ű&WUswŐoE"$O][‡"b–ćµéu7°őCbĐçŐj4dŔ,8vî“ ¨™ čHBŽuľ$eĂýĽOklŻĽc “@“0ą•ź¬%÷|’TZńâňŘŐĂSnÚ“ńk0~3ě]q‡ü4q  ńŚë!ŃÇĽ¶K›UŘ3ŐˇöäŰ%k©}6«r‡Š1 ŕgýetFš.ď—©čN)Ş˝eµí\žV­bĺ·˘;˛ÇxĎB+@ٶŞ$ÇĎŇÄͨCŐI«F†ÄäXűXK=•CčĎȵÝMGmăSDäO8\@&Ľ’śŹe‰Ż»©˘ß±oíń¨WÚV§"·®§ĎăčüHĄKěÓŹRh{*I7$Q1vłiS×ůs†âÓ®ş·Ő’âHI„&cłĘ cž^“ďĐżł/Y §@7˙iwÂ4E+ -ڞ÷'bMAlśöý_•Ů&DBšĚ+|é —®ęŹ]4™+ÁgvS-µP9CHő¸PK …é·7fjúâţăËv÷ź#Ë˝¤č€×h'šőÖ„ďĘp˛6ťb—jĎŕ‘$ô2.Xx¶qO´šëňďÇŚo1˘ö_ŢqĽçŞVe…•°ÝÚŘď>hŕŇď&U,¦HT;ús_¦ľ­g Ë+h„CZňUa.OűťŞ}łşŐQ€ÄöąÚ5´ŕ@÷oĎj—~0ççĎ UÚ|˝ŞđD¶D]f!çmeAIžFÄTw2AŃfÔ—m¸EËĄ˛Şa«!ĎÓ„€xŽhg;Ťŕ#}x™jŚV˝Ń5Üáćt]ŐĹ -wŕâÝ]ś5ťĄX±ň=öĹô˘_ şŚŹOę˛sÇJ٬ЪݸÚn3qOFÁ¦l«DÔ[t¨0sŕ˛%C70 Ű­q ô z!Ĥĺ*¤˛b'C˝OlT Ň• y@‘=葏ÜěÄň„Ŕţ×ĘhrŐĘŤ“ŘşAɬ,ćpźüôĺ8Y5öerŘYäČ9­ź>‘ď]FeëX¤ĺťs¦%b·ž"ʎ1q›#tBlÉ!~$(Ja±vt ®÷U1>Äč3ÉíUč`&ŤĄV4 A))!/°¨Ě•nÎ#ř˘¦3Fw]M>¸mŤźS‘&+ŢŔüjěá7ęî h@’WĚŹCQgQî&‡¶Ř8Nţ»Č»mŔč Ňţ:_®µeݬ*G‰ľmˇĐő*I_4Ëq\s„Yľăä4^7ó‘i0ÂGéó;Ľ/ÖBłŕ-Ľž°ÇÔ+ĄY´µEÝEfOÉ»P6ŃfˇĎľ,=ÓŔÔuÇÉuŹŔň`ě–ľô§ŔŰ -3ăŮâŃËvçKRľ7Fü-Fńd“8;ĽNÚ[ĽFŰeEŕűŃÚËčvKH^N:mb/}Bt‘4`ŠA[˙x;“č]ĂkÔĎś–ć—Ü<Ţ f™čŐńÖŤ$“P7® ěâr+%éF¶đRť»rFÓÎDB-ĆMß6ÄŻm9 ĆoľMĽÝř€5‘Ęú>¨i]«‰—çáR\Ç‚iĺF¤îľSÝ7­4™•ĘßFĽŕśĎtŃ=ť‹ŘˇÜăfČĘi[€- -ąÇrc®ń˛Ł@‘şpŰäK˘R‡`cÚž@‹1’ňM˙CdEŞy¶)d= Ýą"÷d»Żž)k`rźaęîM_ůEú7Ú:•čMŢ„ęö¨ń.·r_6’űěůłNA< ččĐäą_:E JşŚqtr<`ů{N_;˛ĂÁ»ŠĽŕ&ŚÖEöŻÍ¨äL KĆî}´sPűë8E8ŕ Kš|{ Ł®— 㲼ˇÍśęZqďTMä{'ž´—ÁśĺŠbÄ ŕ›^˝ąAÚę_x‡m™ѬąŐÉ8¸;}öäŁ'ćGł˘H×lţĐ$Ąëv•”¨ &6Ě A¦éŠí$¬ÁD9'Ź"†EFĎnłY.5Y7‚GžEXŁđ­Q€3ŃS*ŃN?Fä×÷ôĽ„ś ¨ş€u Ť˝5á!)'đNMşLĺÁ -L>¦ŹŚŔ”o–\4đž¬pđ9u -g°0íńű¸,ăăA›ë ßʉ `UަçwMăÎţŇhf Ëő›J´ĚŕWŽĐ¨ /o“ąŮd\łatś«źűâ0PM4ŃŤ¤,&LW®’č@~,y-ŞŇÜDi¤ę ă¶ys/ř”I3P`…VůY)Á‘â'”]vJĽ¨hNd§ LśÇŘŕ;ŢH3VŞ”×ÉŹµÜ(Ą5.ÁHA˙ć„âöŹ˝ôî[MÜ‹GŃ^zvC¤÷(ëÚăÁ8“0;göô™cůy”Ľw 0†ˇK_Ź T`ăŃ"m†p®-ąM:÷ł]¸ÂăůˇT*<ĺm4aÇN ,Ţ„ŚbžÖß&”Ëý÷{řˇĽ§9=>MŘ"ôp†ł„Ô€—aIó»Nţú?~Łíü -Ůx4‘zŕ“ÄĹťĘ@­({áěz7iÚeE$éĄ^JEwűŢg -ačđ"ťÄ.ú{¶)ţp®üOxş¨wâÄcÎ|s ék6š .-L’eĂ,ęőńaƆž‘…ë«*7;#Q!]Щĸٝ<·z¬¤ÎÓf}tĆĚÖ_ž·ÖŞ~FňoĆ.ËĚń=QŇt’@§.°îËĹ%ĐÔĄCď·wo˘Š“Ż=;3 “ˇ_ĹKd'¨8ŁRZîŔ…‚kćMg+©ýx°—Y^-sYúćÓć±Ýzdy>ĐňmŮ - b®9k‘ę¤mÉk^“ 9?#XbÂŻ¨4Ó€ěK"ąÁśc Z/ţYOIg›S}ç°YU9fG‚şľňkh;Đw‡ú„Ó6i$‚Í~`ŁX˝0_čR|ý=§˝†‰iďĚ\ä±ßĄŠGzF'uŢŔŮ^˙ -Öź7ŁLĂŰ •߉ˇcË‚) …dó á.AAţdµµ&n÷Đ™pG•Óęěgß{ßXçX˝3Ąm§/Š a-$—á:O…ĹŚP×1„şáĐĘWă–óEPˇvx(SĐ„*ü”?ďq -ľőüY¨ý8€ ‹Ćg>ě–çiS‡éT”eíś2kN]’GČĹNŘ{Ł˝~>í)HëQz˘î÷š]?ŞÇV!ţąÁŽ&÷í+kĺÂ*ů±Ăˇť¬ˇG+NkU‹v 1"úŮvXVmjłâ ˙6+ÔŃe}ݸ‡ŕ°î®®MŐA„J&ZćÇáŰÄ1ŢͶy#>”ˇ\LÚ“‹SV]kô^ ˝G¸áx†q"›Đ±aO Ôé *\Ú^öc«ž Ňt€6ă†ď׿%JşňP¬l* jĐFń‹y‚řĚÄ©Am­hÔ`Ýż„lóÝőŢöŽ‘~ÚÖ54SŰiQŹDĐćZZ kµJlÝMŰ›pĺjMĄ¨-ÉďĘ ¶bŇŚŁE5äęĺďňHVę¸tž6Âţ¶"^ĺŁ<Âypcű˝v C#ämË$ő %[/?-Đ]‚¶dP"ěşž d‡b2`2™čî‘©—”8«&ÇŐô"š¦Ŕ?õ%>™™Lî› -ZJĺdAwŢF Đsw,CÔéÜ’03‹GAîošŕm ˇ0ĹŮ~ďs'ý’nçâ®éfo”Ž8Qł[ú~‘†çžQwřč$rSőć(ÚŰW2͵KDN,ÓéQśEÚ¶Żçöt…g4IH€JR0¬żc€3H€[gx~m6ů¦Ă¦¦Ú1Î+0÷SQ‘FÂ× -á7«~ĺÔGâćá{m=TbŕÁ!śżˇ;ů’•¨f|dż·śKŤnM¤ĽĽÉšbÜßcž -Rlű’í3 h¨FÁS±A¦Ź˝ ´7ěő/âpá|–Ó=polű>XeQnˇňôk5Î"hĘH9|ÄĹľEt5~6ąë^>i]Ź©Ă[‘ąęęAą–h¬Ĺ¦ Phń™rنÜŐ˝ú‹°,ăîŕd¶ą˙ź‘x• fF‡|eÎ-ݧĂ1Dť6zÔ%d®(; ěş[x"éíSÉu'ĺ\ ś}3!ř%7 ®¤ęţOŚE˝ÂF34ríĹĽŘnRyů·*›>9×_CRČQM|3ĹZnĹâÉĚš#őŞ{¸zůLkĺőĺ&Ą×łji+%.ŕ`źÓ˘Á»8ńn•^}·K~?$DŰő>ú9€q¦Đ‚ŹkÄľľy••L+i©ŚëËó˝ßÇ0Á{î&V-|!ď¶ äŽa÷ő}4Á‚ëň6Ĺ„˝6IEa Ă­W­€ŤµőĄîĺx^mJHąÚŃ‹P@©đ\˝áżfUҶ~„úÎĺJát'é‰\¨°ÍnočU©& h¸˛AśLć¬đř€ő hş|ÁľęH7N1ş}“4nG\}TŘŹ¦EQ‰hG]ňś9ś“"v597´‰`ËÇGť dĄŠS7ŃĂP±ůĘ÷<ÝŚYúÇ3Ź -ŁŢ˙An‹e\=0˛'Eďń¨D{ę74»ŹŃŠŚ;NţvVsó꛵’,ě 1gFí™yhß@f#šr4mCÍ*Ö ŰłdŰXlmmĹabř”K•Т(EŔěG5ŁžËł|ѲŕĺKĆ[§ŔË9±čzV=‚ZÉfŔ.O˘;ÜJďD˝¨d,®Pš1Đ9 HĘiF"Ł’¸"8¨6ҧx󒤵ňĽŹçAZx°Ö+ăÎőłQ$ť"ŢcŹ|Ç˙†›S\Sü$üĹ<×" 2P ÔĎ‚x}}©¦YlTegŞˇ_|î±m!ĆĘÔc!ŁCؤďţa[şçaÓ)C—Ők›ěěni×®ÓĹ<đćMPŹS‰taî|1ě,¬nö ÎK]CĺÉ™dŚj¨0C.ýR )•ŞÔŚď§ßŕµTF‚ŰĽšfIٶ¬QąńS,“ž×«Ĺš„qTĎŔ~]@ŕ^šá^Ĺ‚żĄxËźĄÉ}2Ź]r÷¸ŔĐ6e¨=Ă“sPÚY˛Ç7ď1Nö¦0qv5ö: -J^©Fl¦µÇZć[€_m1Ş’"÷¸ŠćťČö x#F -sŐ—Úűá\Ú=¦g–ĎĎĐQl.WýĐľ8$ĚH€ý'!ë“áßßĘĐjĹ ¨ňQ_µ¦RĚ–BÂQQڵ^­EçżćPŤ{Ŕ -˛ŕâőFi±ĺŻš n‚GĂ5ˇú"!jjk%¸ßöS=(%¶¦l7ey?éţĂżNŚ1Ě;~tĘÓ-‘p]Ź -6Źj4äe̦2ădĺŠ2mŮĄÁ·9ž?ŁňKUFĺ”Ú°tRĘđźĺ€cž@˝q»:·?čů0kEĚXˇk¤|_,GÓ"Vĺ¸nZT·tꉤťŞź8[j+Á·ËĂZ±}.¶lb΢Á2ŐéľÄÍXR×·Xő{źŕ[JÍUggá«éȵ}lŞî –GNÂY)E‡Ť–»eąĽ‰Rŕťé}'.•OÖ¤iK‡ÎŤ\Ŕ?‘·ź.Ňö"·půjNť‹°?yăş©\†Ką·#Hüë+Ć -ž‡W%ż‘ -\µŚlŽÇ7ynYlcÝ‘UeŃ@â=ř9Éd}·¶r ==ĄSö﫥ŻqNqő™9ô÷ą(DĎ ľ ¤Z×(äÚMÔŞ«#pŇą©¨I’ěȵä%K®ř¸Í…E·vRş ×î—A{QČfFÇŚOů€ ďÎĆ%LJHy˝”Ľ˛W˝łřł“Z-ą\f‹ćĆ“~‘©ŕum ­üaš…=%/…ŰŃ;O\OęxżťŰżŻŰUěýlÓń¤E-»A@Ž/Äšc•y3·z¸üH‰3އîčŁ4 b˛IżÂQŰ=«7ml[ĘŚŢUŃ$Óŕš­KSň‘űf -… ˇŇÔd´É˛AőO)Ťţ‚\żě"v ’ßŕ -.Ĺc쬰rZ–V҉ݒĆ%ŕŕµŃÚđúGéÔ0F,‘{É\ Eű‡l-}2ę3É 3Ö:Y:QpË řŽ3ĆCčd+RpŽťÍ–*w¤Öż8#¨ai»•‰Ţt<% µ™ÓŮżÁď…pOßż.6Šř{.x[¸@+Bkž†ť]‰şťJ•f7 †ţ÷ŮŻKéĹK¨6q5p¦[|ňdß»¦&Vj}úžĘ–—«pČóő›dśZÎč;ţ(…F[jYNŠ7EO ˇYnŁČGܦ<_VÚWęÄsSa|Zźw Uż:Ŕ›GĚJâ”ůéIÎÔnxQśqěŐdáE‰apÝĹź»wVMňI2â2Ĺ4ÎΕE§ÄXťčđ®nŁaŹŘžD°ĹôŞBpÜ}Ľ•˙‰ĄĄÄĘeŔđVő˙هn» ţó%CUŹ´‚ÉSWÁ|ŞČąĐš×؉Ś%yt@˘ä­WçűĺŘ‚N…-MYý%śż{´,łćřµ)żUʉűj# - ęÉčueFb:”AĹśtÓţ9{Mšź}¦OH×7cŁ»î•ŕ*ÁÄŻúäq#\ěqo룫×ÓÍđ0Ú(BŹî‘…fşV,&˝Çç;ý–CH¦XőSUÉ]$R"~Ş4ÔÄü#˘zŃ—W±­×4Q\ńÉZ‘ č…v¦ő´L Ş×ęŐvÚj2ďô·•§çĹ”z´&6}>3Ş“¬šŮ®€‰j(Ľ^5B¬&t˘0CăŤáş­o¦«ŤŁIv‚Í–”;ÉoநŃţ goŤ˙RŘ|Ş’ç——ßGJK%¤Wb|séÓ!ť‘lwŤžgă”oŕd]şN9mź‰*ŘáKúŇd ďâŘéÁľvËćďKç‘’P -ËR“0ERěčW·"[‚Ą0Oí®šőäç(׌6˝…¸zžT&í -Uő/‰{ -7B#ĄöuA0ŃáKAŹG˙a›㍵ľ8Č ČÉ>™+0W.ď€=B3l"i5ÎU÷Sâ #*ÔŠĺÝ×÷KÔ9đ[oËd^Ź„fwkNťc¤*ěŘž‡TľL}2ö—”1âµůý‹ßČ‚G -śa˝¬Ř]¸Q2~r>íŰąat=&ű¤Łú)EyYꄣmaŘM<Ź8ňV÷ŔqËVÉfďůŽŻL8¶3n*Ú{óX‚Ф˛ýoŔ=ĽĆ‘Ć?8čM>]ÔŻ1ÇKÄbŢF1Ëí‰ô’نŠ&h˙V4çp^ÍóĄű°W±žŐÚ#c®šFňYi¸Ô—>Wß^ő@ËWYvŰчڏŁ&ÝőyÂ}FĚŐsvëŃ®žŠ]QĄhL·0ýččkAäší«Î|TéËÚł¶éRMî;±aż¤ –’ÂEó67¬KĚĎ,L÷óÓ™űľéŰ ­HvĬ•âCPţóĂ{ç¶ťëúţî”Wŕ€ĚkWHúŻaĚĽeş çc5$›o-cHË@±­žé˛Ä÷ü (uő‰âĎYÍź?lfČűÉ{MśőuŇvݏ ÷WóřŤ©^Ě"ŃÚ˙€P‘ĐʇďUZµľÄ¦Ç›@ń\«K­")ɮڴzä·ŐĂ‘UEÁ©2iS9o1sşó۲÷Uc6zg›yŃŮ-!ąź„Ů˙Qn;Š÷ŠŠKąŕOŻË§ý˛iB2gł°ů wÚŃü.ApúÁI--"•ŰSO<Ż:}LY×tĚ‹fʡl¬)ýýLÁ S[ź}cČş‚üů!đ†ŰXÝĘ­ŤÄµßä6şˇë?şďĐËÚ¨‹zW—!ďŻ~(˘ÍOky˘±ł‹¬5ý¤kThÎ} šĂÍÉ -­ťZďGÓϢň1Śü#Š˘č‰^/QÝBríöVÄšŁ‰ş@$ßjłÓ{ôÍěM_ííglÔ¦E.˛bú§씬,ř*ĂŁP;dzÎźÔX{}>r)·fűQ7ŕ‚Ďţµ·2xîj¨7ş”cÇ)żéŔÉ´žna‚dßíŰ{2üĵ×7ł@—1˙ç‘SĆ]GXčjĺ÷€UtŁÄ~"ľîW1ŔpśŤaÓáS á§pŐxůjšđXULçá(A÷=ĂĂ+xŞQöé?jŔFĄ*Ů÷ĚĹ%Îw`Äy¦‚î\™ΔęřßĐĹÓE&‰żŚ+ęjÓˇÍ9•{›ë4:*¶hď­q\™«*‚˛˛‚9Ń~Í ş–‚PČ’Źč=ăbťś~ΡoЏ ¤¶ô9°‚JĘ››#(fP~έTąµŮ˘áă¬Ď41;ň‡ '*gVń‡@\0Ě“c¶ëŔďÍĚŹĄ,O-/ÄZ|»xÎ9LäÓ÷ ě{¨ę GöÖd掩ꆮŔ¸9ęN˙)r.čȰűňĄM±Ć;Đ‚K)klz˘kMÄ˙żç‘:®Śzxř„®Źa±}ßtĚ -—%·h‘óĄ]Ą­p‹}ÔěĹzăZ‘`Ă?ą2Ol( -_ËňTýčJ ‘Lqˇ*Żď@?h¨8ň,˙XÔQ›%čŢb˘41Ćr2}Í=Ę…’>Äty~KTUś_(y~ÖLDůĺ)Éé‘»ŽMţÍĽo¦ŰµSŔ;lD{‚SżOŮ©ß B(s6˛TN­ ™Ái—g6`°­śsóđ𵽟‰ł%ZÁZőn¦”ütď>¦}e®±`*)\–źú'!ŢtQ -¸«îĺ˝˝rQYwşÝŚlŕÚ'ŐbE8î˛\*ÓMŠ_ľ6ĽńÍźRV?[–Ň ŮąŮsIGłą5.^?ݱGĂ®T…-qŹ´Ţáxě ćĎl¶Ä˝%ĺ9µ+ďŔę)a{z]®}Ĺ#s>pů§Ë#ŕä ÚŔ…CŹJ Ú Óż X Ë~zÄB eő^ňžWi·ŻpŕÜĚNŇ -á6Ć*Gkł¸}‰8č"Ť/ŚĄŘÄëP¸vs¨‹)‡΂ůk?ă8?T̵ÜőÁăö‘3ď$¨Ęô§×Źuu<Ȳ|űŚKĽ˛cŤÚb˛]źg`–VíÝĽT;%_ÚYædÚ7)áëŤ.¶Re™ç«í^¤íŰ칌T~ą ëÓŃĄl8ŰÍT€c=ĺHó…8iĚź·)*zýj  …×ËŁŇŚ>-{2Ď÷‘{ôTvd4LYvőŽ9J&oiË·w˝€|Nę,)»¨f[io‘\ewUä±ůYŇť«_MG°ţe®¶Ú÷>’QăŻZ$“ąŹśĹSvŠX4bW˘3á ÇäXâ—ĚţłŻŔH$uK)mď¸|;RF÷p' áGÖĄÎëQr3€™‰®şš5UpcěŞK9™j)ó/=VîŃ­^Q_”hG)B©ŽŤnî§gń—ňÚŘ«lcď -:Í…%˛Ě¬Ń3Ť2 „Clkö\ŠĄ‚/ÝŇĺľ“Ŕ”«˘5)UD–‚şfŻ5E—hßÜšÎ{Üßcáń•Ě`MyŕĘ2L2'ënőÚJ‰Ćjűi-M‘¤7“'ĚŐ0ë®0$Ź[Í<—cF؆D53‡Ďih[3  ŞŹö9ĐŢę{Éó©r˘† ÇJé©Ú%=4!“’‘ě%ž” ŕÂňE¨¨ďŻđ¸bdiŠ=#`ĺjz©ŽN˙b4&L˘÷ňä@^’&G 0WÔ N:®gúŞ^5€ĹąŽÖČíf–Z4Ŕ…O@±íĂÖ¶ČC=ţ“Iü7®á - ?ËKVQČČ0íädŻâCĘťžR64łÖ’űJé ‡AQ‹‡e&í.3çÉČ -ČkÔŁś¨Jáô5§íBxPCŠ“<±˝sů- 9N)/B¬ŇĂ R˛ÉlÔz/U©G4 żU[* F«W{#Kěé&ďcÜs•Ě?ó™ĄöŠ (ý¸řx¶ţÁ†­¤–î2Ž$1ě&îůĄdˇé›Ř×­ÍA<`É”;j#Mí˝3 Ž4qË\&#+ Aá<ht×ďäřbë¨Ĺ&T-;„­˙"r’¬őn‘ąŃľÎşź·±20ôĐú·†ô¬˘fy:éţŕ±@}FA¤Ň”ßŰ𬧠ŠŃ 8kzŻ«:DEţ'˛V/Ź[z_ŻĚÉ;{śţ4›l˘i|śäč×óý}.(dDŢŇ -[Ôpü*˘ť !Ńj7·h' XyśĂŮň¶ó‡‡l(ý,çĎ+Mľ`rŁ·ingÝł;Uu:[ÍIäd¤‡ű/eąÝ -ŚŠ—-ç…»íµžÍ7ź¤bĚ׫߯·/7@u8pL1CžI?8F18ö[y1˘őÉwĆíE^Kçęß0ąŁ†Fj©Gú+Ćś…i›'Ć%îž˝nöÓ,†jE Ŕ˝Ť·WŁ^tE¸Ë™«ÍC„µOÉFČr€ÓŹ;±rÍjĄD™ő=MĹMűAiôµ(O`żăşĺč@ČAŽwDë;7zn~ő(§Őkfzź@r*Χ.]jýą‘źH]\NP‡†Î.8`·Í|ÇçV@Í×d_¨ÎĎ!b%MŤíŻ8:˘ÇöIŰAŐ­Ír38“7qO¨ź^†—ßL΄*h<»e)kĽŞţK»”Ľ°)ľ°´÷[E3¸ëçÎĹ $Ŕ×ďÖdöí*E@ü€N -¤O_żNŇV-łíLŻľăyüä…ěeßÔĂ@ÓáŐĹĚ:=äЇŘu¶đĂš0»,"ßz.‘öU¬Ô÷á„i$ ťł.:Ž—ň9Ş\W śBŘPŠ«>¶¤Ňô¶běË´˝2cŰN{ -ß÷É5p¬¤9ÍčxĆcç9ą®|°cCd¨ëiž`_}üÉVkâ±PČ\9ÇĆvä¤GBp»^áQ«µoJFź1ëyűăÔfBÖSŹĄxrxüVz+>(⥺ń˙Úe(q[u1ă!w[Ą×’źŠ˘ „dͰ墾3†Ă*ćŕęeibîŃ=fUvtźúË]póZNŤ&ůgő i°«…°‡E'xy˘@r• -Đ஽ÉĆţ!yvgç°Eii|1l|7]Ĺ{w¤eĐ˝žP—Ů#^ -űnt`¤~L]OjĽÝ˛pľă$E|jś—űÇ?ŃŽÎóAZń'=’Ő®˙ŠŇ°}^®óćňÂŽŠ|WŐ`î_Ä˙z˙;$zŞ](€¬ŕ żŹß\ÜS˛YZµŹÜĺą›i[Eť7śüŘ‚8YřG)äe­qĄ<ühc]ĆaPx -×đT -ŐM^!qŠ}&RÔy0ţ\î[ĚŰ3 †Í*a¬Ç!PDř€ă× -łIIMeÖ›˝‡Ôë9"śg°eüďöż ć(Ô|Ć0“qęG]ĺ«ď/.H5aßHMWŕ‰w™Bâ(¦č…O“ îwýźőq. Ý&‚˙t/ÍzăˇF…ńŔ w(ŇKďűíréó®% rĎôdťÁĄ;%Ňő1.Ýž=W„¦šąS®Ř×Ôd‰Y™4Ć,˛Z@'Č›6rN÷fď ę ű“c׉EŔi†(Kň9uóńľž–Z–*•*ô ›Ín(›IÁpśĚX/†©hQ=-ŹđäĂ­·.»Â?ěÜEP:šâ<˛1O#Tę’j% ›$ľ”ę0âJÂ=1 Şů¬ruS|®!Ě^ĚWí ćBíźé+™gąAËńsG–łł¶NóY^ďÔ®7jódŃ0Ĺ«˝·Áł Ç]§×çKsÔVí->đh”3„Ń!ČîV†Fב¬ő|’Ć}âČFô’¨Î„6Éľ1ň˙¸´rłş‰Ď4ťýá -7áNÇU÷úüţg~ŮK@Őç~nvŠůˇD:}ŔV-áeŕĐĆ&´xâ<ÚZ'¸ DĐ+§¬ŕŚř)Ý5ÔËáÖSh+â·áťGŇđÔŕ|ŔV…©ëüźâY 2·53Ď—@LŽĐŐ˘‹PQ^b“Śq|ę´…†ÍyŮ[ - ‚c5ŚűňcĄErçcű --YŕW÷ť gzŤ‰zÍK±ĂŢ>rÜ8ëŰm ĺ)ď~źP7mŐń1#ž©ę/ůY0.­HŞPVü xł#6‚íý><čH¶{+·¤–µ -źýP&á€Ŕ9Ľw/đܦn@çž)6łĽš`®¶N—ĘC9]EUđ·2T’Ţ|ňÁ,ŁĚT1fMŤě,EĄ•QgH\>Güşˇ'eFîUONÉ8ř—O»ďťf Ú}ęúłë˝-W÷ ż( Řr¸Ě™‡źÂźľ×bęQ7o‘P ý~¨f çGĎpŐŐ -:-Ő_›,ôP ¶ă±wĽ8Č0±óe‡ľ<ČoomNŐ!‘×»E÷Ćť|ýďË•5zŽ O逯 xŽ‘ĄâXt©B…CŠ ż?¨ť)Ű -ÎäGSčůŹCŰc‰F˙JŽbÖÉQG2ĺó ł~[Ť"ă!˝;˘Ŕ¬E§ÇR–Ľ -;A'?$ż‘Ë3#éźÄ˝”:”pš°ĹtîÍ…“&-;lßÄťżžMő]_¤.A¦ŚĐ(Ő׌ĎÝšˇgW/sy@_±ěź¬ý›t‡ç*ő3“lľ·Ţá8ÄýŹ EELéx ĐĄ/ ‡Ć—hjŔç§(9?Yu0€ÜhANm‚śRŔĂÚ2EmxoÚ%xqąńËś[cQ˙‚¨>ئ'(¤Ţ(Íun[ÖťwH{öţ ±)»Q’g˛éńŞ8LŃí ßÔ1şBśąšĽ'žÁÜ Co®/bßÜa;?Ę]"­aU3™ lĺ˝&UwKjť€•¦ÄG±ź…űřŕLĄâq8¦áZP#ź3AűbšąĆHD¤EÄ}čťĆŹ×őqÓC(4î‡ÂĐ6ĎŐ×ó™*Hďf~—,öA\ZB.\…@ě”0|-`¨Âň-é Yq8Ĺ€¦Š6;Ě-‚^Ŕ S„†IŔß]Ë+•Ę)Ó÷H41G1^<óĆ(›RGoŽżtO_Ů\•‰ŁŘ=µÎůú q´¨f3«´#ł8Ęy’zĆîŮ Ţ–ă —8Ç›űf´üc+řPNÍs őÖËRB™¦ě7ÍȰ§‘ăÖĆRëËÇ×ăôjOEZţ9Ô2ĂWą=mę -§mw~ëŻÎaŤ!â˝(^ŘC˛ˇ¦LeŻKP!ţ[ŢÂđ'%lš©ŠcíÝ…CVŠŐń)ײ‰;ŢbÝ»ĐÖ~6čKmQU]s‰ĐŔşz—f‡„<ÍÓv¤¨ËΗŕÜ5ëcŞ:Ęâ˙Í -^ÍnEâú6ąşä­ř áú¤ô&‘sS‡¦{ě®UŢ,žTJ”nÝđôĎŃł‹ĚÖÖ˛˝˝Ť=@K|/¸Ő&v°¸{í˙á©Ääň…Ë&}_éë2Öđîh—°ÓŔXÄ`/ţ-˘ü·đľuĆ=éh•XëňϨ†«‚‰­ý˝÷;×PuŕŽ*4„łw¤z™“îq,‡›YDZ;Ëŕł ł·±ţuµ“^ďdUÓ˝©tÖLÂ’î™Ű7Ó< NJŢ­yŰ»·21P<—ű”[łId× §Bźxď»EtN±G WŘ»­DÝ ÚĽJéjQi_¶eS ®/ ˇRŔ%^ŁŮĎŔQ†@8•Ú­Ő/e§r~Ä —)woâě‘tm™HŮ EPRĄ­hoá•u6nč¶đfţŰ$ *DÁĐłď7 x0úW_#µ["ÁLŞ•’˙c›¨ę­dč5ś)x9\ŇĹ·•ůß!"u ‡ r8iÚđđe=žqŕ/BŤďÝ•źŕp‡ÂިâűSqĂ\Ć;ń·ŃŹTcłYɦŞKx×ŐčoÁ1樽Ö&Ź7›“<¶@™_Ť?%Ń łŞŹęa'*)ŁK,Uh%ť=o‹‹<-ě#´Bě)ItĎ úćŠËx'JvÜÝ-śőx#Ź^üŔ=ÖěŔw“µűLEF25üŕiÚB}™ĂGsý„ö«ľh6łplz?m­ů-âF÷űUÔLŔ$ÍóĘi}Ë-ĐuaK*˙ŹSˇe¶jcW$ć!ŁÁVćK*x7§śú°ÉyÖĽüŇkbwBĚţ4ŤÝi6ąˇ°mö ň„9í¶! †úMsٲú‚5˛îŘ^§O•Z2m -„ď| -ÍŮMk¶”Lţs\zýş[y7™PŮ—•1|Î{®T -3kDmYXĚö‹-^ĆBä˝›řĘ/b6v‹H,‚dwcXA]N)/tÉf,äEÚóşł}ÔćwđU 6Nü¶ĂŚD-eÜQk±L^gQ¦8‡”N=fżÓÇZ7Š›lŐî=e”›ĚSRż˘”Ź9 {/Ż"őyÚňP’vřţEK*_łÂĹŽćä\)¬ŇLŇ*PÄ#AĚs¦k‡BkÔbăcÁ¸; A8s¬h"ó‡\vŚ«a#×K5‰›D\hL˛Ó=ľR¨Ú®ÝN8×O]ŻěLő›4˛0ěL…ő!XńKŤr.¤TҤ.î2âŃş\řõŤwÄk§žăXű…}Ď -’é <˘ÓWůŽ©6×ń¨•é<ą˘„×®r—dő;äŹ@S»k* t©%SÂpFb›Áh§ď=Svzňá9ŘąryůKKďPůW·µŠˇ9úéěŕűT Nś{3Ě7óőÝď†> éý -0€Bć?\%ť[ň"$8)|U]ĺgË’Maŕf~@H ĎD¸ ĘĂD–[{X)Ň溯ĂĆÁťVěČđ^Ľżľ¶j/ŻRµ ˇ¬Ł'E ˝ň{IŐ­ĆiĂą-Zc¸á Xéňóy,2ČAtą=”ˇ)Z‘NPôlbN”M]u%Is®wFÝŞť;+íîÂŮn  OtÁv4n?ČńÖYzVýq>bţć3¨Î‡{ľˇ®q‹6dE‚ůĚwk6Á˙(Ý7éAm’í+YŻćîÚĄ°"ŁlV»>ńF`O[tżRTÝź(#­eyęćM/É!–žŘ`őď¬DkJ{Ŕd¤ËĚsŔĹ'˝Lt>çă+;ÔQD-şžYŐą#0Lş„,\í4aI|ż­·ć«wx 2ęiÝŢ# TpĘm?7ß7/Ŕ'ły‰Ç땪âóÚ-8F{//łtĎU[ç â¸UĎ|7 U"B.Á9dňł |ę˘ČÍ~cŻJ…'Kt5ńşcĎoŃ˙ GÂB팵pIÁí€.°F,ăüç4Pŕ‡÷Ř9ő†X5Ţ眊0či+?.ú߉RmU¨ŃpŹ3k„F~˙it[/v`E)Ščs©·Ä…"ÚĺÂďšZbĆŤsţ–”Móä;Ď®ől|7˝®Šu°ŰHűjĂvF”.iŕOÍZ• DQyű…*KdOˇEçŠŐZµÜߞǣsÝWaV€Cü~ M˝dm‘AţF&!3ŁąnÖYű…!ď˘z¦ŕĘ8›‹RŹÉĐWésë vËš!ńČ[Ĺ‘ńĎ…Ő¬ĹFz[ß˙ŕlH ŇąR¶yĂÎŚoÁ¨ücńÄŻô‚›ŐłH÷ÚĹ™Ąp›®ÂuĘm6­‰µW ŰÎ6CëňÁ%€›Ĺqúö(ś X´dŢ/ä‰ô1üÄ'ů°źń‹)Ł×płr79n·‹˛ÇÜ™m =aÎ č˙şURťĹ"‚ß Ž–y´h‹ž>ďÔÁŮ0ů}NĽ-'a@263rÂŘŚŠéŽX#nľčĹŘĺCLł€ŰI|•>ÔŃ®6đ˛ËmŻ^Ť´ÔźŮ´Á‚1ú§¶« -#S)®Rn-LŹĹ•~%uě€Ü5Ř6k2&DŢV'ÄO¨±z'ž\†[űDł#ĹĘ~Ćwľ±ő‹0&sE”S­đHMH—Ö4ę(‚íq¬fč$q4˝FůË °L7ˇrisĆ ¤U—ČxZklzůü˛GţLf8đđ SnCx0tčĆŕ•Ň&ő™pŤ‡Ţş‰…™BŠîŻżęŽCm0޸ű -a~§uo‰Ç+Üö*Ă剳‘Ľ#j®Ü¤Ĺ!Łď´-´^ČőUd‹7ÉŕčśK)Â’$xi|_W°ŻÝüߪ)ŰmCxI 4 -p6ˇĆ$\ąÎ ?OdÎţ1„;îóţf’˘šr× N mĹ$ÇR†đXÍ3 5rˇ)yąTŔßjM'.§k@Ą>o’…^©ů@ĹđÚűNyt]°BhÔČĘ™8AÉ%‰$Gvűr‡۵{„­PéííĂ={ďiKőg -ÄWÖ—1y©Ý/?”«˝Ós—^˘Ł©ţň3ësü˛”Č>µî˘9Ž7p<Ď›á–Ţ„JK4ĺŢ´„š{'ęé`“ĆŔ°}tr\T·2­ř@ĄÉ‰čćEömDHşérY Ńw¦çx}ć‡/[8ÍFÇ(čmň@äŁď‰űk¸¬“.ĚRU‡jNĽ:M’˙’żün.]#%QŠ&e˙Ű»,ˇ i¸Qé :J(Ý_ŤG˛śź -á!łLZŁË1¤0¸ŕôđĐ·~¶ďćŠ*ov5Iű©‡#¦z®źç$/úŽ[LA}üĉ˛ŔÎO™bF8álłiч˧ŇyŔ)íV -_üE)Ř -¤˘ŞÖXËŻ#®›Ę2ăa<ÉŚúhŹŐL˝ŹŐľ»d­žJ5cŞëg*Á”Äŕ@ŃŮűďǤx*ÁĆč3QşWž_8íáşúĎ\®IÚ0×Cd.Ëť,vL(x#Tu±8ľ1w,·…Q’-Ś}ěŽÎ‹µl›´vJ¤Ť!»˘Pľ}†­‡Or™"~B~ž¨ECňJ¬źHíŕu‘¸x1-N^oh«JCż7_’­ţé$¶{7 eźF'˙o‡UľnĂëSŠCś8ÚKG]‡řcĹ\Y©·¦ľÄ»µ­‹~Ą‘¶uěcţŮOÝmŚEmTîCçzN/2ĆľŐ€¤¨‘Ç -ľ Ěű ľ#Îł(„¬AeÓzĚA€Ęů »Ňa=3ô`ÇVy ÷4FF°zôÍŻoÇrI©ŰY(ѱRHŁ8íHm¬T”ĐhŐ©ŔjUJ>Cg‹q™^”Őuöćäü0>śÇ–ěŃMČ…=:Đ•O‹f*Lń’CG•)‘:dĄOQ\jŐo ¦ŕ´zĹO_m±I‘Dn­Ď ŢÁ}â’x> zVWÓ™ňů€č`őh…ŕWrGr§eŐŁśĐÚNĐÖą`řŔ!mĎ]‘-3Źţg—ĘęđŁ(ĂĺĽV´iä4ĆŕUM+uáIžç űP¨,…ŢČ/t€SŔ4H&űH>–á3p6=đ1Ć«—óućúC×ZžĄŮu^Çn3‘ľĽk:a@Â]ĽéŁ®`yoÚÄn82ĺ"ÁtzŘXO|Ű7šű<‚OĘóňÂŚ #ÄąV_Ä&ÉB|𧔎˘vxśôO]öËhűH7şnjw:qcľ™öŹ.(0 Rî&šřEŞšVH‘Ô&·˘€<â\Î$%˘°SňTisx¨]ąWµâ7:/}ŹÖáÚ·čă ‚ćư» w©7$ÂĂô– §3Z‹0ďžś0ĚĘ«QŚ -żÂ66v÷ÄI¤‰B4âŘ'  ÍčÓv­ţo©˛B -­¤óNgwŠ÷yrVvĆţ üÖ˝˛©Ä @ e®•žz.üî ĽˇMT}śÇ ZćenŘÄZÖĐ?TŃ„ŮoG{=ŤÔ« tkäŕŮHć´:ÎÂąG·’Ěúăď:ź7,H ¤˙`^yČuĄ¶ˇŞëëSvßrň\—uňĽÝx˙×» -mžľ{LҶ É#Š[Ëi|źÂ}ʢĘŢ‹ŔFm:9*0ĹÜűçş>\”źa[o˙ŃŚŞ­şm©áyţßŕS‹˘QO’ĺ?‘ďyr ÎwšĘ˝äʤŽÁŕ’üŕwzDd*]ÎMĺłÝ*€ĽpߡĎjř5đKnzí lSNRPŇę°[‡dేť Č2_0ÖlĘ*‚˝.·żŇ•!áÔ€ń=Ý‹3sňŔżX?í®AQ[ľ7~™i<Ď÷Sxe~nďÁa w)ăNt”?¶Ávt<8ŮârŇTĽKqÍrcx„¦žF ăŹÖ©Kčć2fÁ2E3:˙„PĹvó›-LY öd`ŻFŰúŕç°˘ĄcH¶KĎ\w‹óÖše:ŚŢ úk¨ďťó" _Č&í8Ť>_VŚq=†˝2"’-O[ u˛ß?Pm~S=ŘrL{ŇŚQć?Čn,D ,Śź+ćX™řdyčűóvHksůí4s¨1ŻĎŐVĎSĺ^umKăŹ7ć˝űÎÖ&5é·?ůО8ްÇ*PŠÔC±î‚Ŕý¦\ëďü56AV ž˛ş¤řŽ\Ů%:ž’›ŰHÝ -V!ËŤ”ćjšĂ}ÂÜżĺĽ"µź.Â]ř!NujÝpÉőf ÷–‹ĘŁ+¸ăFťŔ&°KňĐa]Ś• -@RÔ„‰c-ś=˘ří5®†n6Ş™ć@ţ}“ţ¶-Ć+Žq:ÝĽë‰cĄď€ÜĎ~ĄZt87LôŔ'¸t{Đ`…ňJ–)űűH!,ó¬Á«9ećsˇ 7ö2Z”3Ë—’˘{~GČ^a˛•ůj'Ćş÷WĽIe”í^_÷QsUbXď.°śU]7ř"‹Óٵ6N1î!7ŐóŮqđ˝±înob`]?Ŕ™QęHJQěŕę—ßăN_Ď˙Ü~´\üŔcÍŮÇëí »ę¤ńZŐDv‘{Â$®pŚš*ëZŽţ/˝k'­“$)@cxD”¤7‰mÚĘÁĚ ´*Ę˝55?Ś™F{ş% nTŤÉ4â~EćŹřËŔÉpí”yŇł­őőđ2P®Őř^Ö=‘Ig^{Śâ}?О”`4ČJÍg"~Ám>ďC>BŁţâĄ6đ…é´Â.Ű* -ĐëňĘć«Ő*3•?lĆ\m®˝ŁŽt@_G^]A«'÷V-Ťš˙5]a*`)UFZąśłő‡Kb,_ňdŇyüYěę8uĘwSCi¬¦÷ü'I„q9Ýc#=ĹŘŠJô :yăÔX§îĂźą"„¶Ń´bĚM„{á+¦@žŁ>O2­’ žx“ÇóŤŕK7´nßQ?"7‡dUżťóţÜĹďÜL¸˙Ł"šîú`"·ĂvôqĚíż\ -ÖŠ67.ŠTÎČk8ˇ®y5D ­˙Ń<ť1§ź/·+†%ćµ8ţqÂ*V4Mą—í>×·čďĘÚ€škłçŻ^XL‡Ý7 oĎŠĘÓ_>útßqçX -+TPş4ý!3¬qč˛Ű˝˛ŔĚ(&¸)¬‘Úˇ™ły3c[ĘEŽ@ÔSĽyz:uT×7¨ŃüóŤ÷{ :Ĺ8+ÝÉ–H×€ď-+^ÚÍľT?5rĺţ„‡ŘÖ 'r-˝jPâq^Î%aTő e‡żfďąŇÍ!Š©6$Q"ď1|B¤®Ą«›×Ä8%ęÚ–‚˝dôq*ř°ĐŠé—ŔYwĐ:+śVLb~g7ć!ÜůvYQő skcV¬h ă·SČ´®Tr1…¤‹ÓÓâOĎć‘Sdj2©´ÄHÂG8ĎŰń=Á®tťîÔf‘ÁŤ%ŻţçÉđuSWťĂvâQŚ&3m:ÄĄŘĚPQł:†ĹŃPÖ’Y¨LÄĽ™ćzáŰÜž źoŠU *Âť¶3č› SŐ[Vöi?-łü —?ˇJ¸˝´cřĆ$† -˙!ý–@źľŢÍ.ŮŘ`¸ť_©°şŤÂZÜ[śµ|¸°ÄßW>Ć8a8CDúź/'ä§ýP±…ç*|?…­ů36¦nČţäô@EDçbg/× Ŕ‰ę1"5‡;©ßřÄĐíÜ)‰‰ˇÁH„7îĎ„uÓ˛ŤÔ—A™“A Ů9Ë»˘ÍvĘ@ s‡á}O}<“rŻY0Y íČ˙%éśÄ!:ϨɠŘ+–ś°Ę—˘ď×É_0¦,źĆĎäSŶ Ř’l7 /{#s´Ľ‡M3Í}úȵoŰY°•L:;ĄśČ®ŤL7TĆýËČČ*H&„ľŹVfA_°xŇŽą“H÷ř‹¸°Ú # ţX< ÓhoÂHĂ[Ă®Â8e8LĐĂúý„LŻ:9–ěI/CŤţFvČqŕđX‹ńŢăc —+|żX9ź)ݶă, -±ÝęÖţôhůY©Ń¬ż˛Ü\ŐŢ9o‡žxŮ~0Z¸KDŰ=ő@Őşŕ 4pl‘""‘qc¶›BŹ^Ż˝ć]rCľI˙鎮nźŕ—ó8*ó„r.Ž“TŅ́ššS—°(PY*8T†Yo:Ľ»÷ôľůŕ=s…ÓŻ˘f‹â+VNPLY0ň 6ÂŢťpś{w7č*Qčłž(çę=‹ÚşvU` ) v”*TóźEżŹ[°”߬Í~—-@ËÇ0Ő@› Üź‚‡>žŻC{\«Bę•üâŮH©„oëQ™‹O­Ů%4vy•żenĘfTRöĹ•S¬6á¨Ú q–˙Ü&zŕ?Ş˘.ťn9R‡& ę}Ĺ­†AvČ4ĆjÜ"+ ·l F =$?żĄ—t2µĄ–iÔ‹ d®űeěš•I§BŰył­ĹSÔ!ü^ńk™Ć·źóH¨Q˙Úm¶örüŠj¬bů8dm7 !ĐţŚ*ѲŤ.ťĺ›ÂËr ç Â1OĘď¦ń†ď ;^cŞDÜÉŁŻĚs3ť[řBíë|; &Ui'_“?SŁŤÔě¸µŽŞČ$‚ghŻY˙Ş/ń]Î7âR„-őň\kжśąÔx\sŘçîż=©7 Ď&OpËZaó‚„Ź˝LrŰ RŮ>ĎŞXŘ­oş÷(+š{vîĄÝpcź,žu•É<Ť:Ýś§“ÁNzxbŹav°^ßÔµŁâű5Ŕ†&´¦µµ`pćÝ“Hôý›‘[ČkÂ^.(…Ř ÂH_„'iCÝ •ęr¤q»Ţ—ń˘„‹›×ŕ$¨[ÇćíZH5n¸şh›du6ţŠůvłŮH¬n¦vOȶĆ/ňăkÓř!”@»X*µÓDĹĆCˇ˘FC8d˘ľh0ë,ŤŐcŐOç%®-Łh¨š^?­„»GNĹĽ¤f}ö”Ižě5gš1'öó`kU˙y‹dr÷GAę‹đöČć©č۸ĹÁŤŁ‡‚ę„Oă{1Ńi˙4u$<™lZ°©¸„l—ÇdČžŕęp‹áÜlŻďţ™Ńłó7gYŚ•©šÍĺh\‚9đ/üÇ ’ś<ÎE¦‚d_ůuÝ]zbo•vI÷Í™6GvRăHé»Úťµđ[,fsݴˡwYżkŇCGŹ[eX -«L8xmA•Đóô$d ¸¸A©ŕ~˛đŘ?3Öt÷ł¶¨Ě">oU)?Ę\˘v¸uŰ“>F/Ó`›âŕąykײřřýZâfŃ' ˇĽý‘±A{x«۸&xłČmR§Çhúp: j"™ŕkŕ   Ü,Ľ$ą…˙ůN ڎeÄÝcSëĺ{ŔÚx{SyWJÝ2ˇ_›č˛ĹÝCpď ‰ËŽËĂŘ{u,aăöXݧ<Č©"yĽAł›™)wŐl›7[it(zä~N•Đő†ŽŚü«üÎg-Řh `„.P<É ÝQ¨dv~ůOÝ®+]¶ĺxâ߲Yq'šhĄÁđűQ•ĂÝśĎÚb@ĂEŠ!晦˝»~žÜ:ŁH›qž{żÁz_‡ ěihshŢěb$^ HLJş?á\n}mA5öÖç>,Z']7DAÖ?Ľ-E]śT űąy˙4r®Čë)H^†u^›¶Ô(.ŔfMR¶ĽégË€Tří[¸¸ç*®x»÷đGć™RÓ­¬ŚšžÎU V4ý¶\–TkgVcOăţ×ČFuF 0ôx!gľc*Ô˙ÇüPěÔäyěÓRܶ~âf5yꉎ -#\%ő?"K ËoÖů37:]ŞsÁ4Ĺ ÓĄAF-JČőŕš«/á/ÖVôSnGĽ­ľUDlA´Í·śšŇ{]¶ď8gn,=˙‡ĽřVXî)[ßKýI:mČ|B ±°¤Ů·˛‘yĂąźL—ů?"•ć7ÍÚ¤X?Ď‹çU˝Ńń—Âłµ(Yü+˝é+e0a†ćŠĎˇ¸ćqę}˘×7ä®a*ýrܨՍö3¶ěäYĂ~Í‚1 b„ťS†ŔÖ -[vN¸W)óÁ^m¬“ÂŤÍu<»¤~wěaGWbÍĚU@XáY –ř¨÷sçăŐ±ďË4ä‚Ńp÷Ő>2QŚŹŤ6·Q-(ěćý»‰źă¬&<}Ę™ě¡µ ?‚)"'–[˙§VŐq~?ĽCŻ"ŕ3ó`łÂţ1Ů—‹ŰéQŞ>¬Ĩ§F=JČŮô÷´ą]¸ Űç«,>>›É«=ODčJťŐçT`k_?ńéhwµµ5Ôy¬Ä®MSYňhj›&Éţ^I‹×&î.ł’›…Ćgă——j!ÂkÚ}ÉH /ő¨R¤bAĄ1*´WlVaMĄ×z–>ŕ8¶ÚüęçîůťşaKżg ąŐ;!2~mb©Ą´ qlŞřF٧ěÉT’2ÚÂK ~Řł<>”ćIumlKw¦Ěhy0D+żŽ˘)ăIJv§Z‡kÁÄJkw„e˝Ü*r°ěŠ÷çY,áXrO„ÜP0™ž±k晸Úę‹Â ˝p§ńOŇ0é;i¬yů|kŁŤiŚĐ}Ż˙ł6ťóżk”ĺżuŘOŇŚo„ďÁëřAJ«›V ć°ZŁďʱdžÎÖ‡2cÔ¤(öpŐcˉôEËgWéé“@ëovŠ6)Ż+uÚfx™:ăŕń\ĺJĐűwo…ŮV]7Äj™j"ĘÚÝs˙'jâXłGŔJř}ČźmĘżIťSďÍ?ŘĽ7†Ő|:ůĄw+î2˝«˝źÇ,čöˇgóÂĂUCé ą|ř  Ż¶ łěšHŤmRP¬ÁdŚÁĎ•ëÖrůá쮸 čbmř±¬Ń€«¤ŞĆ¤Smř7ÖuĘ‹“ <÷y—ęi)Ó^‡łÁŞÍÔ(u2Ř*z3$%§Ňŕŕ=J‚»ÍŹśEŞúVĎ©\`˛nY§n0Ś…–«·í˙X4ÓĂB…Ľ2@eĹK ¨J?¦¨:䙤*ł=˝1Q¶<€őťđWë/ŢÓˇiFU\ ůţ·ü°ů¬çů Q¤¶˛ÓäŃÚë˝Eż‡˘±«eÉp!ĺ/ü-2SCf5 -2Ćúđ7ČÄT‘DŞuö*$/ EkŢŔk! GcíçčoĽ÷Üő ňLűŠÖRxDťł4ç¶đ"›ě7VâÓFÓN5°űÚ M!oÄ•“ o°‡M{ѢÁs´ú-?†xí•€Š×‚ŽđN)=˘C5‰|őĹąó«ČíYŢI=D‹vNgŹ^^Q˘•őŢ€ˇˇ‡ÖtAóç© v_ć :§Ý*ěđĚh$;áHNfýçU± ->‰¬Ít/’đpÔÁ<b˛0–Ž+˝5syÚ ě…`GRE ^ĺ˛ýK˝xů}F}6ÔĽ~­Đ‰ż”ZëRÁ:wč~ám ąÚ-ýĹjđŁzR!(ăś(p‘هťĹ ®őŐűIÎĎÎ8<‡©ś#‡×5ůţPŁ”@őý.ý± ÂZü–ˇĚLtxNĆŰ©eÖńvÖKb–3"ş?´»^č˝&ÁiGĄÓgąăÓr ßC`ţÁ’0Ő±^Ľ&iŰĐčeűĐJłĐ¸,›§Á*#’)w]ú6‡źÓ/!"^]_öWČ­ËŽ=,~×cLúňÝÉÁ,m®łÎË ±- Ó[]˙ČWŽ*¤ÍRş×ÁÔŽĆ»?ĹĎ÷ä`ßĚŹfëof¶bwrmřônaK ˙?T˝—Q“ĐIöTfĆOi_&[o69†öéjpPĹqâďÄŃ6 řë|)Ă’ÜÝm†Ć kpęťă>{Š!9i•s žBëřSë»ű{V˛§M:nĘjŃ‚‘ČHe§‚Ú†ʵ7ˇ‘͢ÉÂMÂiU¶vü'ć… -śT@?şůW×t–qâ.±uF5—×=)É3ť+&ś±Ţoşô:í«çpž2)TĂ]ńVUÎD°]ŠB“ëTěňww×őepčň7=ożsŹŐJ¤ěëmvÂeKxEZ×nč§pš1’ç©ÄÚ˘WH; ˙…·0%>ŤôťuŠěłĽĐŮâ+‰r‚E·`'>Ž1ę¤K’(‡¸‚3;X!EüpíÓĆO:{×BŞ2ŤĐqŮĆBĘ%¨#uäĽh -]Z|ÖţF?‹˛RoňA¦ľ…lWá|…·€őńM<בÔ4‰ĚăëŞ~Ixs۱ Ć-Ń€7 q)*|yLĹ%dëFíălç>®ĹR « <ŁR] ¦É6!wÔÍÔołv;Ęů9†Đ¨Đ`O=ľ˙¤ŕE•3éż,xÜaˇłĂ“Ś äÎR˛A`şĆË+@+P[ç÷“ĆÍ‘©jĐfÖ§+] xĂS3źexgH¨ź˙TtíŚíłĚľZĐĚ.ĺc¬Ą˛•OY=ĘĹ©dHpÂrČ^Ä`Glg>>ᡢ+ťí2udklŮ(z -lw)ó´{ăń<Îaâ1¨•˘EâL„_5łç…JľŘ ë"¦aSdp:·±•Z^äśMjÁwÂş¤±iC2ďçEtÖ„ČCZ­Ł—˘yÖóôöÓ×4«Î@ˇ5Óɸ»üé[‹ľ:ÔŐg›Y«Lę—(¶ C;kç˙ř¨äÉĽ…¶ő»MD5ŮÔá(‰ ůŚĹ†­f¨Ô,ż±d ő8;ˇ=“©U9‚Žě–ˇŻś¸KôťBuŁ6ę´·˘gÁç´;dl;^—ßËٸËÄŔEňJltV°ŐP‹ä‘ąńĚ>źźŢüžćŠŘ» -iEÎ".„Ü>ôŞ —‰Ě5 -†¸Ëu4Ňl†čE}€íŁč«ę ć}ßłR–•nßZ;C¤+jö,ŰN‘Vő ô,NÎßŕ˛jŔÇ˝%UĎm(ű™ńöqB5ă-[Kĺ%Y¦$Ä.ćíY=J˛-”ľWś>ˇU˘ő)ŰMü›9±•šćOŃRú†óôűŮsfĚá8 i&QRăC ¤«:š˘ĄÉŔnŔ¤C™&ń Çµ o@źŮYv%ÔĚ 7{B5i Ůízáń}鋮ר«X2‚^´~'B‰Á` €tö‡”óyĄTMŢUЧSE‰ÝQä›Í”PŔmîĚ~¤Šşć)ÖBc‘ Ź˙¦*˝»ť%ć¶$hě'\@·źcě)ĎâEŇžŤb.Ą˙-"Ů$–Nu”G[‚SŢR˛Ď€Şł{Ôűv7źK¶í‰epďgN$%vš-Ii aŽüůŕÄjÚćĂl…Ŕ ݆j!ź˛řď…\šJaîdÎ4QÂŁfHą,z/`Ćl˝$îŞöa`~¨U­ö–ýń~SR€¤D0Ň(™ćoý›ëĄED'`zÚ"ě3ń·[8‰“$S:É eO“ŞBß‚jnh>ۇ '0ccóS’«…®D±ź`›vŚżŞĽTPŮň‡P‡”xk'TK7|(śşµ\[vp;KzéĹÜśś1›ń©Dໍp{ĹŠtěgtń–v“Íż˝]JKŻkV»j¤źç~X-*kx¨—´é=&gî§Ę™N‚Pż:Ľň©ő5¨(›o_¨`ŚXŚé˝Î"¶ňZKâ†ÁüľĆš$·ŚRNl&–H|ůˇç6iŻ(đĄ -ěŤůqµ‰k’ݎrÜQ4ĎŞdcäî[pľiC+Çś˝Y®ýUݤý;Şj«~1nSU 1Nnsß4|ůäĎ›v-4*_Ţ-¶L–aÔŞÖkđüĐ|¤ŠöňŹuČŞŕ1fĂ_uŰG\ĚĎ?ą]Á†Ö$ŚŰ0âíüš«pĚëĺ‘áëšá+¦őŤŘGTbd˛Že{đÝŠ›ŹÓ°¶ť¦׍uâËŻť7¦NDĽ^ĺ…}†ű§lGHWţ/dŠNł÷¶9ö-ĚY×6iM˙ ™W>ěC<ÓQ!«K¤U1ٵ#µŢ çd=±·, âLW˙GÔR^Ť`‰zwŰŇGÄ)Â^ž#RŞ;qú[}\<Ť$ËçÖ4ţTłîéć=`Qe»ôĎ„ßí´Pň}1ȱ§Ąľ–<žĐ$ ‡ű`žRůT8“Ľ(ŻKHµ<óxqMâJ–śŚ9@e#cĽwz{ˢ(6(1uŔ‹^Ĺ<Ś,ÍÖϡ.ĺ×wĘĄW|*Ů›óÉDôŞ[]F3†;Áöß~y7Ľ¬ĐčҦáo¡ Q‚W˝6quŤ¤ŹŐâŹ×Żj‹Ă~~ĹIĹČşëŠî:Ş×ôń@8V$TĐÚae<$ oeĄ‡Kפţ]×ňnŠ/űÂŹÔPł«ŮQő<ě ®ç3Iç9“«4’“§ ‡ô­ä.K9ăŃĎJő ęÁD$ŐńV2AcÓĆłngCÜ -RÄţZťŤ#€ë8 đ@•B˙(!ë"~G`ełMöl@R8“Ű‹.·÷fr¶ĹäV0+YxPö Ąŕ“YÜ$şôĹÂ.f<–čé{Čkî%"rŇűňů±ş(׌Vj|•Ë=ąŢ=JŤHsW‹"”.ZŔÚNW)Ŕ'»T.·˘Śm~=ňČó2böł4/ćíGb -O™7?í }čq”(Ł`,?nÚżőd¨^BĐtő ‡´0ů’zZSÇŻdęĹzťK’~˝g4řdËG(jé·ŻqďŹĆ×>w*ÄţL´l=č¶;!ó1tµTŠ˙Ý=˛ +ďî#­Q®x‰Ze‡R[]SEł¬W° zŕÉJžtÖAŢ Çs$Ź<ŽłD:«dMpťëććŢŤ&ô˝­.Ë–±Vł+Eµ ˘žŹĄS˛¨ăWý(c©us¤WihŁ– ‚”Öô‰ßL˙Zźö©đ_Źf?ĚE„>VZYŰć{îŹęr¸ć_ GćÍf …5}Gą4"9ĽNĂiµ[P/řś ź°>Y¨NŻËÚ’ş©ĐLÎź÷<ĺVŚ6 -Ä˙)řáhp)Ff;çŐQnď,)˝ & -n­çŕ~s©Ŕ ‘Y‘'Ű8ŽĆ‹&_íŻN‘—OŘk›„Ă]ťŮ -léĎ÷oĺ9ÔtĆ­žř:m`•é´śž1†‚Śűż.—Ť]o‚ş:={ZYĄ®ň™x¶Ž)ÚŽÓ!"s`ír¤›V;Źś‰-M -[U–˝3÷sC«ˇŘ]AÄÝí}í>@ŠNónávp›µ EćhsÉѩެ$ Ň8ÍŠ!RmśQÄ«^3ľp~ËnüK‹›;_«Ě ­bŹ -–YĘąĘqżő–{˙–*0iµOâάIn6Đç -éňĄXÇK8ÖÚnŢ))/Ż€°±Áâd¶„¨űtÍ؆jE˝±<÷y.¬Fv‡”<¬z Ă#Ó)cĘŻ7°ŹÍG¤ĘŚŞ+Ť׌ě•牄zµÇKq ľ˛·ÁyĄÔ ˇOUš§á]vÖ8F _­ű›É6»ł˝złâ ±p]ůí¨ŻöZžŔănu—Ű$퍓ěű©‚_đŻš5ÉB ąűŘq4ýŢLf/;ußňĹ?}n•iş_î—Gő|;zŞĎĐ#`._¤Kv±Â!ąĹAOŚÉ?%ÇŃ ˝P©v<ů”AWDâü±aĐßňúż jNŤSIqBZ’)>€ApŇÜ|ĆĹ_ąţú”ą¤ćş,V`2Ĺ@Ň{ě"”ťĘíp˝‚o¤4ąĚwš ţžúX÷<ÚĹî2łŻŠÖôřqąLÓĹ2Ć*ÝĹÇ4#'(Ö6 L̇Űn©.ĆŤźęĚł»ůM”˙©}B ¨ĘŮW*”×ę(H --qřAŮxkĐ4ßťoŽC,mĐŻXëň×mWcË Lš"ăk{áWšéײ„im$ -Pp”ĺÖ¨ôźd"rúü@$9(ĵ‡tYCgîř'˘<Ű‹ýK4Ná&˝ŠŁ?őţIđ>Ĺ]9…/dč?0ëđďI± -N.M†ăˇ˘®ěTŠ6Ă.ŁvW®G-Ěm7ĽűÓNnX3 ‹Ó˝ëwĹŚIÖ0N´˙”Ţś?¨ľőü1µć”=ŐW\ĺy1‹i2ÖôLl[ŁřđmÔeG,|ˇ6YN9ŽKąYčs -‘ů_ßJ2—~˙’ůÇfÚÍĽm6*˛Zάe¦g…Ú8ĺ~ĺľ!ŮśČ|Űʴ"i*ĺĘČbęőŔZ›îS±ôçĎů)ňe¨ík ßťĚ|¶BćüĽí S•U•Ţ˝m~÷00AózštAT~ĆŕëDť‚޵ܒ’L夊Ą±=ęUm%ţiĚWßžj0Ĺ“· ˝ߨ€—˙¤ÝÔąjÁ«~C -Ϣ ›đä-¦á(_Ć BŇh"‰”›JóeˇMŇÄŠV~VZ›`Ě5Íż–ŠŤ÷—0Ťň^ ż ­d—DR¦.1şŠľúzM†@čě/§–,Ť7§/!r5…ş_ó·´Őć>{ć¸ős†ýÁ9#Ü®Şóq‚öfˇEHŠs‘źÍ“đ>3Ď®™wMxÇ4»p>$|»Ć«µd›á ţ?ŕ@<ßúgď•.4-v/oŰĎp^ ľ‘Ďü o~!ÂâľävCݞrtţO¬“¦jb»©H)ś†ćss -·ÎL3qÓ›Ů"©´öŠEű‘~·yŢؤ ¸T ĐN™Żë°÷€c+§îľ’CoÉ!ť–KPˇĄ‚Lř@X$0LO¨Wśđ™D3ĺßh S9MfÎĄ&©Ńżëç-Ŕ<şËÜ‚Öw» A_{쌪íF>°bHifň! ÂăCdú -`Ą¢°ę˙ěC¸ąü=Źţ,K)ĺ.‹2ü†¦ź>TYÍĘ‹Č~—aŚErb»ŐfIËVo(d?ŮÔ a[\Ę· uăŻH XŕÍô˝¬Ů!b/ Ďí|IĆČeę˝^ śă¬”ó@‰ ZWťć°ĎƬ›něŻGaf…˘SĄÓ´qO˛D‹Úˇů:ŕô-Ä\öśPĺ`%7şŽ3ٍő%×g©ăß-Nţ›*˦Şr4ÄŠ ÚFÓµťxQ¤o˛5üfÖKsśżs !Üťň)ÍD«ŰxŹĂŤż+¨Řő7‰qáę&¤} mR~˝žˇYdÍťŘ@Oşáś“Źě«ka°é‹™Ş°ß˙u©ivbEě2O!|0Ýc™FBâBLďY¸śĂ’Ő=A5o%~˝?•6°ŔčÜ›¸ ůGyBĽ­WQ˘ăN‰ŠĺţúĘ„˛,č äÍŕ•uĹ.¶©ńŢł6«Wh• -&ÇäI÷đŠĂ´µčëTňĚüvÝÚĚľŢ:} -]™‰U¨ŠIÄMT -ÜÍ:fÔ‘śPZ™Nč6±IáĹPdřKüAR–Jč;4›•Ő}wŽÄ7”CăB -ž:gó¨翪ét©¬ť+;g 5nËŇ©\‘y7rcyác=Äć@5Ǣ:Ó%ĂĄđ±Va4ýý!/Ú*\Ě®#¶r)•đ©˝ŐĚĚ×ͰôಂőŹä[á`‰aŞkĹAS»‹éžłä[çţţ,ż2öÂśîŚď…ŇB×螤,&€vyČBőě9ŻÚ‡MoÉ໫u.^č{ÂR@¬GĐŞMÖ™AeJÇKË'jB™.„î»<"t·Úđ@a{1XÍhÝwŔoÍmOŠůÄéţÉž&F¦_¶´\.Ő t„Ťs»]Ńu4@˘j»¶Z%X:O 1 Ţ\ŕﱜßH+&ăÂaβ‹)Ľ‡>/>kUf°I¶&­pž«ů>hv2F‘4´ä ®ĘtDš‚Ú-“c qX$7SGr7µ !ŕă9@»Ö4šÄşÔś(řç“6Ś_üÔG$ĆovĐĘşwµFicUľüĐT5ćčŇ|פ *TBoŹ‚­A´Z{N±ˇ".-ěX/ÓG -ť ŐĐŠw$5¨Z± űů±J ›7 -rŤ’ đŇ?TŮwbÝ?,ń“y Fu7(ĺu†(źŚ cŇĹË“]gkq Ld¶A—Ż1™»ě%ťó‰r–â8ÔÄ}ö[ţiçAÜ›c…H)č§zJ!Ł`1áߍ  Q=ÓđEcőh~–rrهőlC8$Š/łňhĹk+°rß‘Đwî“+7‚F´A\dn‘ńî)RĽě‰R÷ÚŕN-–˝U_ů)-@Ş’äí!MtÉĆÇŇf‚W)׸Ţől°čŻ´Ű+®Ťx9×OzL|†‘üKąC…ËI˛ëęJ™-űřŮSÂBIDRśÜő™i?•-—Ȳ L3lu*+ü6Oř»OŰżăŻŠŹ &TÁ r˙DrckqRąĆ˙W€%µ6jžK\Kť{/n¸r´ !í‰6IDţ&ó¬:z‘F?ž{6š?Q›ĹiŇJ-÷Äcí“TP“˙ţO˝o§韛ŚíŘú…ám(ňć‡zł«Gˇ?É?W*Ł**|Pü˙źz‹ĆWŻIÄb…Ď@Ô•qĂĽ˘Ś™'ŞשO=Âţ§E¬@Ä1铚â‘ćÚĽEwNuڎ2Jxü‰rU–Ő$Ë™‚0ŇĉW˝ÝްÇDUŰŮŞtWó™A˛/‰ÓÚ\f©Ňx-…y¦©ă ů!`ÁH-l Ivü91`ČŤ&`#ňٸżZŚ şâ:ő`†„wĄ9`ŁĐĢJ ŮDđĚ\Mú,ˇ3îé¬ÖáÔA@îŕ}tĽ|;l¨é®ĐÓxdčv|¸łVř s`~ˇŞd–z4žOϰMFn¨ŹÂh€ě @€·84>–ÍŽvá19°ĹTęDşr=‹N˝Í  ľ¶o~É0S}ę#ßOĆ Ţű “-­jn…Îŕđ=ăsŹ|«§äźNĎ©’íQôp§tJ’/° ®\†kcÂ٬ŰQî~S¶ĆMułÔ+örzäłóÜťŕáĹ$§ÎCÚůň‡˝,ę)i’ O`Ú*Xăş‚âĎGšLť•íűť¨¦p‘I– Ô®N—Ú’E'QEěÇłp‡ŘńÜe—¤T?LkéÖ‡Ö¸żÎ`RKk¨ŤüľŢ ’›·'nŠ’ŕ$ÜdľÝý—•ÉśëV7_¶0ÄęzëŰ.G·H†ä‘_ DÓ Ż"üô€ua®v˘DO«OësÚfşĚ=@Ŕ­%Šüž_9ČfYľ!ęy(ëYĂAŘCeő óŁę -K7"$@vŠá+I-8Â…‰w›Ý ~đŃoĽ÷~M?Ú–†%jź 6µ,ˇ;Č!lüMąR˙z&ů˝f:BŞÎQ 3RHii}épŚXeŻ)'Í­ăn¬ľ&kr¤0( ČHá{ňłE™^u˛śÝt)fíIvż®­EZŠ7.8dJb@fAĎěŕžŐç[Čďş1E“˝#żiżi,%ű¶Z¦‹xíÉ4&H×´žµíëč/ú¦Sš«N|Ghóx:š¶ÎîT¶sÔŽ”enf,‰^,ĹĎšűů/.~˘ÜĐfßĆĚď¬AMUWd68Ô~Ĺ=ý ĎŰeĚ7v«sPť~H[vYUQľF÷ÔÁ‹H‡áľ‹ĺc$ĽV¨ł”@x«hŻ~¦vŃ„ÂË=–Ýšjió_…ëFŮVÇü~j¨1iB)ćÇ8€ŠťwÍŔKßÝOXÚĽ ¦Ű`bżbSö »PÖŤŕŕlp8#ÄyWôţG{‚±‡ !ę“Ůy•€ĐA+ŮúŽMKĐŤ`üTúá>Ňž$.Ąę[nŹtŹą[]nű\q¸n¨ĚdÍ_ť>¤äÂnâÍ‹Çs*^đíuBâäá͵ -ő·ůýČűJ† „v}ŇCCě Üř÷!˝‚|ůďŐň„ćLšiËŢ*WKĹ JN&»”(A('qS×ĺÖęýŕ"vŞÎňQFÇËě!ŹĎ±˙‰ňއS34YôŁę´u~1„řGŔU3ÝyÔgé!JÔCě™EÂëűŤűČa¶€Y6ŢťZ2á¨jŘ×”´éGđüżÝĽ ~;B®ęŤ”$•jVäá×ĚńŢxcô瀧ÖeíË˙+ë!”-kFRV-8ˇÖíóÚÁxß©XxG+őD/\O)Ë<ÂŮŤV;S€Z¶Î{Xjĺ¶ŽĐđ|‰FPëđ , &‹´uČ^®ňVkÎćů_RJáË"[ěöO:Řv˘Ě ć#y¤ue)łmďÔ°„hĄÝ:M%üą :hYr]ăD®éśł¸•|ŘE“TÇŔ -é)ŞĚ˛ö‚‰Čą$í("©żôebbn»ůçŤŘŢó¤4Ł" -L^ݶ –[™Ä˙¤vD5ł˝͇ëuČVšľ =kŁ4·n;0ŚýjC˘nÚŢYŽ+ěúuÁżľ4&Q–ŽłŮqů $p~m“$<üćŠ Ýsy@óD;›3W‘WÍÁW%üÍhĽJ¦ţ§GâľgxŁ`Ëř-Í‹.•QGü´Ă@,C–3TPť=Ų,”쉔{ĂŮ ^d×Ó)“ľÇ̦Ą®JľňŚ—‹µ|iř}é˙\‚cs•&tĄÄ˘O¸=87N(ĺîY›±lçÓ“Ś”ď_®KS­żrµˇ¨ÝćwŚťkkµ¨xă, %GNQÔŚkç’çđČţňË<ľ}¦2%~…8Őw8ň •˛AŽłÎ2·‚›q+şMIŮ‚đW+,3…y4™Š¬|ŐôöwE–)ţż­h˝JÝzLůU´ÉMd‘†5ő'É86š˝ ¦WčCkýl­_ơ'Ĺťiá#«hˇ‡Ää†BW¤!ř>9^żM)7ŠţRĺô­ŞL+ß&Í™&=˝&~ö -÷{ě&źÖa’(ěU7]řp‘‚ĹÔ ‹«bÔ%Ý=wă*çěT3ąĽŠcÄú Z•ŕŠ"aZŔ R””>ˇČxŤ Ë Ľ¦L,~JŢĚÍĆa˛×|Ř"%čÎQ0;E•Ń/ťhöˇ!sb> žWOŰzLU¬GÄ Ö,ŕg˘}˙“`ä&äŹ%¸eôćŞjđ^KÎ?ü­ µX¶‹ţ¤fV3şĂqŕé¶p~ƇmŹĽ×XF8î(ccGż ‚™0ËŹá|ËŽ­r,HŃAM"Ýźw64"’ ™ę’ş#Ę\(5iźžĄ%ô@Vó–©pľrş\¸*wćÁWË(őg´ń{ą=ŇPőę¤F‘Z%!HjŚěŘń> \h–Wů*|‘ۆŮ{wtE${˛„fčą´ĆTÁž†x‡€Ƹ"gîňBůTń‘gPf•ňĎĄąBÄ^xˇę0ŔÉ(UÇ:łŁ@˝% ¸Š€¬x1ý/"ŘĄÝĂ™ĎY†Ü gţ[xxQ&îK—‹!ëQ&ú¬¬nż áěDobPE˙şěĽŰţşô'ĆąącHޤĐßsŠorh?1r6čfírYč±÷Đ‘+;p€÷sžJ7§Üą3ő“Á)ŇÁ -ěT?hŃG¨v[;Ňúu' –ÎuŹ<ĐĂk}KJ¸‚ŔĘó2©#zeh÷jAµü1HtŽÝł›íí÷'!łF(O3›:o­Îd.G4?h-–XůPEÖč1EinÍ^d°ąlŐ“šu.Kڴډ*Ac¸Â…)ÖťxŘ1§Űbl›ŇńHbPă'’ŐI9Ůüb¦ˇý·řcFvĚŠwÍAËeh%{"vŔ×öQ=ßfÇ“Ě{wŘýÜ™ąÓÉ ęRWŤn»NoĆ"wŢ’>@Nű«Ú6G¤ĽĎ—Ž«Pţ(ˡ\uCńžéCÍĽÉxQPšŕzH$pk†—šŰ6ž›gĽ¦‰ćpż)•«ŔäEŽĐŻý4g€řm˝Ëé×ňbÝŘ «—¬§˘ÁëäăZ·Đˇó ŐŘ$NŐo!ŇkÇŻJŹŇuł şFţ®gě0ĄďƬÓéF0°đOżŁV۵p©Mě#‘X/J@ć>2 ďoW3ÝUĽEçŹwíbbřUĽ—5Ý?$Ż‘Űi}a%Ą:§G ŻJŮĆźqvcĽ"¨'j?F´.ůä#H4Fµ"tůgB\ę÷Ęíż>‹&XR#qčÇy_Ö@÷E’R"kî^\ťAIs(ČŻy„9íěÚŰÖRŁ$KJé¬lÚáŤí’‹šúů*?+¦úú!qń•ü™Jf<şSÎ|ëX [´m”ě;™őb@‡¬ tf‹ L+"©áoĎŢaăşđý·ŤřÔd®ş©M·;É8‰8ĂU… éŰKż™2ZwÇmön¤˛ éÚGCgR 5ß{‚ďřçDÎ1ěŐ÷7ń±«š¸„]"ęÚŰF/4¶g¤qĄ˝ĐĐĆD2Ľ.%5Eµbmx1-.A¦ \€NŚ$[úµ«÷‡O.aĚ ]SłĹ„ÄĹĐŤŹB±ępđd¤A>q3Z:/Ň])mv>{ËGzb§ęĄß¤ŘlyőřéÂ*sŰaM)r)ßvyţ 1*˸˘qŰ6ËbF”oˇČÖm7˝F_^§őa:áj‡I‡Řj`ô‹.˘°4$·ź|QlxÂľ(“±;É&©" Q\•]ˇŐ¨ě‚Žw„“‰žąIŚŇz+˘ťĽ%p8ƬuŠ {¶ě9Íč5kr˙<Ş* LvofË[|(˘K‰Q6Ż9áiLžhĄUůńŘŇ:I .oü8¬zN}ŃŞ!bFä4(O-ĄYŰ@üÜO˝ľ@ě)™¸OÖ}e7^Á`-ě$ře‹XqăFdŘ [ô:U©wĄZŢ˝-c—î-ěĘŁô ’/YŇČ»ü2}˝!jčŧ5ü/‚ôKYu/Ć8…µĚBu.>±62(ŽB,ŔÂŰ(ę -—/NZš-¬1Z´;S\ŞÔFR€µ…ŠÔ±‹ą°'ˇßjś -@żIŔÎŁÓĄr«&óîaGZ0öśç¬ÝR¸đ0‚צü{ĚŰĽ*(nmkb‡đÁ)¬;°çM_ÇzĎ ą–Ô3JÄ~ĎGµëSpŚŕt5ŃČ@Pâť#3-ď¸ű%E —„7śßĚęŕĘ»W`?őa´ć<óşĎđQÁA¦JtČ|ąť=‡™w÷Í˙9Çäűm_Ç[™Ň}xF¤¦%ŽÚ –šťÚ¦wM¦áR6%É›˙ňG©sšŹ^7ÔNo–‰şAt Qű˙ĐĄHACęľ É<{5Ę{87ç<ř:& -_'hqÉ .hx€ŇD1Bűź 8zÝ›!qŃXÝ…°dG€]é1ҋձŔ…h‹d0^&íąŽ@Ę7r'‰3ٲ“Vý€ĄÄ'„V‘<¤Crż‡L­Ń÷ˇí†×X•sąřßµ•=$ÍĹQ”„ů|¨›{ľ—Ú©ln!l¦ ÂtČ3ďm´÷ŠČÓr4ďÓň(”;ÎŰ:RŤV94?g˝7Ő¬Ö5±é~ô›ůÉ?dJ¦¤=úîddQ5¤}B¨&ë¤VŁÎWĚRFĆ7é/»¸:yáÓ~w“˝Xbťő#&»g<°Ň=µď˘ű?Ł7÷ÎOযN ¤®«€îßůX 8˘ęđ‚H„Jvá^/Ĺéů¶ô“śhă-n¶LW’.p趨ĺŻę Ö» ša?R~ÍĄőq,Kk§[—Ö*Úće§A® ł kS¸nĆ÷P ”ŢĂű˘2źŹ›ĄŐČé&˛CkVŁ×Kµ ‹Äząäk·ÖÝŔęőíŤďýskáiiIK}lúax„Äîűčć®JdµmT;uű˘”Ľt„˛Ůű^ś©eÉvŞAŠĂ„¶·—Öe)\đ_łČđLĘ4ŘýRUç<™LMWMV˙ ‘ô켌ísbyŸ‡5ˇşzÜ5ôb‘¬–ĚN'ĂłăĘŁ¸÷ŤíçşIŢ]Ź\cŻü&´z¬‹éę˙­6"Ţ€QěĘn~“Í 2˙Ś  Rđőýs°”Ł’¦óř«K˘cÁ>8P÷(ąľ®-e`ĄŠ+²µâéżbk0ĹK!HSđŐ’2b'ťW12‚„w˝´a˙Hbí¨Á§!Nťꀔ&ńěÉ’÷?fůăfĆkOŢďüŇCËOKř„}x‘:wf<˙kř›4­Ů𩣞pdÖV đ=śýý"W8lK:—żJ -!ĆÂgść‰ĹhAÂNü 9؇ŕź7ć€EAÇO ?M–őÜ -âj5@í“lOů‚n]:(]×eęţ}/W¦ -ĆóKEŕ2HVÝx5šxâ1ó4d ¸ćź'ĘOŃč|÷µŤÓMšQŮ=–¦Éońn»űł#ĚB <äj„đ˙kîÚ5TÓÍôIEłýE–şšeÝŃm§Oé6ö‡~ÎíaŤ­qcZ2f˝†~ˇK §ýf˝îŽłô›O©TE}ÇĐÉlQ:qâq„6NÔż¶D9üßĂÇóÝ­|·­äÂĺ|ŐżfÝ.¦‘±Š¦îîbbęÖ‹éńłĆĘ•×RH”^Ú‹ŽíťE3ŕă8(áSéę-e…`$ejśřmĂz±Ž‰w`€ŮŢĺ¦\Ý_y#Îő^ô:Ş×V%Çlż‘Zö<|k‹ü¨†ď¶vň="XpNeµ…tôRꡑ -ťA¬4“Ë‘S!¤+ŠŻmxá¶6•ž8ęŇáÖ°Ŕ˛ő.o~l>lÔ¬9)T5îe<,ĺA˙ąËB§$đłŐË=UÝÓ/ŔŠî§\îRźŢ9>¤óE^‚?ńx&z39eĐqĺ˛ú rťęD§! ®ícŚô™ż]ŠŢ»S§qŚË–HQS%my(7<žuí\3Ô\0\\îť+[|@IŚÚúł1ŕJŰU(·«Á`ÎśĐŘ)Ŕ[$|u˘ÔPS›'§3uŻ­…Ŕň˝db°îIf’ oMę§¶să_¶ vÁŞ.X”@śQ¶öŚIQj] -łŃQFź@ÇCŽq«ź.Ć|U-‹żwyycäg:ŽĘ_@ýG} -Ůx—!•(„ĚźŠÄÓ7Žý’ś©ć©çé~÷AĹ@ФqsdR ÷ŤÂő{’‚Ö^„6ß/ří«ř$ś hÄEW%9ĹW„N6Vf! ,a·‰ü¬§"Ŕŕ”ávŻűHüuöđ›Ů|ňÚ$ČF;ŻN^E÷ÔŰŽőQÉ6É‘żŕ«ůsÍóŹ/T˙HQ®,@¸Up8đ’¸ŇkËR4X÷ĽL‚?^t*ěܰîupÝ!Z«“—Ý 2ň“ó|ö(ŤHtáČ9…z0ß°°dČíXňG¬ůóOĐ´?ć´/¸!Żň­RĹŮĚ˝Ř;uĄ•Gó݉·Ą4Čî•FJ|Ž€‰XufďÇčhŤŞb˘±&ŐŐ&hcĆŤ ”Ä”őżĐ±ž3úÁ?^¬‘bN°cWşŮCK?uE( ŘT îALl;Â÷HřP©|ąŚű‚±‚[JŰnęĂŤµťÄŮč­I$a§CpM\« °7óΖ‘ĺMŇÎ*v<>ěÜç†>Ę$M‰ňä޶‚^CF\ßşSH¬Ĺ<„Yrę3÷ĚI“|˙aV,SĽ6Ď2…?xŚl 9żqďĘu˘ĺłĎMÇťhÝUDíz @ă †–VŽJ3o›|[Ń9Ň®}Ĺ,[‡n¤>玮ę`®µŢ›ÖM ŕJqÓ«Ýöv~‡Ńhóy+ĎjóP˘KB'gB›ę˙ŮśŠ†ęošF _ăđĎC-'{;łc«3bmĆşÖiw"mŕPë_€+É‚Gď„^óOÝ$MćZoEßQí‚ü@ő@—ýç±!iq@]— F@†ýrčj:‡ŢżŚ+„+ §’«NšĐm!g&ű"Îqľ>SĎZX;ú ^­í%ěyç… B(V»2nÇn¤w„BĆm+ˇ -vB ™ ”÷|ľ¬%DâyN~?˝=Ęť˘đŽŇŔÝ ůÜśűăôS¶"ü1|+vöůu˝&%K Rńĺ;áÚRo\ >(ó"}ŮÔµwŢ‹ü·xńtFeÓd‹č“iŠRoă/5Ý♿sĆ:!€„L ~ sÜ©pÚ#P#ÖźŚlŢńÔeRÄE»ˇá˛NłiĺŁÓ‰ĺÍ Ŕß2âF9č )sT"ń‹éăbČ~ÔD2ZBö[%ąôqz˙aSÎÚ¤ůÔ ¸]pź qřy;٦BS–ŮłŃ'ůřäRQGűXo`›sŕHÜŘ·âaWtËVŁźÄI«|h¤*±]#Ôx=°*QÜKŠĂ$&P<0ÖßW-¬ÂőĹ(ŚŹĺ~l$’«D75چ*§&©mÓ8_‡XŔV‡ňŹćpoŇD_‡5ť -É^«FĘ®ŚÔ˝÷^-łůwjşb˝—_/«ÄŞ Ą^jěněś`ď8Ń:SS5ĐqřşŁ-@­J}CĺĹ´TôJŃQ`ś,¬Ç…7e–ĘťŹőĐâůˇ Úę}äšą,ÁÚ=ß:¦Hm 1ú -ź/¤ăFń21ú˛Ońʉ˙eL†©j_˘ŹË1ëß bʦć{B‡×˛4ú]˘ř÷-†1QśanlŔ­&Ýţ‹–[€@ÜúŢŽU¬÷Ő銖Z‹’ójVo¨n(†”*“GĄ  *Ěq®ĺYfHŤD0ó%ÍLzÚňÓďŘářĂëŢyĘi>ŞN×éŰÉĽóÂŢNGćŇCÇ7:—x8ůéłäxżG_.UZj˘ó­Ö#ąQNPě4ŁŐ<u<(&0®OG–ĚMé¨&ëŢw¦2Íî1ͬM —ăÔlRÚi|"yéöćŤqŮ8ÖEË“i…řëÓ\QoóŘĐët]ű„…„ź­T&3·D"Aq8˙ľď} -<˘UŽ­C`őąˇë65íklXÎ?¶’ _GD‚şŐkÝ8˛R@e‹i9š§ť­"<Š8Ş^žheRĹ’4xŐH\ŕ{sPźëX…M×L8Řż-[˛$)ĆłF8]ťiËŞ/1ŃUń±*~e A±ŢQë ŰÚ¨qĚáťú!ŹHżb,'ŤbB(“'|+|. řrĺ ¬˘ˇHě+‰‡"ł×¸Ě Ł$‹›Nđgĺ";ÝĽ_0ŠF-viş¬:zPöéą®Ź4`®c”ˇČ2uJŢŹsߟ²ŘŇm ú—EÜb’:´¶#TŇ…Ăęý Rú/nµ=oÇÉŁ!ďçůŽô†H¤Ýf5cŢĐť©ëeŤČžéÖé/÷Ű7z|ŞűSś‹2z….ü°č[ů[ň›JWĎ€˙t·KÎ Ô¤i`oŃ O?ęŢ#ŻĽĽ–Lž×ç¤A´ŤuSĘ˙¬1ÓŇŘ-©’Cđň!u?HĘfל4ݧz°‡JňƇԪ°j~ńSqř҇ÔxÂô9O­ F[UBź°Ëčş1wö»8Ii=@ůki­›*ř%™łËŃÇýŢQ ›Vj ÔÎč -ŁÖÂÍÄ˝ -ĚS‡ -҆Ř×ŇŐ[čÍę»ô4ÚÄľŹ\ŞxłacîĚ„˛¬ąeqŐPéHôž1Ł;©â\d´ÎŚK‹-ŽC ŐťźéoÚSÂůÓ­´Ž#1)ńŔg…u÷9sľ@-í )B×RŐ+ŰÇ5ŤąđÜ^q’IŠ‚ĎO -M—źłoÂNO€'ý‡‘É =Óőn…<Ęeś…xÔ×y”Ô{ŮŽ_ň?čŃ[–óŁxŘŘt |€5‡¶ž˘Â č:±ČގÔŹŮ|ŮÓłA6Ę»XŁ] Ұsú‰ŮV ۵úš@çęIŔ%]ţ¬Hüż_\@;•ëlö€Bµ€… ŚT:bZ®#řs 2ÚňiöÇH{h9´\z2ŠčKK±8Ž¬Ź˘ĽBű=ÚTR8oaś°´~R<ĹţBÔŃ_ŇÜm}ďD†l(Üç?âr7ÓăÄw'†\ö‰LjOâo,CäŘi-a’1U[őĘ"'{Ăf§-GEąÝ>3vĂ2Â…h}M‘ÁABĄN$ç\K$“׸ät-D„ďá -Ľ· kś“JÚeÝ?Ü„n ˝Â˛-—1JŃŚqPVERF™K˙nW€™\~ítV˛ĐÔ”éęć>uе}"˙â¦ţ˝‘z{7'^ÍuőăĺÚ0°g©ő #»ÚŹPÖ@M¨ţ÷Iq%˙cOÂô˝ĐÖKˇxé¨$đ˛GŚ.¦RZxţąZ¨R'ü 3#l‘‘ř’žšj”mŢŘ7¶ĄB€CŞČ lč%\Â0®ůôť>ľč@*űŤâeÝó,ł4ą:ÖÇ[ -Ř÷ÔŹ!Oń•óv­ő÷ݶöäf÷şIZYźíf-á0‡éşëV[3â’Hu÷6[ZQ›îi.Ć|†ż‡¸ú“ńÎ1:Hrň"– Ş®ČˇR6:yźj»PÁ¨yo†Âk·ÔP_µE¦l…Đ`đ-<3©,°ŤyV6©Šöx ­XˇâÓç2ŠĐ; -ZŢÇ cőłgČ)Ż%hźzŹŕ˛Ţ.ÝÄť„“¶(ŤYŻŢ·č‚ou…&U{Ň«m˘ŇIT~ˇ˘‹ŢM Lý -ýčUb~LxMJĹ·űˇwZCtLp1Ö*ĎŘĄźµÍ Ŕo5\ÔČ´áľ”µÄ’†ţ 8< (†ż×#ŘN@"ĆzSą®Śm¸š!e’‘ž\ňr1c~)9%hwŘ-‹ pŐ6eŕÜU=!Ô2ů¬VrDů^MmAH4HA§4׸#*ţôô2 -ő$‡#U×ÜűrŞbPfĂŁ˝mŞyŔ"Ër-> -9ĄJ {ńźÇbçB.đ|6‰Pʶ8şIßÂA™JkOBA[ŢŐĽIËÓźf,_kţŞď# -•PŻT‘µ/dťł6ń‰DŻ6&,Ř:†,˘ĚĄy E+¸×sDĘżSô!üĹććd “Ά–}W*gź{Ć6é -®ytĽ­lŰĺ­9j9’řDqŹčňŚÔ“yKóołóÖ+wÁHGFžV p·™€fÓ±ńV§ÚÇ©v·ĘŞůG*‡T:Ŕ‘Ň?z­Ëuέĺz¤÷×.?ô»gx÷ŁőVsË4>D´4â±46 îÓâ¸üęu7~ݬ ňĚ*éšŔOČ]éŰ;Ć۵i|Ęŕ˝ůHXvÚßĐ"şý*ţ¶‰Ş\ k6Ha#9x™Ńr@Ö ®´#ľŢ“ys‡ -o -% _ˇčl°©.>´úvśDv ˘/W&›-'ľ o˙µĺ×ě=ÓštÍŠO ńDĺ_ńÂR*Z^;Ľł/…vŇŠ§IxA,{éi0 \Âą/8´hąŘPe˛!‹›f˝I­¤•üŐ ÜkWd[[Î$_ĎóQľYčÍĐńL-G·[F( -ďZ›łVŐł;ł=}€\,cťDD“Waôç˝ PVúCŞ=_Q™ŁÁškm ?źh/(fŐ븄ŢÔÄevëe?čąťµ†%.–DµR2pe®ÓáŠÁľăt,:ă»${ÓÔÉI.U×ᤴ¬XG]Rź?ěƨz]F˝˛Îˇc¨bŔ"5rYŞ[Ô× Őj|ť0Q`3NőPkÂwAw÷űP¦ŕ„BÖhQă‡n zީڧ-Ťî´uMŠoO+;eĄ‚é·ctÇ}rÔş} -4\\ÍĐ9Cb1ĹÓĹť•ť>»¶5Z„Ö˘r-üš§[M…93´˛Ż_˘Ü[ÄO» Ȅ䰜Ro¨+ʼn(VĽ- t˘°=řŕK­Q›4ă¦ÓqJ3‹Řö—‘n ăN‚{Ž…ÝĺÔ˝«‰x§ÄßÇaÇŁ”¬«óĹőyĹ÷Ăĺ%ÜdL-ú´#b·fĹ/Š–ís.áČÖ×Kbń!J`Â,fAu<‹ö5^-ieźŇČ?hôF,Ů$†ľ¦Ź·±ä%cďoŰ×%ǰĎZ~ńXŹË‡GuÉë۲mC‘hě/†í -âtYÖ®rĚV%Ť.T¸=+;‘Čë -?±ă˘ŘËo\ëm„ ®ş€ŽagÄß°&ć*Č{aHcůĎ"ľČŰŘÄ–vâ.µ%ŰŘpá™b.đ«Ŕ ˙Żž*>ĚŐ“aróTĚv÷0ďW‘+…ç˘Ü§°ß•tçĺQ"+čÁ„ŇţźčDnV`O9Ť–† -á×;?y9â͢ë´~˙Ţ)>>ˇÇíąŃ3®iŹ8|† '2M,YRę †I<ťÓg< FżŠŃYôH}0ĺw»ÍđŢçSfĄ§Ý ŤErł\¶µEŤĆ›ßjóŻŹ„c’ţGIdÚvňP·Űíˇŕô˝Čש‰2·Ô W H$eĹŚ„ď=‚Nj¶—?:äÚ!¦ŽDÇ%rś†ŐP€–Řůcµä­ĄëíUľţ đxFRM¶Čć•t]Ö‘d zÝi(Ó9“°ş©¬!őo´KîÉ’‡°1SýÂÓĽ–ühq!ó Ý>™čŢ/ńÔ:xÔE!¨aöBU=„ŃĘGąw)î-İ˘ĐŚA›‡Ôő–"NVÍ_¸ľÓsÂíW‚;ŽąůuÁLç­Š<'Ďҧëóeáb P ´3˙ź ĹÍŠT‡÷2·Ö)Ž*ŐYycuv`cßçTµť®(‘ Ş÷źĂ7«¨«ĺŤw}Đ„±§ő*’˝äE¨°‹2“ĂůĄ9&Ęž% &Z$Şń:‰ČńZ$ -uYŠN”¬ź0'¸p®žm+ŔEäâł6ÔâqĽh |“dWŮě†ÖjĂA´Čc°śŰâ6°útÚhů§Ď÷˙Ŕc%˝/ŞäđeŰńü@Iĺ®ŠŚ·ń?űoTŮ[‡w…9e@Ó*ˇŁęÇTŢDż~ĘřŻřS·1í ?˙ǨÔÜÚŁŮóµ­i˙ X§Ţő•[YĄµb¦NŚřź;oćĎ ´¦rVĄ¬ćć¤<6‹FnrŔ#¨é^¬ÄäŘŽz Ąb«/ÉEÍJJ~0Šö‘kéŔG -ţŘif‡ßIpŤłŁÁT[J¨TŔfqŢU7 -ó ŁÉ1TĚ0¦-2öEU’V˙Itˇk„źxGN¦–Ç„ĽS×鑤We®ŹXȇ×¶ÍeoSŮÔj‹?ję.śjéx#Üĺ‡"{ %:ĂPÂ-:y!*&bĐ9°h$î­ţy¦|ÇÍ/’°ťž×&lw˛Š™­§ć™aÔbŠłö%®¶Ő-kóZ5öQĆ®°©Ž<śbý“ Ě]Éu›`^‹Vf§ĐćťM>4§0sć‹K0˙M¸N ŇV%łÓńn¤GŃ:RvÍPŚ.ŚŕULÜp ¬Ó?ó@rusŐtĺ@đ:«ç[âÜgwëpA|4 ŤţËȤXxÁž#Eďwëv‰87m‘@˝—kĐ\c§ fg>źy /PmiŻgů%ó×?ę -±d1Ó›)]©M«gNČöÝř\g";‹s&úHŁ YŚ€:wËů©Ăâś´!!}ýşřmý’Ď›ą -9ŇčöJ)·zvîyĽÔ@ŤÍ -šV„·Rö-ęIô_ćô1ĚĺS‚Ň"3„˝†¬pôPÝĂ)ň5ű&‹ŞÓ₎ľľˇziq:KŻÇO^ ‰sĄ7ʤ~cUaőßšĆg;ÖJ÷ĚEĆTU«{źĺë.·‹•yiÄŘ'Nü” *úĘf¨5s]Ѧg+b‹†R©ÖDwsÁ’ÝşbKěď”_ÚO1N˝•ĆU\eěPcćpUýüjˇUd('O †áÝ#ŤÍwÚŢçËn¤:ż+• =bśG]1+ýŽ˙;ä\‹ADVa;©é;ę? ĽSô˝ŇQT€•÷ÖZjčgĂýş,_ X—©Ü]ĹÍ.ĘşŁjnŽKmň¤bűhiu0C/ŚÓŠvĽŚ”‚Ąö7(Ií……-üĂ{ľđ—wĽd„đu%Ú )§Ŕgďôç57Z‰ĎŻW! ű«‰¶Řţ1+GČřq 7łÓěťęϵöšř ÚQě°•é`<ż öź„S+"ŕVk7ţŻÖʦŚDáŚ7Ń­÷łűŽ2QüÓŢ…= :Ńł•“’n=ݢŞSŕ­×ôÜ­›R˛övŻ_öHUçůňńŤŕL­|y9+DŁ Ŕ®m†‹Č¨|“yN0Ą}\^O }Hšĺ×đ9Ě’zŐśÝôKk˘š|¶ĽeŔ€…ň·ż¨ö^clóíMף‰žA _ ˘ŘĂţľŹ¤őŐ ¨Ř!†Ę>Á˘_‚6ŐńÔ$;,Ű^ÚZ§3—lĺ;GČ -2(ŘŮűŹiq(Ť-x‡Ą©ÔÖČČEůíĹ:2·lW±«v\\ü.؇,Żl^ t§zÔ(ÖSřL^µź¦]ů„ĎXČŔÓšÍ_kĚi†MF¶Ö&;mĹcÖá[ÖCä°Î\ůÂZŮxĽ'`+âşź†ă✤ع7Ů(®0*ż—ý—[g˝zAg­{âUŘű•ČčÖ5c&D3D•ľxÂĂl5]| çÚ“HŹ…0ĚŐdŚńĺŕň];@:Ô±€j©ÂÔ6á$r…qOăö0úťFŃ4Łľ„r|łŞýH^…ÓŤ?XŇ)ńëC[włÉa7üÜ—ď'¤bÁˇńkIĚ»ší܇Рéńwt*çH “šŮ›avÉÝĽaSaa _~eű50äľµň˱¦á(Jč«ŢŠ•Ü(;Ž›E7Âîö˝|c#ůÍZ#08;)˘#/Ě Ľb­Ňi˙jIsĺ“I9ň4 ű1\íŻÓR¨×DŐDĘLčXjýě.hâĨ7­… -+Ž›ř)ĚŃÍ)$×ďŹďQźő*@ßgvź§B/`%t!™«ýpD“Çеg˘®żw×­JÇ‚`-śÎ(ÚYGK’Ý5먄¤pŰŇ/4«,,ző˘gäzňK7w%€Ý>¶Ú&xäâ2ř°Dšr©Ŕ“3úoPzSKTRL“°üTzxgiÄĆ{»_ -gđöĽgX g6:Ĺ«µżR]=ÍuŮÚÖ6·$tBl\Ę,řµ§ĘŽV=%šŞţBŻŽ!łWË&Iš"ąqĚöć^—eŞ€ic†ďb·KX]9í:cĆvď±µ^Rď˙:éň™8Nž2aůdpW/¦ě·Ďh¦¬@p1ĹąwϱOYÉî@÷| ‹Ý$W•ˇ!zN,ŹŹĂ•Z“Á=µß¸=2j”oŮĂTźÉeOÜhşÚčŮ_!őśPĎ\}×L®±©Żí¸5eřiCr…”|šĹ4t*ľ‡ëâőřÔ†çĺ9tQ‘»Ďn¦źŔ 24Ŕ°#‰˝¤5;Ęď˛ń -WÚcrúCąĄĺř’M9ĹŔB•Ś×J%ľUѸôNžGŻ ć”ů»ÍŚĚ¬ŕkçúcJ«ě˙}…C!‡#L:ç_PŇŰ4ŚÉň„'ˇŚ -7;‰ígLŹćŕ46ä §+y|Ă™ yŰ*`/>×Kť=đцÁh"±¦éߡ 'ěÜ3%Áúősň±-‘ąZ“”ÔoT‹F_l„†ť!™ÓAyŚďő/Á“ŽĂqÎź0„%增ҺxŐĽ§Ő6RŠ.ěĆ)ŔvĂő ż[6DM¤ŕÍÚĂ[ć•ô,çÝ—ţo2KKń1ĄÚř`9ź¸Ň'bŞňz|i)N}MŤY‚ !:^˘@r|BęÖÖ ćbÂe%HněFvwývW3ľ -5Î넣ŕőF3uphy.k]ÚYn„~ŕ‡g٤NiÁhë5łú‹ą„]l…Ę·;fćŚ×Óy¨ŚéËíBŢ_*č á(ÄŘ)plÍhäzČnȦç$a:¦ˇ ˝ăü¬¤}Űx…m„8!]žźń™¦řC’ -ß«eD*}4·°€4äôl‚ůE0Y¶ĐФ Ó.®Ýš¦PG~đQą07½€Űđ:ŇK›ńÉ9'“Ąeżťě[Lsî<ľč·áWf"épŤŹŚź°v›u „˙®®AăŽqĚ}ʰĄEQWIşľFäpôÚv!S.ťT¦CN$°×:«DÇ÷łŽŽďÓÇg-G/ŔÜW§ĆžSYü ËŁíŹşbęDŚJ6YÔ@Č­ňŻBĹÔÝć±ÖËŽć—ŰşÎ4ÜëÇ62eJ ]3\˝©qđ!ĐIrŻŔ9žqŁç×Ď÷]bćx09S^ţý\Í…T…ÂĆmcA ŹV×+2Żsg p/Sś Š}2Äsź®RŚ˙Aß–[ˇoHŘSŕÔĽąµűg$=ąj·‹9ĺĎç?AKtő¨ T˙–´ŚVG˛ŘšÓ6Ř21Řz‘…ŘĽő‘8_ NO3b®‹9H‘Ľšiö ”j‹Â,lź©ŐÓ:$ĺďÄ - J,żE6vŻ´_ŔĐtyĘAP™8Ý^Ž7Ç˴ұ;h:Í7š[ ßćm*ÇçĹ~ Ě7ąg“·^.ů(âú‹_ôß•±×"`1KÎZqH*Ť*dröm'©[ĚÉś¦Ť®č±ęŘß5)”čŔúž>-aˇŹfŞëË#Öb"=O†‹†7kú«ˇ1ń‘NŠ«˘y¦¸€;úť~ ę–Ę2"ŕqeç×sĘ…{úOŽÔŘĹ`ÉĹÔ8ĺźťŞŞÄ`;z†őÇů© ÓG*(”©Ľčł'i|vÜŘGkń‚Şç­‡„žO}  LrlA¸j((­Aôó. -ŢJç‚XŮÇůsĘFĄL\ŃßąŁś"Ł.Km˝#‘— -0:´%ŔZ"2RXiőěĚč¤é{ăŮn´‹ŞÇö2+\hŐÜOcY°_•ăn$!>Ä?4»š`Šżˇć@˘©^&9±˝ ‚»ŠŹ<*żM*µ-ö‘ç`ąÜŽĆ§ŇĐ)Ă.®©włÇN•Ëöv¨śŁ>ú c(Ü…‡ő”R–îčkĂM/D8ţűŞ ¨•VTjĽA4.ëĄÝĆ›0<ľţV¶@M®Ei' -‡h^+˛B7„˛Ă_„ü ¬]L\D°îíęúţĺ[Ě·ů…­eúqĆc÷kśńʤďtńwep×8WţĄĘ Řc@ß\";Śú)Ă9©Ô”fEŃ5‘–ŮfT‚’0ç·ř‹łŤö€ŁT˙ܰŤŻâ¤V˝JŮĹ˙hg˝I{lec#ö…ŢĄÜś b¸µQę+n]cp`„Qͱ˝ľy=ąÎjGp‘oŤŽň}E @ ([őżçňS†Ťăâ¶z/GM)ç?2`Z„šµňĎ?ÚÎ<śá×ţŇ9V‰ /ĘňDčZ˘‰"_ß/ T‡Q'ĎŮfąÖZĺ.ɸ„TgčT;´gĎ›µJÚý¸ërMh‡}ĺjź˘žŚc†\D«˙›Iá!ş¶q‚ţ5Pd,;%¶X”‚ą<ŤŐ“Š”˙Dę.Í6Ř’wÎő4˛™ńé%wG%u©íá‡6qy·S×Eʨó -ţÂÍűi«ńáÁwĽ˛ü˛~lB-d 1]%Łö@}\ľgľ ­©qu5tM‹řd>ń}UPi}Ó‹;×őÖ_pʵ{Ö௲Ń\´ŽÉp+X& 8Đ0+ě¬c˝+˘§ń‰Ż{6ŔŁ—ŃUEyBJŠÍ3 €žaMłuIďëŕ€Cťg'ŰDD -Ȧ ’ŁtÇňyśľ˝sKËôÇąŢĘazö˛Ě63|ßřZˇéFdlŠ‘čąř54M‘ŕMŠÄ:xCŤŕÔô=pßŔo_‹¤±8x˘šÄ,Ó#LŞű‘ču‰Ůď)éćȵ™ ¦_V¨˛s Sź1+;p7ŮjŰ:+ÉZqE{,” ,›Ďkâę©Ě*É&ÂiěFôdż»źťĽäľĎ´n:˘v™°wD<Ëŕ˘ř˝R.Ċƶ>n·´ë'ąľóť^+EL&ř3ůZ20¤=vµ™*}|ďƲWĚŚvHMćę1Š)Šĺý%čŐ•…±·&4X—íU¬?šJç6…c Ä#čq 8^›ÜŚ—˙¦'lŮďݧBń\\,ł›6•ťŞőÍĆ%´g¦ô=:˝÷‘G,ëE»nöĽ ÜNŻĂ!#AÜBgbn‘'O҆*NßÄW"B¶R}Žed#sÂX]şł%©>$ZÄÔ<<ÉNŕL'žlrńű•ż4¨ÍlaĂ·ëąŰ­J˙`UíMŕ%—0{–Ŕ¦±˝ř}˙m,CÝSrŕ`ŇňR #ŤŔÂPëÚé4ezçxMóť¸űŇ °őhĆ—çlÓŢĆŰëw$ŞŽ3îb±CÇrÂŃMţwˇM™k ‘B,p€°Ë@D‰JÝÉ›Ŕ[j–] 4—3·Ĺ{­ô’ib–ܱvFNŽ%uÎţ×,ĹżqśĚ'uČ×®$0`lBqwßqôBt­ÁE~ínr\–&ńäö©ć—µł)’…heC­¶wĎjČ;ţÚcĂąy·źŤ#¶(®ßáX„seTdÉ‹o6§đ[K®°˛\Ö4qń7Ŕ˘đ|řW–f%8ťąő¤ą>çő7âÇÓÍ9¦Ďž~€—–‹•·Ţšö@Ľč‡sCÓa•n…Xth {5ÔÜî ŠĄ/ęÓtJ)JŁi üśăT}^…›Ç˘ŽżÜ áŁôľ_·4ĺ‰ĂyÍĐ× DGŇć1báH ĚÄąS‰!3ž©7—xIm´J§ő G¤ Wiˇ‚R ‰ý¶ E±ł#ąĎBAýŻ(ËA¨Ł[8żí¦G2#dŮŁ¬źžDĐéá=‡‘xě ްOnÁ’`“NŘöÍş 6Ťę§*{°')’·üŹDdĚ d”Wžň¸\ďĚGaÁÓ·dřJ‘źnÇóĢ'~ „ Í‚č%K´[•YGžŰť°ô·^ęrŚ\ÝÇŮń]¨Źđ°Ź–rorç-ËĚX»e[t-®4ńőˇ_2IÓôú†8,‰]ťÇ‡ű_BŰňҶ6yF,+Šť-[;SúKŔ-uµß˙;B`f/.–-ßľ= `v¸´o´“ĎČ;ö-—śnJ?1\ńiußE©ŔÄ N6čUx.ľ3™ŹŻLnş©RǦ;ůđÜUËmĐi±Ąa’!ďŻËv~Ú;ÔÔĚÜ ÉŻq.Ö2Žşżk~óÜÜ+-bŘöë¤Y č¤j9ČN Pőcö Nţqﯧ µ…1ŰćF-“‹$LĘ‹‰;, -\w.uŕdžçl÷ VhŤ‰˙u ěÉ - NÜ A’!1{»6…ńÁr ®4ń%žvç¦SP‚4éŁüqXR߇L:–=ÜëÉ#ţöR,Ňî'u"9@wÇFŇßrS qCŢ5\{®źĺ^B°’¦ňĆW˙ą|?S˘fH Xnßú]mą°<|f×äÁĎ]tM|4śšĄK°ö–>ďăÉIJď -ýŐ?aT°ŹęŢ^N>‹Ŕ#9:MćőŇđHů—1Bi÷ĘÇ‘}® 1{ŽeâĹíH–4Ě›OKd=ˇ_ć@şFvT”·4,ąöz*ř:l˙˝U™Z|ÁžčîăďţöpWÜDé«~bî»,.C khBű$f&{÷ń4:h®~ŹĘčW2<}.“ą+\Ńš-Ƣł$9ő«[ˇ“ -Č›·jÁ©úú­§E9EÉdVś*MôaW5#î€fW¶Ähú4ž9Jůp€;ßošĚjXŢ'üżŃP&±0yyëÁ2ÍŃw /­le°ŮŢî±_LxŮClŇ-`G)éŽđ.dÓĺ0Ä4žn[uˇ*6ć`cM•Má›ÎlĽöŘFyŃłi ^5­6°ľżD7–Ő!4Łěwg]eß…Ťkމş“Kž´ŚÜC. ‚í]Ę\TđĆ%Xşß:%ů.n»Ůâ%TśäęËÍčÜ'ĄÔ„¨óË‹cŽí×»ČSÜ#ô8÷1Eő Ŕ;Ë XęErćbă·şlFŃf’ăš%!°%úŞŻnšýIjď ĆdTŢî&Agô5P•‚Lîbi®­ąuG€hčĎáŰÄر@B[Ż´L„iąUé+ČÖ €ŘgrŰÄ8śC‘ÎĘH[cBţőĺ@ÄO›@ĽŤÍHüUpĹ\Xfş‹díŹ8\©TP­çswU¦¨•ř1ŁČ^R'#riťRćŃt†ůIęQ@±˛ßĽ…ÓéčtéTŰ ýá‚Řë±u?ú0B)X˛S‘«^c°ŁŹ</>܆}C÷šŃ[›€ńZŮ!ô!´±- î{°Ôe»,Iú®X˙‚Bç%–6ý-¦Ŕy›i -ş|ýŇ(;ď.ßĂçlÂ:E *e-ĺˇ=>†F¬¦Rß6mĘk‘ËŻ‘îš/űyaFRAqŰŇÉŔ}Ő4qA˘Ż–“jŻÚUĄ~ÓbÂ{&ĘůßËQ –mĄqQJW°—ŻżMB©m ´‡8ŔžŃ/ń4jĘ­™ô#ş”­v|RÇ><q, ýń( 9¶a%9+DeÔŞBb·^⥰r÷iżďÓń„ nŕ§g:Óß.˝®ü~2ZĹC‘qçÎ:ÄQ?Ęš•Ŕ‚­p{\ďÜ»nVE °ŤEŐ5Í6犩R›u{9gvűĎYTX3JžÜ«m4¸•˝#ů%¶dŃ!ŘVTÖLż YN«€în‰L ÝŃą 8lóÍçń(Ş…†gÔ6ĚÜłM…fřcfí_ĆDʤZ°—Nî‡:nW®áđç27ş•"~~wµNťäZŚbJL¨M+Äô‡×ŐľšŃĄ®~,Ő ÓĆńzŇë·GťćŹ…–éňi2íäU%są!ŘIř8¤:—i¨(ÇÓk®"vk­$q×Pv˘e”P=F÷aŐg:ި„9`‰ˇ,eŇs,s5šţ¨ŞŠ#&z>Ü9;oIô ć71c&Ţ~î˙ąŁ4yŘÉhcɨ$Ér°*G]é¨fäÍÔu%ÎěxĹe*jśbžőú_’6 ó4`ČŘšÖńRЉ™Á.ĆR.;TńĄˇřH'Sß(n&ŻW>Ĺťč•Bú^óętř;':ކ+Oy^x m}QÉ»±ŘR0ŕ™ŠňmÎSOáť”ěőµD„ÔŰ,Yî‚ŃۉéRŽżĺ2ěů´kť(VWÜ€}S‚Î29R'űµvň®írxPc+ŃzíëQ`Đ_kÄXL?żř"xކe4  )ŔW†N±µ3éËé®ُ)šÂ˙…ŽŃ¬ É 2B÷·řHđŮ?vî?GšÜnÖ7éŔPąńi„PÄX_f*űG°X)úŢ7Ą§ĹmŚ++Ůpć|ő©ăp«Q]ďn ČŚ_™®k}ňr5`ôg "îb‚ňť3W[qÁ}eŹ,eLŃďtĽćٲE.0&z)/*ügÇeejśĘŔ±Fř$Ďą|Ę3Ő‘§jľýdQ-č‹ÉîKMÁóNőnMîsČ{°zŢŇ1ĐĄ]7çŢâá˝R¨Ąß|ˇNŠ3ěBoÝRóout–wv}™l˝HŁßĎBź˝9#™Ç,9°y,`ş_Ľq¤ćCÂ`îÔ1QWářÍÝËă7v®[8)śląŞ|É)Ź?dŮŤÖ[äÓ\*_ńgr!2ĽŃSŔI“–A -^"•lu/#vŘ—ŽD˛((EiÜ&Ý·Ď’äY<Çt+j›ľ¸ę]“íşî’¦%±ž%đ/Ź+ÜŹtÉ@JjˇĚÚj[ďa>~ŔpŻ{‚$†Żt=dtwź“1ţLDçđ6D‘@kq"Ż©¨(F̯쀸±;»Ě^ţµ¤öŕ_É+S"°Y'đ„_2ˉ çę7aˇGÍʤň2ŢîŁ7Ąe©·ô~ÓűtďŮ2kÂJ˙dćOą˛řYË˝…ĄČ - ň‚¬ţ'±*),—˛ëŐ ‰ZčÇĎ3wL˝°/Îkä!uÜdKÁ6!zŇőÁł‹áFĹŐ&)Eü˝Zť CµŃ"m±ž˛\˘†ň€·Şż‹„Edy#Ţ7Ţ™µSÉFĹ´öş¦ÜXómFż´ŁÖ<ÂRôÇÇÁ[ź"uŐZ]’ł\«'¬±±ÎÂdk«Ü–Ýć'M"äŞfÓś˘ŻŐ…Ô=˙žĎrq,°ZýŔ𲳉ĺ -ŻŇq;_Óëřě×`#“Ź‚G-ňTqÍ3Ý1"=Ś=«˛/őÚ HL™$&Ä!Drí}ŃřĆ{R`´©ň*’AqůlŽ•Ä*őФ$ôBZę'Ę`ŻÔ!ŠĘ<,c ëß(J­)Ŕ€’"ÖŚú¤é>A2p»DđŇţ¶-¸ŤMq f—ŽŘúŔ(‹ý±T¸ <`o -‘şEĎÜËĎu'ŰĽő„Ű#Óđ"Ý MČ_Ëč/Ćý$)m2.şí cveîxK~Eo2ŔăĹî$~ٶâ(=´{R¸ĘĚna_— ݍużÖŻŠÉJíó™cŰLCűÁü“—ąUî#ô逤T?ýĄ:Ąő¬ň ŕĘ_:űŘwő‡‹ňp Ăi7„źą*¬-ŮV.é÷Úxş4^°tdł­¬ú ĐC{T‹Ěɨ¸vKÉ3!/Ű7=ąÝMdfď1AüŤ•ź;ëG·5[ďT–gÇ›ć¬e:3*‘i;„ľ?ě_ >źgQG‹FŔŤhÇŠA>}·Q­`VŠ úçÓşE"9>ÝçH ę0Ť{˝ŞŮ%€Ă«ßDçĺ ó!i¨ő+Ń]á`¶{]p•Í~LČ——”đt‚H>Č`'$JîĹxî‡ăzÔ\ĹyŃÔ^ÍĄ_ŔD;wuhź;•Ó9 Ű‘ŚŃ:éŞĂęžËß߉<6M…‹epsKúěŠa-RjŔˇ@őca­©i!S¤:I+™"Ьńh.FŰ´A2Ś…í 'Ʋn×9˙Šôčš‘ß>L'.Ŕ÷‰Ž¬ł |©"´®0őV› y&TćoNa§Př«Ú&2 -f[0ULLŽ”gĎ‹¦eź„˙ÚĄÖŹŰçH÷>mO 'Ž›3`ŇjTŘ’°ę}lőĄÉÍ%ł×?ž)‘Á( ‰ŘE.Î2 ÍďKaŘ~}<¤Ş"ŐŰőĽ»(ÇAăGńáý=CpC ą7Ä`?˛§­mŁ#Íu)*°hϵ ôV÷ŕ<Ł"¨gaČbŘm»®9;čTiXrµ¸¬ĐiŢ•'ä -ňM‰s öÜuűÄWů.@đ%Ń\o<ćR°2·ăGž/ĎMY7"f*řň‚‰„Oáh ):Pžß¶IŚM‹F>Čżrş2APÍz{ĽËÜăĚçÓĐR{*iŔz¦Hq‹{˘Ľ§Đ¦_V\UťŤ­Üyľ›Öt,‹í¶mtkţHWŔ-V\Ě‹\ąĐs—˛lt·é‚¬ŠČq›’ ± UÄ"q<+ʬ3VI])vŐ"Űs›U}bś^mď#ô;čő ÁXňRéboŞáš·¦Ď˛‡÷(ä¬â>0Ép»>*ĐΦÄ[†%Ó hÎMŢöe­ĹŤB‚8ŕ.öĽTpzC›hdK )`·yµ5Îŕab˘±eËôM—ŇYgĎ´%íÝ«7Ľ‰÷¦Ź¦-0Węţ«żË]8ú~–—^ĄoÎ Ëj$ŕ·źłt4ŤĂŘ@ÖËr‚\PŹĺ§=ÁÓemlÂIŮÝ…×ŃO…ŤgóYS‹ľ1ÂB žt3H΢éReňĎ<«Ţ:Ąqî§EŤfďNB2é˘e™xž}Ąjö;ázŐÜM2*¶v¦ĺmSôĄ`Z 8bĄ -ĆŚliŰ+Ţ+-–ŇiÎďěîübµŻ,ŠgěŻţŚ“źG+kĘŞ -ípHpŁ%ó©§3ǡ2+ÇQľŰ]Ô«‹Ü$âBĎ#ËÜř, -ŘÚ¨Ŕ€‡Ő_!Ŕ/ľˇXŮx¦˘‚ţR±‰-Y&Ň ëlڦaNwP¤‚u äôծߓŞK ç¸ĘŤÉu:ŰÂŰ9ĺáâužň®íŘ5y—Â6EΖ‡axŐĮ޵,Yń§É1.v°ňV ¨˝8bđxT‡˘!|ă=ç˙Ž™ü˙Ą(Ťř §A]¬Ţ¨‡N^tő¤5]¤ B6ťx®—H -ĺšÝpĎŠ”¤uG›ýjř”ĆŞřĘţň°ĚQf&TIţC&jÝĽCuu0»tÚ$čů›ŻŞ×Yi •s&6}ˇżUaĹW;/ś“ZŔôŘŹ]fõĐuܧĚmn„ß ĹiPĽŹ Ϣ©řjF·˘aOϤŰŢYżçwľEÍ˝T@jĽjÉšLd°J¸RŢúůU†‘öčŐ‰«­ÉyŰü?ĄŢ"ŹÂűD2M§Anś6uđ?†§ŮšçᦊĂz«^ŽŤťďRŤâ•"ňÝ!čĂçň“ď)Âé;ČĺĘ̉ŘNöSBímŢu#ÜdocýNŞSŕFĎT[ÚVŰe$ú’ř”,ĂéL+†©‚5ěEA5yŕC;p¨¨XÔĄ®@ě0â_€q/špXEOÇ®`$şr7ĆMAďVżO6E4ţ3ŠJčYâÖÁľKT$î3ő5”il,vÎo`„DK<ă%†Ç•ÁTásmTXĎ_Â~śîÇôŔŮ{í#ŢRµ®˝ TGbKĎÂ5ٶQON¦I`áBa7^.1a -46ÓG˝¦LHYń~üfóűčBÓ;ţŤ×ˇ^­pa•Ąß&ŹsG`´›ď€CÓÖĄ{˝‹ #ÖÚvX ôńřđ—qN’ŐT¸óa"Ň(u[“˝ŻˇWËý»ËŮłS^ť”HëA@Ö–A@é&o=n| D$f/^ˇ¶Öúqe‹‰µ”9gÍŮFČQ±\l!…‡Ô{Ő(Rá[łÇ° Ůś‚c°±|;$bvŕR|™ÍbšČ} c3ŤG^HĹŢ’%šť=yŹ_űŻKŇh…#ň'í’ł–ź¤Ý‚hĄ4ż9ĂETÓĚ^%Á,ŃpHńsůľ=‡‡aN“«ěŢW^:«oŢߨÓÇež†ôŢ|J°.oĽ—:§"ŹY›˛Ă™5 -łŐ»ę{Č»t(÷H›ZP¤Ś65Ë[Ú&Ś©,í ďŔ’I„ńŃ/ŕ‚ż—JŞ^đ•HÇD«}«I źCÎ`¶ăëÇł˝Úk´ć˘ńš *ąęµ˘2c5¶đS"*ńŃVAS?É7?˘sä‡'˘@{“Ręw»_ß„űÁĺﺊĂ+’Quc<òďV” 1eµNîĆ›&) ÷íőO×ç/Ďs»“éůɢÖ že‹űS}ĐV‘tĎ·‚•"÷ąÚŨĄ‰ŇäzŚ' At­XśÝ'ѰFísŹş5ö“·¨{â¬fo˛íd4n>ÓF[Ž ŽxÄJôĘ-"ä "ĺŘžęÓH127ý˛t†ď˘V%X7D-9Cč*ű.N\v€kĹRúIôĺŁjĐŹ¤đÚPĄĂ?3µŻp M—÷Ľ8D“äA%K.ńömZ~3Tâń]ş|ypuvÉ?#űk§Ą -cTÔGnŻ6_`•>Γ!.´ŻbÚŞ˝ě6ĘF±Ó„…PgdÓ„tŘlEňťiţR±ëIˇżíÉ[ŕÇ˙F|´ĂTß@u[ďĚŞ=^[UD2l Ű•‡Ŕ[ T’D\±ĺěŹiĚJ-Co>٨~¨Ţô†ť´_{“Ţ–' }š“î)µşă"‘ąţ,Ď6v'ćŢ…µú9¦%Í\^€¤N¸ŃTAÉĹďŐŘy9ŻQÂ…9¤Ë|‹GîŕŇýůƵýţcNyż$}\Üźäő Ă2‘7‡Łufó^ůDíŹPÉ:jѱSX•*Đ•qŞ;M5]Í/ja˘*L`Ż˝OÇÜQ›ěpí™öîE—iŁ@ˇŹX¦!ü9=sę”b“7Фˇ´Ĺ!„ftň-é’dŠDŮ{X%Üź4A ÝűćjĘŞF‚`ăRAlƉJ¶~hžë9“é>öůu ‹l+PÓ¤Qť”,ÉLL8(L/80u҇¨”1\eÜW*ÎC€!˘sR:ćSfcěV—r‰ÁlŚLš__+ĆlďűDÔe¬’ëc‰Śd?űp~l$Ŕw)9!c`Y#ĚPÄΧćč)Ž‘yüöŻc„ -Í äyPĆŽVšŕUżZmൡ9°‘†9tzä¸,ř)ĂOúÔeľž‚¨ăń0‰ÁcŐŹěÇ‘#Ć“ꉂȰրÝÔذHUĺ@ąbç…Š˛”ŹíôünQÎ9ô+6A‘*8řSĆwN>A2‡óL<:ź‚ݧÓŚ«ŹîUp9Rëż$‚¸ŻeŔíĚĐé;Ng/Ěťa¸ÉŚU 2Č,ďĽ6÷üŁ}™ŇJ€T– \ďi5ŠBoŮü7ŰNĆĹĺ|tĎD&Eţy˝ěĂF©|Ćk×8MrLu§QaąUŹ%6)5¤GŚ…1á.Ő…ŇDŘPŤ1îĆa>UĘ/ć$ˇĐÝkS.«qÖpŚó˝ŻÇ\ř@»¶‹s`G±ÉAbb Ö`ô‘·{€çÍ%GŔÄťFëů+'[Ź ŽAĎ“ Ý!(ˇ7ăń»óQ]ö­…ˇsÂ7"Ĺ˝<ę¸Â”ád+đrâU |őʶây»Ýź’/5ˇ"ĽfGŤî"-_řçáS&:öłŻ Ô¨„[÷C;QžýiÍ1­ę]Ttń7~Ž4ćďd%kj?Š#(«rf:\ `G˙™źéŻ fßbÇ H®<ö›ř/Oâ”S°$$#R -K×EÎ|Ź˙JmtžąëŻ!G°l$@m K’UQâš‚¨g&Şřĺ4`Ăd¸©Ő–Dč;‚Ć€“â˙÷+yŁCöv›§~˘Ć¶Ó–Dµ› Ţ•ÂŃf(±ćM¬0YU܇Ĺ)OŞ™BĆź"/BN:+*ľbÇ -7ŽŚPüA÷[0}·AČť©¨ üî†"úuęëţ™“îWxŔcÓͰżţy#»ÄĚŔĆť€ľ+ţŢr‘»bĚ&hS"˝˛$†IŻ şÜHA¬XńŽđ[¬®<&G7ë~Y†9Ü‹kĘěó:€ĚC9xRNčŕÁłúLÂůÂůÁľŇŽ^RýĹ*ĽHPůBkĆ=bö^bč.ȶ·\]Rź×bvzxË:?8ĂP¨¸,ęˇŃ©¬t:·‹ăW4ŃÎäbóđ2îćŐć‹¶ŚW®rłVÜî˛Nt‰ĚŰźŹg҆r›\omHŞjPĺR΀8śĘ˝lŢŐµevD·Î™€ěE8ŮpH®Š8Ő]&Ú®w‚Ó™đŐ’ŇAŔkĎSĐ îŢ]i$?`Ť—äŮ©k€žć¶ Ń µţŚ%qg‰SÁÚł7đ§I:~Áői]iF]IžŹ™- ďQŮ=† ×\±đH+ßż#@H§•ĺ˙„şâÎăśáŢ3ä^qřÇ´K÷¨aMpDĹ«Ä ¨6F!č‡`vČYwB&–Ôŕđnę3Źę/+›WGářçCL2`Ž4bŃvĂ‰ß 6Ńť`ě{ďĹ·Ăů¬   C„ľ?d+zäTNŽÎ©yĚ-Ť‘{Á’Âf€Rf‹ł w15ĐĂ>BłQĎ`v|’ŕ’šY=‰ŐAM±ý¬îDěgŘ·čľěÁ«UîGýÔA~Şďóá.űÝ‘zĚÜÁ/4Ě%ˇ`A˛ŚÖÄd3Č3ŇZ -łĺ ĺpÍ"źE‘ EĄÝşÂék‘0ĄÂV=é߉ĹĹxH˙Qyµ(yj őÔŞe;<ÔŰĐP©!žîš»ŠĐ6m‰ţîEĺܸ”BŇr0™yĺ€ůątÜOĽ¦‡"=8_§»ÇExpCń$'ůHÁ5ěf*™˘É~>9jW""ĽL3žľ*Ćvş‰ŹW)oŇMĄ0&˝cË’bĘ´×) ;Ť®Ź ·p]cŮî|L®Ń#cBOśw°XŔš8ĆĐlT:źŔ‚8tňWóR!{Âpů܉¦/€@_b)?ôZ -nOv«s·as; QÓ­Űôęâđ>3äŞÝlpbĂ.szG‰fÜť÷/5?I˛ţ_§~uě’( -"&”«îeöż\m9)‘:e i̲ŹEéŤ‚Ż”Ň ó‘Rx»¸OuôÝ.•ŽÄ7~îÎşm$¸Äú§ďÂE&y·÷l 5G­ÖĺűUĽ|AbFĆétöűĚ@&‡Nq•l›&©óÄ 4w±ŚŇ5M4·»!FXú/÷©®ßŽóˇüÁŽĹ›1'Łßł-ŢiřÎĄĺţb -P{jĄ D$=¸}´řÁi´Ą(ú١ć3dŁBɲ\őąědG/ŔIçbvKě)Ąëćfüw< ÷7R˘C+–k» Lż±µ»m7<~Ăžăö` _ÚĐȇ>ş{Ą4ĆśđÂ!lHÓv±aâŇjpČŘ#ßÄG„bĹźÇ?÷]P&ĆJť{Ŕe*+!§F+`ű;CH]áĐşőŤ[l"AU•ÁńqY­dB·á’0 -ŔŇľeí Q)n‹fwL3Či)vR»6÷Ź /1űŁŤ3JtéÓTAj!?ú¤…šŔ̬˘L6r(˛˝¦€\ÎÁŔó. žľu& ű%.0}jIĽ h(î›ĹXŘB~ •żźţ éíŚŃ˛t dÉ‹Č,Ť¦hŰŘĽňíîŔÝÁ·ČšBÉg˘ŰÁt§ÜµÔľÁ—<2a‚»d0I»DŻćć¤ó)ŐŰě5¸Â9!ˇĺKĄH€§^$ÚDîiDţ’4™ŽY†giŤ›‰‡KëGąËëpŇwЇÜ‰{˝Şř–çŃöâ?BVĐńfË]cĎ™Gź -ń™ýz1¦„Ňóu2^7ź uGp'!etz/Í”˘t>޶.=Ń×Z ŞAĺŽx·Ž\čĘÔQT¨ć]Ť©}(kÚC¨Pá!VŞFnĚ*SĐ~şI«’wC ˛PKj2fn^ÝŘbZš™; ĂX]•ĺúXT`°ČFBÔË…‡˛‡ő˙ţ,ÓÇ˙˛aŁ!Ýś(řüwAk+™˛Zy+˝p–ĄÜĹK‰ěĄyËÇĂ - đuĽ‰¦˙řÖ8÷4św–aÄÎçJű¨ÎW(óUŚĆjĄŇPŮ ßńaXŘTlݰ1H¶‚0–2‡m€´.ČU-™;4JLÝłçźł öuŃ‘mBľ?%݉/8ÝöĆJăSKW´:3q4‰×Š\ÜĂÎĽvÎŔܤ~(€€‡™ ý!ĄlaK‰ţ5$˛nfâuTĚ)uHXÂrˇO7”)$^’@w š05޵±\ťíR-rŔŻIżt™˘VćR ňđH‘30浄•«ĚĎ‹eĚČ«<(ńínÇ ŽU®F4DóB'‘˛ärŃÍf·ĺęCާgKÖ°eâ€3pKŤł<4ÖĄÇ!Ä‹m©Ó±kuU•ÓĂÂŢ‚üő.;P=žVÓH…XÄwÖcŠ2» Śnh‹qĆů­V2ű:°ŃÇ5™Ë .•«RDo1vĐ7áŇ q®Së6-ň”Ż_ë˘Í$Le( gÁŔ;ŮSeţúŞć¬$<„ů‚&§A[î `ś?˙™{üKş -Äâůë*»¬ŕeŚX9ýY*űt>ßĘ})—ś(W^óóˬ’‡~‰;9Ő1㔾˛ń‰\Ł(†9>ßµŹxe4<Ę9ŐŇŁ¨yď 5<‡.¨‹AhGÁÚfP ®ö»łšQŰaćĘú_r݆ł&éTp ˘ŕH.VˇţĆ^NšUXşĹč8*< \ -łE7Ż[~MVHyYcuźţ'FR‹ îţy0brEj“V‚ÂYOĘ\ůŢw˝óŃDňR‡,ü-Ď]ÚjÉ=lC»“žđ€…#Ŏިocaü˝Ši™”‹‹…t»¦«wSĆŃ´îÍgŘ&jÉ -śŁŽS…ďÔ JŃZ­E “rCk5ŘHôeĐŻŘxăĆ÷ ¸¦”¨ŕ+¨u ‰ń=9}ď˛^c^˘W'BţQmSź`ć·7ČĹ 倢3uXCŢŹź]¬ ąR<Ľ ±GŰs8ĚłżJtąľsşß‘Őëuv »(ő[±űŢ{‹ÚŚě˝†ÉU¦ňŇş))Gíĺ%ťŰ»âşFÁŤiRwYcŕɱ€ňĘJ4%Žw(•Q¤çŃ×H…BgĽx©3+ÁO4½âb ·ŘfgóPĆB%OĎ{)?+ÇDw,s»ÍWl9ĺsrćîS¶]’ŠIĺ(ŘőüiOÜ~ç¶čz•QZ«Ú=O űrđPŚWRLđ°üM0op•Ć\§pľ§+ŕ·–„(óä7ҧo:ÄŤ·Z«á´ëţei±Ş+ĐźWqW¬aČÍH‹ -Í‹X´—Îwja Ôů ?'Ó”ŽéĹŠRĹt+>ngEmĎ\‰‡Şß_a<‰_áŁhA?°y™“WĘ‹čN†[…Ú˝0ĘčCźcřŕ5R˙ŕMžtKY)2•­ž {Ą†¤=WíÓ¶ć„TEZŕ*µŚŘŃo»ÖË=Ć}â’łh)ű†ć‹Ť·çŞÇS(ńµ1ĎX圦˛Ú}=kTp8/Ôą°¶„cĺié{pĐ˷ݦ€VM+—<0cˇ]Wţ7y®ÔőącĺgĄDSě@6ř2·UŇ]Ůš®íµQŕ$…,6OěSńě?4†/Ĺś ôÓ»YĽ°űËÉL5[PůX¦ _¶4’X“3íÝłµ:2 ŮŚCyWe^5R%ÓŤT[É•íÝĚŐźb ŃgçbJ‡Ń¬íešĺŢą›h@†*/Ě -2`±Ě‹óÎE’7;ÜÇéîkE Yő6+e lsMčd),dz¤Ć<‘x»q«cÎs˘öDĂÖ.”ĂsžI%«śoצ.„-Ěľäĺj=q˛—)XV‰Ś-0>7Č‘š'űÓśÚüÜ?DéJ‘čMl ĘĆ^PdŽ;FcN±Ş‚KŤËUr&¤.łă.Č´»ÉŘ6#°NŕGü?RrY÷‡—(”%đ„¸µíSÉú$č6hójN%¨N3Ű`G^ńÓë(ç*U -+ŔĎ](çJV˘–Őn[7€`Í\Y{čą.çŢ!\z%îDYXéI^ž,sšnü»ĺV>áŞTť÷áÍaßĹĄn+ĹäKŁ^gŮ‘ć6.Í~Ń -ŁV‚Ű·pR[äĘÓ¦JŢÇÝÚçd‡ĚĐ"ĄM -Q_˝qŽ|ďŃŘfÁĐM)lµřĺ‘Ű<° Ż "ćq™ŇČÁ•JU±vĐq>™~Úż2™…`yb¶őÔN¶‹Éćř/4 ^HHíłŤ"&‚«Ň­z7wŢÖOŚîy<‹:¤FÍń¤HQC},ÂKý^ěáǷ€~Č9µFHë\RÂňxŚŇ §—<đ ôg¬0Ď`ç ˝;ʏI”RöőŘĚÁ2c6¦R÷f ´s7 ŢíÓá’§yźűFäO OăěÚćzH´N&·`^H6+ňSxë·e”:,C<:3YĎ]Ót]¸±îŤ’q;?(0XłµNĺl‰a†ČxÄÖĺxnŰÂ$z9úĘO¨şę•_p-cĂ@čËqWˇ.ž11ZşÜ6@§g#·Ěn]K˛„ů]¶1űŇěŰ*»B·—Ëűřýq®mš75DĘđÉ%uÚ«QľÄíĚLËdSd]Őfj]ˇT'&v{ű„Łt•¦Yvá˝_ÁŽŘ˙'Jżţ%Sn§7Ń/»Juő5¦ÇJĚőfžťépc¸I—·«z˙Üâ>I#ë[%…WŚÇh{Ä–zýĺ')ęĚ»eĆADiăđ“çŠsŘť H‰ý”Ý}Ě$H}«ä•Íţô×ĐĐ€ !hŹ2pł'`śV±8ŕé<á/5’’/‰ÝŢa#j­˘“ĆJ˛/ż&Ľ¨™-Â7gP’Ęc•aźd¸’ŢŚŇ«ŕneŘ©,A)\»Ŕ{Č4ęÚÇ5§®[Ć«°ÓĂ’Üť;ż™-I­®_u2•Iˇç€}žjěcŔÄ`ö’É'Žuß1óĹé~úD|oĆ–<łŇ ţ±Řł‰ŮĽ¸Tăč=Jô+ěěľ=pí%áw(ý¦ęüżŰôeZ”Nźáź-7S Őçâ…·…ć›|…<1A*Ţôé”oČSů˘…'[JÍÖLíHÔŤ†ĚŚxs‡ô/@6Ů*XkŁ€&Â_ç6‡ˇRDl­é˙®«ËôDT"Ćáq¸•Óc¨=@1ĘۉÁqKŮh O0T—8c˛ŞWC tÁ(ďĹlş ö )ťe˘Ó­jńÄâîŕő3ťçŚ6Ş>yę_“®?}[Çeďo ąŇB®Ŕ¬µaő†Üęňs@Ś»U¤_ÖĽţŰy&¦ÁÝŇ0>Ő=| QnŃ˙šŠÂdĚŹ -č„ÍćÔ.v¦AŻřůO¸»ÂFŤ7đŞxŚbJgM—Q}ŔEź`$¸Ö5g%bµíkďo9±ćďꨎXÂ/–sŽ&–"z¨?&é Ń`˝R&_‘0ôłB6Ę„śδp.ë•ɸ%üjĚ…áž—€ bź'|«Xjţ<}ôoc'č1y"uČfÖĐÖ˛%×Á˝6Ň»Öb˝„ß1 »SŁŠé;„°äÝ5šóűCö2°Ňr˘Ş¶AúH°>ľxXüU…ěá¨3Ŕó´ţc¸0(ӱ̫x±čę>Ő@ś-ß:đA޶ÔĹľBőˇŮĆ{^?Ŕ†«ý #xŁŕ±ä· 8HOl zŕXÁˇĚݤ¨ÜXáĺN»IÎďîôš›k˝]:!n‚ÄÄ$Ç®_€.‘—ľ‚k%Düˇ “r-.Ši&O%ů&죜űÚŇđôŽ/ ®çŔ„‡{ÜďĽc%á7Ů2ĽČĺĐÇďGs Ç|q‘MĐN¨ÉXQČßéÔ@ý¬_Č«µČśJ™—rŽ~Eë—ĘůĺźĂ„v‡Ah ŘH=jň3üý}¬Y6ĹŰÖ);"wŘ -jw6!˙‘–TáVľp#űb›YvŘ•e.V‚úP r˘Ď4Îm|(k8‚šsĚPq±%Â}k™äť`›–Š P?©ĺ E SzŔfţOyç^­^µ4˘~Ţşílz$ÚÔ.ňűŃޱó)˙Só˝Ü Ułé­ÔĎë¬×!¶ĽR.ŞţâŘż·m€Ŕř•héÄÉbJQC7~4â5G6bqÉxeÜ"ókźžĽ4•(ăé?Nň®"žy‡Ă^Ë+›X„4(NQelE óÜŃ5A4oŰ>sw2R˛FMžó`ö<žÄF€ńŚé`Ů¦Ł™tTĐéWLĽ=Î_!Ť— Q3HńÝŹB˘€˘Ůô…J0Ú,$SÍ/÷ě"ÁëdX‚WăBůI6?t¦y6>{dY*5•›IćzcŔI‹Č8ŽW´ŞÇ˘Ü;zTÝT “ĂîR ÄW []ő -ĘŔşţ… Ą «bÄŁ1Ňl¦ţ€­„jŹ?ˇo3/ŕĘ R­Ż«¶üNč\… éă•›‚Ź<żÎČgGuóżv)–…eÇމ„‡“W̲ŠJżZ[z†·fn׺«)vDrfĹ›Ţ)?čóS_:ců˘…ígłHÓc™ęÖ-¸± ,ńnB6°JÜn˙&tśŽXpZz×^†‰é䄜4ôšÄawňë:X ô–)ł=”(řď<µč~Äť©üâćĽ!ž7ć}®I -;Čq‡(đĎ:NPĎ04…BóÂ^ňj Z f‚gŇ´«’ć3–wŤĂ`Ű ’MŚŹçCëú~/!ěć•…¨y">Ľ |ýyM;ťŁČő;]{=<áŻj-?ů~ŕNţűŤJ´źÎ(®ÍRÎ=L[Ô]'ńSě ŕ7DA„CĚŢat˝|ŻçdćÁ-6\;Bśöřed‘Ü­Ů6nAţ˙™±D [‘Łe)ěź‚ÓĚY?ĽlYl?6™;=TĽń–ć‡Ô-dYľ›ĽŢŃĺŞ78n”ä P~·aöVF%›Ůwăp!{llŘ˙ZF˙~·!/­Ć‘¸ʦ“±iäĘfsĄ·çÍ&¦ĺ.;ń\HĽÂŞ˝¨h3Ŕ°\îAăXHjŢr“žlÖlŠ Cň|ÎÔj“xqś‰cŤńvçß'`đ˝Á3ţ%—V49ęŐhšSOŮá‹(* GžfE)íx8MĂ=ʍsµ§Cş "i]yJ"žňŐóÔEúRŽ9P%ä묤( Ą’Â=*UFV ÝJôiPĂSgk+ňşÉîY  ®LŹ^á?čT|ŠYëŚö‰›đř$Ĺůb"č rÔ”­ˇďŕ…Q®§Đ~mŚ¸ÓŹ:h)Ó†„8<«{˙çRŇćI޶k ÉD÷Ĺ ’gď…ęűB?Őp0{˛‡ÜŰây™;,ňvHCm vţS ®óJđ7ŠĚ†Ź üb‰Š3”˙˝î,·˝“ČŠ¸@2±€@F´ë¦©X¬JĐs~›şö!;ŕŇC€có30·¬ëŔÉ›ĎÁŕő_h\É’+qŽ}s˝ńt/f]xZTáXî}Ć’ĘđĆPGĐ˙e« -5WV1°zś˙Ź&RG_·)­lI3®VGŚ_VŔK®ă3n“7»űŞ**ÎČ6ó¶Qé´ĚůKŻúsÇç¶®‹ďŐý’Qő‡F5qŰąź´•©ŇřĆüaÔ1í­žÎşöp\]K¤yśiŽĎ A{ÁÔ.Kf‡Đ Ń26t´ź´ĚéĚ\ů/„q‚ă8HQeąźČž$đ˝Ç‡·‘°Pr(¬€ďl–(Ăź{‚˛ś§áí“˙ z¨Rhm}żË“—¸2…ŤK¸ ŚŘďhá€"µoôę]Dß'ůAE^6?9ľ+ ¶o+­ĽT”›«ˇ2Ć^ěľ§ůčµAI/ BjÔWĄLG ęü…<𣌦`Ddh3lŘ9SfěđMř@¤Ý Ęćó2ďŹ~3ŁK9¤ź(%‡´Ć,Ľ=龎7"/Ś:Vü0a" ŁF>z¨¸ż´iĽ+} ů]ôĽÝVÄ”ÎE’1ŰúšŮĎy˘¨¨‚µśż@áŞhM.T+ż;ÄŮ«űcآJMHF -•7+NőźVÂĘčM"űŁ—ýhĎ’ň)/č14âD ŢŽ‘@öú›Ąü(4,@ZŰ$\ŰľxD0đk^l šô}t›9Ń.Ë%drĚJg«Ř›ë<˛Mp^ÓëŁmuĆűnxˇ$P˝MĎŽ…z‹Ë(,Ŕ«ăv*^+Ę~ĘmÄSü0ýSĹi'+ľŮ}†„KÎ@V&9M<4L/ď>`ëüC$Éa÷ŻU‘Ź-˛â™J*8ü1ĽërYEß]—Ş“¬1uŮ­0ľŮb´«©\ÜYžběeýĆ %sî]+w#»w¸g3‹–çŃZPilp6ě†ęĚ?©/lI‡·Ý´‚ĂAň!â!ѵóhĆ×®ÄńµAďů”Küw|žĂěr+ČŔ¶Č †§ľíč -Ұń“=čŃĎ1®ţ´M<Ís®EŽ+%;@mDŻ{jt0  î‡E6”řü#d,‘OĹÂ@Ó#á}ašý{ôڵ)0SÚVhš„7Ľ÷XZ-7c=Ő‘şđľ¨ńW4~+I‚„Fç¨ÄůS)SËđFF¶Á™Ňř”öŚ[ńSfVQafî\lč˙ŠwiĎç®nŇ^Ţ늠Hś9fÖé˙SKţcŘ?p€Hh9+ČČş7*wcÔYÝ ŹßAg=ľ’˘śčq›,˛Éčçęń,ł˘Lˇ>“=ňżŠÖ˘Đô%©_ ˛D’˙Y[ÔgAÂlŕë®8°A&Óʢ±C…oLŃ*¨+Ô{Ő; ÇŃÖigJńK‚_•—źy{ ™"éQÔyĺ ´MóőýëŘ›ô˘ŮćąÝ[6p¸T7ݢňüuŁoI<78ś{_·ägŻ=Š-`[GO{6 şŇRľÇ^kOčb×Ü”4t:ą i“n‘âęȵö/źV„Yíç§áJ\ĚśpBbrŢ ÚÔ€FWĹgŁM»Ç úÁ•ŁFř.ÍTSĺ^78r&}ŇórV×@÷Á 7frÓ’%҇ŇäS­Ct -ď˙ńšeĄä™šY¬Ą„‡ÚľrŁnĐî ×Ę …|»z0A6Óʆź :űÖšÝÄfç6ăOIË$Ĺ0ˇŕ JuŠŕ@šŃEşÓ,\LÉ„gp‘yˇĎŃLWj?IůÖdŞH9¨µ–vD¨fm.×é•eĘô§‡ĘéęL˙M|É›|ÚwďńxŢ]3RiIBđ)ľUjŐy\ĹĽ‰ľaî¦ů!Ăž¨Ú*†â !–Z”*w ®ţ­%°ďĺi?ŰŢ8¶\˛ŞăÜš­Kęuś(Ń$¤tuäL©;č wž'Ó¶F#Ö¨Ëţ&ŘđŁ3űurHÄ E§±‰Ěb^\Ł‘Gή7wkbTócŽeĎ/ -»§ŞÍ›Ëë‹Y±ÔÂőO—b™ěTrE@–­"éł`-0ă®Ĺ ź†f?¨—7­ölÔV¤ĄD‚fËd]ŮM[ůÇĂŹ»ŐP3Ńš”—} ę›ńmBÓÓ¶ÉáP© ţXz~ß×uĺBjç0' Ͳ|»Ř3|´bŰ\ÄžÜOŢĂóHţSy±ŇĹ$U¬äƉV[ędí×ČZáŚx#» {qvń#- ŚÄsqYZí“Í2č}/A—ĘÚj@Çh<©wš)ŞĆM»™Ő‘ÜbS2ŤËB ćń<ßj4Ś5›u Ćl†=4ĹŔ2„µ˘[1€EŽëćG­rÄiů0s›TĎú˝8źeXł)vÔ›“hÜéµŐÎPCs˙Úě%‘6ľĚ"——^ŹĎ ś€şÔN`ęZ»Ś":Kß+Iˇ#·§Ĺu8"z¨v,&ł`ĎTűę¬m«…:v7*Ő-«>í†evU >Č˙Ürý4ęôń0QĽ-DÇî)¸`[×Ŕ1[™ł ő$Ć(ťVhţßlřlŘ­R´šă„˛/»áäőŚ]â’ _M÷uq*@ĺÁm»ĺc´Gş®ˇ ~Ĺĺ»m_0ëĚÉÖG49şě,Vč›ÓÉědř üK«Ŕp"„8FJ‹ąhí5˙ăŕßEnťćĂ˙°űîYކ ‰”% =¤˘a0ËŻ4 Ý©!ŮMu„Ĺ5áî)ŔD#Özˇ†k[Ĺ˝íśçěéąAwéßTŇ#6®·š™¦Éú Ńę[-ę.Ě,ś‚«\ d›4ż ť߼ęÖ±„]Ľô¨‚ŮÍŃ˙ŚcďÚ˙qČ·ču˘FđłÄ.ELłš¶rĐFŐ®Ă?š E( >žšTÁ Ş»Z¶S‹ęµq]că÷ ]/]ÔhL‹1óű•ťÉ˘üźI‘ň‡–ę›Ë»¨_ž¸‚(Kůŕ{L“ŮŞmJIN˛+ÚHY×{üÎ*śXAĹMiDséěĺ÷ŃĽ˛â3ŞĘ„pMt¬ˇP®ł -ĄF{{_®ś«\ #d©ł´¨*)ŠŐië tőÔ˝%ăp(U5PLͬ‡Ü×1‡HL ‚×ýů Š6+á0Cł}÷ć.L#Ô\Ѥ›-«˛{iR:í/H¤‚q:DIç]”zKF# ‡:Ůk9=f‰ŞîçĹ*Îö†N»”ÍHÂ+&™c]©ü[ąŇľc$Uäx÷ŁŔħĹj27űěŇ]sčž9¦R<‰˙‹ď­ÜÁ Ł=^Üż&XćĐĚČ V䩣4\y&+;]6tŃÚg\ -e[Ľö’ôEŇg94óÖ‡ý€bfKé§ĚL<–ŤiţęlZĘ/¸›oŕ{!RÝÜ ¸Y/&CqžvgO.‹áíć'áwÄą”:’»2­›ĎČŢéĘ˙E 9Ź ‚ŻvqJ4ß5:mOXž Źń† « %řü·ű˝ŮŞIV˛IŻl])8lgˇĚ4.J14ťńHoŔˇWÔ©óŻęK@AkÁýő÷ÜáHΪ±řÁ9«P(†G$¦„\ÝŠg6eCžë§ł‡I >łF^•í·R¶ŽLWhCHúOÇ\TÄvĄÎĂkó5płećhŇRą0žaĹŠÚč‘,urŚw›Ä0ĆO€®ńĂ`M´‡Đ,n•<śö<úé^Žđ2h±A±›·n8ßWŔŇî‚Ó¬Ěĺ[Łí(őáXĐŻB¤xQůĽ*¨uâç»lo ;!@no§=;+Š€ě˛hTD˙ÔX= Vv\ű7-eťŤÇYŐlwiʉĽĂo®˝ü3D)ťčÝ÷çj+ő=¨?R{fřw~ÉÚ`Ŕý9 "Ź ¬p!ňŢnńe®EąµŹ»\@wÇg(1 -đdaCá12ꍤ[Pľ—Ę+ś<“ #Đ3ąJĺd"9äCĹňV ÇŚ÷x®ű˝ÓÄ ·ú{úâhÜů¨ó1ëťŘV`2µÂ! ±WµU‘$޵i¸ŕ啳m««ąńűji»şŹo…őJš|S RiŔýÓ^Ź ß|Ř`ëFŻÜT!ëötX3Ţq7ÖW˘çÍ őNá |.ŠUŁłĘ4„2gŃ<Çç‚W˛Ć™u[Ulju1.\hĎd"Ä„ĽąpĄşöyI$Wg@ăÜČĽŞÁmÉÄŚĐCłH9'P|·éşšEśHaáDťŁĚTWíÔł+¶ďĹ“tđz—HOŘýćç}Ż`şLoR4jjgśâÍI…ŕ5ď ůE‚¤b3Íz=ĽĐ}˛ö ł5‚¤,gG3Ěö&fgtüžFe9±†cő± šš¤}4šK5§ ; #|âÄüX¦™—MźłÉŢrÇ.ąh„f0NĆä(9{\ýFË˝VĄ‡}L#+j-lů×ÄK:â.ÖČ—‚Ů‘čÜfˇ`1O<. >Â`taڶHąË…‚tô %/×őşł¸«ÖfM)ô -'RSµľĆWKŹQĹp^%ŻŻ–t‚ˇ§ -ś\]1Ţw$¸Ľ#Fe0#TˇćčRŮGŽËj‘íD8hqÍ.Â/ÚZś –‘<*äĹú—ÁűY -ߎ.oŁú˝ĘfŰęš;”Z>đ˝@‚(‘˘%InXÝîPN)‘5ë[‘eâ·ůFž+JfšäGA€ĐßTIh+fö˛Ű”ťnřŤ&,ô{-ä…ÔÎ@¨âÂně -ł•G ü0Ue˙şópúOĺVż" š|/™‘‰{đŢŢ`h,0QRŕĹ6šäľ:Ä%»OĄŞHUxÁ˙¦\UG·“INűDnu¤—OTĂŢk‚śy x÷ýU´5'’ŞhgöŽÚµkôŃ”^ľnoŞkąQ!kú[ôÓhľáß-WßłŘäxő×é^ťdŻn˙Kó;ř8¸‘ -±|ö¸F'´Ž«ÍÖýąfU™7a­;×IŮI¦¨®=_Iĺ´™ť ń2Ö6ÖBşPgú%Q0´š‚#şe0Ą“â{­Î k¶dĘÔőŹ×°ómň5FÔrždĹî{ý‡˙·ÝB9Ó‡Ó{Âĺ®×64ĹT®G¨•řüć®ÔL(¸:é‡Ř `É™ŠíłÁÉĚ%{O4ĐD©Ç/´ÄŻúŢ(ę\«Şpčď -Üš;—/{“"IűŮLÝy7aŁ*ZęŚö:ŇhpőŮGrÎ(ĺE€mď -=n €$ŹAÔ„ëšSYlŕU›ă>Oëůs©†»,§./I6-–hZťĹŹb÷ĚŢ<čInË]u@„­Ł|jß%Řż2üoűę BźĽ¦ň‹#t«Ů ŠűSá±ęZ›’q,3]+ŤMĹçşůˇ ąđa„Đ>Ś›eíPŤ«˛Ýn«Ť]Ý O_›˙âC€K23ž^zćôT‹÷™5âß”ĂpÓ·U:uË•3®˛±ąŞŻľ´ wÍH–°…0{HŔşŮí’ď“kJ·ő祱Ad2Ť¸WŐÁ%F‡šÂŐzĆ×Ç×{äí*IÚĹZ‰–W¬W~ -ĹŁ}ˇňĘ-ĺٱ”7ˇ„®sŚą~·ý EJÜ‘ÍdéxĆcŢěK -=ŕ"·-Q Ďĺűš lKďęR2˘&z A"5{Ó-ă@JA̸ŮIHŞ°ăź¤ŢsO;o§ćţµŮôÔ¸ĚWšÂ`űRP8x¨W!ŕ…öKřĎíŚb@lxŢ@˝Â m¤)9şŔŮץ$Mšm\Ŕ1Ŕ‹wÜâ`i{›Ţ7â›Gî“˙ŹĐ› A4c®¶şTśx%Ěr şhć§¶Ţâšk)öŘőJ{ÉŃľíö'Eqµ>Ü×D–ÚA±'†ŕ¸Dłş&”ÍĐ ¸[.uZG¬mń¬yřh›BßČŃ_ ¶Ńĺ đŮc1ˇŔžŕ‡ŢĄtn•‚ĎDđiJ TńacIĹ2d‚E°_ŔSCŞúč°VëÄ9ř{WâÚÉ]UŚiIÁó:Ń]›ĽoâčńČŁĂo…Yláîő?!-ĚxĎQj÷dž`EJĎnK—NaąÜ ’ń8 ť™¬Z:}C?› I zz¬śsdé499Ô^řä.Mč iť>'şÇtXŔť±XL^Ý úp®7kŞ^ á(ЉmăĹ`ř«}͡c}í»¨c—qLEÁ\EŕA+×f+śG/ĆË4Ő…„čşWďß$­r̡SÜcâ]Ňż?ĄK‡±ž%c¨ĺ;AW“ßrCÂŢĽŁ •čŽwá9X»;ólî>Dtwć âđäaB!<Ľč3©q¦°X5îśČŹŽçe<+6iç°Ă­ěˇČŇ,8ęĽH +’_fËěc¨śŐÂŇxî<˶FąKµ™CD"•;QpďĂxűÁ%§ü -8hJôöqÁčlHQţkWܧˇÚ´ü -h0âu¸1˝ăűr@mŢRÁőŰÇ3Ň•E¨QxËŹZ•KĂ3ôň—l*,¤eŔŽŤG©Ün| ĂV[»»ú)ç%vN~łşce¦uÂAőy˛©&i5_Ťĺę·Ý;éff đ1´Q“{NRÚÚ´Xk›;ł–ÄŢŠ9CF©|[A&x¦Íňżž„< -_ŻŘ)V„¬v#E<±˝ÚBŢîx4u Ćý«*z}df!ÁCű'jäaŠ~/–Ż0RŢ>z’ëĚńt‹Đ EĚ· iQ´DÓ’ŢĂjĽkFÖ[q"7t¦ů\ä١µ44U·RßŮjäz(ńÄ -Óŕs¸ZúLügZëF8(q˘TW:žŔ¤¤»%ă6ćz(ĄUŢ>‚O;tŘĺnTÄÝ '_݇¦ÎɵĄ—N,›d ĄŐÓďmăÜŹ)›˙Iňóŕôg¦ţ rPňˇ»€ě¸X›{ZěhĎť‰^éë·r1äŠFqŞn~`îćb~DÜŞâáü«Pi*ěeóşÜőÓh]ˇßżűąë”;rupZg]ť–EBŤëĺâĘŤqáЧCq7đ.3î’¬a÷Îý -&„¤§N˘Â Nu?«&µ­ş ź T…w'ą’YGŮRpĚż“Ýe–Ř N;|—Őš 7„C]-–8 ĺ@h¤=%‡3-ňňÝŹ˘»Ś<3`ţ˝·9 ;ŤXęĚÉjLuÁÎ$ř«ăE~Ař2?–¸ŚV+¨»¦‘7qĺ}j†©{ÓSÍ“ÉkQQ"aîĽÚBÝ» eîđ`Ćj•)V%ĆÝđ”Â=rmĽň-ąčýą‹ř'€‘ë5ńŕ V8¸Źďň,…¨đ6Ö’“u{`ă¨1ŠŻŰŔ‰ÓĚQ†ňר, ›čfGÓ´r÷\¶řôVP 55šś{ĘĎ~ä)wîX2|mnŘ ěyײnGIDQpSAîcgŰ*ę…T=Ş+€'+HDSą˛óĄ ńU>@ˇ›ĚM?“‘źăLLÎ1Vś˘íܬ߱€tń´fµ>ÄXSçěS6Čy– ĺřŹ˙†ţýu+?´ÖÎ,×ŃĆ›ľ°o)p®.Źă “CbÖµó{Âxą; F?ěżÝiP c“/ë÷‡«Ť68¤6l°†Pş˛Í„`ÖK ·+H$!PóF;ńˇÜôpýłîó5>÷ăčëÔă‡ć‘Ü;ö¦lżiÝä÷,m˝Ś¶qϸfY'üřôđ·cQěłËam)ô@D‚^ůťŻî2˙ĺ?^ÁOw‹ţ)›Fjpô5OŽë˘ŔÚ-‚ V„yUĄ -Ç>˝łűŘPÍä g4Ć/ˇÇßM‡^ďŇďŃŢć -¸¬ŕ˝Á:…VGú‡Ť>ŮĚÓZ«’Ň77ÓŐBXxřJÂZ˛3AíÂ(ŻżĆ–ď&J@—ď˛÷^z¨EÝeQ ŇľĆ9čM =Ě6ˇšLŠ^eo˘Üżú5 Š®t~#Ň’20žŃZjo|ÉĚ^tčS”ăĹLŔwŇ_ďk9‚ńZfUŇCvvŕ–ö%éňćUi“ Ćň®đ-iě Ë!qędâÚűÜA.Ů«:=ÎA<چ™ŔCĘVžOÇż®pBár]ßd’:]měët¤Śęy‡`ńŕ4Ʋ˙n‰¦Ąs„{ç‰wúF4qŃ&a˙˘dĆ#۱‰ PQ łíčáÎÍ$Ńă‚gŔ5\r@‘•TjM|ŰfĂrďgţŤbÎßx6;uĹ㇖ Č8¨ő§5$äŇ_ }Źbj·fč=ˇ3>Tfú˛!sy/C?ń4đĹw9Ö’Đ óŻLz?»¦[®ÁŰ`[śÂsăP0Ę =NÄNŚń`źk›@Xä™|VÝf…âŞÉnč\®ź^ŔcO“íŮęÓĎę­87áĹś˙„üµ#°¸á”OřĘ1’Ş’†qßiŤ%óÚ` t„ô>Ę[žHގ֞ϻć=^o„®Ni4´Ň{±>®Ůޤ&Ăh îľ$÷´ů˙Ôţo Ľą”‚¤´?ŮűŰ÷NóAăďźy±¶Äéy§ Vú=ôT1€*OpŻWěźe}ö˘Â¦čLWuϧˇŹßď¨_â’ŮĄôŕ|„5lĂ/Îč­áÁ±±ČÚ ”Ę”ěPłü')ĚU®gěŹĺQ¸đŇŃ×őżO@’6™#.Ň8ąí—0iţPó,@pě<ż«ŚŤé+˛”’°·đ˙Ý“@Ὤ|ŠbŃâ ¤Ŕ4…+ÇHŠI¦’ÖeÚĎ#€ľA -—ďűPϬq[Q˙ć ŐAŃżčŽÇ =ŤÚG48ä@RŰkĚ/h†MČá&Iűę늂EŢkA5Śô,{Žĺ}«$ -¦|J%Ikĺ‹ë6ŚD9-Âiéd·¤řSé¶2S -¸¸#ść<Ćď’wţ™kY·‰2ŞßUŚĂÁÂŚ BÍĂPřSš^ź -ęqvQ–+rđ“% JIv۬Đɨv˘5ЉĎ$éîMS‰€si­¸„˙°—÷ć@ŽŽeQŠĘ¸!®m°îálÔŘŁö4W\bŮń¦{µ±ń"ř1 —üĎ?¬v3Ů{Ľ Wĺo¶ŕpئˇúë&¸kBSťŮö˝ dŢRběŹ -uç_‹–ŘŰ0MúŢŐ5†ŢéôOŔ|3:UŇąö%Ô0«ÄĺVłkůVŘcŞŇśŹ´¸1=نşĆŤIE— Ç}GĎó^ ť„«ĘbÓxĘű44rÎcěŘŁa.Ž,áeŢ\żŔ[M=_#ODxrÝę×k~D2ľ]Źf[~MşcGSÔĚ,Ů®çHnnfąA·ŽrŇŇBR©…,'×É^¶ R@ç4Â#oťEÖë.¦VÖď…űHěč×çŽ>¦˘˛·)+‡ËeO¦oŽ–Ń–˛fqĘu3­Ćď].ńŢjćýDڏďČ0办Gľó€ůw”peP­ďüĚÁ˘¨P=ٵńä~”§ě×0M˛ąŇÄ`”k ow …ď ł$Ô5<KgďíďVË€$/EnşË) ZŐů# üKŹK ¶ç’G -błŹ”±dEŕç(˛Ć—¨ţDŨě Űş#:ˇţ—aŰ…WĆ ‰ÄWĘcgZ§­]BWŢq{’rÜ,ßĺ †'|k2é^•ÉQ˙RĂż×ŢmđK< \—b¬¬öš >î¶ÍŃafpiĽěGáÔĆÎ@md”PÝŃ˙žd~yĆ ĄáÁn¸öüýąđ3$>Ŕř$#ÎčvÚ§ ëÔ~šÄŁ˙˘ÖĽ>sSj†Š"÷Ě"¬j d5ĽńÖi&™jR•ÉXrťôšmαś•´Ě! ŽMćŃ:Çfľe¸3‡Ě\3D±‚$$ŢîĽÂ}«čęóŹ#ŻäŹpʱv·\o¸M§E\¦)ŁÂ uŕôWţÚD”aůŔLč1­­ “»Ěb»‡pu…ň/"zÉzgđüĆ ¦ĹAA¬e~şĹ}óľůťź‚ňďˇŕÓ&ď˙őDµŰJő>şt2¶T×+aâYÄ0™ˇZá˛xę¸c‹˝Ť5MoLľ8„Ihn„ -ÚÎxU±?™‹^!ĺüęő#"~ÝIÓÄ®â;0h„°#Ę,üOx»é9Řo5Çńg„îö1ˇ]."›Â2âU -xeŽ'XňşpłŹ€˘Ü„l#ý4(…™Ő™{Tűí«-âsÍ*{ş°č·qé3 -ňAÇÓ>Uĺ´ÄÖ ;äzR´X·UwńN5+OJöŐĽü”kĎÎýyL+/ ”/m%ŇŞ!µ/ë±2)Ěo»Zćźň“RE¸c‰EyTZőzÓd1Ą’|fŁVŤ\ýJ Ós‚z.axń;㲱=X~\uşĆ¤/n­:†R€© ¶0Ň5–V9†ĺĆÚńcŘ?ŤĂÎÄcçůúb*–šh˝Ě# ü“eBŁĐ9÷áˇ˙8+Om7“™L׆>®ů(É®dc|ý˛Çĺ.ĐĂŔĘ`x ,-_űnÉ˝SŰ&Ěüá5op<Ším^f#*qŃ;k =lý9Ć䧬»p—¨ TkŹ-†§Č@~ÉlSe°Ú·)BŔüU±Ż[¨'§„Ż‘ÁDüf÷Ŕ:—]ŤÇíÔęr|ľĘBŰüÔ\c :T«Sžâ:źÇ-y)o7đ€9Âé*Ë%*˛˘7ßyůˇ¤E¤‰ řť×iCFÝšädČąá5ŢŤ›¤ą—N'‚Qäč>%±ÇđŃŠ÷¬7Ť۶FÇlĄYHŐút^ŻÔµ§ńűZŽś>şěšń®Ř)ţ‡EL üF eŹ”­ÍĆi®ň «ş°sĘÇĄ”l|*NbÄŠ©™N`ą¸fp_Ôq-lĂ˙OůĐжłyŹzüĽ…MűĐ“ĽţsŘBW?]ăŘé#ŠŞD¦¨>ĚX,3u‹8ŘÁEcąňă?ňP_@yS¤Ľte“}<ť†«K™ă,×őô:PCşp‚ׂĆěP“ş}_ĂČ“ĹĘáYMváEßC™7~’–x]?1Jż·śý5×ĆzÉ:—ud¸¨aíxőm“LÝ(h7˛ąwLčÜôişfłY÷rŰhŞŇv… ×Í}µw?ÓÔUÂR"BÁŚţf<ď˙Tq{¸ŕß RÄ”÷!cű® ^×ű]ěl'Ž|oĘö1I×óNP/źÁ7Ťś7F˝í…ç ·2k­*ż‘sÂý”řLŹ˘5ŞŔśůj.ęî¸KĽ)§ ĐŐčÉÍYÎë?¬uśş}UúX\ĽŚfär·řeDË‚ÇI´Kż4•É—ęĂ…îSgŹ]T€$™ŃçÖ"{aó Ş…Ł˛Ŕŕ^Q±t @]Ăćâ}µ-`Gśą˙&o_â şd *¤‰ľ¦%‘/ żrz˝CŕSČŢ÷Ź"úąŔôjyĄ‚ž»}1ŤíFşÝ”›Pd3eßyNp·ć’z+ą­·ć©Ú =ŐşóQ¸#Ó(ŰŇ%l©]ŕŢé:şĘźÎ0Y/iĹ-sä›R,‚…ÓçŃŽXŇ·¶\Fl͉ -َ„-8IGhˇďBŘÎśĽKtR`5zˇĄÔgřz‰ŢŃ@´ ~h.2e(Ńőý&g¤"›ˇď†’Ň)Z«NO—˝{.Ć)OSi–k C0±ŚĺÓp]…Zyk„˙mµ˝îFK‡Ö˙cµ¨r±i)v™ŠWfĽ*‡¨OV(GőľJhű˘A Ś oúk -çwµ śŚHn°ĹřÎtLj×uW˙ď ¦gg>Ť{7Ő¶FÂMú+ńĢčíMĽĄ˝—ÜwŚoá|›¸ž"Ëp» Ł6ŽćhvIAŐe 1sůC›!%#.Ćg hŠüt9ëa~ě·NKśHÖjV36˙?ŃiŹůá$–6‹OڀޒqeŐ wż‰‚/®7¦ÝÎüŰ»×94XžeŻ^}ŚŹYM6®–č"ýŽ’±u$Äű‘AnŻŽÂqĎ$´~%b=•6ćžH§_ĹŐ‘đ\L8şÖ`9lóçü\­Ýµá 1~âíí÷ĆŇQËŠó8 -UŇĄs›|˘Úmť‚/–ÚńčWî.{Ë˝‚ńßŕçĚŤş~Ęą3r8jóř…BÔG’ę,KňĚŔő¶ĄÓKR‡cWe9a‘’š–Ď*cÜËľĽ BŘ:ŇëĆĆÉžW…đôýJKń`K)YKyۧAj)Vş|ɉ>aYU¶Đˇ7 -/iű•řałô"ŽJ˘ŻĽÖľ\°×45ł…ÝL$Ď_iĂăt]ě@‰^řŞŢ’ËĺëCy›Ď–ŕé[Řwźną¸gމĐiHZqľ€le=Ś@ލ§ý?G1zŁęu]5CMţçă:m÷vcJcĺ8¬„¤†H˙^ ;®sÖSůKJ?´h]źW+*˛ž‰S}uŻ­)\‘ő/Q  RĽ%žEäülýw5ń”¦ ›~suquű3xŞć[TÄo4qű@úKţÉ@ßgâzF+”ß,„0|ç‘ ›˝čÍÚĂÜ7^ şYĹFĂ^ý –íÁF÷¤ĚfiG ł‡Ő¬Y4Bě2㧲Bá­ęşŘM#µ@”cŽVĺ"¤wô/çńŃcaßm8[íYý3WŁO¤ň¬3úµéö3č,xűü+ü>’†ZĎăĺŮÓVĄ“ŰÔ#˝±eŰ…đ;¨ä›;ó‰ó\é(ľ ąb·ü¤Ón:y. Nô˛:’::UĘÜ5ç»÷*äŇ’­fęrëJ¶iě:;ł9rť`¶Rž"6pŠ6ă /ó ĐźdÎ袍ČĐ#X!IŃÚ•RĎ2'=ü)¦ş©ŻPůíÓ?™ůߍ‹MA–E*a«H µ,詆 ß:čý v!…ÜŚ#v‘Cż^ľßcďÄ"šuÇ˙ÍŁ/hÁ jđ*EČKFŻ'ŕ¤ÇudĐ6Ébd×Ý'´“ç«Y›ď›ě&śŔgń—řا(:ÚŰí-5^=xŹżO:ľěͶÂ,8UA“gE§žÔTą{ÚĐX’Qů#čëĆSů<tB 0ýŇYăMĂĚ÷Ýńç彟s¤Ă&&:VˇZá®yAm6rÝŻnťýv|fún–uµőĂků׾ŘČýřo®ż"Ŕ5ňNŚŃS'&3®t•(ĐX\©ę!Á.*94ćźÖp*żČ,].ČŔXM”:_ŹQó"DKf=€ĘŰGecoĘ+bبËŕŔýÄFşwzđoÍ8cq‰<Ŕ•=€î‡Š_{§ą_-ŐNy°›ďhh#J}oć>]9ËÉ»ĄűÂŮŘT@«ćXĂ.?.PÔĆMéçú'ýs35{RÜţŇę‘٨šc*ô±‹˝h88<óş“Ý.ţç™kŞmő`üëЩܑ.ď&¶Ć«#]8ŕ!ěD÷묯›QĺlÍIÎ ±BóűÔ&ńíq†-eŃęšŇB†łŰZŚUČéÂĄŃ ÖAşÓ‹rŤĂäXůąţÓ6?<ŹăiŮ®™ůz_¨¬…]ÚSő}ŮR=ë¦  ˛0%"mÂwďQOOöϰ˛xĄĹ· /’Đ K>Rô“›¶˘Ůş44ôŞüÇŔ›îuŐr˛Ů:ž˘ §żd7lâ®|ŐgEŮhi–Ŕ÷A®»§ZS0˝ú)(´¦Ô\cĺ™ 0jŢ$ôËk@»@ßâ٩ͭp¬Á&şŞŻ¸ĺ7ůy*;îжŮřűBöh×ČA ÖVľRłÇ ‰5–ŹäŞ !=ľ%}>Ăý ž˝N˝‡’ -€đËÓň:8pě7Ľ,6‹1܆ťÉő!G_N»>†)GĚó íŹÔą!ŃbCGjĚšňÍM5uű.ĂŚUg'ĐůIuWO:Ąć;Ň‚ĄĐŞf ﯋h=8#‹g5ă#§/‹3ŘdwQśç=¤ëżMüAuŤżw)ýűčí"± ¶šĐ3F»€Ů1;Čłš ×*¨ŔĚŢăGľ,ż'“ŻŘĂÎP“Ený±9éAćş1ĺ· sĹCüäY+lѶ›ť(á…đŤGĺ­]ő2ńdÎW O*)†‹×­#T ĂęĹ\ăĄ÷Á†~‰…fÉ*y­zë±GMďN±-n‡óľ®1¤â:¨Öđúb." G/şżn2±Íóśoöp -Ŕü'–V @c‹ µ-R[ ŢRQ©MNGi»´Űc¶ţ2?*ł4\ŁÜ„řj«l̦ů‡äV|ă˘Jîć2µ73śéVĐ:ĘÉp@Ň9kІ)äŮáiĄőFpµ(EÜä* «{łGgđ$%2/”C@ĺłuJçąL’}<Ąqi2ׯ °AŔŠ(DZ¬Ŕ’s;Mˇmŕ˘Ç^Rî<—ćÚ#×ńbô¤+µox•››Ů”‚Wć®PĆ 8l`šŁ„xä`’Qo´4+\k -tEbĹ.!Áb­mP‘1€ň‹ç¤ä±Ě«+ -˙˘±ň6 *Óç×Rl$7č&ő§Đ¨m˙ŠEk"9ćcT꿉7By·ÇGĽąŻÓM2Ă,…ć7/gť%¨/Y»pńˇÄŚQŃf›č^ĐÉgç»Owż×,M˙ą˛)Š0čŁ-ÖŢ´Ţoü=öÁa’±ešžÚMeůVšr$.˘ő?ëĽËŔ;, Ë–Ťg ëDľ†ďż;ă…Ęx›A<Ą'Ă\ü™Ŕtf,Aęo]ž "d3ů<°QÎ{D8|zőĆľÓuóIżW–›˛á?‚"D ąŹŃöi­Rëě4Tr$ĽuôéX(8Ěců(Ëe­\iń„Q[Z§G+ť6•ŠóŻß{Ę+vEÓRQ“5Z^ ´¶5äÁ h· ˛Í”<ŠtÜ­\eŞ8bďć MAQGŰR\ÎqÜ**?0Ąˇ_ĄV!Z¤/ąL6ăž_g€?Yšđ)ýTö˝{ĘĚA{ö.ߊâ_Őą7ݎą#|{Bććë6Ççµ—CÜďiź–ÓkPüięëÖ%ŚŞVđoCŘH߆9Ĺą€ň8l?¸éŢŐX8Uř‰Ů˘+TÓŚŚ^Łó5…“tŹźKŤ6?$Lť‘šJâµ7ođůwk‚ ż Iĺž©>=2µ¶÷^¶€‰I5×nG.‰¤śkm-ş°hFŕ•lţ¬ :31´´w’ďk浾“Ľ` L·j†űK°f 1ůâ<Ó“!Ďše„Ć‹ęT׏g"ëZií,^­–âÂëÇŐ˙^mšäŐůóöÁ0pQiŢĂ9 ,÷'…3öZË9HĹŞi€‚[+Ą)±úß6:ă^Üą su4G_í7GjbÍU?*M)©˝ŮPő˙ŢÉ0ôéšG'#T26[‚dÔ.Ť„Gů%-;ZĘ%kdcšćdűżŠiäŻp`Z%iÔ~q.˘§ŁCv~ýđl5Ű}-u•4…–µyYŔÝ4ľI?°Ů«”ts“K u^sýá°\Ô|T.ýs$É\Łtv¸îH¬®N4¦.ÔI÷6ÁF’NĹBű‹Ö&ăĆA]KŹĄÁmW—¶-ąím=’˲¨ř…BńŻĘWJ“ bÁÍ(`‰‚€„GX§gJÄIdŻéúťGÂsČooĆWë+Č/Đ \3ľťjÇbr h×ĹhßĚůßÇX ^Qˇ|@ú(x ëŢ"”îᕌm=ń—żáôń:Á”ňvĽěÔ3’Ő5ŃB`(Ĺ·…†őS4óâV*`ĐŚů3ߪr»rĽPöN‘˛ŠŐlŐ3µłćom«‹P®¶IŔVł¤Ě'ĺ ęsíáŘÜňΛ‡Č>…°š aX®‘đőĹńIVq˝=ᔲř?Ç$3?Ľ,š ܨ÷Ú**Ł÷Ćă.r÷<Ť)/“ú&çň.=ŢÜW4ÎĘ—č>§Ee!Ëň~çßŰĹU ř€ý퀵 ,B¶ŕâű=Ň1i>c.{˝Ä}ŰF|†Čé_ÄĚ@řąÝŇ QCÂĄ#đ -ĘŇV=MF$©Ú^DŔRűŚSaFŻŰ‡łA/ŮIőŘťSŚ{µO@Źč‚3‘"ŔŘčĚSÚaFjŘ~Ŕ@R®5ëÖ°:CK„ F%ÚŹ§»óÚAĽß°Źj¸Łłc¤† -€jÖ§fdo Š´ËŇxײ8ËT!/ąAóÂŰY0lÂŤiłť˛Ĺ&›ÔhažűFűü'7ţÉ(J”,ÚŢ+ą˙ő^gs–@ĽŢ·^ŮňF˙Ú…¶Öú%ą¶Ť|~ő]†!ˇýEcs®î^·ť $RUuUeň“‚z]„N8w›ÁĽ{ek‚˛†ńB5ÜÓ{ćŢ!Ź’ë(tŕ“śMPAŔ¤}Ţą,Ĺ grÁgn}SLvjë‚kŹ(5ł+˛|AޤLűo -Ě׫ 5×Ü'Yśô[ŞxľŞ'{2ŁŚ_ŽXâš1źÓŠ€c÷ľţSÉŹd˙ ă”5ó5ŚQ?{ű0\Ôň„÷ł¸}pŻDćTť¸®ş#e -člĘ˝<Ú,łtňkć® -J’ůlÖú° -?Á©pd(WR čŮŔ+kš´†˝FŠĐň—Ťl „á±d/ĐUl­K®íPŁD§s.›†Á•ęÜĹţ¬nÜřjŢLyĽ˙ĎõÝîę4Ę A© ,}˛!¦peaýÍű_Ä?R­FŠ#í«öă;ˇ®w8F7Y€ŕ‡9%ŚŹű·ÖŞäHo¨ś>…»‹S©gŤˇ®oătNČ‚ń ŕHŠźBţR&ŞŇ}ü’ţÁđđhŹŞ ĽßjQĄâ -ĽńŠPŤ{a+ QÝ7ęŰ”ą3ţąs«K¸36…çŔ"Óă•N‰„=ŇwvÔyKT6mWTąÓi7C`ź‹á±;ÖňÔN}ÍsFŹV+¶QNOĽ!ď~ Ďéx+5_Ű?ôÍ߆)fĺ*&Ď6XÖ6Ă7ż`Pˇľč,űT.łföɱîË]ŻÔk§˙{¨ßô€D¬U+⍄źŚo ˛”Môý^ˇWeťö}n‘Ĺ5ž.dÓ‰"Ąą0oŠz$îśM‘Ř0f[ĘKrvoÔGqö2Q?uVş´¨py}ëÇóŔ$§D{ß}řł‚tÇĘďŘ´Ou6ĹŐ äY·Uh °ďf°Ľu‘)ě3ćů\&éZ) Ő˙®Bń'˛ó¨ßOŐ”Ý`¦ű/A·ŹZ^Ş/óŇţŞÉ6ť>BL{’Ý…ďđO‹ ăJ±u؇~eJç7ůCWL§ 'Ůöą"‰iÂAI•x¨(üBÔÎ3ő¦S”‰ H1Wî­˘á’ęŕűČ]4­‰ľĺv–Ěě_ C‡ąó3[Śňő}b‘‡U§’ż wT`˝nÝŽ<ě -×ŘýXÖRŃ“fął' -ßôF…´7©pÓ Pćń[Iţç˝<˛÷(–Yŕ¬îuSI(ůD1¶ «M4©¦J<÷YŽ/CF/‰ -Ű„m‰¨Óô±`—şđG |;+0VĘp‚żÁŤŘŃVćr‚,ÓÎ{Đ|¶•ioÝčǶ€Ń6O#ş‹Ó W;Ő|3ŇíąČ|ˇ8G0wóÔÎ+¸»eşnŇęĐ˝fě‹j˘Ç&ć°*Ăî/t,°ňŇęľ.ÂÂnLňYG—¤ůB˘ŕëňDžęIŔodĎ ń*>Łű˛#¨xáĂ·ăLňΚšÜ[8¬"ůdoĽ‰;ŚűîťŮdĽ!™ˇţFË YÎĐúŹ6č¤sWGS+gR /ťktĐ“´ f†¬ňţQX8Łîî 6B{Ä6Úć!¬K’Ćie„ZĹ O„™!şŇś˝ĚeQRąŢÇ4Ýý3­ť”ůRňľŁŮzÎp”łsÖ¤č%´˛%Nîő@*'@C0K”SĎĹ*uĺŤ=źř•Q÷ÉË6áµÄ\qî”&(ţoď‚{ŹNĽâńáËâÄcÄN„Ž´vH>°¶™o᨟·Sîçr(ÁŽ$Úęą—öŚ57ffZ-deŕľyェ„Rš<]6˝ę^{ZšÉÁ !_rg ś~ŘâĎşĄ#Ž%qŢúGOx†A5¨81.—Gś»đ‡XźJäzwu m ŘÉQXF Ëž}Bµg7?b‹“ľéI°śÚfŹĆsĹś=“ -şÝlý¨ř°”ŽńűĘÁĂĎ„Ěu=1RĐŚË<--ZkrxN‡ĚćWůžcó*čTżG ”ËŤ&ÖĹF8±5¦ů?ż¨bĚ §âB˙ÔçÚYŐ'“TđóGź”A$pÍŢ(B9kcÄśÓ\ů‡§uK;č´ŢĎ{ę€uwŻE×tJ̚ό -^¬ ;7»'yĂĆ7Xv˛ĹüL}4ü˙)–WĽ*koŞ“Vž­uVú,aÜ#ń! ~Ą°„Ďń«íI˛ÖpĹb})ľDćÖĐ˝¦*ć .rĎďŽ6צůü7)S qHĂt1t‚¨˘„§Ž”´6ĂjÜ„÷ôÝ}˛+Ő4(‚ĺ{îqcĎ ‹éÁy%ŢfM¨Ě@*˝Qk’ĄŮIf'µčQUIüŇ™®ékÖT«L“Ţb§6 Żç`‡„ łŁ´ ɶ“É Íp¨lÎݵ™‘WčŁÓĂAĺ(6 ÍG"iwzŘÓLŤ~§j/űő€™ŞÂ$—°‘}1á3Qz3ş]2l>_yľô÷o?dçnćeˇ™ĐKŻßÚÚLÔ˙"Á[_ľ=XO‘?HŔ@ÚęVt ĚbȢň?čP8%TÇ+i°Ó5 ”®ĚQ \eö?÷ÜhŤ÷롆u&ťé2ű¤f“~ŠČłyPĺ·¶E±Őěy{( ńŮÝ­j?"äÇŐă}:/’Ú˝ď1Š5Çď ô Î1 ćËälĹ1 ,­˙˙¨„٧­,iG‚ ;Ż«çA€ł)'~„·4ěô:ń\s ůÜ‚…f7_»•–ŽŞ7"„»ü¬Ş Jذi~Ś€hbÍv)8Á-ŽW!Ćöµ8:”ě§A`‰†WyŰ)MŰ@O¶H,®ĚA3[[ßK1ÉŚŹt=Á`lJ8Ŕ úS*ťQC?‘V„aĆ·°Űת_źÁ7ěç©âZ{JTel€*ç7Á ö·ÚĄ?'ađőÉöQň.Ó%YM9îhűLíú•Ô<Ęą/×ÖfĚŽ"1P)8«Úç ÖxKđ "°ÖOäM=I¸čťÁ„¬'ĆrŁájŮDjßQtë‘ŐŻWĘîiŇéĹ'÷@ÁÜĐ]QŤ_ÚŐ0ş;Őc<|Nv g˙Ç*đäx'|íy˛Ôąqµš„5śśđ•Ŕ\A:pw9Díş•ş Ęt^Ą|6hE¸ !㔸~t qšË‚x0청KM.)Śxfđý1^>çSk;9JH†»¨đŠ+<řČ sŽ!/N™>7B'ŕB@ę‡Cú€i#1JäÂS4N+üąG‹­S.b-ę*ěÄ8˝ýá}ë—©Y2ˇĄ úíY2ctÝţ]DüdX!ŕ:eęűH×&űd‹Ä‹Q…%“{6䎚zýqK‰ đK?_F@kÎĎ2o´őrđp6="´gx ?ëźXÉ©•Á8Śú°ď÷Ć‚ŮéŔ±ńä×pčiĽ|žú08¸í2• XWŘnÉB÷đ=«cÔĄÉŘC®řŁŞôµ‚tč›çý Áě<Ą­_f® . sŰüRb8¤OHf*ń¨é Ý·ŽúqzQUßHg†•kˇ3íBQŽÉ«i‡Ăôon1$ĺ­ů\,Űv?_ČUÔĎdŃ’źŻÉă°Ŕt9MJc|·ŕŹeô®ž… ŮŽ­3™oâş@Źůqr7žĎM¶4CŮř`>÷‰ŞRđĚđ~U_CQ_˝jŠ›uąň -IXˇěe:î ţ´2ő‹ŹŢ“d¦eËÔ‘ďoŇ”ÜfîdYď żśw˘8ů’^Üâ[e>«^űăTZă -qK€Đ© ¶lA‚±ŚÝ‘ÎÁ%Ýú~ó!ÝĹhVřţ ľĆÉqŽ$)±žÇ[*č]ź°x R‘¶áĆĽúĺtY®y]Ŕ7f˙ş$Ć®MV9¸"˙KÓůwlcޤĚü\QÜkQ~Ú1{ש^&ö-l:G٬ĄTžË´Ő†)ĽĄÎ.ŽĂYĽoOćgÔ•üFrsÝ­…妳=^rô5Ň4śŰűq;÷[šě'9OęmX`»ŐŞ÷˛Ś‰ďoÝÜ ˝ëX9QgKô3ł82ňşĂ$NTńĂrK}*˙TŰyLíúÄZRĺä( ëQŔůNćÖ3ĂňŞÜ‘Źśă™––µ7ĘÔÓßőÂw.ÚmŐ˛A¸KJ°? ÉÖÎô`ĺÖ9/G^MŮÉLF${®dŐOµřť«öŠŤ6f({b93š$Ář=YlĎŽ‘Iţ ů¨ś˙`ľłÉf:Ľ°EDMä,°\!ôíhĹí|F#”MhI –âÓĘ8ŞęÚRdI–4ßy°20]Őj‹ -°"şD§} 4™šEoťĹ!¤ŮzĄah†łŞ¸ď˝m«.(ÔA<CbAö tłëÜú•>)C={… aNŤGšÉúq¦»¨.Ś/ú×ËŢö ·¶ÖjĆc Ć#i–ĹpňNówr¶+łCĄ3C,؆6íÓ5HCř2e¶g(3 ÖÁ˙ŐN÷ďvOĐĽ€ÂČ2 ędşŹŹol*uv»*ż$WjôĚNÂM$«źĎUrs˘fÄRűe‚ŢÉ1,kL©ďX«ѬoR'LKCmŚ3RЎgsłMęŹXK»9÷Ö\Qý†…(ú[©6L5ďiŠôeE•ęZĺľÂŐ$ą€aľŘ_đŚĚ„EŹŹQvg*5öh2€ŕ‚Ń\x5Ňćą®}µđ% -¶} T=KY^…4T^~8őÓ’uBý'’•ŠFŚÉ9űś^ˇ‘ĽşÇž*čźDĽwb™Í] g,đŽcQ$9Őw˙€="đy;Lń6ÓăŤEF"…Ě|ŇoúćĽ3ó1•8ežCĆë'¶Ésžc,tşŮ\âiK!Ű}lŃ›ĺa®Mň6ü¨jŰfµí$”VŞ,µ´Ż?Řľô‚ăHfx“ĺ¨{Ę˙5i¬-v żT,°xĄ˙@S¤n ¨oWq»—\H´Kä-ă>[×.ľňŁ ©0Ą,ÚĎă9ž6ëÎ8űŤX#’ëC±Ý˛¦¤ăPŘŔḉ>”LxP­ŠÖI˘Ž–ůţ ˝˝Ťi+?˘ŕh‡Ď<·Qű®âzT˝cfĚF<…s’.e˙Ą¦Q!7Éłe¸ 9DBÎŇŚ†F~f‰Đëć\‘«xŽI|˘¨ň%ěůAJc54źŐ˘ŻŘÂO8;Ä”‡ÔZH4Đ ^gzVĐ'ň™łĎ Ř剀Ľ·´‡ ÜIł7Ŕ/וň# %ňŔY4č6QLRÜľ1ĺńV‡­‡~şô»4–l á8ŻJ|ĹíČءzĘ·ĺâÄ$ďÁx˝ymĆ+@”]­Ç´4$eUFC(ŔŘű]­!ü».kóRé`ÔGŮüz‹¨ÂYďEB–ĐÇŘü1fo\°ĹÖDƉ«_#aĎ5Ă­ďąm¦TšŃ3^ôo:ý˘Fďę‰$'ŚNËĆŤkţ™6nw:†sÔ0‡µ~ł™‰Ż‹Ç-ŻĄ’¤»™«`çä ¸—śT‘ΚVľ‚µŔŔ€Xń)¸ŰoH¨MŞ®Ôď©óc?Ą’ôÚ+ĂIź×ó„“ą×ě–»?Ż0 ÚęŃóď†ůA9bá -Ź|ǡíUîĄ×Ő.Ú7»ŠšíY# qýSu—Đ[I”ä+˝Ť”ý§äö÷5é üń^U°(ĽU¶¸T [«[Űľ‰ ‚ÂúĽŐś#Ł–% ¬Ć–ńZ÷”XÄŞž«ş T –B+X~f™xÇ­@ţ -Á–.ĘŹ\m}ŮZŹd„Ň}@D\‰—ĽŤÉţ7’yˇ(9Í]–­QóŹĎkń±ş‰ŔZČň/ĆĎčöjŰč·ł}Ą YřAďűWภdÖŐ´ŚNîîňhĄ6)iXä¦Ű -<mývźáŚCV7ß^rŞkÂŕ·eĆ«¦ďw6Fv’;V7™D9ŚĄ(€˘ŚĎď`ř›E´+xNć@"ň%™ÔĐo'm$]óÝg̤–殮V(Ď^U˝bŢšË.j2›˛ĎpőÉÎ-˘YV´•¨…ŤÚ—Ą¦P*D–N·‚˘ŠˇěHîËĚ…Ŕžµ± Üř|1#ŕˇĺżFl~«ŕB ßCkNj*Ťíŕöřő˛dŚo˛“eŹ·SI!–>cKg,Čî€Te57\ɸžvç±âŢ©@×Ďľ é÷´uŹż"“%Š•LĹ ň.Š™,ŮCťxu~›9!s9)•áć¶ ĺ¦2¬Ű`ď°`x„\~gČ‘čLŤx9˝RXR`öqśO” ĺ{;P©(l©ZbĢ™S -öéG‘š.sýšó#©}ŰVý+5úYSZůŹű:,[ŽÝ@ÇÂr/=6XçŔMÄ˘Ź Hˇ„LŁV‚ąŢçé¤ZăYŐ+ďh jŻÜ9đßË­~Ŕ†JBcĺNí#?Ű…u^Ř;ťĽëšT„żp<&FęF[(Ă·f٨;ĺň‰Ş/IýÂË”E5ŃÁ]đ*9¸ŤL =ĄSHĄ„ö˝'1nI*}e ¨OYfěNfěÝť8»şĆ}[Ăz󾫤ŤŚĚ ±L`*  „A ĄúTvş—Ř­iôżđżś×ĂÍÎě„Đ]Jî:F; ¦WĄ¨¤ËÍlx+d%(Ϩ+)dŁž{ë‹ €ď‹!˝&“r]ôiÂzĄA×öM~­¤Öď#ZĹűä0|ĎĘ @’źďuíRzĎ,ĆĂ%o]¨©€pÔ3B!óÉ—ć,ăŔÝ“v)™Č!t33ˇ˙ŐĹ€íxLşíBäĚd‚ălš] {ŐýőB ˛µÝY7řyĚׄÖÜÍńőígĐJ2ĹJs°ýěŹá{RnD>Ę{ż ZÉ–KÚŠ>?Ţn‡Ő…$Ş‘–¶T!ĘČ đ(¦4„V:•µrż©¬DŢŘÍ;:ëŘS¶˘Ů ĹNŰęy´“·•ĐÜ b/·„őâ,SÝđtlíz9iLSć-ÉŹeŮ®LÔ™J_ý—y©ÓĐŠŕyD®$ Í”·Ô p‘Č˙2yď|0y@ôÚĂŚů3°CĆrů?üü]÷ěD1b~ ç@Xr—Ĺ“éŃň+4d^´+Yí_KMh˝U‚-b$ÁTĽ°˝Ăżyäő|s‡~•čs´T|7€ß»ů(Č|qęď–a†AÝN-NE…łGÍĘ%3ťýޞ·%ŹűAµč”©¸^ť4B~9ZŢÉĆĘŐŤJ_y˙ۇíă’ĄŁ¶YÜĐÄÇC˝ů[^FÍ®ZWgŚs©âđżĂ.«$”ě~ -Y{ -'~”3ÔŔ·ůňĂ d•‹ňt9čč~Ů]˝©ë¸ĽčĄMşŽÉĐÁÁÇz¬UôsĐşŹ×mÖeqŮŻ4ă˛řc"q nȢ-‡ôÖůŔé9Ž[>E#ć|…ŰŚ/Aă$ąkĆ6Wâ( 3QÖ`ô’˙Wët÷·§˝·ĚśíѨ‹»×FO•»ÉýÉŕ"ˇźާwčtFŐІhiŁÓżł´>dŚqb™ďAÍů$µ8Y\Ś‘K °őĂ©ęČŽÔ©3x>>OŻq6&sÎ$]öP$’!EwĆhäź}HŻłmćĆ…95F}Ö®ĽJݬâs‹.J©>r|śőN…®hć÷ś«čaĂ˙63fjŹç3® ŠYĹ#‘Ët¶Őű~A§áŐyBń‹ 'KeF‚%źwQSŁgTN‹Čú*Űü‰»¸ź>á+4žĂ2ÍĐ9 H%@6’y ëţ˘SG§‘eřÇ˝“©Â Qe’‹,EuCöž‘랤ě9lx!dżGĹj«BGˇŕĽJ˛Ń›=Ű–ĺ‹‚ěĎŰ+yKŻč,ˇ[_ ë‰yłŠYsMČ,O9@řąŰ -ěËČ>"=ô>Ać˝{}ź4CJÁŠÜmV€Ë/őÁĄ™öPaZPůcŃ­%ڦJ%î§ő§Rę‡)uÓl…oŁ*Âbř\EŤ8ĆĆŻ ’ ňKP™ČtÉÓ?čí.<~­(1'T«X^ţŞ®7×µ^1TÎéŃ_~x”ČGÎYĆ(UŇŻµx,“˘SqOť7UĂ‹ůŕj–™aP' pĚ®X5äţĄÄJ^ŃXóň¤śi,÷Éí@¤n98m•'8—Í$+ë5±2 -íłˇÜZWKëÖ8B®ËU‘xK«·‡A@Ć|'€#6÷M´© f"Sc4E—µŢ,°ţ‹Ú|yޱŁ5uöKmß«đ%Ä1Š„9űĚeąŔęůĐĹb|ĐoŐgtOŹ™ť(ˇXĽ©<đi®Ž!©6+Źqkŕ -ř˝Í!ů3¬¸Ł‰Č=ëą2Żâ~ňď Š.S¦ ´ć3©p<ŕěˇeŚÝ¬˙¦ÖOëţ“YÉćuÂÍ´É1˘„±—áÎůÁĄ%–x/®_…IE•¨»Ę díqď|BlĆ<°@éOŠŁ»dHţ-X—:NtÇk1lčĐ}ÇÓ^3ÔXŤŽ–błuÚ^Ö2ůYp†ň[ďÉËTE—PçÖŕ$2i&ĐAľě-MĎřA*Ś!üäQxä*s5ą‹“ř-c˙L}ÝW>łOf,Ó‹ůŻŁlđuU^8vlv™ŃiŮvýŻ,x–Šur6˙qĂ<üÁˇďňy':‰.Ç?Đ`±ÓOk°ą3·ß>׿„2ÎŇĚ5Gµámkîr OÜč=?„fÔÝëîZ(+ÓAEyśůőVăV(8ş™Ěćj‹’™) ·”űu|d™ůÁŹ6UTg,tSśäJۆ|‹‘ďáŮs©·†VÝvĽP=IE@íŇöĹ7Ë*0ç€ßR’ôZ6N—4$)±jżŻ ý!Q_ÖřDŔ˙ę -i¦méţőÔE6Ú,®Ňͨs”+łőĂďgµ{«0hyFRíá -M'ĺŶČU˝iQßŕ­ńš’ Î©éG’n»űrÂůÍp©ôęh3g-’e7x.lBđbŹü`˙ú‹Íďb´gë“ó*tz_px qÜÄۧüV©‡ťwş~ZŠž<¬ĐA dčAjaKus-ŁI]D‘rćÖ)+r3ű'­˙¶“’ĘB+ń©¸4yć,gńtő}ăíP݆ /8vŢ/–5%˝{®Q`ý‚ˇŐĆäŰ)…sĺo{xsĐĂŰ‹ďzáP8ŹDv›UrĹ‚/ř É- -ŕŔľěrPĚ#ˇF˛ÝCř]0mŤń^Ś\W*xţÇ€N:ĄÍçĚ«§AŁŢGoâÇOç!—ž„Ű6đŘ\łtüőwśĄŁM˙RaúaA9Ťw&AóD±ÍŽźţW:× ¦oôš†"|$+•Ă"G}ÍĂ€ŚA]a¶eśf[⹭އ˝ëÔ÷ŚŢ‘!\líR±R>·ą¦<¤ĺ’µj)É—b§ľ çŰČŇQ^ĺ~•-°ZdćSüśçnČÜ…¸đä¸ŰS%é‰ůĄíeŔŘŕéĆĂoľŠ#Sn™“t®ÇWŐÁ%‚ĺĺ0ęµŘZ4ăHU ľ´{ÁđŁÄó—Žó­?Ę~T?îU†ŰôąĚŕa4Ôëîî˛Zň‹˙9rag›ęţlüXăŵ@sŻÜq®Š0Žz©¸؆;FRÖĘe&€Î׊#őüđ%6nŞg¸©©©¤6ˇXtňsűf·pnÎßmńvÎňČěÓYÖ=C㩵XnŢŻ?/ŹĂLóĘ5uŽ 4ň9‹ş_ěúľňłĆ˘?°®§mKXp¬žÂ‘PA¤—(˘íBÉ‘ě[>ü›·SZbK.ЬÄĆ—ü:f+cě-6Hŕ+˙Ó• G¦.1HE’&6}¬»ełGĘ"Îí­Ŕ[ÜfŘ×ŰW¨Č׊1PĘŃŰľ‰ßě>Š­„·’¦1x’ŢÂÂŁ[‘‚ŞËCLş7†|›2Ý‘`<Ď_@ÜÁ“ęNSB*€X=ŢZ™ľĺí’„sĎ“4š ˇůă–~-«ÇJ&—oá5&ÚŽL4ĺ—`ŃSŇ$±¤ôF˙}–RłDyËëaˇ,Iţ«nOł…ç7 -[b„´Łţa"ň@߲`ľ0„ä'Q!j§đLę‚~„±xs$ąÚ}WdöÚcPŤ<íčJWÉ‘KŮ‘[5"`'¨ěi{Vdب 7~ĎłĐdÂáPĐŰđO)KóyP)¬ ¶Tfľ¤:ĘѨł—śł5î>ž/†‚S·ŤÔ9Ű#ۉčĂäĽ4ÔűSŕ$đŐŤąýc˛łN…k:ź@żN.ĚóU˛ě×öK]]p„Ü«zDí¦ţbŇ[ń©LśI›ăŤĐ&BéIO…« -ǵŠ1éĎĚ}¤ćęsđ«qŽpößJZčÚńszZŢ2Ű‹<mĄ§ĺoŹĚbş×+Ę·*đő‘˛üzúËX¶äJB94m" ·6Ž ť¦ ŕns>ÉoŰ1ÎnÓJücQu™¤* -otqfmßŇľÚ.ŕŘËÔÚřbňÁĽżpˇÁ'WŁľ|€l«ţđÍ L!šî_–P@ŘÓ4ŽŘ&°fT"od©ĹîíżDťĽTž-¨ Ě—ě ĽZE`.=Ψn"xđW°Vî˝qM«ŮS‡ pŻcíUżľ†ĂÄrĚŇ+=TĽő?,łë®[UM˘µţj5ç]+ Bŕżô¦ÁbbÓb88ŹÜĄ D€l1–‡Z/Ň„ł|ÓKĘ -ďűv¬×Ďń&ŽTĘw]ę˝® • QĆ'öžů—„đ®ňCžÎŠőX¬2`=Xęc߇Żré”é-J•DNJÚöF}A ěXŃäxTČŽEď!‚X_íÝĄ 0'MţŢŇĎm¤î1XF´ś;ŢućĐlŢái˝°=yÎJĹuă›ĆaŔFw–ÎŽ„z5˛»r¬â-žŽôűgę™üx‹ŰÓ tÔt]PŐ‰Z ş|ÇîůâëyQαú†w‡Ë5p»-6Ú·›¬9óö¬>5c`ĚęŻß÷`—@ëő ŇP¸É6Őb·=źF^d h¬ç‹C:ŘBŹěZ/Bz żâGz0Důs<Ô´u˛TĂhËVtJZđ@ţ„(ę$lŔ,ď’ë`J[öŮÝřMĚ#>Č…ąi.Š4«'ĺoy&ăŰĂŻ0˛+ 4w´J•§ÁQ¦b¸6‡8–q´ĎŢĺ)ÂťáwpŔĆş@Ťn$˘ĐKžĆZŮ@§ŰN¨@­ô1Ą—硇aMŹu$öŕĐts…¬=GěďHőčKPqÜĘyÔ}tJŁ~đ‚'ČnŔUßŢv÷Ů…ĚÁ:š¦zX$$ TÚG)ĚFŁ›†ËńŔâc4¸qÖďq4P€c4ĆءABß~üÔ—Š7„ŕ)UĂ˙JDĘ>ĎÄ`…m™ ůł${Oă ňdsjÉő”źÇ™lĐ/ʞćíÜZ<ńuEă’‡‚m?SUĘlY&wqŕŰÜČ’GŽ üi]ŢŤ Ş[IT:wëâ©Ď$zç/Yłëu¬µź”  tL¶6WJ÷c¬şx~#ż05!€=˘Ł=ZŃ5‚´ć˛r¶›ő·Ńnuß„;’ĂĄĐV0JÓbK3×˙ © vŁ»~8vú“¨!_Ä6¬cí»ËěDHx-›G—FýŞ0Yr1š›DK“łüšŔŻk?LôŤ+PWÔä’µŞQ/ [{źř»7zdŕ×8ąĽ ŻŢÓďá]DT‰Ŕş;¶ Ŕ8Đq¸aÇňb) \c`(MŻa÷‚”ń„+uS8 ’Ççsz• ŢË:LCôĐ^—~ˇľĂ%.l"ŹOZxMŐĽé°vyţŮ|Ť…ÜŘáěYÍę·Ą´Ą]$nžW×+ôh‰';×_ß—xAf‡xŢś^©g0—ůrH”<˙Ş}żd=jâ3ŢN.~R"X=/ˇ´Ů‘ł ×Ü´µ0p™uU”źcÎŰ˙‡ZŘ)gü Ś°}ÄTEé¶źű°®ĘgŻfoÖ˝!,!(#ú*AűďçüOŠÂŰűâ§NĽ$Ž8oň{»>´%†,Ŕ -bw…µX˛g»űÍb™I¦u†ÇŐʳ؆şn?ődM*¤ßS#bť±Ł}9Â_N‘3NÝ™˝Ęó2$ęĆŁa±d‚”ş#ľ‚µ0<"¬Ň§_H–Üž!žM¨-üĺc_G{5¸(ÝĐ%(`ć±Ě$†i­Ž Ęq. -J(şĘű‰.îŕZßIž’|˛ýňŞŁŻPˇ´ű{ş<»ěĎZq‡”öÓRLÎUV›^$ŰT;h·Ą3ËcőéQˇ|ß\ň’úVrĹenČyĄ†"?>çÚ; -ó×đ»ŚčÖÍľčOxyÂ%ś˝÷ě|Űó—^k—„kçç—áš®)ä]ÁÔä)zč%^n‹é;°>Ďr^žĘŹ€î˝š¬¨˙{ż’•§ OíU×…Ĺ-Ş•tż›€]ĺs„+7ęywO§q´ĹQÍąŻkhb;$śčĐÄťy‰ý¤‚ a@+°TĄBÇĄPkĐ5ŕ -ß:< P · XEł"HâĎ (|¦©–|öDĂY|a"#"šű.‡µ®Âżb´ęoR~w-ŔUĎĺ+É•(%@HWBˇ˛5qŻŇ!×´2C™î“hc¦ ›óżňŹ‘Ýnµ–Ľ˛t´!ĺx]3ôćâ‹{ń¸$G#:q˙&´Ó¶tAü5/JUŞ|ó.7 -H‡ÖŃ_9»‡źóťqŞżŢ)m/7 -–ŔIvzO˘´DŢ5B@>ĘúqL ë|¶ďťRI„%­%Xdz! Ü*´ř[ě9+it0ĂFbx=Łys™-˛űMţɰ‹ĚáCo+č-_±ýRPB/ ©ő3ś-]dÝóťďŢzRr‡üţI^/Żďµ'žŇú…GyďJg ”cyÇççpk -ŽŁXć'Ї(ŤĘm¦°zÖęx”TţaSÂQٵ\%çťQĽú¸¨…5ĂÓřx/Ë}ëĚôCŽ:%Er{(cY¨ÉúaQoöŚÂ¬Xw•Ő§™Ää“đ‘¸_HŠ·9LŞŕÖtśă(eż.žCŽ\.­NĽ‰#ţî°s@ég¸X×çLvĹIJ{¬Ř,ű5¸jĂÝѡŻÄ0 Łk듹‰»užJ‡ő cM •Oaž:P9”\(â&Őc€,¸ż©/€¨Yě„^łôą!ă{.v^ď<§I/)µúß)ľÜZ'"•Uȧe­ľŐmpěGÎt–q?RO@"S3Âünă×TÁű8s­°¶÷Vi2/S'‰ŢtDĘ--J8ź¬)™ďZ -ŐÎřűĐ$’0ŕâă -^¬Z±1"ĐzĚkXj€Ńv\[ąuĺkeÉůG -Wkeäҡ–8Ö)˘eBűלQXţâ`w”»91?5‡Éü»ţĆ­ÍJpştÉ—±“u‹´ŁĆ¨Ĺ‚0dđĽö˙;‰y¨ĎHç^źřo€oůGHjŤőŔ]ĎŃÉ‚Vř{Ômo% IÜ=¬˝2´´K`śůI ®\ČkćtËCŞWÄîJ™=ČČ - Ř\ĹRVŚ…’€«t ĆĆNDß+}Kă†ČyÚÝőGĆöŚ˝”Ű€LÔhÜňŠľ»ąţćjľŠď†yv™=Ń!&€”…ą$]FÍßCb'\Kú>a¤]>Źý%Ä’j·×ňEÖ|ŕÜ #˛7A×lîŽ ŢQ;5ÓĆ ­¦ľÚ”j¨ąwqęh±Ž{ @Bw!sNę!/¤ĎB=Śźřo™ÂSCwXeťu@Ń–cÜŔůŮĘ­3IȱŽ,‹f<ÜŘRnŞ_[wôŢÖ.1´Ç‚ýĎĄ7[¦$V1ç N<ëG}ŘĎ‹C¸:g» Ţü1En`ďÝÁ©łĚňUa5_J÷şsńq8‰âúŰ7ᨮ˝şd‚†âl˝7±źÚgkc™‰±í¶ę‚[= YBݬ•XÇĆ(›ŔžŰ›1á4uš>¶í(.´‚eőb~<ŮF—H=›<›"ş(D‹…Úrh‰x=4–3%tE0¦x ‰SórýĘ[Üż2ËČ婏ťQö’,góz2۵oŰĆeץg`ť5¤oĂJŘn'^*6ŞqĄ¸*¶'§Óˇă??6 i‘l“H¸˝îöĘ_Ŕş¶n#¦ßâ[†%ĽˇCžÂÝ{-ăł}~öv—ťˇţHcŘá n¶šćž`ď—Ąţk bÁ`t …凞^ŕúgř]®šÖ`š§fË:›­0*[ćVzCuő`sHń$Ę—–±Op_ŃŹyŠ'R7YJăŠŃşí)ŤđâDE’ľYŘÓ‰]ĚocĽś BąąZnTMaŃŔ8LŹÖů…Ő cîQQßXÔI3Şš®·G í*ŮŐŹôŽwx&IFhó›T~0µĹĘvËP"ŘNÝâŞ+łäŻ<,·B…Çżt¬KÁĆ}Ŕ]Š)µ…€ně,ŞÍ˛ą=)Ž40…}dĘ©µöĐä9™óÓI€ĺGߣs5pSuŕŢWłY±Ë o˘ž ŁęYŢűđhH”ăÇ:y¸Lç16S-»Ĺ‹o×l=µřę"”$‚<*;WąŐoŰţŞóIEµćP1cío‹0s”˝˙óęÄYz·vŰ÷Y>‘¤ľŽĆî_ ¶ ĎĎv ďjĚřä5«ýµ>ç U»P}}˙0ăŞ\Ź™«˝ž›LŕaŐzµż7W*”ˇÉóëţÇ ->¸ĺ•ö÷¨đ‘7r_Ĺ‹·Ú7­EŞĎ·G?-žú‚Ô¤0žĽÜ‰ +TŘĘĽ„A1Č@ߨÄ!áĹvN’ż$IL‘SÝ5!m!ÄÎv§âFü_ěůš4S6')ę)v×Dő9¸•čnqžÜĹc+|ŠĐń.+PÝ`®ŚęXâTśˇ7Úp`Í.™ł™śq‹\Çź¨č¬ąÓHÇűŘíÉŰ«üuŰ{?&Q¸@Č| -ŕĽtÔ.‚úí+?ćÚÉ‹«Fé! -¬VJ*f1iↅĺA)gŃß·v(8şÄsäÓU´Ó~Ş^ťXÁneŃóůj“Ŕ¬°ÚPÂĎ H~—OŚp•c—'CÉËĐ—´D“Ĺoüę™ůßr/íT«l§ČˇyŰx[Ó°GôÎ]Ő€x®ýJâ!˘H4J. µ`Ţ­ŢÝIŔJ‘J[&x!›ç[§Îăü”Áňą€\D»¤„‚;ŻŰk‹łďvžţ!‘šą˘ŚáVAçjž!k˙ÔÜ  m/WnNa™ÜŔę· îË_Tr~+·†rîlŽó©Ź#íŽŃݸ×ű‘ÔédfFţžÚ¤çjł$Řű }*Ó±ĹTŕż$ŇŇ03»RćÓ}{u–śQř@ĘĄź-~¶„A.,‹Đ:cçţ|‚Oýoh3EĄ5ç×ÜË©î<;POźRó…®­WŮíóńW=ˇö“03ĘőâCŰŕTţŚ;’)BĄŰ§ő†Wëwwö·ĐĘ(™‡¸FJÔäD~č(ôÂ95 -ŻŁĚô *PŮ ×ü6"€U&‹„CR‡Đ1ńÉ+ąĎ{ -îŰI2ôŐ€jﮆßÖţéçcokcµ†ô=gíĆZE?čćţ­#ť“ŐŻ§F%ŇÓv‘/WĆY¬:еV˙ˇ•2Ľ FĄî˛ěQéŠ}úźž‰ŠÎuď kÁ¬ÜQ4şb‘ŔµĆrQZ‚Pőčäxě°ÝKoÇ‚ËÁ}ęÜłq5 Y0ó5đ*ţ´´K:/ 5 Xß×…LŔ.ŕ5őş‡qđF˙&ťaF9s2«)*צMť»lk 3!úývĹ&ş4°ž!$ë)Et>ęžţň‡SýzLůżÁJů qU‘űŔ_4Ď% -íŹI1†ňŻq|Őö ßćwµMŮő„ ž‰܆Ať\k)ó+ÉĽAĐśűgLř Č.h“¨ .=¸„„ĘËNV˛d!ëܦěÁő ŁZQ˘%ł•žböŮÓ^EBŁ€É*r -2Q&Ţ«v}—Tí*_űÄŰ °)mŤ#Ť¸ą2¤®ÜŔ§¤6Đľ@|Ţôc„Ýń=/«Ť*¨ĂÎh2˙­ź¬fŠ•´»on‘ڶů°©BIŮÔb”Y…ŹpŻ<0bQSË#ú›ŰfË!;[™o"<·ns3 †„ÓRť¦Oůí4Ýe8˘hÉxŚ eřE4~ ,µĚ «HĚynÂřďŹpi÷h‰“`Î)ËÎ×]8ôjHđBMŚDÖZX3Ü{îÍH«îäOEŚ%'üŁXápsCqúČ2%‡Î˝GŮz˙ăĎV¬/ş… -Ł ĆĆ[ŰČAČžý=0~ŰG&ťOěYjďBd” )C†ˇmŹ‚6óy&ľóNqőŔvÍ5ގYĹą°Öqq\=‰—kśĚÁµÁÉdp[ţRMŲ†+&DFŻ—ţx-ďę‘BŽ…¦`"«}¸ŐńĐýŚĚ#Éf¦ÖşŃUx˙F'Ś+E žŇź é U–ĽťÁb.žšŹ89Őuźn”ćŹŕ§JNaĄEw|ojmZ±‹°bĺŔÄ~6ТăĘ/Xř ôl±L—%î'mŠ”©¬‹©j)ą ® ­|řŔŃ˙6¤Ă°’GżD0ś´©Đn4ĚęG=ßAp! «ĺ^vČÓK—S'É•ůJ¨ZĘÚA‚QP’5_ł«ýŇى‰5ZřĹLÖŤOÔÚ)©I˝•„Ňkdš?-ĺMćůĄaW3ýMyşŁąţ7V܅б_khą)ńĹ„ĆNAUÁ—§¬C  *öRŘV¶Z#{âéEň®>»–·m¬Ŕ‡Ęw«÷GĎ»č–äcmä kş[!›AJ9ĺÍXřŚođ&)IKg˙€ňÂTň›Em3Ú¬Á‚,»żm^˝Í{ ’˙¶ć\­`;ó=Î|±Ń&{“śšńě0%řVÇ 2ĐQfç®Ý‰şÄEw±ŕáćËŹÁŐA”í`AĽ& -Îz€sâîPá¨Ćh^ôk“+˛ŽI ĆlÉf|vź‡˘:< †A.ĘŚôţ7ô7aąŔj4h=_Öďźg5ľsx6ŠŮUČźóĘ! 3íYšň±v”ş!Wظ“ř,EŮćaô:"+…čů¬ü áf¨„-™\t‹ręʎ¦<:ńŰçő˘…yá.*–Ő’eÝÁŤZŘ;{-DD 6Łľf’¸ ·űpçťPĄŮÇË"¶=nzçÜ“E{_ű>/¬|rXÝŻóGýŹ|ĽĄą¬Ž-)D©Řt§ŃJQţu§ gć­IL4IŐÂY\T„ăĂń¦äE¶áĘ8ŚWʉ{pŻTë2žl÷kHb÷Ź3lYúĄÔÁŘńę%˦jůŽA,yLČ}ŻÔČm÷Ü–ČWěşo0şŔuŚ×µ˙ÍŞ -Ą­‹ń+đ=$ çn“¤Ç)I+ţ 1~ÁQC6FjĆŔŢL*A;FŁu‹ö™¸´ĆÍw<ÄŽ2” ÇŚô>DţE[Ctüż[Č˙Ľ§Ł_oI ĂľŰ~ż1?Üb#Ć[Ýhµ|O˙¦űŞ–DR wßj(f7Ďfyńë§{˝Ź&f}vt‘|Sʏíß9pČApîĂŢđoňI«»Ó·B®D,ľjh%d3'›ťú¬‹µCűggÚş| vĐÎřۡnµ/k5j¦„S4ć 3čľ4ř -äť¨Ł»ŽóôşK¦Hp#&2Â2;Šx«;‚VnV]wĐ[úpŤż÷Áńöjć‹lâpŻ&…ÍZȶŞ3+‡Ó„x¸ś}O«\›bşŇůyĎ@ţůűdšöŮĺŐšy·h­şxÝářj÷Ę«úĆďroŻşA"±Ź0ű`WóW*Ďšz_đ–ŚŤ -˘śďżâ@˘IҲn­z·EôIvÂÇMčCň^»P‚eG†”1«›ćú˝fÚVyNű^Šůčo¬<ţC!—Ş{µ÷ÓąBťö`WÇedĺ$«N:$;ˇs¦!…±Źć^SY˛'ńyXh«eXťuŕŔ…iĐY-6uV‰xźÝHJń˙5 ©ó«’€řÁ:šUQ{ń §Čq±ü=&ÇNÔý=źaűgÇ3Ť‡dš™HŤ±˛úob´3^h2á_ń˘ôą4cj†®TđWh˘µ¦ě‘%H_Ż×‘Qńř\RíěŢ^ó{X>2mĽN^}Kç8ˇYhb_kDˇň–2ĄçöŻ6ŻţڶËN«|gާTÇ‹ŐT†+÷…,ZĘŃ_rţ!öĘőű&đÍuădŇÉk”,â·ÚclXY?L–9W8 wŰ fé"sćLß7›`č¨ÝÚd¶|ś¨€’KvUóç_ Ňű„96ţ¤Ł„liUb‡E‘@tWae!¨„$EyôÉŚ«ęŮÇŃ óX|áž5”ôţXŕ‡őa}X&ăř¬+ě™äĂş»;žĎşđaёط>ťňü?^ţ¬¤ßKŔ«+iłi¤±os-–ň\AŮ%޶p`^¸Q{;©5c3Dˇy ŚZĺ#…±jN5ąĐ-dHYž2ű\®VËmł©"Mʸቪ‹ä»čŕÍ0űS>ĄóJ* “óÝJŐtˇ MÝ&Ýň±ËÍŽß6Í­ÓŐRń˙ZŐöbě8óň# -mÂ×¶­őŚëN±ÚÖIńŚéaŕĄb2:OÄĄmŽ×¨w‰{ -ďĹpP«ĘüšqF#/8B¸v¨ĘĹÁ]&Ú„úYlĺłĐ×8- -đŹ=s ŻQÇ8ĘËzKď‰ xíŐcůÇÄV‚¦é«¦óPI?ź(Ň{S ]ĘĚętŕ–“_ĆqŇź©REwyťÝ&§Ań$`R6î‹%%*Yéxę»i]:şňV)’['4Ç[@{íI+Só -çć@]“(C_—Qęë~ÂÓüŹÇ˙jel[c,/Ävj»vT YľÖRSÝ$˘büč•ŔůŢîśÜĘOpˇ†tţ&iŹŢĎú(®GíÚČ_~¤¨}šĺ\ž3Ňcč)X¤Ś‰ěŁÝěǶ8ˇ:Բ̢»Ę¤§HJäLęÜČ•áP¶iP%¬YÚŻTl]pöŻ–şK‡+¬%SÍłⲷxżB®9*u{:ůá^řăg¦M©ęÔÔü:…Š…m×Ϥr[ęĄq–ÎMăń€µ`*ý±~ćp,ŃÜ{?)ŁŻ×ß}ż p"|60«ł εÚŕË)Đj¤ÉɆFϡ÷•"sü'¤Żľ›ą]ĹIČ7©PúQ5Ş$®® ÚµY -‰pÜ_:Ľ\mŠŃqĽŹÖÇ-&4?ť®j‡Ţ -ä~śŘ-ŰÜün©7çĄ,âiˇ<Şxň70"źkrv`™‰k ;2_JáGĘHF±Z3UQovĚ>„'˙¨>©|ąĂłlěQ'u äEĎś -öô\:®oóô€& źĺ*%PúŕŰ«@ÂĎŞâČ‹şz*+…oFZźfŮkî-ęěB‡zĄAYäzu ^­ŰľóTüVÎF3¶Ű…băÂĺź×Ś ŕ{-ôĺHSD/h‚6T!ăëó5ŻŮ‚’4:» ÄĽ;*5ż1Ŕőŕ|µđ¶l’5NkÂť.°Ň’Ý5´GĹ5Meýšşd•$ĺäđ§1 ž ŽŞN–l©T3ĆÄŰŰ˙EŤJ‘ŢnŇ?zUż?‚Ú§Kä}"ÜŔ˘ŻHZnF–ÁhÚ8Ă´łD34´€4r=üFÁÄái­÷Ň[äđ•+—hë;Ěě*…]>ť––ňżíŮ «i3Á˛U±ľqď!_ˇőąśăaďř‘µ(…´3ůř¸ç?´W0~ ™—%t]ý…{ÇUś¬/€fAży^:gĄA&ą«znfÓŐ ę ‚­†»pc›@«nůĂ'k:çłě/l.˘„Ńť,€›G+S \­5ëręŇVÜ:ę˝;óŐżéŰÔQG"·Ró4+,®Ëw*čłŘ§5f®i€Q v“QY˘txŹ .ĆwxąÜáúsŠTŠsú4h“«®¸[Âęşdî1.0X<}OŮ"Ë -„‘i/ÓI-\ŰÄűʬµţě§ů!Đ× ;0Zýž{RwŇś­WîŘGűĚL~ĐĽ[öAu˙–LŻý!ś€ĽĂJbŠý­0ÔyFđ8ݬűg}˛“Ö˛‘RXŘ.Żîö©˘ĚI5| -“ ™ßE÷Ćč®ŇŮucŕÍ R™‚yĆ>˝P>?Ĺ|鵆:ćs1d^]Sʲţne/e'ŤóB%Ć@”%«@FˇŘhfÓÇÇ'ĚEvĽ‘Ct|ßđ$íˇ˙Đ.6GMj:ĎűśĆ/:@Äݲp±…ŔJď PŐa30öo‹ řMÔ y*8ĚmęnôŚüObF¤Lzl|3F«8Éă“°[Vx®*cƵ“«î*EMčĺv•\N‰čb‘Ţ/k@ŞPü7ĐF…Ń™1?Í -Oż7n‚ąĘş–Ç`˘gB÷­%'#şš#0AiOGÖHÜlßÔa¨Á&>*ÍÇVJ4–«ç_–O: ŢSŢI4~<łů6ĹÓn]ń Żŕ>śĺO¸ţł˘zâtOhť›~ąĐ6Š}ŔNHCźůűŽš†1ĘôƦő‰7nEůµ¬wÉÝĚr׹`ţ>|V•¦â×ŐZó!7CµöA"±wěA9»Ő:śŠ {“cÓ~3cńÍéśśj–\ŢŁëAsX„! ŹJŽ:‘˙¶ÔZŁŞ÷‚Ű_˙ˇ':˛źxżáDß?Ë®8§\ŘäĂúŘc0«tEçq}•Z*rFC±ĺX`ˇ×Ůř`źčfë&g ö+ŞQš1uOŘĹžş”°áööba™°yŠtŇ`›Ô5ÝgCźOx•D›Î~@B~Ф›‹SBÉá|'x`ü‹®e"¦µ?D÷ěÓ˛§ŻČźôë‹q¨ Lp®˘hôÄ"Ŕ_‹ü/Z°Ž|ţ św9ą×}©ą("·ć_bü+˛ň—ëđ~źźp`-Űçs^`i”Őű -NâˇÁ—%JkMr§xÄĄd 5ÍÉ-_»';Ź™zYšC¤0áŇ “;y{ÝXQńzî‘PÉŽwĺşżő‡Ĺű¸Ě_ý :ˇßř„źăŰKŽëMç]ÎÁˇL×’ÖáRăä)j9AF-άY›¶Áš®ČaA1ČśűNBş^\ŚčAW -Dŕe‡9pľ;aő"đ•„|]í-0‘W»†ŤZ(B]ě®dŘ^öŢa•v%pŠÁ đź”)tp'b6ä'“çďęäH3M]ŹHĽĆĆišU> Ś“+·pjÆđsĐNP˝z(A!ĽĄWĘ÷w+4«ů:ľK Ű‚ ĄžTźg-Ázw¤V˙óÍŚ}©&¨Ĺۢ¶ŚˇŻČŘŤ×ÔŰŚý3áŚIävlSP‚x§„ř.c$Źů-ď´m÷o`˘ŕCĘ:ÝQsLü A]˝ÝmťQTĆÝ1Ł”Y¸>ţk:Ű¶Ś­^ź95ĐÄOËcgUúÂ}1 ÂÚ”_C#ôŻ'ç “"‘¶/ČaĐO«}dz˝ -o€J&Ý% ôµ'+vRP“_wë3†é9Ő‚5iŹ#~c–Ź!"KýcźD—äşŇí‹r ° „ĐřÄ…ęÝfr›ş7ńÔ>ÁÎaX1 .ć!0Ť×:ă`nłP>üˇµ;u ÍLMńÔ*–WXóÉy‡äÁBçËÁf[“ř)kŠČNT^ߍ¶˘BĆSˇżsN§†á°ÉůQĐ,ͫ޿N÷˘ň®3ÚÓ‡ËčUţb„6)’źţXď%+ôűŤÇţőôóÁ^YRŘÚćdˇŽ±1Şé˙+„šó@1úqźŤŽöß5“ŹA_ <(°R©5RÖ¸rb:•'A0ŰÂ…ŹDŹ30Ž(7A^\öűŃ" É–>ľĎ›˝3O?Ď;¸¦ÔcMz[ ĽÎ¦vôE5;„»n ŠšŁd-HŻ.j^ę|óG‘”Ć×E:1|F9čy˛ôíLM=§Iʢ˝¤ˇI–ó>—ĂöüذöĎŘ€ÚÔ -„Ő˝µÝŻć úŘŕź¦  ®qnDf¤[ćDŽ”} QöhONBt?“Ú;ý/°Ű•3p13G×ɇ»űŞĐŢńQťĐ†á'€O--ó0%g<™Ţ?5®‚ďZÝĂŔľGˇA.ű‹Č|Ë•4! dë đ$qŐş©*Z4*3Dë=”KŰî -Ë&\ řŁu‘8WŇ1Řű!.ňna3óÄ«ž%….mvüQťfÍŠ=MăqJöśžR|đ±eţ·ułeăaMq­ŁQ¤xôŃńř׌K(6íňÜĆśe>Vń$ĹÄwŇQ$˙a—*Nź:éĐÓ— jeˇ“źdâđ㊿Bř´Ü`şJ°@vĚ´CfusŢ€†Ě‡K‡¨Úşß¶ÖńQŔţb'îV§ľ©Ű˙úâTC“ŁnÂwŻôü($‘ŞČ‡á'ÖČ”=b đw¤8Řj:ÜWkÓ±Ň*úĘR -Z3YDÚąçKáB/±:zĂ•ÇÁ’?jů”€Ͳňçm/Č(‹şdd3ă~Q•äT=Ň®Ř3‡ËL  ˇxĎY­ú±ć;ŤuŁFBkĽšËď$đi~[ë<8úŹÎ‘˘]BcQÄ1S÷>ć4˘>x%Y”D†ăËŃę+yZ7†3űÂN"ë‘›¬ĂSd4ŠV#ô‰3Ĺ‹ěřCÝOZ†ňjZYőĆěCŔRYÄ.A—ÍËwÖz^ńR>f®*âß_šN÷V%Z7–‚±né‚o‹-$řMGĆŔaÚ?F+‡sTkéOX'á^WFáŕśirůky¸*­wť$6.bńZď`A¬:řl¤‘Ř^N<ľHBŻÝ_Ý!ŽÄC `ÇôozsČáÓÖdş†Ąúź(—;Cć"cWl†8 - iŘqH‡»ÖĺHŻFe+b}ňß7¶P[xŰłv -©Řöň‚™Ŕţ#ţŚGn‰ćÔŠ«Š‘ŰŢZ29á?ÔäYäţ´*6žJlB”ăEHdż]x6RŮ!oüsonÖjĂ×ęđđTĘ`Äó ˘ĆČIşćŚë(ízZÍăn[ń™‹Ń¶ë9¬ 磨Sń.B= -2ó­Kš†÷RAöÎŢŢËđý/ËȲG,#I¬A„BŰć­E(^B٦íÎ\¦ÂV S“Ś\\ ŁqiÜż†ăČrd^›ŻW0ä´ĹT˝ˇŁÂ(ópi›ÇÜM-Ď*č§ůĐŻµYË}FĚŽą2ěwäíěěž»˝˛qy -Ď–SUÎŮĄˇUbľ-ť¶Ű1ŤcnÜwÜ[â"c^&­6ˇ§PFĄlŰ>•ôó*ŘŰŁ´·ę.ęC”!ň&8a,OZ[Eł’ş¸Ü'ű&ńö˝Ť™ňräE%Xtvű3Eb+śĽÜ©Zůű–zIľ/ŕXNÚ. -ł® -aĄdn[`ŕCčţź¨ĚqaÜ\çŞňůĆŃ*÷f ­Ę‰–ĚH _÷NŚ:ěˇyăQj©XK áe»Ą.ü=­łŢçVĐĆÔp›5 ±´ţăM稀tÄ `ęÔĽ«˙Rřqs ¸÷HÔł1ň89ŕ9CĂŢËôĂţSqňŤcşrY„Ç'ÄÝî$СR)2˘˝CQřď;žß|G˝Ľű5Ľ}Ĺż¬C h»Ó7«N@ţc+âĐŞÔ;}ĎĆ#Kú°ÍĐH Ţ$ŽżÇ–0Ű3„Ë™E˝ÂY=yŢ-ŕÁĄoDë˘đí†6Ďç̬ô(„ý:ć°·7.uďő.jłĐDŰNĘątśLjNąŁ^ô•`h ý4¤bżq­$ ŘŤő§á~ŤRa;ň b–…ź~µ_ô«»˛Ç=Őčŕ¸ńˇŻÚi3-aarQnë*/˝ť4m’_TD$˝łr±{ôe|“n=J‹CuxIťß=ě3…›„5w>˝~rĺ€@-;‡ÔšÜ<©(NtgËbN@µŁĄżśčČ%ń2 3ähwyIq~uLxÓçńIŰ#lżÝĽGŇÖ8bż¨Ť´kĐ';­ńrsŕ"BKťýđ÷Ż:ü:Şň­Đäšćtă©Vöd/#|€ Gź,Ů%–Z¨'L`ÖÉÁ«yÝž*Ʋ#ľDWç™5ţ…ŤňŕGÓ‘r‹1×˙|©Íl3ÉN[@ęŇKkÖ'‚ÄBp~Ż]®8čĹf+ęÂ#L˙Ţí–á!Ö,°6r sĘŠ­y3ó” = -óN¶rť!Iý¸0|+{ ˇmŕ T¦ÍčJLÝíužÎÚŰźXľNřBÁ?Í’d±g×>ąXW~bQčÍÔî.L·ćÄ\p±6áčÎÂDC§mV[”[ŽkÉ#­-evᲝţ -»Ŕ ś5w.â$‘ÝşŮöšÇBzF“6öÄ}…=î7ÇAWÂ`íŐsT"…@‘l\$•Yf×br źŽę‹M2Đb2úľQ·ćňd'‰¤ ]/"znĎ9kK×»% YT#W‘ÎN"Ź>âé:—Šîůp™PhD6bšSúa‡»$¶š•+b[„*٬¤öS­…˘‹2‹ÂÄlŹç“íUn[¦ü/1ÔrĐ…{łSčť iä>ł®(˛o8§Y°«Ô6/H].€öŢ]„íR#Č ¸Â gqSbčLÝÉVs,úü:`ŢUíŽc ¨ú(˙¤ú#“Wč” ‰äŹr‡Ő‘Ł?”`ĘĂ˝Ż7­¶1Ö’gá^'ÝU®ńn=©śNLüăŃ© «ţ—Pş“®lůĽŕň窼ú1*4Vt+'-VžKŮż+9˘eÂĘÔ‘^埣•¦âČ ×ľJ÷ň5ŮŠ’Š®–‡ż´n®$,ßďę ĹwĚë‘­9H¤Ěmş±N?‚Ç€ntÔŮ8RFÇß) äáđK•ŰŁÄŕważĂ·s±Ü/Ü«s¨RŕmáW¬ř‰çcŽî>>#&­>´2 uŇ˝‚ç»ç@ň^pK©V)yW2üL:NĆulëLÁd±;|5¶ç -Źj Ľ¸ĂđăhLůňě@ߢ­iŐč5;A‰3ţţׇ©Ěz˝ŽBM(cŢől!‚´¶«ÓŤ03 -ÎRVFßA‡v5ăÉźĽünŘ® ĆÝßĹ"čúśďť&ˇS MŐNWNŁógŻ` Č'łÍ‹Aů!˙„j 3ˇŕéŁey>&08ź„Ĺ·F äT¦-Ô—ËiiKHő[sÇP„^5#0•ÝR@őd¶Ă,?¶‘C¤=ăý°'·ZËE˙ŕZĄh~—}ř0ŐH}ĚŮčr`•ŽÝFj'Ď瑱TÍŮ|ë׊ B?ś¸[ęŕp¬–+z÷új§éĄ9‹btlßUę´5ŇÇŠ&Ô—˘”R -Z•Ţ.-w >štU YőUŤđSxR ٨{ş RGľâd§´ŕµëżiCm#˘jiÍj9g• …W ©ĽąĚ4 m·—Čf€žŕˇ%g’SÇŹĐŁ|XwţyŃ‹©˛şNqXHĽTQÎz˘Nű"đĽŚI^âŢ2¨ű×Ůĺsâq§hÖ'ŁÄHť»z5Î -ÖYUhXĚwJď“÷ýń­W±Ě=łmĽC –Á:J µö jÉśüÍńЧĺů%‹Ë2p}ô;šMű4¦ą·ČÓż:ž ›jŚřmäăTĎ&"WxŚÉ…ĘA-FÄďQ—M@6ä !¶ -ř. 3$•/Ă©-*Ý‘uA¶8VmMţ›[‹†ŘH©šÁ±Ô0‡¤Ôúč~!;}ד@BFć-c@ú„‹M8|"ş;Ă˙±Ď-Ńđ&Źú_·A(ětŮ$YłÂ•@ľ4sz9$Ü’ÝëŇvĺzß«_"PsĆcőPť <śôńü‚»S#ľ+ĄdtXőŹ\Ăto; Ůkb:ĎśČ9F=>[›˘%UgŚúÚŁÁKv¸çč:Y[¤9#[Q/zó) -’8hLQ$"ŕ ô•9"tg“Ô#6bHĚýpżeÝy|đ -Eó»~äXąoß4ÄâěĐ÷âŔ“SeEÎ~˝ÚôÉüęG{,n §Ă3+‡@ŃqŘh-ÝĘ–)đXţ—w# –s@Ú âţăü bµăxT/¸ř*‹ś—›š—'¬ ő~ËŤ¦W­·ęÉap•0ČşźcžAEłl÷R¬vüó!ażŹ!óv´˛°P—›®f…·ßC¸Ą2š‘Dçi‚=%aXJüwntÝń ő Hi,ŮgšÚ±HÄ•–ßą@qÚľŮďJżŰgâÁţ„äľ"YĚPŮ];ůĚpňzG”üz?2Fô´Đ čËëđ¶0©đű•>[V =cáĆłôó˛+ç"+é:Yę‰@ëĎĎűŰ/"AĐ3˘ň€x­n)°±ď“i&č/ČÓ~Ă"ůŔ=C}·XëhȬ2§ŻrŠ}ł2P /Ăę5Ré^ Z/Ę&T‘ű{ýż“Ŕďń•ÄŐ™¦ËňÓ» ôŃ˝™ö°`0N°…04üfKCŻŃىL\,¬Úšśb·§uZ¬ĺ‘ZÔšNl𮡀ń}RÚŁC€_}H˝›2pVřU{Ew†/$Tŕ”—‘/WÄ®ŻŐł?ą;ę§.N"é6‡·kŠP›ŢĹ{ľ–Ę-Ą=ý™î­˛q¦íFŤĹń×"n¤ąńŽYl8Ś–™őUśůj8a0ŕ–ău€ łvÚ” -oNůĎęĺ`†Ć—ľUŔŹcŢŚm>QňĐfţÄKeÔ„ÖF•#xäÖq÷úsřÓ€ŕEľaµô¨ÖDtnŔ É·şuăŘşZ ěc¨ĺm}sCć‰ęů îłŇăćŔńş‚D1– K@Ç[Ţ@$ĚÜŹ˘CgfTÔ>w•“ÎGĂČCŻ·Ú¸Ýrpz°Îg»óSŁVp¸nb…"A8Łĺâ*ź_‚ý|ýěR6|č¤n$ŇU(Áôp*Ç:ŕś;D[­ez'ţ$,‘BŰMł -ĄZž¸koĹe‹×š$kŤ\RP)&…ßTTµ°wjKŢ  ˇńŢËäÔ L<4ĹdŃsę}ČŞ+xyˬ†"ť·|ÇËťWĆMígśřľ}Ásf'IÁÚň.I0]j`¶¸Rß\b€ĄFWĆŞc·Ş­xÉes™ăo‹S<é–ŻMGxCÜcďA<„˛»»ŚŢ -xń3Sgd°+F\˙꧇â JÇú˙Ej¶ÉTôA†®â·;"¬DnëNc^ň.umäč–Ým-˘ËŰ -ĺń {UžŤŚůB«­XßzÇ`g˙)a‹M%Eş\“Î&Ď—}ç˙Đ**B«ŽůĐŚ Ńs%\›ü ö÷<ö+(óK6ÁŢ˙©Đ;ß̇ŠEQAkY€1„öuśŔ ź0|Ň•Fúź;suôŮjuý›©GŕSü#3HôţFŮPr[#Ę–\wLJjbľćµµÁínLk«MN“É +R¬‡ ™Ńw®90cĹ›@~'ýţÔ\őËkŃfĺžxÔMŠe¶ćýkő§Ňđ—Ő@çzF6‘ý÷™ćĐ ÁOĂ4fÖĂżt7IFF„@Ő„ŔB٧6â(ó\ŁŞÉZóëIý|ú×§ÁH]ć”@Ľo’J‚[őž®†Ĺěöa.|<őJÍŃnĆ‘Ao2^™fM ŕśđŔµ%h¦'Š1)ö3.ńC€âřúkůݞ<ŢÝŘ$@^†Ś¬ MůCŠ-/€i:Ô Đ{&ěăÉĚ.ý-9FvÚnP&U?ÔáôŻZ€Ć€HzbiXö ĎgÓEĄO;ÇEú.—bŤ`~ëʉÓéďÖUŇ1©˙P 2™0x&%˙ą…*($ű°ËÔŽ ŮuGJT‚ÍŞBŞ`q†Ţ–%v™ŤLF:Jă ÁgŽđÖ>ŻHůÜßĺÇ@ôcĆ Ff¶íj‚ö;† -—'›UőĹ~Db_ęJw?~ĹHš‘Ęc,pUĄôŽ}“Ő3śq—*.­o´…>ÉYŢěĆÉ -†f÷ż{ŇĆąßBwo@ćďU†ž­BŁXa­¦lŚ– t7.źB°Âq÷N˛žÂÍ8ÎÎ#–t(ü ě`”şkÓ@ ż =s”¦ĎçŞ+,¬ł°'Á>ŕúßĺ`$KHŢnęÖ[UŤqpŞî1â(IóFň| €CĄh9űsvHbË<(ís°‡!żÍÉur݉ŃŰÉů˝ŹWţĘšŁ_ŹnoŁYLMmÄN–†bŽPş† -:pδ[A@`^­X\ńnąX¤qř¶”D\’j….d'ź9šŢ9†°ć”Őäţ0^Ş„ßV‘O˘Ń ËS$,¨˝<ěE§)`´ŚŐ'™Ž zŹŢšČ-ĘŇÍÂs l2ý%ł 랲WoŁń&Áńş|'Ʀ­L‹Őň<ŢŽ®©ń)ű‡NT+ĄĐ†öjÁ‚!請Ó>…OcĂiQšăeAĄ3ť™pÖĄ–zÔŤtpµ4˛‚y>]MČ0›A‚ĘFůáXĐłUg7g›‚aĐęVlú7úŞ<ç ä¸džmĎŰEÎăŔč-ÜľmL,U—HŰ\Ďó×*­Ń­:˛ýôSwXÜ‹MÓVL[|ĚbŤŁ&La Ď"‰ę÷rŚŽwÂcµ -_ŽtiŢ,4̧j[n đ­ńFş#tÇČ·‡ÉÔŠ®‘u:>č%čąĚ›ř­ßp"6š¨u5ą˘aµMçŐŻőrŹ˝ÜŰEp?é{m5ĚwcUÎV0«,î&ĺŹ饀ľ^:ĐŚ&OźÜQÖ@Uçd@š -.ş«Ą¤¶^9±2)ť~Z…|ö -JhcOpvć9ťšŐ‰éÂÚRq&޸Fńh.b2qřŁväňßŐE™Z;#Yáí€bYűóÖţLc# ž82Ęů†!!ŇĐt[L -ÝëŠ10/|L Ă9KŠK| “ítlŮ‘CÖĐ*¶ËĄŁ Jsl‚ŐLůY2ÂŘŞ! Č2‘L-ŞâÉ5:0«Šxňň’)ZŇwÖÂô˘żÄá ú|Ocrk!Ô—ÓÍ©yi,ţ‘e1ĹĆŐËŘ$şâ› °»5”+ zn ń=ôŻř¨ŠĽd–ůf[ sLËCd9˙%mLú]˘5,jÇT-dţŃb:Zä3űMŔì˙3ß42ËKp‚PJŞ'?†cv§˝lB4*ň†ŚâŠéâšJ91ŕßËřşăEnęů‚``tżXśtµł1’ BWVőß.č‡'Ëv =Łęe -ćĹFźŃq‹yú5H©ĐĹď6ĐㇿGź-+űŮ †ílwĺĂtVNÎ{§^IĆd|·0ű+2Ăé!מŔbb¸Hů“śd0-D*rG7Ę•÷ëÁęËĎ'Â`5#{ăŕÎ3úK !~Ăp“ŇŽ3é&’xcE¦lĆ Č>ŔŚ_~Ĺެ×ę|¬¦ßŻŠ°•…K÷—äçĆ:‚±iŢ«4–\LĘ´iŻłPD71ďÁBÚříuˇÉ_bRŇĂçŕçné ¸"¬!E@đÁÝyTŁ‹)@Hőí#Cę+)p~`ÓËľ˘>˘kŽ71Ý @’ o5+'®cx”a4ź¦Ű¨+k×JŘ3ĺ/¸µô?ž}îőŘöšOę˙˝Hsđž­öăÄ^ŽEy˘RË®Nz sOî»LŐ¶7y eqÇš gGóC-E%ÝńÄtÍftÁîtj?!f°,0#]Hâę§űP:R©€ÚYVB@´»„@Ż×î°¶ĚŻIË âż­¸ż˛{nţŁ‹Ş/»Š-wÇRďÄ· -ĚAńR‰ÄOŻÂôÇŃ™ŹVˇµ¬ć@‘˝Nć ź;˝u‚§‰ů–ŇQĚ‘öÚ·RŹv?5ÜçN"<×Pů•jE>Áę €Q‡$=tą‡PęmH±  OďüĹę ĚŽ96źl˛čĄÉ\rŹ &0ßyäĹ0;˛”©+(­k1Ë–ÄťşRź÷Í«8Xěµk¸Czr…('xÎCôţĺ1ë˝Ř~óvđĐ6ô RŃ(z¸Ă%dö"đ(·ëĚ—N)—2śpmŘ*’Ś-lć±Y˛ČA¤U›ŁÓ!㥠´VĠ۲ëvË(±3¶Ó)Ď{Ťť® »Ňy4Ýs(´r\?@ĎŮ·`{ď ŤŠĎd¸%¶(-‹ó–fÜ@–( 椶ÔňĂŔUh_®ÍĘĄ"·ez†Vl†y˛ń`÷SY7̆űnmÂ.˙:&ÄCĄ %Á–đ)ÜQ0 ‰CŠ4"É+áŢ1óĘyiĆ÷–ĐĽîe謦°­™ţ×Á­­ŰçiHÇĄřş•Lé/|™}Đ%›Lx‚<¤k'/†ŐQÖ˛±y˘ĘĐĐl÷›†-Ä`Ąąů 3­Ź2¤Íl Ç;›nŔĹ=ZI~:–‘ÄÝVá@¨A>ţĽŢ¸ŰKřďÁ0őŚć’UŮźMńŐřř*B'ŽgîN›4ÖksĽĎ^c˝™1xd9Ă|ärköşŤ—Ĺ÷¦Ä Ś$1ďâ(DKŽP=Ël|ˇďÇ É˝#ťß¸hş]ć .-śŃŢu\bž;řÜ”Ë?<Ľřó‚|§TC -˛˙mIňÔ´…2>­ACg_Ríľ¸ĎOŕěĆî0Ľ,5 ˛đëżÔ& ˇęÉäĺâő®€*Ë<rňŤ;I ‰Bµ‚ç¤[CU‰qU»óÂVĹ4S§ÚĆazhn ď|ę lŁń˙äĚRx#<˙íÝ€˛ę'˝'ç{Ωśµ^UĚč/¸ý®Ë1éGşß&ńŰH"úŢ úZ¦„!V·>,ű+r]…. ”,VWWZ*zůÖNˇ©R żˇŘE˛7¤±éžŻ+űę]Ţň…_MD–Q7yç#EĎR¦ÝaŰ´×RGôó6¨M¬Ű"˙çĆeÉ+±^ô75vM¶몀ćń‹ÂŘę9xMĺ§Vk¦×qž±ţÉÂ÷ĘÝÇŢá±tQܸéNěJůÓ»R¶ŐßËöŮd®‡S W€ůvÖp28mČěŕA2]ÉŘ -©qŮšÔ$)ŞĄÁţîž2b»}P=SôÖ—ĂÁ>-žą–?,łcѦ>k( 0j\WR®ě–©© Č4 ŻQ¤2l-DöĂüyăťf -š‹[[*»Ąm}eČyň÷G&x,xĘn2g(řF×}±Á‘ąݵ•lżÔ‡Ţô·ĽłĎ Ȱ÷P"1„®×l\-bÝă·ä_!2YýKItW·/őÚő':˙ŔdUÜaLý˘ëĆřoACO¦YŢă~ł\7¶©z\=]í÷6n»ÜcÖŠÄlŁ)Äh1A Jý˙tD;ŹÍ'«ÜěOi¨h!ź·ŢٲĽ®Ť(ŁYrţ -ä¨ć Öűl}sKĐóóŃA˝d[$/¨6śúiýw÷aďđ_»QžEynř«•Ů#Ł,ÜčĐ $˛ľQ*t ˇA沺ůż3Ť~r•]^Ô/uđ‰(ذ‹X4Î]2ŕ·'íP2—,»×éé¤S1Öî{k - RIáŚrx±{šśâQI÷ÍŐÂlîócŢo§DŻF­Ü%@ĺ6öŃz@µ*8ń„Ě˙`ß-dâ˛×Ő6ż¬Űşŕ{Ňxń‘ÔD·aü7bµ‘.éIJ1¨~łą¨U@şI\uĆ™,ný@Îöďěm Ż"„¸K'˛qblŻ|Â9‹“2ŁëÇú¤™%ĚTu«˙ĎâaYBdb%%ěĎňÍŽ­n5«;ąŰ 3¬;Ý_qŮe¬P€Ř“ 'yFćâűSä…róţ_^:¤)ŇÚ×+ĺ¸ËŽĐ|€4´óË.Ŕ9:Ş&†5UŇżaŤc[Ć{fXědĂľÚ…śADĺFŞ‹”‰f7ř¶âhéš÷]ŚŁL2–%őé˙ąľ/ŮZ°ůur®héĄč7d)n ÁôóĎřIüp$€>€ĘŃž -a(´\O¬šţöfFůŹí.(ß›Ž&%c-S‚Dqxě}‹íŇ÷X©‡ ĺ[ (­ÝýPîşÖŞ‚`L)˝~WkÜčýĺ{»(POÚĽ™Ů<­]{†yiîËyŤ,D2#7}aŔiÍn'ďcĚ ţ] -_Ś>ŔbE™C<.`·X“ćE•c?ĺŇŔó˙»sČqE›«‘›Ó70tí§]E91ő3ŐĄŇvˇżç}ň–ôO_lnĄpĹË{śsbâÚ]Wgç¤x˘4yĄ;HČŢ4¤Őß®ö/ciČĆ!2~#ľ|řÚ˝›JĐßq‹Y“аYA{ýUléé÷ep·ý.ôţÚ_IpBg5ě/:U˝şix„dŚ×_HłaF¦ŹŰ‰6g1k}ÄĆ=´ ˝ÓőGr¶Ź@#`˘Ó^6¶˝ąÍ,_LĂ#ŕ„°Z±ćĎŔŚ×sO>].4ŃţîX2ť,ŇEm–Ok˝!:ŕ"٤ô•^}t Ö˙諳†µ -y¨ĄACqřą~Őäý#ľźž{ĺĺŐţaÉŢ›Ş9uRý•– Âb f˝ž˛‰×X>’W;NĐj¶+BLž‡íj<Ů­ŐeU/î%żĺ2mĂ®´Ĺ Mb(ÁďžđëŕőÔ>nă0nĂŹĹtË%0ÇPËmLXÄW1l°öźZÚYAHě3áž-ý˙ÍŞQ´OϧÍŐ¤IÜÝ ™XN<IľŤ'hsNÝŕéUq©ËŢóÉHíÂÓa rűIĘłĉƏąsFé±]Ň—ş‘ŘŹ[3ĎĄÓú.wć€ŘĽpxné©ÇšÖűňđ…öśtŐG »7ť‚‡ \łŢtăšSć/ľß¨ŻĆCěđnu€\Bš·gŇĚxFIŻ^8f^“*\x32˙čăŞxŘDv@çłč\¸t6VٍÎĚ&ŔúĘńÍ/–ä†ěşÎí9T oI—Q5 B\>ď -|)ţţ«¦˛z4ńŇ. ÍßëĂL[(Ę$=­hÝ=Š™ÜňŞŮ–ĘĂ­źśFÇIÖWĆV]çb4(÷úQňšÔ1ál-;p™C>߯Gjőś¸ćC7Ň->‘M´z%Šć8i˘źĄíú…0pُíŐ2Š%Ć´p[î‘äąRWoĆçÂćPÖu­&ŕV\ЧąŮ9&ÍG6ĄTş<ž'&Ćînw•Y-Sé' -úęłUÖ0C˝ß—“cr ]aäUFÖFâ[ĄśAr´ĎŚr#_7‡Ă*Čł3úË -óí7Đ5šR:›Ü(‘~3ÖD ž'úäK @O yÜçwŮ‹„O¦Účŕć'-Y—ËĹUmĎď?M Î:1ĄĎóF6 źŁ·p6Ż%(ą[!íŔ“Aä‰ý7ÉR”á}ŃBÚsUč¸ţŹ4©µ2GâgŐuě?đ’oţP {šńMH,Łé‘M"•@t㶤éEH“ŰýŇO=˛ŢݳŤĽ0$ŢMĺ3ŕéđ ĂÁđ`ďz¸%0P«zSřuŽ´Š/XzY‡äâń¸ÎoޱNj^ Ťqű#2¸ąÜůeBÜĂ´üf‘y°ą{MY<ł -~„#WXp€ţ»Ít‹q#EôOfŠgE|rěľó;L“ŤÍĂúFőQ·ń ,Ć6wďŕ ď][€ý*šąÓhŐ؉éłŮŕřöžÉżŞ’*Ú‘uC‘łćŽáŤ1‘ÔBĽ0xR˘v“f”>=@ľ9źn"Y›ř˘]ć Ëëá|ĺ>ëéą=ú.t±č˛ĂS`™ÔP”ăËZ'FOŤaÉŻ, 9ëZ VIż˛¸’ôZ#"qÇýa\!'¨JĎ!ĽşAČóźĚPp ×§2Ţ®ŢCŘ(.&ĺŻB ¸Äy4 -±Nßç/Fłz*ľ_;$Ĺ…şÄúűo5·Î+8Ç/ śŚÉ?÷tć86ÄyČŤľ6$ ľ=ť€®‡$]-›5Ľu”K鲖×é´Žf].rĆ!I€-á"ôMk ôďO( ÍuTîđŰ/ŚřĆôŽŇ’wŠ·,Jč†j'ůOŚĹHĽm8ó(#l‚OÄB)˙\Ö=ÝíÝ®'ĺ¨hZëÄvx•ĂĎ,©ś/T^«iTÇâ;pĹę‹/"Vú¤o^ ͧĽ,Á$ă=ÜlŘj»eÚąÄz ‰ŁąGŞýí© -x™)­0ű!D-.3;kÇ4ëCßÔ±·J8ś^ŁäOŰ"›¨Îşt×zů+„´GuőâŃzcµ¶ß˝ľ/TŃ(VĆkM é€ČłZťďPÖ#?>AäXůýΓfĂ_ÎW)*;éź!rhŰ5”(­č/A6Aă+EŔyŰÓÔ˛žSe˘3YĄ-éĹú+§NÜő&ÜŤ“L-+˛|ňWć˙%Ýß PJQ”­ .1ëŁ?ź{mwhç*jL#Ôqd/®ËŚ@pÁßbŐ¨–ďßňl¸O•.Sq¶ ö0ĐŢ1âDôq÷¤# RqřĘ Ĺ<űF9=!őoÓ9=˘7z}ŢXĘ_ĂŰ]őţÂndÚ†Ä˛ŽšîíááŽbÓq¦%ĘiňŐVždŔIŘź’zŞ>»řú_ j@¶°ÜFřb2śéL¶Ń­Ąhr/ű2¬NŕOł3±z8Ő.‚ -•Łgw×,Ľq\k+g'•ʆŕ%i˝źôÜŘXŻ–3ŰCÓÁ¸r -\gbőXMĘ`O‚Ő3)źܶ—‡2/&îÄ)>«”;íŘg>Ó$“CBHX÷­  „&m?ć -vü ńŇçfÍ "Ë/Xs“zÔtĄ¶É§zxÓRsŠ@._Ą»“›żŁ„˝ţ‘Xß7˘ž -vŰÜýĄ*E8¨çÉeCv˘{ެ›ńqňÁP÷•÷ÚfGAŻK:˛›GČ)ÚäčÄîŠÁM8c* ?×­OLÄîłźŃ]+É#&2앞•Z4*=zäYŔ¬űb/(ż-;‰·µP`k÷$Dtń‹>\1d˙ §ÜyÓš1]LˇŻíř¦ž±zšš«MA¬ĺxçjšŹűľDŤ^ä˝ ë@CáÚ\áőeĽč6ĺ„$$Ř9Ëőuäü­c¤©X#Ł$˛A}´>]šÁPššáb}µúô«®ŰľÂ>jŚ -ĎIôCĆ${p•ěADčl#ďŃž0‰÷ş¬VŹa{îüÂ?Š'QŞ—»ľć0čÇ?ňdÁ3D °ËIçűn<—óď,âútäiáI\"ĘóHěhú_ŞÄ™¤]ĎňCÓ'SĹ8i~üS3R©ň  qI°gŮf%E‘µb É+µ>µX˛L&L_ťđ˙@}¨×ŚäR`vĚËŇ®/ą|5—Qß-ö•MÓ5‰­Đ‚ó}=jO>´$ ÷3÷5,0ÔüXŞ'j9ń‹ŢEDľ‚0eĎÖP@íf+·ĎĽś<´okrîJd6âĚŤműÂËÇDjáŹ$q;÷ĺuŚŻ–üé 'ŠÖEua»™îVÎ!)Áó rŠɅsߌ -łIşťŘĄţE˝f*Ő1–Ü©;>ŃaE•ŘąĄ[pRFŕ´›'cťT7ú`Ą[}B·Š(ĎéşÓˇ)$oÓ¸ÄŇ ÁŐ礖9 †+'0ť±PÚŮ_±˛łkżh[ĹăŞIE×±Ó7ÜßVZĘ$şő`“ő{E¦±‹µęŞmáGě_P4ÂĚÂ÷IĎᲦ¶ŠÄBśý%$IއÚ1zeBU館îł76PĂJź,ßSBÂČ|8şçWgó±ŕăéŃ»ŰÓ›y‹H˝»5 6oJúćÔ¦řI¬ áÖ+Jč¦óUbąý|¨Nhz«rĄ’<+Ńw*$ÎOu}h†«wżWô˘»YYľą^k ^NQ´ÚČ@áę§Ľ¦É–( • ě9›Z1v K G`¦g71{ĘîŇY´±!N1Ďđ˝ć°^V)qňOˇ‘IΉĘ!źŽ‚f' N(ňź\đäąiyrě‘PŁRľU‹ ľJY8{ŞrĆbĺ‰ó‰ĺ§Ę‡ädÉÎr^·R€k!ÔHH쎥OŻü/ŐO†#¦ş“űR©ÇŃß•ěěf‘§aěżŘó’á—ZE?¨“Oř¬Ĺ˝»ş–j… ?‡F ,-MGĐáÄ䎫ăË Ĺ–/>0”Cé«2f/’C>gkžŽť(•úšëó8͡Ňf7˙&zyűB*VŢŠwQ×ămŮ šGEZóŕŔgĹ€§yJ@ćďť6]:§č˛±~4¨Ć÷łCÖj˛-m˝™ÍWc74ަ©ŁŠ5 —ăO+‡”»\¨$MöMfßĐÝĐž‰č×6t˘vV -ęľ<űHdz"ă¦}Ę(¬űQQ9Ô›Ä#D`´ -gâSFą+uKdÁşx«Ýآsc#›ôr¤›îŐ[ÄwŔQLĚĄút1ą<şć(«·ŁA˘yS\@+‚T<˘Ż6Ë$ĘÂV ٍP„÷§¬iÉZâ<†rJ7¨1ôź–<­Â^»ĘWś)»ó ±ăah]°Á>0ąţýt?v·JbÉĆž Ť}ßCÖŘ·š3Ď2ř}šôµ9#ÎĽĄáx¬+@’¤í$DĽS+ŹúĽĽ C’Ô”­sď˘máVóä0:ń~‹$=–˘ţAdÜčoaVkű¸©˝EşĘóÔŽUúJE{¸¦Ťnćł7Ţz˝ ĂP'€Q°îÔ9Ç@/čه¨O?»NDËOm…'|Ƕe<Ţxöî”íâđß…«~\Ž!ë&CÔ”§đ¦ź× łâ1ÝąŻ\î;0á’š8xjQeˇ…°a\cSš´˛W"NüŽ÷ŤłRţеŚoÁÓ ˛q~©2˝˛üíĽG·›É7 '×9•čhšŢßÎt‚@âz{’“вmĚśö5S3ŐŽ]Gm>Á![H@ŞČżß[y«Qdô¶ŤĎľw­Ťdú¸›4»‚STňúiÍăŕ Ż\_H†5vŘŠąŞă‰’߉5ĄĹzÝĄß Í ľ! 'śf’’ eňŐ.SůÚŠF4CAűĂ÷-Ş^ć_nW2Ŕi§f?-łĹS«g8y˛Ěî¬(á%ÚDŠSF⧡{É~—¤~z8©}äâDĎF8ÉńĂ€˙6ŇŁë°ĂÄqN“á,+Í%B?* p•g“>Â\ŕâ0…lý•G–»Á·Ć‰[‡c'ŇÉˡ$>6şŔŔ])é Čô(ńaWŹpÄ0ä“áŮLsf/C&Ď|S<Ś6^ŃŘs1± H=µň™‚ ,Ó^ĆRâ¬mŁą·†®IÔ&ôá‰'ś|Ţżk´“ř 'ĹŇóâQ÷Ü#Ń$2ąřýcc‘ˇ&–•ŰĆŻXź×<ŚŔKáJĚÎŢ»S%ů~TㄚłKÝě ďÝśqRŢÇ=Ŕ†¶+qĎ-M†Â¨śŘfşĺ_ńBq¬HŕČgNT@ŕyÎj–˘Ž{‚Á-±đ‹¤ů&©NŃ™„ĘűĆ®ďŮM‡ŠŰ#€±ŤA…„˙âGľŠ2}2č˙,‹˝Ú¤Ď(!ĚߌpDPě‘ ¸VźĂW‰îX\€:×6mͧşőJĺ>Ůo, âKzyúOíç/,ş1ŹG™®ONҰĐÍqŮĹHî˛W"kü2Ť¨tŃiť2` yNFđƲŇ:=pîp,!†Ú»…@×ö´“ä2˝ÁćV€ĐŹŞ2ä€ĘţČ9sSd ´”9iť“Ľżëąş—âľ~óŽ.e}OZ&Jgův‚bü«¬šńR퉥‰´AÓůŘ#E4«›ęjIŢqű‡ßIDqďç*—O›· +ţ8¬ë¸éç@ß<&ąŐüQ|©#áŐňe‹›ą>ĺÁƇ™V¶V‰\OË€óp‘ńŕl®ŞZrX, -7ŤŢňuň!hQŮd÷‰…F„µi)@'użÁ} S›du{3Üű{puh[)¨ô%}ŮŻ›eâw>ďÚĄĺŚ*da4ŠH„é$Ě-ˇłi>ě,DĚí†őžyU´łM7ř$˙3H&”Jŕ3I)<ŽçłĘĄŃüwd]¤Áz$®ÖŇ)[čďŕ˙(ŤŢs1ĂIń_­ŰÚfhŚ@»ń¦'?”séĎz»ÂmÍŕňo9” § t…É\•mS 7ÇWť_bfNÖBđ}Ča2úeľ\Wś«{AI4ÔC×Kűo_~ÔŻ«–čýěk%Cő˝äDP´:‚Ě$b$NŃ– 'Zř! #‡C©W‰·ć4í„ădŢ Ç:µë’:˙úKČçzÚŕµ"Ä,ż‰—µăgŁälágŘöYÝW HdhÄă›ushëĆL«ÝßQ"P`%{Ő$%ş€ŚlFŞ”ŰPŢ‚ř ř!*ňÂäĘ(PőŚĂ*lb$¶•ôMa_źZ@-ÁłźaݶKĺWŰ(Y?Ť'{´öË_ÔoŮş¬żň‰Vű¨ĹŃČR‰ť<ĆŃ -í¸%ÉŞŠŁ éż‹ë€ëčx>^Pn±u‹¸ßL› ďËÂaçná¤Ň€¤;‚ô»č?ZŔĆŻđ›ńZ¶#‡ÎnR¨‚ů‚śĚ뤎]ČŚD$8Ă^šľXڻʤ«×7ąnNçăG=ľŘuĹv?n—3Ývź}Ü©ç:*ÜŠ˘łCXÔcöĆ÷łÁMŕičI¶úŽšËí•|čřëěťo<#‡<îLĽÔ?C'ś!š"öĐ·,©±^ä›ůȱ`IÇ_ă…SJ˝R\j@łtұ -¸dA*g„˘†¤eňŹG™a[e>~]†O|;ŹÁőźd%t¬Ř6Jó-wŠb›-śÝ=#fź—k*ŚÓüRO-ďQ©4«:}ů·[ô/OOđčŕˇÂ‹nnFÓZuŹŚ }+Ü k¬Ęçqë ¦aJů'·!¬/‰Îp…«GWŤy{ůsĘs™†Bp‘A9řŽą+ÄC…RżÜ?씥/ţ᳥FÎHOˇ a˙\îPĽëĐ3ZxVĚj¨$ĘS§ŠnśNLĆíů úÖ+8$DćľDUŢÇň·łÍ’P—S˙÷ü¶Ôßr„ÇnŻßÉÎnŠ›ŘöŇ©P­4#ćω9ŘÉdĘÝQ‹sŢągĘ/´›šěń-óŤĄśšó•ňyşŹŕ9­M›%î@&ĽÇçď“#tÚ8 (ÁÚŇ8p î ßJâă4ý[V]±xb§* VD$ZÂŕoŕZ{:â­Âh"Ďý^‚…zvŢ=Ä» -Ń 1©L•`ţ¤ {Ć~‹u=7SÇĹâúµÜ %ó Zŕ 0ŰP#Go·ĺëó,AçďěP‰ąžďá|ćz5ČóQ,˛ó8„TřO`†ťđF î -+ógxtgŰ_Ť PP8~c6ĺÉîńôaŤ—R­Řú„çaÜŮ÷Iöid9s×§bźÉâ†Q4řE=!«©sŻpţÍ'{‚ť/üU2µqÇcLµËHĺá7QŻc"×€ ,‹+"˝÷ň;ó~XÜ*uúHnîčéÍÝZh¶ĄěŃÜLuŢşÍŐ¶ž.YŇoŕ˙ŁÝ?/03©ňÝ$č0şJŻW*äó—<đpŮ5ˇmz˘ć­jÔ˛đśxIj˘š­1ø@¶qűf ËĆŸr\ľŃĚ€öD”8uî;°űîj-·đčÄÝÚéÄDF4;’`ă/°”Ňľ!xŢ(^’çčI8VŹDFDŠZB#GÁLK‰XĎ:ćşy/xřľčú,z<ă]{!ÇBÍôcX«ÍAÝ«s´;Ą8ÎŹó`éŽr§°Ś¬Ů> Ĺm(+áOZ1ă‹U os}ňąb-ŤUž'¸—‘Żu˝xGni3ćĹŐŻ žm’+tyxł>_ś7‚đŢ»0;‰Ö¤ -QJĚÄTç#ßňDÔ?×§'•ĽŐ…ł¨$lşŢ$˙Őw6ĐfÇ=‰ęhTŽš‹f‘w@ąýKęOŤ`;;/đ´´ôżw!QŞVéË …X›ă1ŃÉtřéTYZ‘=›{mHĽÓņJ¬ľ˘ČĽ»ÝZ’ĺ‚Ë {™ µ‚U(¨RpĐ…[>¶aPśâá=’);dBŇtŁ˝% Â2¦óĂ|ő¬,óŹ’×Č+ ݵ´Ůs§ëěý®b\ÓÎ- qÂŔkŢr‚t =ř>‹KlOŢ9Ú©ÁQ»±KTD„±ŮćM¨ź.ľŽĄH5ŐGJ-Ě H9,FE,˝´†^~/E× ›ó˛–¨ÝËjbçŔ}ŇIţj©oÖÚ´­o€N¤î­B  D•nľý?NöÄ—c.Y45±#JÔ<ĘĐň¨ ÚiąÝMyö©×V©LOPXí bË"VĘ-B_˝ňü‘UL )x0ÚŻČů’ڵ‚N¸Ë;eÜ$%l×BT§„|ŚłD÷ů•ŹHPSVF™»©JÄŢ+ő»dŰ:ű{ËŃ»*Ň}hĂ<ťÓ—+ßŔĘ?©ĺ *7[ĎĐkÖZęĂ©2¸ Ő›áM]Ó&8a™ě]˘î;->żp‚I ha)EżaÔŐÁDpżĹě\ŹĎžł4J‚bĚ -ns©Fô…—;ÇvAGypĘöfĚ_6:Ř«˘U.x‹VŰHąg‘­}Ř'Ä0BˇlťÎhqśoČÓ'‰°;IOą˛[;…(Î)M5jöž€¸ĄŞ1rŤ±ü×{čŃä*š5{D;ŻbxYă–»:°Ś|¸µŚĐö^°gYÉp$C!ľě|ަ(›Ľ×Ö˛Sł‡&ŇvúśCŞO˘˘`x -ÚĚóěôŁ8ůr Ő"¨˝]•7] ŢÄ˙9‰¶Ž-ô~݉` DG~jŕJ9I!ăbi۞說ňV¶H"ŠŃ¦–Ż’›• 9_!îŐHŰčÄAŤź•çé-Uđ]ą®\Čý¦ýSŻ×;whjÝîx1/î´Äo‚Hýí,z^j11Íi¦‡IWĺ˘7ŕčŘAVIüJ&“ ůBĹ hr!Şírďçč´ţ-ž 8ÔŠí¸Á7b·U‹0d ˘ü]$×ä ….)€R8 |WśôbŐ¦˝¸-"S4–Űrňý `ąĽiq Ăé‹—łÜ4aćkö6Yď\Ű|źt•qí"bşËŢyĹ™€»@ĹĹé'qom$ô %ď)Ł_4°OgůDkv«ap!ńŹăşě„îJ‘¸+ŮŁUűľĺ¨˘VĐzé}†¸”@&br ŁlĂ—éq:# ‰Ú=ăýŢĆ˝Ńţ'ß;ŤŢÉ}ąę˘2HďŔ =ýläćJ”¦$JĆ/$- ˝ťŐN§%C 1íf&Ŕ˛X{™hŢXP4÷E×˝źw¬IĂ(ĹŔ(ű3C~xłŃş-•žB·î:¨@RÓÇsLZY Öä3©?ŹÂŔm=şr‹~ÍŻŮ쪧dt$˝›ď>ë»Đńz&CJ]ňlç?č|ľp7‚zźí¸‰ ¨Ç*a–ů<0ůÚä÷ŕ>ťtyHÓµ©­˛Üń®|šŕ˘ÔYÎ jkŘçÚű¨ęf_4(ˇë¸öŽ-Ň'2µU/â… Ŕß0TË#%VA§i…Őäé==Đ0“ŚxĺҬ6J¸;áďż°ăťxÁ´Fxl%Ď2Ą,đř*Ô}'ÂÖ°R$,ź¤ ËÉÂĆš—9”Hi(ďLĺőfkř‚Y·WSr<#±Úg)$ŻÎ)&ČQ)Ú¨a¤â=¦˝nÍGĺAv,AU%¶˝aG˘5c+Zcśaę™@ÜąTĎ8ĎŇ›$Ä}ě±x˛\1(Aš*ÂÁfß®$âéµö=&ćUJs†łTŔ#ů:â0bźî 7ůŻş:{”Dń®Ŕą©ýdłíŚh(ŐÝńŘČŇłxá ¬‚n4¤)Üd°ěëM¤Xż—ďW—e˛ëk<ˇ×2ˇĺPˇ”‚Iă%}/_7[‘ś‹Áj,ÍÎ[1Ć’ťŇ‘F8ŚąükÉwвŚĹ®ąëI=>]‡ą*%Pýéˇ{®¸đÝ•ăľmĆý±L#‚›łěá(ăn°,$źdÇ AMcׄ»Ęś?>‰X°š˛îŕmË›ú=NKýQř—!#Ń2. Šë"Ę?’ ‹ţ¦@ZpŁ${q»ĺ%ÔPĆróSľ—ľö_ĄW®U# Äý7Žľć+0ˇ—&ˇB‚—čx”×>Ł¶ÔŽěĂ}K˝Š˘Wźň’„ýW;ËWEÜ™é@ýÄ_ŮšřÝ_†.>Óİçȉ -->Ip†¤Ľrá# }a›ňˇźşH`Őč„I­ŠÄ!ŔŢĽAK$ úZ˝ĄÚw‚‡˝iŞţťKéY"Vj­IöJ„ -űŠâž[Ib¤jßî5€%¶p Ć"]YZ’‚"¦®qÔ-Ú Ý }wtřŐ ľŻ˛C·[h3ŚýĄˇąŕpSĄ§ń[ÎsDč± UĎŰÄňXwCË…,ŠGvˇ -z9i”®3” p+âÎ’ŠuL]»öĂR”A}łDÖ•PݰE jAźűôµަL§ó6ęXcB“Ů±Ô [éÝ럲»ç´[ŤŁ2Ú©Ń»th®ĘŔ±ßąÉ˙«¶Ő'(śĘëضÁĚŮŻđ!?5dŕĺ)bGT9©-qşőűú°…ŇśWşcÖyNĹĄôT8(çשąÎ˛uÝ˝p‚¨ľbqŘî—^Rz2óţĄ! ŚŢC˘ľZ2čťb5>XmözĎ,ź·GF=ĘĚh!ŞŽ_GÇż•„ůŮl‰› g`HoMÔšFĺşpžÜ5ÂH±Á6ˇ8'tžEä ŘÇEţj9+ˇ]¤ńÄÔ“R -¨ßT¦đ”&ňeÎ÷玊 oă ?·ëď7Łd†«TO~HŃ۱7ÝŐŐu2ÉĽD+—tm^.°ýΡ Ť;x6ŁP“Š‹ŐţŻe8wß -ű—|öŮö*=˛ćAť!¸JőyrOŕFUýżú|Î$ĘÇaKC­·c“•JôŁ]LPSë÷›Żë\ʨݕBŮď×čĚEYŇĽ*—ëš(¸ÜDkčäç ąĎh\‹+=áŤVJ÷&Ëa t%g´úřăa¬ĆŔ•şŘ>-©ććť|’ůBsŰšÖ9Ł©Ą{ eŐ Łn2vu·ݶYYHµđéeťĎČjŘ>·#ÇłâľhŔŽ Ë–Ółš®nś3Ô ć‚Ľé–vbO΂ů?~\Ě`řu /ýżę,¶ß­9ÉfÄŢ®żµ„€Ó"¬źâÖż˝ ygS¸ťŤ­˘¶ăŇř+:Ť…?+Ś0óW©Ř·’śa#­€ô!ÁßL.\sělöÝPڰóD©Ľ¶ż´mńąŽŠYÓ|ŔśaT^»Ľ!Z‹Çb°?7YP–„*ąá"ÝwŽŰ6™ĐaSŔyč˛ŔţcÝ´:ö5ÝdŰäçďdŚCx¶.˛sŔÚĚoc# ZŐŽy,ëĆ̰ě3ł—5ňĺ;FW6jŰ´AYe«llďA\™Ä×™÷VÍşgěşú„¸á"„qwéut*­± õ®đýěÔbŠ}Jkbú/yvämËţě YľIŘü{MEňBŰP#ËzVçÇOap´vâ9·Ŕ„2/˧Ţئ„Ąe‘{Ýş„,TŇaPůŁRŁ´–I bĎŮ+¨¤zŮŞn†č3cĆqʤ˝»+Ë…‹…BÂ(&ŻwqŘWş«QçŻ\cťš·.íá ÇU^]űɤÎ˙łăcqC ­bÄ[M|˛Î.Ĺú(NŃđŹÎs}¦yşŢË.$í˙ľŽÉau9ŠĄw4!ĘMóor!rźlŽBîô»ţ‡_lęíĘŚWŮ0)Ä."Pě6aÔaűf貔 ě;E)]…­ OůĽz¸aç^H—C[ôUu6Ô˝)†ŔkePÍ›z[­˝¦F8‹7ÔŔ™zG”ŁŇ5ţĺśľ–ř€VÍŔř`č‘MŐ~,'Żťi˝Ý#ĽÝ”.­‡{ŃiÓ=ęzíеÉw öS$ŽëŇJ\:,=X˙CŇ1Ż,ą&ËĽ;ëŔ۸¸´ÎÜ”—Őť ®ŘXvT ÄnSńŘ0Śľža=Dlˇ§‰cAâłľM>%vŽ—ú…§Ľk¦v]JřÚÂvźäĽ˙¤Ň{öŽŘ-ţ÷—X’`ÄA9ÚĺLUŇçb›b¬ĎĽQ8đvKa{Ďe[żőóŃÔ'n°-uÜVÂXod]ĆkX$Nď3ä3;lćę`ćjk·8Tň*Őř[Í­¦ˇpîcŁUt&yvŐ>t=Ż)4Rî48äsŻćÝQˇ×ŽfN~€Ţ„ůËtÇVOěż/'C“×µ©˙ýjľšřéô…Üe_÷á©*ż+â­wj_ţ"ţ?ŃG­źđđ5m}Ęő19/ĘŮ[ybře ’Dc;,§ą_KibśĘ“žµ -Dx!!űÜ0E«ŕ‹‹»˘‚"Ý^ă_ Ř'p_śçΫ(G~Ů’™Jˇ»Vza{HG3ó× Ô =[okżl -$ËŹđŕ"ŞęźFCĐŽ 5ë)OęĎň?rźąĹB­;H–¤’ľO†Iéd@9î0-B¨É#o/şwŻ{ś\Č{$Ë Éţ†Wí­k^˛­ u+$nËoPÇMŔ5ÁěR®-B «~G,FŽć(q‚ťw3Ç,R>HV°öčcř (ˇ…®Á«Ő“^ş¨Ţě›ä;z‘['ô -ó›*S†§HKŔ?Hłľź•˙»,Đ_Ű”žL¨&˙˛ Wqü_Pvč^DÜ—e1cϱ ’ç_óp~ˇ˝ŘíŽhqHCpÖz"YQž˛ű®k’řŠ ¶»ĘÓ±»wiśť· iř˝Đ şYTmśzjŁ·-$Q¨ŘWËš(yábî_ÍĆv˝a†•™˛wŚl©íä@YO¶4nP+híf02ńĹ­|2(´Őü°FšŘȰąě\Ü·8wă®kyäômŤĂŠaD~ŤmÎě#öîi¤oÜüĚ8n„Şň(<Öö-ç;[Ö°öńZ¸Z5 ů?)YPWW$=ur ü%Ó; -ąsDĘ®łŘ((ą…ő«¶ď ÁÁGkîK›$—jK=‰Â©Ô; ƄްˇYHÝĺĂE,TV§€#¨ĐÉ©wĐ„FvJMT`ŰLýÜ>Ż÷<ÉÄĚ* Î_˘<Ű[ŞÁż%iC|ž®ź “ -ÉŕwLÄúăÁZٽ—ĺďD˝'NâoO·„w“^%±q4ČÁAéQ•y_JLÂq÷ŕŰĹßÓcx]ôi"€ň{cĐĹ"ĺµÇÖ…ďv[D‰6á˝}* -Ú( «źz­xpî<፪če,íDëĚżż@¶Ő=ľôÉ*v™ĄSÔjnęŠÂ=ĄËP¸(íŤOé˘%5AKwŞTĆoTĚ„ x%F.¶3čŽ4Ć óÚËMďBŠ<«ó-J˛>·qZëŢ>Ńw¨Ę ©ějΊĆ™Úő—‹ď2®::(WU<±ęVö˝§D´.ßr•ř5Nj2"Öx¬gń§I>?&˛žý±ç{uÂÜ«AţŐoa(d>äVt:r ęqVőľŁă‘ŐűşNj ´W¨}2+uuýys(:Q x`jÁsí*±~úä-îíCú)çe„`ÍŚCŰAĹ›h‘M‡b¸`lKVÉ73$‚¶Ô;‰EÝĚH%–•Â.Q}og6áQ6¨`_7Ý~č'k´¨ó×}›Ž 9Ţy¬,¨((ĹCć cűů5Řnľçz’\V6śŽßŁ=Ďý–Ą)&đş *׌ý™%QyüÔĹń·őŘż°0â>ĹLá`1łPëľĘÂşJ"DAľ{÷Z”4ćŽÓ’đW.ɲŃ1čŕFČSUě"ąâ:tę­_f,@+_ ĺÍZ+×*×…®Ç†\“·GWCËî@‘-/XL&ăŽZ»­U&{`~ĺđŽßµčOô Ýřń‘í _Zą tfǬnŁHgünśś-Éě4śŠ7të®GČR&˙ŕ(ź¶[íÉ4 )CÖńńĐKűäazB( ę‚aú\Rň"âÜą 'Ćuć"gwQę˘ń÷ňťQĆ«ś­Ö’–ăŞ,ev4$>—Ô.¤ĎŢß$´ÇęiĐc¦“Gu¤DŦ?ÜÍ˙áŕPűb…*ÖSËŃu‡ř¤Ă†ľŹ•…íeç Oąe5ÓäIĆť{óźâ6(‹+ŐůR>Ů1HÁ5¤§Š|qbKćöđÓM±m‡ľ´ÖžŰťűŢŻëwŞ05†€ÜĽÔói6@űJüq3lő`¤ž÷Űu o  @Q<ŕN=ę™Ř3·šI`ŽÍ`ĄBV}…roÜ*Fó<¬Ś ˛gß}JľŚ4»1=mRóśŤTb>˙¦v®2L5"*^pQUźŔ¨6źIŔ:(Ę?.üşzŕś'x0›Řš©ô7@%řt*gŤç7[X÷ňçĂ– +ľ—pż#˝Do“Âh·ĆÝëâ°˙i8úéžäNůĚÔuj‹.•k±ă{ryŞ’ř[(BÇâĂ‹Ë}ě7ĺ˘×鞮Ӓ -~Z—aŮ0Wˇ¦t–ťë -´1ńNÔ¤Aćó’m>ôÝ:Ť˛Ń-zÉŰ µh&N2v 'cJˇ‡C ]Mž/đ Nöq·>Ňsî8î3…¬îŞQ˛§üfďиÂţ -‰šÚŁ ×'6ĄŽ_ýě‘nć<čäB&9[=đf˛© wşo_ýŢĽ1ł˛hĄşŚšőŰ ¬\ 1XĘ -˝|JJbĽůŠmM­É*łBkÔłP1ÜUŕŮ5ý(Ě2/9‘ţĐY\ŕĺôɸ.l×:ôLO&ÂYR݆cÉé»%ó ćŃë.DyÚâˇULÖ[xp8”T×+ŤťÄ¦Lč vlO¶!Ö ?g*Ë$ýhO?5˝»GM­ôeůu4»O—a[ÓÖk‡yJ˝ÍpQCVHŞŚ!¤Úši±űt“ÂZ®ÓyAçŘ~Ô¸Ś–Šw,źňOsşŤŇXRä…1 -µuzU5 Ľą čŃ.*)\๤ĘuZ´ A -ůS8;5eś»©â.0rŤm )ŠVt=«|ŕ˛S`,ĆňŮéüݤ'4"aË4¨YŹnK”ˇlÝ•§ Ef9Ĺ>“ňQ• ҧôżo‚ŠĚÜd°WeŞ«*[€Ü×%µěÎ#zâ©dą…č =ĄŻŮ2b-ďź Ćżeja{¤,©Ž6ŽÄ?âĺ/Đ[č—Ř -·)F›çń• ŤSy‹‚R«•q^<ß°Ň«OR9sŘXfâ˝aťç6ÖÔôç °$=Ŕ|Ë”ĆFŤ+Âdůz‘uc}^Éf)ľ&VpĘ&;Ő¶»Ş-Ńş/ě§ĚVfó‹@Š9 5{ŞłK …OŠ%ŁÝÓ˝’§ž˝ üh.kŃMÂN„ÂAź_Wľb}…[–šMB2)č µ Łů #t[S[÷M|Y3ßÉ+•_Žż%á÷,dĐţṉ̌ĹŘfvHYu/¬oňţŮą“Ű÷ˇ’e¦Ť8©<— -rë'íńśFÝnź„\Y¤E<ńKčt´żĘł0nă¬SÖpTĄ,µhxtăďäđZ¸acŃÔ'î2,ŤáŐôť6u°ś@BEäxÖŚKB>íłBîĽk1Ö8Ýö˙,›)nLÂŮQD‘Éá[ĐömkçÂĚyÍ{U‹ż§1*#÷ďE#ŁQVsjř”„'ya.şĄĂśc/ôá™wć94ÝfđX“'+7Čc OR”ż{˘‡ -Ă<áˇî…ę2ĐöeÇţ!nîHšmS<]§Ú´Ş.çA|ŻFă8̢cľ ±¬‰›@őý|ĄwJF°˝Ş0h_b>$餡s‡¸A=é~Ą1d:h[w»7ú?[{˙LŕW=$SXBĚŞ˝ÜpZî6;^”ö\ńšŔŘy$˛´µő꓆Z%:?Ř?o$Tk“v Î=#‡´T8m¸3efZ‘°ł«g‘ő"L©‡]ě‘Ĺ5)ńF—®”ekžÔ“g2ÎśÉRŽ„1•ŚP¶ţŞż"[Ĺ\ˇL#Q‡ię4ęS@Ó×6ź,“řý´‡‰cˇ#ş$omkÜýoŤôÜŮŚů7äˇ&‘Oš1ë–ŽóĆďząW©ŇępţMëžRś‘ѡGŃP¶zČXZá?n`•\\÷€łg…^y-íŕ?@ä‘âŹ7y~˘‹łÄ°ň:Z -ěda÷f%kđ§“ϡĎťş_Ľ-s“>rTÍÔÁ#ř^ÁOFצťjs:¦/é⍗2Ý=čü€öí‹ -ĺŐ_Ď<ĄYóąg0ÜÁQŞˇw3µV›ß“ëĘx­ŐkNPAWé‚]Ë&Áł ~)gg-«w1!ěQZs§Ę(B˝ţđ’pć -ýYł†ąF¶DĘG˙řZ›p±¦ž_ĹŢKmĂ„m2’‰ÂYNjťüw‚•źny5nz’Çč®q¦ů˘O ÄéMöaA˛^ß‚‰6Ńš|­Ů%\áŹř,:‡f˘_Xk`/bZ1ží`‘Ő¬w—K:Ä v¸EáH;ÓH]ٸŠŰ†Smdž]Ě4óę·/wU ťŻ@Mc§úŽc–cúőĐâÇŔꤲ)Â× +cŃŕMݦťřfEÚ«S6Şł];pŻ 2CĄ‡±ŕ˘žae‚1Ľî}H%4^˝$ÁďCşŠ‚íľ„fŽe‰0Çp •ÎJj‡{ˇŰŹ,팽H٢܂6Ď}Í×/}IťCĄWľűŃB¬dź\+OŤäŢQ}« Ăcc ˝‘úÝ -ůb®şRp–-M¤Ł„ý xÓGćÎNEŃu+F˙ř‡ęáúĚlŐfÖ1&ęÝ­JFčh(ŽPţ$V®|†.8FŻ˙|ý¦ďű÷şHÄÇŔ¸V@飡©Ě¤cMŮźmTq/Đl!{Ăč¸‘Şł4];`ý Sďu-)EAŽDX3ôńň‡éýha·A6ÚĎ<ÎdNëć§‘ŚÄ,ŇőĂ–7łz)Âî…ö> ő‚·=ľmú]čÂCľÖmŽd B5!ČĹ -ŮZ8h†ynl™> śAŔ˙'_xBceź:ŢÚ7׿źţ\uéˇýíKl·-śňÂ]čb˘<}}€x^ň°6Fý=\šéŞ_ -ék”ĆóĘnVÚ?`˝7pš -©ş’Źë™…ÂîRoˇŽĘś’x“Ę\"aĐöZŽ`Ç=ČüÝLJXAĂŞ&$+~řźŇ›HQ4ôÝ—č·ľ˘ň™PeEÍ[#‚Is€€BbGÁt2.4€ÎY†Xö€Ł©5tQ“;LOĎĚu,MJ5xÇ>«~ŁËNGR×öM ľŽÖasăyŻ{ăÝ"z»bů~ÁëÔÍH”eeFË‚®˝0Y.PNá•ď™vý˙=ŞLŁŞý¦ç ŁßćjˇŽQý{µüÎĄMÎ,tâIµÝ4š‡ßľă“ěË!śÁČĚĺÓ›4G¸Gă‹óČ[rĹôÝÔóž÷pWłöI‡ÉG۱ ‘US:ÝŻveA,ü™tg…OřrLĚZdvcÓ©ź›ÓÍć’ćaßµÁUíŁ‡ç5Éiᬬ-§o©űEĐĽ!|ÂQźřc‹’:ϵ -ö:ĄEĄ§IťóüBĆ~6:đCÁśi°Ţf-§Sož -&…vfČJĘ’ji&t -ÝbYXQ:“bM±A­Ç<š­ŤR6\<˝\¤ČŹCxă‹:®˝ô&×´'Ů} {+¬l®T Á%Ú·nÔ›ŤE‡xNyÇŞď‹űYyE9ŽţoÝîŢ;0{Źű˝8˘5Ş"_ˇ)µ#hÎCĐÔĺ5¦ĘĐ>ËšüaÜ︺ÖűîĆ_︢ÓÉ]‰źšY­¶ką^1l- ó-˙t"3ŔÍť\ź[=ęÇĎL÷á!Ý/±t`K™Öţ -zľhăÁöĺŚ^Ń'’b6Çdk\đSš,Ż„=x%żöb#͉/bmě‘Í0ŞťăČ”őä>Šč0?ˇýA%Fě/ŐeXô -±Ń~î?Śč©×8Ý~cČâ–vSyP•ĘĂO2bŇkĺT¤ cĘĄŮşÝĺáIŇľOĆŢpŰűúWćÍŚăŕd­s˛, -Ş:)ží&pv@`ŃÔ‹ĚŚ®Ź®ŰrtX¬ŢňçY¬3–|ű1±kűjkß0gď ł)‚Űr© EUÝ0ä©ÎżéÂŁ7†\†˘„I‰˙ĺIW‚ę©bU寖nv˝Ä¤‚÷Eˇšź¨Č‘vwRűf )Y%›˘‰W=#ŔżĽ+¶MgG-ă±lˇŇţGúť‹×Ě•‹UkCQxµAF:Ĺ"(:Ím9 0M.m’ŻóGäËSAA˙ÇaMńWçč62ŽůOcPZLŘ´›H \|•ýÂaáKháo.$R÷ÔőlTÓs™1‰UŢ6yőúlF`}Qušjź›Ôu˘¬aç”cÝĎűG­±”‚Şłp]ÓYXÚt µ¸ ËŮő„Źk” jŮÄ%÷±Jnţ(µe.6ČAůÇőţi˘•î‚&Q«˝ ľK Ą9ąĂ'ë{čÁĐ4e8ü‘ńÂyJ™ó(QdŠ[Ôą’ă¸=Ň8ëđśúCTV -spÖĐÖÎ ­Ą -|úaŐËvżŚ•¦ËĽ«<ř“[’ÝŹ&źČDś3Z{x/M1•Űt9Ť &šŤł¶OX…Îë‹] ’uuěüÄ·]řÓm$¸„-uńĐ|¬ă‡%ş a‘Ă·çś_čyÖQí×chA˘‚ń¶Pex«•zX`üĹž®ŇҬúT2 ĽłQł™Ý·Í¬›ÄK+éŞĂźb<©ő#O)bD<ňv{2’jbŁľ—mú9Ĺ™×®Jnk‡uĚpŔ’kifşiř„tlÂŤšěÖ÷k®´ążů"<ŤŻż¸†ž*ö&pt˝k„wTŇĺ1I–ěěAVóMkĆ0ÍGuR3ĐŞl˘=™0ˇ -°ÜĂĄî,Ě™ďo—ĺpäuĆ/E+™¬ĚŵĄb)|)ęĄŃkÔrÉׯËFŔŠ<=f٨śěŮY.ŻŘ’á -¨ÄÍ5 Id×č\âęUĆÉű™ţđd®“0ü…•Âţµ&k$ -;-čwbŁĽ¸Ň[PĂS_ˇ¬ç”ôĂ2Ŕćfö ďEŘZ™ Jý5vĆóů‰óă%gѤ36ŢŠ|k%`NąÖjË÷±ŞČőő"C˛ö0lŚ-EťS‚őˇ„ý…Ż -â´^rR°:qšmÓN©Nbőć­Ľµ‡V„ĚRÔ$Ż{¤zv -cAÍt)2ć÷Éź={M -w—÷áđ$AÝo|ń¦<Ł!Ń>]oĺ)f űݍÍh;eެ˘ĂNđö™Ř&ĺXM‰ťK&uB %šŮé/â›&B˙nŞîĽS3đ'ő9X5Üjć˛îň\†Ů++†Ëäđ-š5 ˛.„ŹD/‰üţ1U†Ăń´üś~žŃÂ_„ŁÝÚŁw=Ů.G{ś„Ť™[I‰ÇDľü† ććs® Ü©ęĺ˘ř‡GH5 Ř€LSÇŤ§‰ĹÝÉ|ľÇ‘ٍ>­ŇÁjěI»’Ň„×A¶TÔĽ®ş ×ź]ŰŚµ62Eô~Ľ<ć·‹ăsĂŠ1—ó|¬XşŞ.ŻA3€zÝŮŰ÷‡o–LÔÂăÁnş„Ćďh¦VŢžQ'Sí ŢĺT˛±ËŘ€ŘO.Í'ĎQ}&,H·•<ŠčŔ˛@DëăQ`Ą¬  -q×€ŰqXOŢă3ĎĂp„—f%Uř­Ě úÝ(JĆůëĺbҲÖěç|ýY‡KlĄ,QŞvĚí]ňH9ľ´ôÝď!ůë¶Sá5ŮĘHŞđÓř-ĚşIŢĘ$yąĘNY/Šr‚E듺äše䌠ś¶T{˘[&Ç»Żq ^® I5âŞ-ˇ­ŔI°(ÝW|!Úʱ-+t• Úł!_‰ yÚç®î·˝\O×wĺŹÇFČh†LhEý˙"g fWڤ>5|‚ÇB7÷Ť:GĎ(6$˘ctÍ!§ąt©# }±c‚ eŚ0“ŚnTÄż}4)d÷nŮç XK˝Inđó,ŕ*Aăďđ²d”fŔ€ü?A‘—Rś^LőŞxuŢ–-hâ’ŔćźoŕŠ¶íźÍŠ©>óxy É#;pŤ+ŃS‚ß µ°ÇÝŕUR>áü˘§ľ<ňËŹąg‡¦‰XZ>Ż^˛4–B_lByń S Ăčű%ąŹžÇpaĎŠrH>™yËy>Š*ĎŐ&…pô.K9XUi{,pä"~KôUůĘĎk.ŁťŢć¶·Nű3ě‚®ÎM ĺ´Č}ÇŽR¦3ú %!÷2pH¸ąĆužÝ»ŇX˙đÁ°<‡'ÚéKÜ˝Ó`‚Í“±?|ÎŃ‚ËĹłSS»4!Á5Ú_‘w*śŇZöT!>[©"Â!„–ĚJM©Âc¸„(„ĄFţżPÇj©şlśjY¬rŠÂŠóý^Ł“®SЉ’ťŕ5y" H—Ľ˙ŇżáżÎAoŻp”śĆéKiĐ»Jă´î¶á}VÎCĚd'Rq˛âěŇ;ĆţL ¤ĽW7g×ëĽÎđčFëĹ’¨;W˛i -\zŤäÝ·Z;~ăęCMvßmŃĄ1¨ce aH©Ü3Ŕ/ňÁß šďÄďĽyóe>š–Ö śçZ»đ S ÂßP[éě/D–9A‡çG>Ü^…Ď«(Ű˙CnŤÝcŠ_t8ü€ś^±ë»±mĂĹ&ˇ_ú‰ZbŃôÖŞOŚőÝ—R–#j&ű…«Uűîş‹VŠăŔ{ĺ’]Řţ56Tؤ{+pK#sUóߊľŇ#©7R Z»ă1~?];čŞBňů¸BßŮ0®Ż˘ţ€ęJ˘o©BŤćżWžP:§4÷néŻ)A°Ŕ|íoé5 :ő´ďjÜć<‹ë˛Ý(ž˘*ŠV±ö -}IKCÂĺ§°Ť5°î Br4Ľü_Ď)ŃýáÜ ˘ćďHŢ·iO×ÁëçhŃfŁgŠRČsžHZîQ/,z~˝Ź—ýĚ ¶Ź˘€łÁ°I-î  â˘=]OŚŰ ˝^ĽL%ľřŔužcYĹnÉ©­Ú»cP‰[ýÓźe˛YY=ŻÜ »ęYúÉ+ş)ç^e‚­ŰRóc!)dÄď°čŻÁÓĐ oNň»5¤łLĺ 휪wɧC;„aÖŠŹQ(xAAű%”«Śź_‹Łj˙vĚMąkŘÔбs|˝řŘlKVCÔľ:a‡`ÍaóS -~Ą©TaĄÝŚU7óâ)mâĘśT­öŘÉŠc<Ôv?tĹüě^řµäć$Ď(ŠŮC! -Ů-.<ĺňBYK­ -NE·®{DVÄÓh=€Áő(;íĎAĘOsň”řşq˘˘0·/ä§oZ˙yÖ÷2HUóWńľ±űY‹ËA:Ë'¦ ©}Čď\® ±§ ŔŃzBőŕ܆.:~ ;ÇĘľNjšM7ĺśNL|¬Ľ,$ď…Ş^«3×Ä ď±ßµ±óćÇN…&o$Ż=˝˙ţ$I†śĘ%¨±ŘŕTţdĄ|ś¸®L$éXOáŔüí‘FýuV·‘5¦Qĸ¶ t†Ť(Mçٵ¨UuϤqxr‚%üí, /YzŽ0öWu«š8áŃđ„ď[[Ieű‹w'™/tǩӗłS4Pč|ÖxîĘK鿊üš†“ľŞaR$ůĹD—Ž@„Fđ{ źšďX ŁÝ -ÄJIgŢár ĐíŐȡ= ±9°ąúY­&޶¸ŕönn:8ĹfŐqýč fA¦•„¦ořeÎČ<űY)Ť [}ç¨q®ŕvyFHóľÉKşnnł­Ň¶ëĎß©xŠ}ĽË<ťžßźTG†Ż|Â)FúÔ Ásq/ŰIĎî'}ř(UĺČID„TČD*d€<ă×eػ䨫ÁŔvFKßŢj8- ÔťŻű4<Řäőz•›ąůÇć}‰Öu;\-:ěłîË~ ¦Hŕž˝.ňšsV<™ 'U€¶2+˛ čJ_SĂßZdM©a,FmÝÜoEÚĄŘCN’ţźŇÁ|«{oő«[#Ľ»!ŮŹ$6Fęĺëĺ—‹ĆWWçgł”•RŹ<<› v¦~U¤ŞhČ'ŹPk]Élěß¶OΤ(9 Ąsžő“O E V“ó6ýkšąý(YćçĚôŰVb›eÓľĺ Ě}ęąµö›¦źł+ęe©íöŘc"ČË?gýĎ%qĽëTý4Ę.n´ŠF&€ľĐ9lÝ:‚lˇ!«B6Q¦03-ŕ· N‚şÍËĽłĐŢľ“ŘigÂŔ€ĹŕµŃĽ5h§N´gĂ֍fŕďk7†ňŘ>–‹h"XË€ úšgîóžËrGŤ“ a…÷Ŕz÷Ę˙žG?!«ŻÜěâ«‚(Řť+-­b˙‰hŔW&-aRY J én÷ÎíśOť‚űł@Vęň}Ź¨Ň íôőÉ–9n­ű€Ć«X÷…ü‚&Ó°HÔ÷ÉôwŁ&üL^ô.…l÷ çáîKßg!ÔËnŃÉJl~JÚýHśŕĎcŃâpđ<ňŹ(ČĽËĎ.KčőźÄŹęwQ@¶S śW°đ-"ĂŇ›Üzˇń¸« 8ţ~ęź˝(D“Ď»eÜ?mă€ĆčőŤś-đŠ?„*Ćš!!+ÁŞRŻ9fűć1ĂGQ?9;zI÷e$.g}ľbj†ľTTŤJ‹ŔÄ6yŃw&K$—:zNĚosĆŃ«*1ÂáěSbâľâ"F> -Řoú»˘ÚwT—ü{Â<î:§cł«Y’NÓ5ą¸\Źôż±zd ú/[řQ§zĚ:Ą›¬Ă/ô备ä¤n/ýá!·É[w¶ďY]Ţ.Žwg.­žéUX±š‰ş‘Ľp döIŇ‹›{”ź˙ćgĉä`¦[Ľq‹#'ëL $ĽÄÖßMăřňO’@đF`­ř­‹„oIĎ-˛%:&…ŻDŚR@\ŐóFM! -ů­U ÄAô=žäőĂ{to±ţ˘Ľnc=‘©‰˙%žbÎ=Ť’OqLë™cěŐúă0O:’45ďč«°ĺ­´úÇ˙Ůqö‹„ýĹŔUŻH -kYúń^ůâyő«îô4H`jSżŘX„~'`6máżU,óU…dڂӬS)Ă`%g0ë!µícę )xwłH(ŢB“ŕĂI©óo7N6ęľ+˝OL‘ Ó“uĎ݇Ţ0Ô°Ô5śÍđŰŠB†ű0«Ś™=ĽÍ˘±ÔŘH8Ľ0ą;‘°gÇ`F(ĆőĐ·ö*ľJÖAVńŁ*m€‚Ţäô¸ŤĄ»~ç7şżeE˘†9ëŮ^ ÜĄwô­ú>Č N55%ň>6ŮĚ Ç¦Bµx˙ĽĐ×_ÂFD~Â3Ŕ•dx€ńŁźŚčô€ĹŇo°˛ëJ–źŃs:Ź&°˘)ÂŢ'PÄČ…0šľ&S±3^ďÁ*“żµáŢÉj,Ô<ŚŠ´•~ †Ż ÷É—  †ÇýC.źw·ĺ¸§É j:‰Ä\ÂU¶o´ę)˛/m«‹ă&p]‹ q©ďDFpČ žç;Xu…&‚‹×Üőc‰@Wn‡˙€°S$RĐhéĹqöĹ•eüČ‹V·L†‰noÇýzČ×9N)“(ÎÝ}Źm’”? ‰ľ(^Y…Ň„5yT÷v÷fp[ËżŮKŐ…Ž‚w—ď{‚(_GÍŕYżÉĽvxä Á)ŐtşJŘd!hÝŔPźŁÝ†-ĐÝjř´í×c -}Ö¦Ô›‚ üä%yĽoľ×Đ:}sŻÄ,kí ];Ů‰ą·˘OO˙ř0ňżzEzgBí‚Lî‹.V”rdë)âŮőJ+p8Ćźˇ?«â!¨»ĐÎDŰ—ŇúŕMݏOLB ©–ŤL‘żÎ—ö¸Î—ź××hĽ˘ň—?Cѱ”ß?o7nnžÔ]ög•5ŹKö‡(Ľ -ů!ýłf^!·NbçěĐ`%śĎ&r–É^;]ć„V<€/5ůŕ™Ús3¤şó!ňčĚ}l¸Ť3Dho…ĂÉ×Lµď:@€áS5ýq‡<™?ř\›ćÎ&ăGH¶zj §˝H€ö®NTÝ@ĚSJ«Ą&ŻĺBTŃ@é|ĺ´¶ĂäyßâĄ65ˇ,/ܶ.jś6ÄlŕEIcłđÂ|¸I.ôr’T/Ć}y®µĂ˛ö]ÝUwq [ ŘHöŠćw^‰oGŔrUiţ3Ü.č5ď~BĐhkZĘľ1ËňĘ5a!˝0Y7LĺYlçľs¶Ô9DŇÔíj -ŻŰřŔ0H°CęO:Ş@Ţ7ĐO^uiŘ'öcL"vl@Üs{*”!˝@!öí?)µ}ó—Ä0ißC•ŁÁq–®ŔŔ}ˇI5śE†Ş”L9ůY`-úűxK}Éđścă€@ßÁJÚ§MńÚµúĽľK#ě-´ ÂřMŰéÎ ÂgÂb±rڎ«­Ü­'đ@„ziç í® ’tł™Źč@aĄJđ• ˙ŢË1)°éŘ˙msĹkĂ˙żf ÎĘ4 żHc[®óŐz–1fJ˝2+đ ü‰É®<=´‰ţpgŤLäÓîĘź;1H€tJÉOíŽé€˝ÂĐňäśyŹzCŽ€mĺŇ! y’I4¨–ĺŔN`eD¸0ŮĐ.ŇŢĚtąŁ¦Ş¶¦ČZ@z›ÝÇŻq,µ9ůOÎŞż(”źď˝÷ša1o©ŇłűĹ`I÷ß­aB­ďŃ \ -ďÄŰÜččG>]äZKúI/•lţJzRŁĚ¬5śUôř&*1©ř -mĆćsü Xbžh„Ö÷c×~–Ü%Â)AenvćW+çŚG„Z‹CĚ CMŁçgé­nÁU´˙q§aµqü™ ™r­P†™nƉ~ÚŢ&ĘaĽ¬ž€ă˝€€T‰–€ăsĐ‚Ż€ux4Ăę9Ż5%zŔ¨S×;Ş bVH6[cĺ+IѰýˇqKBn#U/µ °9}>đ¤ŻŇĆ%élöçj 6kă$`2‰äÍrxŐčŰp<ˇ^•Ă¢ůŚ’u›k¨0ä÷!Ú©WĂ:cńx ŢÝ<Ó ˇ¦Ľ°…w:˘1p˝:ŚöÎöNÉÜňŽľăb3VÇkć˘4NŐÖ;–|Ô­¦ÇMw–”|:Ö˝*Ŕ–çéQEk3—ÝŐďŮ’ĘmMIł±đ¸’|Ł.śX*ČďU•\§cBk9Ă}0›ËÉ,;RA®&y¸ť˙ú3.ÇŮ@9VÁnńe«¦^Qbú#¸.UÓEÂ˙lD7ÇCAI(=z†ř퉒yśˇ®wtcPźĂ¸óÚ{U@ ďŇzŞňűhĄďÁť)†wÉ…§Ţ'…)E'V*ů˘ŞAô-ŽF v°;B‚Ďš‚Ď &–L@I"€ ł¤Ăú·ĺąbVd÷j´Ŕ+ł¶Ůý2– vÝt8 YřŮ›Ř\Îޱm_Jęýč ćĺĚ‘ßIŹâŽN˛‚ŽűĽĐ‘ ‚$O9=“=«x]#ĘÔač\/9%Ź bŘ5ŐŻfAÁa, -ݲ(ŐĄ­ľGr¬ös ÖÍTś_3Ą:¨šéăú_ěżZ„VĐ*Ő!=gµ®»h::‘ű‘©`,#ꄵ=’᤺†CY¨Ń&†m;,3bü™xťóLĂtsüşs§äá š2zŃé(±o0ŃwžGmmPáRĎ>YjňXˇ» -ąFë{Í™}­¬ţď˝ÚGr8Ç{Ń$¦«\%Öi„Smqń·?pćXÉęwFl%$/Y^7Ż\ŠŁ)ćŻ­ŞľkšOřÄC˙Ň`@KkěĆ8;Zě ě†í¶"fBĂ[gB‘›ć3ĺ¸Í ËýłőÂ:Ůof×é#Žâ3…É©ZYz˘—Ó«űî…B.Ë[ź&L¸”>§"űWCőZ†Â§/p˛/ÝĚKh°B1ç2LlŐJ "}ĚŔŻlźţĐ˙I÷¨ßaÜŁËĺ0Ji {kâĆžq7e÷=f©°Őű†ßĹU’)&€ASŕ.\EöüÄ g<ĘĂŢ|¬ŢFs­Ń}Ň @¸hâ ŐýÇJWŤHnYm^"H¨Ô;đ†Ď^śëD|'k!éä:3ľ—áŠIjŕ;ęĘEǶ2źDlď!ú5Ţ\ş<š÷ľÝé¨ôâTćäK ŤÉżd3hü ©öbĚfž|vw-aôg˙Í1Ž -YcÂOkh&Ląt}“=ŔÄťłiŁÍ‹QmiyôŃĆȢČIŹm_”hËŠ,mę~÷”éC™e>„Ş ń¤Ďagß zţ`ç÷îw.Ţśţ ČM2VËsäÖ -KV #ş4@vâíbŤ–® «z Ęqmcç ʤȠn—GŹfrţülÇdv¤Ż(ÇSnĆěí÷ZŮw$›žu;‰ZyĘÁJkqVşRő -uTV¶™śK!Čëmż0SÝî:ąe3S-r2›w2ţN Ą(°±Ă:n­źç‰\佇ăᲠ3\ŠŚł‹®ät7˝MîŇŢ­łś§a4~ŤV€›5ś ĽD”Őń‚ŹmŻ(©=ô Ą]]­KçľöńËHąqˇ/4&§”?I¸–CµµhC{—·Léyc )x٢ůúXbşér3ĐEy©[8y*Í´eÁń–PaVî90ëuôˇąaßqßźä'“ -ę ß? ,NŞM°Şűläeš¸űZf—…::…<ý'őňf!ś®šă;ôuG˝˝.(9ŐŘ}VU°hÂżďo#\٧&lnĘ!fó˝ë±öć’áTiX9m—îěp gŠ7ßő´a„bD¸-Hń!ţáŔ<Ľ{V -ť‰zá†;p6ާW©mž#méň)ŘŕkÂjďul“ä·>ĹčpŐ`HÍ·”+vžr˛@Ż:g#Cţ¨RĽ8 l¸rAR_+2U _ý.[°ć©wńµűµKxě¨QđËĄ¨Çúô®!xŢmwýjŤďÂÄÄ> Ś"­0ü¤”ŘĘŔęßΕÁô.ŹţĄOL˛LW°!Ť-ą4řÎăcţj´ŇjűĆ‘RS~ ZĚ\ »ř>µ®šL⡖ˇ[ü&~‰kę“GŽřĺ·©©ěCm&ͨě‰qĽ0Đ3 ?eť×›ĂĹćčT«¸^·ÄiOn˸ŃL´<-¸‹z[ =úÄ:ŞuĹÁÝOłm©sÚć˘?ň‹ŃzâúS|ŰgcěŽ;E»a ç”GĘŚ_¤FÔßżţýU ČĹ­CţÇŠ"ŁîŢÓĂ1> ^E&1ý™‰]Jă{ďC€(ěľăÓlS®¶Î¨őW†b™–0Ȣs´\ -̵r%ü=čąsVVbs¦ůÁ슚ڠ>čQćłł/2ůťÝVJPR@ýúéüv‡ńv(đË}•¸_Ł‹LĎ9‘Z,4v˘ŹHŕÖ#Ś™Ç™Í-ţ¦ĐőÖýűŞŔtVÔ…D˙3§h8bÔŽş#X„y¬§é*{ThĄâŢý—¤"Ó/-N/ďlŘq`ç'#㞤¶ľ†ôÍÔ7Ýń–ü"šýŤ|?ÉkÝ"ŕ?ĂmmźWí#ŘťZ’bhBýąüĐćľťůžśŁ (AL¦$ÓąlĹ’·Ć=%=3 7zéšč==f0ÚAŃTzĚAz ŽčBśíOżł˛âj`®ŚľŘýVäa”×PX’H[ů#á›Ű}0ä*§—Ki®Ç‘“ˤ]ZŽLéÁş“•\äř.ľ3÷8‰‰ęJ˝˙Ć1y•ľÄ,N_őžÁX×Q%Ë&Ú¬AjćŇ™ZĂ^3>»Łµ»^ó—:Š…@Ňđ(ęu/- -eÎH·™f¦ç:¨÷Ůß5‰ßk‹_0Wâ@kâ>ݲˇ¬Í&K(±g}řCňKşżĽÚ ›Ć» ™ú˛‹ŻĹ>—gTąsçŇT9^ âřbó«UĎ[±üµ7«ˇ6oĆĆöA쌛&MĂFăs_Eđ=qˇ:'SCšBáa -‚%Ř:ŢĂ(ĺs;Rto>“jv¤Ď.q˝á«ŠoúKř—Ĺl—ť,˙ą˘®ű.KCb¶ń'EĐG§Ć &ä -Ü„šşáx›+{eŕăľř´—™ó¬ÍNř-Lšéyµü ŢÇţ+Üdë”Rîö"ĚL‡„±©‹+ÇéÖÉśs]–×¶-ëůhtݶś0AMŕ¶Ľ-Śşqš^,÷Ć:Ű  -´osřA;©Íi†Şú(˙IjyyËĄ-jC±ľ•„6j‡ÂéQtŻW{ţěöŁ> -Ş>ľ@v°Ći…$%2®ćׂÚ2hqňGžźJçóXt ž-X4SĽg5Ť˘WB¦ň:fÝC¦N&G÷Ď›ŞĐQş·3w3|˛yľP’— ”LŠ×ˇ‚ZÄč`.]CY6™xVĎđňg-ŚPíYÇĄ‚řÖ#áˇÁ¤öŹÎqôĄh˘ô˛J')5ŔX»ĽčQ…Ą)žr­E[7ő `n’’ľ›—ŃKëpödŢŠ¦]ňx6íß¶¤ÇÖTáOHV<Ä/ĚÍňŠP ·Á$«9cÎvť4"¤Ć|+rm -ÍMşyś)öŻ\ź#Ö´TK~©Ä–hö‡$yĂŃĽŇÉ‹Üe1ľ¶ůxbłÍÄŮóđťňѬĐcÎ|÷îŔQpÝ”CćŔçĂŚ$n^g3ßY_Y×X:#i&ď¤Pë·ĂŔ‰OöE˘!ąŕŮAŻĘ$'’r6ڰZůŘT7ćúĐÉ!J\ÍŇLĽ»Ű\Đ|ŢoźłĚý 9 -qf‡NďéoiâĂóqÁ€3HV=„¸îčŤi/iZtź1î1 úIz…źJ«źL%şqť2©_;$ś·™µ&’şĺ vV€‰óôô1Ż/\“:Ľ0fFŰAKŃĹu2C˝t›8B[TÍçéŐ9äŻůŮP"x*¬Ą ĆŽŘŚpĺrwyŽşkAĚ/UëĹńä‰ŰŔCŞl+c~ňŔ^¨"Ú:†,GŤyůş1QÖ«©-€˛7vQîÔ•E+¬@«ÓR#·4óän3á¶˙z‘Ó)kMRµ¨'űä<(@¬[ŤĘ,!dżÚ?Ş[ôľ5ÉrŁŔt[÷‚öĐüˇşŁ8ŢOŃŇŃĹRyőŔ,Öż'Ĺđ ‚Đ9¤Źíś¬Ç.ۡ@J«XRáŰ0vNnť·ÇXź3vsĄ¦űéÎŽźőuŚMż–zÖ–= ZÔ!ŕîՉʹ¶Ţ…X'ĘC!k1ȼ蔋_kOeý‚Tx}Ź\ĚßÖmĹ–†},˙+x2ŤMv°Ň§p§˝ÚBŹď”‹^1 ÓŐh#fšDÄčűÇĹcĚÔ{‘ˇ,ÇďĆĎ0SžQ9ÜÝW†šć±Ă‰™&ś‘aîk=/ßRb4ŕíô*ŃÜnŻÖÉ0ĐRŚöF:G*•»Pw©ŰŇM^•€Ł¤ČeČé8ýá öB5źëCžŽíÍîśwr(ě:‹đޑǖJŃjo™qüzŢ˝Ž5©›˝ę˙9č n?xm -D8u¤ĄĺÝş»…ër±µŁ ”z[ľ!ä:ĂĂáţU+Ý"ˇËŐ>Í”Ő^Ł;Řť|…O®«ŹržĂ’ĄµđľĎI×ĘC6ŇTSäq”aăűBŕ­{‚Č>jZjł:‡śŮż-@蹬Ľ0q˙ŕc=şAÄY ę“odjęűŢűFÖŘ—ůcC™Ţ0ôĎĎËžĹ6šBďe¸„Y» ®žŮn©ň±ď§Dˇ˙I_Ë,˙y ×LcHY ŹsQ+öŃŹu¶Ë†_ô9€ăËDÖk3šŃ­H%7ĐŰŞ˝ÄvŃÇ$†ĽdiĐ<¬ĎäÇâşďt®0Ł™ő9ÍĄxű‰ŕéŁyĺtk9Z7á8 ~ˇÖxűŤ—NăGfßŃx&Âčoî‰Â÷›ÂćG[ýřĆ%µŇ™77Ř3™N Ňţ…—(áĽRęÂG禀·ś“•ď¸í­PĘ.<ĎÚśÍ8Ŕ›HOWæŚ#óšSÔ1‚ă6k(ǡMޱjÖäˇÓ?ôÄčSIřn1X›“ęvw/5ęüŢóC6HČTYoÎĺ›u5©Yxő CÎŮ€[¨éÉ©ĚpŢO°ţ.â˘ßľaó“â ©#‰ncĐĽ¸X¬—YşÖ|ă]*±]»Ŕ6}r›”?ĘŃ˰+DĘÜ$Čřrç{Âęć%Ëm˘¤łě‘ÝgëѬ™rĐ,nŰëd łČ:˛)Ácč\ˇ¦“€,žaŇŤsęŕĐđmXŻSg7“Łéššýí’Ö™0Ď”Ż ď“mtD@ĺö&}Hö®űu,ę–;ˇÁ§  äʲáţľć|Cţ~>¨€ b«1}Ź8DűŐ¦ú×Ř:çń´c¦MĎQJ_bAżĺ*Ĺ˙ĽąšM䫾ǀjÖHµôF5Ľa§Źp>´!˝·×\‡—5‘ktSЧđ™Ęß÷nľQ¸X’č -<*ŹcÝäýďŻ/#/[Ąp"*ń¸ĂÄ -łŐšŽz*ŃW>Pó‡Ăĺ: AŐţń„(1U ł·5NR©Ć”§†ädÝŠ5ĂĐ菸2)F>4fĘü7ŞoLnI»7ܢĎsA›i´—·-^ť†Ö˙żjÖ‚(KĹ6‹„@/jĆżN^Ą˙ eúĂč‹Ôř†˘ş ißK‡ Ę÷N{ŕOKk§%•ŘË⌍bNéw~·\ÚhÇŞ˝źĂAô}¶äaôŠY˝8·—ô’c4h+†F˛˘ôPR1)ćŢ"Ó™óŕ•<íčÇ™ş9ńsAN±ěó¦‚tnnŁ›qT+ś2۱˝k!ýÓÖmÖ鱫÷yrN'Ŕ j^RJ˙Î9źÚ–o>·×qís ŁMż¦3N¬Ó{ÓŹ…“*¶ ÷^/>”´ß–jÚŽGďŞŕnFô‘Ĺűt*Y0*Ž/@ů)ĄUëžcs-g+ +Ť„ď8tä`ťFŻlQţ°yk*ŞHY=%č‹m¶a/ +¶Jٱ\*Ś DŢ -•´ÎÓ8éŢÉOaŕNH#\ź€)(¤{‚á$cĺ±ÉŻn ™ńł‘Yjť†ż‡Ďď* -ŠĚŁŤóč7玟˘ÇyU[Ŕ&PQť$ăm@ÓůĆ9úěűç‚c`űvÄhÔéOĄ–3ĽÖkLĎ,~(6¤0J­`íNyd6öqm.ż%j¶¸"5žâXřTĘďnĐß˝0ÉmSĚv wx˝ËćAę ÓO2^ů.yÂ˙ţ›ŻűT/׋ň‹'(›nÉftŕBEăÝYGĽoýő§TD˝W/h ŕ'N`b‘«4tß’˝ŰŔH!‡\ţű·Žt†’DçŮüä`ó­€b ut8eDŽď{7•mQzď†7 j˙’ ü[eLĐl™fĚ&ä=éç|ď‚ßäŰĽđ–»>Ştćtä -'Ďd®Šu+X5oĐ®âłÚQoQľ>~sL5üÉnKačĘĄÔęrâőO•şÚ5čkčAÇŤĆ?ˇ‰ŮE nŇo÷·…WŞĄ®z“í$yA>¸ Ćť\Çlđm9ď4şő±ş|ďÇ7°eRÔG‚K€ţĺ;T»ź®d낣ţKҰÓ2ˇËšŞBŘ<Š˝§;IüzŮţ -ţ;-Iä'*Fî‹đ‹ÍdÁ&âďťéĹ&Ů×in1Mä8H0 3]Ř#ľL°Í Íax1ú5o4IOŤür!VŐuâ†-…ŢŠ oŠ;ÎŘ'˛čY}ziwŐ”sţÉł`)ŁC¸pÇĂŐKK}Çş<ő7IéęJĚŔHŢŚú“Rú‚ęFŔ%=UNż0D)D›’Ŕď”ŮÔ'„•rsM°Ö:đ˘rŁÉťAwQň­ĹçęńîŃ0Ľť„wľ Ěôą §›şa:¸ôŤżťj:ĄŽďd˙v,¸|7¶Ś$oGoäŚ$ežhâMËĂ5Ćăű |'ŤCŕ^ŤĽÍţË“˘Q6±˝¶Dci9 -vJŁš<ô–#3k’ęönŹůXk®&"mé“ó,šž iMÜűś˛núíGĄę×rńÜ:ęGl8Ç`l´ĽaîJ/#™˘‡äcľ’> -gt2h(ĂYŇ}žtKŘóĹŔ­V(÷Cěóí$3Në,'0˙ßřE«Ţk_Nf»Ś qkÂ'äĽę[¬qĚc7NIÇSôóžŮÁV™ŤĎňpů‹Ö°¤Ä:UýňďcęĐ޵™Ég„"ÔŚMËě\‹8tWíqvO„,čşX#yjmÂŐ5µĚ9…5˝Kh0Í%®›a‚ő©ú(=Şś»Hř  ’ą§ö—ý•Ůź~S›PşÍŘ5× h¬ŰMvĄF&?ôěi§\—ܤąşÜtč+Â)Ŕ*a( »ĽŢô ŔGĎpýÔ˛˘Ś«EPˇŔ’śÂdhđqŽRˇž9/cëÖ/€PúŇďîŔŮ´Ç7¦ĹaÇZŐ,`ŤöťľöPŁĄ_๬Z˘Z×ĐěĎÖCeŇžFŢ×xöĹű+^zŁ\˘ú'ě˛#ꛇŽďd¤ř}†«A *]ď¬OFeŕżâ$‘Ą!­‘Nˇß­I+ŞłůäoˇŞ}ËiĂăŃm1ü}m0,NŔřZ6üóY¤ÚNĄáZďů¸§źâ"Ëő ͉—;źĎÍńo|fHZsKq]“Ťź>˙Ž;·Ó¬ď"Í˙›¨ŕĽY1‰]pmŇ´W”~&ąäÄJ pP,îłIîPP·ŤVŘż­­ÁrůWNxóWńE•Âç{:7–¨ň¨ĹˇPźwËŹťĹP‘VÚ)—]{ »)ÝYÝgY‡Î*)jşCuY‘Î4S©Ó/qĹ IYEžôĘE–~ű46es,hJµ} 9+ĄŔ×u]”7aLv!ô0ťkŽ(ÍKfpŐflŃfiSI°µ€b7ż”sľ®Ë'®ŢŔüĂô{ˇ§„‹ˇ^K “ 1DR M~óŁđ«l1ă<ň¶;gÚ1-F^tź…p]§ś­n+lăŽćő¶^88"¶8 ?±ŐRô6ĹÚ°ĺ:N¤ůeîöX]o˝şvÁú-ń.-µ„7«P4 ¨»—}M|ęĄöűđ ĂúšQĽĺĄě@W[—8n2ëşđ¬‰óą‰SwËCł!čRV‡xĘ’ŮŁ”®´Bś3Ç©cRö& -J¸‡ä[ÚTYůuaĺŞvţÚ°×Ŕض­˙my(-k®Kť:Ĺ|QP-ÔÉ ŰăLËU/Ô7fŐúĄßôŻţtAeR]űó&Đq„‹€ë8ăN¬Ë!Ę[AIŚ•U4©­IńlÉ3“RYub öç‹ŢŁ)Ś4;˛Ü ×+  5Ć—@{Hî¶SlpěĄU=,ä®cG=…ß$Á[óNé‡óŃ\< ÚŢ'!C ţ¸Ýż&÷€ŢIłˇN‡†§%ŻJ)Ôňßr(Mn˝óÝ. &¦2Mláa`Ă0~dyŞŽŰ§ŕ8~¬«đBŐI -(°“Úă7`MÜÚĐ@bĚŻŤZŁNÎś,śÝ/ÖWÔŮĘDnß{†˙D†Âń#5+Ěŕd÷®p4bÎs•łĽË‹F…+[Ď»ÚfŚ>KÜqľř çŔź3ćëšet1#ÁŽESc’Ž3«CçŻŮ{ÁA-ÍH‡ŽlŹŰJîń‘׆5+40RőŇ^ů Z­6nOĹÁ:Ç{& -P ·:'OK‹cŘĚŞcCńçŻ}oçę›OTK O—iI»†ń«Ł¨Ë㵾T -€$‚Aé—áÍ™rĆ~$\€˝<-˛ó‹h{4äk¦üW˙”ŇńyK–ć˘Eă†Ý lćŮ3 - v@„‡LG@ۧ÷uWíÓEqž´ÇÁ*îŕy†>ę-Ü•e_@R<,Ë·ÜX˛„đc˝4íČÓ_ 3;ČŃeAȑ’ʹ䡸ţ©—Âšš¨ŁŚiá¦FXď?j—— č¦6ÇŞśG$⥒Š&cT™ŹŞăš†ťąŽŞÉŚÇÓˇĽÜW57uî°ŐĆ -ôCńâü÷aÍ4´zKĘŠŁ˙˘ÍÝžż.ęśěâz`ćO߬śĘS“M5_´?GĆË.&°őb¦ŮřŢŰ:ęŢň,¬ţĹđ:îm˛Łî°*¶Kě·Ôć#^Ć\›0Đń:ëŁca9J ňUb Íp.ť»lA5TĂ‚Qőh1Ç©Ş\ť„‰Űôď%#€ą2é~daBŤýżX!cťĐŮjÍĺ’¶ڇO2r–ţ f7d ˙E<ܢÜ1-ůHsńţ’–“E|2ĺ@·uĺdL6(í =¸ÚeŇ&3îh %+¬=ké<¬×EÄx“9ۦ) «AýşšĂ7ť$Ď(žď:ľ~•ŐłPşő˛Ş±öŁsµg+ď@ÖřU'ęÚâ'qbÉţ/`Š,˘…ť -šŽÎěÄ’y‡`ăŁ. I5\˘˛úbnş9PßáČoą1ß„*Át„ëŃË‚“ŠgěÇ]"ÁÜĆÎ]ć”Jś/—±}$3şB% —ą©Rţ´35Ű' }kęűÁ’ˇ+ŕđé…HwŔĚż‘Ĺť±¸_žř>łW.J%/\řŔµµaË;r„)Ç;9€†ůďŘ\bż/Ţî+±Ý\Őź!íüdpÂŕÔDulćmRÜ滚.ţhĆîl§s´µÚYśü@ż­Ł=HLŽČŹŘŢŕ7Ě0J&’ŚˇŇŻťÔĽˇšÄPí(@âó"+¸F†Lš‰s‡ć·¶Ýą#(2"P*.B]r×Ě÷ĽvlŔU|ű6Ó+P­‹Čh–•’«ÁV$rÜA6eúčŠ;9©ţý¶˙˛‡ď±KĵYî3_a$T«-&ŁĽ7‚dµÁŔű!/7ą2C “€j†µÄ Cjä­VLz€Ăâ [ë'ţĐŰęc7iGhڱ'dŢ|NK’)Áy¤´<‚Á ÜîG§ŇéűO3Ů‹ţ‰Â)÷÷µhA ÷“r}¶“eĆc@YőO2!ň{ľGŕG1ŻŠbŰ“ĺđ,Đ’•\%ŻťŃEV?îrçţ&Č^Â’Ś@C8©¶ŞäţŰ\×höüĆ`†@‘ăyIţ©˛Ž©ĎPđ -=K>‘qO"ÔUćD$Č,ŤŰF{M°Ň„sÓ¨Ľ T>-ëᦚČuCô-Ý’ľ! Z¨čÉ/%±ŞU˙č’jě?t*ŻM?A©+>ë´ßHÂ5¶"ŚŢwQ‘™rĚN¨5ö–'~đ8}Śűöî‰L QnŚĚ?5Ć%ý¤ŽĎK†~¦K›čLWÜăń54gáÎTß*î3—'@j8&D2ůżÄ<ŰŐ›™~¤î'üž@ßé{QÜÂ*9v±»ňĚ Ô% M:g„Ľćr:”yşŚĚ1ľţ‡Gµ -´óu%®Ź9őĆĂ0ÎŽLň…X°‚jAÜ“Q¶¸Í“çZćL[ĹH%5®8Ëw!LĆe…ő4¦K}K§÷VjĐýŘH$…Ă÷hcn~ďM˘&Aež*ä’¸K= ľUs.*ł‰ťŻĎm;r>ľMp@•n…‚lb ĚlPx/¸áĎWd?}ąâ\éŞúú`TqěXŽ˙˙«w2’âě6&Ĺ$îö¬ÁÔ? ÉYŻ7/:kmB˝7„AëňŐ˛ű÷}<.čRz#¨îžxSÖ·żYA ¶É“ąX(đBofb@Ď;?c]^~´Ă޲*~âÂëţ*w›tě¨Ř«‰ ZOCý™˘©˝äX=&ŮĎŔh¶¶ő{˛9?¬;P±¤Ńľ|+·ÂH¬J˙5Ô ş‚Ń‘Ýa%>Ć"/i¶^B8Gc‘%¤¦gtÝă‹Ë®#`q{‡Ä\ďŔ´Xa8ż|vvśgÁŇGŐµL»ăđ fŤš~ÁK‡ť 0˝ţľŕZ>/đ1ă}€Ť Ëc­a°ěmşËÓ×,˘5¬N§:bĚXc•Q­S ę­ Đô8·~ˇ?őĺG" 2±Ű]1@t’tžťYáă©Äeµ†h´÷Rć? L˘r„c|B6E‡ŕ/"EĄĽĆĚŹbĘ.h¸‡@Ľáş­_Qx¨ťűÍ“A뉭U‰VßęTMGˇS¦EuţŹAśŮžN]ݬöá’g1ŘD,¬Ą]ćĚc ˇ@Y<&iă]—lU‡ĺëˇ_·I…«ň7:%žŠDOr2Hüwń×; -íŇk÷Ľ­§š*&Żž!¬{»µĺNÖ™×@č†ĚĽ @Q«­’µ!3űÔěëÍłâQQ/ůe63`p‡¬şz{Ţȸ´@złŕ˛p7×îÝhÍxf’jXÄÓˇŇ<wÁ˝)ě•főřRW0’Gˇt0¶w -Wß’çíŕ–RjŃ› zĂyźůč nÄízĘh»F(śŢŻ:ز0 Š38×äŤéMd:=“ĆřU:mM]L\»"ARľm¤b`ü#x&ą´Qč‚ëWăĄ?÷Z< Yéä|ĚęHŃ ™±AŽĄ7Ď5řď*n Jçă -yĘ÷E–NÓ˘˘0†TĘJ`†ŕ°f­ĺm Sâeë ű¤“yʧ'(ZG˧°ŃéOŘ–ő_[)6ˇč¶Ë2K$áMxJ^Gĺ‡MĐŤÄc|>L!ţ¬ż—˛ůp¸fîOűJŕ@ü<Üęp±ü¨%H€ßá]ĹóídMŤÝHAú•˛Éł™.fU55=F%pëh~vĺQ"1Ę\pJ`Züú÷zĚÝťăBcĂ´ßŃC$¶´yąľsőGÄcyhĐ_-ëĎEN˘Ü× ş@c {žÎY„ }ümk?›ź035E^ŰgĺJżÁh|~Ńfš;×Qśj¸7ÂÂüěć¶|‘NLB’TƦÚä«+"đ8«ŃN]E`\뺂ÝQ´ńFŠ%sý‡Ľ— Y@Fąí®kŁÁąyˇÉËŇJŰ«Ĺ0ŃΤ‰ŰřźŢ:ĹáťdÎg¤`ďĽ4Ő$ŁťSţ¨ŘĽtŞţłüźŔ8ň1±6Jč3X`GFZĂÄp°¶eŁ2Ôˇľv)ş¶ë"nź <źÜ˘}Ó&‘ˇ)„•ŃŮĘ&}wćđň« Đ>ÖwřŃc;éŕXT­'¸ór4LČ댂.öŁ7—ű(ˇ `ě Á -IHŤŐćF»Čă:ţôöW®}Ę&×q9ädxîz?ęâDŻvó вÝÝ> čSIІÖŰÎÉ™üu–_ -2ÝpR»()ĺX€ţ›Öqá9r'B s?±Uw«– Bë@>E3ĎΡ0¬ [Ѝü˙0[ö×ÂÁk÷ň^+-D{“9)¦řšÉ«ňőů+N÷;Ň„ň±Ĺ#§=ĆI<•ě—U&očo*×hB G©·b=Ë4…€âő"g{ ý4Żââ§rZž”ÁŁ Nă†ń€ŃP×Ěn Č…E*á:ÍúVÖ*őÜĂ'¸ÁŔ*ý8Ŕ/ëE×'F,l1ŠHp›UďP|QaݚЫ%śŔÜ™%}i‘\Eé¬N—ÍÉ sÂ÷uYŮQV‚0.ă=Z€†˝ď~;ÄxéG=;Úä[°Ű>e)‚XFT„Xüm…YŁęť:ZGmwYĐę˝ i^”>ŰůN¤¨ގş¤J„& ďôKdPaŕôĄzTsŹá^ěżŢJ“rwŻ(p’hÖ ŮcťŠgÍ‹–P::ŹqR_çĘÉŃ©·5wGwÇłdĆ\¤u¶öÖ/ó=ĽKX -Ü7:l)‘w[µâľŐL˙@´Š’nÓµEšÓF7Ć):C´żąf}´ĹVd…\•0·h$ďî4Ü\]Ýą8tEYSgßÍą[¬Őaľç@eWt_‘Ę\ Ęěă‹§ÓIaŢńŘŞ7çë¨&J#`ĺ:kCL!}=w9áîT>/hAí©ââęđJ ¨šő@Řľč€fugJżpę‚«íô‘×@ř żí±PŁj§6O'Ąś29Ľ€f_×µ_ü}ÓÜkß×ÂŤ¬çx€“ŚSĂϤŠÖú]Ę/n -ë˛WfÔn‘쑼qî«@v˘9ě±B°ÎUksx~Ý1Áş¶G’¶‘ ‰čµÚĎú(^8‡űÄQő•ý~żh< ŰE‰·Żń¬Z˛nb‚ćńýÄ]«˙ôşŃ1˝nż×¨mšXăŞ8ůrş­ x°ÔsëGΠM͵ĄCŹ‚şŰşG ¬löŘ{Ő?NWyľ›=rNů˛ĐQűÝ,Qíĺ‹3ţI|Í뙼÷eY'oD Dq’.Ĺ -2[¸€ĽV„Ľ€ŚăŮžV2»Ź·ó‹«Ě w! ÉĺF )|Ő!ćöˇĹ`Äi5lT™nÔäŃ=řĄ¨Ă… ío,ś!(ô»ęi…2D|ŚWűÖ™…^‘{ö­µC_•ž[l ,Xó{Ë©­‘DȩߧîP-*&M,Oż§ąě:Q÷`$UŃ®"ý ŻĂ„¶ŕipŔ=ÉÚAf;ÉË’ŞąÓÚôX­‰üŠö´\6 *gn± γŀú×®˘ę‹^uTĎă…ůsQřk[F×˝ŕqŮ€ĄUž9Řŕ+× DnV‘H¦5bc,Řõ×bP”1ňß+›t¦đ^ ˛hşŻ&;™Ö8'§đ‹×-iš¶‡ěNBŔôú:oű¬¤b‰î`?ďß+®FjŐď^[:4wÂĹeśˇĚg.Ó—ă^ĐŁ4ĺÉyÖbł9›ŻÖł˝äeĽˇ÷Qđ)V`Ź[XĄ»NcĂÜ!×eg‡A‚6U›ÖĆ,· pAŮĚüű·ěŃăpÂŚî®c‡ä=§;ÎŽq{oĘ -vQŘoźý›3Ţ9±–I?|¦Q˛%H7eţřŢŤčhđĐżTFK­´e|ţo.řź!OAM,Çđľő©{ąÓ®™Ţ”§Ł­}©ź(6łşmÎjL0M:h!]št¸ý÷‹ĹëR_ Ú©r9µTĎŹł>ůĆmĂĽo7+g“ ÜPĚÔŐC:ůÁřţ]ž:‹˙{–=Ĺľ †Ą*¶4™©ć!MÝ 0ť5ťŻga<D%–B’Ťť‹ŔŔ~äs›÷f‚bZ˝ę_>§Ĺů0ŕŠ˙ąó.˘„đŤI¸pţ»×d}’pđfνlŚQ[ăů" :)#–ŻÚ˛Ő«¶-ŽěÜĆ“`N¤Ç$žÎ–î=1tt´Ď&܉pŚýf˛#Mű°ŠNźFL;׺Y#îĚ(:µ(ś˘żß¦rŽč×Ăžyt˛”ćYÚwSkLă&>“˝SĚUÇÎ~–“\«s#„"«¨üZŁţf 0ň1*v\ĘgĚç´î)žWÖjdčĺĚ>ĆŐ@VĘH ĂÍ,Ôg%*ąúv{ĹPcX#ÔTČ ü„ů×)žZÜ%˙J8˛Šô"Ăä”`v$M =ĐjKŻ,ç,Ä‚•Ł@IťIçÎ;Ä&”¶JŰ Íś‚ńD”ß÷š…°Śš*’ă`"3{ 6>S €–ZM9٧t4@+r÷Í96ôońţćÚ—]«ĺöë#J -ř#%ŔČ—w;F^>uXnÍŰđ‰`6nićěŔőă{aDÄBĐ'TFL<ôA_ŕAXţtrl‹BĂ wő3QŞÉMŹCŚ˝QüśétMř5®˙4ŐŞęq¦ôML›]-Ăd« kd [SĚc[0ÉÉç—î°Ň6˝™‚~†ŹU–üä,×ĘA¬m2şŤ˛ Q•ěç6Ő¦ŁojĐŞĺĂE"¤)KÝ$…ď¦ĐI®Ď[ýěnĹ“_Çw Ď+3#K–ĚßyJPĚ4ůcâ¤ěŻxZĺ@Žy~lÁl .}ІíÄűź}hšŕŇN]'ý|~Űgď(Óž_cŢ<Íň“6ÁY_BÂnhशµ -»#źŮ˘ž˘ŃĽ§·/H‹ľő‹q7ŘŐuqťů\‚­›ű±â»Ť·8Fć ŐAU%maJ¸ý"ć3u„ZšęgđŽ\Ĺá?'cV~âŃ2^G%Żö¸8†ýŐ’sóAڵ$L"Ü/L­ż(˙Ďié𰲀;ćüć}ŚGöŁU8·ôŁF7’lăą+ă~])HgâAh=GŢń:Ŕ ˘ý¸-ĘÍŚł - ú”7$ŰŘ_*Š")‰ľýĘžU bň\a§U{©řYďÄöÉ!#7bôęř¤9áÉĄlß4ý -QŹšE>ę5dE0třpÍ©R»î!wŹăLŠy™BŚWőÄťň;VëO¸G€‹d[âżC4˘'úŻ@éÖ˛Či%ůyB¶G‹ŠúŕĚĺxî2\`Űúî8áx¬daßR€|B\YhëĎçWŔ ¨×Ďl«Üo$üÖš0Ç‘…ëC|Ş7U/L˙çYî° ŰSiWpăRN|y€¬‚tT_’Ľ+ °ľíľ¨Ă—¦ž0ă(%D¬Ů0=×ŕô!ŔÔRm‹ýŞ-Ř4›[ţR_tZ Ż:ŕę¦*Ç€îîB,ôżNÉIháM˛.R˘)Ł5Ł´oyˇvGC44Ws3“`áâˇ#Ër€†˘6ňlÇ[`8^R« `k7]:jđžt‹|č×kÄ‘Ňmű×üu¤ŹgV\i4 éoĹńjČâTňPŰ2üa]ýš»Îđ‡Ř}evA*ÔĹw*˙fŐ(¨ŮŹóň1TĚ–¸µ3dVm‡JI`ésŰ‘‘ŚÍÁţéČéŠěw…<‰Z)ŚYťŔ ÎŤŕfެşAQs\Ś…!§ ĂiŽTnę­éU¤đ‘ŕŽp^†U­4 7l°k/Í eŹ2â_ š.8jă×(_Rq…eđ×Ň.ĘÝ÷Éĺß©zżŽCüEćŰ˙iŠĹ˝ö‰ťWó,â5OťHľm!¦Ľ¶ÔýĽ¨čÁ¸¨4]P)ič‰ßűËÜ^>şŘšdH‘ËëiÉz\ÎęŠúsľp/‹H0kgNË„ĄÇ,[)€ŠMµO24ě,ď\ڎ FumMŹŽhuˇč`ĚT>.fT@xč ĘXř}Ĺ,C0Mbi€jnE˦§=‹®j®4\».Ć揜J| lđؽݧ!˛NEąx”#ďË"=†‘!Ă0­ÄwDőř‡ć-‚˛«’Ç˝%%»'i@Ć›»Ř•Ěţ%ëŇ\xf¦ý˛{$ÉĺuH{ő:‰Ůٸ;_ŰSôŐZżłaÚĄ©^¸g¨Ď„˘ę’.,*Ź])ŘÎćŰ]™Mž„Ţ˝.L¤gÎÚčqK -Â'%*e¤âLőUóŠşî×Â0AU*MđPľŃô -7eŃÁĐ›“§….älŢO-+Uł‘0(ç3O 6Ď»€ÚđŽp, j¬ú`T4h—ńiÂçX=4j޵ɔ\łç¶·äR"T\MlŢő1aŠ|RWš±·’ëz@eŹş mĺÄ-­ÉčńřZ<śů-µŚ«W+~ąďdQBeC€´ôŘI$•#C°Ç˙vţá<ä®$޶ż® ĚśÎkŠ1¨”N ĘĄ4şÓ¦–(Ą¶rEţ%wKvB˘Hw”'@›&ćBŠB€"ŠÎµbkIH¶ç`˛úHiąg.V—Íďo%«V6FŘ\&Éé7ýuK7™Ä/×$,ľÝ$@ÝOTÓČďMÝşĆ]-ąţéq, Ý¨Ž gĐ8ő ›*Şó¶×·>á@ęţá§cZÎ1P˝TÍärŠĺ&Ü€J…včž¶OµĎŮśjß÷0> -úľĄ;Gµt˙Ĺ#k­Ă#ú «z%«Álx¤ˇD.ý~GچÚŔßł+®cĐs…Ă0?H-ŻtŐ°ŁB‡ ·t®‡‹&°­š8¸?#:Ó†Ťk.9–;Żu˙Ě·…Ĺ3xZ˙Rf’¬ŃN7: -äßśšúËyO -anÂxë8ąj—«ĚގňŇńkŤ0Än4%xĐě•ůŔz÷ţRón‚wáĆă« }íÂ~BÁĽŘ(X.ŢVRňJ“j¶‰ă›íÝě|îkC”+¦^Ć`ĺ˘cšöTîH–ųRu®iʬĽ`•¶†˘I`YŹm¶ĎĘËO×Üą[5f*zaďCk®§[śuÖđl -üuźQŠUĘÚŕíž@<'GĚŻ5…r,ŐČĐŕĹĘHßą¤™ŰRô¶žO–[˘Řż«JQíČ$‘ęX—Č §‹żé‚=i‰ŞŢÉíŞ¸›+«ĂźľÁ`^Ď DŔ;cqŔˇżą B$y°6ąÇĽČŠ0ČfĆV…Ňž‡řr ˘\“[˛›„Sü\4Őŕ5ű3P± |î¶0ëEi‰“˙­HFlôśmúo7WGÁřcüŹÜWĐϧmáѬ_–ě…ď·$Ą7eçÇ÷Ä!hŞÁńćě¬F/2żiSĘçJ;yüĚ<´C]Ä«ÎuůÔ} •đTŢg 3pD{ç…]ĺŞíCNž'¶óiKŚG#)ŕ÷’ŕŕeAÄ`z¨Ô¶ö@ěmę†C5Ĺ[~¤ĽřŹp_©¶ÍÍ9ź nSďąßl€‰w@µérEŁĚ(¤VtöGžY#űß$ µÚTd€íń…µ±:SÇş±äŰď$‰AT$`‹VŮ}i?4ăÄöÓ´á@ŁGeGŚI8jnśłE’ş‡-_řß˙ü¶7˛í{t0Ajâ"8ô´ÁxĺŁbĆo#.!™ćgt•¦qĘă”o]aüőçźćďÇ0Dv´NX“śîŞsv¶‰–Ŕ°% %ŹÝpT&=¡B§'Ž` ;BóĺĘJ• ífˇĂ ýCßÍ˙âЧćŃ……žô-`¦Ô›WĚ^U‚Ş˝ĆS°0Ď0ËŮďLáöĚŇd+nhijď Lq‹H`¨†'ĺůK™óX"aŔŹŁ!öä!Ź‹(#âëÍö:¤ÄNŮÔ$+ĐŰ=C-¸ífôąÜ÷¤ň1$JyÝ6·$qŽ·)HüĽ•dˇ€`KĎ÷–¦$ßܵ.Ą ąęŤď Ĺ<J+4Ú˙Y‘s™ţ/OĂ kŚÚô…ésQ@žj—0ť’vé'{,™RJĺH=˘ŘĆü%ŮŚĘjéÁŽ úVN° xY!đ,Üóg„4ląt<9WĘ|Šb+3/µĚŁXU˙Ă[ş+ĎČ‹hÚť „Š ôśgŘEw ÓAVđ»‚NGťyăŻŰđżÂÄÜ ©4ź|“\]-(¬¸Äę˛EĎ÷'±2±Wpä™± WéúńHťą -ă–@ż„H» “WUćŞĹţđ uĽÚčŘr]“Y]ŕđTZʰÄMĺ"¤§‘˙wĆ´Ů>OfŢġÎ;!iŔ¸vu5O?ĚÓiŚ8ş&Ňe`¨ćŐŁÎ -¤„RgźłáÇzývé.äţ%Hň#¸Ą7%2É«cqđ‰sáű’ď˙fčŹçBÓ«˙ZIĚ–ž*fжŻx#Ä™ÂpÖ˙CH—x´ĚÚô«uzÔ?ŽĹU@Ů-#Ő/€™Ç™oB˝č`™1(Pp†ĐVĂżĄä W»ĎĂJÖ(ś©Đ/Yą: ĐčJµpËĹe9îäÖGÇ*Ł“ŮűôkJ]Ó ŐŚ†#¤ę†˝űvAa‡8rbFO¬Ľ;Zfý·ő86%`ôťâăł!ˇSČ©LÍČ+ç žHb -’ü/*^0‘¶a(3 ˘¦ˇ`v¦ÁBDi ńŃM3U_dÂh l/ü2›Şă<řCAóKĚŤÂć¦ŕ>SľNĹmť5z.JAĘPÉF±Ý‰"%xA· o{uŕMâۇDő,§ŕĹe皀(¨Ť·Un…pt22öÔčQÚ(4 -ÔĚöF ž/b_Ě0ÚˇőŮL[sjżB2Éyş,ű¬ˇëÚw4Uk EĐĎ·p¨á‹×c\ł ¤Đťv|uĐ _÷’ď1Ą}ńř¨ćżÍŰdŮ{>'Ş™ć¤zçJŹAŐŻš[.¤öşXĐ=Ŕě]HDKČ<Ä@ĹtîpÎ…u˛ýѧý4¦GKY$iWň"÷¨Ü9!y+Â~ňĺľ7I†Ąëů‹vtŻBńU}†č G»gŽiKĄŠr´.Ů=¬Ý\‹‘ŹH˙›=dž… kéCU$±…Ď9OýĄîĺŃőĂKŕ›D6ŮŔw`NEł#řÁR×GŽ“¦wÎk/¨ô˛Ě\9 -A˘TÇÝRD—ß Ü™˙zu˘ źâÔ -ŇĘćŐ[ ň/’ÁŹąě\ĂGŚr™l„v¬n$®ŽZĂ.Ąm ögĘvLʧ_´häzŁË¶*d‘v—ú8“ŢÎ Ę|†÷”öÂsAĂ›Gpb@ď”]&Űńř˙ćÓ=P+}4đ±wžź§'|J/>]7 ËBĐčę'Č)eŚ7͢OSí.1Aĺ•ŐN­¸XîgpnŃ7s`Bä ̵L±Ä©m}&Ém‹żWí˘5 ˇ€™­kĚĎjpZrňF„př– ö-L@'÷xC3ZřÚI~$ÍÖŹ SMWÚo—rk@tż8_¦ŘNí$ď·§ÎŻŃĎ}µb00ÖĚ,Şžk%zEŤ൤§Ó•tĹ”đŔ3DĐ5 ĎZžÎ,„ŻuźĘĚ|Ř|ĐA~OiŞqđd=<ÔęÖ`öÍîľ‚¤K"E2š?Śo¶ţî€Ý7dXlŁĄÇ2ŮH3gÖ(>…×ŃASĂKŕ‡] ű5É ü†¨7:Î높"çB@Ü&g´¤˛”YÔ!f_¬ŇX"`¸ú {2ý@Ş®ˇĂ÷ĚŞ8€}«@ž+\—l­)Y@vÜÜ2Lvl!‰´ßS÷ęÚ¦ĆĚľápvÜęśúM"÷íëwŔ—5ŻSDăk_C,&q_ú¨¶śEá¤ÎŹMűnščŻ ݤlf|&y µ±Ő÷j=Đ6:«Î⇇®Q–ÖE¬Ú4[i‘u…ÇV€;áž …ĺ§µa‹=ţ x’ˇßoňŤ[>Źé';[3¤bćěöË_¨éžZžR™mLë@IÄěą š¬ś¶7«i¶ďčř ]ź#ćÁ„aüw‚wmóH ¬ÂĺÍ“ćZŢ™Ţ?<;Ż«ŇUx蔾1»—/WŰ˙ô3żŇB)áŻss·/î,É·»„Ž3 ŁvĎîůŮ÷=*Í0ŽL; Ę=N©G©!2„Ü|SČÄ#{UAŐŐË0*^q´-šˇA¤lgôÄąUč -D ÄăЬTőckŤu®ÍÂǡ¤ -Ł!ş\J‚ŕÚßÝ -‰Cş]÷ŐoÓ`ĄRL}Ěk"°v×mŐg?Ą¸ŞÔ”Ű <¬˘·ęOčöCv’ «A"^äŞŢާ¦ńyuÎPÂFř7°'D¶žç‰Âax 5Ó‚Ăě !<(ś=o•/˘g?u3©÷‹mM–ÜߤŚĂ 6…ëŔS‡.}ł.ű5NqžŠ”Í€´^—U~Â…¬ŕE÷p:şÁgW\QôRÍMśŻ–şś€:(x‚g2>śzUö.“Nđ 1ÜÇą6’`ú‘BđfśĽtµ±ż„ŻJUrÄ3čŻ#tŠ©HgqV3Ĺ`ľ$4fBwóşJčČľp-Ů×'m Ń)*3ďĎÍ -śŤľÄmjc ÎŤYjŐAÜ=YbźÝűP8óio˝É–°-˛VPšŢXó"–ł¬ť=˝Î˛óX[Äe -*^?\vć©V'ܨ‘ŇĹÇ` 6YŘĐşě‹B!w~˝ŇŘŭʨ({WČ5†T󢾋ßOEQ#ýÍý°Ń9‡6ż9 €Ć‹ÉGÜ c_,D~—żÖ1 ¶ĘZë<`†Ś" /Ó–B˛Â;A-ĚWU1(řOďQ:»@\5ŞsňľwB}{Üp°ďŢŇÂůÔegÔôń6'›Ű:·‘úŻó+ÁRJ…=GÉŘYö -ÂY ” jG¦ą€}”–—ŇťČĆ×ü±­¨W|l©Ôđt×ů„¬ş^ -4&€>©ą/ĘÚI–Óť9JĹř•óĹ&kĘ&}tâÎZňKhTâíôĽ>ÖÇČ|uúďňă/˘ůA†^sçąOř˙Źş~‡03ă‚§Ý^Y™âÄAuů)(šŤÎŚ;âP0í´źŻ#¬N,ł^0K-ˇÍű—ÁŐ˱Örè°%Ť=ÁđŰ\ľ3!_\liš! ĆŐďýk"ąj´ˇ;‚cy&6n+¸-é÷7 ¬ůmžu•3¨:é—(›âi‹¸…wgkšŚ—öÝKś«˛î’*»ŐAfd[iŇJ«SNČŔ»6—^1ĐťOP=ÜtČΑD°l«Ž)OZó2["ŘwĂĎÖ6{ěOŐŻdëÉgxĎe{0 -ׂÄć*Pi;ń3U¨鵢Ję^Kćňď·µo9+褰ą·dL’×HÄŐ{ĺ=ő|3ţ:NŃźí™Á -´k¤ĘÎÁ>}/Şĺßř×ü—đW"čÓ}4l7< "¬?Ńf”t‰#&ć]÷3¦Č/Ľ)ĺŘóŢ -ÇC9UÔÓŇ}şÂÇö›&neŮ8 2˝ÁęÜxÍsgňŹ<ťŠ®Cő ń­Ş_ümUKs†ĎŔě˘Á¶@¤ŁUĆX|ý¶Ęź(Ż‘DŠZţNofŇĘÇĹ}˛°5•ă^jHΩؔ—Ű3"YŐK´H˘űÁ®ę˙|lÜ&îß‹|­Îş|¦®*MŮ~‘9O ŐA–TS -ř5‹řĺ/đń´”Đ÷Íěx‘eئ{ź§©î˛EÔË-üiľ÷bN qSŁ3ďá‘1¦ˇ„{-Ç,ť›2ü‚δĄáRÂ˙, ×iÂ@®Ą˘× KÜšś(±Ë;_»Ď;®xm&@=â VłY“đË!IČŰ.9öÝc~EĚP}Ďźc.°ý´ľÖ)$Čq©l˛ąçăŰv¶qÝýwfg}BŇý[o•Ž -â6a$¬iíwp:H>ˇ|Î|ť†ťőŢŢ6GTůÉéžđW¶#ˇ'ŽfĬC­óDriEz3CüoĄmé4˛sCIoö/TĂťŚ€Ť‰ż¬ĹÄÇŐ>ĎŚ™^)0a°HMŢS‰ˇ‡Í’ú ŘţźĎ†hĄ.|äÄň)nLżú’˝QࡼJa™4SË×ŐA±W’V ­ŮČE‘ í‡4t÷Ć%Šď¨D–o”¬ęF“ ”YŞěźywť?]D8Ý®=€“ŢŻ0*`K_®Ç˝ëbmzZ*†,=Ü9`“r”ݦÚÄLHG¦vŃ®@98ťé‚χ˝8OĐč98z‚[.Í1D«ˇ óĹC~ÜŢ ë1K -ßh×ߌ|é -vą˘đôqp=Ř5ńQq†ně מHÉëE¤ÄkŐÇŠ×=Ńß•!´ž.°ŕ 6Ú]HŃfŰ)„S¬ &ă¤7]¸jŚÓZő.¤G1őşÜ+d; ¸W9í=u—d[´,ŢŤ§ł¨GóRęćEáž i,ÄŢŤ<Űki5bÖşŽ7I=¬7–ökd‘5nîŤ^*ݵ«Ńa/ŇĆ€YI´*x.ÔďŽJBéR¸5Ď,٬d›„E8ľ/—CťÔ™‘Gg›fěLÄ<Řpo™™{Đ™ýą.~ŻxR¦“˙M1ÇPŚťĘr·Emůa÷4hůÚfĹĹÇd8v”˙S\r}aäŻÂś˙?kŮ łXV -oÎ/tQ›9;/đ^PŮcnĐČ€ÍĐÍĺ­„¸dÇΗvO|NäuN÷·Í,ÄÇHě4 Żiśâ{Lz”— †Áă+ôÄňŕ×ú OÔ˝*°;ĐŃ]śxŰŃéł[ă•‘ăáÍCçüĺŕ{KÓśsgÁَńG}÷3Ž:PŘ„|ąÎŔsÝ3OźsX•{+z6ÚʰŔČč[]Ł˙ç1côVŹm?GżăM¤X}Fo/š—^u/ü[\ÖŁŚŤ–?€XĚ<•NHY®‹äK"EŁŃQ÷ľčiŤmΙ0´SŁÖ˝By˛ż0čCT+Fk,‰űĘ׺5üő: ĚçĽszŤ~"‚+É–˘3ň?Mč/ďi¨‹ÎŘąxČr0™ÜÍŚKî9Ő-=t¬ś2]¸YŰńĺ®üő!7^éKS@ŻL3 oeqÇ]¦ŕ¦ŐOIjŽRˇÂć·‰˛Ľ.F·WđÝ͸Żű×ńő|Í?ŕę‡+ö÷8’Śpá~(íO f5–^;ÄŕÂüĐ›ŢćbĽűËŐF Ę»„ˇd -…“9†Hę1Ďöń“f=ŞR‰Ü‘Ą˛¤OtŰ -(ţx\źŮm”Ów@ŤF;€#kПݟaîaĄ -Qţ™·yg 5Ö˝ZĘY~c RĎyFú1ßdHűÝäagb±×qéÂ1ÓUů;’'ˇ…3"·Čô˘Wř·×Á‘˙Íě úď“~aľ°j -DÁh­úĆʧ2#Áś_ýĄ“Ăń†!ţRzŰđuóŰQ÷Gv'Ç%·«#…°·n–ôŃô 5ë+éś>cUŰ·Ď*ŞcnľĹ†ń&Ćźg4lťţeěóđť7Ă۱Ž&šç@Z‰dŁ8t}Eˇy÷v_¦HY&KÎ3Qô4 ąů}uĺúâ8ćÜÉMqänn¨ĘŹÓ]ŇGÝç1Tă‘Ax9€dc_ŔjěťP[ÂĂŤÔsÚÚd*ěĹM¦>%ä8E_ßÎJWŞ˝@ĽŞŹ¦  Čâ'PăÖxôPM§ń4PBJ Ć'Ů€˝•Ҧ®Ă× Ýn:]kŢzÚQ7€J’÷§˝!z¶ÝQ&Ô›–˙ĽíŠ>ě ąĎm L{N¤Ó÷Ó˛2gĐý‹;޵`¨Ť€˛oU]¸¦¨XH^8Đ2µ˙˛&#úz dűpϦM z‹Ţüë7ćń­â8á6 űéë•m°`,‰Aˇąźő› Jl"cýCäZ`d¨q;űW)Xčm˝ýł›“Žb—ň…sĎP(ˇ2‚ ŁÇ!­ ·óƤV$Č v´~2Ţ'בLÍ\«WĎů6ă)pjőVŢĄÍ3AßG5áź9~©-xä NËîH.C˘Ń‘ …ÇĆ3†‘W25©Š„h»……TĐÍXÉ8¦.%ŐXŃ~I‚BĄDLIÚ0ř«÷NrŞ(y›łj…Ľšz LÂ5ŇÓĽ¬Ăá»Gą9ňĘží¤:ŐpOL`ápqq6n¤U`>×-fé? ţź“[@×Ę}‰Ďt˛áĂ›äq˙^!{ŮMŇfKű҆·‹‘‹@EËŰ’ÇßĐÚčOŢĚJǨ)—ůY_űw’%B 1TKĽż&DŹʆC9Y‡ĹvaŇěH -ôúĂŚóŽZ›/őĚ0±öp±*adkĄuŚ™h@!e«‡!dĂđŔă@Ë7€ÝďÉy,ǰĎę6©‡ć}iճVÔÎ^Ž ®yí™±: Ćś#ç“€‘îL팚{%Kjä±$íˇá`HˇŹ}ĽrĄŻ"΄tŞ«WçńÖ6¨¶]ő‡Ť2“p©ü–Fg‰ -«;ŹôJeî˙[U -zë~Q¬ű™¶b*2iQŻmźĆxćň»lv1蚏|K27YÚýłö%b/ _üŃŃúlvU‘w="e˙ýQťýé˝Pí“1˙=yč|?L-`\ÉńJÂKč°„/_“lpWŹŤkňŇŞHŢ]ŃĂŘEéÄŔ]ű±ţúĚ ćXÂäą0ş[±ÎG@*ÖšMÂCVŻk¸š÷–µ8řňG¤ ›ŇÜgĄŻxZ‚ô'ťŐé¤Ĺ„ĐďˇĎ«fD=¸“Ş…ĺ‡Ú”Wĺb §˝Ë§ŤCGţ]°ľ»Äy»u|żäH KřĄ¦>DPF—עÔSň*h´­NÁÖ¦©^ j©<¦ ×aK uëĄvęÝ+úüKóŐß3ĺ_ë7óE;_}lŐ(„2SózEĘűa+@ĺ1»ŚâÄó–üAß|á%Ź{É«#©öÉ™§­ő§K‘ÁTq¦ü*ľµl_âF-ćĆĎđt?á­:'] -—ćŘE{Â5^{(ƶˇ\„Möłm |Çf°›G®j0ȇ®×Ą0ź"sëOg šŘÜX|Ű!vI*(3ăńĐíÇ r-6¤\pčďŃîgLŔ!ÜŠőń?·¦k†Ř¬ -D śé>ţBM¸yBÔ$¤6M(ĽX°Nţf’á”ÍĂä}§0Úł“Xõĺ°Ę™˘*·‚ţéô¬xnžÉtV‘&n+Ľ˙h#6Żď{ľ3ÍXć&ѡA/aťŤ‚ęŚçP«ün„*Ö‘·ä!«UţąŞoNęEĹ;8×7¬'33ań ŃDvŞŮ%–TN|®»vř®K*/~ךsÝÍ'Ď`zć<÷vWTť6glčćÂŔÔČ-« ›*8ťůăĹűXČ›Żön`µ¶O šűpđÉf udD‘ěřýü$XŐĚőjD´!ŕĹ®¨?2MJ•™@+Ňő(/X(^éa”8–Ëę"Ŕ#Ëăa±11(Čm4•ísíć|"–•zřtćˇűJť%E>Ů9·=~JŚ÷Ş5ôFCô°ym:šnQÉCCă(˙í#í·—óažÚjSÓk2‰ç‚ů•hc4ż*¤öeěĐŢ„‡PŤJî Ä¦”ůł0vÝ“ĚyŕĺÜ &žt 褗™˛#1 -›˛,ů3ĐîÁ`˙QEy€ SČË®Č÷¶€…Řľ?üsýäFp‘敪7N+˝±/Y:,Ť(˝ ‘רŤQ§^˛í˝úÔZĽ¤§ŁÝţRę ńÖ…iâ}+6x›”‰Ś®âŽÓ›#+¶°ńćő!jőI”sî–·)RŰA!ţđÝô¦ ëf¨čOi6¶ń'ďKÄV©W’ÔůR0üÖRľ Ďtźó]Dl8±Ŕ# -ÁŐÄž§XU^˙»ZΗ‰F|ŮĄK[ÚuĽ É‹±Ňlő«„®Ęńȇh—őíŹÝ]D+Nşď…Önňą˝/hëg#:Z]ş¸~ŠM3 ęÍZő6~Ë.’É;……=M@ ŰŤ {¨˘YláÝţ r0uI„zx­ERË”Ce~Ôe™ŚtŰc˛Ůĺu’Vçű˘·t–tż›öqŽţÂ:“˛TQ°!ŕ<Ť>ć¸KŮÄŤµ­AýňgÇa<źć«;SŞŕW´©#5ˇ”jF®>3ŞpVË §6Ö ĘGCĺƲ»ëÔ¸ ¤őŹ—DuŘTůMoîđ¤ňÚ˛BdĹćĆř˛řýxđc‚<Č -$­ň~•Č zÎ.t“ńaĽäŰ‚a…·w•ĚuNŹÚÂ:ĚďJ˘¦Đ=®đ%%ذ ĘqźŰok5˙±:ŹxoPŞPt„ťÁé#ĹÍ+Mbet»VÎ-í‡c9Á ńItş†`wS%F|&(Ąź—?¸]ŽO)ň)•] R»÷Ńr TŤ°ľ w«fü·ě‡*`¶RPťß˘űsaO`ôO  ŻřÂţPAÄa}s—™˙Ű#cÝúŁęĎ„ŁŔZ|n²ű+Ŕ3¤ß^čZÉý÷s•ű}ŞOmä¬Ô ä¤Í锋}˝gyŢ”‚W‘‚¬<¨*ŽŃŹţ;Ť#"ŰpyÎU —¦‹#†č­űabÍcÂ{Ź~€‰Wţ‡ň+±B§T„E…Kb_gÄÝÉ힆é‘Eßb˘lb%0ŮÁ‚Yą=š'˛řę>4/f×ďĘ­’‹ßČg㲟 1)ż[ŔyH„ҵ~€ŤP1 )1N_bMCĄQa$Áµ­ .̱<¶ÝŰ›đř‡ůEJK#ż…ŮČ}›a‘˛#?Ä~»źĹŤ&RX– !9r -ńm›•ižílĚIDÉ­M‘)dopőjoĎ*ŇÖŕŃĂҸ°âý¦-ݵ ‹ń!¤;©ÄĂÁňÔÄČ˙ż<ÖîW{íŤPOŚţ.ÇĹt§;:…¦^v$‚FKX2‡Ď`P‹?„”ăĂ8(ľ“0LÝ®ŠQ * IúĄŠĹ‡ę„1ÇŽ PÚR” ęln´7źŢh“ -YĆ -ő'éě0†ŻAŽŕĺč˛m0†ş)ôcça©gJŔ}VS%ďvm¦Ĺ‚zsĎ:@N% ĘŚ°$&KŁýzÝČ|W8tQz5GďşaľĎ»ŘZ°ĄJ™ĎL‚`W:ÜŞĂş¨ŮéVUŚLí?=¤ÂęXÎâ×âä U*ÎT˙>î Ý1Oޞ¬č0fzź–Ě4@F`†)rŤjľ‡V5ĺ«ä˛ül2Ř->>=Ývyń`s•ÍnNÖж¤GÁfVŔěšZťá…Şöź5îŚđi!¸ň¨ľĚw9˛Đ¸*Ţ]ĄG›EšÄJ.kĄ÷¨Î;U şÂßRvČ%ţ°fiťë(s+‰ł ĄŰ !·żáBÍŠ}@ÇĺI[fü‡Ěř”Ő©Ć Ěś4}Ţ;q2č¸ěŔCGä‡2űË./Ňp -\°@îe§ď7@ń.]čË×y7Y*÷{ŞâćÔŕeaŐúÝőDÝćÄC4aq;ů–P0ÖŞ ÇďŃ µÍ[?XźăŐćŕ°$Ęk]Ű{†]a‡ ‚-ëĽD9:` oĽ$ŕ"MőĆA>4HBňV˙G)3攝m°‰JďóĚEĘmLŕ<€g[ŃÇŁ/ŘHŇZ#ńĘĽ±×'ŁKč T=óŤµńoÜ[Č3W”‘6e‚ě -lu’•`fŻ…†SbřÎÂ`d µ+ůńňż‘R•$(˝~lrĺžŔ7FĆ]˘‹™9ŚáÚý$ůó_:¨HP…[¤Šő”†z" ř?š(·J1„‡¦ůk3Fą`ö -•ČžD¤‘t (b|㣓A:I‘CAV–ţ˝Ěů©G3äŤ ćĎ]…ÍBVÄóGźőY0—Ń}Gó9|Ž -Ö; íŇv7\ËI—yĘŐ—¤‘¶»Ď% -h3˝"ö›>)ŢëÉV»şÇ.sJ‰ÇŽęĆŘ!)/l¶ 5ĹWb_µk ]ĐZňEfŘa@ü’S­ü»ĚĄç}1ŢôR+0S_ŠřElë<ŮźŢ÷oŔ©ěÚ â;„ÍĹ3 7T'Jř1ˇßőíżkŚjĽň’ٰ†‘Ă»}1iŐÂF9ú° Ăwîiéç§TĚM‹yŕVű7÷±Ęf& }ą¨!ׄCQŹ’·OłůíJ'Š÷ąČşŘjbăCŽšZ˝rŮkŹR÷ă™sK"€çßám{h.Šťçx{4Ko‹LMŞgr޲tŇrr*dqń?Ű E+Z%Q@7Řšńˇ¶˙ŮřŰ'’ A9k)ÍźŰ[ZÎĄţ¦EX´LIRlćě™ô•%ž÷öĚ5â?8ßT±RJqA}1H§”t§Oáíź9UĄZ·#t` ÍŠ`ąů:zäV\ÁăęEcTĹZYߊĂq! ý6AŐ•FŔm>µ&j+†řKi[MäŤ='-ĽîđË©”îČĎčcaÚü?Ç'ZlźĚCŤ—C®•IŐŁĚNé†q¶”âií©;č*–˘µT4^Ä˲‚ŮG ä揚»q·Ž®ďfĂ«§›Kš;÷Š:Đł§¶SšŔ˛»b•qT˘zŞH>“Şťc{F ËM÷ŔwFĐmÁ‡Ë®jŔ8ÍśQ ¸ă}ÓëܰŇPľŮ‘}»Toh·ău{FW9¸ĚëȱĘŰ|—ě<=hď‡-ź=Ţôü$ 'ó§w¶-ĚĆł,WÚ\äI„ÔäŘ[§”¬Š.Ł˝ąó3~=¶~Wĺw Wʤł=‡zS`.íŰë]ÁMČ›9MĘŻ'…‰X -r=ě*%–î=¶Ú\Đ=&ͤuâ}§¶ŢPmѶOZH]”qž˛>FĐ&kđuşCô˛‰Ť J-Đ«Ôv°’´öĹ_Ţ7~k8&üŚNqe»Aľô„Yˇú.đĐú -.«?¸ęś]ŃdÚW‹ˇüwyqWbýzü‰éGÍä ß!%”„8/ŁJ†ÓX±„Đ© h2’ěŞŕPîÝ4@:BÂŚŹ-ŤOŃłćŁq‰âfrR}ˇÎ@%I—*vEN±”xýlĐʡľóR(ňÇ…tÎ3Ř ‰ĄşGŇy¸ä§“Şă7REv¨1¬8yöŮ88nŁâî.švcG°ßĎ^nŠćśY«Ů.fÝŘ g¬g!żL=Ś»ýßčˇIĘ ®\PśI™OƤú8ů ”îA@Ń'â=HbÓôU hëčÍ↏Ę4řlŁ1ĘáfĽ^6‰ĄK~.ŢŕJ˛3 ˘µ›:Ň3Ż.©H 9)`ŰXĎĹMłňO¬WuĐhą¨›%©Ôkß1¶ýIń‹‘q˘äąu˙»tďËÎ-4lţ÷çř‰źśŰ:¤§VŠ—y-$‰N+i©nf» 4™Şzj:šwş®ÔúŚŁˇć"â53ŁUËĹ]5qzĹcIőÔůËŤ?×7®ů*TńŞ=á·>†–bc\É7âśÁť±Č–~Bż¤AÇŚĐă‹ŐPĚfúö††4ę›­IĆy:Ë -Á™Ë}&‚3uТ†‚éµNŽŐů×ÝÔwN^}9ŽńŘ9ň’-ýçĐŹ2'“śiÄu†ő -⪉|ˇŻuMß°Ł4OAő˙ě[e9Î$ĆGo¶ĘśWD”é™ôX6š%\Ö<zÝHvn»€Ú@*ěBüŠßĽkżí-WáÇ7ŽĺQÝÇ q+SgLŔpCáĹW8 1xwžCS +÷÷`úcĚŤXěńĆň˝ô¨””3ăî2Ż™H|ô‚s7ś?T ŞE¶­™%6ŹÎłĹĚjńĄÁ.âűň÷,Ŕ Dѵ6Ąşp;xI<ŽXnMÖ=°_)}]©WôĘ?Ëč"Dâ9Ł-ËÖ"’uh`ďy{a¤Ď$TVÎF÷OőHýZ5Ó@¦˛°ü],?n×ěĄOe{ý%®;ćąwŔđŤx§`3¬^»ű˘ Y’©xăŔ[ł8C }4ăn±"ŃŃž3ÍĄ¤śš’Žä É™·iţä6›Ö3¤ŔzŠ.÷ę0źät[/‚¤ˇOĹÖÚľ[Ę€ ЉôeiËhŇ*>…Ň0ögNcŇ$•é0]•^ď5UoCF4śóf±¶†říů·ď]EÝ,µ - ÇpO*Ž4B‹™’}¬=m:r Ą)R&ąőđ¨ć„Ŕˇ{Č>’*+Uʬ&_új7–/ČOmڧÖÓgśá9FK{ŇWF§?ś\°Ţ!­’n{®ţVĎ˙€Ó䔑Öë$Í+MsNo^g)¬#Ş|í)¤qhĄaOsű’eP"é‡sől:TťlHo0—ڇŁcGŐ¬#ÜŰ˝!Ë„ŚŰOŹ1ްśb}ɱöV©ueŽA·ř[‘˝<ËÚş3Áů8şŇŐŕŃĹPy+Q×95ľ1‘ďŞŢZľ`Me3 PŘN§k°čĘň2i_…~KnŁKç?óô…27U<3¤7uč‚hÄ÷™.ó5ÜĆ˙‡Y¦S#檵—hŽrÉx.]§™G·Űl+÷˝ĐťAďuó„U Ś÷”†2ÔÂß±ĆC'vZ`ŔYÄośžŐ¨ŐäßC?źhĐ&`ö®ÖE —Ň FXÍ›Cţ$Űłłv{»'/{tVç‡_§ż4âtáÔ͸ó°ÎpRÝvĄďbń_–Ř`ťM`ęz ĄŇ>#WĹÝcńá˙e¦­o2W}ľKĆ?EŚ3Đ~8ż<ä­ 6Gĺvż7\§rűôĽzPÂtÓ“Cą¦a†e ˝ăľIśń‘…c¤+ -V $âmk›ŕ¨GŰ&ëGźq„+‘üĚş”.ŃIĎ„˘Ő 3¦H+\0ě×ŃÄślR}€'‚°ŁŠq*>!Ü €ČîĹĚĐ»0•ŁsĚÄę«„&• ľmÉ2JăyHT+GpčB ¤»Ľ*ŕ›@ÝháRw 5QkOâŃVs§1Ž!Ç ÷¦ŽžČ†‘#çĆď‰ÂÝŮE ěU˙+hË|ŇCw)W„©› ©łÔ6ŕXýGÝŕ#\NBÇĎÁ-<ß4¬ŮĺăŃ"‘%â –!ŹÍX›­hÇëB˛:ͬL)¨ ŐMłpfśG,,$9“ĹTE{sďg9;V"qxl`e¦µ©Ľw®BX%)­ ë?ž›ŤüÝF[gJ|đٶą]1Äp;;é­Hž\ś1ÖE=urŮX? [Ă• ٚŋţµ&Ů,«rĘ®ÓÂq[ :ź´n/‰ŹbŤ ŻŇĄČËöVăţSČÓď fĄ,®śíâ,.@|hVAXřÚŁ”BVRk…ş3˝7ű·h3źPőLÔ «±ČÂ;ć»Q#«A)0•«ˇ8lélÝą˛›5ŔŘqRąU»y'ŹąÓĂ&ĽÄŐ¬O•P.5 ťwsqδËCĄJyĽśíŻ»†űH¨%"•ą÷ŤŢ.¬YŁoĘŐÇž® ˙;Š'ť/oSh‰¨a 2übl2?ŻŁJĐé•4Äńú9A¦űÁžŘ"-5ŇÄU lµđ—‰çĺDř‘C0›ď*ž~'(¦š=çřąő~†‘¨+űˇ öI6ś)ĆÎ z2N‰`¶ďBóce·äĎÇŐ5Îé<»†N ËQ‹HYžQ¤ÄĄÄQť{X¦©Š8—ˇz~v(çĆÂÍ©cKÂöâ('ßzŇWP™i]µÖŘ ßĽz%ĽR(nF– %ŃŐÜ?7›‘€Ä€ŘQ¦·ËĄ•ŕ0z×§‡÷â.'2’ł(đAŢ$ŁťÁO›ËiVăqýýT«gÚ…őţd›{ ĺô8Ľ [?Ć–lŹPuß4öŇ%än±Ißf˝p»Íf8« Ş"ľYň橥Ś~m%‚›óG@s ¸ž™hŢëR5~óJ„ÇÔ\Ú웟sCPK=6ĹËfÝqpOR)J Ś’W×扖Țał;Heă÷…¨GGq…˝` ¸hjť:Ö]°™ÍĐíä‡PO\µăNÉÉ4Úoŕ5ˇ4cŇa´%Ç"vVˇą65Ş;j[§†P|ŁJ9¦Ź˝·»Z(Pâ .&f·Mšk2îUQ#8ŕ’4‹›¤SđgE ->­+POŤĂďç/iHČŃQÝcöĽóyÁŤjĂ Đ*it NrWrÇď!ĘČŇýËŽ+Đ|Uś{!Ĺ-Ć’XTk†ş„ç_çGÍĚ˙ą{qĐ ę^şnÁŇ´NŃ]´}€ú“B˙śŽśŰ½’°Î}ŇÓRĚ’ĎG‹ă/4Ď7­-nëJ‹m« ŮţgmOŠGă ‚˙s;q`»śqq.H» ô.ÁęŚV5¸ ŐVM’éĹb ”¤vh_p‡ g--PÎţ˝ĚzNkݰâ*ÉťO*ý1·ĂBCžZ„NN\&Ka<ęozż<ËÄťé=jâ=˝HmMBżĹęw¶)°Żüęţ×s#ÔDŔ5&˝Í®P vŃÖí— ]±_Kd3_ĺ¦_+ĎËt€rźk-—Ž^›´Ŕ3-¦¶ÝŹŰK*kŢ@[­Éé;„d¤żUqkIÇý™Ĺgˇ;,hť"1Äo“ĆC–éőör ;Ń{sŹfňEĽ<Ř*Rh«Ú -B÷eî'(…!"uŚ?h`Qđ@×ËUPKţ -ľ ™ÔŃ QćÉt€§-r ôci ĘEĎ©gw˙›óŠŮčFŤd+`4­Ą}m•ç–”ŔlĄ$Ćď;Vú1”f~‚2ćĚĎ“®÷ذHG鬌vp©Ks„ĺ¤ß;”·1p¤¤go×Çzm ±2ůÖÁAŢŽ„v‹]Kˇ4⪰ć3Ľh3ňÚu¤÷¬ŰSZÂҤQrÖ%’¤/ńs”1Ižř@”N*NĐ-ËÜriŞ,ŕŘt«C¬ű&a<˝Łe‹ŕĹ–rî!ďýE•ějüĄz}A˙űh}ęł’}‰x8>u'±§®Í86ČIĹڶľ\H"«'&H†&ĎĎ1ĚžKZbť^˛Ň5¨íĽ‡Ţ´8ęă›ĆYć?—»+ĂĚíXęáŽâ”üěËż»áI`ţL6˙©‹|é%ş-ŮN÷}…ÂPöóĽŇŚIk4b&äŞK=oµŕ˛ŕ ík†ÁúŇšécRP×Qú¶?ŠöşôřĄÇďřëKsš!9âĹé°Ů$RF>üźţú`ˇą… ż ¤6Ś^ĽÓ…˛M Ç űâ.’ßłIt -óo‡¨gšTe˙•©y ëĚȆx!=1† ű‹–§8Lüç~^Ç ĚRëܱ:?éÍđ5q:ˇ±hş4 Ă~ńŁ áŻĚ/Äm-'}FŤQ$;š^ú`T„ÂgĂćö˙ą+^Śł2c¤š5zĚ–ŘŚ ]9v<{'4B5(; Ţ:¨«‰ Ű -%u‚ďţ}A}ÖËá4F/Ww¦u ä$AŇ)Šb†ú©s4˙O`ÄÂůhŃNůŽM}±IĂe§ńrOďuŘ’DŐĽPé d˙¨™Cmoí2ť›‹éaúKĺ‚§•-PtÜj>?X¸Čś {u§·*ľlo©®QŔăC*čŮF0ٰMmÉ-U/HéôsiL‹čCâäµxłqşŹ_} ÇĽńMj•p@ ŠJ#ĆhĄüšP‰§Ę}COŽPŻ&ăÄOJ"z˙ĂRa÷=îĘ#ŐŹŚĚpŕl ’aö}9ňă§rą‡-”H"Ü?ĽÔ>Ăő5P†A;Žç k–4OY\ŕŔl„ťń“řb˙đ¶“ 4;‰ľŹřS*Ů÷Č@Eň°ÂÍÇMkb,XѤnŽ9Őůk‘qÍbqw¤ČÔĽ6Ů×Ę,Ărâ¦b“)k˝NcýĆÚµ•€Qt -Ć`e>ŻO‘ -vt†“čŮsţ”Äš›Ź9ínż{ČŃÄâjNMç¶ Żşö”Ţ„Y<gŔňrezNůŰűš†Ńy÷ÁęO”}Ş,đßÓ#?¬ŮĽőb©f•#Í4dĺt» M»›“JßËř)u%YŢ©ŽB~‚_¤ägvÓŇšŘß×đ+[8ČţTR¶Ď×č)@ĺ>ĚîĘį҇Nćł^‹óé(ÚÖ˝‹še¤ál-Ť‡Ę÷S‹)ĄűňM‘3b(C zĺ.ýŕĹ:‡Á4qH r˝w…“Ť÷ Ź]Ź”Ă‰ =Ą®Çfş‰pi_nCëű6Ă‹¤‰äNrä%šÖŚ0ěąÍěr -á—&ý¬ËLIÎ;(Ä€¸iFŢ3¶Ęo.¦ü٢‘ś3b‚bz|m@iTתu—Ěş}aVŐ¸k ĺdźaâQ0ʆűys˘Štµ~§~¤‹Y]fîöĽŘÖůč™Č. +ÍĎI…‰¸­±ü¶›`D§Tżťř…ô’{/îGúbYŤT‡)Śp"'µź7.DSP!8ăčz÷‹ł’WŚ)…i˛- -9MjŞŠňAjqÂ"ŹFđp‘“ěŃ„dĚŚ?KKbćJÝٍ´`AN‡zƬccJ–piŃ6śoµ;/ńK=JĎCÁ}úˇ0xu hˇÎ„ă@ ?ĂĘ?9fšÓ.ő4ďăWëűĚ€ PĽWđ˛·H°\Aűé^­>˝·v)׉ZPwĂľAŁĘśę[2§ä2’ئ¶§đĚS´% °wCFHiú>đW@ĚKýĂŚYF匌“đVV7ŽűtéďţŢřĘü-hş°!čĎ4’™ď6YźvçÍĄ’äŚđ0ĽY -Úkř˘ŤÇpţ:i\üçđž‘‘óâ”aľÜçsDŘ,/›rY `RŚŰ{%čĄÍŢńÔŹ'źýÁ˘ÜŞ7)ÖI#ˇýqWŤČ`ş±ÉGE™EÜ^f4B!ęɱ@Ýť0ůţŔĽ|˸?%ŔkÉVX¦Ňu®Ű7ëuŐ0Ŕ7Ú»'Z›%Ăޞ7ŽZ?ݤŁ_ž=p>}Ű‚ü”pcż÷—X•ĄN vĆf ßŕ+vö<Ă`˛,`#¸őŕńp]Fš0&őŐç(|ëdyxa™÷˙Ú˘đ”| bډ ®<š.]#A{H”IĐlé4}Ęű;l,s{ä‹XóŔĄ iuBĄdFÁŤPÍÖL;pÉOGŮ'9ܶż§—ćˇÂ_‘ß° ĐČ:WiŰőmhOTűÄŤd¶6™±ę8†×TUě"L"~m×%Ě[ł^ž<'©U×ݦ…ŻţqĎ&›ő‚QĄ´Ö’•/+MpňŢíŇ0Ăçl±­TஞăN˛˝ÚÂbô2p1ł˛ú4µuľSÄײÚăěß/YBÍ)Ż ȧ¸WŚ›čwdŰ©•eâđłüÄö|ă ë(’ŞˇŐŇą]Ié77G Úh)MňOçĄu9fsAzĐʢç×v,]ű pÚĚÎ}%3Ô^dčgăĘ‚˛J»{Ü,J×% ËglŻ!ĺVC2‡C{a´E‹g‹RůK™"$·ĽL3=!’nu5ËOëĐIś’c Ü^ŹĆßEÍ»î u í^<ËFdý\HT7Âo‡Xt¨Ů†¨ŔmHs®RĐFôĺŕ‘űĘóQACł -˛ý!ý1Ny{pŃsŤ€`E(îkŢ’šÝ$kľ=04Q2!Ďâ9Ü3ĐĽă÷T¦Üଏ)CŠšůçEčźŰŮa7‚7­N,Ö«ü’8Ô¨-~­¦¸®v®>bŇÓWo#ś¨cPä®5M梩A¦+Ś -)_Oą*ÚČ&Úä ?»ÓMV¦LäĚĂÝXíAűv=1 8F[ż‹jH)¤‰wŠjC.6˛ąŻsíFbŞŻJĆ:±˛n°Â˘í<¦ Óđ—â3ę˙ëzadBf‡¨ŞäÎS•Ś_žtTۤő°h ×¨Y>ş‚·ĎĎČ0ÝăČTmÖżZb- őG Rgnٵ™…đ?ŔÂׄl—,ňV?bÖČĽµžĆ9ÍŔOęŘ6¨5´a -Ë5\m´ŤcŢűVB y©äVŽÍ+!ů¤î6®”őťČ@Xµő1)÷¨ő:¤•+›źÄÇDŔD`‚Çs¬uypLF±*?7Ą©aň{űĽ‡w nă]˝óŚrÉZjíĆŚ5 ÝŘ€—6ýèŹF˘dŰÁT‚ŤÍeD MĄ°›m”ÁBUö;?|J9@Ů ±ô~ť!ď¶[ńć(H˛śQ ë^)h©Ł±ąűÖ/K“\ę>o*z_$k -tČ8Ew•‚ř‡pcęëň®Ü"(˙`v¤‡đ<Ôe‹BÜE|,—•.ŔCŁcůt˙¤™\gÍĚUűˇ7÷qˇoé­ŕÇQ,{l­hő -Űźď‹z/?Č,ŠŹő˛Â?Đ\Ú…™6UĽv¨Ö˘2ťűpĐŢ);ŮĽÝĽé…‚Ĺşé}oyNââyşč!樫M…ë a†źŞëFNpvrđ5‚ŞŤBŘBĹ +âqĺ‹IíF†WšŚ‘Chofg´cç€$Áá[´Ý*Áßňp vŁhmZxóˇZ©wâ| F€ŻĘ*޸xßUĐ,dÓ—ľSu“Ć‚±ó/lи’‚23 /ö%»Š¸Ó8嬗ŔËÂ+˛P‹µ]Ł š3OácšvxVoďđâNjiÜŢIŤU Ű’ö!bXjÍ˝ß CNU(©ä4ްśş+…í>gEŮ>-A˘˘ďKIs;(Zڞő”Y‚ &^Ę3ЦÔBŻNĂÜ’Y3›QävŐŔQžň–ÎŤqPÓIH99ř„Wł[lR¶šťń=öU~eŠíhxđŻźzDH˛˛^ŕ†Ňűž®ŁîĎ·…ĐëÜ/'Z[ąo#žŤćIµ•`÷÷éWąAÄLYQ±Lů}ëËŐąî4¨ĆeŹăµ•‡“űcâĽü0<0€GzĐl7ŁDJ摿…ůćßÖlĹŘŢÓ&ĂôY™ëîŔÍť\®ŐUąďł˛aŔbô„?ÓNď˛ÜÍâa2ÄhýTŠę™ß*OĎöQVşŘ2ŮQ®Mů(R;óQ9¶˛é) -ąCď!OTc‰gî°RrBĚÂŕă÷©[™żnôg†{2 BJ˛=¸¶ĹŹgş´>ZmÜÝ-вşm„“üaHý­ -Ę;2ĆQAőŻâUrهŃÍ_§jC$ëĆ<†Ł ŕĘŻ—V÷°Çł8ţ·ĄZ‘˝$Ľ|¸?Đ7|Ď}°Áő€ëwC#Łô{`YˇąĘÎËőu -©^ß/ §ĹTcŹ—g‰•řňÝ/§˙?YČ?†xWO*é­Ó˙ř˛ůŘ[}=Ţ‚şűM0:Sâ¤wflľks3ŮÔËúĘÔ€¦«ßu)ę8uRĆ_űM_´jµâ<$›§űQź'tîý“…µh$ż2ş…b·ĄôS^ąşÝ„ť ăq@őĚ0Yőĺ’‘gwvő,¬ň›ÉOŞŕ}pËŚ•ÄZśµF݉\ÚŃ­Ĺ}ÂŐ:ň„ jî/Ż?¦\‚Qżf‡ĚđX䪯”~H˙ŘľQ•ýŹ˝ëëBŤTΩް¬&=§ P0łĎ9đ˛ŽF7ÇZČą»”ł›_¸{(Ă GÝő;ď_ŃAҶާ3ëç*mëlłŽ}Č<+ÝL łO¬Î•˝>:ćMý«w=»+ŐYWšąiäđ(żg及HĚł^4fL°şP;˛Lęr«I°‡Ňűžłóą=¤mÖăqEßőĘ@ż/‰Ůśő»˛¬~‡®îwÉqN©“C Ă‘Şőý++ďµ÷s#z4č€ßv›˘´‘ó—ŕJO†ĎsTőĆ€’„Ń“‘ż°.ĎŰÎŢć´şŮ딕§óŞĚ޵˛˨°YŇšŃ÷|q´¦ězxŁŇ¦3†/ɦďa"'ô’\j…ŕî?šˇk‰÷€ -§C‡Ż~Ň¶Ź F%˝h[HĽĚ -Ýľ#|=Sü ¤ĄÇ{łŐIÉŚôÂ9bĄ‹Ą!°ž>šéR%˙ÔVK,6ŻJĆ…šžoi€/ˇ=7çĚľD¤•0U϶řŽźËŃG ěďŘÓ€$Âď>€\Ëq B…I€OQŢY2Jđ~ďwŮk<‚I©őFźňtóŢ·D~wyPç Ü˛Ţnşî;ć2b[dÇ| ¶ŽcŐ!hß0Âśžťš¬^‚MĽQÎ]ÎóÄéłő^Â6ą0ź-ńHďXŔä’+·şĘ‰Ś¨ß$Älz[÷¤oHĐ”{_sÁY'Xą˘Ú™ňîşž3ÍG]tAw„éáf@ĺ?©W IĐ)Źić=Ĺ%ľ:Đ» Ą¨C_yW,˙ż>ďD•}ś -rŢ»ýpQÉđ"Sę †ŕCúü8+ŔÝI&ˇD€ó‡’Őš†î_V rWŻ T.¤˛ŘýeóŢ!}hjĘkńE‡eÇ*ľőé§íđ·hđ8ťÖIŢ Aü`cwßt÷{ôĹŞţ˝=¨]HČÝ™^'ň_j0» ç>)‡tŚ’öü{űs%ă%Ő ¶zŰŹäaÓţă:ÖŻ[Ć•«QăčLj%@Ćć|¦¸¨·+Ěw;ęŚhwÝţJŞĚHNĐč%żž(ŰdŹRMĘzPçn“Bâ#Ćf­čżŚ«ÓŐ_šĚ°ôô52‹ú®Óą)dn 5 /A?0 ÜŁK«ź¸¬…†Ć* -…HPk°aeŠIËÎŤŘmg·6uď >˝kŤ Š`xETŠ»“Ľ7Ŕşŕ|Ěuřa9 ď&Şë‘|KPŕ6×Ŕ -šIjÜ‹2Ôn†đN)ţĐ€Qo»R#z\µŹ— Ó?Lž±g/`Ölëë­Â;#ň6ĹŽ‡€üüH{9Q¨¤ŹĆ»9Ô)±Ń»‘¶m…ćf´L_ÖX¤mĆFSőÝBČ[Óa„v1DWYóň‹̬eŐháȉilÔÂRą´ç•č©WäĂdt€Čj)&áîRmĹ:i”ΡŢÍQë3J$&UY©- «†OÄţˇĆ>Oj{ד*ç¸ lp¢ϥµ  ˘4˙Ë#yúľ^^ç…`]ď07ËĽhs[†ĘôbźŇ“·€k“«((Ąç5JD=SdGĘńŻ®ô++ -ĹAî^ńšH&ŕn5ěôV@§ -ţhlŢî«Ăqfc‹ í&Ď’9ţž°]şvdç‰hś›ďÍ~‚€AS7{d4µ*>E#ůî#^‡Őý" *Ć/) ‡ŁˇÎĘÄn5ó-Q7{T6e?W–ÓNéĺüW8ą 9b습M"ođµCő7Xj»€ś9+7Ň„é¶1ž˙K/WNôÇäĘ-ľb^2™ăíBš_f J:ô+ÚI{†ę$Ł˝§Yţ$Ť÷Ŕc( /—¤Dp Ő¨8ŰYˇ§ŠYfzäÎĘŠYT )'‘\ąbqş!ĽfŇk[rGµ <ŕ?ďó¸3Ṉ̌˙ř”şŽ 2ö´ó=,ščD_Óą%OäBÝĎć[4-ăő&đ•Â|‘ŇŚÉgbÎ÷ň†‚ękźÉďĐ`F”fPfNÓ|·Ŕ†–2Í †IJôŃ…`Ű©zÚeľ6üsťtÉ&Ő2+ Şżđ7ĚŁć¬]0N‚8ëÄ;Ö`–›Ők˘¸;}=ö %ĺ”á?Uň Ď®Kć G"Řs$ ç÷ľ#R3"VH Žt;yQŐE¸ŐČA9„ËhŽý-ŻQČßµt¤SŐY‘¶čÜ«>Á'㌠%˛FyS^·ůP—ŢšNý{×íäq / ´BJ{)h8ĄâM = —˙ţ\î´ký~Đ51Ř%2Nî…Ą§Şë -ň -­Ç‘«Q †‚KĘJ›NĎ{‚¦Ř;ÄDŔ »ť‘©7 k#ó"€ZKđ0U—…Úϱ'`0Şr%k î%úĂäɧRl«ľ"ŔkâĎŢFń—™fFĽŞs+ľĚ]Áúɰ(Šđ=Žśš»ů ĄX‘e]lŠ -«~®Ç?–Ö‚°ÜuÄÔ¨0Äi•‡5F†ÉčůNÜ%ŞĹkúó}ŞB]Śýá«×¤\o˝,[p› /MľqĄŕËPbÖ8Őxâ€< Ťv Ďť\ëE˛Ú}ćDäÝp1pÚu0ŤâşP·±=l=†˙„ 7~už‡WTĽĆ/iśHĎé‹öů±ÚĂřßŐ“Üöŕ%ߊʍLĹfŽé»N]ÚŤž -¸LíHäR@8“47Ô„ű!GÔő dvĎî Żpő?MKnoÝ—kɵ&÷d˝Čţ©ŘîłüŁt¦ŔkťĎĂäňůZÁľÄjů°Ą:‚)~ ,ô¦„µ«3®şCÚ3ČÚóđy˝¶6´öĺ¶đ^÷§ śúqwFŢńĎ"’D 4|« >QľąÇ6ň°z ö}#ŹIŘ^ÄŤ]ŰZ¤_ąbCĚá®0Bꤦ„cęÎ^ó×Ô sďŁůÍěě§Ň„ŕŽú¸hŃ{) ]›·¶Ůő~Ľ§Úç”*Ţzh<—ÂÚťS·pÚö<–¶ÜäŐ-9HŰDćÍo›?QtT ô/I9m4· Í)đ–8,©Ő Ă{ZćÇyňîDHÁq®Â™ř÷°ďřŘu( Ś›¬…&ĄŁŘ9A­ČđÎ5ś{¶ůŠĆ—Ď-î®Ü¤6]ljFä»g´26O-”žÖ—)T¸Z·L”Uä¦đôŔ(ĚVÍŤÔĂż…~·ý™řóĂ(ĐćůTQ“T‚B3ˇő[— Ö¶R GŚďJw:űłá({ÓI…%JÝěš9݆~}ý2Ż0[rż" î pz9Ăs‡ !ů¦Ů ‰ßɧÓţ.ßgpŠ&űä÷öł ¬3Đž[ö,×ŃUw˝~tVZĄ­đ·ő2Ú.Zü?Ű)ĽËßÜR#ÂZF]ůŐ˛ev»šKŞüěř/ýL«póÔ™ř5µ‹>5„)§ŹoUďź÷ŁH[oč…‡ĺdĘö!¬7i=™˛÷účSŻ/NŕŕQŁźDôÉéźĆO%÷%éeÍůN„R1Ň,źú"°(×Ůbůw‡íI$ľ+tgqp9L/ńŰRČ1SĄŰÚ¶`0Nă~8„sëb´‚ľü¦ÝŹ4şµeę÷ž…±ř˝Ë )ůU2Ńş%5ĐßĐ÷ţáş@9$ć(ľŕĆđcNéŹT‡ÚCŤĹvo›˘x“węôn1‹r5ł¦Ä’ˇ˝cÍxÖŃ@vŢe¦ĺĹ®őU§ĆW#Ln^Ç*)ó8Ń·…HĄ# ‹i= Fiźg=/\= …Z. -ÔŢŰn *zˇÖişIübÝ`c,W6…—ˇnŇ}“ŚÜ?í.>őzť ńs0Ôě}lĐ .ŽFqFfbŇ$Ń“—ĺ/ÎđŃźlŤ«X”lľX㯑•A´Ě É^őn\ yşc¦˘uaµôËL:Ć‹ü ţçő+Ds=ź«h -hu®˙oóüE µłłť[cHˇOQ11ťË٤NÚvČÝ ţék$fÝĆܤŃ*ß ˇnWÉŮ­öŔ¤­o`çV<ĽdÁę©Gőăy˙6Ěܽ蝴}Oú‰ Ä\ŚWTPęazťMźIF(’WméŃÚn˘Wüm+݆vpľČ˛ńĐÓ^Kqč[Š…đëzĺYS5ÚŢąŕđ±Çű@,mľ0éÄs÷Í]c91ą“S/n•#×ŮĄuwŁ,F爭p\\H&yüłn&1ňwfÓô x2ú…§Ç`FŔMn&s@[ľŕ|:ĎdÚŘjFU5ůÂ~…WüWrî,on\)—DŢAFĄ\EŐ.R^DĹ›ęë_ű@%ÉlPct䓍‘YřÝ…ÁµÜ w±ŕ«×Ë]° ă ÝĹ%p'OyW:\(˘= ´¨Ź`}É‚ă_;Üë¨tŤIk%{ŐOřtčßš,Đă‰űńpť›Ťôk&éł>îżaă@ë[Ţáň‚ěŔ®ŽŐ`»ž®Ćá ŚăŹÂf~`Űě$T»/ú8‰ß†Cމ@¶ZŐkµSs¦ÎÁĂâuŞk(fuî!ţ7óH #V ÷ěl]łÝ;ű5ď0xęçm®3Ó㙔,¸(Jŕ‡3îŔđbřś^ŽEń+=N›ąÉ†t>GKOŽF‚Ť6 óŹP}E¸ŚĹ7 qǢpuLi­»/żxńÉšĂ×0o1Á†R˛YK,9\ -ëpŤĘrřł5Ž!°éW Đůhć§˙Ćžl -5ČŘ\$'Ó]č -•lłŃŚęü ÇŻW×íÇ6Şň‰ÁÁó µ?caŰMŇ[ÜD*TNgV6Ť#ŮŇçŔbóě&p$Ë2Śvl+ĆŘř7eIĘG–ĚŞŇ}Ń_ůz˝jâĐ›6J<¤á\Hĺ›k“ě]ŹĆAusq[·Í²ŔĘřžuĺ´t~Á3•tîH@?Ĺß @÷˝ďű8YR.C>ČË…,Ŕxëe4˙YaírW‹#J đ˘ÎüŻËďĐHíhG6^€mUź‚Ó Đý8­)ü>Y?\Í™ĐvEçOu0K©ă¬¤mĎdŽőÔ4 ÷É3FO §/;QjjÄĆŤ9¦čÚëŐ¸ő– -đ¤#Ě Ák°T­ýZ…•‰ĽBôń˙ťű(Q&ţđ§8í‰!¤}ô*vťm%<ü/¸fpŕŐŃQy©$C±]YÇLĺĽÂJ|>’4ěAeßĘ­ÓpH𽙢–şl•ňhu›Rn±,=ňŠCîÚ×ŐëĚ…ëť!®ĘK ąŻźš „!‰žą85dA†´b/·üYIýÔ~0ŐŃgěßEţoZíŔŘđ˘ď§   őă!3ŹWťŕöz<Ó ŔýôLA‹`§(m^ţVŕLΉÝ@V'Kl‘Űr%Ľ]2\§[9 í‹•&lÝh2Ůíú.5“¦ßŰyÓ—" (”h¤č#)ŢÚ6ŹEkÖë뇭L¦ $éŕ’{´âśÉ–]úˇ¸ś*őOµşĽpô»,žŹC‰F1íŐޱ¨ÎŰ'ňf‘¬>nĐű «'"ď<öFöŚ×&%F–˘©ńŽđŚ«ž+”‘H±¬ľŇKžg¤®ęýđŠ ŔëUeS0đ~đu„Z/r´îtHłsńbMr --ŇPeŕ\@‰@W÷߆) ú¦ő;¶ş„dc0 Á8Iu·‚Ő µŠŐ’Ě ‚HŢ8†'iZçSX~­ľĂI2ź÷E»•V(RK m?t¬hUS:´Đm¶Üĺw6j ·3Y’ 8"›ő9ŘPw·<'´[ŁúŔÝâ˛ćE áw‘Ť¸І1!š• :/—:/tą6/pwĐ* O@§˝bŐţeţQŃ7öĹ5ĄçQßk;a4<¦¶Ť;Şő­Î%* »©«Ű˙ÚBXS Ó„m­@Ę/Ć‹-ÝŰÎŐlkgw˙|(҉kT^O`‘•#áůaź«m‚: Ęwr2@„ůoď65ôü#˙ĄPđÉhh{lÉ…ŤĚ ŻŚ•…Đ.ĽşANśµ×ác@Ą¤Á÷@C;Ź®tţ‡"Ův‡… öČŃ)†DÁ5–G™j:!VŤ±.Ɇ߳ň;yĺ±ăhŽđŐ¬°UDűcCLĆ.Ż®yBśŹ‘?YŇą};J˝,™<|ŕă*ÂĘ ČHťcYD@ ĆP6ÄÜh?šç÷@ťrˇ¶Ţr/ŁwK3ö‹Ř{D?^“gˇž5E5čYńn`¨šżčÎtą‚YRëâ”/őĆ?đ;“ݖȨ˙ĹŰrďżślŢߎ VmGWhşVÉČ˙©cĨN©ŘôŕJ&”§š7˝÷üRXŮ]_Ju>6ĂÉ5Ú\€“KP<`î-TT>7úżH»Ř~„FĚ`Žń}çYw0­'4{ůAŘÝwZŠŚ˛O]0AQ§â#ÉMµŁC(îŰ\¬˛ÄŕĎLâĽu1AŹŻ⹸kË–C’ÓÜF‘U&«”ĹRKT~`Ó3ś¶ił4'rŁÄúY›ŞX#\± ˛ŕŚşqÎ:ÔMş¶@/vĆHď !ű/cKĂÚÍĂę$­uV«DŚ!o˙^„/ÂśĘ~›«4n‘ěG^I\ÚÔŁo¨?j”-¤3`´ŢĎ"EŐËůÎZ\ň˙°6f˝k›ÜÓµPEW]ť&N'°„Ämµ663,M …!¸Üż+L(I˙ńPRpnő8!N†¸ {3]ÇÁŇű–ÎŚÖTö<@‹VóŹD1oŹ{Ynź-ńţĚÚCZÉ.ë.ĐIs%' %Š€đř”‚´Ůč;@T<`ŹUŔlˇJą+âšř-âFF¸28´5ËfÁ*ěřá™ß»5¸ů˘ĹŃ˙"áźäYŔŚeřxńΓň.ôÂGý‡d˛˘ôő“-ęě7ŁlhĎQ7É Őaę ĎŻ"K!01dąĹw,G®zóçÂĆZ±w¬¨ŽŤ8Iđ¶<4*oŔ’ă2ýh°ÂMżw^gjË˝‹—ăLţ¤yŐS_ĎößŐy޶ý«Ą‹jx.şĄ`—J_5ąÉYîäzşY…Ä–źe"ŃĘçUâ6¶˝LI•ĹaÂŇx™pWÖútȢůđ¸Ź7šďT]S^\™çmu]…8ÄŹ&˝mäŘ•7ŹĽôŞgÚć ř¨žÜmUµÔئ‚ů2)Đř¤NÜ}Ĺ!eŚwźBZ;Ç'eţéŻů©~ć#1Ŕřż{R×Ýé"Srý·(ÔÎ!ľ;·y -cIDSmgËÚ=eťü‰Ś2iiŮ[Qµş¬äÔdů‡dv Dq˝X^#`ăßoÁ¤o‰ę“čKâüC#ÍŚÍKˇÇ2ŇŻ$Ó4ögj0ěSŤhłřJ(Âé'QT5ĹK‹í,ŚŚÖĆqLÁŰ^ýjŕŕ ¨¤¤ˇ/˝|׆ŞN\fP»n*WDZţS ÷ɶćŤ>Ľě00ö˘@4lľçŢÔ”…$ožG _µ¸ź¶D^5®qPş¶ü˘M<<3~ě;§aAf»ż§` l/!%<3­ăDpźdŐŐĆĚčzşŤ+_~Ë`jv¬^Ëú[űÇJŹĽđˇâ«˛\LĽĺ;žŁÂůžo­"\Ç€ôĺv|ňÍJyʇZ~ÇůÁ⦿Ąś×Č…®ëRfH˛=‹nŔßNA„ębtpCÜŃĄů‚…C@w@3_{|đ_s Ç.7TGČS˛}g6Ż™ĺXÇb ˝[ĂiQ4¦ü˘×'ô-ע{ňy@l§n©L5cG]EŁ”™Ł®#ˇźüö9ŁBöE˘Ŕö"j?©|8&®µo·‡Y[ˇŹ43‹ĘN i0łŠ´D'ţĽţŘk`fúŕb Ş9? j X¶l÷Ą¤™[x˛Ç~Gć/ĺśőâ–±×Ф ÁúšźgÄkA]+Ş˛“­,ěX™E.Ńčűm%?Ě!at|1–Ä=ˇť§j·Ěű=ţtő߯i±aŞŔ˛hËóé/ď›ĎeşĐ]Ô ÖŞ“_f{ŕ&Olú¨Ľ˝Ľdß8ˇ,~UđZ -ţáXń‹¬bä<˙r“¬© ć^Â-đ›m )‹ĘzŞŃDů¸^š¦jv Ë™˛žGy˘™Ł4Ěčp5´čoíšö0ÇÚ c®2˝® %!¨lBŠkN®3ř nMĺ?Xř ŃŁăŻčqóś.żěC;.Ƭ^× Sč<„mvHÁ:$şFNm0źŁ·/‡ľµ7šŃRÍ ˛Äű>@]tTĄ{Ô‰âRdýűL󡱉ŇâW+7ůŢî{·†i˛Ôős‡±ˇ’ŠŠ§65”\"Ďí%Đ#í\%;Ď™Ńë$ćÇčăă™yZtNMÜ®Ő"Ľ9ŕ.ÇĚ}ş.¬Ł&€ĄÚ¶f6Ú¨=ʨcq k=-Éň†:ËU§ţrá×OÂň‹ Ýž»ŽW!µ/ÇĐŐ4P• đk( Łtţ+7&Nę߬5&D˘®yöOĂ -S*Ćä'»-‰ĺbă'áĎP ÇÜĆńć¬âŞ- őcNĐŻXec3ĐĚ X‰ś¶™ †uňH3[đŔ ŕ™YQ}$ÔpÓ€rţú)ţ›öÁLľżD˙3PcOL{ŔÝ1mßÓ¶ŘJZ"ôÔˇ-ůü{=_ŞD‘ëňL8… -りáǤPÝNŐmçC§,·“L™ČôCŞ} -Ú)h0JĎŹŘ7j¦źc’ęÚt”öô …Ć2ŢŽQ[–ěúş'0nÁŇoüŔŽŃŔ§éöp,ŽMĆ·iB©Ťe> 0şĄďbUTÄ·taťŢ5żě!ѡůůD~î8»ś\_\b@lŢ\źuiJĽ·E–)hľ -â« ‡Őű˙ëwK@Ľ†Î€Řď×-J ĺö}ň~-­¶ďőδ} ë®ĽŚ€&$OĚ̢Ë-¦űJDXwîOď<˘ Ť§¤QqŔu‹ąYß$ă6»9kĚFď ˛P°”p{é6ťaŚŐąľG’4=wáGőhĄ4wô—µ‡ýž¬žďMžŽ›( 9˙UÎ=Úuá+ȤŇbýĐŠËß^Çř&ڢ٦c J~Ůď$­őŢ˝`Á%ĚLˇ‘śĹ‹¤%^ǡbŘŇP×D$˛Ź„ÄŽ#ťßś0"ě±,ţˇzo&Ěž¨N)|wdČDŘ1PôxXŐÁ#­Ś7Q)É$aj)- -ŕB[̲;ŘVf á÷Ý´—ťĽ‡ĆĐp„v‡VziY(&߼M¬ 8Ňa9kÜ@MťŞţÚ¬6r¸ţ•E™`ř´áBmŐŕô¸Ř§%Á €ó©Ć•ۤȲ[@ @Ň,ĺ\łŻ|u—â^¦(iĚ_I')·ĆąÍĎ4ËüÝŐH“ŞůrŹűč§ ĺw}Ă»ÎC†”CN;$;QţĂ펞tÍ=ýđś¤Ůż$Y‚B”ł&źź˙ŮKŇLŔńćč9¤]źoB7ŕçˇő©ůĆÄCĹô\^!ŕ—†éíĂ-ţ¨©“±Ž›ŕ -’­vé9 -ů‘ýŠŔ †®O8Ç­¤ĆÔJě X[p ĽDŢ˝P}ăćŞóAŇaďߥ¶+ë8ůdźŕŢÖçX!ŮĂČ—Ť­Đ0}k“~k?ÜÔ&«±%őŤ9ţÚ9Ňfw"Ü0xń”aŚŞAč±ŰéŁôüËŢő/«÷Ű×xĆŚ-Ď6ĎČ”0nWVčqAýŽg]ĂP6aâś[˙Ô±]ĐąĽ#;c<€/@Ť/»#‘C8ąüŚmÚ‰~)ÚÜdת1<Ů {›őžT~ĺŮ0gv­éÓqÁ'÷@Ăč]ńĺňÝJN'%]€Ö†1,8R"·Ĺ˘˛¬źşüöMśÜź›ď ©S™'໣·Ö«ąrëˇÖĎŔjAÎp[|ŘkŚ?đOüŃ{0Žű>-ä€o|?(ąQ¨$ÄÉGčińob§”Śm•«˛ďUÝžmF.č9ä,áă‘-¬ó•d•ĆbaŤ]R+Ď>§ú„z…˛ŢˇŻ?miE{TűŘ_†M;¶’eÍ;ŁÖ¦Čôµ¦×©W“^íR`ká Ąĺő`ŹąY˝?&cQRţ’®KĄčNKçŃ«}i˝ľ$el`ĚšM›íěgödř¤ăÉ;{Pă!͸yjr ě~šú0-wĄµ\8˘„[^Vž[1ǧWř2ŕ$ŽFŐJ,ô‚~8PŤ×Đ®ŔĎ<źëăiź§„&—-TĚV˛ă>Ţ]hżZÁžł‘ßć®Đĺa(ýP”Nă™ÓúčnęlÖŽóPšv/b÷hâ­óôÁă]ÚŐµ¨X Đ^rúc5ĂmŮâłMu‹ęJ"ëxá ˘ľ-ŹžÜs»9 -ZĐÜëI„»Â° ‰;\Öo.“‚$\ß˙§ş„‘’JŞä“×á 6´3ňÓž8Ťŕ(ŢŞeŕÂV~;Ńz‘nÂNPT/»;·˛Ě§n\1®Ç5űt\ŮŘ)iŽ~dE˘ĔË›CC éFćĆq˙ÍŘ­Č ‹Dqb"S8Ŕ¨K;íú†şÚ=’xVś±˘Íc(y¸ýŮťEsx+Ź­­3ĺ†4%ˇĎŢA'5KTZr±Đ -żNlÜmB¶Żĺ».-Ç›ż·Ă<@¤î4-ÔŠöÂ(ü'd*4Ö^3+ë V±^ž_$¶¶0¶ą$ćŘă<Ąěô®® ůĄ‰úvâ,Ü"޵šA†fÔą4‘/弿úăŹü–ţŞ*ĚôśCUhl˝H Á?‘HţlVAĎPoÁ bĺăV]Îp8–`/±őČ34\¸ż•ún -ÎżFFĂĎşařtm°ĎŔů+âJžyR`|)°=®}8DŮäš:/†.ŇŹ!ăňü´Öčâ ĆÉÝ=ŚçăIĂů/Î|ň$˘!é¦÷;áşLN`čUGkÁz6oęŔŚŽ“Ńt˛¤ČĹĄiň]‰/ó|w˝‹oĽrú_<^˛Ę)÷N­ Eˇ­ŃŘ:KFĂô"Č %~A.÷_ť@ĺ1 ŻY/2ĎĹéoľéË€7,0SŞÚ9𙣞k@¦fĐÜ1eĹť`q  1ZIľ®Rn;V—Č1ĂúNçłíźöőoŇAÓĎžĄoéovS5Ň];ŹŞ˛ă-˘K=Këţc ×Ăă˙dYY«6?–üšOç%”Cą Ţ)#,1Ă?µý™gGčisÁhźM -›’M•,†ńMµ§·“Ö®Ë\§0E;U!€—rňc4×”ăěÉ«tH°9B)éŕ=¦ă€DmşríŔB·¦˝:…oĹäˇŇ™SŤďU˛fŮSë‘JÎ%u˛)覼”< 1ęńŢă:4bąfÖ‡:…Ťé xE,4ÍŮ·_ă®ĚťŘ0”EV\dW•PäÜQĹ7زöľ€ßÔ4\ź•ź†Jž ŠúOŚlL=óťŢT{TÓö¤ –w´ÝětÁŔD٬Ýů€Ă,wg\ŠÄs®ĐŤÚ¬Řřu%¤~— Ý´ÁSĂř—@V ~ÉU™ UÇ@ř_Fy+…YüŽ>úCßÂéÁŻ>Ă?ć^ňĚiΙ®j AU^ËiX -őąQ78ŕ6˘y)KŁßÉ'‰x‡qž!\ÂÖ˘m«ŠÁË÷ŞViZ"ăő -»püÁȲú ‰šĐŮŮÜĆžPŔĺš!K±mšbcµëęę{8«÷˙Šä0G˝H[o˱iÜ„¤^đăČ*^¶żů¶żÜ}¶ł.Ż©2ş‘ CDňޤHˇˇFň@úÖ©ĄWîRëżö^~ę—Px¬»‘RΚµŠˇxy?°‘ÁŹ>ŇÚ±ŕˇFš×»¬˝ę¸ł\ mIÜăuĆžOP™´lŢ‹7ť¶OĄČ–ă Ý꥟®Ol=$ĂdC.GRyU .{<ŤŢyä†90—†±6.çŚe‰Ĺ[2wkŻç¤Ó;şčgr˛pâŰť~°Łći•tŔ–’›Ď˝†Rî[,Äĺ&áÔv -8ü ÝäOÍ ĺłQlnµĽĄ˝­`űQNYŕ#} ˝‹—SçűÔŃOŰ ‹/m•]´W[ř@'‡´<>d®GzOŹ)R-VzÎAŕ †•: -05­Ť)«ĂçśśąÎ¦Đ~%"ô&ť®ćvąÖ}5diŞň ú°rPDîä*˝ů[]ŹŢc0ŇöńČŢ ›z~čYcű—0ćVĎ5×ćHr$Ô śÉ?‰Îîδżśhů—ť:W|âJ7Ö­îÉ1˘DV8´ŃűŔ!*~ŃJ*‘—źUľĺíł"csiˇü )PłÝRKmą` Ę=˝ĘEŃ‘ |‘ůýČ»K»AÍąP×ëâ#ůŁŤrä ›^4ŇýçÜ›°AݡJ§B+}2.9Ľ)aĘö:E6ű‘ţG˝ŃoíIĺBŞŞ(żřÝOâYá©´·$¬ů%ł-t‰*Čv'ňÇXXżXzo)(ń6ă7IŔ,äiXAľ8óI®ß˘ü.¸x=b‰Ľaf@ŐďwÇ,Ť­Q´±BjőKŚúÝUEéL{Ř:H(–ÁSÖť¦¨oGD$˝ ôműOŚţ˘ŹľMŰ"9ťş†Dü$±­‡eŃ "ś×µĆ°YęRú+…u°?†~2:§L0ü˸6D=śNdćüÜJŕ{J8·š¶aYŕł[)ÍgýÓ‡§¬–N<Ľl˙ě2†“ľŘýŐUçě9_ -Öą8–Äu|đ5e’€TYú–J°«ó‘UŮŇƜģđ豸ă.Htý"b/ 9žĂyÔ™î“)îënľzŕp*jů$Öĺ˘ďËyŹëďÜA, Ş«ĄyĆŔoťÝFd ”‘ŽŽMM‹ŢW»J1ÍsńE— mÂo2ŇńŁJAp(ÇďôF‘V;E„ö¸ĄÍřSĆ謳 -’Ľó,hüŔL™Ů]mŚZřŤ Oó€)oďŇvŚgP™…oâȨTŁ788NM(7ň}ă|.j·‡xÔĐ+ŹZ1śS4˛ôşŽ˙&¸!(sÁ†!  ‘TĂOňVśV‘k,ăOË˙Abć{ĹFgyĘr¦5ĹaGr¶q+j÷‡ÁĚ%:" -Ŕě'4í'•íg\â -kMń‚Ź~´_Šúä}ţŚ"?-‡ w -ŢÝăáá‘$sUQĹ)i§ýÎżťÝť›&öťKÇ0|OÉ*ŢŐćj'Ůeřvz€aËęaA·Úź›üŠáß1CݵÔ.7ň˝vU—5zá iă–ŁĆĹĂ<ĺ wŮ_úb*+FĺeAÄä)Hg”ńq….đÂ,uHŁx–ëŻyUđ‚…ź-H>řVDý”kBdlFDţÉJ°*ă¨{!*8‹ę:1_Şui±Ĺ <Çgöwď§đڱ‰'~.^pNůfźÍZ÷zPzŠ®©Ź łkŠt8WĆ5đŃč™ÓX©žĂlę’{“„Ş6‘6™ÖM༅2~ř+†‰ýâÓTúx\pJÂęžCŁŔűe6R'ö"9׫†ĆşJŹĂígČ44';˙™.‹™Ďě@iŕ#\‡,ŞvŚgÚ~S7­)/Ń»e˙ż‰,¨w '\w• äć­4ď<A×yđż§öźŤRˇ7Jí9Ů®d¦ě¨ -Md¨żť„‘ż­8\†VpMÉÔtküo\ŰžLoÄ®47(źŤäąĚ«˙˙Hń°‘Ľ‡ýtńBzm{Q™Ĺ·Űđrk8ţ6CxďkşžUŞÝĘąf=[ůŁžXP.Bqű»:ů ôÜB/6äçɢaş¬ćPxVň• U=Ň -§lלrščči5”°Jt(‹ †ň’ Uü sFg3ýc;‘•1űÔs"ű&8đ›=C°çÁ`cö^łÇ­’< #롺 ‹V’‹^ćŢ-ůšO=ó1—+;M8Ň -ůü{¨É•Qrj^hÎ‰Žź?r)ďԋĦYńşř¨y+)€[ŤkXV°ÁĄpű´Ř+ć^&šĺ¸â -1ă2+‹/ÜčúB4ElP‹ÔPę6Ä%“ٰĹC.ĹĘô÷¦őŰ}8І36^—tsšęňŤ¸‚Ť|Ď -ŹŁ ź5‡€ŢzČ \….3ÄĂ„3Ô]ymP”ś&\@újĎ/ŚĆÝ݇ŰóâőşŚDĹą’rË’]rô äý±¤ŻŞ6¸ \Š%S¤ŘAÁ©2>–1M‹Űp}‡ýn} ˇ ¸uFn~FÂĎ$KÇ5Ň˝KVˇë×şĹ Ź“áŠüÍÁÎĐÝGuë•0îű›•d¬ýĂĚCX¦$? \UI乸ü\ď´€v6vÎJŞ™gtąŁŞŐ˙hÚuîUŮ»ÔÜKÁ@FUţŔw,x…Ű;ÁBmÍĚŞ˛řZR/E›¶b ůů**p~łŐŮ[µź@üGţř…€J=} -ć/Smkp®łú•Idí×Gă¦çnH蛡µě7Ô]L–[Űó:F§+9:´n ‰A’nľôí®d÷iő@đŚŃéű‘zŠŢ×–ŤÄŕć¦ÁŃ;ЦŃ;kéjR VFą{¤¨=1™i Q9N=Ť>rtçĂŚAkV¸Ł!_@+⥮†j{tI~ AÓ*ĆYóűíbsY¤¶L& -SjGs™©Ę».j5Žž #˛12Ń^×ęP}҆}ŇÖľUŔ)ŽĽOţᕌŠlĚÖ(ą ŽŰ:PĂ5Z6Ď{…˵Wź»Ëé+ó›ő%nB"űbżžĹÁ°×QĄFş­ő•I+ŮÂ^“:»„)™O!kńÝXçdI”ŮđM’†e:/îHUÝò斦Žę¨ń,ŹM;a]’!I¦š´˘ŮQÇN/°Ů¸,5ßŘüűE)˝ 3GE0=‚ 1y޵g´TzDV•Mé|x\| <éąŢ‚˙9NşÇ–› -M3 ÜÍ佸ˇć¬®U·…ÓäpŁČ č]WŞn -¸¬A%yž*Ď'\5×~ăŕsű™ž0™<ŤăGâ㬣4—0¶¦âÔ –÷Ä2]tťrď °HÁěébaÜđyZ?ô[d€ń’í«Łű(hšĆő㤽×í—ÇóŃ´łŕN›§B©aROnÁKŚdpA–oRXÁ,*Ť?D ÎňeŹvU&Q@ÔWgD^ą6ö‚Ŕ‰¬ë™ŰÚ {_ˇsśŘ=n ÔËĚôc„ëpäĂ’˙ ™ŻmPSÓş©1Fź ?ô#ÓśČwCv©“·ýČ·-Öa¨ ţ䊖z±=3˛xđ±Îĺ%EůLxĺřńăű‡bÜǤŔf—9Ŕ>O晥ř‹¸i´ĺ»Ś= -°Đ ŢwźĹď©UĽÓĺ%:‡nAr j -ŮďĐâĽIčĂębĽ,¶ą÷Đ÷ťEŇÄKÄ7gŮ -$ÂW2 €‹R•äç>™Ô¶Ôř­—¤H‚a5ˇ/¨Ww†ĄĎvkŤňâ.Ľ˛k–ÄŹŃqĽ…\öÍ3•wSʬ˘«;żÍŰ žX*†oahđ -7uŚ“ś©ÇJŮçÝ“5TŕTÎ>ŠË™Űň1…+§_âš9úF?ѤP ßö¤ç™Č§.ńťŕrŽ(âşí~1š¦Ós„§«¶`č -qź'‰n:AY˙ -}Ó}!âó$vőS3´0÷˝Kă±gĄ3âéŇ-ë‰t‡ÇŐ›rÁCL‹‚î7CB®ÇÔŮgë/Ń+{MçĘ+Ď}Y•9Źü>ţ˙ŰŚ]-ĺěG¦‰Í®ů źc^®)ĎRěĺÄMf>N—YyH_”Rďve ˛ âs˙‚Ë fťÔ"Řš†˝!§ŤŹ–3’;Đ9”÷Ť%AÚż„l†÷4}ĘH Őî;§čŮ„WťÔ˝aĘNľŃ§ŇĚI ć5ű _^;€č§[ -ă,Ů-đŐ×lčĚLěąĂË -‚¬p—~0ٰ#ţĺoDď€ÇYDýTu:"qň˘ĽńĄ¸WÓ…Ů <ä˙RĘ_’m -Ň9kâB˛ VDî°Vxo9A«ĘÎ5]ćçĚÚk«CŇmÉx<âŔŁšł“•| č2Đ]^j´ĄMW ‚܉X¬1ˇýŮ’{vŁ”ËÚď3ßżĐÚw3§á¸[$č- \ËP–îžpŇŞŇŘqéAër·D˛TÉĺˇý´díUĹ”dg5!ĹĚ9€|â">± t!e“śOřüÂ÷܉WKçN €ŇôvrýäŔ±˝ř”-ű|×ů©Ę° -ˇŐýĹ.LڍĄ ´„4Ą+^îwç6¸ÉÜ^’j4*š ©Ya¦äEţŞ>?&а.±oAyPóo­H[Ĺ˝ÁńŇ˙Ä€'Ç)M'ĺ*áQ[áĹł3}şé®: ŮÝTż•Ř9ű{5‹ÄmFxr%phŰŕ)MmŃSZ¶í”…|€łłęHYŽć%ëSE&ohx}ťĺi-•2< ő(~şž|ŹŞ_U˙“§ ÝÉ’Ŕ-Ać¤î5é;€ľěűň0¦¶ję˛űń™«ÔÓąđń:`‘d,Ç=rL˙ć ďEYCu&бâIć_¬¬ż<^ł­á1Ácˢd袓 ŽöŽYˇŕ>7ĆÂf®Šo;Z.ěi¤Ău`U<Úp3vŕád|śjgĂű"ŇÔ;2‚…gŹ‚Đ®ľ3ţ‹k‡Ô(s„Ć_ţ9ŠdŮd|ćnćŁrUIĄ&ĂŕśT±Eđúé×Pć§Ö%·;p“ĚD{öc§Ěż%0ÉcpO˛cĺö“qN đÄít,)ŕĐ_î€úîNëěFŇt 2őąj Vůoü;Čä}Č(>™“ÎS›Ż4v×*‘0żw˰m -yuÔQńŚýľ2´¬Vę?‚#zô:ßçźąÓY—śŃěĂĎDě Ő–zń2â˘D%Yä?¨ čpŰŔ=užL•+ÉőX=QËK#ú§a ˝ÄŚx1kËBü˝ë‡’5Ľ9L ©DKWŻqr©KŁ@€âo-ÝfçY¶˛ÁEľ’ÉěHKł&!ŕĆ^˛*şŻÉp -ĺ{”*ż(ĺ°óŤűoK†qôĺîä]Ňän“ťňđ”pźÄűßŕ˲Ţ÷ź GĐ"ą%Eî}YýŐÖ…ŔG}\'ô•¶?Äa¦´ś–Ülj7öëhĚ@b ‹şgksł®LĎě ŔĐ>7ę|ůQËB4[P9‡ŃÇ™•čzcľ9ÇOC‘ů - <Ĺ40±čĹ•`ú¬–îFůôl©áłąÖ–łĹĚqęÁ1ë…ę^dÎhč9Ç'§ŽX ŚcÍ]f9§ŕžWť'* JÓé=˝Äş"yME!.ęQ`‘«ÄšŮ¬!k«zÖd9‘˛ ŐQa*ę¨ n„srŞ7(Ľjd[ŞŔMOG -جÇ-ş&:řvyÖ˛hfë –$Ă··ăJ©>{6‡ě˙Ů#@€ł í§ă'%ó¨</f 3Ó@Öý˛ĺĚc4 ŕmrű˙9g˘@DţY‹`‚ź¸zćKűŁ’O~đ˛8)z$»$ß#q‚Ď]jŘÁ8Ž…«;fS`űÍŮÂƸּ»ˇŔ\2lĆN ej -ů”RčňuÍt¸óć<ő– ú˝˛†Gp‡‹i;xůČ6|ŮŰąŚű6yű›B厦”´NŰ~ĚK˙©ň¶qذă Űz“PČ,‘AňĄTž+rRÖj%XĚÔsŃs„:č1€kŔŹ8’š«D×b>Źw>ÔÍ~ľZ†[I&Ýud’L=xW…*ĆŚ·ęń`*5ÚU’{nZ·”8Ţn§ŇNI”G¤X—xrÁ…@ż ·d5ě ÁTęţÂŁ¦‚0)ăOAü…µŚî®ů`°Â¸łĚŻ:řO=ń#‡Ń*ć…ĄĄŘPôa-Řřupč:wÉađĘ{2ˡ…môKkVOËŰ`wĽ˝LĄżť,AIDóňľ0¬‡ěůÜ»ĘNfY*aU_Ń`Ńč3(îČ Řó=ÉŃ~˙u‘é›Ó¦ů`c Łtsöx§?.ëúqz¶.¬FxhiZqŻjŃ;~ľ&őČ -ŤpXsJ=e4‰m]â2ŻäZŇÚŰžęte~–R±ů<¶“HYČL‹J`#_1ž¦đ\%ČZ%–ó§»wŃމď-,eă[¬\2ŢG5Š - ů¤Őâ¶Ű.şÔ±ő>ÁÜ1äÝ$!ŹgäŹßb1´š©„dš]ŠB1`đŮ`ă]łŕči! -đR2ś|"ăŽýUˇŃŠ<üwËÜÔlŇĹŰ:ZDK=UÖŠL`áş—ő(0pp•Ž=(5DŇ(­bÔ‘Iˇ!ăř¬Żć0L»“Ö~dýÂřQf1űKŹ0q•ĂD/Ü«Ń;1v€÷Ü_·Ö%–ň0°¨BľüˇfjŐd¶ĐÚÚ›IďBmBť«^•öż")p§«Fj‹»)FÂ.čdŇ6Q3CTă –\Ptđi‘‡âą }âˇ~6nxşý Ż¤öVX{čě‡;ťŽŤ k•ĚŽ· QňŮŰ@č‚ÍäBeT^üvņ‰ĹJ" @ŇUÄwÉt‡w?ú:ÖÝ -ďĽí ’)cÝ$ł(¬ÁnTÔő쮝ŔD•@±rE U)[‚"l -Ż­J´śąLQ  ĐL“ŁTů” KÎęµB~L:Ů‚'đň=vË´Nř`Ü}Ŕö1«‰4aś€~ŇŔłŢů}öđűg)$Ă•ňł -}Ĺ@,†Î1łář”ÜGq«µomNÎÝB›“›xKDŃ>ş:*Ľçśn/'ĂĺŻ5Nh‡‘*bşÎm¨ťP˙üź7Kâ˛őŞu¸%K>› ‰Íş•;^é\8\ČńóѶÝŔ eŚ#εÓ?ń±8˘ޢy¤€›¬©gçŐĂÁy,™¬L”ź—C( ?´j{$ţĐAűQ,€”VB´=Â˙—¨T"XĆ×?Méě:ŹmS‘)ffA&úŔ•¶Ü‹©§°ýI\ɬł,í•cő-„(÷&‚QŹË/òÔD—Nđl«Ů+ŐO¨Šű,LĂŠ`ÜłŕĚ9EÝiY‹ţ žâŐ—ŞÇÎX•+?'ć[Ř~đě `yˇß -$Ĺp}Źx|±QĆfęVě†áęŰWMއ«ŞT“çŰ&śňvÎÜŞŇ%VnâĄg7!9"hŁ0ĄMqxó""iě†×pv˘ ŁîńTU'üťöťÇ“˘8"ę›’H&1iÖľ}°´NîC TăŘ%í„?ÉžĽÎ;…+ý źe’üc ±AŹ$‚ź<sq(L>^Ű+ô łë ß㬓©Ş«ń›™µďjňMIGĘxŮÇNâŇ=yŮ -AÁ5ůŽ­¶mť)Řß”{/Éפü…¸¤ě*Dő.q‹ŠäŚö‘ţt¸v rĘX;x  ×YAeČʧř%·Ä‹ă^{Ȇů´zaŘ Čž†ť]_ByÎůóP˘Ďş‹p…*n—¶«\moČî•ďŔ0°wmCvĹÜ|‘.€ŘaXkXŠ:|ţ—:ĹZăB5¤1č ą­ëÎŇ-¦vcśĽéăăçE©3}ňŠ'^3ž`r€7ësg QŰO‘~tNËzc‡ÝŚsgŘ«Đz¸&EEŮm><Ő`ĎÓ€ňSUŐ[‹?úŰÔÖš^ąI®/öŔ۵ň΋ř~”] 'qeßŐKÉÄ˝‚”śÔŠĘѤžXí.mÎö«ňŘjóHŞŻ8ě…°“ř»­*Ë•ďşß&ÔwqÜĘ“«ż\‹˛+˙ʎł˝Ű­D©˙Đžd¬Oć/8ÉCk7ěíZ5›úúŢďČ(ú”ܱj»HUűtèrT¶Q2Ň˝©źŰ«kpÇJ±©KŁT oË{™–ĹąmZTĽwz¬ŽtŹŰ¬ ăů!ň˛S§qĂŢn‰L0 ű ¸™¶Ev Ř¬6DVńf˘v¶Nâ0 Ôiž"iş(qɱëzŢÓ)ąŽšđĐžĽ¦č DŔn“­ŮßT¶đ·:ť§űăăç¶UK‘Ju×Q{×t“ŃńŹ4ަ±ĆBH­Ëi°Őh‚ÖŮiŽł~äćíö3vmAbXşOÖ…W$°‘e–żS•˘öóT„ąD¶%VĹa8ý0M -“®éŤ‚Ë·~J‚-Ĺí)µ”Šą4ĚóGhtN)AŢęV8ö+V\"’ÖDpě<Ő©»Z–ŽĽ®^Ş cŃB -ĺm¸}Ę%ńÇZ@‰M–ÖSv‹îŐRBű{ĄFvݱ0,ŰäĂ»xLŃĆk˘hËJ¶ v†ôŁńŔ0.T_lxş}ťg°ť›?‰Nw©}Ç!tÇ]+SU bĘ•{Ďn±‡đ'˘7»VřzÝš||o%éŕm÷ÚËjó™jŽ[n€Ǭ‹3÷#u·˛ü¬eŚh`b˛ţ3é-ż*m”ýq1š<Ď{)´"JĂ„™ÖŚę§źĎĹşK«e¨Ú®xaoˇ‚Lp¬{ 6Ęń7­#Ćkß‘ý"˝€Í…Ą+”ÁóűŔ6«,PDí*§[Ůůłď»@äi.÷Ë)±¤ ’_ńcq˛ŘÓýŃţ[YqPĘ“B–‰•%×=Î*•g0ž‚–ń2í¨‰?ÄŞ’ŇG)謇ô -ä•}_ôÝŞşź;č2ë:Ů„s‘q#pź´ú$Ëî*¸ň§ĄÖĆrŮ=í6mmż«%Ň|Ü×e2ś/Ă”ňĺY]čGÁ»|¤Q¸ł‹«Xé3çţöUĎÝž;ŁĂ ť†eĆ[Úym‘Ię>$¬?¨Ů–ŃÝ'˘ 6ß°< Č«ÎD*záĺW¤940«¸×¬ L5u´ą *joř‡-kŘç&ö-ŐϹ٨ŘZ2÷K‰?GëkÝšeÚ~ĺW•ń0 •ip”ę· 2¸‰ôô!Ěř”‡üń3׹ŕłT´ ¶ą¸ÖĂnč¤"IżęµqĘ-člÝ6ăT޵;öúéŹĂÄ›ŮɨÂÓ.´ÍŽo §ĎtR*†˙D" 5Ʀg±t{“X …FůK*y­Ôčr1Î^‡BCq~J\ ŠV]”‘ásÖłĽ–&čŃľ mÜ v§´®·y‰˝ŕL,ĹűJkřŘ›a­rVŻH㸠?› *WÍĺ`ĚAZĂ -ĘrY\ćěGp]â8'ÓŚ™žt‚ ĆČAśŞĄąh;©Ő‹,°9ô‡wAłJ8·=ŚEČ‚×>Í…–čsĆg ‘Ý~ÔPg‹řfĎĂZp3QB´¤FÚ6Ű\‚ą -ťP_d»Ů,F ËuŽt|ůč`Č©ÓQ±®î]řł­ńďĚ•©KÉźkô>2‹_`-`(GgĄ‡µÚ±Ľ*ËvÂóĐ–ę{8űĹ9]W:TŻŚ# ď>XÔţÓřĘWÎűŞP"7ZĄßˇß—°Ćxs*kÎl«.çuJ¸ý¬Ń”ýÎBF ű@SČU8©ýçK—„iĎ|8˛`ě‡V÷OCbüŠnďń¨vŘŃPŔ+aµű—2ĽŹÝöńZJR÷6`ž Ęp`rhś|ŮBű7ęßď^ăá Ä»ť9؉ţgzţŃéV¤¸ a·ÝQHČĄŻ!ôý˘e`ÚÎY¦TWąŇĎČ$OŃ=uýőś„&ě0BićYŰÉş}ö.=Ů{ţŤź–ľ-]ŐĽšî¤efś¨®'Ě2~zH5ŚR… M™¸ -¶âűÖď­‡ :˘ąŚý—öú8ťdţܸýfRˇ§iT–žŹů™ŹľäŐs ¶űvn–‹t0Dk=5ŮájĘëŹa·&†µlšc–šSMŇ׬Ƈ­Ţ@|=†˘WꔫuX ^ć[â\LJ[ŕčĚ}3±§_ţÚPŠţwZÇVi·[ť|׹wüs*mY&Päb­ g*¸ŠŔ?¨öM=d٦*Đt“Dď|BÄáĽ÷R7¸*^ŚVÜŕ^´?úÄü]ckkÍFäĆ(µKA収Ö9 {…±úUPϰQYa»śm‰UI™vĺ·K¨ÖO'Ř´ÖŃ3żW¨ -řMĄiľ‚×Hb®řä°ő(š±˙­ĘhçńVyĹŢ÷$›žŐą'‹ťÇ—ź÷%yw]`ÖA=Wö1‰Ć\*…'Ď*VęňlřWbŹ.ĎÓ|ŘoQt›QÝŮź;=MV~}Ë„Š˙Ôv®`ý˘Ę®®őśÇ -ĚĎŹ:*ç+ NÂüŹ۵/á}’«™_dNšmŃ[Ćüo -UńÄěĤ»L^÷s]eŠçĺh™FéX A”ŔFóĺ±9ŞuÔĂ1ѶĚď ťśeŔ‰$zľó!Ż R1äć×tőÇT™~"aĹJÔÔ"űŐU“ő"É*aoř\“?¨†'GC vČmWAĚó -Í….†Tpˇ=lkŁ|/dbnöP©°ł9řC[-ééÉ­âEľ«/·,)Í$7ľC€ú}úţ„üîö(’Uy!ö(n«ö „NÔf×T~ߥ“‘uNßf'W·ŕ%wZ† ř>_Év^ş\ţ'D‹ŠJ[ędâ;-ďŇňH˙Ŕ®7~7Ťä7‹¶•2¦mĚŮvŻýdqsß§kŞĎذ,>k¸ŮnDá’ȡh;DgĚOmč¦ Nn)7ŕˇK˝ đT÷®­\-bĺĘűĂ[ér9D{J˙˛gäZˇŇ”}Îű±íAżňńi*` 1~đq¶€6Ůa•4'Raeę0ĎĚíIR[ úŮÄî=ÜŢţví:¸ĎnGĹ‚˛©áî“\íOMę¶ĚSČý;Ľ;µçGš:˝R˘Ż -Ě&C o±X0Oî[rúK×+Nä¦>3Ĺ ˘Ů[ňUXČüzć}12^çP_±Ů×8Ú=RŔo¶4nčÔym”nâ†]Ů(O)Ŕ®»9eół}˙" -±, ś_jlüs@ -˙„UŻ×˝hOŽŔĘxU·ůIĄ\Ö«ljl`—Nń`¦ľ>3zŻ+Ň!ýŹÝüNţI1üu[ˇśţçÔŚ,H…Ĺ(sp&yH˛Ă‚đ˛ŻŕŢCÁ·Ľ‡bű®2ŕ·ÚNÄ´ó’F›Üło§aŮy - ťž“mŮ%k0ôcČlĽ·źŮ\ąQ[ľ=ęŰř9!ę&EbÇţü×4ĐÂlJź±üë-t}ĚĽż¸äx -$ŚÉvŕv%ç!łÄră15ä-~`mŹ—ÎŢŰďZý€ě í#ëŢúĘŚ4k§ůbô<Ís*Çű°L[ŐT¨5e:צleš^śŢs妗sďţaţé'*¸ł­iĆoîAŰÓaSŕőłŞĘĽąçénđô8wŘR'®ĂLÚ&Ľ­Ň%×~ĆŻłu1‚ -`NvPDŹŁviŚ4 u›Ć¸ąL§˙čćĎ:±ţ ˘ËâšČ»$óŔ\,ÜŞ/i#nž`†9íĐŃ-Ń׊h¶ç$ÚMĄ&:á%¤¬ś8~`ĹçUGi4YD#1˘0ičńU”S[l+Čxż +ä—[qRˇ€ZŁ‹ŕŁž{f˘ÍŢÎC\ndüţ cľ9ż#UW Ë(ĺŮËç›Ů'géWÄ”4ëňµT™s.ÇÔş6Đ7V˘ż˙ńxÝšĹ2&,'é´R–Q-`#4é†íń°W\/éí|G]iĎZ>Yh‡˙&˝iér >ŇCpĎŮŔđô.ü.~Byôř7tDÔ]ĽwÇ'býŮţ87Ç×ysUîáŻE±w«&nץZţ—ĽvË|śLĐ[ü*˙• -'"!Vr¦“AĐý°B“ěvC±$]Ú›ś$Ećě™’l´ˇ™ôÓ& LÇr“]ţŹS;"T¸‘srř"°ä›čWÔP)w•ą.mgVi/eŃÝź[ťP2â“™őŻŕ( (q˙n>7ţF´„ÇZ‰iE3Ş©Ďf?ş®ž·.ĆłŐ»3™ĘÇ™4ÇÓ˝ U8:=Z.޸qǶk˝íĘ÷G|ăęéŇá9,vTwÁ¤T”<ô|t`Źq2<đéçłé¨%v[şm¨˛ńĆ™„%zúÜĘIěţCE…ŘjáĘ«tPł é7&t/źPňyjGt’„ÄőpźeO±ßA}·OâKq¨RWĄ8“ Éňé ¬pn©/ľŐ#9ĆĂ”>KźĽöÄăˇ\~B"!\µÔ Č,:"\â™NŐčKô0Ü8˝;ÔřĚł[Mčůřf>.‡Ůş 6„ŕŐ™|>%q"YZąŘ Giśő 9Ď* -r,BŤ0g±Íěű-”ËmrJsy˘icŁźIC ýTjKFÓit7á—88Őp¦úhÍŃ[Ť<Á!­·$uÁ¦ň’ş#^¸qŐżđ'ýu+dž=„ĆÜ[‚á"xƸđ; =ôÇZYáĹ÷¬±v–QŢí¶Ý3@¤%ÉŤr -W€|ŚUcJ ůó“ŇŞŮ&eö÷٨ą–¨(Uňx†Łyp"CM$¶Aëů‰Č5KµŐ3?ďąšBÍBtŁÎ©L ĽĎ¬€›ľöaxËď0f"ŮfĚđşQRVř’…]Â*"¶ŇAÎŞlC”÷{âŐúś.…< ‰!{‰Ă…ţÎęD÷ŐGHxl¨Őľ·ů„㎉ŁŕŘn íÔíôÓ_EîöžZÝÝŢ&…5żo"[$o‚éҢ8ţĎ„mtoÎźč†/Ŧ­ŢšşÁ<–ŁźpŢ2KqĆ$Ű^4„ť«ŐX鄣†›ÚUăţ@ÓʰµÉ Ę/’bćó4™ÁĎ#ŰďX±žžLĎř9ŕW“"Ę­ňkr¦j˘i“Ů -†%ÉĄMYĎĎł ›Jxvľ˛ éPYä[$«şşXŁŔj'±ô"ÄT@’“'98´˛oÔŻ‚çčJ¬•?˙ 4ů扌ÚŔňtú%ŕt‘ąö»N¬Żî(Ń\2€†‰^AhŮß–)2¸‘–Ŕp´µbHİlîÚd-ź2źÎ[ţ˽ǧŇV©1°Ő7jôíBú-(đŐ%” PSóël_,໚@¦|vOČY…vz\yr’Ś\#“F1°ç ߨÍ~ľÔč˘7Ú®ář€ ř€)ęę´ ‘ýŹŁUÝŽĎB1<Śň§N‡dßlÎsw{ŘÔĹîďŕ¬yŕ‡"Öň•s>3Cď Fh_wîŁ8†·by’óńgȵACnf}bGłVůhQ!MůŐ €5$Řž„g”đ ť ăđy» ?‘l^ŚE„:8Mđ\3ĽĽ„^ŢîlUtłókBÁ‹Ç ć D€s~Ą˝4i÷Ă[ą•æăę˙Ăßt:·,'˘ĂWĐéä'śUť¨c'Ä߼¤v>Ć’ŐS›“ωâř`ąkýű±cPÖ_´Őäń/±)săgXyL!^Š!€’dę}B›®‘“U–µOý·´ČuűÂ˙vńď÷TU‰ ă¤ ř.Gfđ=áäWPŤőż19¨ź>8šĹ˘Ďµ!B,ýĹ„"ČnÂĐË­Kţć'Őˇ‘i+ë&14pVE^`!y©‹ňćUdzHÉ›°YôĂDÓHHŃ ä]¸dď{Š óʧłźĘ©Ä™— -O­š+őF=&I *ůď<9p'Ń˙WVŽŔVi+ÂqŁLÖ]Udoď5lośZ#žŚ\|sNSXđ6]O 2ą­ž·´oö{e®[.”~Ë/‹1(­ĺ  -ř9g¨Ś„Ú6ćŁĚń(»A#'aGĘAN•|öńó]úfZů»uň×ŕď÷éĚ5C×Xn™žĐÄ÷ÓL^ia4@ă‹Ăż¸ň^]ŚóBOz&‹+·ţŮŮŚşĎ©H’OŐćŠÂPM—ö†Ăš8DŤˇgA›zą˘‘ÄWo:-ŠÁ“pˇ -[‡>i›Ĺ`vd žŔâóU®´ąˇWúý¶8B5ďł'éëI˛ČĹjüŽ ˇÔ7Ç“ á–ăAMšQ·°ŕ‡ůFx]™ďÜ µaÚ»Cůˇ@m8Źj—čľC€ ë‰ý˛ű™4…ĘDUÓž¤5ĄýŁ9|€ŕ¤;ííĽD€ĺ¬ĘáĂü wáîâ+qaÝŇf „ă -@ú…g -Y‚0főB"‹ŢŚe–w˙V÷•Ä\‚sŢ’ťăá|çĎ×n5˙Í+*˙˛<îňŢ<<ŰlŤ3bŤ4«ęü ÓVUÇRů·p8ĽřVKSbßk1ń¨ŘŞZ.˝s2qT$Ý\\Ú~x?0©ök?Ć‘ĐîÉJż ±Źž OyEŇöTZüOÔ ±7ş¸gž+p F]1ńĺ,řâĄîŐŘ…Ď †o™+őôuŠ!|K˛>?ńmÖˇŠöTçíkßW}έ͡^Ôó^çV–6îαeÎń›]$ÎŁÖq ·ĚIŽ>aŕ,Ž´FYLă”ňď˙?š7E ÇÔĹÇ’`I¶VÜô 5̆81R<ô†AÔrÔJP˙Ył ďž*hť!jFtá3ŻŰć&ÖĄÖ#ŵ¦Şb9·ę?‰dt|…o~ĎŮ™l” %®áťĎO‡JKömpo€kěďV{Ů®ýs¤ĄŚ&wČ­Ę*ÇČněix#28Ýá;űô  -Žšî0­lâlAä`zQ$q×ú%#wA‚ŞKm›7Š/˝³~аŕ‰Ď…ĺ0Ŕ‘-Zd2Ź5™‹éJÝ„HĂĘ1ZŇă3DnöŹI|üŮ]â2BăÝ w^H1 Äú‘|ÖĆqŰÍÔĹE~ŔŠÍźPLPeň1˝ŻNN+MZCô\S·ĺkşĹbS‰e⽎§§Ď>äŚUY5m/…ęKtŽśŞđ”žsĄ”oĄÓ†1Ç_ ĺKëčÍšj&¦í‘ń0ľ -§çŰŠ î–Cݦý=O;H ŢH“xÓ?I`˸7¦eZľmLă {ëë±ř^1®WŐM˘H¸†\`Š>¨°čů«ů·ć¶ÁłÂ.Z5›° -g#ž"‡a{gĽhžˇńJšD΄'Hâé —&Çű0 >âböŃţŁúĹ[/!6‡Í4ĆőOĂ`ůĚS‹K#'Ěd˛¬Mˇ7ĽČ@äl=‹s‘ËK´ůPŃ/‹$8LíLĎ$SAYśěĐŮ>ÔăŘ -ť÷z– qłmi ¬ç󵫭1޵‹ĎÉ)·Č<7\&żPLA‹Ř«=„䵆˛=ZA]ŠýPąŤŃxŹŽâ0QIĆö0éŇyhŤqfuQ§ -Ě]>áu€ üČ÷c/¬·Ü›Îš,š»H,Ě·ö†·Pý{QBŐ5µ˙Ö'ó÷ěĺ‡Vń%nŠ˙Í!±YŻ%·ŻTýšŘś[˙“§ŇaÉzn"- Ą,IŐIŁJcS˝ŚIk:äiEŔ±ř1?Ńńhw Ýć}ÎCŃ$SW0IżĎľ˛ç>jĐ -hFŔűJµ7ŤÉ3#О¨cF-Îh‚"şˇ_üâÖĚ_0±C•.G-ŤŃvíĄ“GDdµ×QĄďő?,Źäńđ)'I·U3®×VźĚŹÇĽe šËî$IőCóĄ„ĎŔ©·Ć6ßO7–Gˇ ’ý7ľQűĘćdŚV@żP+î˛|Ą4uń­Z˙dĐŞVÝjF©•ŞăG%ő¨µ¸·šDç8ü†ŮÂĎY \V sZĹ|G÷ÁYŞ"4Ńi¸V®ÔftÜ -˝ ]G5YG•ĹrĂ5XŁ1 ˘/rN¨Vk)‹“,®ĽÎq[×0P÷[ŤmÓĂ·xaĂâ­=ŞG»¨ ý2KčÎsg_”gĐFZÍ úÚĄßŕ/Žť˙ĂRĽČ…§eµTúüČUäXődF¨ĚřľéŔYqr5‘'>C@›~ÂŁzçˉ;VÜm”eé •= ‹k·8ŕůhńĽ…łéäśÔgbĐTceÚu-‚ŔâËŠa¨00 LíźúÇF#"ż…Ë {u]‰ăéętd#Úńţ t5†ęęáíŘcJłÎäÖ± ˝Xx‚{.rA9m(Ę.Ő”Q`ÖKAD:¦4 sq„ÄKÓwů_3 ’łŞéúŔj@\ĎU^YU"‡­Á/ Š˝ľ° ä°TŚ- Ž—©™BXLŞ‘˘@ů˙)ęi­–ŃjI{g mĄLýCů^.. “ľÓŔBň-/CűĚPş¬0ąÄAO+˛YCą™T3BÂÝݵ]E4"őB˙®Ţ±gé%d–čđ­­LDéš»Ý0iXgřwp¦Ă/%A<í‚'-ŤĄ9˙úiż­† ôrÖd„>˝8¦¸ł*x¨ zL¦®LíÉu™űŤâÓr6|ü» )ő3#üZ¬4gLşQ}0ÓbCĎłűpŃ4yDţÇpžŹfś§D_y™ű>Z`-BsíĺŇJČĽĎÁ…bŤnĚf•4ő3v,Ý“Ăq±ß*ň»\‡ }ČOóŐOsďc¶–óŞ|붇čăFŚj˙`)mt§ÓĘJ$M g˘ňĽ%^ňĺsŹÓ‹’ÓŇ=2¤ ÖŠ…uďöŁK]cÄg1uîw?ý­4V¶&č †`‚]äF.;T(“á$oö0;Ő#>ĐÄś; Ôë’?Â˘ą”¶řdVq§‚:Í˙ A±a[ďұŐt‚%ĺÝ{Dą‘ćQSň%{L¸F€Ĺźy<Đon2ůäwPGT‰,lhm“3O 6GóQúÎł›?ôČ.JÁŚfŽčďMľpmYž~L1­˛ŁŚnš-xČčx”lěř.îz ¬“Sě| -`pĘ”®×ü »I4ľŢ ›šŃ˝ßeČ·x E‘ -p«.˝@łőç,Z5×cŚŇµłKaŮĎm@­KÉĚ’P*ř7·ÄÁöľď*meĺNˇYÁI 75(`˙`Ą•~ ýE!¬úU]PѶî'hD.Jß.A^ H®věe+[EŽ8·žmĐúľ;/†łAť´F$Ľâµé(ö˙¤ű®k3¬;/¦˛Ăťőx=P;Đ`áÔ·I -+ÜAĹš} Á¤p’–2űá”luße© >Žq᎑wÚŐŢ[ŞŮ>Ă’§ś­ iˇmIeá÷Yˇ^"ž˘=ˇqvČOe"Ů0ÔV˙f.±ţVÖěťÉčöĄˇ(†hPFÎ[H쉅.µR đŇq›}8¸z –„÷¶ą ›AîVĚ‘”řp×t„;SÔmÁ®ťŰ+Â|]xŁV3¦,ˇţśé•j)+‚jXÓł{®Y«Ó€´®ÂűÁŽźa4ú8ÉČŹřxĄ2čażĂ53ok¶żć!E§° ľĐS -8ďDǦwŰ4jÎNń±·ŰoÚÇ fŕ€=E<Ă ř™Üßű˝ÄQECÁôxr?k]éŘđ—Ű@jűČ:^fĺ`äŕmj<ůr˝ -ŠÁâá'âŚÚ9±kĄWCÓ¦ü cźĹ¬ĹNҰŔ‘ÂK6Zë8đ Ť«^>Ʊěiî_Î;ŃŕWÍN¶YŘ„ʬüâgmçŁÜxÝM/•=gwŘŐĄó€Ë·*>9čhď4oż×15“f›.]ţ0şChěP¶Ďg8Đ~Źuµr śŚ– ďłŘefRÔ’Y -ě˘ç}ş'HžBśţ%ÂAďÄ[S†s˘Đ…®iS÷YÝhÎJˇçvÚ­É©đ×”Ř@S¶ţÚ°tŻőąOĎĄḣX.âÉ ˘NÔ‹r¸(—03&AiĐĄríúž?ŮO’9¶“®úŘáŚň`U‰©ýýjđ~˛N—{Ĺŕ˙ß§t…/ü€ÂSÖyv%,%v ‘śPŕ\äbJ©™EŔ×đm–Šô®w}$DX9yŔ˛_Iw·ĺ8íĎC˙5ŠÉălÎýo‰ż›ÚyźŮXç:Ő¸Ębw«k‰uVi Côş÷¬&n¤µ’3 6ÝĐ˙g?]äśË;\I|_i<zä˘L“ĆVOXÝÍă ˛áęŢ_¸^„˝N:0GĂl-c¸•uĆßéÉ‹‡·>Őec„ĆRÂMY)“ę†ŕ9ťŮ\ -”ŢV¬ó’W9ˇm°]Ó›?ő8‘9ľvşLzúö-©$ D>nšĺtZ`<°©ýo|Ź’$ÄQĄ®ËéŇŞh-Ëć‘˙&őđ^™ÎĽ€ ŤaĽ¶“Űô_Qa@Xщ‚|¸XŚ,Ʊp~íHłř.©Ů,:WaMMB7áô±K+’ď -ČÄÎ8<5Ľłśň[ĄiĘ€z€őťŰ , réYKWc > WÔˇ…_zy©eĄ(8ëŨŹ]Ý?&+äŕr+¶+ţ¸M°7łIučĽÖçřĆâ.d ĆpU’èn¶° ľ—MŻş|eČčuPŹĎLŕĹ}ç’˛YŠŘh~Kă.Ű ]ľëqł$©„@Űşm‹ýÜfľ{Śą7):4cűKz="Ćżkj—fC}‡ŕ -QŘÚ0.#L,GÓQ’)ţFµY8!°Ĺw”ĹŤ8y!ą ztw„.V1Đ2=„±ÂAŃ%ęJŚMî d]{ČĆn6‚đa¤DÔ=nlŐˇ•,˛őR’@kşó“} 6-Y˛đśúî*5îÝDö7é~ćaŘĽ>ç \±'śLl!Üľ‰Ö«)ÄĐ®ő2-ĚŃ(|pĽ.¶bw*őnˇw)ĚÜrĎÔn´míĽ?¤Ąç|b‘5=ÍúdG¸¸3 ˯ׂWő iĺ Ü;ŽüŃĺO`eďŮC”?ĎŃxuËŻÖ%Gý«I«čul٨aü@;1/q[Ý'1•ˇ 7~6E†ő•0Cđ.9hô‹4™j͆\‰Ńßxβ=-büîIŽĎ çĐŁ‹»Q€ŕÚŐĽo$ĘŃ&WĆÝ+ YŰŹßďóhgÓ€ UůA&&w`|‚'đ$¦•b> ¸vű'`RĹ}JŻŚ¸ěŃ‹­űmâZ3d-˘“—VgÁűqj“ZAÚ©?=íŐw˘—ĽŮH˘žÝřŚýÖ˛‘Bő}bÚ«V5ěűí,DĆŤ‚ ťzV;‘śĺĐ\O‡Ú[%Ë’ 3ýN@ł˘ôăvRץ”Ăo¬W0Ú‹í[—şioΙ<#\\żŹţ(“©Ę rRĽő‰§«źbĄË"6FÉc7tH·:Áí0zęňCě5ÁCó8i~ĐĆ?âÄËN•ŕ>P¦›úTG¤í{iŇCęs÷w„Ň»?4 ~+Ćll­a\:VíŃŁď·¦”c×ŔpD1uŻ,Ľš^o(­¸‡:ł«›Cاaúw8Ťzat.Îɲ_Ą÷oľŁAÓŘ$ŕJ˘ă‹m¤‡ _13Po©”ÉĘ{KÎ ČéĂŘÍŤcďťń áňaŁ T%‘ß–q-‰»\ĚžEî+ú§ˇćă–şŰyćO抶ňÉ‹~ÖGŇ ŠE!őËŇ -6ľŰţňźUФĺ~Ü«¶ćUZG_µ>âD®^>Ľ§ňˇUXżµ:™OŔť*Đc;™î.ălmašv[ş§PFKˇDöĄ¶Í?ud‚ŔpÍÓŹüăŰwP´Ôo™ Äě2+ĐߣkŔ=ż[C5-Ü政˛t·r#÷˙đ/ÂÓs8Í˙Ur>ĘÉꎑč™Ţ\(Đ/ßä€8 fąţ2mŻ©ö‰Ş† -a†ő }0uS ¸Rßěŕ‘[<üUP™F}ŕW™á—űđâOą#CÖÝ !QÚ:_Ć‹ ¶:śĹÍÜłP·mśXčÎĐ9aé‡B⊣}6}©čăr#5yÚ.Sĺf})/¶Ť|c„‘bňčtŞ®6ęoÇŕŢő/Ą%Ó'ËŽĹš~¬·ĄŐi”RV šę”’Ţ'eŹ«*ĺQivÖp)~OŠů“ůitVëűw&„žT\2‡Ę  -Ó$Z»-Şé´@ŢXŔRriłŢçWŕk Çw^ÜÂşb‘o^޵ömLJ3¸˛Švf;|R| ›˝X°mŹŞ”$ ˛ŐŇ]2ź_‰u -ϡ‡€í|c” -ţ•fł<ä4,,Ý?báĐjĂ×ŮÚ -»l„&űŻ®ÝtĆ őŕ,€šČóćb-n×,9†Â ’ÍýÓ—Šî%ťĂ=Đčç3ŘŞŠŇőťż|fŽVAAÖţ%?ž‚!ÁGÁeŮZ+«e™r®ôôüZíîŕÚŚ‡5tnh}šěň[†s±OÓ« f‘‡cŤů4`%Á3éş,Ľ7]ŞPŤLlV»@ ŽvÜş ŚP†D"<ö‹˘ÜF¦˘=#ÍŰ@bÍŘ•›~‚^… -úÇ©A˘ŞZř‘¸ q=·˘Ň éřĂ‹©IľŮá—Č«˝>|9!•Ą"Ňţw-đöşfdť5@‘)űěä6ˇ]ěÁë«@- #ďÖó‰ŹuZ˙żzá·‘źIy0¨ -oHIK{Ďă´€ŐU•ŰČszU;'Da Î `@ÝÜí82¨TŹźH`˙ć„B˙XŔ­ÔÂŮ}óbĄ.y…v–›cŮH|ĽJ#´é0ş‹š\–LËĂĄľŕÁŇ •¦;ýF/l™•˙ŐŽN¨YŻ ĺ ĺD€;]w#ZA80H˘UťE™GŠť¤”gĐ —ŮđŤiy±˙¨rďS­j()Y{%śŢí¤‚Óßo§^”JÝŮ–Zo@ń‘@őĽoënťť‹]CôGňáMs&Ý-Ő˛ú-żoVŕ„zETÇČĘböJČfVťu‡zyř¤ôĄUŠ ”® }pŔiŔ&¸?/¦ĽJnʼnĄX~Ú^˙Ž!"w*"•Ž?0›˘cŚl{yăuPö-źÔon™*€ßł™ú ,ȸďęűŽeű㦂Żî¦mO '9ż*żzWŰŇŞmaeľú[ ]Y’)ÚŃäłLţj[Ţ»=¸ Uđ•Äý׹´ xiä°:-1Ű=¦EΗ5ě&_BÂí ŻLđČkU€‡OĽX ľ­° G(7v”M‰Çť ĹŠ„yľú=÷Fs§‹ˇçÇ?Pťî× z˙˘¨Ű* ŠoĄ}ŕĽřo´˙ Ç=ÂMk!ŻfŠ>ťh« FUúx$ř?RüŔxŞyӾƒ™ šŻ®Őâ/ęüË ţxő=ť(ÜpŃ3ć¦Óą´ÜĆő|0ŠZgU'µĂPŢÓ®t ;3ć&ČŞ2hfš°GucšŤžG´LDT2hp…hÓş&ň’qĄoâY„±ŚMqáżë.2{ő«łýÉß‘OÝzÄřň—ç Nť­VĎŞ•/¦ŻQ2ůCPM®»Y ÔĹöc ŽÎÜËA 6×1‘—ű˛őŚR¸itŃ&­%ę~^HÜë`QČb†ńŕ‡€ÖE´/äóž!4yyŤI;ć23˛^©ÜĚ_Ă^Úé$kˇ“š pý”°ĐA)^ÎĘ‘:Ž`c™e>żh¸…fČ]ŔřĂÄĽÚwUٰ%‹ Ě,`. Řž…NßnčĆůÖ]‚IŔŘJtb„ó^ÓRŽäçá'żÎd™¬şýSÚFŞÝ„ő[óźŕ‰đĆ[t @?gPy #÷Đŕ7# ŞX ·¤ŽәݗEŕ%/śŻĽłľźzŤŔŠŘî$˝Ą5‰ Ét›>â(Ľäa `é%ôę`ץá+ 5/h$¸ŠÄćɇĹz_퇢Đőµg‚~ôý˙TÇ/s'éć:pi¶1ťĆţtJ^ĘŚ:_üÓ‡č9?‚ŘaâF¬†“ŁůÜiŃĘÉúd N„đü—Űn4@ÍC»ÖÓˇ•Š(n3ÖěŤc’™DÓtĺMţ–4ŻĆç§5´`—”ÓÚn»TWPwb\lđ+őTH¶×îú«* ‰gé -ľQ0dôł~ŤćžÜ°ęmů_W!äkü…« M`ľrÉ”“YçĎv بiÜčó -őźC}@:-CŹŠ' Ż‘Ô¨ř04¬Č÷ ]Ę ó[.wÁÍ@ŞŃ…8» ř1fÄ "Đ ĺ=ežŐą[Ŕ— †kŠťiBŰż|+áĄyą¨gż¦Q yuLYlĘ„jxŠÉ±YÁGkÉ]XŮ7šG*(ITu‚éŕ*âz]“nÎ,uFBf)ë°k8Č8.5ö/X?ż3ÔčŘćď+Ă…üÇ"E5Ş!ÓcÔöL‡™ß2ą A@ů ‹éíö0‹Ô5V°Ćőq‚ŹFřş ŽęôŃ?IťĹÝţÍĺźgNR`’ tÄΛçÁŹđvRëoH¶OxÔÔ‚( hdŐś˝z­TÚ«±Ě»XĄśÝ™_CĹ­*ńľeÁdđíŔäÔ8¸K)\%Ąŕ|~ĹÜXX(OĄÜ#®54t*V®OMËůîZŰ!¤O+|Ęŕ02ăŃ€˙]Łé}”ńpÉĹ—Ó‰â9ŐŻ<" ]Çđ=ÝáÍ–sĹžµgj´żWŽß–ÇVŔ©t?ÝŁDn Đ Adř䍠éqĐÝ -baJ×]ÚŚYňĺ*–a÷ú‘»‡32F˘|=q8Ú9ČĄâh‡âĺ7ę -0ş( /&Z¨­ŮrΚKÝĎĽŐĹű+wB`‘J­`D~hoŐjlją~2Ђɡjiź= -}Z‰RlB”¨wl7FŹ™nęęEáŻÜ'ţŹ%™łńW_d ‘ )ÜE0öNLę•Ĺ;‹kźîűą™nĽ}ęßĆÂqĺş^ł ˛ÝwŞAëĘĘáĽWÄ -łéµY©§Ç‚‹NŘFOŐ!ë{Ěě‚V9ą1H – -ŘáiĐAoÁz*ę1ŕč—CKHčë!ťhUY e˛Pá¦éť©}Ű„)*±8˛/…=:]»Fg;UÓ)n }©?Żí+±Pĺ—¦(óÇęP‚ĹíÝ$Ú±‰%˛v'E+˛Âév]®8[]ÖK#z˘sĆW5syS'l<ďŹĂt…”~xż˘”`REB8qĚĄ/g«m<ýÍ–OÍ)řÄb9Ů-qă«tíËsÚ@7éęóą9wőmł(jâ§iÜQkUiUüAĐ“h„wx¬šŤW !Ř”l§L% łpű-dďPâČ1ä·wžŔhÄá{Ź×}ÔšŁMŮ @)zş'8ńÚ.Ť¶Ţ=Ý&NkŻ=‘’Ž8÷ř×íať†TýşwěJó]ÁŠŹŐăħ#ź ©ĐŞ&U‚M†±]~.™Á…`Ř.ްx±pć\A?!=+÷‡Ő×XŚ&Ć·–śO pB ÖŘł -x›Sim ¸tĐoŐInŐL…ĂU–ë¸|Á†:ŚŔg=Ô˝S§:¸Ţ‰yÜ8°qwÂĄJ|uŰ!©^x”ëxîO3w±tjéRçŤtebě˨v$€É j±ě…^ZAĂ:é˘ML ˘ďšďËxS|ˇC»ĄŹHq-¸ŐǦWR‡"E»A“ňŚ?3ňfľrH˛˙Ňc0űi˝Z9ĆŁř síCG[Ý|‚‘A][ęâ¶×ürgužŢŁŽďüFS)v6™lÜ"S0Đż˙ű—Ő“pÝ˝éß~r&ţqńbÍ—eÄŠ÷^†L•˙"®¤nřHŇpË/$Š«x˛BsV´¨§Sük Ć(‡^_ů˛Ž™"v »•“¬jS«Ń¤áě̶â&žŘ´Óنŕi 1ÇüĆZö@%őEţ‰WĽÜ›•ÓňÓłÂ7]ţÔH&0î?,wąÁâ^WKĚľ©žç0çŽÉ!ÔŮřěy~ő0mřę°މµž÷řŕ‡Býđ®¦HÁcP Č»w‰`I ˇ(…¨¸áşŁ †ˇP:ŚO­jßd}†—Ý›Ff}Kd÷1!lVß\ĽFmĐţ0§pmz.{=ćnŐ5ţÝŚ<ŻŘ$˙2«֟ňÓ#¶Îr˝Ö<Äşč硷x˛ÖŠš¤đĂJő¨Ď'#hŘđĹń@©í-vť9taÂß±xÄNş™ťÔő -G[w'čśĘŰJHóB×`¸*ŁxÄôú9*6Fˇ9gx•Ą­gNŐZ[Y¦Ŕ–ĺl“˙Ĺ:’J´=ťm+2}ֹЊŠüÎőŮO÷Á2Ó‘ţ‚$/gK›€î 6z8›ííId›¬ŹâTk:W(}{yu:ËŢâ´_HślÁcS…Ő•É÷±`ÍiĚhËg*¤(ه ,ŕŻQ/…S|ź€ÉwâéŻxŐ°â´8 €"ČB…@ŕŤ\8ŚŻ˝ˇ»ś¦›÷ä(z¦ËDúMswÂ8S7úů6Ł™^‚ë2jŔö 5hükV5V/·AÔ]„d)ö‰{P¤Ť´łNTfűµć¨Q˩բÝŐčůȨԋĐvűcµűµ¤Ż‰…ý8…(ń˙ç*X źk ń=Ę+ňërXö`iCóP19Ă~e‰ëĆ÷š6î ŁšCy±—űÚ‰ zN˘3tŕ…Ţ^uÍzTŞây…ŢÚ¬Ö‰©¤ö¶]R™?Đ<«§ţđ„UvKŰÝ "tĹ(;QpBą1έ _^fÝř±§›ČA9đbµň”ę‹1ş&źĘ:nâŔ[±ë‹§µ˝ĚuoŔ^‹˙«Q4k»%`00qÁ=\훀AD:¬8 ,±źa´úk–Ŕu[ą"¤­ŚÔŕ©Kám)Ż©Ľ úçňg7:SEO4/RK‚ä˛M -iiˇt_˘{"ΞíĄR§7čnďX¶Â»ÖŃo×ŘŮźý•:š÷űĺÉ]•­¸BbŻs—}?(ň=đďE,fýtNĽ«/WUÖ—iđ2¸Ŕ+űYH2Ż–Š@{Xn+ÄŻě˘UĎ,ŕ‚ ™J"&*—™$ĚŞ®J4ĄmŢRŁ“bÓĂ7kçO§Ż<ó®ć®,«wÚâB5ĚcůNY?ňşR <×=ĹYľÔ=Ő˙Ą'SNĎÚo˝qjóęqL*?ü¬˘Â%-Ś­[h˙ńcHşh$ Ť\rźăXpĄ¤ ízbÁ??@ďň5_Zk;Śú¶˘šš=¦ qÚ¤¨ÖďG'n>¨*n´) úx)SHűSŞC´Ă DëV­*bčF _4ĂňÖ!„ej&´äw‡[EďôţaéĐŽp>s¤˝źÓ=Ăg -ÚŁ_¸klÎ52Î%IK`*÷h3%m$ÉŇ·%Ňx1BWëřľ#ćfÍůótńµŚ…9ń‚JËC°ýŕăý ŃL=µ[Ť}dgÄ[,^Äm0qFélăµ&!&SÔů űËŮIšĘ6ýrDźŁ\” (’-Ř‹’ˇNużKF ¶+őžěŐŐÂ5¦&ëZ›‘KŽS8!ĘżD˙Ů2äĺ÷?®:”ę„Dćî–v…ˇŰőđŤ…ç§žˇŻ+• ú5qź3IĎëw~aÄĽŚĘöĐG^®v͢÷™čPe±S€ĄFÝW/ĆÎOáµ1kMîŞPś;Ƹ•î9ŽB„[t†ĂA,­7żGÍ/ŘNl%3­«Ő†Ad¬TdhDKť!´—27˘–ďI[‰u™ŽĺŠÇ§ĄĘŰ@=°÷ء‹A…=(¤¶â‚Xąć@äY‰dčő,mě`íÄ™\qă¤ö>ď»g¦´ŕőOä$|Y ?<řľ§mŤ9ĹzŻ+Ó5 -ŕë±›ôMě(EIá>]´řP‰5°J&C1~Ńff‡řżéO%o©6ŃÖCG’ů+ř»±O/×]aľ**KýĚ[Cş×ˇ ßÓ{ ?Ę1[ňÚnÍI±7SÝC”0Ům‚ríV$N‚Ń9~/ÁÄL T™ČŇl3˰'PńK°óşĎIwćDv¦ZNpÓlŰ“ŠŃ2ĚÔľđ}ęÝX‰ú\0.”9ˇ «Gž©ëÜWGí'őV]˛Ň?$Ú•ˇD›‡”X¦˘N˝Şö·23‰™9çé *XŻôOąDIIˇŞę›Ó P¦ú?Up>™«ß`>C\™˛bfV<¶—}8cłÝÉŔ9&Î8˘79Š#&&‰ČŔůÜWşçňV4.ˇWš3QŮan.xPń:: ¸¬"Fyiß©©%Ąc5RâX)p~Ş˙˝2á;ôćţWVúPL°^Ŕ<kř…ľu„ď ˙ŕĺnoÂNc‚\Ëd‘CD˘Ů¦|8ąúuÓ$h60ť¦¬7ŐîAÂ÷tU L€ĆN§ěÉMľÇ0ĹëZÍdL@xúŕj´Ší=B9ˇęc¤“+?}.{ĹÄô‘ÓÜŁşĂt–0Ľ,pĐ<¤Ď[”µ®+]äd'í؆B˙”$?ř‰ÓsŻ~«ĎE‰dĹq#ÄĽôŞÄăl<Ŕtdvd)YwĐ“ŢîŠuŢ)¤2ŠčĄŞc_Ş@8Ř"1L/:ék‘TJŇjń–+˝wAČLŚůŃ“=$ÔxÁž0)I†K1žÓ¦2^-Í>đ+BţZ#ěĺÁŇ„'Đ~`é-7Ľd!¦BőBe–„oŞ’NŠ5:ś=2ĚžË{ŤY†ťWÎXÝ¶ä® Zúpb–Ň€·JĽáy ˝tÄr´(₝„â´čŻěŁźđVsw2ű=Uľ&ń*;V¤Ä4qŮĐ•š¸š€en&żĘUŻŹ&—®DëßPĹÚT.ݡş1<ĺ}32¤Ŕ;kzšđĆU-@ĎÎĘ čŃć€ŇײŞÉ.ç«׸ňéO6úŮ.÷P¤‚ú:’>5śůćâČâk±ű`Ř ep}Q ť"`˛„o?#ÖÜ=śąh€ŚůW`ó@nŇ›|9üqb{ -űžąˇP3Q0  I# -)OG’íÉŤyz¸Y¨Rk2o°ĆZý€߲릨Ęí|ó·n…[qZÇW“‚‡Ůě'EBr ä*Ö"ż‡‡DcVi-ńŚŁ–eĺMů€Dčůˇ&ç@PV˛}Ç!ĂŰb^ ĵuĺiőKR‚3(Zˇ3îúŻ(‹Z*şgńŤĄ+žaű0mxy×*-třYgŠN3wç@ItČdnÚu"nsNKů -?Ü«ÍNŹ €@ާP˘LťĚS‘‚2Śv^ŕŵdKő´ţ9"©ŕÓhŤň‹Ć±H!lüšŐöÚíC šeĽ,E<ën_¦đZę(ب7Ć vŇnc>ŞH¬±Ţ±ŚÂĘ Ý f8i»Ů…•#“˘ó”OŢcN×[5ŽÄó?¤Oš_ŘiŰź§A¤ąnCFŇżö±”ŤBÝź‹•âýq~k:†ű{•ă¬Z {÷<˝vO /L eÍźĆsÜŽŹyk´*WqaŻ*µTťä]R`QŰž(ŐĽ©ÁŚfpąśtHŹĹ š]Š[Ý›m€) Śňxs2njęÂ[_ű ‘a -5™SŕËŐ~ă˙eDƱÂtŤő}ktűnzţS•oę+‡RŤ.ă7OO]Ăg•ôŰ,Áß5Eݦ_m›^7NÂ…::ë,Ť/:9p®h!Ý&ĺ2lfmË0Ôđ‡¨›¦†Éô6ÍśŰóčÔgF×CťRé‘»Çń¤AC±?Ŕ&ž[]\8®¨QX»’8f y*š3FŞRWىd™P]÷˘Ă1˝îě|yÜűĂřŁPÉZŐŔ[«ňÎ\×Řc_uŚ,MŢ/—ńaŚqćFŞĄ=Ő¦˘ą ¤]\tÇ ä´Ęáy“Ć$n3>âÎ’#TŕźňßFţy3Čáy±đ~•+ŮľNÓ>oě ,1ô ŕíĘĐŻÄA‚ç óňS.$÷ťV~ß8ŤüĂś*¨.TęÓ$/˛pţ˘p¦÷.2ZUx·ŔBógč€ű|˘’ÎýÝI ż”ČíŇë㔾dKgśíżŹ›tLˇ"AÜţ}‘(ý2Ŕ¸¬gP™T) /ëîYôá¶l|köjŤ>©Ůä®ŰľS¸čAíőšh-S™ÚsnlZJ˘wůĎĂQĎłä”âń]0ńwńżN×Çü‡C [uĹ"˝łš2˝\$¦ĄŔ `OM¬›‰±Ľf<Ş=o%ű„lŃG¸ÁŃY‘µY­đ^/ö˘ÍQ¸˙Š~ćđč PĽĹßĺɵ÷ÝR}…xČS„_I»RaËšgťhF'ť×ÇzDĄeŽ/†€1(łŞ!ß*KăGL˛đväÜ™Ň>žRRb´¨ő…Ľé읢ż:j”YéS· ÖRkΡ°Yyć]/É×XI؆/#¸ ”5îD~!24_şÎW [EAöŘéi -ŹHɢŐlďj¤_3ő¤× I 3×ó!÷Ř!µćsHDňZ!b`Ŕ:ö/MŃmQŹ1‹›XOqJ¬¤ÄĚ€FhuG¸ŃoD,.3ţąťnč×<>49˙"Âď”sóĘ9÷XŤŇaŤâa"xm-ˇn'đÄ8’u»&Í…—Ö"…?č•Ylëý@=eZâpĄ>Ăiče5–őś¨">Vo'-ÉťŘaĚ÷i&ÚËą‰×­6'pÔ›óRĹT ڇl›US@¦ń´ÖśěË,Ą~ŔZĽ‡álwučuťcP’ÇPÔ#ľYtU(ˇáCřbI…ÂáX@żšđü‰8fO‰¤qÉQŕŰmžb-(8S¸şŐ}Ŕ9QęÍAŐ‚“{ć¦ďU‰ČulęVŢŚ(9FÁZ_Ç yíčW˝ŃŮđśÝNÓÉ`Š6g¶{vá!¸Kţö«µéÍw§_–\˙9ˇăŞ­6ҧpBx=§gLÔď?;{ő’6ľC1ĹĘ/śĹ¨VőđŻAťĹ™/cn4v|x' • -61}Ű&IQi~*łAt„G4*N‡Câ•h§QŽKŇ'GÖÄjUłĹŔăŞRÍ"Â6Ł`™q¬µ -TaÁ\°ŕƸôO×$L*ĂaöŠż®Ľ+JŞR©V‡-ň‘ęTËAaź˙V­>fÖ Ř‚Ă ˝8ţ3¨ 5s iš–w°xď%áFĂ C”ô2eÇ€š™Ń"ÁiěK€dv24ď—ÓĹě…äŢý(Fꔇˇ˙” kiŹ,8ŁÓ<ÜáÓÍ/mG§5 qŤ9˛éă,ŔŔc{”Ńöęü?Eg“WQ7N9-×4Źáˇ7¶˙­Ń§ĄÉ®ŇŠ©7.PűvBž…Ű» Ö,Ď™rČ (’–˝/|é3Ü3Ő!á1ś(!ÄaD'Ěk“µéhÁ•žăŘPčçÄŞţ'/’},»7ÍČđ¶”Üř–@BĎC›QŻľřx?†:~Ä}RTË·¤c†™-±>vµCĘälĄćI2•;yI7óŢU±Î6ô#'g˘d•‚śĂ€”•JĄ]“ C358w›YIŢ.j¦ÇŽ8í¨J&Qťň˘Öŕ Ţĺ VQB§2bdÝŰUĐdŃ#Đ`~Pб+<91Ç#ł˛Ęíě–!?S}Bâeť}gţ9®+#Ć—’¨űÄăg˝ůŃÇEa¶k†Ťâ"ŕuIăńĎFÝóŕ’µˇłkçäĚ÷‘¬ôb˘á^C`PäĘŚüMÚŔx¬71ŕ˘ÇŕŞ%Öçßż‹ßB«p”ö†Fů¨ř#kZgđOšUŐPu=¬– ő¨ÎQ^záźôdjhďôZě®ćW1[ě©hÝľë<+( -ÍH@›Ö9]—*]öŞ«ĺ´m‰I(Ě«›ľ&›Ěů­Z eOJSEEj'•M·ĂęJH9 -ť!žGŘzúŔ'öÎŃŔXQ'%¸ę¬SôW§xů»¨p'măľ ÇÇ‚[1 '%v ăiŚ(eb‘¸‹ngţP~ťĽ˝«Y,Ę‘=Á -‹†+Óß\ěî\ »ôĺ4ż^őČţFĐgXÇŽůäنzŢuce'@čŮL-A*=Y&ĚMQúŐ2é,©>qDv¦¸íŞCđµ»c!ĆI‘š”ŞÖ ą­ňż˝p ľ–é”Ő¨Ľ^Ł—DíăËĎ)Ç!ůŔŰľ‘ʡnçz¦‘r XRuUžK%¨ÖŚôňDß›0w -íčP‰=ňĺ¸ĺĺěö4ß§Ź*µM9ýĹ’j›ˇĎ‰ü›}Çlć…ĎU1Eźp ÷:Pj.”lLXLÜTÉżmęŮ5Prq4¬€˙3ŚzË×?nźvţ¸W;upÓF¨ߏOđ·Ň˛ĽÄOě©Ă*-xÚŹ©‚ůb+•6  MŹ‘‹îËá 14Ů2ŕi;__–OÖűâË‘lJa0ůÇLĄ˘)Q`Ą˙ËwŁ—GíäLĘU‡ăw¤ŰEIşUé?jÜŞ]_Kr=¨˛[Ůź:ŃĆl÷=iś@Žľ'KŻŔr˛«ZP%$ř†©čÜ˙Ű1Lѡś;9¶îę–1§jäÓ¤RYž&üÎ}M+ý[Ď.A1Á‰µ@+Ęxžě•ĎŢ’-ś -20Íć!7ŹË-pŐ‡./ě” -HÝ8V†fn–‡$+òö°Ä"ŞĆąÜÚň_Ţ™Ć×k˛—ńçs;[ šf‰ćÁ *xĆL5cŤ5´Áŕ¨b›é÷¦ÓZîŮţšŐ=çoMBm„:i¨«„\3TFsĎ9¦ T'‰šu˝㦲űö#tˆ/k?l…Ţű$Ď‚ě[H$ -ÜřU÷č?Ôgâą •;f©kynŘé#ę˙Wć´mcňä B=8:ý6Ęí\î,¤­Ŕ¬#w…n¶M±¨B1ĎHĄ$¦0(âDX·7uD©8 źíf>§–ď`ćLp€îmó"=.Ł© o÷›VßľĂß•ô~ĺgiőđú5%Ú0HvydśBź»ď»–ö8řś#iÁŻIĘ$zTNkgxcG§/Oßv3[ÜkzÉ"µ— %pµĚ˙´[Ú¦’m}‡”ś«8ýę”mB÷ó-I;Ü3üDĽJ˘•ŃLľCO˘ŕ+rcđŽćşŢď'#„†E’$ÍpÔr$¦°š8ç/ý˝†‰9¬ł¸h.)…ře¦ R„‘žć°…Č/í)`P*g…żN!ßäęʇ€öN;IK±ň·ż”…;Ľ˝ůĂĺŽ>ŻÚâ$xxž°ţČ8”FŽŰž'ŤP‘ňúAËwżŰŘ’ÄX/¬Řü„ oŘőţXŻ{ĆcŐr•âŕ$DăŁ{Rňť+ë‹řĂŘcġZ÷OGčý(™?ŐÄN şVťŇ%˛aY‚e5瀛)*öčÉ!ż, 2t&ÚüY‰őeĐnčŞR[[yk3ÎÉm N‰o·÷Słî® c¶ĚdĘ]Ž‚Ëđ™ČŇĄ’<ˇGôl©ą€•ŤĂiŃLŠŽ8˛§tVTĺSS±wběBľDȤ’xĺŹG)Ž¤ŇśěNyTžQo‰<&°X±ą¦(u“1‰4a,>Šy+ÖI˝®D.q¶%÷N“$Ă‚ŚŤpŞ)ú-•bƦćϢcNo ‡uRo..ĽĆëŕ¨Xi6ň ł4VÚnf/Ξՙ}˙ŮÁW#MxźŐE}UČ&bć'˙äSuj˛ĎzŐ(™›^+š=y岚ĐVąłůh§šź/š5ü.S˙ă{<„`đ[qŹç0ëpÔ·Š5·° ÉĎ`m×*ľ•xÚ–}ţü/ܱ%=¤ë›UµZgćü¬•M(Í‘mĂ„(Is?7Ě7ŕ0]36”ZŠśűPs‰+D5Ń$ţ®ČIŘ SŘzöŚ#׬BYöĹ ˝Ý9|ÜRZÚ5ÄgpŐˇEyh{ąź/¸“J†˛_óő@Oq C®î۱p¬ę‡IIz˛Z=X˛óč%Ńj™ĘÚö¶>śŤ¶q÷LJĆşŐ­cjđ´ŤďŁP‹˛Ŕ[ŕúĚĚĆŇŠ(eşCFŤ^_ĆÄĹţuľ©=J«Ü˙úd+’ÚĎOE‹ĺh&Ţ\Š.b ć\Ş…®·‘·ę߀˙ýcyQ”dő ÷Љhł€lëČy:ÇlÁJ‰N“X©°Íó®”S%ąžąbřśŔŻg@ôKŘOýÝ¬Ż§ăŁäuŐă°ˇÇ-¶ę‰É°av!}ŤK …ç6F× řMľ$őř ĎüC=ÝěĹ1:Y×ÇYXH.>ó÷rž >”Ť™oĽ.'Š;¨Íd -˛uśťżÇëýąf¬%࣠†élŠ×›ő„"Wó~}|öÄ čç˘1{ÚJ¦Ţ˙mÁŰ8µ2}-0Ű;ĹŽ/T¤ŻL· !©DŞ#SŇő$qôGŇţŰYâgü6ÉëÜbëŽö’äI2ž ŕ`Í9f^ŐdŘ<Ş@ÔşLšĺŐűÎnÚDl\ Âa`s=ě:|€śZ”B99ňC{ rűŕXB+¦N˙ç-:!E–ňKGŔ56 'P‡ŽYÖ9^7#`Á'śYQŔܶ15Í©Óói żŢš:E¶Ą9˘‘N»öMşÇ7s+ ©j°xŹjY/‰P҇@š]FS‘Ţ·ľË@Éůdţ#O}ş°ů“_97Č|b}ktůfdFčt‹_çʏ˝tWÝăłÍ6đŰ®ç×ě’Ón8ÜĘôĘwL(z§(ĽT°ýŻŤizĚśjŘËjĚ–řχBĂ]Wś‰ăС’Ă™/śXR.˛Q¨z&SÓF‰RîҲ÷ڒʦK?u(e „űD ;í}ĐśDđÇbk›’%bx¨´)†Č €ľÓŕŔ§¤ÁsE»~&‚nx§ňÄÂxŮxeZćěĽŢŐÜP7Ü2#GĽHS±şWYăžĹ:Pń0ErYţĂĆÄÉU!:.ť)´żĹ”ĎÉ÷@čó§ę ĎŠČ,F`8•ľM;Ňmú áoěn*Z7ĎcĽóWm~Q6›AöK·âćŠAŰUvŽnMbÁą Ž±ż`ŰŞzh„±™¶Ţ -˙7ńbt€‚°çśŁ3’=‚Ü ĆĆöÚIČ—čT‚Š.„Y‘ÓążBQ‡E_´|ż9Z°)#”řQbÚcŔfe?i±űZ!đ¶ů1ďĆó’’¨$—Óuš>Ř—Qgqhł•”§RŽĹÚŔźřą"<9ü4B^p^gŹ9čCw+î˛ţžćähŢŤDÎJŠË 6r7Ňr"»C9ę)É•­ĺĚĘ]őzďf˛&:×–pď p‘qŃÓC+Q‘vj\]l'®{iNŠUÖ-ˇö<ŞčŞőń“¨Ýß$)ăvp? ¨kÓÇ5(‡¶ˇ¤OÂ÷OîĎq&ŁŇŤu_¨Ě˙;äÁĄž(()¬eQdI¶F”®wZxÜ&¬Č`ľUXŤÚ,H‹zĹč/ µ<*oMźăű+i`’ëąÎO o[˙dš!`7Ź­ĚÂd PŔ¬=|[VB'F‰‘Ďűóúotq¬+c¬´µÁ&‚ŃWÂ;†…h®ŞYŰ2™59|sň xâX$şťĎ˙UgŞjßtjŕ>lÉKfűÝŮy·€kĐ ŹîŕËdl»Ů¬\űgĘÄ;<°{íň ânWŻyy°K›WµrfHčíłc𸺪ˇ"苦B7đąÖBͰöĚĆ_KvS°¦kśn3šd˱ ďdN˘1—N0é'řj;ˇ)ż’}@DĄS±>o‰Ç˘ Ŕš©˛Ű8—lŘđFGLÖŐĐ/ł (/''G1ÖqÚëť]źŁRŰă˘F… “Tť^+$j›%€ë±z>}ŔNń›ýŚý·H?ŢÉ2ůÖ˛ôß=Ď…o041ÂWö^brÝćÖ;VM»ń©·J ˘· Ž:™Včp)‘pž…ŰŢÎÁ|÷ĂtÂNłíNÓ[R–qĹf˛@s¸Áß±Rţ,‡x•ÚP»g§ĽĽÂ~™%#gô5™4]ţçńR şź|!s[ÁwPţéEP«0Ń ÜrŞA8)’c!d7˝T?Ľ1ŮÂŇ2 ű•Ć~×dśó¶¦,)‰Ů!ý3ß)pÖÖ -._¶+—ąÄ|\äÉiÉĆŤż´‘:Ăd -Ą-ÎçĘSĹ9«4ÇćéŠx9h>ÉÇmŔMVÔůĎĆ' Ř˙Ŕm1sţKŚ»FÆK>~Ž$î¤Đ¶ŞŠ~\·ĘÂö,Çßç*1í· Q 0Ď´ApŕyĐÂ'¨Ęź ¶DÝ:ý"<ĚÓ|»`¸Ĺ*RĚ/Aě”vÄ#ÝýE׎‘Đó3ö˝V2[.|(BČ´0>‡Ţ=ŢéłXú<Á@#}tÜř§J©Słj>ŞŠ»s1Ö€bF*ĹÇĽŽĄ¬?§Taq#ť]â›dŮÔ™ˇ hžJ&75ś ,Y€ç}q’¶DqŐ˨Źî1J‹Ń2ÉĐú¤ă¸,ś‹ţMĚ[ćÇ•ľqž0ŢX2ŇýŁCđ±a¤ůK|Ä:xĎńH\Ţ™‡?÷ő6_â«xâwvKř÷=тȢ3âX-~C~]ńßÔäeŞfÍÚ´]ş8«çôKň‚oxěOd´\Óäń{łŚyÍĚeäW­˝¤‡+ě?ŰUGřţa,YľůćÓKV»Ó×hÝ[,űo·“­QËjN٬ތ5ÂgŐˇ:íaćĚ3ŤâÎŇ}…aóęÂ|š¸_˘„OöŇŠÔ˙g$îe€kľmň´ăkއÜÔ߲E'ÄŁ„h sź\ŔÍâ ŇŰďd'-®ő«†¸ĎČůôž ‹V˘ĽA®Ô[Č)|<ßި›k8ó˘´x‘HîJBб™ćţ&?Ú;™Î;Ň<ÉeěááŘ篠ÔbM;ˇ%pňxŤq…&Nýôn^ů3V -Ŕ4ŚÎů:ŢęsĹ©ţ×§.NÇ·đĄËş•qšQaÁ/Y¨:ĆĘp -·‘üÜŚĄCţpĆ@pSBJşJ&ţ´}Łgç]Á*µŐŔ`fěxb‹ń5Ýúlf˘’ë˙;Żv’űnLëśśĎ4"Öo š?.P—­•čLá÷qŤ­m¦QĄűž˘ďG7 šÝ§š -5í!5ÁK VZ´Üp0°šs}vč޵¶_}¨–Gçt‹_1ôŽČĹÖňöinżďXůŰLy§RĘDuëŘm®! ?ßd»zO"}…ĘĘyo´˘ŮA•űă†O*=.ĚĽÂŃ*ú$ť+X¨v!SÂ*z\G{TĽąĚW÷żŇô¶ŮîqľÂŠMăěÂKË+pŹÎl‰Çů"%iÓ¦ń€p.˝’`}Ĺv&őLä§g’Ęćę«“ NĄ0TÜžŕjŽ™v(!Ud|O7§Ţ˝ľ0PĄö[óćpň×›i"»X1D )Tű980=“zk¨šŚ‹$UĐAoP –Ú»żŕŤjŢÉ &1pĽí_T Ăs/śťćéĂťe¨˝j“«W@ Î@ĂK ÜuÎN†řóaYéŇŃŚŽ“Yť˛®Ű2˘f±Á6pŢR—4É>T˙Ö»EPlj±Jçw_ Ôkă$›^[¸Ąň%î–t5'ĚíµÇ,_*RgÁî~Z\ N°Ű‰=mlŹ[4¸Áz‰H’ŰÓňÁľ˘»ŇňY–©'khňzą…Ź“=čëŤHdËĽä8$AĽ©Ź“gW¦čŕĽď<;J‰#ł–ŚČ%jŘ©©í¸a]a 7@ţ%Ńç‘ Ę€,溬fŠRoj'PŻ«PgŶ"rp´ĽZ¨v+ĺiţsŕµ­”Eŕŵg¦ŹÉš€W– >ŞŕVmÇŐ"ŃoxĂžVk]4ń$eiFĆ#ż }áL;TE^RřŐŤˇRÓJÍ[ú`|g®Á¤ť€ôk Ö™­¨Ó° 0c×EÜZŠ~Â7=Ť‚e›ąĽ9¦|©źńŐ4Ëń„WOË&Ď|ÜÉŞouxkj±Ť5v†io|&†· É-qšŻFáÔCĄĂ„¬dM:rŤîgÍ~ß4«®Óńצ{ś8ܱĆÎe -0ĘŕčiüśÔ–śé“ Î˙¦B¸so–xőřK9Ř;Ő(cłRźŰ‡ÇŽ‹ęŃÇÝ‚ďgéţŢç.ňGŤKI\Xcj®Ć¬í«Č.ś2ggţÓ<ą<*MńbĚMabFĺÔuý?ß›şčąĘ>}äxíĚuŞúđ5K>˛·;Ŕ1ÝÉăŮ=ů«ůŰŚ*¬yOa‚’|ŔÎj’N»´(ޱ§°“ ÝJ;Ş €Ió¸ţ·!RĄµ‡c_6ŕ2õ˘ú*$ŐŘ?ŤŚÍ¤gĐĆ5}E·‰"hDŽ÷Ńl©F#](Öřďí˘©®ĎĄ)Ů0Q F‚ lĎ„•JY‰ńĆ<ďđ}B†Ľ—ÚgZĚŢá|[łňY€|¬ňř@sľô[ýG±«…D"Ů›])㓿Ťv÷-|érŁGîřZăűkxmŇí7b°ßÔ‚Ąí&ďEsô/µmÖ‘9ř.ŠŚw÷÷–Ýhűß;•›â·PÄýýĎxţ.~a”—K\{T]Č˙)ʞlľ¬sA -fMé -żâ8đ~*`o?}79~Ý;ţ\–r¸EšŇ(÷ĺŰň?ô䞨řYI¸;' ŁŹ‹ŕŘ|wřô,$2hFĺDv ň%,ś%«Úq‡üUŘŤŞ@^Ş'6—ž˝%krŹĹ€;a‘Ý©±dđ´žčÁHZd˛ -t<䎸˛ćYéĆ.Ë?oNÎDŠwě )Ćëe®čăű”M"R¸q3O)VěíÔťńĐ[QbD.AKşUëR¦ŘŁ[č~·Ňě–Ăt&g· ${°łe§ÎRNnWł–ÄżY’ÖÓ8ŢIi“đ’Ö#Ľ) ÓögČ‘ä MXŇ*ľ9$¨đZBJiÎ)q={-#çH ˛„ -°ş‹Óű;T›ÓKęDäU$I“DµŐö·4'î„/6’)Îb »ú߼ťţËç˛6Ű -4Ą$ş~!—f­O2XKąčëlYŘX·Ç]âdë<ß ě/`†ěóA@kó&nUýőĉŻ×^˛(ň&q·ţë®Z¸Î‡óĚĄyÔ¤jĂ:»»Ď± рڂÖě^ó0ÄýKsEřEś‡‘}[<2F ›ŐŞI˝]žXÍĄhq+:>ˇI`6ę÷ÄđYy>ńkźŕ¶éEĽŽŘŁu®ÔŻ!‘¤RVţÂŕ‰—|ű“)Qü,qşmą‘ -Z¦Żť€ŕďĽĘUÓŐ’ě]2 -’¨Zł`}ow@EčÜL%ÇV’şíIx®m»íLAMX‰Ä’3™eeBBőŻhtű5_Ř«Ç5XöĹX÷BłRý>ĹŔcďęn^E­_ ŮmVccj+ôÍmkˇŮeÎýŁěȧűfy]-4©Z©B®ą"/Â^ł;;¨lpČqč KF -)„ÚĎĆ‹ő&őzSi=Q_PöŐVśůeÓ„–WćLŤ÷ĄJî“FÂ˙ő…ąOU°îm]Ó“5۶ř–ZF„[Öj (UhÉ–J÷Đž Ąˇ±=IöáXÁ´Őť›Vż—NÜěl¸q]Ô™ŤT®pĽ‰3±cyě9îý˝ţ^üµE¶Đp‘©>č-˙ÉRŠ•©řجĘĐ:s¦ţĄ†FQu0XÂk´ŘG&ÉEla´üXLiíţ•NĐfÜjÓϺÚ­¸šÚ¨)W¬mL·|;/ż]…€90KąNP‚ś« ŁlÄÁsËÉůŰ ÍO'€ÜK— -ťŢ[ř7iş‚™G¬cA|)ÎsśÁ§ ®Űǡ#špr©‡7ił:şşwź“€Śł@óŇ~x٧مǜ$’¸066ŘKżĘJQÓîŔ­NEÄýcpÖfé3UŇĹëÂ3fuŢŮřÂóĎ÷ŰDÉ8^rBĐ•‘›śĎ*mJ_$÷ŁXđ÷@Yr~XH^Żî8]z¶T©éú=–ÄXµIJhßŘľ@‹w°ĆîímSněŽušhÖ‡N܇“㉬-«Ż ´¤é˝ŃYű&p"«ÔĄ:1·áŰ%ĺťęgżYwʆý˘şôk,ÔÂ](;6.ň:A'!âKA1ę|ľ“›‹:¬Č”˛ôqč8 cĐÇ=ü‚śž÷˝“–'b)+g°ś`óü©}wŹLßkµőŠ1ř)ĺ|Ú™˘m"ׇ µA)IłĂ“Ę@t=ŐCZđíč´ĂU>©ŕ -C•Ŕ¤kÄ7®1ŁiAD]®\?Ŕ™zň=],VČ9«ůkHŐ7na?GĺŇŹŰň&¶«Î7Üž#/eÚ”ţóuPEń6*»n{t6 -–é_šŔŕć?Zć;WQmŻX]Ŕ5˛Đ¶ÎýPë[¬~‚ šu™Ť,!¬űWĚbę’%ZČŞGüU2ś{ŐZ'ZË^3ĚÓ6 ]'žm0I[ÖR¶±PťfÔX}–hŘU^°IX*$2±‘fßs~•¨“>íTf‰ ™tô·Eů+ŘúÔy 6AÄh/Y…X W…-Gő¶É–ş…h[ŽĆäôXźđ’ vłT;µ8g -㉺‚ČáŰáĘ]ŔÚŢ -±ë䥆üaď¸] g,Ăđ{^zë}]n&ú›ĄA64ĚMÇŻNŮuľµ*Ĺł×·oŰt70¦íĽ^ľKΑ+}§m`ß\ÉhĎĐ75źź aźsü3¬»Š’śőĽ”Ř„GfŤ›\é&öŹđn«RĄĂzUĺF–gÉÂA%|.YŢ÷{•ҶĖ̪ɲ|ţ—Ô.ÜÝ‚ -zBo={\u6ç˛>kAěSRş˘u*}+ÚYŮ[ŻŞĐám›ˇWúĹŞŔÂŤą˝NŹQŁ^I áäu V«ÔBţĂuQ>ŽĽ'‘>w§é'qäÉŘ9Akż´4‰ě;BźWĚx†™ďsm]:#rŢÍvŹQěíÔ,§abzĂLÁ\C™űÚč-/ëI´`3!±ťă śW_žlŻá‡„Ü|ťDOýŢi LöĎq”ťú†nXîóR>Čś¤I*\`ŘĂoÔ„Ö49"¸>QĽŕ —Ó×Ň+Îc“r!:ł“ţs|Ě[Y‰±Č†IŃ;ż<î*ŐcŽGćťoن’2V'×ׯ©‹Vů3×xéíZ`U“„Ř“rŽë\ä¦(¦^YăpBb‡ˇ˝piÄnMŢ›¸žŐ -—|ŘÚ[?)ŮŔĽ±Ů=5ýÚJA)¦¸†¶'?1Ĺ9‡Kţ_=JÍ_˝g‡°·)|0ôZĎ7»Š>Żâ>„¨AńVsŤ+ń Hą ¤Š°ďł´$żϸbEśn@)­îb·Ż}Ö¸¶č·jł ˛[<çr×?śđ"Š7˝b\Ęü“Ňy_˛5%…”Ő˛pUcM÷qšŞsY˶ť\ ĹJÖo˛Ú=ęńŹŘ¤?N‹Ň‚‰×šr ®ÓÄuÍŔ›Rń˝u9 VX玾ٯ ec•ŔŤÁ,ťë»aé7ń {Ź´ŻM4—P?đ,Żi’Hq«|¬YtJ)ţÖÓv'Ě $l…ě`ę×ô6ć€É9>d¬ ęňIý«Đ *ŤĂĄű•O¦&&őĎ7CV@ů‡ -Że҉°˙‚¬tůTŽ-ŔP]Ĺ uËr}Y/NÁć{Tc>ˇlŠ„yá–Ń"ÄŐt˛NÄI1© UMiő}Ńb˘łţ;†ÄiÓǨ‹ ¬+m‹»¬îsµí¬ˇßo§Źz;|ß*ĺÔ I´É”č„-´'ďš|âÂ=ÓŰÉ<ĺŘ/f‚Ë·ł`n§QŹi,¶Xcş+ˇĽMş^elÁöEnŐVőGĚačYąĂ˙ „üĎ…VG¨Çz7âXţ·[Dź+ł®›iÉg“­u-ŻäV čźŐ&´[Ż|˝ýÎÂ6çxß‚cöÔ‰ŚvôĆgî¬)ĆąHWWໞž«Ěi”Öáń7GíË‚Í! [>y”cůĺ÷…îJř¶R‡ě»Ţů™ŐśÎÍ­/G{Íh7ŐnŚ‘Ă3H–ٱ6Đ,ţźŐ†˘ÇhCH+ˇ~^ŇDQiçOPWĽ ·?ű—ŃŽŚ?(R`t·QAK÷¶Mbşz¸ś&„ÚČNĹyC»§ňb+k -ńx˘ r ügä+ŕ_VϬńF"qó'msE×=ř32Ažx[ŞdJ[Lż+LÉ·ÄHQ€żP~ý$Ť8đŕäąĆĹÉAŚ4Îô¦šŢâOć~Ü›•NŮQofvdR’pçËŤDÚŚ»­ďPftţ—ÖrÄű0ŞB$öv)úĽÝ˝Çeµ‚ę8h7]: •šłÔşz9ZńĹą Ů˝Ş’Ä+@&†çfé^q˘"őµŹă`Ä\xM¸áá©÷)óÍ)ĄŁ>B1\ËžfgGčŕPřD?hő»˛->˘7´·ţ1ŕň“¨“fń¬«ćUK)vň˙ô–Ó9üşl™´<7f83V¸>@)ý_ÁÔŔŮgŘŚ™tk·\#K±7 Âčá -{… OĽÝ7$x&ÍmĺÂ%óÖö’K窫áĐŃ űW˙‚4ĄüŁđCąŔ/Bl€xd)­›…ůSJsŤoWżÜk;Â\ą4’v…ŐÇo‰1ě ۇó:ٍó·“eT2 ‹fqAÓfWĄyČ\>2?¨.—.»ę¨®_ ‚im˝ZĂdí˝¬Q[ nßS‚gŔ|•_C&ň>íؿÓGőÍ&AĘy€Ľľ•r˛I?×—vŽśćŠý‡lúeSM¶–îw ¤ «¤y+E"– ˙~ŔáôŞPNl»eÁŢR˝ ]‚ꝡţśÖXΩ˛ng”žK—N…{Ů^ljJg˙ŰłŚRo&T7/K+@^U9× ěšóą~&=•Z?*Î ;iHůÚYżîB]@5^úĄoJ!}9;›ÂL‘ze7†ôÄ.n8żz´\š>ž§ŻÉ‡ÇĄXłkNXJťż×Ťź«Âµ$ObsK_Ŕ>Ľß¨hQňÝţa˘s‘Ľľµŕ%ĘLR:ZžW=TTlŕ˘ß§Ť“›Íí’”€yN6ăŰuŻ“ô΂DJţźé–CQˇ‚đ:u2>§ŮXĚ©kÁŇeC]ě<ř[¸—\íOpĘ Osę őĆ! -żĘ˝îük -‡“ů"”âV\łÍós ˘[ŹÄo·â¦·î -¤Öł«¶€ X®˘j;»Č”ąŠ;Ŕ—}削¬ ‡V ł ą3U(»;‹9 %3 -~˙j‚ţŇy=IÁ„ö™z'?rĹ^ĘŁ0ÇńÄFúZŐŮ÷ý4ç9×ç>PÁše6sô…®ŘFpI%K–=¤¸9€ő'ę*ŢYtšbeĆeai~đjč[`öđüs"(‡ ĎO bü™ż˙r¨ž#PąÜRPďügŹRĆĐ@T±™ť‚łh±ĘÝ{ n,ŚáÎ' #é[8ŤĆ(ROŽ$=ú+ĺŁŢďřoĘÂ3·ŕpĆGN3űšd-ď=Ńče¸Š|DîĚąëIîĎ ”żČĚhłůT'Őîťš˘ő>ěĚRž„D“ Ě^T…_žâT÷ÁWťĆ/{B–VE·+MRľżJö_ŚĄů¶Ico&R"6¸čţr!_đ9ÄÄ<¦=ŠŮîîÄ,|AŘčĄ ÁĐ˝ńa¬ľĎŚ­uOfŠ41»T>ÄH´ź“UĚůšÜE_”çHDŽay»“­€S۸tę˫Čdâj B·ÖŹł\›’m ¸ăÍRZ±l8ç$5Âé™ĎXôqL(ň¶WÝDgö„ż koą\ŐµůŤĄM§Ô7ú•$8‡ë¶ŢŤÜčk;˝Léö¦Ĺ¬¦|’¨…y´1˝ɱɕ’Čr[ÉöoSžyđD·÷D©˛Ťđí›i;¶â¶á8h._y'NţÝ9.:€®ň«ń@žqUŞô'ajý*×0;MçŚŃőů9©SkĂq?54Ĺ);g‡×yGŢYb +ű}0É)ßŢA±u{OfĎMüŘp{|eĐmőć·Zĺ†ĹÉFIËi߬Gb“4˝ 4˘` Ă…)˛ÍµQű~Ü%,*—Ö’oÇ»_n9Ĺ i8Nđ •M‹ţ"Lµe8×e‰‘|Be7[SŰ̵§5Ű@Bݢ€»wÎĐ=˙XoĂÔü8d}É8SşYIĽ©•@ç@ -»’A3;Tzµ a5ŤFŃ)[ľ(Ţ#/°¬;‘Á/E?vhjĚ‹ţlÚęb‰rčtZ’ŮÇw˛p­ž!˙đ®óG 7Ęy…u,ˇźÄŹŠ›ËS;’)ŹŔ  -)ć$¨ýŁŻÔ†Z˙<÷JźŕÉ}ňŢÔG÷«ßa˙-Ő -0›wÂů\Ńj6ĹMD$ł˙h]űR5‚ç‹f¨*ă8.PO¤skoÓ/ËʵDq´čŁm“Ţ -Ů}ĎÓZSę˝ŃĺýjţéÝ%+Z<ť“I ă<>µŚżÔÓľ©U˝Pe2š=ę K/U—˝IuÄu!fŹ¶ĚąĹŮI¤*Ł8ŃCR“†±M´"˛Ä»éĽĹFö˝Ŕ5ÁMĺ™ůo¤4ł}¶8v€m­f×3)"˙ó’ä‘·\óť¸(CÁy†_\009CQśer® FÄż‚»¦/ÄI:-(g2m,–ě9“ž¤j•ă1Z ’_V )ňúU©§!'¤#Źő¨Ń”›Ł -Xrˇ}YĺĆ/4Ą˛_m ’ŕ‹ÝWnB^ óä“yr˙Ľ'ç ©n«¸)ËoY˘P˛´}k±¸ÇľW!§SȆ߲…‚(’ő[Čv˝şrů&żęNĆNI8ët-4µ8lkŻ1Yŕ†“eŹăsŚ™ÂHnčĺ–ŻŽ§Ň:ŐžźHľ˘áîWŤř$ţSj{$rUű°YÜU‚eélĘ],eÉ|eľ»3’8†<žĺ‘!ÉtvqĄ‰.nŘ$Ą‡3_m‘EłDOwVm×eáČ’Bd:‘j¤NV›I7úÍŢ $ 0ĐL_ÓxŘŰFŃŚśúm—9/FaRTa\ \® -±×Ivoae2¦WŔţĐdαĽ2Ęvá^)Ę~j–­.7{¤{é㣠ĹŃC%ť0/†qÚ%†Śű•ұ<«ÂĽKó;äCSąí¨¬»ő꣪7¨¦ÍŞxË3˝0ôă§g ĎsáĆu ˙8‡G®)ä ťť‘W<ź¸ŢúE{ô´čO.¦Š™’qx¬ć˛(ŢSĺˇ@S»ŁzcAíČžvT¸ 0ţ8îoĐţ‚&óY‘‰‰ygY4P:«x~BiůcN;<ŘÂËčRf­7pĄ=qv!dÖ^Q‡ËoĐ©Ż5÷;S]§Éŕ‹ěđe1ěĄ1Du8Ľş"óMŔŞvwŞE Â.:Ůď\®Ĺ%˛‰;Ł˙„Şkł ›ÖvmúÉIŻäµš§] C7»Î€Ľ¸ČŽť°i—BÚ’ű Ŕó,ÄČđ. -č:żĎ -+Č?łŐƢěR—u-zŕe‚™»ÁYń i[%a(•xÍ%JNF¤ůť¨*ďţ4ôŇ”1s╎3Ó "*d­·>óŢáňđ÷Ł·_„" --çL±^v­–V·Ô Ľ—ŹĹ$Ůâqd†Ě8čěŔaěŁ9túęŠ7Ĺk§<ř™˙+öJŽtµî›3¬/IzFăÁÂnýä’–qŰN{„Ú4Â4­[čqX¶ëz±+ưHŞ(SŁš§)iŹ»/PTĂM¤ŰÁ$ Aŕžę!É!8˝Ó Eč¬×é –|2‹˝… PćDűA $š9Iv;.V -.‚ŢęJ(ĆÍ’x]×NÄż1ĂÓQDë$›Ů!×&K›NđS˛fźőY9_ŁÂ®łúÁĂËý‘ń*ÚŻ¸ö{VzgşĎ¶˙!ÉýF˙÷Đ6.w­µa5e‚±§iŹJj»ąM°ŰÁ,ŬQaď‚»±Üu”X9ťë“}§N¬v00ą~+}l]ćoă -RľvięýČÓîi!÷*ěf»ě żÉůbţ]¸wĐ ·ËÂKăÖ?H·5:>ęR[ÄŰôKĆ.9BšźĐĂá6µ-–ćń`ßşäSÉďą9óë€gi·p‘SŻ­«Ń4:–fÂ4žă{OU$ôí+-muŤ?]Ý.3OĽ)>÷źŮě#jeSxa”"¶châ—yăç¶őqŕř§2wË2ĂBÜcýĄWa6ëĆţŁ"Ł/z -Ď˙ú;]ö©bZ¨ö‹ÉŔ—cůţÔ‹”±ŚM›VQ»ăr”a}!t—ça悚" -ˇYÔîŽÜĚőĄLDt–ýĚ»ĆŮVj@Gň[ÜđA2_˙îöE…$WL¤¸ –‚ĺ3ß‹Ą] ß—”#dđ¸%˙–D§n íçß–ţ&ň+t* 6u„ŁÜ¤»RŮ2ČŽŻ8Utą5d"ÇĹÔW–̆éMg™uYGĎ´vG{\ňľ1r¸=ł-‘3ĹdĐs«Ĺ˝FŇB2ČŮ•ůÄZ/ŹO»5üě·­rĺÖżľą0ÂVÝÖÚ˘ýÖÎŁďSřF2P¦`Ţ%)†Ň>4oţĄ•«sII`߀§fSžIúú˛¨Ľ©hÜ>P놱e7°őľ/FeHk|Ú¤÷ĺĆéH…ŢŚŕEÉŔ9ma×Â2GŞ˝żÇąLđžţůľ±X6ŃúČtłélâ·Óx©ŽĄ(é˝oR`hÁGË5Ôř†Ä'9>Ěń¤@ŔyvⓌ#rwgłd - Ą 5Ľ!^ÔRQ0h±“k©!Ş_¨• ·TÁťIş:ľľŽđ·¦úćL2CëU´é9 -–C"“_/¦ý)íOňŁA4ZÚKâČ÷CXC<1¨ÄÔ[ÂőĎ€›H4Żľ\ńYÜWG tŐÂd~; ‰«NÄf€X¦†ů2ëuXómí(@~ŽpďîÁĄ±®µö„ŁvC"č¨â8\î¤î·—‰Ę -ضxc°Mľ27+˙ŘO}‚’¦Ë˘Ŕ­‰śJV]ü:’Dx鞸ę-7žvˇíŁbŘ­/_đ‹Ý$¸I„ą*ž×LxŇď–…5Ăęs°(®Y­˙¦ř›˘Ĺ%»;ĘY…Fř•ť ×>‚ĂAΗ*gíyˇo×z˛A ^ŃÂÚ7NJ›BŰ©Ňđ¬†?’F Úeşő¬obš+–J$ßůÔ˙tě#6ZL“*ŢQăý`[É瞉ĄĘqöÂN\íŢ·Ł•±FłO.«,ŘL¶ -ˉÇ' ?‘ÍÔ• ‡}–Q Ö¶Ś„E«Ż~#qţ‚3›/ę/ľCŃŕ˙Ę`ăă$#2Şđݧ—PČ%łÂKÔ"t•r­4±ŔŚŕRÉŮůŤhÎvŤő ź SŐ'–őť˙÷”Śç|őăä™\§ö7é®zŽýĘžKŔ~mű0‚–µŤ|©6ŰÉÔMOcj:ă×3ţsň«öÍžŇ -Ďz|‘˸ň/ Xt_Y" +ěëČnČ…éÔÚvT_TS›çAľüĐ×3˛ĆgMĂČaćôŤĺFŐľKهi·BĚ[Š`q˝tre_›Ä•Ę´]9hBÝAžĹsŚú’5űש -PäO¦­}}|Ć_D§†ÓR/'ÚŤłN1Šf_Ęú&ULkćÓBx©ˇî Źş™ň45yë ‘ű4dIËmrŔ$'±°.„.źč%óX1]ĚĂnkŕ`Ţfµ úě&őÚéf™^rڶhÍBXůĂlę—ßĐ,ŔŤ€—ť´Ý‘Ďľ/‡ [x=vŇ0 ĘgŹ/Ěő{ cË2…‚,UµXÇ2ÁB)ö¦şÜ´âÁBśČ×ĹŤ®,ÂěÎáMÁçăxL·ď٦yů~e@Ę5Ćg#…ÇĎJßu0.Ⲯ,Ň]tťgłŃg_\ÚVbPąE3ÚqbÍá Ź€ŔÄŇhJ<5w//…h-FE—Ź–µ5x.ĽH•â†üá‹ďđĺ/ÉX1ď©J‚>6Ś5(›-˘xкţ«ÚÓ‚x”5Ń›Ůq-7a6ŰZBóŤ¨ŰÓyH-ÂO|)ŢPCú Ć€QD9\<ÓT΀N47ĄÓďĚť@F?~Ö‡bQńJg]â.źµß€š:$ęO$1öi®L˘uí1Ç˝źJ~ß–#q¤EHgr:¸›m\µöĂđßÁ&źu#Ďô˘•LĂ1Č„ž®Al„Ť™Ö茵޽¨/á^§’Ô‹j[OŇ !¶Ł - Yý|Č(‘x,oV8đbŤĘ"=0-<˙űĹ.«Uo°gý¶^;/ŃP“Ńٱö‰U/zřM?D4Dş«´ŠŰAGk›ŔZ©±r¬r°˙×Ç€RCaĂ ¦HÇęŔ?Y?6rW¬đzµŃÔ—Öo±ˇ_#=ěBő “ö衕ßŐţ‰\ôŘhŞĂFĹůŢřžł“EqP/Y8ĂhÖî†ďuOˇ ťr!lÝä˝ŕ´XöŮ—/łŹÖJpÁ,M‚ tÎ4AlŰ9»‰RQj,Vv _jlSçÓóĹL$0–Âą= ŇĂb>ˇşfІÂʲX¦HU§»@ěíś2í‹ďéwWłťW9«´<¬%^·-\ăÓ;ůý°Jűí(®Ă`1ŇJ Ź6Ž‹¬d2Ś ĂHGqÂÚŮó•±rV!Ţki˙ŽŘ´ŤL/”ëńś”ţŹáşŹ}X'zKG«¶Ş¦pW¦´Ć8ł× -KŔ?š‚7LřVGörš×¸Ás†ÖvĆg‚®A5%łďÍf­÷3^JŢý“},(ŹoV˘ŻßěmNą - ?Iśő\ťyN áŔ -ËŁ}wÚÁáG |kͰ/ßxśă:ŐŢĹ ÉM€ ÇZŠóBąFT:ë7ľË®Ý G,65w ^} -lÇV’çfÚs9?J<|hJF¦Q»ň ˘x8 ÇP_řŢšźüPyü?jě° H¦cŻŕ¸Ď5Xu÷ňíI=‡6X¶KA•¶BÔ´ ,ń˘ ˙Í[NŘDu+=–Jď}ł°ÂôAőć}ˇÜP{öhńFÎ{j,S®#Sńđ‘!‚‘µöŃťąŤ‹·˘˙l%. ż7ďŇÄJ'ŠjÓö xnIŔŻsj⪤𦭔-úńA;ŃĆ)ôö Y«đv䉜‡=RęÖ^]$ŃřAŘliu4aúTzfA†GwL‚™?cőýUJŤ‹¦FiFP‘snrűs;šíŘ6¸ŐěLZš†Ş6@7ć—lČq¨{@'«Ż©<ត{«–břígĐ{ôŃrg'ëäžň?7Ă6Ŕż};®îŇř`;ú……Ö˛îúëäŞ@ÖÂčć諎ëřB`qÉRâÁ˙WRi{@4 _´Ď+lBWM‡~?ÁJX{¬čµ1}¤Ţ>¸GpŻĐĹm˙ŮŤ Hônř!ţ±°_d ŞŞĺ[ůşž,]ž*ů¬¨޵  Ţíî‘Óš90˝ ľ‚µĄÂbw90´zľ=ë1µÉp¨Żý05ë°@Ű×Yąë›KŚúëÖŚ ­żŻ“ćŹÍ.ôş›k`Rąl`›Gĺ˝o¦oÖŹ ÷&Ř„eŚ,kW$ {$‰NQG¬Ćᙾů`­ľĽ‰BL^ÂMĂôĆŘŕuĐ)Ş~1´ŕJ*—´$g_,¬Š/­ĺŰěmĽ˘łéÔ9rÓŁ>§°›˝„u)µˇ¶ś }ʇ>aŰ{vW”…Ó.:92J7¸fÇěmn{ç -žŚąż2éx¬ń\—”`?żý‰wBú[®Ú÷ —–Żü0ţó‚ôňX}8ţ>ŹjSrą r§>űÁcS}9ul.PM«DÍlJŤš!ŹwOžšäö×w1Äě @;šŞz†<ĺI#W§Íß 8>Â"aÝ©4‹EAZĐđ‹çü%ľ$:Ş Ďc/řč±ůŁ;0öý+w’7Âu#/»[J)ż­Ňě)ęó*Vfřftś7şě¶€tRDzŞË›»~Ż&Děµ<ô!jEžŻřĹŞŕíBu´;\ť%«řÇÉD[¬Ľe˙ÇgŔ ' ů)xâS2INű -€  żÄvĹŐ7ł‡1¨ä^łâ8†,zÁt=Ű}\ĺíô$ aě>‰”ž†"Ą ÄŁ`Tů>aŇb´Ľgĺ~Č^=çŹ@ohwąě4eÍ2OűŹň†P;áMUůk…: ÖÎÎ…˝¤ÁX]´©q}×;˛‡ŔާGv’äLs L4HUŚ‹ßŞŢ ëÝdťÄ—.eŰŢMćüĚBer}.]ËZ`×= -•hĂź»fqMÇ}ĹXBX1c+ż -ŕ( î#K±ţđĽÇKŢúß=0ZQ'E@TÝĚŚÂńńv0q4‹żź‘4ĘÄ+úôÝÚJKKć‰(Ó_Ö¬ÂĆ.FKb)´¸]Ëľ˝«Î3ˇÜâ©ÇÜćiW§9 [Ő&ď{Ő@wó]ŤWÜ·vHť`>MĎ ŚŐŃ1•§ÇĽvË®ĎÉŹ‹«› w¦UdĄ‰@±źęgAtUî…x?Ä™ đg~PłĹ.%óĺ`.ěěkŕl-Ţłaíćyü’’âQň: -öKň\mě>‘K¶¸`'ůL)ˇ6‰9Ş™ôyě„\ގ¬çp%pľVś"ůfš:Ť…¸É™pĐ_ejŮ~‚+Ł|ÎNŔq’"'λ…'‘Ĺ|(ř )ř‡és›Ü˘×aŇHĆŃ6ŹŮ{U@vĐS#粸 ˘Â\ ftŇąjé[…D«g »Č’-G­PŽ=g*?öÉČaĹU C°f^ľ;Ă ćČĐËŮSÝq•š‘ďG˝í$UčŹŐrÔ˛§”ţYA(Q€łrŔ×íňÔú‹ @8..řă… ÉQ Oë>ňYA ´Z’]ŕ%ę)ŚJ€F$´řBq3_ ]÷óy›J‡‰)©ŤńËŻ/ -yKS“o ‰•ĆĹqZ/Ë#Ţ“qä™_pČ=WÖu<"O1¦B›¶Ă G“u• ěąÔ8ߤ¦/ďTyűA§lÎF8PĎĽşH=n˝µ>@0©ť˙{XŐPÝ—çłîjHJç‰ě$ţŰur¸s‡;‰Ü÷}_×|Ż&Ýbë3Ą7ś/°»ë`ÓěÂłoѤţnW—ůTüVţ⢠úŤé3«‘ă,4ĂtŢ©˙{V<[8öĆźY3Ę{I@7fHY łÚTFĹÓŐwNtçQbÚ‚ć«lä-.¸ÂdŰ­˙¬éŮŢĆ7÷Ý4dŹRJ—ßE%Äň®3ż€€ÎD©.ÄđjËݵΠW2{üž -ď˙ śÇźő Ń|Ôňz 3:˛ŢőŰÜI™hjrÁď˘Ŕެ®[ÉYÔ_őś'Îć+ű­. úŃô…‰WZŚvUFB~•ËRü 7x¬¶ľŽ=yčÖš?XŐ…ç)*[\uJô{B­¨9=-4Ts/Ž«LhÂŻaŁéAĽŻp7ĽŻC@•éJąL˘ř2ľ(RŠTŔBů]?«/Ôňč-5ŽBjÖ%ŻOHŕq ›[ ťąB5÷ďjn€•Ó!íTÔÝ[hKj^˛C4¨şR—[1S -ĚxĹ‚ËCŕ† -Łb¨˝`N“úÉ(öşDZd›Ó$sęgčô‚mjđ–?L ¸ó˝ł ĺ”pĺfő_ł ×m›Ç8Őµ:i‡ŹŇúÄ:;DGGüŇKĄźł>ö+ऩ?SVŔ÷F?ÜŹ:c&÷ y÷`‡Yđřź…Ł^bFG6cöbô.gr9e®˛Ć&CFá;¬L ĄK2 Ňý„o˝COč©BĐ{Ëó{KůĘ^dó·ĺł…8Ńź[ł—W/ĄIśËńY|¨xů>ŘÇŠ!óLŕ ’ 5qÇ`l}H*iZ¦?§Q6{±÷MĚ•öŠŰŹÓüLx:¬U"Î3§ŻęÍkż hQŤďl=›ÂÎIľ«ŐVË1Ť-Ďťűôg«xrM}RÇ‹šćmtŔ×7 …ĄżŃ1gH.ˇb=©Äw‰ĺĽÎáü7›LEü^šłĺ©ţ‡şŐl¸÷!*‘' 9{>“fŁ™ŁăQţDAŤĎř öą8ˇ@ ółĄß—Ëp^ěX†łuő‚¶['<ăš+޵LW4 éKaśřZŇţ9Q˛±– í4˛0U&Ń — ŮľW©MPŢA”fýŔ–ô@®O÷ÔQvB8 m işÂa)–:ܤ/é RŁÄIîű7ç¨Îşő+BąüK\'95ŁĚ0vŢÜ'łë•ŢÍ »A¤w ?ź?\fŮ2»Ľ¨ÜÓ$ŠC`ˇ˙łeIŐÎ,9„ϧłÂ đ ČƵŃLŹîÎř[óČdăÂÉíŮL¨¨:Á7rA_ |Ţ ë‡WL#űŹé—Ât@¸IŐďŞ˙Ş?4hIqëp%ߣ­hýá:7Ş ´Ő7KD“ńÚ^@Ľ‡fńSŕtčGÁđŔş˝ 4GľŘ$N~¦E’:ĹǤ@ -'<<†gd¦˙_ÔZşąůla°7ExŞŕ'?"îşă+,çd}ÉfÂ1ľ‘V<Fygä«ZÄŢ›Qä1ćY•$É;Vt-1*úţŢm7+Ę,ŤĹőb2–V%ş9Ôw,…Ďę»­Ä‚B‘2łęÔ÷·v ¸Í†íîqťă'+Ő Äd±8Ťf»ăk,ä•7HŃ-f>§Äälٱhd—śˇ&÷ţádŇ$¶ÜŤ/kjßzô|ľBa´1Ş#Ő°B;ŞŁîČŻÓ çl~§iYGA&1h˛ČL|"m ;tĎ_|Ł©eły„*Ö°L»p˙^ĺ>Ě˝ď¤Ŕ@ʙƧż&źŢĄéG<‘^ÓĽ¸ň?δ -b:hÚ×N;—6ł×§C¸&ŚlŰZ˙âLfŹŢ5ťVŮ!˝ďĽóű ´%:P[Ąl ÁDÁF -ë©=čűçqí„-ŘÝaâ0 ¸âqŻZ7I ˝cÝ=»&ĹxšBB¬óĆ~ę—¤y¦Ę>ŽoµBxWÉŠ€¶»ZĹöA?˘ő$&_ë‘`;6íL™WĐ€}čí őf°r'łBôĆ÷ĽŐ¶Řcr–‹~Ôwą2, ­xÁWŔ}@*Ú2s¶ŹP÷kíÖ;»Äń’m•—áB·Ď/ßqF°27ÓW}h˘¶ľrhźÔ+Č:ŮŠ,ťŞz`ëŮžU&TŞţĹYWmO+׋I -/Ďńk¦ŕ˙WJ•;/ÖR!ô”ě=€éĘŰÂŇOĹ0ÔSuÓlŮ4G©AĄ0†6GKärQŰ(!©ÁnQ[<ńŚÎĂ›ĐK<Ę€Jmŕ@˙X>ahČ’9ôČ ĹĂŔâ®1˝$ň[ńřb|ńBĚŠ/Ę·u’p5íP:ˇírÝmj1Żr D%qíp¬YŽ© ę׾íÔś µă›©pKî׸śfŢLȸpM6ihťí~Źó×_4Ö ěÄ|—0†çCčßÄAř˝öŕŰ:=ąžćef+°Wőc(ÓbY€ŐÉž¨¬ęĘ«s™jŃz0kž˙i±®ZVzŔčSs|\KŇŮMĆ‹ÍÖŮ]ir®hʬ®ÓAá¨iřŃ?˘¦X*ý¶Ą/uĄ(ŽÉ?Ť–sL·* ű—Ç”Âň| PEäRĹŕ›rńżNë3MŻődNÍĚźą‡V’Ű~ňňPç›t-ŢĆ_&,1RęsPóŠş{íPPxÝ3Ş›q yřîPç>MŚ÷ěPRBmćSˇ›Ě‘ţA [Ám—#řna/PĂĘ€‹›Óykč ±˙‘L×gGN5ŕůXÁ¦ÜyŽx[ $0Š1d{ůŽľ8]\öŐ^Đ%~ť}‹Ě'ëń]‘/ÝMł&öR€Ź—o 5Šw˙Ţ’4˘L - ‰Óđž¤×˙ĐóŹĘzÝWĄňX[ě#:ŹZČ×-2óq ‡ÜÚ^ÇAM ^rśĆ\Zýr¨ -+ŘřŁ<ť" 6đóORÄ ňĄľ­Â~m+˙Ü…â0ŇlČŢĂ ¤ÎĽĚT·ß¬ç=«;ű•Ž›0˘;ß«`§iG[L$ŮŮ%G| ÷Y|FR·kŤ”×…‚I±ôŘxŐQ6‘‡…§ďrQż†˛Ő©Üä!c^xî‚Sk:¸ -ÄBN6´íÓŽÁ,şřÖÁßßń®v©Č_c3bĺěyťŁł‚Ąx#qcVóéźkŐ#Tâ‚tµ -šŹĘ$KŠ@ˇn{‘G­^şÖKQŰЧ1ŘVă×osú/qM•„‰VŰN¦q"ůŘቸ~!!¦âĦˇč°ş)\×Ú }wßŐ`U˘NB;@ťÎ#U OŚë©¶r ‡•e{ľ]řŕë˝Ü…—.ŐŤW;‡ôgÂ÷?ăňZ ô}f ßcó}R„ÔćY ű­ÓĽ`Ž«‰;wâ÷áFąkëřż? !jůˇk+WŰ3€ÄRK~(#–†’ú®A—?Hľ´ôY©"§+ÖŮx ‹•ě‹)ż˘ŁvŔčł -ý5íF«žă4x#PAďp-pżZedŠÇ Jśp=űWšŞ2hĄ?ö٬] ńÁIJ_‡ü‘kÜaRČV˘-ómńé˝N‹4…đO5C„h !&ë–y˛Ť6Ô$ÜĽź~ -¤Úw«ß`P>OoÓ现4Ę䙆±ŽŠ’?ąa}5cĺÄaÖ—”¤;Ń[ź§Ú$Z¶ëDő…2~3Ś@1ŤR˙óGÎ…zÔě‘Ő­¬¦F,şŞ•ä^Ě ĺćUő&ÔşcN°™Ąô¨ŠţÇ ýÇ ŃG*Ý*–%ô¸÷ťAłŔb‚ tí%pH ‘˘-ňšyyÓ­‹”6ÍÉ2ÂŔČĽú2ęČ«i«·/Oß‚Ú şŔ"|ť0šÁ·CcЇÇq™3´±gđ ź}Uţj;)QÔąľF!ńß8_¬D@6f˙o´íyĹĂXÍéôÁ‹Z˛ˇ&F5ĚŚź‹' 5E•HöA˘üBt™RŢÂEÝ鵏ş%É;‘ţ`!…‰:`÷=KŻú•¬Ó>Ü+WµŰe>ő{HÍäŘ=yl!Ë5ţ°ý9I^Ś˘Gëz4ľĆ€ÁziméŤÔŰŻrŽš€3/9$M:UcAq ň"B×˝^ŤŢ%Â#âčl¬5ˇ6ëť¶Hq,ÓÍĂá q˘öC$|­MĂ -€Y*xŞOč­RŚÚŠçPHÄa xú\Ť Ž¨ČŹw,¦ó<®>´[Ânqć±TďŕöHaĄł“öËŚ˛p¤CÓ=čnäŚě¦±ň‡Ž4čź pĄ˘Hzµët‚#䲥&Qô\kÄňÜqž"Żŕ‘öŠV•ňľy9Šč´1Że±Ř`ôS/ÜHü‡Ĺ¬ -Ń›±…ľ{Óbżm¨0žäćÇŤ,Ě0 ]~3ő~@Ę˙h©4D`Ěťë´aŘQúŹ‘Wń"Í«ş˝ňÜĆÄżÓ„pt«#›0ܲ©—ă} ýŹëŔI†ÚÁ¦qřśůŇßě%šŽ •źĚ©Wń«źţɵ ~¤5D%™1˛§Ű€'‰dŠŞgŽńúNŹ"Éš!ř¦Ń6’#6ݵ¤aĺç5głÍ•’ńQlóőęCŞ5&8ă/ŕw˛ü Ą¦üińN•PV6fŔÖä Í-O”Ż?Ó÷?OOâÄ#?ńÄöŕ€o†©‡¸šFţŇüŕ-o¨JÖŕ±—Q˶˙=†“Ş˘ -˛e>^t&Uđ2(ačĆłęˇe´2ÎzĹů3KqjB Ó6°&>ł!(GiíşżÁ˝š¬ĺů]-[v6:¬3Ćĵ$ëçŞ}eÚ6“#˛”ő^LłźkőGĺ•ärüÓs?± ËhΗÍ©¬|'›Iôů]‰čŕľ§XéÚ%ŁöóŠ •ŕÁÄZŞo 5ĄŇť%]ݧŤiőFľmF -”uj:ßZs”'j«ÂŚG_Ř®‰źí4ÖpsűŰ"° “Jđ< ÷Ç˘Łš€@TµF^Jq.üj™g˙Ł2®ÚĺďRkU.Ű“žYŇ·ńăh:1kLüĐ}xÚ‚j)`—w*CJَ¸Íç}ćeĺd"R«R%Â2W@ć]XÄ«¬\Ź?ËÂ’‹:{sÄčČFhdÎÁšČ㙏ŐőÝ/µFÂr ˇC»S É łÓ˙ž˘—c鏋ŁËŁŠŇ®&.‹ˇčL5‡ŽÚ’tRfśL>0#ţb›qµ&0–ĺí˛öHD ĆęlVąĂĎxÎÍyT6×8qK$«ĽôŻ3›óăŃí’@µ$âUqÉSta†ł_;ë¦rśÓŰŮѤL´S†2›q¶Vs HÇPhĽŕŔ«-A=ýÖ&d˝Ýbáᡏ&Hĺ´XQ_ě['€¬ĹÚ‡=laŽK¤[ çG;T6{+ąYňr%çLh ßT?4EAv/]ĺ?Žá6^xâu[ ‚=¶«±ćaĐĂé =ĄŁ¤š?4ĽDyfI’t–ŕ7 -ŔźŰtÉ:A• ¸#?"ÝsŞ.ÄŰ'Úx|¬â˙GLdq08ŰA>NřŇ~aSţţއ*\3t•4A<ĺ„kŕ– s(üÖĄ.¬tzE3Ö¦äÖ•„Ď;Ą›nBY;¶şKę%X[ú} =&=«•xLzä2ۧTă ęđԾѹ͕ˇőźŁuŮkŰbsÉrF~ÜíĆ̡c´(ÍKŕçĐ Ý_ňű‡ˇ+ü>ŻĚMłNŚ=„]-Ł©\ž?X@`€SŃ5‹nĂA삼°RźřŻ‚&ŕG„®ĹtŞpec0jňB›ęŰ/2_śéě xJs݇”ŤLĄt óČżŕŢ`~[M”±ů˛˘t· -l)$DN‡ŇdYMk’DGËăişN5őTL­Vł.#»5¶fFÂŃ’f0Üa.j˛¤ ĆB\´´Şj«…°Żá)2„DřE賥 ýźg*čŻâÚoWüî"[˙¨›oé˘Ńď L:k»=qM,¦/čďĂń‰9ĚP9$cUͤ "÷WáćvĐčÎJžđR‰Ôsö$•'~ŠÇ×/±14vÔu”®ö7ţÖ?ŘďNnEł#ˇ©V}ďĚ)ů… -ťĆěTg¤0ÉÔDÚˇč§'ě%Ę.›ÂRżą«Ú™˙÷Ä(¬¨jxuźŔ8üŁĚóż˝± ĘÖNÁ˛č†w^4RqĆ>Ű˝˛h˛«ÝiÔő_oÎŐ¦QyÇ®T ł‘ąŮÓWX­h­ýüĄÂFĹ‚nÉîFüĂPÁ‹>ÓÝżÄé'5ňŽŠŹoS–±pą.»ź—T†ôĽ›O}HwnmĐ5é?YÖýćň=Ś~•É×{Q¬ŹůĄĘÂĂś5^úŐ rUda‹bôŚš‰7¬lĺşső@ÝčÁâ…ŕ‰»î¦&$®>6\’nńônű­łŔ!L䤎ÊÍäŕ<€+Źăa_ł±%čÁ§đjÄúäŔXc,ÓĐ%át@˝h̲VX‹‰L&Caçk-˝mv37TA˝—ăň0Vú_ö!oüëyßFň!ęČéDCCÉv!m@řWşÂÍ$qY—áî«ôô¸¤gŰč:Z<ŽňťŁq¶7ýr”ŃT—Őř$"śá¤îęVąňúč­‰éťŃˇĐ® ¶ÂŹoů\°Ę=1ŢTŇňé>´y§Ňv«—e[ARͬ]ŇY’ÂőŇ 0§.zI—=i±zNµJ§Ü~XŮď¦úrěu” -«8S©şOÔ®#Đ«ŞÎ€°čžVP.ËdĂOgÜŞ…ąRIŔőů„cgU<‰%şÂH6@ˇ R¬ö ‘B=H\ĘyĆ­VOs<í9XâEĺŘ66ZuAPF¦(>â='ýćő¨»ăSA Ť, _MWćůÁĂú[díž­±Vţ -rKźH´¤š°™V!]ş¶Wáđm-Ŕ% t6ä6‘¦ű?#âij—ű—"řatĄ‹Ő‡B\M[3ÝJ“Ü_‰LtečČĂSţrý„©Đo†qbĐ!ßÁŔ?Áöц±§cד+sÓ}q ×röblłD|ŽM°ůč+ss€ü¬V^EÔlNžć!»  CÎ9*˛K çłž q(G”Ç*ʬĂş †;wĽ×.AVµÖLXŕä™ř0Rś8°űśzŐ˘™ 8~OݞžO¤.±łź?'ÔîŻm±‹YαŻ'Ů{K Á*xĄ˝áC¦G—Ç˙«ŰĄfy§×?Ą+F‡ ˘ßĄ ěY—8ţiZĆű)…•Ihn{)ćţŤ#«7wÉ21WCŠŽşűĆâ  …x˘"±,PÄ%Îâ)ĎČǨ=elĺ‹€JńšZ`†#Ň®W2Ąő ˇT:ĚŁÍ|öof™ýo)®ŽŠ¤Ż6pŵ¤,g˝Éd>vPŮ$[®á-^±ŕJüű#ĺŇ`KM=:„0öꯌžîÁ€°âŇ™%XniɵW cŠ.ŔŞA¸ĚČ8řÍ?ơ4›ć§ł śÇŔ¨ĽK•AąÓWi°7ŔšĹ?«Ţ˙±S9‡O…q‰˙ΚČpéţVp¶Ëoşf9™Ô>8FľĽŔöţb˝¬g\?ľ-č<Či€'÷ěîČsĚ“dËň:Ü'>–zđ…w{Vő“|=K1ţÖúuĺ–^"~'Ńx‚g}o¨űÉŢGŤô©$7HůđŮNhż©SqüG—8C,Üż]Á¸Xµ[÷“YľťľĐj‚ ĹŚ“ŤşÄÁ €sńé’„Ő–Ň˙9ůeÔfGk=W›Äç˙#0}]Žk‹s|cúŚ.›iÖë¶\:˙Ómx ¦}eÄ:h”ZIǬAÚLöŻĚ,±Jü®N§»ńĚĂCëĂŽRĂŰB/TţůŹąüY'Ëq&ëŃÜ•eťŰ Fš}\4Ýj”Ëşp]ΰf&™ăuiŮىŘ0˛m$ Mnµ‘*ŇRW&Ř™+çˇ5 B3nŽ;ÉŢףÚőSҵ ‚ď^”ÉBqglîĂ_žĚQć?_/‡‹Ę÷”Ą…HS›˘éĄŢt¨9Ă6ŁŇ!?ßdÖN—yxü˝7:yLRđd´Đn3ěy2uIÄďG™Ň9ŚzBłL±üşk«X ßz”ţO”u÷,–§0Ćü«dA™JóĆ[µEŞ$ůę µÓĚŤŰŢÍĐqô:ś'KqöUdi‚ĹŁ}m/Żâm(ÉŞőwvTRßĘ!>ţł ë/„^9Ć„ĆVŽÔe™ú\h°P«ç“A?ĐŞhXďÓwˇŤ1.Ń%l~Đ|7wó¦łâąóR­Ó™ČďuGw~“č@0Ś›Ź}mÖţ}/úĆök—×”ůčĘ=˙Š7~2TÆeöÉŹV—–é‡@‘˙Ą¤·CĚÍ,Čx}Ą,°@#3oLţN˝ŘXL®¤…5ʻʦ˱ł_§wś Ôüˇyp E޸‹hě–˝ -QXxâ#k%ë Łß˛.żpňÍ:ٶ÷ĎĄGă‚=˘cn…{Ebˇ*Ţ6­&đ“ H+’cĚëwŇ^Ân.–č“s'tݧ˛8s¬°bN_Y>Ä}­ö®ó÷4˛7RxÓ±­5łžŻ2-[čë:ZŘł×AĎ0Wkw\;Ŕmő°©V]nő^­Ó¤ÝŚÉ&Bj1˙±äÎÄ÷můÇ»e8ź‡ÍĐDhĘ 4ďôđYo+Ë u$KĆź1ż~XéÄţśmóAçžŮšZÓ䆨šŢ‰Ë¤›óĽCÁl­=š$äřé’š -înŞŰ\0<ş§Z»·&*]źç$ĚŃľČÚűîńEői»±’Ę»úăo®sŻŇ/$ÎÉ´tNĺ\е|™†Ž»†Ĺg5o§ 0‹őň±ňS źűŃŁ÷ç\ÎÚ\uěßDő Q†şŘćbü´|jŢ(?úÔu3N4vá­G1psĆä4n;KÜś¨ŃySě.ěy -uZ%Ńý}Űáŕç{xÉs~5Zř ҡśŠMyËĹPüžxH9ĄĺÖkĺ§qW( ?Ş*ć3Įݒ[4‚Š2ť~ľ0z¤‘¶çiřf#ŇxÚĎ"F;ą®Őţćç t0ľ*'­ŞYîŇ%Ł«3éT‡ß,Ź)=„§7·T8QE[É5üUĂĘvߡ‘űôç—ž;…0łFr×)ˇ.Ëű ¨‚qÉÍkůŰÁaÂşq™Ôź„üYî&+Ł8§Ú‘ÉyeńzĹox LަQhrž ĺrKy—hÚf&PůaŰŘ'dćëĘ -ŔrJ< QviÜ˝8lČVqÖÉ‘zÂfv"·¨"ţs'âĚ‚ĎŇk‹'¤~Ô˛¬Ű»>Ł˘"y=Ŕ?ńš8·˘µŚÖÍ$ĹE{™–sh2ň˙K~tH"E6-,;Ě:BÂ…~KöŮE,z 5W·µ}f}hŻ)T1jÍÔ ‘qhwٍăIŤ„z߉†Şč°jáşÖúűçĘžó;ł­0÷ż0Ř›ĺŕáGo1¸č˲›X’Ă|Ő;Ń»4&Çśrh[(t©˘k}éö4ÍŢĺ&ô‹‹e´ě7Á&ó’_ˇ¤Ŕ-%vĺ(•ťÔ˙+ó;ČcĎŤÝqëçĄ1”ę"\˙¶!{Ś’#ËĹťpĂ@ëĽ}ü¸żµŠqł_qRQ..ěGÇt ÇŰc¤˘ů~·… ůu{-ĚÔó8ľ˛ Ý›ü°Ňü¬kîDĽă|wąŐş’Џ•ănL»»cłĹ†­¶óćřxž9këô»=%6ĺűş{±ŢńŽÓ¬ď辨ţ~ve^ôíÁŽşv«Ô§.M™ô2©˙ź|ęU_“Ń^đDźSR†»N—+ůt€t$B¬*Ůł<Ţ‚—JVŐŤ•ŐŽÄk;ÝpÜz˘F-Š”ę Cy¬Ě™g˙d÷SËŰ+ăÄÇű´DhCjĎ•*˛ÚdľĽË’DĘ`\%‰łńÓ´Ć­Ó;U$¤šäš84ež›üGߡ{‹ŁÝízާrŇ&°š 3°Ź`“mąL%¨A“JÖË ްtŃd IĘfV‚‰=F=ÉĽÓŇJ^͉p§´ -x.1*÷=±ŕé&óeč•Ăi÷ÝŻqNÍŻk6qą´Í|‚ířtí·@L5> & -S•j¦ÝŻŚ®żűŐoř⊖<Öl„Ü÷ ‚â6Ô©Nť×ą·wß"Ń-çŘ~FwtjÇĆo*ˇÂí)©~k<ăS—Jďô}Ű€‹ľ§íó™b#č‹ű[Ój¬ ™kîĎ{ća´\żuA…N­ľÔv¸%őKaV#őhж­\ °Ĺó‘ľ9Bš‡oQÇ­ <%Ň´0ůIłţ“u9{bg‘墟Ź5Aű)¶Áµ.¤0Wi’#ĂfňÖĎßšţá&,ujÍ ¨ąkř; Ş SÚužĆĺÝňxšüŤ’0NťĹĹ -ѤKmúĐEyn&ÉîkÂi…ĘfŔąyÓN®XlŹż• ‰._ô”× ámŇ\g–P¨ę)™ßF3 pżŹtţř€xóÚř5PÁWÚ’(Ú3k ˘ôÝěPŹ>ůÖ±¶§6ť‘)Ťa­F~ď˘c  ¶9g?÷gşj~Oý®qTŻŹ˝…«^`ę9?EJ¨žű¸›{'1,múęü+řIďw)G?Ť™Ň§óoţ~§7ľę2o4±†Č§L%݆VÔĎPhD•R¦ślkąěz—M´vŔ<Łľ—Ă #ńS-.zůŕ…AđÜŔ˙ŠĐŃďřž `g7{i/í/Yp{™âűĘ6•tBzŁŢÜ:Bń4şÓ:Ú„íÓ¶Ťě…l[1ČLrţß É¶Ž sԶ°wţW´ m„„®Ż%Č AĂ˝{ň÷: -éÜ'ÉHsoŁHŻĚI뼲tq'©đ‡‚}–1AÔĎ3oOŮ«ݦ(ç–ůş¨ Ŕ‰ÔU`ćáç#“ Á5•jś`y«âlw”]„nź`Ő8äď”Q­ë^^aË>rKčŃ1ÇQO*!]ŢóńjËş†ÄĄď<7KŠ6Ă˝›[R}Y«ćüwVźĎ­{Ň‚éďűąśâއdflËŠ Âu\«FecuVĄÍőEřçÖěvšŘg›d®’ÍŹU?×Đ%)‰ť±OĎÖN*w! ·©ŢpЉđś˘¸¶Ô:xx{o$ď§JpÚyŐ?Ť;Ş,ÍŐ¸DŠhηdşN·ÇG7Zę?Ku’A-I)"ě˙Jź˝Mj=.˘us3Űď¦0hj¤ń˛j];űű)ÓŹ1<,/kP i™J‘:›Ý|4‘Ç]ŤôÚ ®®S÷Ë ٵ -ߨ"¶ýR,†{$˝·¤ş§¤Ýha š`ú -I´q°^ÜÉ;ťÂ–Ęń †ŹÚTŻ…ąžâyŃ&ÝCđĹń‹ÜTĘ?n39É„»oSýµďĘć„Ý6ťŢóćŞ Ű]HrŁĹbÜŞŘži‚ˇ…1ş$Ec1ŕbŐÓ!‡ °jěŕŻD6$PîJőęDąEśµWE›—şĐ|ŁôŢ”…¬Ŕů. (,·'nWľ}‘˙T©óŠŐۧ¨ž}3Óˇ›ň Ď\Äqź…„Â«·ÍCß”Ř:ě^p"±iô™*2RŤŰ…牑©ńŹhÇcęíË?™ĽÄłÎ' łňćŻ1Ţ>§ž^6z——{|C]đ™k_ďŻ>ď®\oY‚É„‡0ĎRMˇ¦łRΉă®w®›Çë|MîS ţ#ťM[° ¨Ń‰÷a°đüPuŘU˘_·¦î•Ż x U•—âí˛#Ż% -7gŹ‹Źý5ß7»nv¸Y×2ęzäo8^Ź,µEŤîŚ— (“vaĘ_’ąf*C÷wš¨W\ůźŐ\úÔf›ĂMţQöfÎśY©¸ĹΞ7BäFŐĆŞhc¬™żň“Zá2ňG_đ÷1˙ÜŐÜ©LÜ–âžű”§¸sö€ċHž«öµp3Í9}ßnF˘°V#):¦ýřŰ0ĂîzĂĂl“Ő"¤Ď@Ô0χՖBÁ©kV_ŮîAÍÖ{|čĆ3FŰ’çŃl<ŘÂHşBÍÓ$KśC)ř†÷1dÝ*9™®›ÂĄ´‹B}Ë«‡ŽŐÔ\űŰ‹·ťs§ÔS·V©+Ő3$G8 ±\E.˙†ţíĘžĄ~áŘzLţég:ć9 T5ĂđE ăÝ“}ś¬Ú<DÉź‹GáDŐ”‰¤^ô˘áżNhí$n®$ÖŮĹ!˘ĚĘLT3U´Î§”jÔq?Xd«›ŽrŚxsmDÉĹř©ä:łńwí5îgR¨°€4áE‚›‡yäđď#ëvd˝Zúj‹’/şň%ŹĹ!‰˙ńďžFKk4ËŞgĐpgÖIyíţE“@ę -g3éi˝‰ ‘P±ôYQíASɦSŢ|ŻéĎJÂŹću®ęä"d+\üČł'Öű,íb‚1TĆ>ďÝ×xŞ×× -Ś`€űˇÓBt(Đy(eőI´Şgăfâ ů8Ű -ó“aő6Ły?ÁńÇŃ­ł‹Ěx™ÓeEŔ…bËŔő±ĺÖ*`ßüÎr7Řžť$l@»^uä—1§Ř•RýŤűMŢR‡ś>"Zz­ Ú<Ą…~ť^Šu ă—bCjÎO~„mĺ»ßGb瓪}ÖćE,Ł0ÔńŮTÁýć9řîŇ?ü°çĽ(GŻ«4hŔUVTĎö7Ą¬üuŞ·UEnAůÍÂ~Ś Ť8˝±Şúg¸•ů˛B^ýęĆuNŻ^uvŞ™®ĂđÚŽweC› É´ßy–H`C§8fâË%qżľÎ¸.¤bźtLnqaĚ ă~đĂW¦]©ExâöífÁČ3ÂÝ5%»śŚVŚLŚ<›Ě¤x€Í¨=çsŘ5Ä+ߌ„ű[w -zCîÚ8ÂĺĽq&ţxżÁý\żXÚĽËłČNšR*ÖöQ^ÁůJSba7éJú&GRĆŢkŰ®rjîđ Ęä‡/đęa<w\ęÉ;’ć†hńVOiFÍ^M­ÖĆ×$m°bü“§ Ř%SjéÄ*6x/ő˝ţ‚‚Ρ奜Łt2ą—4–«ťoÇÎň=ŃCˇ.ś:Aš„NkLj`řVŚ™˝ŞĎűńp OÜ2ü˙Ţč÷}#˙O3Nş¬`X'®VCĎ,ňtx]r\>şgőŔcłů¸ý”_•ůřłŠÜumŘ-Ĺ»‹”8łýđ×B/kĐOC$‚­mL!ů˙br—粋6żf~1íĄ­ó5vŔCý‚˘ňśľÔ€‚m˛ -'Xxö=m‚;LŹâÎ2śxýî†XHDÝ:¬Ô6«łß„ †h…‘Š»\çŤkG0÷ˇťŐŽgÁę,´%ˇ+ÄŢŻŐ$(Aôž!Ż‹·úžíqÝ ´Â5žd?1łČĄ·+"3nÓz‹kö%Ö˘b4/ň—ľ@¬UÇl¨é¦ăöˇTý‰l˙ŕ7Ń#ô][Z iQµ} kóŔ\źňRřŹî$ň­ógúÎéĺҜȻ§=1ŇMF‘ă‹ah»‡O,Ôg,ü é]ŃáÄ&(zIAѨóqţ˛KŞýŰD)™éH›ńxÎť<{Ńvd5ĆSiO·öŔáŔBý&-ŰŻ;ĚťAYŕ FÖŻŐ‰ÂËßdxÍ’„ÉaâyŔ›K@’PFó×ĺ•Uµ˘c>šĄ–ďęSíĽ“«-†ÔľłÎÓč>ń7đNbébľý/§1pF’ŢéAĺÖ˱LŻr$ű١GĺiµĂOrę[nĎxh¶ĺüMĎ ž†‰:>źşShűČţůXSa«~˘?—ŽíQŞú+ó˘™|^EĚúť–?´¬.ciÁŻË~łÍzŹY–śß ĐŠú#~Ź|,·¦6ąnŤ=5űţóĹÎw_j©Ů•Ž5~Ę#RŮ÷]P ćG©¶ö$›ěŔĎ´¦/Q…ÄĎö›(Šđ”Ň"`<ýAŃ%x;sŚŽŽ‘ŕŃQčéůłźmy»ö´Ëß»śpl!‚ö~÷µGm·A+¶ń…«É`}-FĎĚőo–ŢČP/v´Ç•uŔť§Ţ¤¤ňűÚ¨ďN Ż€ŢŢ•6=+¦ĚÄ–·~+\ç[uąn]Üóô ë +ţy*ç'ÄÎ[čľŘĚц‰NĎĚŞy…MÔ*W0vÔXť==ŕ/(ňXeŇTćWŮqÖ†t¦¶YaHy« v›&NăăaĎ0 R˘°~„Ř*,¬->εşŹ eÄ{v7<ôžWp)ö-Ó©tiöĎ´bĆâéŽěô[…aP]L°¶*)ˇ®  Ëą–m<Đ›éé/ĎwŇF•5:}ä{đUŢćM3K'Wlmhő®{ře:…oÁµ4ő¶¦’~“dŰ%Ú€÷({Ăěżsëv=·b٢’Îô›S#¦7šAŤ!Jα%;0i>±úČÜéÍ·´Â%Ąú‹LŞ›ŠQz+ó¬×!xt‚_”Ď>ő›lh(’­j±ąénˇáTô0áŇÚĐ^•:3ď'‹jß·gŁÂ€›Z‡řéţüѶŽ&¤/8â[ĎÝW{;÷GF‘yž{ś#ArtŃ(žâ}“HTŚSN“V¸Ë¤ęeŁ^ţč‘í|l5n‹ě¬7"Ú-çšşŰW´Äc »A=СŘ.7µě˘ ‡ähÖ-ń!BKt70ŘD±?P×ö1oXő5É›HHCÚč Űý†ĄéVueȤ¤xú#´ô}‰±Ó‹"·éĂŢŤŽ$@Ť_,R‘đň••čsž®Ě–đS…-‚q«ýtžÓÜęĹ}G -xaZWŃŐušős © ~7o|š Şj,üśc©čÁ¤_´Ú3´ŻhM”€3ˇNkt–ŐűŤ|ĹvŐ9y&ăŁjRĐň±Îŕ„`óQŃ ŕŔ>˘3-ŰL+¨^§ä?gčß,Ú¦quÇľ<¬ÓmXď4Á[(ťšOĘXŻ[•Śăĺ§B[S?¨·[¨D Ľ”[żůýAmĎ,ČŹŤŹq>3ÂńoďŞâĆ›“枎Ś/ăCéÉČÁéŰyJ;ć¶FÉ÷JI‹ÄÂűRdÉQÄgűŐЫٻ¦u˙®ĹmĺÝ;|jRŠq2/r”·˘˝# ˛1hh뙎t`ă\ýť˛Ż -:öš{˙dÜî 1f±rŃy|âB¬‹ůL:^š:…Ué—¸«¬cńPÎ>Yëó{xö‹ŰÝá‘•ĎSÜűÝß„´ ę·aěb¶sŹ/1łź$Bű¨ß8V;gźđX–Ô'Ú¤ţÂâ:ňEö®ů^XĂĚÖ.•ů¨ü®±ŃŘhtä˝jgú7‰đ8čOÎEuG˘ľ›MĂ2žÂ˝µ–[ý±–áĘGÁÂŮÔ(öZ (ý1p'Gu™ËĎÍóĚ•>;1÷YqÔÁ,1^qĆÎăc˘‘j gí‹{Ö«p×ułźĽ®ŮÜ'U´|_v|C QŃFÄ$×÷µµDm(ÖD&+‹¶śÁąĚm´ş¦ˇ‰O÷Ů~ä4Ç7üÁ*Ö|VŮÁ­ţ:ë8îA(âsÝ *°—\ÇrN"ýhtt„´.v7ÇxşŞ×{ńĺýłF[†!°ě ‚šFü‹ŁNgřk±Ż~ŕ‹[ĂtĘ·ŻdHëyD¬u}9|XśşËy NŐĚ=5ţBÇűŰł×s‘©UŔBŔŕĐNLLć#™î$ -®őȑ܍­˛ äľtë’Šť%a}ß?,"]śŹ~îßuĆŔ÷J˙ł~#N9u`ëΦ˨sy  ,ß©¶¦c$¸Ďč<.ńFŚ#Cľ§´u|ZŔƂȀg÷I?ĺsćs„(flŠ]´ű~­˙lwd·'Z€2 đúţË®TŃ\JéF·Ź‘5Řl%łĹňŔŚhp…ˇ>~ţ=˙ŞVeUŚqi?{/ú”98D•¦E+ňA‚µ=. -5ӮǹŢ|ćkVń˝˛ăí@ľě°ÂF0č°ţź-źŽ|!Wkăîu[ů)2‘Ęíp¸_ěµN -[–L .H>´qÚňVč–ç&•G*%ÎST—ľa1hčş­*‹uŇ“”¬R<íhÓ l¤Ý'ť„cá˛r -Ą"ő+ĐđBńq'G 8IŢvrÉKůi±š§[vl¦Ü»DŃŇ]pˇu -y4®Ł!ťŮa -o[]Çn’)śÂp˙)@9rEďE€µSPuł;îäP°›:ŮăúÖ¬u-XčßÉBš rJ€ą¤­­Řś9®ë@P,¶”0Ç(ń0g¬Ţ…?ŤŹm6a8DÍʆ -ęč:e,oj&?ÔâşńÇđL.ݍîĹ»ŔřBÎAdWȟݾÔÁÝâ€kö< °¬ -0úů>}ô^‡C¸Ę}Y°WämCř×7m;gó‚ͨö6»DHŇ€Wö|wćhZŐť9@}ý>—ô Ú™át®[[ŕĘ‹’Ŕ -·QŁG)ŁZ˛Î»Bť›Ľd*_¸¤‰“=ôďÚúî˝ë®ÖČÚÝ16:ůľ¬şI(á°iL¦r?« ë{±Ĺô0oŹY>ůf˘($Í·×É®•6ťżŢźNű´żÖ$iŻk÷Bj 9ó¬ćüâÖ -gśŤČ -ł;ýµÔ>­Nł…ę7 Ykp~íËłč şČ°PD¬Ŕ -Ć"BËęŇ$§k´$°P5ž–ż‰9 IŐa˘ĹÝăl­4éëg­Qh®1FŃś -H®oµ+ć4éÔů^pő.íoDŢ*ňS«%¤ÉëtĘî©•›ÉaDH•R#–{vwŮV‘˝ˇ¸xŃ@?¨Š„_đß<Ç^űΰrÁ8’Ľ ’oą7ΡL´~‡ŻŔ]“!ÔŃÂ)ŁJśzpŐ)ž]\áčŽç;şH©‚K…Ę"Ňé]mhşź7Ŕ”Q;oţßD‘cpɦ¶Ľ{OŞĐ—RĐŰgŐ{Ĺ(K˙}ŁÉŽ˝±»a‚öge§ -dČNÜrRřü¨tMÇđ]÷r,¬´ÂÓë™í­m8µň”ĎF“»=e§“BXÖ -ö%Á02üŘë8ľ^ŰťTŠ·ăiŤ`…eµMp(5?Ń%”ľ†~lGäüFq"Ov„Ň”>Ń€ö7ÂXĄźr3KűM äI®h‹3?›‰ó;¶™3?%>ą‰]űČí)N¨Ë}&Ďxt2oTłGg'ź~6?§`ŃŞF¬™h¬jÚd¶ô ‹­g9lđMĽ4B°ÄRÂ{!iÚäůĺ^3ĹćÜ·Ąî&µC˙#eĐP}‰Öř -CĹO˙g˘ĐĹT„ě&‚ŁP›×L1E^ąĹŽđ8a^áśK–©R÷LęęĹ8EBěě›Éî7€S-ńý´*·«—ŕ†Őh7Îô« ŃÖ*hKĆgđÖňĄ‘k-űí…|úşş /ËÓőäń>§x,ľdĹÓ1śwˇž†¨†(ŤOŘ]üm›íJŢYG4öŚđfĆáWď•6áZv_¸ gÇR‚#wT~ÎP‹ń—Ö[ţ“=bŢlŰ"N_ˇ·űĺÓçž5°D?ßżuÓĺ_©žÉżl~ŤÖŞéÔj—@¬˘Ł>ř꫏ü!žŢ?/A-gţţĆl -Tqň -YíŤ Î"śůškn|‚KŚ‘ęÉB’‰{ÚV#źŤ±ć›5”˘Ť"p «!IVYŘÄuD"'Jqę”$ÝB$lÔ¦ż ĘÓ?Ň0´”MٵoV3@bń§żş{n ďp“˙®şŁbPŽú=0|FA@Bë^Tnűš[śŽ$[id Lq´YöŐąú?Ç­B"Ë ‹¸őđ¦®!ɡď6BH§m(ŘÎ}°ú…´ĺÔš5¸đÍcsT§~$´,Z6:QÚđÓóÇ×¶ĘŢĂ\ž™˛Dřá}Lrßp=Üż ÎBOůďŕnăłú)•«Yj/đń˙Ä—Kłý?n*…çJ“[w>Lݱ„9Żú^6,J-Ě >ŔpR¨Ŕ÷B"at&/C› Ň}ĺS-Ë9 ädY.I«¤ř!€BR»ÉAE*&hőRÁüĄ$€ž?Á‰}ű•vlôąd?} ×ÎhA˛'8óU F),5šjź‘M=¶$7 5']PkÉf¨»Zµä„~”ń)Ö˛UB{ľžZ¤ű3łuć M˙ˇ?ýŐCÉ’µšJ5ŃĆt|c±˛¨÷źoÁ±qެţ¬žôËłµ‘¶Tp%ďüjŚ­—ő=đŠ˝Á§ü®©8tK¸ŇK‘7 KÉój…rÖŚAgehT€\&đ -®SĽîqÚˇó|˙ cĘ.oěHĐú:“××Ntś›Ó[ką-TŃOů†C_d,+î˙y¸Üş{WfĘŽDý,Óü$:}Feí€ěń;.ČČV„ŹäA0HSţęúT©=˛ąZk7üökŕsđ‹™"ĄÍ )łe‡-.h]űőŰň~;żş^śvőNŮŮ| Ń_´»¨‡N&Š*ݞŁŔĚ+ŹD€żz°‹~÷ëkˇÇÇ@Ű’ţß1—âüŐjÚ•>äcÇ+Má®'5éçSŁ^%ęŢhbtĹÎúůŕ#ŃHçéÚ[%C*ęW…Şqn‡R =€Ł×cmŤüNuŢä<ź…n'ʢ^!±RWżÝĚWk*“C Ťú!I/ŘőoÖîwä÷ę2oѨôbŹ;†WžH$\,ŐQČÔKú'űóîΞý G˘šşZ'a$ &anHŰ@*IPşę]öщÜTD“ÄźĄ ţN:VsämńTĽëo7]jřŘŤ˝7]záÜ’‹ŮůŃŕúenĹ›Š¶~ýO#ĆłăÍá\ßoâל ­Öˇ^!C˘Ë0äT,Źůńô(VÄ‘03ŞzM8·˝š =?€ -§~>Ąě^G6°&?QŁäK:­wîsŕ·ßŚŻä˘ž.'±1ŇÄ1ŰLŔfƶĄ•¦ń&J™ęĹ­„Ůš\xE>Ó—ĺKŞÂ00®rݰl= ěÉşGŕIm%_ŤNÂx.Ú_|Ö$T(ĺzâ˝FN?kŢĂ—=´K.-ţę’*&¬<ĂÉ͵ťeÄbG;†Ll6ŮăsŤ=)GpĎ™Ézą›ŽÓĺÝöQÓ@Xb·7ZüJľX.*8ĎÇ@qĄ4˙abÇ„`mb”ěT9ŞúýÍą–opś7†¬Yg“-ĚşOAźâýLnŮIµćśeű ±%7ď‰H+R¤0;*’@%Łę¸íÁđŃÝ…ďizm(°d Ź˛Ú˙¶9"Oáä÷ľ+˛:˘\]Qç õH9]®I´Mť]–±Źq @ň~j…5Ö`8Ó• •ťnÖ̰*}eQ‘kxĆ4HţnČŘbE¦{#Udś‚´şÝ4ö - #ŹűĎ–tÍÉ’ćA*~ćŘ qˇĹĆ]\0:r>¸ďĺ†ú¬X%”hŔçúi¬ÚĹŰ}FZšëCí/»¤˘‡©^ľí(€lbRł—öţčÂAt–8úÝëĽÄś+F–ý Îr1şÜ'qJÍ ź149qN8 ¸˛ôj;î`3ŤËÉ[o/®Äú$ l»‚2ÎD›"HˇcÉl7{1şĆ\Q˛Ň5ž^Z7k -0ě˝3X·ßÄŢ0ř¸`*Oő1C\Çí:G˝›Órެăę8\ަax@ţšwf?_D'AéŢł÷Ć$$ˇµÓă†úˇ‹ô•¦ďʶôäń②4©_ň=›?G9O“}ÂÔë’Žşýę§™űäÉ/ŚÚ=‚ör^ţá.Łdí˝ĂD>_®”# -–T‡:íşB„=(Hk4ikÍo´ń M*Tű€ÇĆir†FŚKÍw}ÔŽ}bˇN‘băcN -5x˛8@¤A"ŇU7T:ŐľęíÜÜ}SéÂ5ĂşřgČąŇD24Ýąć±›qňoăąłĺö¤óç-2«Ď»mJ»ď"ÁŮ~(LŠ`r&­aAŚŇ˘V”^ h‡o_Š»•¬–n‰{ßÇ#€Ýp22Áý„ …ࣼŔa=ĘEq€'⛨_-jTj¶ş§5TIŞ.x˙zăŔgĐÝ kđ‚ŮôŤľNh„)߲âžç2Äs ‹¶iSKÓß̨"Ö›(>Xś’Ł]ë9•×Ď_űôŻgĄ -»3Â(7ݢ‡unüľ<_]#Ä÷˙˙  -eD4='DďΦl˛ ťŮ˘ˇçÜWß§XŔ„ě@ę -ßĎ'1›ašÉ¬?Ë©ńĺgˇŐ°¶že6Ěe“=Îư÷čOcŚM.8µŰ_¬›'áĂ‹mŞ˙-łÔY3@†gň„„˘×p-$˛ó¦Ő1‹™OÚ”sˇÖ÷ Ľ™•$đúÖ…¶¤0aˇL§?®Đł…ć Ri…BH©ß˙Vlˇçk°,J\`ĺőgĘ1Gř¦¸˛’‰sε˛aZ%ôŞÂí:űb<`†ŚŔˇ®I*Wż§‚2ĄĘ°¦vů“ŕźă'.@ú©˛Ý[¨w4¨?10"ęg?Ç<űő'3ĚS=—ŻÖćđôřĽËĎâ­ˇ`’kC“đčh’ů{ą„Klň˝OÁ2ą_ -GĐqÇhI,Tx2×P^w‹Ş€…éTôVą‘J¨cŐźm@í˙g·ŮÍě-ă Â"ř˘w rvÝöŢřcÇL~¤ ¦Äqh0E ŮÂŮęyąŢÝ•Ü{łďHWĐ´ß›}%h“‘>Ezś…Č&Đ-rXĺ^ŚćîiłNĺő”F ţçÔ€âD#{‹ó`ĆoiW_Uo·GŢă#˛‰?ľŕ»WÎtE;¸:ýšs­bôýÖ[/;©đĹ´î\ĚJ!Č>Hß<"l™mÁ9 (]wŢ? ő¶{›x°1¦ˇ±?.YŁ$”b§ŕ‚ÉkĽU뛟 ożĂóx€^u±ó4^”˛ŇDÄ4éKÉе5)ńl ôô*ő$Śkę>Îľ+vŹ<·Ű0Ľł ábĽOzďĎLĐR°ëĽqßűP¶gxdŔ é˘"ś€B´€µýKڧs‚n¬µ—ňW്Ľ.,oŚg"©ćp 4‡†¸˘’`™ˇ9RSYmmsë”P: ąoÝzEmČí†r–Y|őţ&6vŐ¬·lˇçÝ(Ëu2xŚĽ(Ĺ‘ęL3śň’()ĘŘ7ş=đ“s’ŕa0xzoüççZ÷ć‹çľI‹ŕËGň %a89íĆÉüŇÜÝÔĆ1LGjł±ĺ¤ŐI°á´–ś{Ď Úš;śý ŞŻJó:äi·ôŚxŘ:ź•!,§‡ó…ćn’IÝ&¦-tŞŔxR1ÚI »,ڧ[‚ȸ)¬Ń–Ęu–˘Ű’/ăç5âŞKó"bčán)´oŔ§IrĹhi śsFOŐâáÝ(^'żZ űȇű\Ýȸői7¤–ă{ő·K±ĹžfŚ·Yigâll&ĹXCŇăZ*ÂńŤÎř5ňá"ÂŁ«BMËĽHiŁĂâĎgßJÖ҇Ŕ0vF @^™1°ź/!Ľ¸ßŕőšÖ"xŁŮŞŚÚ®ž…­o·67€Gz®ěEÍHÂ×îř÷ˇ'Ŕašt3H?BôˆfBÇÇ­;=iő:ÄŽ1PAoC>iŤĘ¤řMĂŃo'p=~䀧Ëj×­x6hŽs–$t<Č|_v ňăÜí1¶Ł‹Ű\0Ś4 ¬ëÇu“¸Ę¤vô‘››ŕ;ŕ÷ôjŇŞ‹ĺqřËUÇá­ďTţö(Q9˝ô“=V3ĘËÂo‹¤Ůç{‰‰îěS˘yq̱oep;ÓĚ˝ŃĎÚm¦)€Ő«8 –/®a3ĘŁ` K%˘N±5oMZY ýÖĂ?˘öŽ8c–óúĹ8tWřĽD¶ëźFJ -Ütô¸Őr4+ĘÇŞŰ´‘ Ź‚ˇ2ĎŤ ÉŰr\‰¶µ:šUńnĐ ®­ş}âGąfLĚ şËą„Úy’s",#r›d¤ýT…† äi.ËôdnŢąŃ:źěţ1†L[[Ů€JÉS•çk©ŁÇG¶ßf,eÄäjĹ{´ş•Ó±Ô^Đ‘‚dĺB&"-7žŕ|N¬ß“ST¸Ä;ő=?ŮDŃr÷ŞČřÎăŻ7ů¬x‰4AŽI' ÔŠrćąüÖ0ó‘ÄŽ9ˇ­µdöăZQ.qő.oáŇ˘ŞŻ‹z$Ť§Q%g˛´Ł•­˘łćgűőÚw\rUÇ'm¨źˇĘMşHĚ*s#żĘCQ4ţĹ[řV2VukĽ’9´±ÍŠř „ŃÉt›!úv3Î’?2Ä)c˙ŚKÔÜqM¦‚‡”ßi˙ię†0Sř9áTv6zI%µ÷:ˇ¶čɸ©’V"ęě č‹ŃĄ/´OŇŚpěG]n¬_©soÄUnfQWxÖCť 39NôÖSR0”µ­eß]éśŘ{ńřźé{^çę+LU‡éîK&—*Çśp6ÚDxK˛ŐU3¬‘ťnŻf^­6Ýöwć(Ä=°Ś pśOâ€ř0$V[˝ą:݆ý4eaUew˘ĺGIŕ9#—$ańíď•&HNóígŽ’/{ eĄŰÂŇm'|%˙>ąß­É}¤ďąĂ:0_ą_)–š˝ů˘v´_ćYľemŮmʆ-U·×fĚQÖĂńÔ˘‹• *|äÔÄ  ݵ"SfH•/ŰëGq(¨„&Î'˙·ÁŽţŽ-—n -§n!ö&ű¸ľT ůwŬU¨n8é5w0U3^`Űdš˙h^( r'ÁíÉĽ0&ÉWVgPNeňwŘ"g-nIRQ›[°«Á 4E ¶tŁŕ¬/3ÝĘ[^÷ź+ĹÖ5ëu{ČóH×[Ź8Űż˘žő e1ś1ç{~ősޱ΂LQJ6űŘ7m›ÄÝ~üjnÓĺg—˛o+‚š-ÁBÖţ ÓáJ¨ÎÄ»°Ć#+|€î -ĐűßhžŔ7±Ő’ä]gWu8ÁšaíÇkÔ<ýŰę’Ŕ[vIKXäC=Đ_k -2SL¸ů+#uá0N‚添Щ´Ĺ~W€˘oŽ«šÉĽNÂäąNÁ®cŞŻń‰ĺ°–v#jPż6ÄĘ,}”ăTż4K“”Ćr¨géö&5KŔ“Ě/ŔĂ÷±üÄ÷"G9Řx`Syľź®v^“Uz„l˛Cđµ‚D 7Ŕă3ŕżÂäË -vśŘO»cN5śđJďi+ Â{ödŇ,9Y›aŘgÓő°ŚŻßkw}¤ËŤ˛ÝŐÝXŰ |cŚ©í.4řyúÄßŕŢJbśÜ9ľëŮe^öKŰélˇ`b‰Ëćs×'M٨Tp, G·ť,Ř´,ýÓ?đ&g˛Rx_Ús5\ł®\ÝöW“9dg÷ŮŮ19ő@ŁşĹš˘ łwáŃOP]lŢ©3GŃśticr™–潸Ľ -^7Áe©şMÍJC$k3îâŢV.'zŽŰXÍ9šż·ĄďB I°´Č]54Ŕď2Ëć4†ÎźFˇ%MDÝ[»É7öňéÜ… ś–VTs0اżĄl űüáő‰µőm2"I,¶V¤Jú!b–slĚ+ă?q^€żDP©Ź]Ä&[Ť;6ŽÔ¨óeíd›É˛łśţ‡–¬š0©ű/Y[ÎŘL5işő…î#0ÍrĄW\ĚîeŢŢĎĎÓbâs]¦”őČBfjg`}a'XÖK‰X ĐUË«ŹŔÁć ´µ…SĽěö¬0 mcV*âlĘÂő-¬V“aĚČ üü żű‹P“;}u(ůnń­Ľs~¨řřxĂ)=)÷ßŐmšĹű]B­šĹǬJ4÷KŰć×H‡BOÔąf‡®dĂj‘ ľ‘í†řÔR«¦k™%Ş›5ú -ÉvWě©á„Ws¨Fźô‚ęů­"Ç.7>­äFŹLxŰ•M¨xKŇ»‚ť¦°A’•+äű,ÝŽéîaMÜ,íăSĘdň8öš‰´ŻŤč·uŃB?Ëł‰ŃÓ‘ äţű۵Y‚S¸ľľÇNw¶¸žŰë–0ÔüL^YŹ -ĽDwا+#\*qLľŤÄžp=H1vNóŔż2‹O{›¨¨ö´…s‰”âYlޏľ×w$áŤY°sMÄRËŹ7Âp1ęű—bŚ,±93lbod…üf[V ”Ď3Őm#–ůe¬~^@¦˙ŕÎyö‹ä:QhŐ„Oă:ô qn.^ěśžÖ^ <®zŞŃI•śËËŚ@“{‘bFT"ćMŃśÎň©ŕź6(X•âlNG®ČX˛çŇń¨éxóš0ĆźÎ-Ç´8éŮÚ gÓúm””ËÉ!ýtm0řŞ—OŰîşQw˛!ŃĘđÄüĚŻ˘ c9kWĎ”ÜĆV8ę`”'bĹŰ$4}f( ’Ô¨‹ ¶·ź+¦gx(UG. ^yĂ8níE۵Žç›ě±f—ËjP–_dÇOVé˛äňŘô…7 ą$1îçénŚđě*Ç!”šűżŁMBa -äNĘž@8…ËL/ĄKrŤ,+Šsl—řQíčŕ›¶=şvŚďMAK”őŐ«OBCz·9¸Jşľ‡ľĚT€ ćhăÍ“ź.Ţ€ ľi5ćDI™íjňƱĚęŐ4•4TąX»×ëpwÄŻ5? -ďËÓy˘dÜžBăŽů§`{Î,ţ÷óO’ăNŞĂŞÖyc%E^Yan?°— ţGVhcYgĘď2śˇśWçÉ §o—먻ĺéđEÚŤŮwľM>bCóŃX ű*šç< -¤Lű>ďĎ -Ş}†bÉÉř¶5–O 4ܙد ŐÍ/ă<:¤:wßĐXŹťNŮ’;e·©° HkPĚ>^˝µ˙Ć”ňńăEyěŃ\1(ž5§ť0Noöěá‚S™„ ®Ýźgçľ÷óá˝ŐyÎńKÖxÁMőżwS¦©±âő; :ő6»ĄĹ -@ü·Wî“`ŐÍ|®ďű˝׳Üb" ‰Ý9ç„?˙Ź8@µÇ=ŻpęxŃŽZŠH“®-ĺm%¸J8c°‚Žde3imŞŃ‡ŤŘ!š\U@â*ŻîŘôHßĺ†NýŁŚŽ§M9wĘŁĆĺĚŮEĺś­s{ź ĂÔ¤F%®TrĐ÷.” ;eÄü»3E l!á)~{<{”¦Á<ÎpîC® xZCŮÁ‡ĚIx~Ëq3‰;üçUpXƬ4l‚…C&íü|r|r=ĺ{ó[X\„ë aŕ Q>—¸ak$L‘(× ‰Pńݵ:rçߏöjő(]Ťą\“$HQމ*CűęKMĺí\óGnčxĘHĆ,uš¶âCÓq´ß) _ĎÔý§ŢAą¸–xtR™h†mh˙h^+ýłÓdFUU…ęϲOBÍ8»„s 6śşśH¨#´ÔŹĆW×+÷š#ěŁGý?µ',čóUbýJJ:ÎÜşŹ]—"ˇÂM˝ř.B¤L{ô±Ň4.Tóm_}eđWV˝¨fh€—?_3ËŢ̹ɬUwçgiď®řUŰ<.Â,čjRţµtm*ńhÎŮaÍbT(ŕŠĎfs•5Š”¦°Uĺńc=„áP+ĺ´¤íI"x:gNş`°®şZČâiŁÉń{ä°Ń»Ń7¬Ž˝±­Őz…<ś†\ţý{1*Rđדňą,”…‘L‰Ü›ž>Dz‹łÔ\+ébŚĄ?dżŕLŹw¤ľ)>âIQ3™C.sü®X¸ś$¦xLeľÍö/DÜú÷źlÂLęíŠălą›{É#3dś˙ްӧžĚÜŇ‘4˝ä-ÂiQůŔ›~g"M„–ý˝ĂÚ§U™ĂĆurŃzm'WN§ţtÖ- 8|ĺo“­±‘fĹvC=ŰsÜß5‘gwAşá@4]€ýÁ+7űT¬“g´J:h} ż!ţQŇ‘F–Ą0—u/Ř!Ťö:¶ň†Ź8—kź_ -Ľď¸őoËş –il¦‰_Y;ĚÎdhŠO;‡µ(˛™'Yęá:vşß—ÖĐGăęŚAMF:9ÍőďŠ^$ -èsIRşqÇąľ­MLP™x*•1/«éúO˝µŰÝ™Ă&€ m,pą4ËšëFw¤˝;Dpe>RčxëůuHýťŠ`ŘŁň‡ś9°<îüŤ4îÚę*s‹ć®n2RóžčËáŢH–EĽ<°sjW/!ŤĽĘn·:řŁ"gč Xé*ÔQîą9PŮŕZő1Ň ˘aŃÁĺő‡ĚzÓśˇćGu >ągVÝ'¬™čzČ,iďA­łóz;I/ĆŞ>“›o‡Ŕ0±o^Űö,’żźN@bÎd6 ŕB$đ¤Q˙˙®©Ywó[)ëaąŠ‰c ^_ŐŁ…a[XŔÖ:§¸Jş}Ś}« žęW‰Ýr ÚjÇMbަ źżŘ‡Ř ŤB_by; -JČľŁVÂŃůúp˘_#˘XhŹ˙_m!Ę“/ďC˙FNť=*řé®Űłr` -ŞĽ=Îó7(wݦĺ™Ë}ŔV-«ríX+NŚô˝€Řşuą}-·ŤĽjË´Ëk´ŁÖYĺčň4O+ëâOŹuŤvĚŃ" äËÓiö㪪jÄ+6®=±řłőě*:Ý=éţť­†#ćÝÉđłmˇđĆ;\“_Ź`HŽś‰ ­C K—ʤh"ým~6a‹DgË…ë_fáçŕ¬ĺx1ď—ÓűžÖĺÁ#ˉpŐ°¨ői¤[z|¦8Wnúc DáŔ˙CCřÚ -7ÂűĆ‹č+ VéOĎv[ÉÉvbÜ©gi## ĺW6äkLŰŰMÂßšWE95Ѹ1 -§o^Ş{Ú„˝*ăžä ¬o递!ťY $ť=¶‰Ň žÝ»ß ţíŁéŢ•Fk-ń9Eř~·Ę€Ti‘Ö¸Ľćj+·WŐ-uĹącňÇö¶v˘P†ÄPÜOdKó)<”éÖ_(îdˇ5Îä—ű$öz; ăVB¶ÁŰŮ=…?˘Őްyě>U7Äďܦ»„ŻşżĽÇË-,/}Q¸©±×ŔĹ ę~<ą'ĂU«/<€{¨ 1őö+˙Ä`~b -čV—łwÇÁč#Ä4¬=îyDµ@ů¸i¦uoáî–Użö±ś˛©x„3Q8Q9_A8zĐĺŢž9¤áąYŞíŕë Đ«nż[»Żś‘eBŇCcČ%Í1IçĆďâüíL3đ¨Y§8Ů“kč=ÂŚŽŽE‡›`íăňÚ#ćővňÁ›aNĺ3"+"ZĆŰĎjC)2ç…NF~qp"hôyÜśŮî;Kcb]mÎݸđď†hu·~¶űÄÓÍňšť°łN,ľsëÜÔËŚÄO­Gęuâaé\8č]Ą3èă8˘ŽFŘ÷ŕŰ,¦ -抲´ňŽTÇ›¨Łş—ÎAPéuśnů!´ľëHąÂ¨6č„ŮÖľtˇšţÜÓ3.d3kŻ®1 â\i*C‹ĘY=/–,Cľ4Y§3Îą’šĺöi”¦ť -Łşžĺť+/jçé9ř*¶śpř ;?č ˘u*ćĚř óÁŇTOČľ[űg!çđçrlwŽcéüž­y–í„ -‡„*>ĚłZ»Ą >›Ť[Ë(†EĺO…}é˝s^™z•S0ľËŻŕ€‹;jä–¦TCď rR5{’pŠă»Đ¸€iĄ,Üq˘ÎĐdćěƆµf źPýÝĽaŤys -&%Ő¨L‚BÎ4‚ţŘWôyťźÉš˘=]MwK㬿čHđ'b†náŮ›‰}PĺF!#rsKG·>†yŤ_Ş5äŹI‹7ŕôa1Rذbň¶[ć|u#'±§ˇŹ˘DI˛\Ĥ»úăÁ*ÉH¸ąÂóĹ%‰­gI±vë±ĺ@ß›˙qĎzőŔšQďŐ“H+¸cxlÍđÇ<CůgxĚź„Ű»Ť˝¬ -żÝĺŃ;•Íô…¶=‘¤a;*R^Ş÷Ó)t‹ŹÄ˛RVŹŘ–D#Ŕˇä)ÂASgł˘ű¤ĐZ m“ÚteĽ™>‚9öf~µFůb𤤽ü0ľ.ç—\&9čkĹ6L’e}ččޢ7Ś~—É#o„î0µpŽx–‹O±A.AĹ[Çď <—«2t®đ‡ á=ľäQ0xݡRĂČż€ÚĽ×J§AÉAăx]Hľ}řXU¨­ŐU0\łx÷ŞĺÜţ‘Ín+źç˝ć–¤Eâ!Iţ=‡É”Đ},ˇxx‰o‚úóm…aAżđŔR+¤ /ËN8Q ČŘ v¸Ż¨'é™ĘöÚ™Áí>‘ć¸}'Ż9Ź6yÖZqb×ů÷w|^©·{PŹý˘Mg„Ć‘3m§W rźĺJ€Ź6&ĂÜ'.@»ăĂ ,ţĽÚľĂú:őj MąŢL#YŘ*WŃŽ+†k´"ăĹ•~h>—v c©q…&âŃä’.ůâ^ą> ‡ŐĐHňŽÓ:ě-d±á¶›ÚNeY/Źp3zÝoذ-ÓLž*l—Ţ˝ĐvčJÖY›o„çö±~Üf—­˝Ĺm×´.Ż'ßt+řbńđ†ËpŤ¨Ž>ąďbŕx·úÓŐŁůÇ6KíéąΠö/ آËĎO ,'SĐĄ”­6ŮÄ“ńjÖ.ťs‚°{«Ć~iEĄ‰Ĺ°ždŢ´Ţ4­fŽDb®tŹC - (]ďiŻ-ďîn‚˘[űŮ.8ţn|)ľĄ97siE@âŰëOŚ„ÜK–ŤÚő‘÷Ş'ÄЧ™>TŐ]™S(‚0^t*ž'Ĺ8ŤŤËE÷Ô55KÂN,Šö­Â[YăÇćŰ®zśi ź úíě§Ż”?::íßÜ`Ý8ÉűěBJC~31ţc®ş6ą¦˘Ö|=Őz+Dş ÝŘ€ĎSčPrbU5 ýÇďsśĘˇľíŠ1‘(ŚE šlT¶;xÇó‰ŕ-6çiI§WxQĂx€żâLú)(g˘ßakšr¶2{¬ üŢĎMů[?;ř ŽRX€ŕĎ9Ă=-©*’Ä˝Ë+9§4˝íwŽR%,ˉN±Čˇ„jY ¸çθI}<’wđă,‡ő5T1ŢßÓR •őðSU˙ý»y szWI±pĐpú˝5Ú7J{»Ő–đRú»<‰ ę+D˝fý°xcŃáľ1`á€H‘c í;¶Ş·3źX\Ľpoľú j|ŐAlj¶÷>ÇꌨĂéŐbĎńk÷«–€®×!wĎí@Ł/&±y|~#›[¶=F0ˇL}oüÝ -Ţ\ŘAăŞP‚â©ŢÍŔ1xÚăŇLĽ@"źCzç9ľ© qŘ2óŰô9îFBŞ+9ĚŞ/Ţ 6:P–'%OŚ+Řm8'×ĐĘŽ٨±i)M…ÖŠE]ĄvŚň}“őEíp«\ô źăď@ąGÂSíjó7—{h|^Ť”!źcź˛öëöÁ BÝdrCÄ0ŢʵŮ6 qëŇw~ -c}%;ź…Ö?÷‚šč #6€ˇÂ Ay¦ -ďf‰Ú˘M°WÁÓ=CÖôäPţć5Ż×ÖŐŔLlng—ďëŞřlźgDČ_Ţ3ú1·}Ő;Ł—ľZ{ű)ZĹ,Tt]ČßEvô řUíÓ‹Ű[ťUŞČQ@ŹZv‹¸8ÎŐňˇć÷ÝT™…é£蛲ŐIT膅íĎluG¤SÖŠtÂÉŕăźňÚ~űĐXbŘÂuŢěí|ÇZáŘČz»Ďß®ş ŇpúFěLD>信c±Ü±Ě·8Ň|RÔ'TĄ®Űśő/ˇCvwŃŃIŹĐ|aŇý+ßĚ #Ú˝·Ňާ˝-‡ą!JëÍ™KZěǬđú4 Ă/Úi§¦$¦@â¶‹]WÎҵuLŽú&±âÖKćQevŰĽ¬[Â_פ[†ď>éx•ĄĂš{ťWU‘ă”¶ ő1bŁŁŮ OÔ°ŘňP c÷U^/ŘşÄě ¶u$Ѩĺ÷Ţ GŁŃwGfÜůJwƧ$zéuą˘qÂ.äÓ{Üź%­<ő™´0ŇFMˇŠX1™…ď@ßsz±¬´ŚÉ̉ă6’m4Y×±LŇëw`^…몒uŕ oЧč«ćÁMĘŠĆŘĄKzWó%“ţ¤b©mßUxĺt˙»Ű'@´Ŕ#Ç-×»Ô:ąČń•Ŕßuw>yĺÉ㼠XT(’"•L#b1ďŠÍtąŐćęˇüŇZ!ęŽŐş‰,ab×%Ä­DBH[FZüăŁ'2 w‘GĽ}D$7Ý´ŘWIL96h@Ňô¤3î©ÂîGëČ&ç+=ň{,X„”¦­BŻÇŚ›ńďę5c* łşJ& Ńčoµ÷űŇť u@îúIX/ËőčP©ˇÁ ´Á .$P;€íĺ8-ÇiS|%ż42šTÝĺ#@VN»Ţ‡ňn5dątŤŰ”mM¶Š&\^’qfĘ•âŮb٬Čű qk($.Ó -Şy_?Đöw(źĂŠKÝż™»D‘Ĺ^Éç´Ĺľ? ÓB3)ÚE—‘‰¦8°Ăď Ö.Ť#)ńś=ůy/ŞtŇúÉe®Áł–†ŕÚFzWś’\ ©wp¦|–őń¸™ţŮĄ.źx)ćŰ0ë9Ŕ^Фl§ŠCŘú•î‚(Zčżű–°Ď±ç®4ˇ=c$“˛ľ%gÓ 1D›ŤI÷ŇĚ6Ĺó©·˙ÓF:&˙Ş\ň°÷«UŞ®C™;PŘ÷,óS°ź2ŃÎŘşďZÔH0Ń«:€LDRľK¦ü‹©»}c›;ŐsÍQ2ĹĹú¦7Ô´hܢ4µĺ®ÔnĂcp7¶čЬFµ“ŇBő-i|řű~ˇĹűĘNuSě _#‹LYžPD7ż@>\?·:Ż·\*)´Ĺ‹q¨FŃîb‚-…Ř;Ϣď7hý]2ŰM\j>óŞËkul«ęJ·iÜ_Ő’j¶Ş -íą±Â®I§l‚ĺ=G‚'”Ű;aÓKnS>?IÖćť3÷kP­uă4ŞŔzş{őŇ-<®˝É%ÁźgëÝs×ĐüŃŠ_¦1_×qqP‘žŚĂÜ)˘<¤i,Ý_AŘ µ”[*Y´ÚkĎvqżwőľň@{yĄpŻ ŽFIůŃ|+d¦ş/ąÉ[ëÇ“Ž ßúŃéG‰­Łî.“ŘŇËzJ×»q·}ĐÔ-O3\˛\MÎo]ă/÷^×ÜüËŤ±€šXI‚F)ňP)Vą%¬őd÷@´‡¸ř«âYG•f Éß/÷F˛Ş5_ć‡×Źććę5®«Dů6;zx’ -‚…šţA ± í“^©sť„ż`úJ¦Ż» Vsł“§|f4ŃŻ" »(pu5A‹…á3–» u)Ć7q©›n)š0Ý´]5|Ą@®'pĐŢmŞ5S d|Ôžá0÷¶Fů+ôpçĘĘň‘ëg­ÉS3Âv…ć©I‘¬ĆŢvXš ŚńŽE´”&ë&aČI[”Mu˙•ęu3ůđ˛_B -2Ů ;śŚPńŞ6ľçË)EĆűTUC0Z™U yBEW2Ü!ÄxmPý©ČŮw´7Ťm,7 ő•L\ďććŁřk®r`P8Bű.šUź -X×ÝEĚV_«KŁN§\é—JĆňô±kóhž‚ÝßLELôƸ]/OA¸jű -ĺŠ,W6g 5`žÂv9—LM:XăżáóYöu€ąŢ:ţ&Ö5v€ÂűFř7Á4‹K˝NŽłÍń¤v˝ĺbüř7^6×˝"Ź/kwŰ|÷Ă—¶:Űéř/mŞYöB•±ď÷ÓQ‚ă|{†aë%=C9¬Ň+Ü}_?C(ť îUÓčJ›SÖD­A»±R=—ĽÍÝŠ‘Í+ź fÉĹřőÁd01đVąż4Ą”¬´WĹYˇ Ú4°rĂm¶|¦Őµľ!Iî(v-^ĺâ@P†úG0ß0-łľö¶,Á&ńDTa6âóŻOČJ-V¶gĆBRŽ2ÉÝ8ž’ZVS¸ľg,ź PIĂAfÝéˇÚôfʞ~Řz˘¸sMWZź*sĹ© KÖ—zçô'g…Ś J+jA®ȤZh©Ćß‹ă eh Ó—ŁIÚFP€´˛µ›ÇJësł´ -CŮŢb?łéÇ´ß2˛TÎŻĂč|,e‹.ú6®aët á2NĽѱ¸i„ĐŽ_u¦d@“?í¸çť†tŐ=}Ë«UĽ5íp“˝j2ŠŽ -X¶Cĺ†Tâ€wp|ť™Ł ÉŮAŃô×sFÂ`čÇuź»{IÓ… }‡{+÷fĐaŇOůR@ą†ŃUŤŹ‚ŔĐ`‰®uŽ7ŇĎ^ĄhU\“´biblA¨/g=\“ #´d0ĐĄâ!şs˙ŃyĆ"řb?ĂÖz)ăz*¶Ż ł„ĎĹo‘=ă`~gb5¨ áT™ϰ‰˛‹ć‡#çG$$DaÓS¤ŮÂŔĹoÍ6xÜ nyKułyÍxć;3 şŁâśZúxâţw–©üţž®Ć ,ßÜNJ5ăw” ¬s­IbżÎ"°‡‚ˇ˝ýí\î`&+űÍf#›‡fC»$é¦ä‚Č愨E9łÇ¨öËŠKáŰGh9ő~'f¤‘ËĂůľč[˘á’%NfĎ•„;ĘzK¤1੧.ěuÁ/±D–!„O}˙7Á‹F„ŹÁ=Ç -ßůé,uµ.»$pé”8ź·É¬ÝK›Ucŕ\(ž=(§†üô–Šü,N“q¶řŞh ĘÇĂyă·Ęˇ˝H¸ˇ -ŇÇ?>"o°D^ÂŤ´}ÂŤ!uCmm?7T({%Ę.7Q‚:ču*ŁI'Ĺ5ĄÎâ„®ÝŰK4—’ čuŕ-•ˇíÂĎ˝"śr×aiC­ĂéÍ?öśÝ2 ĺßőş–!™jHUN MĄŢ0=ľ‘¤’‡»X‘…÷­„ĆľMëîĎhÎFĎ\ŢyJ-¨W—Ȩ`0ŻŻ•bÓ‚Y4»Y’ŇçKfěB#Jz‹fű±‰űV9Öĺmäµ7ŕn>•ĆfĐő=Ísy ş‡$Vë@g‘x4”܉çLĆ ŚÓ»„’@WGúi˛~!™×pżŽęŠÎÇ©—µCL >x ,XÖQÔŕ®Ů [ţl´8ű˝CŔ‹ʼnl&sĄ¬9“iťźoú/®~«Eˇ N+űvhL<ŃďŮ«nÉ5Đ–îi€‚ż™8ö'¬‡ŕ -×Kέݵľěű™¶%VŢň?n!č•FÍF÷‡ĂćďČ„¸Ż{íPîo;&Wćvqüyââµ/|µO°Ńhöj\—ÚĎę6y¬„ܱ ßA˛Hś\nÚűÍEÇ8Ů6{/žŢ^Tb´­!Ł»;|k‘94HqŃĂYc“¨ŻbĐ„ŹârĽI‡ ÷ż˘ÜŰ~XeSgú0ď×»m[©âţŰCš‰×U… 0Í”kyjÎ֛Ȁ=NljuJëÓţáH×k]mĂ’(ĺ§ľóש­?éŤŮ+‡-™„pôT«·ěĺ Áဠڵ,"*ÝN“‹đ­ŹÉY^mL˛˘#¶#Ş uyEôŃŽţţ -zt7ř—Ľkm‡ŔźĆH†PežŤ‰ťÜăă déß´Ź­8–Z yXč -ŇD'4îBÂl?”`mäťŔzjŰÄf$UŽŠJé/í­ě®&Yk­_H‰yé(ŕ ¸C*c¨VSůr-FHĄ2kA¬ltWnAďçl­iťňćźAXŁMg#±.i%ákĚ×Ć–ŁđKgBÂuŐ/óÂ\ÔŇä¬ýŔR·¬ĆąŤT×ÄRB›9jZŮËŠTńÝ×1~Ga^!Í1é›Ŕ=ÓđĽ .ËĹ­˙żł8Řd`fŇýç?Ą°ú´Č±[†Ńf!:„;ĺ˘Ôµiď˘vg˙ऑR 7–Ü‹÷pŕąG`9»­4K¦Ă%t¶~ńő/NÓýN2óëPnŃ2¤Ć=®Z{/q",ú¶B^U>úQ0şv°Ä\P=ü¶˛Óą6š’Ű‘ůCHµČ\ÎnŢAz-™éD–®Š&őKM§gŽÖˇPpŘßîJ”‹µâéŹI±ÇŤ† -›DďÍĄő$ńĚš¨6_!®ő|Aé'wzY×8śîŔ‰Ć_‡Ĺâź§­ĺöţ˙Ú¬PĂu‘¸Ž9+~Ş*TD‚ÁÓ!Ęď˛ý(éŽK˛ůä‘§ -PźďhÖµ· „ie™łp5é[7!Čđ˛­y Iß1Nc4´×čażřÔ‰sUCROi 4ë{ײČ~ě[xX7D -]Á•2B{_;ťy»ÂoH:ô%éî·2­«Ř.CÖ÷2&9Ý©–~g;ě@ČW xŕşk r‰©†ź5¦·ť,·;ň‘-z -챜nsꤽk§é‹«ś „Y˙"Ťaişňók"w—äޢ-,°üŹ9ËŃ‚ŠTBOßŕ'ÎEƬłâ”Čü -dŇ{_jň»®Ó†*ÇÖ]ş˘teJů¦ ›ëcÔץć=í>›XׄE)÷¦÷ŤLÉť0ÓŢ™ ä| .-M,ó2% oCۦÓŕŢ-Ŕľ“x\a,/A©"»žáŻĂŞM=hć‘ő0¬•b:“aMö&L˛,#éÔ8'/ŢÁĄq. žPVŔk€nëĆć‚ÜPîĘ!÷N ‘ROńz8ż§µ\sĆ_ŽoźĆbőGsjZ[(ýÄz6™ő€!ň`jî^-`1uxđ]ţ•gp”é}R¶ň?Z‘ÖąS ężÖnŠB“] °ŞôI™Ú®m~„×qR®Éś»:&&ôÂpŃöjoíĎt•ź3ҨMkUä:]xÇ.r|®—¶Ź±űŤ:Ńw°rJ -í”ĐÂěźôç›pKy°V{¨M}Á%@Ő­eÚâv= =ß»1íŁ‘ÂŽ-S¶Ë$ń}Ag».ËsŁ^ńJň:pSH˘đbo0…Ô†vŔ‰>ë©COIgűŞŮML˛XŠL5,’;7P·ŢEýźăž6ßD@[]Ç‚1!BśVsjm°/ďď$ÝôŕŞÉ@r•eě»P‡ĺ,©Hí`Ü\űÝâÇhűýö|őmLťűą4jşÍűś;Ǧ‡©‹•¤>V„:2čai ző˘“]Ęź¨ĂĆcHCǧÄ6áőP-Pë¸ü怼śűD"řéŠríXF‰2…WŞ~ንż§Ős ľş`:č®pďoK 1d™Lű;GÍ®gťň‹ýÉ*Š˙”ň9ŇĐ đg˙Ń‚˝>hJ· w˛¤zĐܲŽEŇa?/(Ą¬Oă†k‹ŘFnŇ[Ŕs‡ ;>ÂT3-ŤÎ˙YĂQĄ8G‰ňúż7ŘýT’ŤĎ dďŃ>šdĄäÔW>ţ%Ôĺ‡ü¬ůyŕ5źčo!M:l0’qZ‰Z7¤ť¶ŚB?ű'ąyďj‡~Ň#Ż$dC’ąë -Ä`ě«ÄŰĐL9`&ˇ˘W~jݤ"™ € ¦Ż\°(*ZDÍVHň!]ó¤gš3 á߆!·˘ľŘňLü˝řGÖjs±wÇR©…Ý=ůlz?^OÄŻW2ÉXJ’çű¶% ĂK&÷M^97a÷|ůçGµđ/Ů0´Ť2Ě.C[ßgĎýŮhĹT–Á˝€«Źj2ɉŮ؆#Ĺ -fśÂ;p<čɤ 2ź—Ć3űóâXHCst9ĚÂł»×/K!„Ď©KßŮ~_‹AUZA˘$cŔ`Ŕ­Ď5f[©–Ë®÷~9‡i»SűŠĆ|¸ŔÇÂÉř0–Ż"Üo®ął•MGۆ×*ú3ź°çĎ1q{śNĄŇÝĐśq…Ł:ç&Ä1řľ'ő]űw[°¶ŹŤUŇYéŇĐš5Ö¨ĄhŽ×Ymą÷ˇŻôś«AřB…źBŁđŃۉHĂŘ»…ˬŃBë—Řo"˝‰´ĎŐT´tăđjm=?.Ě_ĎAϲ;Ů\#üěĎ3`afó“×-÷U̱q­|¶„MéďeŢÜ >űźđůä¬ů_‚ěăŘé‰Űë ýJ-µ,wâ[˝zV#¶ZuBTÎ*0ópÎLauKd Â0;ÍćNŘŁ¤u€_±ďˇ0°P‹D‡y¬'G;‚µ2ŢŤžĺâ™Mî¦q‚Ą5P®©@Ěž’,H(öv'2|Ň üsjĄćŤťÔDĽČ<Ôp†b8ęÁě5)HÜĆ)jŽş”…ě, Ą±!JX¦,5Ě#ď‚ăÔřw(ÉOŰ\;‘ - -*©4fPĽöMŻ”;F~ĘDcDú~j<1Ž"ŔеDđJĂśG®> -I¸6ڇZ0ß]O_ł[#OrÚ -ąVŮŞ‘ňv둊\˛¦s˙˝@çőŘËŰh˘ŔaG‹ď f¦é÷ץ/űâ«6Üď”íj††> -ńÖ-•MâY<±I­óč>ď§Í˝VJÖş«Ž™¶ÄëŐV«aG“žT9‘ ĐsÚéÖ—„WxŰâ8ť[bÂ㆑l°©0,Á3ţŐcÔ“Ąeš -˝Ű†Lă$±Đr·_]ç±Ĺľ\îNZŢá&=M]VĹ=4:'lx5…Ér‹uȵäĘHQĘuŇ—Áxśź+ V±& đ©T˝d şoy”NłžÇe°XrH:´"ŃÍú‚&PŹ"˛`wĚ[¤ř)Ľę8 -9©X‚† QŤé®xQ›ß ţ´CÜ8®ko*ă 7H±ĘđÎO_Á°]B/×G\`•Q;îp±7G49”•Č=Y“[<”re¶-ă׋.îŇŹ˝†,®v¸=mŚ$É#âÓ7Kď•ì`ě×L?‡b=ç˝Î>¶mn¦<<] ¦:"©$?„EĎPçőđ˙rä]¨Ävń–˝>¨E”±Cµú¬!V7•c"·DŻ®žîOމ'$d3”\H–›­˙Ę!Ö®HÔ’ťNŤĐČĐQ•®nAŘâd*°ä3>0 UŤýč>n;vĆK˘ÔMŃn†¸†=/ŔJ˝đ~¨gÎʆ|31ˇ˛É §yBˇđíBÓ8™©trň”|GĎźm¨µ^tWČ>ŠÎ+k—a¦Ľ˛~g¤ycŇč0\ÁGÉxŔó—[.m©šxđń˙85U0vŠ2îƆóðGÉúcvOŠS|›3ĂŤŠ=0Т<˝!ş«Ô˝ěŞőm©8¬›n»:4~żĚkˇ'hÉä"V8µ=r#¦YĽńÚĆčHŔÉĎyÓ/*yŁ”OÁ ŕ¦éQ|̵ík0#[óIĽ 5Ň•üî.×dQÝăJrłá®ŠĚ d‚Fž™4ĎŁôJŕ §X›ĹÝjÍ[ŤíĐŢbĎf§€Ŕĺ—c&-*¸<µብĐř®Žáűޑ͕ĘÓu 7˘˙kF‡ÍS«ů"Ýľ -Š·DUB—ąDć13”®Ô!:±‡RôRSw¬ÝÁăä‰0ÍĘöOTĎŔSn§­ë ¨”'»%Öď}XwvęŮ zą5ť›“ŽźpGoމŠu“óĂž‘xeU[~YôĐ¦Ş”†ó*Ń‚p˙{‰ő)ţÜčöÁś^Hß´‡~óˇrĆŤ¤@`\·`w±6¤qu×ú°Çţ­ňFš4«š®ţďL~ŻJ(ŮĆtvÔŢ×XDT׸$„ßëچçYó;9Řđ0®>4-ý˙Âe^­'0?NAíhęĆ€öľW᩾ӑŕnĽ¦Ą3מ’nąź¶áŰ=ÓŢÉ3‚‰Ôüdä—IË?ç+¶•"ÉHo«öSáÜś.šáXĂż:%•ĚŃm2?F?ôBćxgŃM™Fo˝‰"aóĎy_6v©ĽKg˝ţ¶9(§Łs÷(yńŽîéI(áú±n ě9ýŽnš ëÝ‘Çĺé×ęÖe\x.ݦ­$Ä™u.-ݍvTôĚŘŮ™Fş˙'Ü=čęńäÚhie#RĐ™ńO=÷VfĘ*(W% DzT|S¤_Î`iŚu€oęšA }:Ňŕ'ĺü•ľŮ%ůŠÔzPŞ1ŢúĆ$•َ86ľĄ‡;h~» 4˝-Čű€Ż/˙éşzô’ČźŘ@÷wy6‰RiF‡ŻZčěîfbÝxŻPtěAFđna”Şčä‡X Xžf9ó|'ßČŻąDÇg*7&.ČĽ°˝`ŠÔŕ,H™źĘŢc„Hź“YÓŮlW2őóWďC˝$ł)#¦*+SxšÍ7śˇ†>@FAá¶)Ř@hń˝év—Ť¤ áҽպ~‰¦GTŃW‹·Eűĺ‘]¸Ö‘=¦®yg?Âs—FrÔőţwĺŻ1GÚç’ąp Š™-ą<eä^â h;_~¦Ęă¶ŞRů…ůŻ%‡fč°ßNiĂ&´ţ Ó§ý˛ĐĂAĘw*ó®ÝőďúPő cö‡ŚŃ[Űu—${Gޡx_ŤwŽmĂ˙ - Źs‰ŐĹ7Ů×Ü~p}ÄĚ8şx•úá'éůŠć•Ř…°¨,°÷ť+ńVyg‘ä7$ĚTjQůăć‡hâ…ňŰĺAAŹl]®pKÇěÔ”pôäÇ]oŮ„8–9' ŐšČŮó'ѧJ˘i¶đä×et&Đn¦D7ß#›#Ç‚YŔřÔŃÂ'ěÖ®˝+™ŕ'±¦Vf©ř»|đ–I}:ő_ęĄŇ†Z\X8^hPO%PŃ#ń±·ťÜٶŽýnöžşŠ„7Ě(‘Z3•h•… -ž9tÚ.$ž3”*‘Gü3+čŮ´#ŤxG­>,žÍý§ţş®ÎşóÎßŰYÄĚÇ5ŞĄÂd&Ş·^« Ü8Ś×CSiŽ©ě -€‚{zë<]ę8¸źgŽo„Ţx4pßtÓŐrL\×Ý‚ź9ňĄ,ÇFź,÷Ú•ř“,mížNŻ–šŁTÍ7KˇĹ}WÄ"DyÝň ‡ćó~rx -w«auv§cűqřjž»…1ß‘ç+&¶ôÚci+&¬8 UŁę­ŇÖ -Ö°+|) äł R„€9VŢáí.öŰfŤ@;hA{s(ý®Ä»*«˝ź/›™n)n -ę'ߎ}ĘUä{”ó&YÚd.áĐJň ]iö¨‡ë 6ţöOÍú´‡(đŞL6&3swöÝGkń(ÓškUú?ňjFz7Ęâ‘6jÝ÷.şa@°bm(iáÚĹ3’V…˘ôM¦ęť–bźŐ"é Í–ľł|QYw¶H&%_#úúŘÚsPŁ®\v›Ó˛-ĆkÍzáý?NKRA‹:1wďFTĄ˝?–MHś7®úOé´ĺ()Ňń ×*ţ'úĄ7µ=D"Swlľ čǵl¨Xťł0`ćvěY§m*ňźŮ™Ëůä'ě­őË-,Ďo8;ćň[îűŻčÁg×ć|KkýćkŻćŤ{ÍŘctІ–ś~ PŢřß‹ůJ(Ć­zS”ľ”¨XŇZăÇ|t€WµÇ٨^ÚÎ'ś.ávµŃg÷NŚ˝ńj¬ˇĂ*Ů•ô]—`łföőŃbu c2!WjEDL™™ĘŰUO ŕ?Őý@„…ç˘pȲŤ7í(ÂO=KÖuŤuEŃ ĚhuÄ€ëJý“Űzpn›gÚ.=nčî<Źí`ö»˝5}ëWę® Z*Ť’}®łů^Ň-ÆŏŮľ8Ťáľó´8Ąă3ľ]—x–ş`ŢŕŘë:şT ·ě“0GěĹ*D/îí2á÷ľaY}VĂG‚™űâ¬öŠPîÓpÇJćÝř"]|ŔK,SŰXOPşfîđôóMć©N•® cekZ ŽÝŁ7Á,–’HúRřĺNjŹá7"ŽW f˙&5@pma’Ď86×čł^§ ř’šęp_Ä`ůťź0÷ ٷk4üúdQÄťÔIDŽĆ)ŇĘw0JöźĘŤ í*tĺż0Ü Ë>hTŢzF}ĄÜ»Lúí…Ľz…*.+%ů*Čťaé2Ą;ĚőmÔĚ>2Š&›N€\mÁܓϩɺGŠi,i@8ž•á…1V‘ö–‰ŞËÚ?\N®óĽî>ţ $a€-(‹ Ž=Ör5:âpE…«ŰŇ‚ž^PĂ^ńXł"Y6ßÚ’˛Ů±ßŰ)g`˛·ú»Ć)âČŁ°#9IŚČťSúŮ|ËiitĂő °ÝŢ?= ¨­Cż„GýĎĺĺóehIٱÇD˛€A•ÂŤl>…ż¦o1Î˙sÓ¨cüňGˇ«Gk{WP®YĽ }Ő´¬ ľé ÔsIę=î=4#Sgˇ[ĽŽ5ΙuŤ} -›·ŰRÚF}(nÇ»Řh„&ăşŘM _Ą?w=¦†T-Śú ж…ÇH9źôŘŚŮę0îˇc4÷!Š:5›ăir"=-ŢĽtejń™pv|) ÍÁĽˇ¨<ř”ť(űő'Âëő •8FňÝGĺ·¨/]uC¬—«˙]»OŤyÖj?dÄ ćăŽFK)B±´ÂL°feĺÚ -uÔfńÚeuÔšÚ—3v˝°§A;Íyě#mzĹuÖP‡š‰Űon‹’ąÁ_=É ôĽMEpÍĽegşP±ś 3p€áó KSŕŰŰźŐů&°v$'?F Zˇ˝ŰUYĽ°¸'ynißľŔ©,^vňbÎăC¶,rŘ­ŞRÚźCŔ˝ŽÜťĘ;(Đś:⪸knŠĎÓÂçńkLŚď$x˘ĂÎő`ÔÄrVÖch´ľ6Äđ ŢëbVĺRÂĹ3¬ľ[ý7š‘4‘9>Şü‚Ž”Ĺ`öĎ>×AĎ;zÓ|ź¶»ŤŠ±ˇŃąĄßĺg" ‰¶hÂŔ´ěşŮÚ= -cÎŤ˘ŁŕPAô{Šű´Ô6Ő#™őú'‰5é6±<ö0ű¨¨÷ ĆřrĺřfT§GômR@ywüÇÝ3 Ş -fŔŹŔęž ťPŠíÍ˙¤É󧮍7ŰÍŕř^ŔMô.čN¤%oŬA:fňđ¶3‰SüĆúse™¦& G­á‡D%sFÓÖĄ,$”9óJŮITŮ,©ěÄÔ~InÜN]ŚlůR;[ç,) –D·n,ţC0 ţ­Ď”«5®’ůź»^Út¨ĹĚ×vď¤őgµ™´dďŻm‘Ő™•ţE ýűĺ6®Ç$Ř0óďŚ^]:öéąÚwp>˘^l\i±çkuÝę†(<›9&HÉ~Ď.UHX•1v‘@Č©ńh€ORÖě+Ş¶ŻŤĚňK¦<8Şfý+<íépKôh×鉫Kńčg4.Ŕ¦®ÚJ›ŐĘ\Ć@ď;ęG%\=Ôą2-Şn"ÁżÓč‹¶ďČ{ö’€Rńíg“ÖŮY@÷Á–BŻw­f -ĽüŔP˘™M@ ÍŮűď‹őd:˙AAŢäҧŞçáüL··BŻÍľÓ •GŁ‘&é~y·ý&¨aëČoľXČŤtPNM’¤Ľäy<˝íš»AÓ= x~sQăk2€3ÄŠ— —ĺbuÓŞY47±‚ähĽR´U4|Ř=ű6dryZ=é(“ů™±w‘9z‰LT,„×—6ďvě}žaüX÷b|ŤěQ+e¬+D2–>*µh­wśi~š3M§ä©éČ˙ęp§ZĆëđ˝\¦i˘¦Nt¬RĺÝfĐga6ëa:Ď;w%s–ö;)čxąíŁ"śY,‡}»ń Ö°ő4°ĐťńC_váúPAĄ{!.¬™ůađĘĺ[wűĄ,_u‰ń_fVý­«Ť!ąS7ÉJ˛­ź(füÂ8[ç‘@ĺ5·Ó8‘ v4ó(%d{Şq¦/>Ż"Í—Źo¶0W$Ő“őbÎudy3ĺ¨JIźËę2[/"iX7„9ć”Űđv Ů:áę•n Ł}˝ÚV˝5~cĄË—ŘQ?N¸˝@¬ŘŃć÷0înśrW›ÂżŇ!€Ćπܶu˝‘BáŠÚîjĄd§zĺsôú¦(>AÎ$§]7iT},ŽăĽ5ŕĺŰ>žçř‡öŘŁ8,Í3µ¸µ~2™Ü˛7ď54:…rqúö©úą€Ç. ćĐ=™M豚Z”¨ËEó›wĄ5 ݦb'ňoĆá˙ˇ[w02ůńâ6îTÉ—¦¤žu|ÎňŐK*Ú°Cl¦«réQTĐÓצH1—e|ňWá±ë«d|%E!2ąý>!®˙dJ~A{–}ž?8ôóĹ{—±¬rë¬ĺJˇ~ŕ¨H_ßÜWeŢ&łíŻy‰Ďx‰äK8Ä2ęwř(®˘dâ˙^5ţ‰ŁÜ – -6Ň=%ŰčôWüÖšĐluţ$+` –đg›Ě0ŚÔlhě´‰*~=K„çu ůCăˇkłÎŞ)'íăÄK -ÄîL4­´i đçq9ÓYę±JI¸‹úŹ@mę_Űa/ncľcč eQöř>WžĄEŰş+ŞŇü(ŇŤiéu…ňE˘ŢMg^"ű¨ ý%j‰’wGBvżąB ]÷ľ„ś(č!Ś9F•ĐâÚ._”: Łśřś(ÎËË“Ô9ŞŘärĽcJ5žž–ß.Ü*MřĘG5Cíiő7$a®2l¸ą1ĘáGŇßƢý Fé`¨ ŃŚDRyâXĂh—jő‚]BŁ~oŽE?»Ăäô­ôÇ·7ľ†źĽô1Ź]HÓ¨ÝˇĘ }IZÝćeň0`ŔŰ 4j§ĺ¦Ä•řľÁWŹ…Š|o«©Ây -ă·µk¨¤Ď]ES?ĽęÄo ±˙Î%Äţu+úś“Ęëűš|đV$]źH~Ą——6^ŁIî9ćřˇŰđŻ˘#ÓÝ= żÜŃ}Ď=ó˝-ę‰)šŞŐ‚…üůB)Fcž^4«˘Ć+,ň÷öşô™…čÎ$tO—É l¦Ă…·'‹rAX Řű(mń-\›¬*Ç.„Ľ†«ÍČü^Żđu^‹!¬G8˙Ś3ąN´Ůöł\‘yÝ›˛!íUzłÜałK!‹¦Yťl,r>9ÄüVąş†ą‚ö$"ŘçR±as˝, a$í§©ě ßYۮȍ -`ŽŐż.ł#HŰYBZđË‚ąŇÉŕ•s)3ĄöqEŻ×_eÉđá4䪽•4gâz_PŢMůâÜz 13-ď.ŚĎ%Lĺ'üäă¸Qmľ53?\~Ŕ›=i-8ŚŃ·Út?,ÓĎ”Vý.ţA60Źřzâ'Š[vß[,đÉF‡,Špk@jć“™AÍ–¶eŇśrŐŽóUľAź´xB_Q·\(Ú1[°đég¤]‰aŮ_Ň8UĽ˝Ú Ôŕ‰VÚDßÍ´çއZŽíĺ.t¶ÖLÇl F4°Ű)ŻŮ§<¦?"­Ć8 -)1˛Ď7•P!ů>Ö65g™|•ëwŐ¶ŕ`řľĹXč˘č˛ÖT|Dą&ć5S‰}ýłł¤X —:… ­VĽ†>ŔČ »!-µŇÉňłş h|Ωi.©ű=>ďH~3ů†0î·­"űŠ,şíҨ ¦ÍřŃhŠ8WćJrá»IUĽÖí?ł]¬{,Âçhüú]÷ĺňm™ßXa|7E´´ŁRş˝ŽŁŻz2áyCů)ŤFbW%RĎŐ0§RçAĆ.żT2`Řqây˝D"Yh§Sč,ÄÇ ÄIřŮ\y ?ľ4Ü|b -4ĺÄWŕńLŕV9&ÖĂÝ;ŚB=JźŤD­śřĺF{ ě,›Íq@Oś†FÉŞŁ4âc̢zĘY”Óć¸äA¸vpn¦¦˝Cˇî0Żoˇqë]ŘM]6Űîqż2µţÁĹöAgŢ3ŘÓŘô^ÇÜKrśg›7ŮÔżž?^ÜŠ­LGúŞ‹‰4aÎŹŃă·K‘kÇ‚4ţ$°ŮĹo 5Ľ7şß0µ®łw•N„SF "3ťlĚ R”ĘńN%«ţ“‹ÝŹťuέŹČ‘uäţnGEĂę©˝ąO’™NÇ‘§Um5z·`ł$áúř–v~8S˝0%Ůëĺú&)˝‘Ś gwWUvqµMŇ‘tě×çűůyë;ąő|ź“›µg_»˛¨1ű˙®kV%ęmÔ0Ď!-–))5ć:/ůTÍ>^L¬·¤úźs `#@¶Qćţč»¶W[¤ĺĽÉůŮ1°A`S†E«¬žž«¨á» ~Wä’€'F1ôŃHµđZ˝"·ĆÎ?˝/”€ -‰/^uB[ÖÚ’+Ë$l˝úîŤŇ´Öé¬H†Ú“» …ó’)’ж r\˘5Ż[´ĆÄMřYoÇG˛ÍŐż -ç©IČąÂ]:ëJvd˘­%”U8“NyĚ§ąą  üĺ@ŁDWĎĐIzŃÇä‘ő??u¦fÓ ˝yÄŐ°üjâşN,.ćém7 *öęí$6žmu{B٦S žKç=ýÜ!>“ŞáO@/Bf1¬'ŃŻżÁ= ŠŤq`Ż0ąů@dößp“¤ ÁzÖ–6vÎĐ>ŕ öÎxĎ*zdµĄ{{ł1˝kăČ;Nô6‡7„Ď•ĎYË -‰’FÂĺčy«śĺf‰äob…B)vš˙wB’şUü -Ó‚ŠíaLòԾ#¤ [żľš ĆzÍËâÎĚ|»ňŽÜ0O©O×6şÔZČxSâu}ĽúG fUÖ=ňW-&ś˛ěg‡9ČíÂď©~Ó˙@ćĎJ¬'SŚxßeŃČ=dN·űDĺöăŇDtşă© đńt@˘P‰Ö¸“YĘ,}cüqćč6ţ,ÝüIߤJ.×gŁ*^bÔ>”}ÔçâäÓ˙Ë–G†ďCťđÔzŢ&†HöJĂGUlDą2ż2Í2ĎżăŮgô­|—€~ČóGŇĹW˝3ŁWĎço#ŹJ<ü1 J˸x¬ĆŻ©«ßÚeĎĎ;=4ěIĄ.(‹â éG଩+~k ĄZFĂOťé<Č-3ţpÜíŤVś:ľŠ$ V3˝ť)ąÜô}ä>㴱ލÄn˛őB u›čסXd¬>©'ľßNĄmZu&Üë`Ĺ<±ä†Ä×üí+˛¬w€2‡!qĘŕŹgâ+g?[+´Pű´¦Ż–Ş ^qĎ6bŤ±GP”đC9śSţ™ďÁZ;Ť˝x“şŃ¶i ŹÇ¶Ą) 7đąfŢ<J×îY7öŻ• 4ă¨mMf±č«ú 1ť1|ŃŽŞĆń¸y·ţ/+Ą ‘" ęTók7·eÉ›HŠţጊÄ!D?ÖcFˇ8 µ>@«mÁčJę -1’“Đ·–:ŕ/HA•¤é ZĐâŚtf%uš'FJF(!Lą&©sh壟 U»]°yĹMPT˝kz!ĄBë¸\Ý!›dŔîI~$PsD_ Ă):[~:–:đô˛3łňGiKŻÁŤd“›D­¶JůKýůťQ8#Q+aÚÄúąd,_¸ş°G-bMÎ=˝$ßJŐFŁYËp jLŚ€ü)nĎR‘0ĺĆO°5.b˙kvQĎ[xsÉç˝m+!멽ÊË>Âą%Eȵ86˙…ß řŢźŮ\‹·áY(ş<ę¤ ʰŰfČĆ1°c´šă<’+ˇ tŐ”Č_ľęŠîĄGaúŔľÚ"tU‹zţ%pöíŰ’…ĺhś‹fŔÁůęH×#˘`V2t@ży¶&Ţjvußő §{žÝ\Dż­.ŐăžnV'¨ź”é˝n÷ ;kÓ|MQĆ2÷îÔć"JĽ<Ś(ăZP`]#¬šÂYZ±Ńk€üµa`ě^¬\´Ř"ÂY­j`ôD:«A/˙›äRŠ^đFÇ‘Ű|uZ}őź8ľč©8Ó6¤`߬rҲ¨C–Î5e°\Ĺż*hVÖ­&­—ťLá'úÖ×HůŢŹ©eĄLrSK“ŕ[p»p#Lt×UÉţ‘ÖáÁ†z·„Ŕ,rŮű}8;zCĆÖ{ŮŐdýĺ©”HŮŕ´č˙Č¤ŚŁNCS­“˙’‡ŘQ ęŕÚó+hĘɇş~®P”"m?CjÄę&<>Ţ´nńüŽ)“ČŚůhŤ†ŢÚë–ŠÚ™Ž -|ßżą`Ŕ0Ş“¦ýuě· 9ž,×`sPF ÖLťĎťb{ň|kí©!űÉĎr]ÔĄp;ĂŹ@ŽayşČ]T>o4[źÔ&vs'ŰgłbkNF 4źÝłk{-eÓ5U(ľ?«›°ŢJ,f˘q_şAJ`'%Y3^ä§B°Ěsrłřqd4$IÔ›´-Ă»˛„Ç/ ť_ĐŮ=µ ţoŞMn"Dźt‹Ëül8ŕ_ʎ¨˝ě“WÔoH9É>>ź*y¦|ÔHól\xb+ě ű©«=VÎC}şQ~ů-ď´HÚ!IűŽđjshaüŞđĂ^6ßZÁš+؆á#2Q2š¤!ő+đnů§H“Ł .ýZ\ť˝|˘> x`O~ Şđ×?l‚>†GrHŻó={ůĆĽŔ0Ľ˘y»kS[uťtŮ1LL9­ŰnűĺDÍ‚”\Ět=ä}A1Y&{čÓ »ŇWÁ“ľŹšĄlć.4,ĺux„*.ř™-vEŢÜŁő´ťŹLSú47ą ˘«iľ|ć—ÇjظřëŻöa˙Ô1”óŢÍmĚţ˙”>ŁöęS~t‘r¶ G €5@Ş«ËAwVĘŰ”ŕ^~ŞPOőu%7Í*dkf~ś$zО+"§ŽŠÂn®«¬b{Úšyŕš©Ą[ůF§űý8á ARâO]Ľ-rů?]žŔď5QÔÜĄç· ô”ÍžA€$śU+Y ׆ĄŃr‰„'Şa=ĺ)jńhV\Ů&d‡xš×yˇ Áq§ĄŘĐ3XaDzöÍŔ»G¤ôÎcsŹu@ęÍ‘qÎŕgŵ¨”hŁŢťg DDpÚ­tÎJÍs×ý’¦č hîäO@ŕů ĹĹ,}hÜ˙m©Ąň柌dĹĎňA Ź©&žĎëłË&+Jô×µŔČčč%‰–جş …©'Šđv|R´#ÜŰDo×|,`üˇťźIJ - תę€ógýqn>·lčÖĂr‘ (Ţq’wY"Fs9ßS)Ţ#Ű$­J°źv±µ–śĆ@#;U#Ŕ‹ú‹µˇŹH‡€EÍŞĆ÷GŻŹćl ťNÜA$GÇku Cń28laă?(‰‡Ę[CíŔľä˙0ů´T"×'‘ߤ~Ě“útÂąâ˝® ú.s“[¬W-Ó_!–b®ń’.ö÷tĐNÜĽ{5rÎł5‘¦„=d“•5eG|ź?µ&H aĂĎůĄ4,ŤPoşSá¨GĹŇ–Ł$¸Ç€ŔđsŇßEbëÖ¶)&”!LÎĺmré÷µ†Gi*­©-“ŕb)8﫵ÉBsb¦˘I$Çh_Ib6^˙µ¸ë›iÔRŃČ«pá Ž3L˝§ü1ß[”öŮKŐ6gÂ#Ç?«ÁÚ«˙Ř×#mAŰĽµś´íů>kDTĹ-r†Đ[‡ě+îćő -ŁRdJa»đłq¦ůXÇ(ŤđšŐŚ…Fţ \NjŇ!ä7ŔŐ©î§WźŘJCF¨'“uď“ç¶ŰšµŹ÷ ±"¬hň˝ęEhű›#LŞŤ‹°’ň6y·đ¤:i©)ĽÚf‚C>Ë~ěÚ=˝H Ĺ(ŮĹĽwÁ$tŞTję6Ăče´éő—2¨Teţľ’ť|kú«R˝%)ć@Ip{[ŚÄ2Ťnť´h¦žŽF?ŽżO“ -óżß7Ús•aŰŞł[<¤Ž9H¬As§‰Ń{%śľőA¤VŻúK÷a¸’€7;-čč”´©M¦I?Ź˝{zđUĂiČŇül\ “ŢáëÜë^]ÁŇ3¤=^獮¬ąuŰŃÖ¬Ő p›jţΕmůÍË&l14ŢšÄÇŤOůŢf±'bFĚXúVÖZ2’§j[ďeg/sg”U ĄŰ°…„ď:©Žężp†¶éŃŇ=ÎQŘíá˝/…rmĚśäYҬ4!r‘w‚Ő\f9×·YŻ›(o<şĘĚą=Ź˙ÓLß -7 5uaoÜw)âYž”¶ü^Ô‡ÔĺFi‰ě€gł˙Ť Ť[ ňĂéľ‚´óˇ¤Oşhů(LďҤŔu*é“´0¦ó¤%~˝>5’UH­€L(,€dX5¸sĄQQÔÖ2ó7–GReűÓĺ 9ŠźdţIĎKĂŻTv2fŮŠT…«yĽ™Ö^˝ňˇQüŹÉRÖ˛<žÚ$ K/ĐĂ=‘ńh€°P^m– µyľăBíů˙7=jUŞĐPXSOÇ‹üdL ´zÚ.»¶Y2¬´-#?µn+Çň*ˇ®O‰h!‘B÷Ďó˝ţDůKĽ5RJRQBh1íd~§Ńâ%Í ď3tRňŰëd˛”Äůĺ,Č™ý%^˙ľ°ő/‡{K˙ -éÁÚrđ}0f » Ż­+ÂĐ>»ÁŇ€ç Ŕdýá Đ”¬ëŐ>ä°Ż:Ĺ©!Ů÷Ą4OY6iYÎń—v#ި¸×d!“šĹů>l9«Ž1´h…ĘćŃŤíRŹâ»ąbyó“kdŮž ĎÎřŢüżmřV'č™ôŔđś“ Ýç&lU{#bßŕĘ>ź…TĆUéíßo; Ľw°$Üé č.¤X{č đ397őńŚöš ©Â‹ŹśÚRŢsľăăMr“¨jűĐÖČx:7˛WQa–FĐĚŔľî*Ät/}L’é'lm=ÂéH´ő Sí* ťo®ŻŻ'ßväŮE٧žń#;†ĆçTÚŮqśËěŰňB'Ł‹HŰčRă U<-˘š.˝¨Ě¤ąxCjöFV˘\íň -ă´Ę•›E!×ao™DJ% \†óŔgÖŐÓ&âő DäI†ńĚ‘T.ڧöĺĹwbŚx´Zč:9A›Śâfm"uČ»T#é>­ÎÔ *Ý*0I"ŐI:`hôq6{›šÉHňtú˝ GXý8 ,ŃęK{ŮY®Ňbaő, ć î(3o ŁĐĂĽ‡Ć -<ěť7DŁťŞüł ˇśdvwóÂ?}:öcřó¨ -I-á¤TüÜĚĐ+¤‹Ţ8Ť”d>kŢ3fçóOű5-·íĆGĆEăW _úkG-9"Ä⤕`cË´}KsĐčäl¸YłWĹ6Î,đă ńN–Ó0¶ăgkµtKÝűÖ„ćsć߀vÇžSPľ'}V¸ŰôöCńÚŃ ô}°ˇ6Äęםď%íÄĽ $ţt+ěľÓńą Ƈ ÓúꮄďĚPŮŻµ~¬ÓűŞ©B~—›üZju0ân$fO2ŕm:$48áQ5 I8hXħS< Nż«Î`,­mąX.a+¤BSÄŚ)98zÓq/fŇęą~X÷|HδĹY&«zŻĆX.Ů«ź5$U¦űŚvîŽ,BYŘéš„†óÔ®¸ źöÁ“Ą] ÁŃÖ+ü];Źo.{„[©WÓ+ŢŤ›Ů[Rź:ŞôF‘xŠÚvAďţ×·ŚŕQm‰Î_OĆda&–Žjw‡?—¤]#֦rçíkˇz…0^ËÚJĆ-Ř«9©?S&!ę×ÄŃĽ'Ś8m}&®ĽU˛V€Ů#={AJţÜ+t)4FFľç,xÁjZPĂţe6 j1ŔĄžŔ€¶$Ěéţé­‹•÷ë9µ4ôűěó0¦Źf{ v.Őr1ůÉĘĂçJ -(KĎ–îáúköp˝ÎŇ)–É<y1\`¸Ľ„ţ”Ó‡±Ń ZŔZF„‚“hÚu;äŹ<‚tĹ»qú|¨ÍŽ~sö†Żě dŚ_ŠÁhŚ÷;áQ[hZÄ“Ź/oČ oߍťŞŘ":ÉŢë·łt]ΚŢ“µĺŔ‚Í#`˝OµµWűşŠŻ7\sÖ–cţ…ŕŹĆpŐZއú…éÜ€E:łWűöÖŽÓoÁiö­Hć(±‚čtâĚcéń|Í‹}éŽëŤ •ßs<šÎůf5^‹ß3ŰŁŮ?ĺ×éÖsľ1DÝCţ+;DÍĹo—häŘqĽź0 Ŕ9čJĂHÜ -‰Ĺ!ÁunřK›$pŠĎ<8ć¨i2řVĹXˇ€ôÄŞÍ -ţcýáó0ç>4¤udů˛EŃ»p©Ă™˛ŠŹîĽBYuoßv¤č;ä­ń¤U©[4Ő,_&(ɇR"ë\uć>ŁÔcâw˛­‰ ŇýĂg*şvÚ[¶„÷¶š}>z%ś l>P öýďµ$QL80rĐsŠĄÍ\łßÖIÉó/áýzˇTă%ăÎFWá¨Hz¤ĂŐhDÔŕ}zŽ Ż]\ţGéíµÔš¨Šá€ď°ť˙ĘÍ_cŇč+ÜĘŠš)?ç0ÝÉŮBxµYÔ×^Ǧ=ß ©Š -‹™·HÎ;Ŕsďóě?ÔI+ń𝊮îć€ö–ő$ŕ­řĽ€aőx8ľŞ˛}nŢÜjGĽÉš†f=pŞXZ>s†9›ĺ 7ŕYŠPĄĆpö‘SřŘtłKŁĚ®±ZJ ŐŘk‰Î2ÁwŘUÓý80_J;2 đÓčpeOŐăýľ·í<­Ď˛wŽd+řžŹĎř(+ľ`A2|†m#ó'§Áŕ":]˙…Ýpëk4řzĽ8/9‰›¤…ߪӮżô?a'Ż™V?EĂJł_R•ëáŔuQQŚhđ”ő÷őçU[)Ŕ ű9˘'¬ň.UwqŇĐ,K'ńŤŘÎł ‘‘őD)„YńQţzÔq"‡¸÷wö”/7Lx›Rý‡‰Kű·ČĂ´ž‚nN·!ŹâţÍ‘˘X-x·šp..^^T)6Ś0ŇbÜÚ5ÝP-Wpę RQ÷mĄ ¦óüâöř˛]\ýĂ·u*‰NWSc¶.kďÖF›ń}“®ýą_CH ;rTžçżďiđ(jľC’Ee=í&ťFŘâzÂőëbÁ¨»˙śs9Áľ~Na|á;Ü!ľŽŃĂrÔ˛–$N‚ŽäuáÔ°ˇŕزł´ł«{ -®+4j ąÎʨh`oP°M?qT!ę÷‰ě=5$Źd„~í±uhaf¦´ÇŃOv˝›PZăËŃč [óx=Ţ©6E˘B1 2ŃE !€ń˝9ŤĘ^Íę«ţęcËŹ™ÄfăŽs<«‘řĆ{qČ­=ę\߉TpIĚ]~îČXâ®Uî łůÖ\ZšĐĎąBÚ‹9á÷ZYQ‹Ž¦¶$ĽŘŮ®L=Ň#ÉĹ,ŃgŹ7%î€ó3Ó0Äě7l$ęJĺüľ¬é¸k3ăT†Tl‡/©¦E©¦ÔŁÍ˙ÎĽ¨%öŔ¬\P—(˘Ž˝+),é)e;)‡vźŕ·)gěüÝߪö`ČÍSFćŃ’šsŘ‚é0éps+ŮrčáĹ~cI©<ŇŤîxĺ/…®†xŁ»hú|·|Ľ&wş~.ĂHÝá/ÜŁŹąş)]ŻĄŢd])ÍÁŐwĂ…SÁń’kCű–¶ zö‰.;ĘÎ# •=Ń.މ•ÔRŢOžY@"ô?w›ĂÄ!Ç«µŘ\2H×+Äw¦Ü .˛~q5h1‹ě¬ŽQVöÎĽaąŇ/>ÂC¬TwŇgŰŃËŕoťŠ&f5M dělÂî/fŃşxO›y¶(ců ˇýp·ÚIt”Ëy•2čeü\O[ţľcť$MŃŰ)”äĐ­jÍZ˙ĹŘńrJü§ą4a;;ę·ŁiČ‘K^jŔHá¦'0c˛Ęᦪ”ľµR†ą÷*ltĽ’oxä|úÄt÷K!ULĎŠŹ˛†}Áę?úz„˛6n2z€´(78Ĺ])[?ʬ….‚iA“h(XnőŠZŔ©Ź<ń/KţűÂZ”~ŇąĄđ°Â±->ŢH[ŕU™7y&Oë•(@?‘&?Łm–?žŞĐă:%łi˘çńĹÇJ\7 -MJиD]jĆK´”îa {rEčC Ő6tą¦*Źý_áÎ|łWµd @1M‡ l°D k{0^Ő»‰Tb¬up0Ół9żÍ”ź*±ď˙ B>ůĽ:ÁGŤ Ú?¨×›đŞľS, -K™…łáí@˛˛¶"‹‚|r’ůVGöWÄećô‘¨G÷® đá” 'Őňd9G0+¶ۤ˛eD} bEľ«XÍ -·3ŠŤşLî\YěT›‹ŁXCËIŮŐ*W—óBx“eS7LŘČ˙Ô°sO{4G—_"’üşşv׿‰ĹäGü-—ä×°PÚÄ®°ĆK’:Á]`ĄľĂ4ź‰â°“~a*uGâ.q68ÎĺN™ž˛% •«bdĂĽGĂn9,Ů=l0`\Ó€Á«¶éq•ŐpÄëť¶9§:Ě]·Ťţ—Ú°ů™Ó‰NX¨ęˇ„Ç •›#U#,!°g™k!Ůđż¶ç'J†rV*m`QM†*‹ĺ@ť‡"ýä|YAkţA˝48ý;ńšrŚÓ/µYâ?•† ÷‚xlNŁxčK°śĎPîŔČň/+5цľ[†˝Â3PoovŹs·™|­ /M3D@ťMÜ8ŃnCe¬Ć–¨/’#unôá™w§şď#uůŽ€lÝZ¸ĽÉĆ„` ôá¬YĐÇ“(ü“L4śfnOJřH ř†÷óŮä®(Sü$=|•ˇ ác0ĐśrăLjĚĆó67OMZýŇńNÜwť+Ř‚ŔMä—ŹÂÜKpŃ+  µ ť:ÁB pé˛ďiñ+Y÷ßJ¸i»ÁÝaQ]0“¸~—Őřĺ”fŐ›@űüÜ]É÷.©4לľŞtóŇřĺýŰŹîŕ]c‡Aj´“Ä5ű­ńäč5udź€I#ĄËĄ¤ř;n»[Ňx™gĽŔiEĹjĺ†ĂäNf‡űQvĽź:1© (˝ˇ\üĚŐ"|ϧŮh!"_§ ¶ÜjÝHIž—Ő:ô ób3źŹ2®ˇÜľŁąKX»ś´–6·4¨TÓňB?d-.<‚Ĺ•Á‘^Đ·«“÷mgŃŘ4Í{<<Ĺ!şŐ:ůä•@ŕ»ifß[]ć’Ŕ׳…‡XiN’ľi föĹ_j•Đ…Úć §`7§ťďBŮŤö$nto™5BÜćĘca±JúˇqôŤóa«Ďúß ˘e:nk§ĽŚU0¤X“ _¦g_Ş7É©oiDR?˝o¤K…C łś],Ďů'—DZčD IΠpż[uř ‚$Kă˛=µC!Żotš!˘H]|™ď±‚/Łŕ%dŠxüé%ókÇxi®Ă÷#榄Őyş ¸-n! -7ŕ˛Řľ«ŕŠŤőä}ecc7äYńo/?Îî;H°ŐÂÁlćr$~rʉBßKMsC…nŠĘ ůĆşz[®®Íëű`8Â}1•rxë#D[ĐR+wöÍ™ź÷Ňm-tt÷WŹi‘ü«%d;ťkM_'v˙ź8_,Ś70¶ŔŐ>$îű•ŢÚĄTZ޸HŁso5!at„g°:ńÁjG­Ň¨6´rhµĹUč%Ńs=÷XÝ€ŕFz/­Úţ!ÝYüÄÇ×Nétj8K•h„ŇŔke%qŮÉ\L‹u©˙F…Ů[!=a7ňŮ™†€Ô/Bŕß©$hŚV?¦®ä Iv^r•x›ë‰a•>˝TëzšÖ:fAoeRĘýüůžě#ď/`KŔýîP{N2­lÄĂQ«ă:Š©ľX %щ:ăDxŠíýě<Ööň&f—­ đžQđíDY¦Í’ÝĺÎńłŚ2qĂúĺ,ˇë.:$ĽłŕÚyu˛`ŞwäĽ[ĐO5©=¶*öŹL7ůŇÔĄ›«-őL˙µď~Ëf#N¦aCɉéśî˝Ú Ô^Hĺ8grĎŚ)ΖGSÎjK±EŽJ‡±OźÓĺÉ·â#.ý»×]U­ >9™ŕÄ9ď6«Š&Z•Ë _›ůĽŻŽÉřY.!¬a0XíÇqěývoK""ĺ/»NeRJ=R7÷kµ(–:ú[]{¦•ŽŞ¬‹řĚAĺÉť\TźŐŮśű‡lžş…;öK,ţ@tí—ěŮŞéJŢĆ‘t “JšŚřä+@‚ěk*§ ΫE˛BrĚ߯ië6>p$„9Rő$ăAŔńęAŘVÚRú‰<4đůćâů,×Ňţô“ŻN<ŠŮz°ęý (€ýgeţ7]˘Ę r‘‡íÍ’ŰÄý»ÓeşE?˘Űhm€­‡tîós·čŹBA‰—Mł:K74»ęë(Ľt©OǨ_N);Ď} 0Ź‘]ý”L0üÁ8[Ą°.Ě{$Ś:B?§đ2ÉŹAi -–Ye+->Ů&›ç¸Ç•â\4Äřu‹r4kŽŞµxďŤú€-Űz)/{Kh$Fs?ăůăŕGT —&Ę˝ĹY­Ĺ°s:¶\•DÂFڤ˛Ë<$U]cŠhä:‚ž‡0ř‚v·ľ,GuYÖáAřž.ďd辍1e0[Ý­KŁÁĹíé-+‰śĐ%˝Ý• Ć„ŔfĘ}¶GąYq@nv `'AMwĚŹP-MÖÖ°BűéKĎůO ´ˇ"L‹VĄF>%·UŐzGŁČÚɨS»_ń¨źRrăĎ:˙0·8 -‘á“×B Ż«đš#8 µŻm(&†ćŠPr˝Ö%Çfhmi)őë:żÁެq—réJm™Ą˙Ű›ő Ůď€zq?,)Ťł4µ?çĐJg©#5vŻó:˝ëĽáŮöăIźŘŔ8ío«3rč\‰]ä‘OO]89ŘÍłďę :ŕüb[?zIR”ŁâďYűihřôÉŇ }ł‰k©'ĽŻ˙m•¶">GŮĆ.ţ Ź}íWńďůą•j¨‰‹čW„‹ĚŤ¬s/ś)™bŻ"|™čf­NÔnşťčTd(8e%ĄŃ÷+^·¬¶ň= -Ö>đ"č!ݱěżćĂȢE]ăĎXĆŢÎ] ź1Ń„~Ü śmÂ"nŚÇ¶ţ[RăϠʤ¨Ąá.^ËŐ7Š›wý`aĽ6'›v -|Î&ęö»ć>łřqs;ş2Č0b×fÉăĆů,Š -z¬˝łnäféřD2ĹMÍąm¬ź@ÍsF—É{Á5]8ä_‘v©IośŔCP:¤ä(t¶ˇJ“´Ša°ťß}€@j qÚ™)ÜŠÍF2> Óf= _ůś´űţmWG—,†Čײ3}yDą–Ë=*Eµ…Śô;­ˇ-C’lłť˘¬óBép5-{[ÜýŤÍRľHuĆ$âĘ+eXRu4,šđ[ZgÖ˝6ŇÄĐhúÄĘóňf˝9g]cî0ş–Y„Ť*äxśT3iA‰™»6&_{ńÄJĂxÍč4ĄíÍÚ¶ŢS°–ŰÉcÄeäÉţdpź‰N$׌01çÔśâ€<5ź€cµG]4ŕśŘ˦˝b1—ŮNä1âë€ĺÄ:ăfôÄ´ôÝŽ‚· ‡Ëväú±ś+ď˛í}śM§ěg˘‚ŁJj@Ósµv,ë×U^ʇ)šxă\Î}»Ń"BźFĽ/R‚ -¨:‡z´ř\s2BŹźąó¸_Tćżçťíź=[UFE#X~ďť6µŻ7ž¶ dÄżÎÎ+;4–,łwYMw"î®bç~PÓÉqdˇA‰Đ–€‰ÍŇyř¸pˇLČDę @ }qŕĺ‹x~ć»t1f¬˛ŃTdăčĂ3ÜLć•–#á\n_Ą×ş¶mĘ›Tg,ź2ô¤&Ęśe°2AcüëŘĚ× ęź#ufŠ›Ô1däF˙¨Ĺ˘”¦|1€É™ľ^Óş=gűÁMkUřbžŚ Q”Žs^ź&ŢLr҂̄« t Ól-™Ýžî}üő»Ç[‰…©|Št돷á©|#Q O č'y-|•˝`|[*Vłě»đ»fUĚY6ĘĆ‘×îT¬0ѧĂâÎŕ¤9ŃŠt"®:6™äćp÷ź;ÖËüŽ»Ró6î}ˇây?ŠvŇb#_5V)đ6vň‰§ćYyor‰˛yĘZt)ť!3 -ńäféżĂĺz;U^'»t}ÓDďj‹C -ÉŮÉ­CE™ăę;ů¨ŕzD±¦$IsvĐUpt¶$!‰ :Nó,™&gčékŞ„H»Ű‹Tţé°˝ iÓlŁé÷¤!0†»ÎlҶ+~˙żgĆkeđ/¬_l+Z釼 -ßc¶zĄî gf-ňŔ­zňIj9µ2ĎP#Úî2\ó](óĹI»‡$BEV™EŠÖŤ–Ć „Káú`Zb­çîIŔĄłZą 0UŃôß?işˇýî‘ŮM*ßS«€u{ - ę¬{Ç×ßďĹ:b0AĐD_ŤJ ź_çKôµÚŘĂ€ů*^˛¸AE -?dU:´ĘŰć2żW± (5ş^s I»Fűdí‘1Páň$É#·z1+ ë<±Ĺol*ĽÔÉÜŁ#$â(Ѣ=ç  ÷;3H°¸ş˘Šjg»÷RďÁE$1ů?Ó/”ČŁaśN=Ę’Áť`UP×Q·{†™w$›-şńSë'żCX4”‘Ď‘űâÓ2ÚE^uÔł'™6˘Ś…?oĘ' ĚÚŹÁÚ˛-¤{R—/ń§é/ŐÝfüśíćĚe4 S„]Jß©+ngđí´¤oBËĂ>ąĄţ‰`pZîQ0·1“eÁ‘Í_ˇBĎ˝ŤµÜî,ŰFK;ŮÉ’{@î`ÔĄJ\2M -X(BňmeŃ˝ě\P2lEâQhćÝJ`ËĎŇľhµÇ GĆľĐwŻÜt, ż’7–éeh:ť-®±ŕ:í&ˇ'd;Źf@¸l˙kITa †_aHBÇ‚ ÷Ť´±ő˙˙´™L}(ˇłÄ~ęŠnŇŇó >¬Ďn_joXŠŢ1ĺ$xÉ`˘Ő%Ź ˙ÜĚjŞđ¨““Ö$ę—3?ćłĚA đq[nŘš7Ŕ3)_K–t8Đ3ëęשtµĄÄŹe»ĽŔskP+LÝM°§đťŢÓśŮóűÖ6Ůş\®€!—GĘäşXŤ·ćľ .ꇆ "-j°sFSłž3VĄđ\Ü˝i5beĂßÓSjLř@JÔ U{g'ý°›–bË@ĄŽĎݦŐŇxqĎĆşçí“B ą[áAićU˘ž)4”Yŕ˛>íůĹŢŔB–LŰl¬ř?JýI슓Źĺ€ž0/ ` Hp ÝOÚOT!îôvŰöĺ ®—BŠf^¨ ę8¶uXŹĚë,+ÉYYŐâěŹ}ŘÉ$Ân~YgŃZĹăŇkźBŽšiŕĘhńÇiS`…L~¬CĆÖO°­ }2´G™I)bČiO¬Ş`Ýś”˘ňeĹČzę°ó«iöE“X슨úä"YŰfŽ– d*y^÷c0Ľ™#;ô·§#_üĐá :üRYöĄ"ŘĚGÁőónĂ:Ďj†Ô÷Hćdks3şË;5v‰~ź†NČŘzř©– -Tě ůŇ©KôÉ2Ěp2őřrşöŰ#±Ü# Ďíe±8 WJ ĎĽ—ă罍m6v˘'ä % ŮÄ+iąĂA•_"ÜĐĘStź°0¨ĺů= y J™ăž2Âĺv¦C‘¸â’¸@âAPôMłÍe“^Ŕ6(aą7B¨Ăó -g{蔸DyÝ`ÍŔĄ!EŰŘÂďȮЫ¬oµĂaLęËh~ü ݤcB^¦P•Ąŕ$Ó ÖnFx©ś%¨R‘h»Ëg±Ť;qŘn¤Ďî]č«{b{*ąô5J»Ń,U8[w¨Ňc/sÓÝmwňÖŁ-uÝúô;_!‰$}3Š7SŔÔÇîi>sľÁ'Î] dLĺDšUŃ@á±VOĆŹđP¶:ҢąžŻb,ǡ—ţÝr$ľţţUżľe»VZ?ďę„F‹MíňäAIC‡ńÚűE©¬'čźěÎ ¸şYG=MŹźű3>­îŇšPˇ‹űK-OÇŘBo`5TT+A2ŢČ KL*¤ßUÁĐÔ'GáŞV=Gxç­:mV¬Ž_$ý´±8lĹ đȉ¶¤ŞkQîyf*„ŮËÜ«áUUčW„ˇůÓnÉ[2ä6éUN†˙u>ďT4Ęk˛ĘV †ľÖł -˛ňm -1_lyGeţ‰č˝a¤m zÂ=ÄöUÔMÜŰ[olŇ|JWđc„°ISĘ'ĹKŃ-“Ň€sľÖIÜ{0»ĺŤ˝a5 \ŢhG^ž0ür$˘ćU'ض­—‰óÝj.~EŮ(–˘3®¶Ř|±Â,;ňxuĘO ó´Ôţ­%Í7îŽk˙\ß6F˙iť/,yĎ4 Ūíf@5'ŃŹĆjá˙ľ(G3şnűŞrS†,Čg‰c ´ń1đeçDçŕsŔÄY8v+Cĺ‹í%·Zf wł­ćë)ę"dýÇNÝENwE0¸Ăě żě¶˘óęu?±ő—ĺő[MXäf!YŘĽ -°1‚ýĄj)+vJ2“ŻĂâÓËřYŻXOŐ­Ű®”Ţ _G,¶\„«Ť&ň[÷D&‘/  -N_uyĽ·Ĺib Ҧ¦Oi| ‰ŕ_€7VÍvđĆÄŹVĘňŻx(IyÎ Ť4ĚŢF*üFž,Mĺ ŁîőrRß‹źúÉá?ä¸Çš&ąĽqA"Č6(¦¦|C—tČJgZ¤Ż\l /IňM1AU§cµ~R×Ůž?”ť<!±Ędµ0úíXv-ŕ†CÚ[±¬±˝ТkšńŔuäE9‘ő4 ŠG4>:a*ŢC‹ďc¤ä'2Čţćm$¤” z[yÎÂxi  ür}M˙˙qu[2ř:É}n5í®XAĄäŃ&“ ä¬ŻśČ©ŤŤhŔb«¨lcrÄ?¸=(¨´Óďł±óë+ŽĚÓ+1lD¸XxŘĚÁ.°uş ‡Ď#Ą†§ümIl×ÓĐ–Űl9©„Ééüm¬ fÚĎŮęp–}źşf¦âÇIßL·Ů%COŰ*‡ˇę9ˇ†©‹_?!ÍÉPtßwµ…sQ°ŠŕÖ‡®1lŢ&>ŃĄ"*Y»KĎ8©%ŹS ęˇ@M ĽÍäĚ„b†7¬Účź'ďł@â+¸ÓV«Űé÷&6~ţ^öűń -Oné“RśŻŚźš‘ÇNAş]­í—«$ÂÎ4*KyjăxY“6ČXOń6§L¦WĘíTçjSCôM? 2wZčą°ť˝ąIzýBm¤—µĐ˙UŢÂŔ3¬v°éD§Ł^ć˙N-î¦ČzŁ c]´:Mʨ=E…Q#4eżSěŤ ÔÁ.LmŹ=W”İĐ˙Fô8€» 4y{0XŐßeĐMĺ±(M55%š˛"KřRaťĺŘM‘Ç4^~ Ş}Ť ˝?/ą%Ńq$Í*f/`/íâÁ€’YěG*SćY§v:7ĺipÎ_°˛öOűrk/ň·ÝVÝ…ŚSˇú#ăjó„8{Uľć¬Ňńô8t|ĐcPgX¤Ś©f¨]Ëî-ýęîe˛8|31ľ#ĄÜžt0lݧĘ|t-óý—7ŕ»O‡qnŐŕĄHo6o6#ŔMčß̱ý~Đ#»ôAËM\¬5ˇŔ%ő0&äŇÍ\?M,—ľ=ŮMŇXÖőĐ]ůÖ&?Š|Q?oŞŇ~ţµF›äňTZ×ÔšË8ňž\ťůÝő};żŮŠoĘŤ©§Q,Qű&°¨8˙ě_€’nEÜń{ä^ ?PÔ‚¸Ń÷mY ˛éagyef˘•{LŮČŔó¬ć(׸×Rm©˙R§$uŞË‹ç–hŚXh:%CŁ.V6wIş“xď·1J™łŐ…˙2\ ž¶Ţ7©ä”˝ŮgH?lq‘žEjŢ˙ßügFÝ2čö!3şŮ-Vľ]mĄ´nBx*ś«Ř7°Ď‹…â˘ůą@i`­O š÷őâ ĺ·(}äşö9G8vŮ0*ŇHÔĆĎ*2€k]Xů`™QđOF芯ćpkÂÔš>HşĚńn­µ ŘÝţŽhZĤnS.ýaIó‚âŚÄ±‚e'Ş}‚uBZ#~y°ŽAŹhB«ńyßúŐ«Î{€Ő5ŠXBŐ‹#ç“aŐ’âiµq‡ü”„Šndť&ö›`™Ąx Hďθ8ŐŰĺ¨4đ#ÎŔŹ)7Śsb.ěĺ'2JŠ&ćěĚ3ÇS­Áë —I56;“Ŕ0˛ÍźŚ0Öˇ›`LvPM\OöŘńyv'DÇxdĎ­aed’S”D9 \_ÉçŘ÷ĺŮĎvtĐÚÍ%|žh4†ÉéóČ;čm¨ČťĐ»Ł[OůµgçĄuOąĚl*»ŘĽxŲ̈́¨i¬2Ěâr86f?ÚĚČËÉî‘w{Óź“F(°L_TŕkHÜytM«ŹXCëcµţ‡9Ň뻟îpĆiěŢźXVúVýb/Ţéa4ن;ŹÂE_/ÎKÁ‹xÚkos*Ćmýžč~ Îś:k§$ű|ŹŻ”íGę®YÝĺµÁ0h}ll›É§Ź ěRšŐúĐ¶Š”$‡Č.M†“뙋ă*ŇűąfO\kCë< [˝´âţÉ›–˘Šaŕ‹Âĺ -Ř[DN2OލŻ×ł]ţ¸ęŃuLľN … ß—yKć<žŔ’Űßčś“|‰źZđ@™¨5™ä­ŔB­ŐřĎC«Í…pôP«Ź}L™ŐÜPË‹ ~Ł=0“xn`ÓtÎ0ĐŚöĄ,"áR fđ“ŐĎ Ě4q¸‹dżôŇ’Ěś cŢgË턎,"sŮ« ěb$ŰaD92Ź“fďiŰAž;hÁŔ¬gu27ş~5…Ź^ÝĎĚ[U5Čż JŃ·A5OŞ Ň MN¨ łM·:Ef™‰öŚ˘–+ÂK`€ -ęEšxÂŇ.um™+‘KsđĚăW98TŞy}á*đ†°Ř"ÍB=ÇdtM˝zĆ8hŢňošĺ”Ä€‹¨d&gšÎ[‹žě/nä8ÄćľĐmđ1ÓÖĽZ$›—M\ŔlŻÜ” đËR°ńŃ‹Y(HÍđË›:ôVývŐž-@ůy(óĚÝżż…4|a>vRĎĺÝ0ě ~!Ë`4Ń–VRĽë­bĹ)˘“m„ÝŁAöNx¸éYĹô˛i:]iťf¤`u0mádZÇzÍÜk\6_± Qb4>«$FłÁ©~žůM†#Ö¬˘‹vQ$-ŰęőÚIĚâtańŻÂHFVH$VČ›EŘ®ĄwQŚ'n Şď.B±Ęî÷)ÇKĘŻ@]é—úˇś[ńŘÉz@™š¨ˇŹd'áśë ĺwę©<Ä,ŰŹbţÝÜĂ_€{s.+$“žFGIޏseeÝŕĽ)ĚĄ¤ĽÜćüęé[S±ş1y VTçÖf†ěÔ•ť9.—†Â|qŚN—§EX/˝îŃ<+Ô÷HeÂĽ‡˘ÝPi­ÇL€.4®7 ·ĺĹguz`3ŚŮůČRgţb&`56¶s,:ż[˘ŇF4FW(÷„ ęă\DęIu¸{ę -ŔőUŽŢXßűÚj€Îđ4çöMŹ·¨>°áGqř&ŻgŰ+»ŤIŚa ˇqRľI»›YžçÖa)cÓ$ö±ü¶‘Ĺ€ -iĺśh«š‚2ŕ% ?&pŞ­UoU${ÁYďݶ#EŔ©­ă 9Ť<ż2v^Ó Ď .ťëEŁä¬­×t‚ĆŇB¨ -Tljît×Č“z uąčá^ŐâńŔ]†ť°]™¸Ć‡grěÍá L-†řŤ[ďřÁ +vˇÜn˙ď—A77ő4?(ńäkňî‘NźyĆżó§źří…ĽÁŮ…ÁŤMsZľ6§ÉvÎmßqÉ<§ÝŮ®”BŃc@yZBSqbB¨ą.°T vúZަn†µ™źz:nËl -8 äĎ„rf ŁfI%bn§­Ů™¨HŤ+T˙Şđ·łďĂS·gĄsJČB~ ěčĽÉÚĘGý›´mĺ§5°š%Fć”]âCŘŔČ´|őĐC™¬¬€­(űü˝˘îKńĄ÷ůť^Źi÷ #=,e9’{‹† qýN| źŠäöĘ ^%<z03%,iٶD IĚŕö›mô…ęͤj -‚+™\Z+]Ţ|„}NdlÉ·%éüĽÁŰĺ%˛St~.2Ž/źUc&ŞŇg2˛·p”;ě\1ć4jŐ總eű/v˝~ w= qŘ |%ŹŘĄęţá§îGłmŘfZnw]`ă‰zËÄÔEDćgrÔÔčź`.  “)" p» Ů·űŞ=˝ČJްI­čšIőąKú#ÇŁŁĘ=5±vS“· ·ňIIžë8Ng7~‡¨(©ÉN(z ¸Ěn™çâD©g$UkF@5˙.L|«mOľşyRGľÝŘőTe¬a ÔQţĂ´gđŽU—ږfŮW8»O¬^-Y™ě9¬”@lX.šÂůúĽ¶5e;毸’RÜlŘkŤ˘=˘™­s}Íś…$rÔ#2Íăáě!ꬳlµ®«ôrĐ]°+d€&VC±Ă(”ˇŹWO]kßÁÓ±ĽţK:KŻü2ß’Óͱ(=!śýČę™}݉÷sE¦^ŃŇN1ýĽdPępëb 91Vů[ϰh• đ™t}'ąĚŘ žáXą‰Äł%˘ýw’ÉaHXł´$čGŘQŻ«ŚÎ*Űdô§„&»\şíäq]x&Ó7„Đ%0Ĺw&Îsö`¸ś¤ŰG „ű˝6ŔÄń˝̨]’W7Ü™@}aţ…ź)cnIO@mă/…ĆY˝čľňa1™ň6|Ĺ•Ży™.4í&pŃŁ€éP4J¬KÖxĽŤý¶sřA4wTĎZ†˛ÄĘGjЦk• Á WĄ‹â{ÚťŔaŢÄ_ĆĂQžÝj/áYłżK{!ÂV…ĄxŔ„´—©ť˛´_í“’\ßÄŠ™v—‡čŐ†çL87>†ęeô:©ŔŕVdDH‚wfe™ĆŰ0éÎÎĆ–¦l}Ył\"tIś}6ŕĂҵÁއ>˘kŚ':‹'dśI%?ô‘$X\şxL`¤…šQëB¶^wĆý7Ý—îZlµŮ›Väî¸FI:€CĎZJƢć01Í1Ń~ńŔŘŐű#GˇYă -"^H˝É×硑lĂß}ďëş±)Ő Ž¨+ ‡Ž -âÔŰ1ĘČäůel¸ťˇ5z˝Éq|Ptb#ßűc?ČΉKy©× T–Ť†Đä•ű Źşúľö%ům7@Ě9iĽłWäGž—îV\uü«vSI,ôÉc¶¶ÖŚADď'¤­!˘‚ –˙tś÷5ű3®ňÉšm/6*h<1Ěkte•U>ÜŹqęÚH˙(5nBÂ8uô»–áż4öŮZr‰gĚ}ˇ¤Fň·ŁŮňVÂUmziTN…Cą)*¸šÄ°ú7ż– -Ł×N1„C©-‹¦ýWJŚ>ýâe%Yö+7%Ęîbŕ krťV|®Ď4Ăa˙lJ,×´t˙ţ]tĘh_ŹŚVרÉP›úXŁ0ŹČŽčŘB_üĆĺżh8Đtf®M–ó$Ö!owÍNdHî)†}aś€‘^_ĘseĽĘ 'ăń›ÁĘ‘{ÉF3oI#§÷—Şôy Îť·ÝI'ٶz¦‘škş×—L’3>ˇô‡±t3¬¤ý×<ł=É"f˝:9ôd}ł€ż6ŕĆžCúÄÔő čîrµÔJݢĎ`ŁťŚMNĘňŞ—ŇmPÓĄwt‰ĽŘ[żLßQŻÇ¨eÂ;î#jéÎaAŤK†]>‰]I´ĺëÜÁUft!' Łd»jšŢ8ĹUűÜźŃVjV±6苼@L¤ -äůŕ‚ Aż^´ŰŮëNš#¦&î(Ţ Tř-Ś2®řĽ¨ôp ¶ö˘˛{‹fÇĘI—ÁLĂ9¶Úî$ ŢÉWÉŠz<éŇMlĎŕŃÜŐ˙±&Š#Š\łJŢtJć‰~´~l‘㣭Űoú&©¨Ý„Ça±’>|±§ě‚ń&yčXŤ~ßK¬.µó2ţv©*śJşÁŐÖkb‚аrbUËLÚŃŃ*»ckă;DZ3ÝÁ[żë¶%Đl ŁyDősŁźYž¤Č†“OóĎ)(Ž(u`‘Ȣ±ŤĆ§ ›íúÎ` \Ěm˝ —é$ Ú}^¶ŃŽ] Yר.ý·ęÍĘ)˘6f…~és îŰę›iTŰI®`sz¤g ĐŰ)Îź´„°—Fą6˝ův ČE¤x,q”ąŽĹŁfă´(YţT±ÚČřȶčR€ÝűmURčÄ#Çžó1­U=ntmÜú¸Â=wš]Ú8ţ˘fšsó˘4\¤ź(@q[ 9?~¸ěuű?@ĺb=ąĽČ?BŮ‹(3“1q†_)ĎčĹŽŞ‹Ş}B8iŚCFK -Ť÷*“ŔĘE^ČťäöŻ_Ęd`đ'@přF§E Á•üž:„;ŕžË‚«·ˇtO$­H‚+Î Ća×Q/y#Ę>ôŐ;ţePéŹ Ú+ĄTqI˝“ĹnÍz}žÄţ•yű¨ţŽČ4•ú>ú€ŮÖ†<9řy—(”1=MŔ·/Lö^%ŤI¸¤ŞýT¤-ެ˙° 7Nn{i†|äš’§^x\ö( ©}–I1$µÝŐM6 QiűwîÄt>ľq†3ÎKÂB”ĽĄ\×Řl -]…E­PÄöÇACȧäHP@ąČtpŻś—8šJ¶‘°µUĂXú Ŕć AžIKřyąĘ°|ˇ‘"H‰0NLNÚcV–S±Ř}5Óšáhaž‰Ëî80őˇpńŹ5J\¨EX5âŚ;ŻÎÜ<4ަ¨ŮĹŇ«Ź•hőÚ=„Ű&zŮ… ćmť-i¸S˛jř{$ÖŚ -ŠřSŔ^łßŠ€źŮ¸7CXD±ýb÷iHxpt1|«Ŕ°uř¶Ő<˝˝ć·˙‚Źłô‡¨EĄ:ŃMsĹ~‚÷ŃdöÇ&¨ş@2"ß™¨:Űi|řŠđdJňŮ8 g©ţ±\p} -xŠŐŔ¤GĄ`÷ď(ě&K~tó~D˝wHđëM9í5¬—NŘü–SíłE}?Ůsy‹µ -;HôŮŇL]”pđ Hۨe8¦ă\Şaa2lâ>´„Ť/Ś8ŇâěŔ‘NBžZ $Ł^Ţ~lţ“Ş;^ ĺA)vŘŮb1.Íń¤Â§ ?Q%©‡ĄÎɲySŽ(19´ÝDu”ië¬ÉŢĺÂt8ľO¬¬Ë0Ģ-ۤž2PU"KJŢŹzńP¬¦«fmyŮA’™ž@M°.6Îĺ”vľDÎĚŽCµÂ%Ç/?ŘŚ@ŃŻŕç:uĎ⡎#1™žŃµďš6Uđ|âVºҪdaż¬¨ËŐ ŠłLp“TůÉÚçÁ˝U|đ Ę–4=m¬ŢąźiéMă1ôĆW$…<ś_ţŕ_mBű›$#ŰZ0đ\—LÂÔµă%9‚ţ~Qą[›Őâ“hDŹÜ˙>ÜURXꄥnáćNA čó•YkN0@¶©c›—o›ůŕ"Ąt3SšđşůW“—Š%?3ćq˝jŐ±µ§đ ­ÉOçy˛¦úʼn˝Ro9ŮJO±ÚÚ.ý%Üń±Ąýę± ÁńůćbB'_WÝ”ŤŔóVIŤ¸‰^Ś pGń?~8üýq ·Ăô6~]Ňž4"šĄ(g™ł3 gŠ?,c3ŮđF¬´6UžŽYâ ę‘ŰD`¤\Lơl®ĂďRěc†·­=Č‘6|h¸=&·čŰç(’řoćľßG(Ýs™p Oއ»źéL Č$‡TQZÔ˙`Ż %õ?V—\Y–bá±dÂ^ŕb«ăŇĚo‚çĄÁ ćä—F:Őr4¤¸=DĄ6\jÁF v&,nmÔBÜ -ĂC¦ĎŞŁ˙Ď']ç:í}‘=Ťdeć¬_ ĆĎÄĂ›ĎrÄxn×.±~רcďP|TÄĘ®–e÷R;#Ü*ď.i+—)řú°N…Č{1÷3ămđŇ1î É” +šěiŹ0rÄĂşčhwh50ú KÁ ęQ·á7á22bí‰&v%űă‚FąŻÜŠšú}x{ ëĘ’q϶´f¬}K¶Ý`»8s˛őę…´ô}0Îxăśâ*¤AĂ®/\ŰFăç‘ĎÜÂܦćäJňU*„ÂNľ[BüŕyŹ’¦µş~ł˝U¬O§5Ďd©çj§Ýu[…š§V»¬p—J¦îřťĎeÎÓ’ăáÓ]· ÷0îPŢMsěŐC‘DUŤ^éň šaĄ´î^˙H ˛g:˘¤@Í8U#…¶lS—ëC—3ꆱQ_{AŢ‹OÂsˇÂsbđ‡ĘlČ·ŘpŮ=lĎ™˛gŐ⡲[’›đÎýv6mëIÂ'>?E\łąţ˛‚ Ţ»U:‰Î×>ĚłFe¶ #‚Ď·«€éTl.­ ”eg1üŠÜűômć€DůRüzŹKm/šś¬Ý•›˝ÎĄ›U.®Aĺ‰ ĄÁ|Ž%ÄŃę:)ôR‡ńp+S’ľöIÎü3îĆŃÉĄ˝BÎŇş}Ý·@KfÓýÔ÷]đĺ.ˇëPÓXoü7»aű¸oîEŰŐg˙µ›h©,ÁżŘĎ"›´µ6\ 7sîÚąPI}KYlł˙˙zMze†Ѝ.¨Ť\‡8ř ´ú¬‚CÜj €‹6]ĘŽ}' ŇĹ|éÝ"Ëô§Kű×®¨5í"žîi)”ź ¨šĺ$ăÚ3®Ă$¸U’ú•Űś·×‹ŕŕ®”Ş­Qńëę¶s´żéËÎ6:ąÂ)<ĺcŞţ>îňB|Pi†ź”%O_P¤~ÚVžÁhj÷ŐFˇŕ†˝UĆ÷‹ éÔﮉU‚ü6z"Ö€!|Ăuöů4۵úă“Fş Ç5˝¬~•Eű=]ĚđŻŘMz~1ďöć< u$Ś ¤"}…ńwxÁŮÓ楲°’ÉÇX{;őZâD`ýL±",ýJslđ`<ďˇDNZĄ¦Ó]žŽdCťB Ó˘*úŽă2aţ …ŮY–!uđÁź†FůĺřňÚł@¶nO ú“^Ť`3ąTÇťö—Cž@Č+eTÁÓÍń"bŻ˝ü·^,ďuÁCöUę<}ŐޢŹ$-bÇą,gÔüôsÖMOÎŁ\ą$"śUű† lMŠ.–~Ż˘Ä›D.ĄD<˛ž¤»ÎąÄÂÇ|©¤ Won€‚ˇš,v~8ľ :Ę3 ůö őŰîf6ňç;Ż‘;?ŕi"ĐĹĐgŇą8'Ş»6Wr#óřF3ä-:”gďąĂ tîžľăµ}¸ńëŐWŮp–xaĆîżĚ=:!}Î×idŰ#€p¬™n@x=÷N.ç·¶şJséóWš?N=ť‹'5‹Q2FÍŘŃŕDÁFďÉäşü‰ŕ§I渵ViďÂîýç4O´ZYCÍßói‚~“˛UÁĘëäW˙--} -¦Ľ>0k˝hňDç­@7KD6żßľŤg©ví%¸@ĚA·x“M1&,śŃF`t„Íńo!~ĎÝáVE4;¦ő UĄÜI\ýÍnÁď<ĽŤ@Ş$7/ţ‡(ż é×om$6ý]öqÄőží÷·»R˛Ý"ni_^ďv“›­.Q'ëjuu Ţ9šĹjGZI1Đ꾎ž•6_˘ŻFqkŃWŃÄ^ŽČ‹ÓB Ś+Ű+ÄA ?"tC8ЧÁ“Ń(ş™7Ž4N“ŠIڰâF¨y¬Ç,¬ÚňLµ9Š((Z×Đu pžłn’¬ $ř G9{í7íőkp˝NËd˘$§U}[» -­¶šč\1mÇľ19FG”›ş¤w۱źŰ„>vŠ;Ů“l]5ŞO“ľżĂşâçăIăÖIë÷0oŰ×_§írŤŇVe=AŚ\ä&łŁr ꉆ/á5N/ŔĎ"çQ¸±Đea ÇQMÚ•ŰtâZ§4x™łŞĄO„th„BqĂ’Q? -’\ß—aęÝĹ 4)öG·űç†íŞěcťu  {_©eĆshÉ›:¶Łˇ-dF[ˇ¤ÂŮ“›"ivn5Â6ĺŘl" öE±×(CJ8]ÁR‹(ä±Ă/hŐĎTłEş=ß`ѨÄŇłA'+ČüŞd%¸_$~iŽ Éŕý3>’Â&şźXśý ß™-ó‘vwuڎ}öÓy0c™Ä©…Őś°€­ÇÄ OÖMÜ«Ţü!%•¦™Űvňý˛ZŢÂ5!?fů9ľŔą´„ĐąĄsY˘”ąŕ˝»¦qË<úfi‚ˇň—J|á&fÁ¬n˝@‘Nź7áţgË23§!ů^3íúç”ϨؒöD»8Éźť©öihwdg?łd?P_JłĹU"C8 ÝěąYł‹fôjB™µŹÉqlĘÉk8M>I[_:sΚ)|OŮ >uEAOޞ˙é‹nÎč›;Í,>Č"4ßR(Xę9ű5ĺ5-–Hň"Łî“Çašr˛ugYŻńD~v;Ú‘jř¸Ö10agTz_ÚňyÝ s´lQĎr'NÂ>Žc‘y}ą»^ÂÝ5RiÜ·µÁ í™…şM+JŘYť&ÁŰŚ>î7˙YźżôTq -óg!ä–ŻĐ Q•Ë>Ä˝=|˝’™ˇaŻ˝^9¤j!úŘ]ý`¦ňJMPüĆÚŮÓĽ6Ům ‰Ńô\QnÁ“1ŽÇ“çńzeĎžĆŔŕű¦%üžî: }łščüŘŹŮaďÎóPŞŞć {©§,ú:ĽV&YíŰÔě ¦ś!ëm°ň?-3 ®ć˘¬Z×ú|•Χ_ľI@6ÁH«Mˇb·U‚[KÁ±‚ńP¬â¦Çxüóľ”H–g©Đ!šÎ ҨAKX¨ ×Dn9ÍžęV$šgěGWm»Wěśhy$,vĂ_ĺ,ˉdăĐ0í?ŮXPŚ«IÇ`J˛ö§¬\h›ZÖôŻä(t.×ĹJTóăvsé˝iHuĄ‰g%bś8c±óĺÔ"B~«’Jë’«Ëőç)ńěRĂę&Ś]•uŢMę?óŞÍ„q®d„öEűäVĄa`«ĺ+]ľŔ÷Ŕ”¬+ä™ZH •n`űęÚ`Y$Ć­ĽÂ 3ÁÖŮ“·,«Š/ ÎŐľ‹úŻRŘÁVŃ™íĎ«.‘úŚ€´zŘRVU4 k#"di:y=bkh[ ©.ŞxýÁ$Gx'é«iŤüz( -GüźŰ!—f‘ÝOj]»pş±ě: ŽdĚY# ĺňF´1Ĺ,ŞíŇBb4Ś«ÉÉBťÉě~đTĚ~ÂřCp Ď7ߥÂ×cp-xKţ°ţńŁ©:Ho`+$b|‚Yđ{ŞH"—|ë’‚^Ęd8áµäW¨ś]W΂I3öľ\c[úgAUĘ”kđV´*Ź…šl“'Ô_ĺ·Ĺ,;ý - Ę«Ęg¦bÚô}’źŻ?ĺč/š‘ťś¬šŘ¬¸Bw˘Ą i[ý§¤\ňŇłV˘ž–ňźÔWjÎŹÎ T v0k“ý2ŤĹ<9grĂťiĺ:č© §W˘i@72ý©^ÜH®ŕđ:ʲ\”ŔNΙńXâ(N_»'0G‘±@sP„Ô4](%5 "_Q?]cŃçL9…ß-‰Frú»° ĺ!I xeK7dňÖÎ$}â"ˇ‘J´'Řö4Çë&o}ą?ŚmvŰ:L÷ĄR‡‹]^ńŚęP FĐţ2…çAç Ĺ íqšîů«Š}|u*ó¦Ąţx¦_“Ez2÷‹Ń˘_B)´÷Y S„/®ŘZ:©G·ś%Ö6ńŻŔîMlÓ|ż^„;űŢQřáăµjă;ě@ä¶ Xm’¶‹e ŇG}iţő´Ô¤¤˛oĐ‚7ÔFNJßÂćc&1%޵|4ţÖ¤ˇ˝­şţđt6”–„µĽ˘Â0ŠÜßâ5łZHQĽD‹=.ĺĺm±ÉqöŃŻwÚń¬Av’9ŔĎ\~řŃ/f§ěsĆä8đ+‹¨Á¶mm…?”Ź"9çÓɰç^ĽF/Ýä; ŮîŔ1$Oâł„{9t3ę1<µ¶ÜrN)¬ß ĘŽˇv§^E’ĎWŠ´ŢFĂ1—–d…ţžăě řn˝{“ŤöŚ/Řäص’ŤIvŹĂţ]ťn]rď*ˇ“BĚD'0_ĺăęögf×ěí…«fZé¬:ň5ü”kÜ™.s&1ŢG“÷ĽFŽ.ÖčíŚŐĚ”#ÇÇN®5 -ŕi°O[ËcBľÍŃN'Zea6;Uőď%a !2ŰR$ötwŤŠ˙‘83ő2:ëyk0ŞIďXW]cü4cMŞ\Lň'ń4·HÇôÜ«Ml±ý]đ$ -ěâäÓ‡"‹•Ü•9ýĂĄc_ä7Îż\sG2RŢ/bhÖb­]ͬŘWťĄćĐĄ2ld0Nó[§üŕňÜ(Ŕř‰t˝ŕ±éęθ(XĆ®g F{Ń䯮~“\äçAłüŕP*O  e´ÓďyÄńÂ3Hĺ’¤>¦ôˇ@m˘az¬Ű˙ÓV‹"Ť˘Śy6ókeż‚†ämw;­ ĂíDÍ@ďÎËA)!řYÖT,JG•~µßok9N= Ç$Ş:ˇ!ůĎ>Ĺ€#Y >ÁĘËM÷Đ%«JEĎQĂj¸˙/,ť“>Ąä®[bü>\GĚ=żhdŹ3‚]Äž×x,áĘ”†=–’6ŠĚj™“Ŕ˘›ŰĚöűĘub?Ś=“)6Ďé˝ŢTdęř@˙ů±dşâѤÜ`č ćSż–_FDHŻ™V‡Ń­ńsżj©ÇÖK–w–g+ ¶©şLď AYŇÄĘ®ű{‡Ú0ţăÔěsd„s[`e3^l€ełą'Éh(›qF¬BG!źÚđ ’`Ëţ6ÉÍĹő­UU9Řó¨pĚöÄŘÖQîH†ęčÓô<č\t-Řŕ·¨ŔaÍjňćăN«Ĺz5 Ůj ˘yŤ˝ÂIÖ¨@ůć=xB3;_ŕµR“úE ˇ¤.ahöý¬€ł% -$„Xč°´ŹlPĄ"îSö-D­Řż˛žt `QˢŔ]Ľ„Ĺ"?ž Ţ|DI˙vă§P-řď9şĂčËP)y¶Hzą¶MéP[Ż=–Ä)x/P9Ö„ĺô_‹÷GF±–&…tYÖźb^ا żşŁ‰G0ä -}‘ÓKęnáH‡őĐ žwů¬6öŽÔÖŃôęe?ÍSFn}_IÜ\rc.T™ˇŠĐ”ú$4k)W8ȬˇőĐ” -čÝ1D_©6G&e Ŕw ˇ#ÜuŐ>ŽßŚ37RŘ@Ń6ŢŇ}ĂuxěΑ!!.Ö¦˛j»>_/4$±ZC€Ú2 Ş…´bČíµx,×Hű#äěĘřsđ~´}™yÓr± P‹k˝[W;ŁĎG†ݸâ°cc­ŃÔAĘÎw ˘¦k‘Ę'DÝ ‡Î”O|ž(‹nĐOä6k渴üÉ[ąy{ká˝â•l¨n­[$žVč¬ół!pbuŽĺä yŞgĎG´Ě^Ŕ¸˝ŕsŢ/ůg—v¦˙ŮRiů˛Áôß N~ťťŁĐľ&¤ß9úÚRÎo9ĺ‚aëw_dQs ż¦• `¶ÍŤŐN‡ěBą+Öjş]ohH+ ťeĎ‘~PsÉ †cďŻ]:ZGzÍ,Ő‡J¦Ä/‡ż#6âM‡®/­Z6č˝ ;ů¤ŹĎ9‘ňÚ‚ęk$W8­»6|‘%ť? -¶»!ž“ć-€MŕĐî›qDő?kŻč•Ţř§zĄőĚFcÚB™Ŕ4Šá†˛]™Kp¤đkYŚśÇ®Ąó_ĺ]\Wc¸!š/VČ·o-»k…íZY\ŰCÇÜůš4¶@üćcoôľßáńßFó…éŔË–sóh7¨Ťśo${ţ˘´0ŽŇ J@i‰TŻ“‰6ÁI9´Ş†«“˘y­ěć@ßpttŃśg…cW_?ĺ5řč-ŽĆĂĹ·Ą '°ÄâËÄ-‡1bś­|–dÔÁcȱřÍžw&ó¦_‚M|ę)@T­„)®Ć»úçćk ŁLó °ĺ°ćiźôˇÔ]ň4«(!0…^—ëíNsF;‘.č}›]{ňuíx;cĚÚî,>)Ŕq†ŮWo˙ĽFá{ër`“Ą:)€ÓKŢďČŮĺMKçÁ­˝x˘Đ©†˙쓳?Âj¦¦ÎÉ4NYQZęź/M´fPŐŃęgŚWŐĐŘ‹Ďoô:ăGčlڤÔď´•lĐ@źxŘ;ÁAP'3ť¦Ąhź‹¶:˝ŽŁoű«`ÁÍX/čłbňJ§¤ë×Étk  f\¶ŤźĘŃŰ \pŕ‚[Ұr<Úš\Q&u$ÔĚ -(W.ľ…HóbĆ$ĆRÔú´Óé.d‰ŚěđŽzĚÂ;VŘÝ0C,ěń˙kEůëőkż…?‡č~ü(ś1×Ěu’PÜĎśc_!…±]C­tp둡›ŢS†véšŔŤ Š’qúř)‹E1!ę©8Ö­(4şTì¸ĺ'ÝŐÇüëť’IĂ·8Oز]…˝ŁËńW0× —ćgĂČ ˛·„]:7ÎčŰË:ĺoä2SńŮC„H‘n=ü6¬ş.ő@ivt°4tŹ‘2Ní›[ŕ$x!V„ťÔ…=Ő»ő€Xc#”7śáyEi‚ňYÉŠOxčşź4–‰_Y—‚a¦`eÎóőó®:ŮÜżßY˘DÄOŢčmP%c|3»6^X 3!ʏ9 ”Ü 5„ˇűçjçôö†„~ĂśPÔ„a…ěúDĺźĺ&‰@hÓÄ’Ýşć˛ä«OňÁ´:BŢ1a%Ceöý9é­0¦ŹQ0'9š)ż[Şŕwúö ÉőĄN@ú7­@79說 U%ŕŤo«4fOcşśG&¬“\‚W\żĐ3µěO¶ďł  Îl»ż"Ď -€čYg|˘0“…ΨVĂ|1¬~G"(ËŹNhíłŠÄ•Ö‰Z[Řη~€¬“w -}.w.ł}>‡ŻBŢ˝ţNC†Ůß*¶+B¬„Ě˝Í_ÜJ÷eNˇL!p#)›7#/’Ľ@U©¶ôÄWVeś%"÷ÝÜĐCÔóĂ­Řž‘¸…KÉé @4G l',E}).íP9µ˙W( -ßo îŢUh ­Ü>[®čy¨Gő±9x°=95Ź8|š9Ą â·57¸Ř'üĎm ĹWJ×đć5!ÍáB=¦ä0ú:TĆ7ЧÖU?_‡ęĂ 8†6‰Ů(Ř>LŃ]‘l໇CCI>Úĺź@]ĎwżóąV‹ľŰÔ‚˛MĚÉÇ©pŐü—ó9Ďr3M\ŁęćťďôĽáBęĚ,Ą¦Ť]BĐ–UŇ‘ťüœ֎ִié*ţ›>Сţű•;ŕdx‚›L Ŕëó,Ňäz˝k‰7ä˙ď…XţaÂť4oŹäěŇ“†ŽĆ ÷7#`›Öó¶‘@‡¦Šßo´!„Rµpµíł‡?T©O˛ňqcjĐßÓdŇD°bodÂá»)Đc÷O1@ťńÓ’JPdżěrNă¬Ĺ±1ć4Ó”Ť -Ťť:Ąťib­Zý™ ——íð|ô!扬–CÝÖ>CůÝLÄV%ľ™şˇ‘=ŔÜł˝ĚÍG˝cJx 7*ćRi=žL !Ł} €\+×Ě+Ť$Öç‚ĘŃľ~5ř “ý9oOÝČďˇNrNŇÄ],ň\±‰Â„ÂűŽŽ džćv?9g¤¸pf×8uµ´­Ď¨2 ;-ńŕ‡ÎS4Ô¸}hţ 8l¶ÁM>ę:âu«¸#ÓEďÚ=öA¤W‘dď)4˙vţcŕŮÂ[«uI®p©…7¸ă=î§ÇŮ=ĚŰ<‰x«çßăiŞţĘnţڶţ%©•FWf˝cĎrŠÜ`ŽMt+¶+ĆŁĎ˙Ŕ÷ú`yĄ&ĐÇđNŃíx’Ţe 'ş´µŤâε§˛gܲŮ2?ąD˙O S ~śŕľÚ¶óFÂąńc“zŞśţ-~Jw¦­« É&©°-.~3@BÔ'â•«”gD~j„ˇ+=…<8řĐ<ŘÍĐĘě1"ťe‡Ŕ¨&« -šŮo±đćZ I”UćŤÍňr·+HŞ@-'‡$ŮQć|DęâpŞG˝WADFŐx[ô(—#ĹĚ +č°éf.óOŞ‹Ćž‹ŢčGH§– S†>ÝWś¸÷ÇP{?«CE>igčĄ^•ٶ?®…Ďu{âö' ëđ‡@ÎeZcW@ŔŹ™i×ď?3Ö+Šüµ§š@»±/ľ~{=“ćÔˇś?Íě熀L «ŇŐ•˘ýQ®_š6_bísrbۨVNý2oöbçŽEÂQWŢ ‹Ńü‰/Oß;ˇjaLF›îí;Kß Ô.}±žvČ<Ü߼ĹŕˇŘŘE2Łh0×YŮž)—÷ť L­ś-[Äě±ĹĆŃ.ˇűţ>öwŰUË'Ţç5ČçbŃ`ëUx(ýFäŠEúlďK këÚë{Ś5ąb(v0˛ň6Eí#úŢÓ“DÇc.óQeö üťßntżeBçÍQ®/ŁIAE^`†ß-)ËÝ·ř\j *p&ô˘›”ÍA/Áx:Üx&Đ]LG‚¤{Śdr#ö řN^€ űő0 …*…ÄáNLV)/`+2â ic…†¤w~™ˇüĹÁňĂa˙!5„l3;Íü=đoQŤ^‡SÜÚ3ć ,ˇćÓ‰[m/m†˝ČéX‹‹z;fŘ'ţE?ĆľÍ÷‡Eńg˘”Ć ľ512žň2ÔMr_ťéyŤL¸Ň#°ÜšćäĂŕ\zÄ2zĺ”Ot'iňálGłFŕÝ]‹'‹8íQö,ăĂÍx ë¬VFíŻőđóy\'÷đŘü‚µ BľćÓŻY3ĄÁX€ŕT’˝°7ÝŞ˛ţ¦$Üéôf=‹–É-đ?űiŇž˛r„Ĺ™SĎî -˘cdgóˇ'‰"Ó99rŮ\&ůŻJ'×ÄeţˇśţŁ&@ĺn”őž‘D޹޾asn'ΖqW{ BÁTT5“)˘Ő7É× x÷ŠÄ-‹ËÍĆ e“č8těŐľ -o@±ú¤†vÝCú<}™ÎA2G/ş[oć§Ç¬“ÍáVđ»°Ôś×lo&ČÉuăF:fÎđÝâSp‚ö¨=ŠŚ ä3ĺ7T¦Úóȇ-bçúř^žFɬÂČŤÚ˝šű -ô)“ě‹8ľ ˇžáTŞ_’‰iÁÝ•ľG@Ŕđçf›GoĚ–đ¶tĆ/ďđˇţ ˝ů†±ZľMă=´"ÇÜ[(ĽłđDĚĚ.đgySçg& Sčú¤wĽL|•Ţž<{;VŘž<#nÍ%yűf¦Ü^ĎĽ&ČĚŐ *ĺü.5˘8fIď×ćiłŻű<#¸ÝQçI·Qâ§v@üIňś<ě`©‚U,Ňű‰çĽ’«0[ľ{×–qKëĎłXźč©ýÁBŻÉۆkj8~1?AÎĺ 3I«YaÇ.K¦ś‹­D9}Ó–ČxKs.ĐaA–’$ ĘTčąň Ć/ôôŤµU(â·OCűIŠoř]+•XůΠuo@ŮěůĽ“Oy|Geč/Ł `â†Ćt¤»ăžd¸źk|o -bv|žŁi ď:ü 3 ;ÁáňëUŃIÂE÷Đ\ áÂ}wÔńf™łk\W^aŁHĄqâ’š7­Đ<**źq#ZÜĎű*ŤÎ#\Ś•ć ˙¸©čE%‡™ÎđIzŕ•ŮWö¤o‘oĄű;­ŹßĹVĚÔ‘$îŠT…ßź«Ţń\4×QgîÖä6éËŰśŰ(]•2&řĘâŃcü–-ph7ôÔî®ŃÚő‰«­'x~îGŔŘD43Ao¬ň®­á•®6'ś—ř” ďë]RV‘\żś RĎ×ÉáCXŽŔF˝Ęč»vO%8𲉺yÂvŻ»ü„}CF˝H[蠟ń!üĘVňës ľ €Ę­`JLĄšýo—üő‡ĺÖËőżşšF*?Í_V/Ą•ň¬ćŚşy™Ç8ŠĺĐ™`Üă­Q]ßĘf J7"zQÔ'"‚=LI‹:zÍ0F Ń÷Q§ŕo]:Mö_ 8í± KWI“0ę‚Lçäťĺhy ÚĐR…bÂIŐ˙EÝ0(3<¬ő#íU7fcU#b´™1… %ËĽůŚ -~F‡â“Św(w5Ú}3Nćyëř:ă0uŞĽMGô€ëesŘop5Á 3Šň B¸\őŠÉŹĐů0¤aOé4B§JN„€|YíWŞ7g®ß*r¶AĐréŻ8¶\ŤˇăáU¸ýŤFEnſۑw]<ăĆĐČLáTQ*ĺÜË@hYţŇŮqJđ¸ĄĐ«Óŕb8­g5äDĹä07x·_a÷9(æ^¦E€ç»pż­ŕÝp'&kĚTK}˛„¬`Á|§ -7%,4IĹK’laŔx§ŹĎqĘ ±‘Ţdő#ă¤acĆś<5š…ÎŞŢkwߊnІ6O±-'ż$aJŔgÇ8Iby*č}ÖŤXE"`ĺîq™„`¨ĺŃ1/™ÍE ­Ç t˛n#]•Ńą6ťWÚĐŰÉ ~‹LV‘ö€s‰W€ § Z?ą€?ĹŚáś´U:3dpŁ0ŠÎ…ră>v=K͇O ®‹g¶e"3­ĺNU>‘ŠM% b˘ "îrÂběH± dîűvÜ4OşP<żŔuĄ\ZÜ÷á)ż{Ó•GqA7nj˛›)z Â,¨‡P¨¤ÎvŤy0´Łš¤Ľ‡džÁÂĐčŽáÓ¨’kĄ49{ŻmŻčX>éŽ!ŻŃ€HQAçdB+$˝‡ýWü´šk¸íçSüÜş*qbI×%Ň\FGéxôŹ;[OinkSmźúŹ P^AćG}jvTŕ‘ţxN×§~şťaźéTVŇŤ®sÜŽu.»©Ľ ĺÁóq~eî·7Äť„ -±u&™Č4*»LĂÔ ŽŻ¸™›R«×מϰ„ő%SlĎ'ç –ÂЎ!!6@b˘ř‘±-~ĘÓóú‹ĺeOa¨îţŰxłuY`’7’˛ÎL8ŠŰëkťŇ˘´^‡Ť¸ă»ĂGéćűâělµ+˘IËĺÎńôTSw_Ó’§ÜŤriŐyh÷›ě L§Lu˘ĂĐ+¨%sëŹěźVI.DđIч{5C{žI~2»5üpŤŃ{Róɡ6˛•w,=˘Űóä[o¦«™·ĺěč9fĎ—ńƦĽ}¤·ł)ľăR9űŢůŠh\Á5 -ÎoŽb Ž$qlĄJ”ÉčŹÔa܉•EÁú ĹŔčˇŇâŞ@:ž[Ů Çé(­¤+C0®´Ě–;ĘoÖGµűH ęí~SŮEőĄÚ›˙ÎŇ.Ćlű5ä0uâÁôm+Ź|µ‡7A“ď -3Ą›QÝôÇT > ďŔýe®¸XY#Úމ+ł1Ń‘ĄTüî…`LN‚í|2…;ä*ôH)^c®lĎ0)ŮdH*ŘNĽń Yß:¸ź“4ĄdźH{ň˝GÓÎKő‚\~µ¶Hk }ç0y:/ ꔵE?hĽŽţFý´á“/Ű@ă`ă‡ĹÂŃęçh{{¨IR„§rŠýÝÝň.Ť[ą§xáK'‰ÉťÎÖóH…Zë!®ÁśŕÜűyĂ4Úw¦y¬pj’0ů%Đ‘˝ Ţ“ĺ -ß@"á9¤\8• Žť.HzAó„&ŹŮź±­cĐÂéŇŘy\D{s â|mz·qÝ/ă © ŰíÓÖ%¶Ö(U @~CëŰF>^¸ ¶łlřÍ;ywbˇŤÇ;Ş:0íwÚă5đ\đŔ„hÖ L é{Kč÷µÉ‘˛ëô2-Ĺ˝Ął•oÉGăLé'|¬ęćKćŐ=`Ř#§˝aâU|´ Eírö$&R…ĺě׼ÓÓstý/"3Ő7ŽÔ 4ó„â5ą9§3Fóŕ“ ˘pĆć­®$©ˇgEá«÷?÷– |îtذ¨X›ą[=¬}ëŐAEšÓÍn<4ií É—(ž+´*É™šy—ů¦_oHô"B!ᆵőLŘŚę€>Ă©-/q1%üŚËÝąŚĽhä4Á”©¨}&Ç $Ż|/Mô‘ćfÜĄş¤ ţí ¬Co-–‡f!SżPpŃáŘlŹ` ©hŹQЉ†;D§Óĺ_8¨jť3żűݶ,«]g{Ć=ű“R?>6šYn˦+j%çCßł MČŢ4=L-ÖâĘß_˘pXĘmWLĽ`NÉÝő­Őŕůä߸2g#Ł€\MƲ“GŤ˝díÉa°˛]™ľxŤé†Ĺh@X<Ç‹Öď1J“ŹTCŚśďůź¤!Ä€"ä4^&›@HË“ü -˛č˘¦wyŐďU•ůMK<ćs-ŔLo]_u4bÚfz˛"FRK©ćŤ -KcŁÚć(­tńÍő2亪u˛ Ľ Ú9ý˛Ż[®Îe’Y(ىyľëóܱ|ő[ć¶é†B¸Rš.~ŰAaCđ!ŁÉ†Ič,őÖ't#ÉČÁ„׋zXWŚ^ĂG”-¤OÉţ(dŰ Ü+žî´áÁ­mÄ2.ż_!<“mZ·|®gNfZÔŘ0ąť gĆđŃĺůa#Z@’ÝËŰ1;Xmßäüą€đü4F°-óŢ҉8N Č'Ű…‘"ÓS.ăSž9Xš> žč"±®}HkĐ_QűŘűrWYäÖŽŇa—ŠÍVG P§éťŽëR:’.hŽy?Ë.úľzî"áăR†#Ą˙ýĺűz©*îű68céĘ^Iąńš®.–ő1ĎěAGĂlŤŚöĄĐXĎ@.9W~1¨]ďŞH}ßÍULe…EEÖ†źÖ'4ĄîÔ˝ş:€/!µÁ1ZOľÂĄěXž†ń;měŢxť}R?$…ÍߍůˇÜtć,Ýo#ŕăŐíÚC› ”Ú‹>ä“uoĹ<€#cJ‚Ş3M1L_(·÷‹+ť'—´˛Ĺ;ăˇC$ňŁ (Ţü„čĎäEU˘‘:%řä«5@Bšë˝`‹<)6khkÝŚTápóůBgaęőą&äÓăů>(׳ů™›Ŕ¶m‹Ma¶ń8*·<9¶9x§řÄîŐÝIˇ3_ÂzÝź“îŃśűGo R!ŹĄF†©SŤ6ë!dž‰pqłŢę~fÎpĺO SEŻjä6W a[OE,+ü¨µÚ?2‚řµ^•6Ć‚OúĄž˘ú2jM]§ lbě§:ŃřÖĚ&«9m*><Ňe‹^öű_Ts´áP4îن˘ăçŚíîB^(J¶ź’¬Í:ĚUŕúľ´”!Zt.Úô6Ş}Ŕř(ۧFwf‘P[¸¸L˛ú­ňěÉŹ#˘Mx/ť‘šĐË66Ŕ¸6Ík‘><ť&“Ň,‚?Ü8YđEťŘŚ'>“Ď?I|*b1÷9\˝ýĎýM&/Ě·}±®u4zÄ»ëbµ¶˙™7§ĺĎ1–bpfmÜŽşäŇÎrŻk?ie” öÖĘ,í˘ćĺ\0D]Ź×üHIýٸ<%Ć…óCŰ5Bťű;MFÓík×ČgLŚýf.2XÜy'yŠ0`żŢnŔ»]ˇ#?şâ5ÍF±˙t8eŢđ5®u˙đ%ş˝˝)Q&ŃčÎ;¶•î&úâüW¶¶ŽAŮň®nIGŮ›±Ď‹h =»DßéUÖD…µNU†a i›c¨ţš•ůá ępč"ť„ †‚ŁâKj 0ůu%˛•áđ}9şÖ}“NMn˘o ń–$µů/b“mD"ÎĄ’a[Íeg‚E¤·Ü±·ë‘}«Ě2<dĂ~˘ňRĘĘ46^"|„đ˛C‘ŕ] Šô\°W-äçů–Ü“űý ^C٧»ď‰ŠłvQ‚oew݆Š.EOş| ”¸wç+xä!z˝ß¶ëăŮučäĂşaaAŁľťA\Á“ăz«Ŕ×Y÷™TăĘt«6u%ŕź_‰Ř -'ذ2Ňoň: —NiB'§JĄ'—şŕý­]05¬,üł÷[G¸˛2S˘ňľ§áKžÄ«"> Î2Qo˘Ĺ9ľ–Q“2$Ôçסžąú˛HďĎ×ŻŁ¨6É[Úž˘mËü”šđ–ÄɤČ`XDH¦Çµw˛ĐúŠ -<׋Wcú2mŽî‘‚d‹öˇhQŤUt~±'`3o?岲{tÂbđt‘—éˇV~öÄ\29fón(ăn­¬ ­«•f±€Îągś%ř©ëEvúúJ¬´§Ďş zŞ÷|Noe9ú7<”¨č7Éď"Žň‘pqü†—ŕú© XÉâßĆń”=5Ő—eJu·ł·ő<¨öÎRŘ^’ţ”YĐłg‰®ŤŹů +v‡> ±´AkľµŢ/5˛[wĚ5Ób$š°řđtž­zʏ<¨vRű/MµńŞš#t,RB„ěźzĂžă0wŽEmkîa¦e> ÁÝšvZÖ+?¤Y4ą“˝43.÷ !€kÎö[áD Ôm-=y\„úNrjŚ?|Ľ·a„8äŞcÖŢü<ůźšÓaˇżWŠ«8r†»ZĽdş˛?ĺ |NEď‹,uâ6CTżˇĎňWﺌés?Öŕ7Xyď‡ŔŁ"´¸¨ăó@u,§‚¬2ĚZ7ëp4ä-Ĺ‘lÄ9:YO¦g‘2C3ÍÝZüá`nÇűÜóČOË {ťŔÍY¨mć~óĄÁű+GĎ -yŽ˘ŔÂh´V" »w&îAŐ˝5·<„ ÂŹ$ťü÷Ů5ř)hzWʶŠ…ŻŤúý‚z­ĺ,pî>SˇâYd@^bňĆŔĂ»ü„¬Š•©÷P‡ćđĐäTsHăźŘ¦l‰‘qfJE©ă18ˇíëţ–Gáp!~Y.ÄpĹż)‘jĂm<»°!µR ´NgCMľ˙Q,ôo{±ŰŞŹ¸C[ąv©úŰY* ¦$ŇĐ&‰=W7žiYŕpGő•ČŮć„#5 DQ¸M:ľ@ďe|•ĽĂąpöű>Nł˝óX_x…8ţk”"$÷xmž˘Ť ˇ5vdśÝ–ŁŇKőC8—©].ö–—ȉ [—̡ěkĺ„>˘Ô’±aâ* -J;’†}ałYŕé4ßř -Ş»S‡âŁ€UtěHQ¸˝»Ŕꛩ¤y?ĂŻXÓá?÷°Ě#¤żęxp„ ň°”¨ ÷ţ ™Ť npĂ[Í{o -ÝjďśG Fx„ËŔ\î“âaŇ!őß·śäł¦ ŞY.I ť´ř\4ľ)1R®qqŘ/Đ;°¸«ĺŢtĘ[ńmRě}w¤“ąęPŞ“ăÁéÍ{%1+2Žőí|·č- ÖM‚´GJĚ+AűâütE´&žŘ®Y¦éŠ®'`ľn #‹µ}p -cŵíéE®qTwťc@’P„»ć)ŹáSüűť]wśő\ú)”Ćh5a´XčX†í ”r -9¸z<&<ŚŕĹ©4 WüďEYľ;­â'µĹe®mwä¬IKu{Ő8z©O3FAˇ÷1šv)iâF™;îSDĆFhąkfn ™ú¦úA¬Ę«“6Y˘ÎW[oc.6)gE|ÍĹMĽčW"”đ. ŽF¸Ş›ťPÚvö—‡ε‡ÉÁ֪·€p%÷\)?·|$ÄĄČ•Ë -_  OŠ2pôÁ–Ý>ŻÁy§S ] ˙[–ęŕP•ÎÍÂíß"1˝NĆSÂ†Ž”ŽńpÓźĎW¦Żč{‹†…¤šDśxĘĎţ˛BĹ'Oă#…źMËŚđÄ„á87 -“ęş!µ‰čĎZăľ"’5%¶sÄŻŻ†4Í%¬*‰Š ČuýJ$ÜŻÄťŔ¶Ć+Ă0Đ>"fj^É[¨˛źuű yG.B’¸dčŃîShD)Kw¤ę0Ŕë¤ Í'[»mҶ…BE®W+Ë-řʰw$ -Ł ¬sÔMÇčý;ĄŮŠbŹůëÖĐ ÷ÁčÄźĽŽ2zĄ˘ĺÍá%r -ŃљխěżlÂ6®”ĎOŢ\ä řUr‡Ö2žÔAť×“*süŹIér˛'˝»¤9đ)ĎR®hµâWźSżĽK3ç—“T";W»ë`l•Rk¬żĽ)*—!řw'@Š]»ő¦Żň,mŽ ŁÎŮ“„€ýg.V7n¦Ş€ ‰“-ĂĺhęŽŃäS±4Fŕ ‘ô‡Ń—kńË–íĚäŮ\·Wٱ|c¨Š=CgrĄ‡“ô`?inQń0T°nŇeť’Ví%™‘íĚtUhúš© :_I*~ź]ë/ś¸ŐŰ{™źe›˛<̡3˘eeCŁ -´ ĽfŞo(fBgg»Ó!cA ‚*`)ŰüáFź:b2MUĺ I™3Í5„t˙ł-CKg‚¤yÓKÂ3ť.1É2Âń°R%ţĆÂ<k:úzťşů˘ÄÚęŮŇykzhŔűOuvĄÜţ-:gm°ć[9`6đsĂÓöŽSS‚€ąěö\í˘úÝ-kuŚ4şëŕŔćrddŁCĚ"ŁgµŰ®*NŇLÚfďîO€ť‘ ĚY¸°#ŐŮ„‘?ŘŽDęfž6§č?Ţô\ż!mëöă3ßAY˘ň„‘plŤm¸ď4ł[Š zP€ŻŔ3XĽý-I-ŁXo×Ú/Ŕ‰eóAŢZţő–’MťkdńÜ®ă“Ăi<Ť UâCg”!Źś1š›ůâúŔ&÷>©ŕďÚ,Ą!MĎĎK‡ă™ćK“N{ëŃň“éň*+‚pzwéˇ%&éç‰Áϵ¶1Łĺb,Qn·«ĽÁqĹi1—¤† ŽD…F–Â?¤hë8Ő"–;ŤŽ ş' ĺ2HPjyÔD¸¤˘žq8ło±^Ą -ťŤ€ E…ż]=Z°î¤j#˘6˙ýr­ä"×Ţ®mv†ş|š B\ ý´8 -¶ăŞ=Q -µĹ›!^Ó™*ç‘@§ŽÂĺ§ÓšOµj¨1íŔz/DŞfH¦<Ǭ°NŽű1{&Wěóę °±+%ÍŤŃjéĺj'ďÍQą0n{a…Š{Ř…Ęć®{7Ç˝ Ë*Ź -Eµkuťy‘•"©ĽŢĄđŢŽR‡P7‚•BW˙dÝ”{˝ŘwÖ%ŚYáMÍo1˛ţ/eĎx•:ĘÉŇ?{€¨–ăCRđ_¸ŞĐ>°|®nĘíčꤟ -ú,Ł íŞÄą+ěq»ă‰CŁ G§ňÍÜŮ—żeKV8ĚI±nhO3L›ŕ8*Úť“cé{_-BfňéĄöŮ4†·„Ü*ć¸Ćüţ°T Zs7ÍâšďE:”O¬pÄ᥶]ÝWH‹3řć˛&…j˛‘›ŘŰm­[‹özâ^ '­Rh«rŮÉ®RCe~T'¬v­ÁMSu™YăŰăť—ÉewŮ´j†T›ĎѲkćŇëŠAˇ}{ŢÇĐ~˙ßÓÔ —l-WĚ˝¨QŽZV,ë‹ßčlI÷>r(¶¬2kiś”׺śÇ¨>˙í0™LVűXwş=tĘÓxCŰÂô†śs4×” -°ŐĆ;ńĐl'…'Â9éúÔÝŰŤ©\ŚO7ÖĐĺT‰®°í¦ý¦F~ŞqëťŇ`¨”g¨Â÷ď(˝ĺ˙°<Á@V8=†é ş~jµÉĐhł§•¤żý˛l=Ö˘ľ~ďv€ĂéőôEéaGcÉ_Ąî F`mř(^MĆŰă„ň ®ŞŤjµľ±ľ;ޱ´ÇĺéÁvYéWĽ­VŹ´Bý}Ę`ÇךžîŘ,—ŁĹľ6$äÖv*Î!ľŕsĎÜ(]’·˝`Ăćă0Ú§Č"ĎtŮR!—— ëîboĐ€ÎÇ?Đ4ěÔ{N°Ŕ=u&|młÓ{M;ö¬:÷ ´¬Áʉ«ŤË#fŮşâŔÖ§­p’}Ů#E>%Şä\PĐ5y‚ŤRMŹe&t°ś=7qËöZţ©ś…¨TÎîĚ2Ť¦ ßş‹Ćd­$ŢD2đt3p™MŔJŕB“[Ď×Ň^茑ţes -kŃ8"7XŻěîŚ0cég+Á…€µ -3D°«n…EŮś‹Ă–{>H.öj·UŠřŹ®Šďř¤;řĺÁŹ9.ŕĹÇ f‡­ă'ëÝâ43†ěźOňxç52´šEQ˛XGm®Iާnú(#ňďv(ÓxÔ-ÁÔé"®ô+üä _éwĽľŽBLýŠDŹ^ěÚLĹrG‚˝ş€Ë -[îe™H wŢSŠÇal%]S>u˛(e¨_ó*8k żóS§Ţ¨Ó φËÓpƇť]ov Ť3 ‹J389#yĽµŢa?˙vž  «2?čĘďÂjNř \Ů77Ů™ôÉL`1@ĄGő,5ěŤÎËR8ň_STő”rő$p¸Oă‹i¨+Ky+żůěX®FŢ-bĺ¸NůFžŇ˛/šß‘xs?Hw¬z}…‚‘rş®0‘H*e6˛˛>`1as ·{ËŻ^¸k»§î?`P*U!CťĚŤ„™)‘V-Ěa¦ ňŹ™äń8Ä)ŘŰąüR¦zňIć>sâ !©K?}`űÎo°č7€]HšÖžDČ Z÷…Ś%6¬ŹqîLË`©Z -č¤ęB˝ýßľŮ%ă¶AźKh\ţĄ -MţŐC¨›łëÖ‘‘w5Ç»RX—3ń7LWČĎđ>ö˛¨¤Q.î¶xčZۡ–xµĐ¤ˇĘ;sť˝‡Fű•*”®ú"ĽŔ{U—™a Hę‚@<\ď8˘‘]=†Đ_ -ĐŁŚ”k1 s_ď˝N‚ĽŁŃLÓŽĘ48>¶¬úŃ”·B¬¬+@Ą&>ťç®…žŮÉŢg_…Ľ’Ą«Vqŕ$&ćX~Ź8·îÂÚ±+ůźţ·T1 Ăh“Xöi9{&ł4] -k·ä0WöšKpßs& P-ÚóSäÝsňÓ^éTܲŹ@’óyÜpťě vÝ|ĺťú;1…MĹbyÄ`‡űŻŔ7Kµv=y§żRť*ň[ŁId¸ĺÎŤ[{Ř)ł?Dyq­kĂ;JŢ›úÜ&x›ךŢuK1ĄčEö5Áß*Ĺ—qo,A­­‡×i7٤YQ3oÖŔşuťl°§­}ŢÍ%ŮRAÍ˝‘D5üy[ŠŚ>>«Ő! „Ĺę{Y|\šCôkbŠ}ůäiĎ)'őľťąlżb„ÎVĄ5VD /ăşúžŕYâ{Ý˝ Lo1÷~»N«äÁďĆąGW@GiţŰö… -ßO=O5<“Ç““ž\l6Š´±Aˇţսهjá9H\Ó@ěň] ‹×¤ýůÍűj˘>…Ôţ*µĽćCÉC6ŽqAŃ-Ť„ěňľ€Ľ”Ňy‡Ë} Y6Ü·;Ż‹¬47iŁ/J‰ä×x -¤G×´Ş• ¸ŐNX±šé2°‘QžÂhžu„› 5žĂfŘ2Yy`6š0"gNG˝łż÷)ł† sëôˇüÚ˝ţÎĚ{x˘G‘^kp! DigچĽN¸é2Č :ĘöŠôĘ„ľŤŃWdţŹ"!–ńë‡~+i‰}ŐB *Ń$–ąî;|‚@ż.mĎl†p ĹΡ¬Ą#Kë•‹ë^s:`yÍ˝óIBđ^ć|Ź98{láçśë÷jUîôŚL;{TĐ‹µ\@łnc TJnŽB6¨ěťśŠôä›íŞă\H‹ }íňDÔgAţÝXÝ'i‘S ,1f^P{ÖŽ~ĎÍĘmmŔä 8oBäÖĄřÖj¤;gÓG/ f«Äˇ˘}ľŠ°gd'NX"]éřkĄËş.¨ŕŕw‡ ĘĄe°ěŚÓŽÜĬÉ!ĄM2óťÂŔ;Çs¬™Óh#Fş•$ŕµ ˛˝ŚęߏĹhĺüµęű&84ďçL+!Q$]îĐ~s¨7ZV^nÚ,Ł÷樜“Ć·š8ű­ë×bvŘfĐ.hĺäz5"‹3ě–yYRÝ T&HC;ńw}TuPeÉS;ÖS]dTě §´đ”Ąa!BًչßóůÇŐ6 ëĂĚH‚ž«^!Ţ„Ť°ËI»/1 p•ďü;y}ý˛ę•čK%ūѓÇëBÍř.#łâ­é~3Đ9ă€Ă3ix®ĺÚKć‹mŹ(©oˇÉ ¦–ÜV)˙Xˇ¤Ňć´V`O>5űü—O/Y,»ŃÓgvÂg*ce <ŰüĄ˝ČłKřŃ˙g‹„XL;*›OOq˙ŘŻw¬T†hťg.ĺaÎí˛n"Rą©m{”˝}R čmC“ÔçÓÉó|ăż§¤ĚŤeľŮ -d=6Čy]ćwIÔÇÎýÓG Ë‰b—xEYµşĽ‹Â˛Ó‰§"ĂČGţ'Č$ßđžé|„’şéţ&1p_CQ¤'Cj‰‰Ş/};mֵʋUgHT۱•tűwo·m+·ôŕüT­;WAK#‰,z»dÓ§oäPż˛Ěi×çíš–-č—˙F”©†0ib/nÝ/x 5ÓúŠ×!ô©> 3,€9čU`«$txŘÇÔ?»éا‚o¦[˝§XB+öYPýkÉhś1—¬Hă]ýÖ^P P‘¦ĘçĆť j±/VJ®¨đ\Ż‘SÍĎ- $"3ŮôŹmľ4ýö­ˇ7îó~ÄűřS‡Lý)H*{sp»~ł#Ť¬‡A0öF¤Z -Ä"X¸Žř -ÂÔKł[F”x&ßHőox/¨ä‰Çu~ÓX1E2-6’Ľ¤Ł~ÜŽZľëě8ěšműůŮĐä™%VɵYśX©¬ć ‘„Ä1-ţUh/`ÉXE8u BiŹűviÇ˝0üĂG6ľť·î]Ŕ:âĚgĆř§gë©ň:ÝD%s3.ý„7¤„s0%ŞÁ«Đ}`Ůęteďĺ*]$•€šśp‡S=b÷%ŁŽ2żÉFřˇßHH˝÷Otěac‘Đ=‡ăb7ţrPŮěŹSćW«ž#Q Ašrş‚Jd›áŚÍW+;ŇĂđc¬…ßĺSô^ŐŮ—Đ+éÝ,…H^UKŐ2×—Pç}7 `öÁkÄ” GŹ”QZöő`ĐŻ•¸µ(¶:Ôw4°cĆ5_°*ďQ5Y‰1íÝŠ*†UIŠ”°ÍJĽěĽľ—đ?†ŃpZf,î†ůkPŰuáč.ÍâĚ›DwÔŢnňĚSś“kÝ'ă«‘Ü®2%Vv/búčošđŚr ~ą0 ´öŕ]pgN#I‡ oÇ‹FTJ(n©äÜĐ®N -k&‡Â@Ť‹šÎŚqü|kÓéąXxË]ŤyŔ|ćšg­úfţ¦J4†«Ł(ç˙.±r.§… 0±ş‘‡X8Ň%××pkäs´8/§XđŔŢ[ôµ×О_B L1l -/ôuPŁr/ŰŠŃĹgPkޏ2¨Y$‹í}2´Z$A>‰ŇöpHa -R”hĚ]ČC%§ÂÝĹR¨T·Ź;?%K¤,ÇkŐ$;Tš:áfh” €WDŠ|_ëUĄĺ¦Ą9šȆ!ÉEv4÷¬(§™~?TAűúE”¦I';_ڵ}¬ăŔîŮ0ĺ­(Ofö¨lŘ·oRH î•|ň%…rI…ˇřW"ŔűŃQĂ#JB -GbMČ釉żťůuÔ ‡Rę»ĂĄ=-}öęg&‚!pt÷»čîçě¨ćn/Ŕi¸+iť» ł[đíŐĘĹ]=ř”€}ˇ}ŤŮĽĺóesQń­t3á¦Ě`ÄÁŐ–ëp:ôvżňšŃ{§¸»ĎÍ’_Ă ś´o$řt™–6¨;jŢ„)Sń(”O[n˘uu©Çř?'o éüU˛‰&…đŚk6m޲qě6@5Z±żÁz9.ľUK°Śăř ÇÍžZü«Ý˙Ő˝­n€soäap Ľ‰ÝÖĄâ¬Cö}b‘­Y Ţă”ŰńˇaÁűĹd# 1Ë)ô–¬Ľ‡|@Ë`"5ď_˛]VG#ę3ˇ‚š ·ĹôÚŃŃčĺ<éfđf‰UJG(7:32K|ÚŞ—ď« Îâ+ÔłŽäwDVSř;Ż^Ĺě”Ĺŕú{⍭˝K&4őö,^©WŮŠĄkRu0,Hꋪ’Î /•˙)XWâv·ű“içpÝŔ~şOťE·»ÍrĚ“VAí¸t§ř€0éŔ0ämi*Šč\lÉ6qsÖśrUP±„޵öʰ¨şdR-ÍŽ}I>{%&lí-¬Ť­ĘÍ$cL^řBC{5С°çrÚ‡âwĐ-ú@ăé¬ë«>v˘şÖ“¬٬6Ł6ćb>^yפTVh„ńb0Ü $˙‰›×uŰôäüĂŚŰ _ä]?^Ť„F Üůë¬p`ĽÜ Ϩ«]PqŤ—ŮÇ×üňÎ-µzÁ‘Ą2«đ_ÁÔ66ćÍҤWOĚă‹`R·ˠĘRwG҉ËB}“@aŻa×_ŔKAä·6"ńóÁ››KP-'g\…iÎŰ6™…2]>…VĐÖjW¶ÉJ1n±1#K“;r§ ~˛.ű*Rb…ÚűHzŔ5`aófw\ăxšÓx"_N‹‚pč{łrŕąYOŃa×Aň×µDŚ…°ŘţąűľIëBřĂMË -:¦/Ëdó+CŞ!Ťm7ľĽQŇ UR.“Rć-ąRB÷EĐ´JůëŕJµç #AÝߡ&ËĎŐÚ»G®é«jZy5”Ë;/R„Hą;Í KÄůľ}­Wç8n!(Űşz××ß…Gă±H*ľ€ç¦ö#%ÇD;j4¸ç§ ”˝äA§†0;+W#,Ě® ­_[l°M¨ąÎYńíP@ …¶ŇrIš6ě7Eüc˙ňźű„łľ߇rz.ý=îjOyź˘KLäĆzĽr¦N I E§QÇťnpđż vIL&6"çLđčÁčţ˙ ŇÜ=·;Z=(âyM2”'>vBŃb|›Ö> qK¬g™ÔRęŐ™ţŔ‡w'łËű(}‡UfH9Ň4¨»¬ÉzwŞđ]zC)˰“‚Qiç˙Ö=¤‚1–1ţ´ĎWć ´»jĽuH …Ż(G2kŻt„b$µo÷C™WĚźŚëě+رĂC‚˝÷«:; ¬ˇ3wÝuG^{ł@ôÎJYu\Kő(§G sĆ«F8‡N~§žg_źŚTm˛»řLĆË’_«?§(-vťg`gT•Ą°żˇ¤IŕѵCŠRëĄ ÷;4zu%[5ź:âVżřWcYѧü\zx¦Ĺ'ů»ůÂĽ«yń'®¸–ź?ŽbYT}YXřć:´'˝Ţ4ÚÓ öĽZ`Z3G Ő˛ż mß)Xú-/ĄČÂî÷qió„˛Ă±úMÖ#gha—í¬‚â<@.u’)ßęŢzţ]hŮČdZŰP l–w!ó]rRÉâßä)ŽĄČÜ—/5ţ’JJ‚oĎÝŇŐą;Śđ,ŐP¤ˇ\Tďg ¦kÜAô{íPnć%ÜO·N5Ăůż÷ˇý`†Ečšn©f»ĆÇ€ßK¬ťlX”}´7ą+D„ýń·H]gW]-˘˛WWăŃ%&c|gwü¤äk2fQUSÁ:Ľ=ŔG3ÇŻRĹŤú),óNáÉ“Ťě -ÂÖŻěËNvH}=T!ă=p6Ĺž‡…oäÉ,6 BŐD¨'[‡:şl ÝR52^rrUUk„~ɱŕ6>Íó,Ę («~ŽUŇţťÁ¸|xMu>ĆÎ,(Z\d[ âé/†EtČUăYť5 讍Ä_ÇąŔ¸g*·nĂ{Ţâźđ1íđW5}ůüăÓĐ®čv•ľóÓĺe.‡Š˝BFcĽ``đ9Ć’·éë(\ő†ăĎŞĎrÇýĆ˝M Ď@¸‡*ńť¶«sů¨żuž@ËgőŹ2,ů˙”Ĺ4‰)$hÁ=Ĺcťn‹ 9úo(“—ójßşŕwéą±ĂRNvć¬6ě·'>ČatUţľ,Ö¶X3N(Č[w][ćŘč2…h# 0šLZN˙/p h¦ą «ťDĎĺcqżŰ9#‹dM™űH^ó¤–ş™\ß1wÔę¨Ę ˇXN÷•' Ĺ9çpMHv±8÷h@ÄN»— -U ąYŮPýŘ‹ŐńŚůÖ/ŮŽy"Ą€ř`rŚđYćŠŕ…á„€aăWhЇ2A;ßY‘ĄĂ”ęˇÂF»0źC‚ŐăeÎź1jR›‹ą¤¸űSčS_6ő;ůO|şd%â§…ęK6îgáôX‹Jëú6H4ÝţE—Ä«šó°öܞݻ $żäĺNUÇ÷#Ş05µ -Ó ˘Já ¸eŇĹVnÁË­,Ľh;aµéˇLźíwběµBóžÍßü_ąs ěi/ ÂIď^XĚŤ˙ŽmŔ:ťÝĽa۰鹤RÉ4¨a9 eŠ8>u°ó®: ÷_ůěU–*—[b6Lnrţ jĺŤXs°/Ŕ†n'L[Ł3Ĺü•–ŞF'ád’T]¦qcßŘ*rŇuU¨%ç,@›-®F*_Ď{‚Ă)9ůń˘L˙Ş5`ďâƨvżWŠŚĐ¬±Br¬šlyłmd0°Żi|đmWţkďŹńdłŹňĺó˘ĄaÂŻIç -7şÎG˛y–Ë©ž†ľw-w”“Ş®]Óçs÷ŘĽw~)^tŁ 6KĘixťďŃAAűĄ~Ď… -@ë)ÓĘ@‚RP1ß&.sâ4ĺ–\ĐÝ5P'ž3· t+ .×G^Í,«uÄ|/i –[şrĎăYç`“Şę2é0ŤÝ ׂs -®üUBÇ‚0˛ýđ+2[DçÚČęÖ‰ľ"$=÷2Y]ŁťÓĎ8¶°"±Ó[*K”D{ňĹŰ­6Ă÷%áöPň4Ψ]ł-^Źě0QéĆěĆőÓ9W ËÇ3Y税k„jÝ7•µgŢŠEĎčęűYĚßV]ÂÇ·yNđu–,aĺvzކx÷·ÖűíÁtđDY§™ÜĹ‹ńŻ]iĺ Őą|ŻČq?Ć=łŔşÚŐw¤µ`zĐô›A©T±±}zfĆúŤ0čÚ,¸v$Ęfřg`5«~§Vî­Ý٢´IĚb˘ęŤb’«+äě–r©Ý^#š´¸_ÄcĎ˘Ř ¶˝q(wşŃ+!µ°j¤ř´JcŽĺ`LŘüb-5bĚ‚lůšÖÚD‡Ľ‡b›m?`ĂěDhw8°·–\–©± ×Ý„X%n;ĐôUíN9ťo€ÂTé$ľO„čŔŢ©řÚ˝rVžl˘JęJ9‘S% ˇĘëŚÝ'2©^R ‹ň/Ń $§şŐ|űÎŰQ7=~ÎV߀V1uÚíČn -ř}Áz‹:ă ­ë[uk­ N¦Fń]ÔĐš‹ Ő1čďŠôů>,üĆw͇몎ŮĆLá˘vś6~/ŻÇŕ˝ úu–PŰ2źď¨•«w¤RăjŃ*TMź'Ż?_ż˛FIëóć"=v‹Ç­ ăěĐ‘íCwÜSX•=·q ÍEk:ĚÖ.ďÝÜÜ’ůYRÂýí!¸Ćľ đ¸ç¨74˘ýýĹI sĽÁ{Ąz‘]fK!«36±‚]Ö'i_V—RÔhĐ]1ŰÔ;l´S‹Ý2íçżCşsť”<Ý0Ű-!˙w # -eĺDAhUŘč"aŕ*źţ’X•3ŻÓé °ë›źwÇËVĘU}ŕb'~ô >. h^nÉQŤÄż†¨)ś˙}„|Ť’2ɬK~pUWłß—;~ü®ę±ÇÚ¦sźŠmsĄ÷€DŘGilŠM'e+|ĹńĎC¨GÁ˛&*¤g y9Ń%˙ŠŢö4×dt˛®€ýEŻ_ńŐdSK]•ŽrŠóeÚh'Ń4Ę(Wg9â uÇţT7›őŔîŚĺ‚M"VbŮa<›•Ş| ’ %OCę÷±DKCˇ—n9PĎŚVS¸Lí+Ľ^đő 6âżó ® ô&`F¨~KĘ`é.ń•˙Đ Vó‘€Ä.]Đľi•<=†ĺ61Źő(Žxe޸}©M QXň•äţßőNfŠ­”)@NJÓ“•ýMŹ›Z Ě2.iI‘YăEńI#ščŁđmÎÝő^O®đ˘‚řŽ®SçH± ‘\ýŢh\˘MFAáËQ’ş¦}*äźz÷<ĺŔßúů;(2(}M_Źä“96±˙ČŁ2`Ą*­şĎj˝,ÁqŞ,éHĆöĺ)Ä×y¸D©—9»†Ţmhaf7dé™qýü/T‹‘źIíĹE6gDĚ^o88şűĄž@ąÚQč9Xśw…4ÁÖQxĚiOńŔŢpZIŻcm­Čű±üÎÔ+˛•äĘr -ąµ94ő¬•eú(˲Np,Á ę‰ď•:äjZ'®·5ł6ŃĆóŔg~ëÍĘOë‚Ö‹Z¸ -öĺ '\×ŃOôíŐN–Š’°f†şN=âÖCµšţ: -"ČŤůÔK'o9Ž÷â­\ö6+™âÉ«ÚfF=Ď"âo6{Ą\ăqVŚ'`‘XŮ'•Í)0µCQD/ÔÇa -KEDÜÉ6Wv˘ŐYP×#aţjSÚI˘Żě ‡Ňä -"´âáÇ´]CŰŕú†´wŇŻĐ“u÷Şś†Ĺ6şĹžĐŻ©U"µ[K§AŠzM™„:k«Ňy2˘xŐV2‰úáÂÚ{o5¶>Ç{f»ôž–Ż_Ä•)łÄáar.>ßţ* :ë¬ţ+«Ř• -â,M3ŻŽżŕ˙‡1ăĚeÚţÔ -6ţk­“î<ŰUΗUłÄß]¬ĹÂ^hăWfĺoÁTf¸¤„«‘ťr9†’I\őü¶ósÜZ˛´ ›Fuf!Ôn­zŢęŇď™čĐpó˝$Ä}ˇ‘ĆőŐÁŬ -‹9c-cVVÜé=˙7QkşgizŮŚLd ( mQRVDníôdOšn¦üxhÍ‘ĐĚo%¨ŐŻ+,Ę˙^lĂń L±YA竺XÄ pLš–°ß›đMi%;ŚZܸŠlé ~ňI•>S¬Őٲ/Pđ©űO°mŔ«p2î‘›TŢ/»OÂČÔR±4‹ň#(5픇3¶\łřtĹZ łr>»Źžp˙Qc Ć™pÍŔcU;;UMǦFţđ}Ôíß1€±…—ÓÚ>Ľž2ĺ\äVöc}VJ€weî’[ÄťVůMĘĘÝZ‹kf~RŢ9+r0D„U®ł˝żb´çHµČťĂĺËŁ©™‰»oĚz¶ &×â> {Ř˙hw!ÖESăŇ´`˙@Ç*ô˙ŢţU;·FÇ Ľ4ćX`Mdk&ě9•µ;–ŘSyČ1„ŐŻX¤Ť@#ťĆĂbŐŠ2˘uLU*Ŕě'V+’¬GË9¨ Ëdmç˙OŞo‘´6ôüŇŤ d˘ĺÔĂşő«Ăí…콨 ě` żPd/ޤiJżV÷O§îŚśÝJndŔÓ9Î^¨P´ *g śJ/ßŇC¨eÝ4 <¬ÔÄźÎíU®wˇąĽ,“‚­łžŁÖâ†çňGň`µčť%Eťü|-ĂŚ»ýCÄHĹ×)‹ř"Nh&ă´Öł8ž9…·™]ŽŕQÚŹĹ6Ęň¬ôn}őíW| ţ…@ŁCá˝6—qKhD:łZ!۸Rę‰Ç[<±ž“Ž©{Ú±¦ź9ŽŃăe{·»ŻÂ˙¦XčÍ×ËG>®7ľś|®ęV´Ňýµ´Kýő6}ü>:ě1Č7š¬`řA|BzşI–J`Q˙1őFěŞ6ŢVľV$·„šÉ;F9 Óiű4!ŔÝB4V© ăX%U«čÂĆ©úaˇcF&•ź=ÄÝæIËČŇZżŚFUDÍEÓ„ęVeO8( sî2L}µ06ÍsŚÄK -ň ´%ĺC6éÎ*Ň=™ÜeĄe Żű„Ŕ8ÜŮľź)LTH!;`?·îËĐ'äő<˘X.Ňbv“í' ˇ«Ń±D Üá&óí˝sŠë] j¬±“PT¬IhĐŕ~M1eű“ ×FšţšbGŢľ˘WŻ nFĚ5˘Go6‘z·C- -3ůfÎ;)¦l(Ť¨ź…ű‰Şkx+{˘š{2Ť6ĽQ㮌̽±‹čĹ8͡:ĽnéHŃ ¬˘';ýQeĚ*~®Y¬q‰["rpóAôÂ”ŽŞ«łł+:żjĐ -{®ČÔT8–QrMł°_$…ŻŞŠoýć€6]˛ÖŔÓ§Z¨ĚZD óTž¸”Uŕ¶RżÓîJâ Úy48hĘ·x!qZążZ2ŚNo͇¤ć.+™ńÇUBCí ÍľZ>‚KěźîD˙{Âfă7vö×"•ü}Ůýů•)s™í ąđÝéFk6—wl¶By ř,zbÂă±ă` rÄéůDŹBŻ™i°ŃHĺc–ôZóŽ÷żmMSÓ:řXđ0·÷‰ü–ď »+C~6Ła݆ŃŃ$Ň8׋[|ĘJcĎ7ěšůßVě©Ěź1•Fąa–"ň5oĎQd°‚römh—N^8S%9_jĂr—w~ ť«Fiµ#Jíą­^Î\˛ŕFt‡3)čś”â'»†î6ű!0ŽRtălś8[Ŕݰ2Źđvť•‰ŹaŐđ-Vio ßüČ;Ćz97 ňhÎLőÉv.Áö>Ç´ú|ÜV·Ë3l&8ÇĚÎsŐ6šăřź–“ţłŚ-LŹyTÓŁ<)(nüTT*˙@N;yV3wţżRCü/DiPuo†~Ř÷íŤÖş?˛ÉŃ@ë.# ĺ-·ČýľW^ĄÜ CĽa÷ŻOŞWh6Ľé;4fł–ę{ó‚ -šUiăŠxŔĎäü„ŽpDŠĆŰxârŮŢÁT^ż$–ŕĹAC ”Ŕž9^îVµW¸0=qDÍ·„¶2&‘çUŔÎzňššťUô1 × wfTJŕĐ4aÝv Ěp~szżéä1 @˙—ir¬[oĚ$;â#K? Ţłp;–„¦\ëŽŔ±Ą'zÖFg8Ő%ídAD¤?ű$ZRľ,°¸_oŐ˙µ†ţ 0ĐÂ7ţş}ăÎ˙3B©RE»“P¤Rş$ŞăµŮ6;Ď8=ËŤsĎĎPŘH¤?ۉr(Ń#p?ćL›łBˇ(ó˛Pe¤ŢVĂäÖP>BÉĘ#ZĂ­}ć .Ri9ŰÚŽ.^ň‡ńptaŤďľĚu}ťóŻ'¤[ˇ\Í­[Ń@ŁfîČ ŁšfľÂßůﲖ4 oŹ^˙ž9Ž“[ٞŽA ‘tčťQ^´%Pé_X5«h…ŤZçţgpÎd "V~OqZł¸h:Ĺç:ë[PÍÁâ'Ą§Q &ţłúŕÔ>~—ͨ ÍbáŁ,*mňrłYňäřÉŁ9î»X,Ć$„ĚęFźR@Âű놤ú\LPšĹţIkvxšüQg7 =Éóbö€ ÄŢ BßÄéĎ…Dľ#3—Nńd0Ľ¬Ü~t}’(,(7»|łÁÍ™äeČđÂqϲţOâôŢ{CŽbŐ†í—|ţÎť/ZË^öżŔK‡hŐŻ8çMq’®Yë™=łÂŁČäľR ©©ÚĄ°tÁ0]ëCÎŇ…ž+'—Ń•3ˇBÜ$©ÂCÁŤh-ŽĐWwJUťŠ##KÇLT\×Mť° Jőg?M™VÂŃËĐçŻjüů ŕ`& -aźr4ÇV[ ÷ŢEş -ÇtŚ<ž?î˛rő—ü+N‹7XË4¦C®4ľćhřĘŢşp&łPxąjfż{zÔ]űů<°ěíʲ4ę]`hŰzťűŰ"N1Ă×r¨?÷ĐšhĄ{Ý-PbT<0#9Ţý†Çh`Ô C= &¬¶h -ŃÂśÝű #Ĺ0‰Ţ!¦ßa -Çp÷b\e•i*˝ąŘ4öő‹ŇsŞ4Ô&Ý;‘Ô-ˇűoÝ+C¦Q<G…?kŇőĆšśµR\H“c9ÝŞľ‚…čʡ—¤Ű­öâ@řM*Iöë–b·WĆ,č¬wA‡-’»ĎRÄŠÎł‰)' '˛č84X{ěâ˙>‘ib“ż±HÇŽ?!ť ąóz*cJk¦ŻľĎÂ˙CÖĂE‰- É kęOŃĽR±[§ Úi‚ů¨tîzInpĎîÉ8»,ä!ľťÓÓj~0r0×HĺÚ ®{kŤ&Đ÷fDŘëg&cřő3UuD gÜ>q'ŕ8mLv ­× -śŞ›6•f“,˝VyjńîśrVĆ)%ŽŤË^Ŕaf©xJhxÜŰ®]Ą"^ ­ĹT®ćŐFd‚ĎXVśSlfĺ¤xýCó‹K‰˛g怠7éDúBŤŁÎ1kL\mßşĆÚż{©˝ůÄbe=ËMÂ/ŹmĄę^‹'ď«l§bë÷źiRýb/đŐdřZA†S”ŚŐ1›ô €ËÇËm$Ź•mXí—Ećüµ·e0˛–'Ś˘Č|Ş ŘP=–űQĎAó4şíţÉ3đF§ĹW żr~™Ş(ńÜFEüoHuńRžđJ-Ö×yDMŽ)"váOD— -ŞÚ@•4GhŘ^šq§mOŽýa­}şşn,fŹhßööµ×%ÚáaĘ=? QO·7Îő™w´®ă͵ -ĹG¬ędÉü0DŽúŢĺť9Q?A”ţWşâV®Óv€ű c‘vGľé!ěrŮđcd0,ëüňEŰĄź—ű¦:r{ˇŔE;?¬âŘôú—2™“HśŠĂ˛˛ÝëŻ=űż™«r®ő} Ţs~Ŕ‰FĄLŮXŘÎ FľÜŔ*čMw™-ýâôŁĂyoZŻ‚_­Ó°2]Fj_ůh1Ś?łbl'm;ąb]ěiLąOd…xDËXÜmIçĹlěŃ}ĽÄÖ®"é¶áÖ´3öŐŽ‰ ˇçRÄkt¬ăÁö±»Ź.¶ĎŞĄrI[ě)‘ř™¬/ďEöş&Ptż;sň‰xuĹś»§Ňq0ćŮc¨˝ó”a·Y˝{N—‚"±Ć–śá*,ŘjzntÎáŐµ1.RńšµKŰuVU#“WfV”ŰđápĘ ~YWGĂ”áI›č9Ýë}R)•É bÇjLł€3ą“)äžÁ!:%R?ĎGN؆0Ż(ţrÚú˘cHúe#ŚžćEúlh_á@7žúĘŢ8íŐSĎbĆqSśř3°ÚIńĽoř^ůwHY­,âŐc˝×YLQ“č!eo50­.>ľoŞj”·RTyµ!ś(˙3¨ü°JĐ:Z%)ô“s.31ʉďO˘”袧ŤuN›ý-m%kŚ:eó„çyŮĘ8rUÚwGö®>­¶S,8.POrHĂHŔ`¤[HË}‹ĹŽ“/±UK„ě IÇíoęĆAhÄaĹpafĚ€nĂ’%TbĐÉwv”Y©kŠ«SłĂ -@ĚÍ8šłŐ1y҇BÎŔ·îĘ•oهőÔ±ŽqcĘ€gg$ÝŢů¬ZO%‡y€«°´‡”Mđqsęťű4îW»®1ň(^OÍř1»:– *ťŐR٧5H÷ŞśkmbŽLA_١Z¤/¬BaËÎ’ĚB/« Ń“‚’űłp6ˇ;çŘ´EŮ:u·~Ş” M—D#Ŕ!Áĺ NRg™µ€´ąłß^EČĂ9Hń˝Ű˝ÍÇ0D őe{_ö0p•d±žâ´Ł™Ň «% -'@fDT:RŠ˘•ŞŤĺ€÷ÇŞ5e?KÂMő1h?GgÍ0š~„4 c×imŠ˙a9ü±¸9Ĺ2MĂsI­-†ŃŰF•W8ˇ»¦—‰Ď;÷4s©FĂđ€Wžř®ĚŕäŢ­ŁáqVżUĹ6ő…ĺÜ/şU4·SĚě!Ýl,eěóó“0.Cqĺц¸Ö“5€_R<‡;]DăŞ9Y.ÖF… çżjndSmŐ)˙,şŘ^ô×—c)Đ2Ăŕ˙üdVč¬âo€¬OŞřő•Î~1)%Ł-o€‰2í˙ůřZhôąâ¦É6ł= á‚OÖ–2.¨·d»T’¶x?# EżOë€-văJN9'<•%Öôˇŕďh=Á, -ŚNFkyYŁŕD2ntYuí ÖÁčQyEĺV/aë3š6CÉ0Ô¤s#šÓ1U(;ş˘ĘQ%˛ ĘíeMól߬+</ĘW„Đ~źąz)µ‚w0¶ô0 k’Ë3¦OeŚĄ$T_Ҝ⇟“óÖ÷×~O{ÁŁ ľ&-«'‡ĘÓ1»iąËµgd@ó -ŘČĘ•owh3$v>¶Áź['&°ťł[Ç…R®žž(ÓpÚµ®•Ý«Š'.–Ď@UAofu*Ýť†°•qëhŇŕinÖeŢľlyó–÷¤hBڍHQĎ}9ŇV%#ŇŞ‚¦Z÷Sţ –¦ţžńňA)â6¬ -ôEüá—ŐĆäŇąëńDäN¦M‰˝* Ŕ1A4řbŕ!O–†ë6ů‰H Ž*© “ÓWÔõŮ[¦WĹţY3í‡ď˙úőÓiA( ۡ7„ÇąSnm Ď-G:Ů{ĽŽS)eećŮéÝA$ÝC»0l&˛ęěŰé«=ZvÓĺĘŞ7úČ»Nv‰í—´ŕŻßý&«ďžŁW”ćŚ)ĆňhÇ|2’a‡XżŐŔ=WşÎsGż9J’l·çďťÝ.ŰkůҦ@9DŐTčAťô¬\ă§/#–‡ ÉŹkR?H_Ťć«(ďĎ”CŠďz`ţ°ńŤ$ŞQźX­B€¬g#*u.†8ě` Úq“ŘEÉČoü×Ç7ş`Ťzş«č-iť5ŕ WÍúçĐąăĘ›Iî<†l¦ŔÝǶź}Y^"Š}Šö{şł†Ô:4ŮĐ -Q–qčIq~^*Dý0 2{®$®Ő`_­Đ_źĂßÓ%˝Ą ťó^Ť%ćáJŕSÜ †§YO{*+AÁOd" -űx# ™Ň^{ăĆ?ĽPCŚXcDZŕÎŚ@Ý `¬4`–dDńCGehj “ąď´b5m5祭^nŕ-Űa„;_¬ÇKý N…ŮdĹUŕ ÉüŃ Üčţ® M˘×ö -„5Ą0j.¶ĺ´ćŞ$×Ú4Ęl›´Ůńň&R¸=ˇqŐ1%“Ë–uîťŢN„Ä= QhaÜ”Ä'Ž*OÓií‡vPDŽܞC˛„Ä|ĺ„Ë»•Jł=-ôî+Ë ¨Ĺyđ-aDŞyBx7iM±›p}y¤•`•aú×Îa\q5W Ą] ­§ćľ˘ÇË1„ń±¨/‚ô<đäÄ?Z껟|r­:\z6ŢÇepR‚ĆŔë=[ŽÔ$fO”=Ѱ$hÖ+-›ő^÷öËMŻ/*^`éÉ Â+¤ów;¸Čto“4ď.Ďםĺ3m§L¬Ž~(,ń“i×zi$yÁň©Ń‹ĺî8'äŚy†5/ŁzIz€*?„–xŕ¦Yń´ž^qCB<OlTŚÁ™C?Ăď:Xŕż·¤­v¨Çk5żšBúÎukh±3kHäĎł -rÓq‹3őNAůH8ËíLFRX™>Ë©ť›6ˇąŻšŔĚşŕN W‡„ů×`×±X§˘J·€W¤Č¨_Ś Íú qtQ\;+…-înő÷[ů3|1Q ·ňýł4*đ PăâCäŘ'MÄíi+áşµăy€~®¨l%t -)Çë!ő`Ą6jµ…DA3čŠ˙Âóż ł VB‡FdEWÍíăç°vôů[V4 …üÉJ®†wčçŕ8 w/2JW—©!V -ǧMÚcŔOŃ/Ws¨i~;Ť5|Uč– ™Ő&Č™EHĘ‚E4[* †dEO{ÚSŰ^3hŘôŚ|ů·Ţa=ňµtŽä˙ä_ş’Ň=ñÚ˘ ľVőFŘ8ö,DľňµnÉç ›^Z$윎@ŔUč×^űŰŮôUző‡‡é0m#ÓůąkÓd—Čm¸-ŔŹ‹†bő’,ö¬ĺµ…yÉßŢ_sÍ"04 <şµĄiÂ@|w>›‚ÔYé`Á5ś‰Ńő<›BŘâ´ä]ĺČýŰw;U¦Öm‡v×âÉ §č˛ůżzBo—ú{”äĆŁ]=†`˝ű ±Ŕtű˝ Ół5Eă¸A%:¨î’Fđ+Sü ¨(íSąĚŽ•FĄđ)ĹŐ¨Gv`ňLE5Ďđ5ś¬Účr÷ÉLg?&|ÓÄżpfĘňš_—yU¶@{=€â¶<÷ýí Żyqa0*FF©x÷Ďv’vN»ć -Űö3’!q;$łbmuŔŕLÇĽ«ÁrˇŚbśëŞe{ %ĂŐš"0^ Í4ťV×*‘/bPm‰—â®îljµľUńç]ůą!+ŹIńéÚx€«uĄ€ńݕߨôiP.8†„3ažj{űş]5Şv—hâ™H ;ŰeáѤąw"ćF4<`‰/‰a.i>ŘËšěóOÎőříîöVŰËů‰¦;jË·ď“ĺ?äŰ»>Ő¸šßoE/šo(Ń‘íők4őpýŠ+QpÖĆOđąŇ%á3˘XńŐ{’=1b€<ç`P ĺÁ÷1T  -~ĘÖŢ­,ç6Ó=…Äýň¨”1¸2ËÄĽŹôŞ-64Ą p™<ľ1íşNŹT?µÓkňňÓ%ľBÔw9Óá”@…łőăZ/ňÇ‹űĘě%żB¦>ö«ëi/LrGůR'Ńéѡne«ÖxŇ{ BůŮ - coĎšŹPU™{ŐevďO32Ž-(IVi!Ô‚np¨ -'Ôq˝;śLZVMfęË^Qŕ¸ęŮÜě\±D™60dRĽxÓ~€Z Ϥ -ŚU#ĆâƱ#.ŕ)˘ůR˘UrJ5öFqc`s ´7źý$ Đou ö5\V<©Ń1łÄډd]#Ă—ň ŞŘËÉHÍŁÍýíŽN‡ńöŁ( Ť–tŕŤ·;îŞČś…Xýęš•±łéőÖr,8¸Gő‰krľs“‹Ĺ펮~qńFîYüsUr˙ëîĺ §ŘEżäÝTž[ęú}_ -É{M„qů#ôH{Ä˝HŐ¶ć@p±ż ~ł5©É °5O·1)N¶ŔćńF¦Ś|Ţôy˛„'M6„¤°U^H•Ö’ ×TëĘŤvLĂíĺëŃŚmëÎ ůETFą‹»˛řawř˛Ô*ąÝ±‘çÍ„Î÷ićŹĹşj‡jČb‰ĐŚWÎÝšDĽËcé°˝Ŕ¬‘J—_X×Ô˘ĺy•Ż ]Ŕv°ĎámrJ%3ćŽŘK—i±˝)N#8˛üćGčâ[éo±$·¬Ö:ߨ1ĆAgßąŽäHI€ŠÍyy"x´˛.úHršú9“Ŕ~¦°híĆCP»űš}Ů­WĐŘ…ĄD5˛yTV͸ś¦ýG™}6\ôgPÄR¬Ř$j8RΕç<©úEBzŹ’ŕ4tĆŐŢJÇËN'ýwM­/„‰úx ”g´ŰŮ7y×EąčO X% Ďq!8ŁK1ň„ ýB-ýďÇĽăÜ’ĂŞËÄ}Ó čÓΆťŤÔšŔ űö¨TG†'ůĹĺěĽeęÔ=żĆĄ ‹*|g°­¦ÜâüÂ~1[<ľŘÂÇŢżî„ d2Źěu•Z’–UÚp‘Î䫪ŚB@ P—ĄÄno+˝*,@rëŮ™ ů’¦3bŃ˝)sQ0O"ľ;¶>—çۆŻ'Ňţ+Aż:]S>Á˘e´'v†AC éÇţ?xD^ /˛§†âě˘;ç€P¸ˇ]QĘŽ„dČNÓ¨«µ/ň7ě#áôlŹ:P’Ŕ6#r ¬Ŕz‚ť"Kź@(:7e" -_Ě•‚Ć{B>k€ă‹1ÚĚžżÓtPĺ?vŐµ.|ŻLT{ňA@B¨ţ…éŠ(DúCř‡më–ĘëwŞwŚÔ¦-±ÖĎâ ?\•¤Wx¦¬Ĺ…FnI N“ö´Ť˙ëŮ2Wąě=-‰×úůM™—’*ŻĹŚĹcČĽNC¨˘°P÷CÁe|0¤*ł$Ô%¬tQCí^BaŇź<(|ňŮđťZŚ Ą˙!@¦j„“ťŰEš)p…ą‰ ^‡—™e;ŕ5Â…¬!„őɉڎéî]2p#;Ú—‡·!Ą?Ż‹‘oMąĄt{Ědă€?"şaŞ€Śšĺ -·»í¬˛J×ËýA—„Őp~/ČÂç -çal.Éôb°@ăýNDŰŇpp›‘njył«) -ť5der;í°%všTÔj·ýPzŁť‡áJ&»źŁçk!Kű6ÎM|q§ă+·¸}®łU±; -\ŁßţÝ&ŹgÖ×Ë ÓKBóhhý9v$e¦x­‚ôřQŕë~SFS—´ĺîí3(‹Pnâ56™ľĎµ>‘_ů×*=Ü % &-nbŘ ňD難ËsrË{ś¨™ĄGf*ˇÔ¦űÜS߆_e©"˘@FJčśĺ˘ô;±k–.Í ŐăiMBU·CU~lLNĚk[° ,ď¶×Toë0ŽuJsoią—7űHÝ*ćÂÍNwýgm‹ˇÉŁÓ yĐÓîĐf7*l4ąóé7>—BŕyIđí°5Oę;v6óýĂ e:ĂBˇ±˘ś$±řźŹR“ ®Ň«qN+¦"_zÓJĄú\¨ü^źćĐ^c`¶î/¶Ë–`ţĘiĎD‘Ö‰=ó?G@.0âśĐžyVűYWA€.ŘŻŢęω Íüďő®@!}i=‘¦đ¨^5k«j»71ÖLoĺ’şG®›KP˙Ľös8WwĐ N̉źđó|=¸~ŤŽŻHg1)ň‘&W‰Ň®Ź¨Ž>÷©·fĂeŚ8–N:ăY%‰łŠ·§-éý„¦ś€”)˘O L ÓbE·Úp'hM#ąŹ(ż.d„PM -Ľd ł ţ–’äůţ˝Řňóµ’g¬©µŞ! űÄنęŤ'sČ.ů?1Üżé. Ą -đu 0±ěŰCEmZ&Şs´Á{ipsţâˇ÷‰7”C˙•lţ»¤ľkčw–©xö™:~Üâ9«VjŤ19ßů}żŠ+~Ć[)e;&0H°‰|’^*vĺű-í“Ll°pZى7ŇŽ)•%¦Sď@äţÎ&Lä*çÍ{iÍJ4ŕ–YßÔhť×ŠB±Üc(lJe`•¶ßü"K<čŽŇŮĹcEĚąwđZ÷Ž1Ü€=W>‹äŹÂ,†Ż¬ň»é…TXB[“Ć&~n`Ä„tˇÖĎ}{z¬ürĹ…ëvoĺ¬ňqÎ7Ôč±:Žňô’a‡ŚŢmab ´ąá,¨|W:î&^Ó`† ŔÜ9RaT€€¨śxĘűďʉ·Ž:a+žŃWĄ±Q,óŻQKü°–ÝŘjOmżú0ZyđqA†ť?ŢÂ9kó&>:‚@‹JűfGťÔb‹›L6{ËéžÖá&ŚăĎWµ—~ál«áڦߩFŁnŐřČĆ’>pFÝ6Đ€ř Ŕx0ŽpoI2V(%â2…ÝëV‹ęEŐaΊ ËÝĐ˙VB9Dg’}¦Éľ [˝)$%k*ÂŮ„öf׏„ÎąĘ÷ŢOĎ·Y~‡~V0¸ŠŹ…3ůĚK’ű…Ľńăućj‰OATć'üŁ;OÁDfÜĄyB'×^Ë ú™Ü‘žĘP‹đ:Í‚f˛1ue(pK¬Ń™3·vj4‡¶H°H`'…ĺúzh4Đ;*,‰—ę„Ǩ÷÷ŇĺA0<3-ô$żF‹DÚÔv&v¶~ĹM}nę!×Ârľ;wŚéű‹ćG˘€‰JľAä® {đ˘˝s›Üá„ţ¬‘ٱĘÔ-äýq?T®ˇ5+čŕĆáÇ…ýYÚÖĹó#?OˇFŚŮŇk1łKFŕgMŮÁ×é(…ŹS¦0=ĚŠ—Z>%¦P›Á@mżťÁB‹t“rtYđţ~'Ç:-Ěú¦0Ƨ öęöD˛9gÖŢAm0ĚW¨Ő~G#Ń,38Ěťzą'´cÚ#vś˙.4żé°(ů©ZʶßŮîď˙ruXËĹ˙öťé€Ů†¤Ţf€=ŐĚwŃŚđšľ&Ö[QpÜú{ć— -…Ç  .˝úm9— ~…>*äqŔq–dlNH@"Ľ&S+ů$V±ŕę…auĽ·ä–ëg·Zk7Ćnäá›"ňeBńßFgĹąÉč·YéV—óŰŔ¨Nś´ę… ô'lk¨č’®¸FXŠÂËĎHB‰ІJ`Y<ś]¸» ¬Žuę%¨ŢŔaâÍŻ¤8­q’Y¶Yę˙|{ä?;KíS3ŕ‰#=hź+‰ťž­Űe/]4+źZ›†‰ą/ß1áZ1 Ü .ŞötřTźíÚŕžäĚăuůadďOĂćGFô† Zbö¨•Ŕ÷°’k›)R´2Ž-'{m9á ±SÍRlôŸĘTr™—îĹuR›Ł#®DŻcć,ÜÍ;=Đ6 Ńý!ľ 2B*áÉ.HiŰéŕ ×µjśutШ˛1…ŕ‚’ŢAKŚ94^zćűiŮkP®CÄ‚¦v_çl‹Ó ËĎaŃp|ÄÍw|üŮż‚Ł*N Ő8äŰŤÄ׆É`< Ĺüµ¬bnű{M3WVćŁěŹ”Ügě)Zz„Śľ8 TBž6Ů5*Ł>wčÄ'¨´óŠh93 ŰZza3śUČkĚĐF„OV©`Őc¶HđVĆüKŞźSąýZ 8/ľ{ÁqőŔŃźĆB­&>^˛ďIB ˛Ö7âOéţÎEđüć§[6Ě• úÓe}µáÍőégX }čĹŻëSŽŐKd&=@"}ť~©Ę»ćíö”r‘˝n…VĹVacżŹěMżľH*D›ă´<_ż¬L źĐ_"]ţĄÁ–O3ŕZö1 ťţX÷¶Gh’µŻ*ťńQ¤Ľˇ]ĹËmĂÍňä­śz.ÄńoŢ~k ;"ÚĆÁn>¦Öns$qxéłËäxhH鯠=ě=aťfi¤ç±N‡&eű± Ż‘vź›l$J"Ú±ńŽ0´._VšÉp‘†ĘńŔG|yęJ/ 6 îź^ k|rytoíď¦.ľ%1aTĎç{Ëbç/ň“)4 <˝ôžŚ»O·‹µČěžTŔ±ĚÉKŐ%{˙ő^÷ö=w49úĎ>Ŕ«˝-n~¸ Č@¦tX¸6i+· Ä‹‰¦üečóT°˘Śź‰Ëi8vß9ĽĽr’MÔł3U 'SŽťâ( zĎBs¸ATÓŻüź«iüöĚD•.÷x)đ/¤őV÷Ź^ď<đŤ…ąo’jv+µ·¦Ě“Ź^#ýĐŢX ďPů~1¶uůF čŐۧjz8 )Íů‡KŹsH±»?żŔ¶JÝ)–ćÖr†ëĆĂt ±DŘyT÷=-7ö®dđ!!Ę[Í/ŽĹćzië>É?=IVÇ5J#$Hžf@ĆĆű'UÜ8B׸]ËV$%tŠ@ŢT Aí"š\Ý–­Ë—Śi`kp4yß˝áaź–dŁŚ—Ü+l§˝‡©«¨»\Ëŕ „mg;˙˙L†ĘŰť¦Ľ6Ál©ä˛#c7ć"űFŚżu€fčÓą3Á7 óŇ$ą­B/ü®´Ąă´«Yäđa*Ó{; 2~öÉm˘Ĺ΢=űzWđ36âľ×•ćű™6V2€Ş´kśš´?[&ÄR¶oľÓ7ë˛ě¤Ű•<Üę»q vJşŻrMaËX ß=Ó…CËřm^Eďżď€R–Zň=ĺćÓNÔKĹ’ť*ľžß;cç2¦Ź Đ˝ŠűĘßůŤ¤Ś -w_4óľŤ Ü«ÂÎŽ ĆE›šz«°7V[̉năv©TL°ż0ł.±ë⏬âZßő˘Ľą2ÝĄőŤ&‡š¶ýlIR\wOÉr‚ë×»°Łç¸śŤ\€ľ“ą„‡ň.2ôńĚé2lB,ů—ë˙EÄ0Ła˛§3˝%aiÁúé¶dBů7! óůž¸şNµ»e*qáďU&vĄăЬ“IY!»:8•Z\á2Ô ¶9¸˙ťőá¦ęÁnš[‹ %ť¨ˇŘţn[!’•úY¨sb:Gűk„ż:ü•DÚŠJÓxµeĚ˙Á¸Ŕµ~*”- -*äN¤ŢÜgŤÖL®_ě}JgsÂŘ!Ž'Ĺö˙ż˛Á? čç¬Jlw>ŕŮOPIÄű¶ě1 '66±äoě?r ź5«~ËÉčĹ,ŮióWŹĚ_l'Ç]JpĐ«Ś¨¦Ú;#@‚_…Śt~ltk*\‰Ä†© -,ľnrX|äĺá©ěÂťń#śˇ˙ŤoSô q‡"6˛E{şN€Ť÷äŚţr{D‡/ĘzÎŞ¤źŢ9¤__ëZ9ů=?ť_ ®žą!ˇfŁéh¬bQ¤`ŕ!’¦ô3P‘Ď6šďŔTđС‰ŚîS××|ß ¶ík3ÓÚNľČTŤ9ąK5’0Ąqnp)wY˝#ĘÇě‹>Sľ|dčp#’a•‚d¨|Č«`A°¨OȶíhĹ…˝FŽŮ’ÔúIŢöФjć]D´¤anä›ó”áé -sHŠą]eĐCÜéŰ·’$C/t¦µčmf!žŔuŽąáD™^ďŇ”ó4/0˙íĽŹke2óűŰ[¸˘Ţ~±$1WĄîŚ:—Ó˙‡°_ş^·Ç›fˇž˝Ż‰ńvŠŘL'^nŠ.-–Áü€¦ýČtŻ#Á•JŠ`FQęTé°ŃKG‹V=ď -Büű;L¶¨›c˝Ă¦|Ő¦˙ŠT~ ňSaѶOćJpĆL"śµ˛î Âü,xďć–µâ 5búG;Eţ“Yóç€|_O"&|[5šßWÚ›F0&lëš\qC ŔÝÚvUK#Šbwv3 ‡öH~ZVăCÇ;ą[8dIL¨m%ňŕ9oÇŘ|×PÉŹŹ^žj{çĆRüĎD¦0Ő5ý\Gw'Ŕ1"H´.;ŃJ ĘĐxýÂľ‘@"xĂ‘q$?ĂdzňeĹ:ńGý#é]®š*ŽĐ”á•q)^y!L”®q˘Ĺ_¨ń¨Uáç3•%JP˛–*‰ŁZ5oˇ€ŞPĚôí(¦„׎Ĺ'µ)ÉŞ:źÓě^«$5€µż|_ś‹¦µyNą-Bőť#x…¤VfU=wL!ýę•qŮČ9W>ś?𢴨චp'©=ʏ H]ĎŹTÎYÇęĆćş˙;f˝·V€7řp+őĘg ­ľse·żxř«ĂvůÜ}J0› :5•¶ŤęSWP2ŚüR.(eśü4ŞÝÚľ\włV(Ş“V`ÁuÖîŹ-ĂG.ŧVµúč´*ç?ĄžM2ĹŔ*Ł{4ţֻޅ`Ě%ÖÁ–©g1 §‚;ŢîM—î*,ťě?ú®ÂĽWÔ¨"vÝCřrů°§/vúí“XJýUŽQÉ%…ąÎ=żkľHçz)Ş`wŮYTĐvl®Ą W,JYŔůz Éż‚Eâď»Ě őÝ]<˛…éI?Ö÷íŻş ě;?‰¦ŞG—7‚‰g ;' ʧńÄ3+śř¶©‚1b÷÷ŰÖ˘_·ń€^şĂúô=rˇ!‹ŽÝ‘ ÚF˛˛Ľť!C0Ë…ÉeáéçqxúžLȵŐ?`ýX^˙|ŹąŃ¤[Ë ÇÍá×i%kůĹ‹‘ăű•zSÝ›ŢUJfŐšCô@»‹ô)źŹĺ©%”?ą€`’Çîíç·\ŤŞjt[mE*­f`BÖ1}ćŘGw_żÇŃeHďĹ Tľŕ´“Uß›sĽ1Ş…ó1MŻ]+Í [o-[R1 -úü@â.±‘ŞĆŘaץ^ĹçĺĂ9-ü7f9hÉŔ*Ź1GTćf×1ÄĚ UAµwÚkkÖâIÜĺ*^Ö"óuŮvl±9ă\vDIřdŽ©O¸ˇC(kŠF›[;”˙mëăb^ž'’*ČS1©CŔÍĐÔ»}4„ŚşhćSĐ*3ńŤ=§¶şÍŐ>éŞbXNŐQ–µ¬)vhíN ďŤ!&@Ă=đÓx­%Ć2őS‚ ĂEMüÜůąk 2ögÓř<©’—Ôä'R ýEó00CŻLcjŕ;3 H ¶¸¤m¸âß.r;Î/_XLG(™ ŘĹŢ’?'FÂŘת"0SďŠy~ňc äĹ+Ć!Ö™n_ô«qş~Wóň¸aW+VĐô—.9ĺ ćűőę˝ 2ëěŠ{soř65Ů-°KR‡8Md:WďĆŚ>&TGMÎ&"”c~|[©aV †B#CÜ)Ő{ÜvŘhx&Ăλ…fe1N˙?A@tZ÷ßŕ%eÚˇď٦Ň/ ôĽa!Hk 4öΩüy72T•słËšBü…ŠHňČ”«śgB}&|Ź)é5­)ë6S t -ĄŢ׏ú'I áA÷óŁ8"yˇ)šjŢÁ•†‹5$’tí mŹ×‚Ďţ?ÁÚܲĚu«2äňTgF:Ş~éÔĂžEg GĽĚż+mR~AP ‚;LikŰŢs\č"Ţ=,;ůĄ%§4~&ŽŁvÜÝ…é ŕp‰µi‰Ó-®~ş+úUE÷0/˛OZe(“âGj$Iî3"3"]·d.8L·ă®›Ę"E‡•FN˘];$›q” FFË"…,Od©Gtó3L&40–ŽÔł{-¶ŐŘ#°â›;uĂĹÄĹC—›ËQC.6úI=›ŕŰË›Â;qŕ¤Ë•–°Ł:¤“Ć`—Tíĺś9Á‰AŘ^†ËđŞYqÄ}mŚ×ŇU"·Ń8Ô é‹O%ŰżŚa=©zW*Ŕu"&zxH -†1¬I’P…L‘MŰĘnyGÚ‘Ś ¸p|"ęT’"VúU¨Ą<Ö!v`33{H)¦XöŻě ůÂĆ#ńó0ťćÄ—%$űŹźÔ¤ú˘Dőf¬â7ý/©Ň÷Rt¶¨űÄ >Cŕ)]L -|9fĆ«c$KĽiSD2zFIĽÎ s†‘ô9…őÂĂ~(ő*iv‡ qnMŞż×|¬2ćË?‰aFy—ߥĐŃúă˘î;Ç‘nő˛ü±f}L¶üś¶ĂH¬}l÷;0?AS¶ĺg«¨÷c ‚+s‰ŕˇÓ.ľ=ńHżjÄ*Tyűe%>5ÜŞžĽĄ¸€‘á%ť/´8콫ăÂUşK¦eÜ7]ú"ş"ů­źş«®ĺ“Cě¤p’IR’ű D8*”«.ŤV <0Ůmđ}ě޶üKJˇ'J^ä/2Ěo1qőź™éVnuH\=rţé­o/ĆE%7 Ş! +!d Î#‰3)—ńň®óąü(ŢxbË/f-ńf˙H\uŚ;Őrč]ÜdĄýrŻ*zqčË›©c÷ČEíVm&őż?§†8§SďaůŚŮËu·é˝’x(‰Ţ°ß*–YËĚ 8ů Ęäűi’n!:ÉĚ‚°2V•{Ő«ľuĆmËzłf2OĹKvĆţŮś›źˇ›ŢŔakAŁŘďŠQWVM1Č»í§ËĂ7SDžĆőźçŹ LĐ"?)đÝîś>b°7 h6/áĚ×izÉ•;Gs¶^ĄŃ™q¤ŰíhZÍž?Í»3ĂŽßłŃÜ$p°M9b•÷Ś?ÜlF›NüH[ E<=X˝ÓF(5Ąćç]#YyAÚ \ůßćҧýý`÷w.í¤!ô8¸¶ł3Ö?7řř?ş™Ýhâ%EÖ—hLJŤ(öŻJz{¬şFłüŔńý¦đŻřwšŮ°ŠE”%.3ÂĎśNDţÄĆŔ‘i& Ç]ş^€©dڤłń”FdHdxRäĚ<;0äy„TC±4BX-űŽąŔ¬hś+˙sŶwћ̈́×ŃÚ=`çL°Iuasmó‰ş#»ayśńЦżmx-ĐđRvgţÄÇ­ęYD; –mÁõNȵ¬ăkU!‹7`ľ^U0µÁÔ?Ü”Ż˝sőÖlĐosŘZ]ŻIoŞÂ˝\ź©p8vjY),XN -Ŕmbé]¶UŤČ%—ÖJÂ`›áĺĄS´›ĂĎËd§‹™ łRw-aNăĂ÷Ö* Ô'‚ݶúó•óŮ=}RC´ä­á0aő7|UndLY%RiJ]G’7‘NýĽł?)§$9‹K‡žщ)GŠ 5× ˇaĹéĂi¶2)%ĽÝ··€'SŮŘ•ŘçĎî‘LÉ»r1ýńÉüŮŕy7÷ WŇŢ6ëŁBfAwáćôŻ«¬Y)ăé,Ŕ]!g"DďaOÔňĐ" -NÂĂ"«y -öBŮfž!w!ë¦ůz¨ě©©,@''zńÁłăLwx Żç3Řą’_66fHłQ¬ŇK Ž Ćťöaq70­DmĚ‘83ô˙,Uő ›[łr«/ôě+Żo¶hVźĹ—LnĆŐż7ň0z[DEOôµU˙ÚXŰöU§Ţ ™&¨¦Ą—ę»°E—Kg4lIÖŽ>ßÖüýhżdŻD®ĂáIňO3Ú©Ńc¬oGţú„+ÍAóˇž ;ň¦µô.€°šH*(ňO—ů¤,3~źjmĂ‘4ĚΔ'RŘ÷čď4üQ*VĄöi†¦€kZRHľÍĆĚě¨Vôsď˛đ»±T‹ć퉤˛Âh?Đâ"Ĺęý“ş”ÚÍ#Ş˘»HĘ)Ƨ֖śÝ i˘Y9ěŘđ<ôAŽ\-ăȵŞ'••öPAĚ  W™¬€L?J¬€Ě¶3aDQ9;¦UŃ`Éü[—ŃT-öÚ[˙0ČĹ=q@‘ŔU\~˘ŔŞ.GZřř˙ťD“;Á:@«o˘{ŕˇě@×¶!Ýf›Bk1{§JŢ`uq[Du3vÝcZuA1-›”ŻÎ!ëKźˇ6sű]˙ő*úŐa%NÚىN}3X§Ö;KŁ;ŐhĽ}x5hřŔ Ď€ú‚ÄWeŢJW‚Ů‹ˇö§·Wo:;·ĺÚŤôy=šüŁç.äŹé ×V7Y$ÔôJöÝĆ[ łň$nkZ"T*?­ëŹŇP»żÇ˘“˝Ăž{ö;Ă$gŰF«3]Z:;UŰä¤ńçC4â†UŤo-<¸áSĆâş^vć¤~ŐËŞçďÓN\¤skĺиűbč÷=úe9ř’Â䤅Ę4Z'![d ĽAa d ~¬¸ëŮýÓf´;Er 8‰c(19łZŹÖí«˙Ä^Ě—,$źt:E,j5ón/e@™Ę†ĄÓĽVąE¤ä®Ö-{lUî®VîRŢ"`ޞƚ®Ăů8+ż•şćŰ]uîTK 9Ů­H’*ýőe ň/KÝ,6O”˛děŕ˙ŽĺÉŘ_›»D°–)Ňa3Üř@Ń $€5†˛Cîśâ”ö3Ĺqúvq“'Ǎ퇮#mË«yoŢÓgŻöăĂm”͢µá‚źdř‹łă\ÉÜű5'”rşD«î"€*h&·ŁN„ęLI‡‹šř“ˇ ňöŠ$ ťž§‘Q ’Š˝řÓt¨bĺvĚz[ăÜ@ýăÉv˛łá¶ŕĂ-µčĄ.˛îTďÔF&¨Ř šŹó`L^÷WMłĹý!çĺÖ^¦ĺÄń*vÝĚťo„di{« áa©3yNP`¶Ă›GQťŹNłzd[WęáˇÍł— ňWó8ËéÉÉŠęC`Áů *čJ%™1oĎfą¶)¨Ç ¨Łčžˇ/Ăn×có~ßŰó=Fźáü‘q÷´ďżL"G¦JűúŁĚÂŤ§Qľ_Ývw•ÉĹc¦—[LŃ…›§]3”'Đ ŮÓŃsGť9wKý[Í*PbCEcÜĘĂ©K ß3îC…mR:ÓĚ>cÔ„}7hXÜě¶Etʧ{Â7\™ŇŔÍLIĂ._üHeě2Ó9™?"ĎC3ŕIŔÍɉ¬¬źÝü}uÔL˘Á.™ŹO´Íż¤ĺÓۧMĄŠËÚěeBóŤCGY°)K{GłzJ˘Xą"Zg…ľˇBzţynőlyý—6™ąŚ‚wŐ9˝AßOăp“#á®iJb7Á÷Ö‚Ż”{jtWć0ĐÓ»t([5l[O î˛Ěů éL;/ĽĘô{TĘąÔŤě%VkŚă4řćaęŕÉw©NRĹ5›ˇĽ[J7¬­‚Ýů«‚áâ‡)ĂSŔĂ… ĆôΕÍDÉä6WeGŤ©ÉTµ= ‰5· uëR/p†ţI˝Ď-·ó­¦gŰ y!m=Bë"f#đ4%ŕťl`oűď+®ŐŽÂA3ëŐ'ü÷ßE›î˘<Ç:7łTsDÔ`˛íóÓs!0h¤gÇéÚş.p݉Ftt tUA3ňĹj´Gń»FoŔĆvtpÁax6b'ů=ÔöߎÎÔŹĐkß —@×]ćÓĄőz’¤)LQsOÍťhţ ×}8źÖoŰC®ÍűrwźsĎvö}ß>ÇŔß+ü¶#í¬\żĘXŠEGsp#¨ -"Ěš‰éłĂŃ_ żż}•?ÚyK ěçőgáĆ,ilž×jHx´/öš†_pQظM'<̡,†ťĚ÷™TŔ˝¦r$Ů 8ő˛‚zu×…đ†›F9DŽąĐnśÝ‘—*ěÓÉŻ5*FńĘśîľĐżmžB'ŤŚ•qŘ(ŕmş-ýúÉ’ˇc§`Ů•˝°@ŕ í>±ŮjÁßáŔ.mßp«ÎNoYs~7wŮ蔹ERX݇đÖܧT”@Wě]x~ä1•ű -´z“W±íúq}¸‰>B¨Ż¶6–rq«P~u%^$±w1„9ŻĐÜ^Îŕ€ń›¸<ŠÉ-AÇ#7[°T ‡+5ľţQK0ß&—íő#dÖ«wuý= V8hH'îťÜü8ČNí ’g°ŞeN\EĂĄĐŻŢÁ–ĺź\–HGÍô÷iŃ-3#h9GhüořĐ "A×—ÔÇĺvmČ (UÉ4îńŇô^Îa Ţ Rr»ońoËĐNMX‚ ĘÝ€ťŢ”`ü[ă3$%p>HŘ;’Qü±`Űj}@Ö˙đ1ř˛Í@d…ě#1ęlyîôâC…" -łůÚߏ]$ő>Ź|Ş­ŃrXîŁýŠ^†FČĽ:™[bM9u›«ňĄD7,ĺz“˛P´7OĺâŰJ ¶Ińč(’Č›…ž¬„E.+fŃv8“+Ň”Y ŁĄXďşjĆđń _yáşęľŞ wEůMÍž‹ůâŘŕ áer`ôA{qŐ­Ź±Šłübm‘t˙©Ŕ -Zö|qúűŤŻ V‚ó_†ö¸ĆÚÍHôç¬Z6—ólâ:JE$ńOŁł[(\€´PRŠë9٤‚2NrGŻĆË–gňJEćřłř?än(’€^ˇ‘÷ęrIw)íibŚTÝ` f|¨7”žUŃ%^·) iEA$˝ś$)X\+îč˙ňwŚ¸ÉŻžŇł_{ ZٱF;!ľŇľSz«}*K§űb_]¨ÁŽů“QCa[,ćĚČóy˘q{čIW -&/éĺušD‡¸ąFÄ׼§+Ö’¦ÍçZŇ^gRśmd뢌ŔBŕńŔmÇíźÍUô`<>•Q¶µ§O ţ`3Š»u<›\kXŐóc'żÚÚ” ňn¨°Ä–ÂKܤ9ŹŞsů*ýŞŇűyĆÁ˙ýF63śĄŘ3-(’‚z¦Ůé°9ť"öOúo8±P¶Éř=zé'\żZ];®^‹Âgp•M¨“v._Ü@Ť» ©ý&YŐ·Ž­+ÍĂôúRK_ B–şD™4Qpäş]Z­)·=EbĂAyÔz4ű Zŕ»)y;iâ…ôhŮŔŰ1‰s‰†!şMoŕ’7k!Ţ0@޶pU(ëH*inGŕ“…8«ť˙}˛@®řFš˝K˝˝9P±šQ ’»n>CęJµŢ„+ě’őAu)ř„Ö›\~:żĚëłtÔÜĎ*ŽÓüyiĘŞ)­ŕń„:’Í'Osů'§gEü˝űßăŔ/ óç'ÝT’~ŕ4<(T~?rň¤Âq©5 B•OőâTă ByÄUJ, źôLÔąZ“âVŽÎu˛ăJBôzLϦ+&e‚« W,˛¸=‚¸şŤ®ĆŐÁ~Ző8†› ŰVŮc·ĺڧÚÇó÷™Ń\|ŰőXš7ăč|€ö/÷Ů-¸ t$+C§Rő'íÉ;m5Śfň‘`Ũ%Ö)ö÷ţ®ŘĘF­®&$Aˇ%\P ţšŮ,ŘTăg§xôň‡PBa)¤YŚŕw@@ŐűňťZbŢ_&9č&iţě@]/·–zUŮŚhŘĺă^TŤ ·MُME&ęH#xÁ ŞJ˛Âą—ö/˛ÓŽä3¦ «îh¤ő‡ËĹ-M`·Ű“9źâ€ˇő¦FĄ“ó†JL)Ĺ«ŘYm2őşÜŇĎĂ®ĺňŰĎČ ą˝Wßđţš±ł]UZş¦ˇúx§‰+ęÄUëťT5 -áČ(Űd0*űP*ÎV"(R&ĚĚ@Ődh­{ćĂ|i§ńŁQ vŔň±ě¤ărqúĐî]IĹţBqEŰd…ĎÇ%ŮŤŹNś’ôxő‡[˘Ę´ -ÜQ±żWˇ¬ŔřóKS˝%Hýŕ€ üO™H×ę16¬ŽO§ňÚ"´s„b«¸ćôĆYÔMĆ"r‹ ‹c ´=ÄČł&Ě’¸ôe­sż˝mź·ź{Ôś…ůĘ⊎©´;%#[ľFAĘUvjŽ€Ć5žţUt_>sů·%vęŘ0f+-čXi"7äCŢe™Ř˵TÉťÜcăŕ^_gř=÷lvüŤJ*\y7¸kXëęk­m7ĚŠvŠ–ź…,•tX—óaĐ ₌¤EŐ]łJ.'\~X8Šäţ¬Y ú¸úRs°>‚ňý-ŇPn˘ŐŐÄŇxefôFÔ˝8§K…η—kÝhęzYŻ!Ŕŕ×|Ş5w*‡ÚAů«@{”Šmř•„ůő[¶đ.őŠä#`k -śF™M $©ŕŞŐAĽÎ_w7 NâBqwjŃ*}JĄNGµ«˝ę č9ą|Ă"/Eś§”Y”őźĹă ˘uŠ,)Oć˛ß.sĽ@%0–>äź‘ú`ŐĘ{yďiúf¶Ę®Żęrö<°ăp\Ä•ĺ¶wřźł|°@«7‚,ŠçiHKó™,»»>jㄼĎJËyđKĺá -S’D`ŻÉŮÉňN!Şg‘<â!ĚŃé}{ń_eę닥ý ^ČfŁťËEÇřĚ•.^Í˙¨y!^9˙¦¨VRRpf %¶_7·h˙ń1-śE¬ŮAX¶öjvÚČ9G¤Á9Ľß‡yJŇéĂË®ećŕ"˙ęăYWpŹđ]Ô -[śIްš(<öčťý NŢÂJÂ?Ý)iÔČ–mf˝¤Ş:Ř8„B!ţ™OU7ŮJ)ů§ĄLů‡ét»gvŃçs-óh­aI§BaSŽ“4A2a÷ßHŽ˝,®u2RSĐ[<Çä[;§L˙˛Ü!8±íxoŽ8ýÇ6—LmOÇK_\×Âü‰ÉyôgkJ ŔL®Ł”|Ât ]śS(Ť”˝'—#`\K>WđŃu©D3ˇÖMüţ>tÉĂţá65ăL~Őš»‚ꏩ.őęËÍqĺ=Ź2 H¤žľ“;B`IĄü¸-Ł…ÜżU)_’ľŮńR_»LL_JÖ¸Ör+’'^"Ů&väÉnďĐšPM#ŇĎĺ<ä é)Kę0­Pxç–E`O–ÇÜőżYBŰŐv6Ťüĺ; Ń™4űŘ”`žŃ č…ŞôQž­%˙ěľAÔiLŞ˛Ämë¦jnNÄhž:TübŔş­#=VËĽÖZŞš˛ä~dćÇá­˛ťŹş4ŤŹßÖ¨uë ÔŠeÄí÷Ç˙7§ĆN4ë o˝łčđ·® ÜĆh —„ýÎÂőtóřÍž ’Żş­1cĄÜäýđ“ŹaŹ-yé}™EŠăAOă:(†ÓŔ@«TťO˛Îľë†C™™xˇä›”©AM©Rž3ĄýŽúH6áK˙|=Ěľ¨cĂâÖ“Ü‘üŚÁ˝ň~$âĐŔęJ6‡} 1×~Ş3• ŘúÉnÚäĽétCđ)㡍$ÂdíńŮqěŰw‡*^˝vkŐ%€˝ę//~iČƸa -%Žj˛ąŰĐ—đ˝Đ‰xüűĄ°Č^0đ}µN’%ëťŇ!Gnó˘ýµď¶Ô0㇠Ů{˘ËóodäŽ?ă*3€3ßA©oi/ş1Ż@=މ F$şÝKÖµçzµt<Šě$»Gşá?ăX(žQţz¦^čoÖÉžĆüz/6?śFR#ó®>"ÔǸˇÜÄŇtö^üšH)D:ä^t3Jä‰TÚ„ba<ö·w€ňŰ5ŐvGC) - Öű»ă„z»!*VłÜ;@ŽĎ$X«af0 únS.úÉŻŞ) ú`ĄoOŘ˝IĚ ü[éöÚoxĹŇ«”O˝]a›ÄÓw¶Ě‘ĐtµlܤŽř·äŢŚ)ÚˇeiýŇ*Â5@ň†Ť®!6Ě‘ôÚ’ŕаö:ÍŹaL%y‰E96F'l%ž=Éňl Z ¨˘[ö›UőłČBąp†‡}đFŚ[ZÎmɆdoŚá<Ęç}SJwľÂí˘őşÉy“ÝíWvĄÇR¨đ|ŞZ(x‘ZEjkŐŠ:}äĂ2:żňKŹD%‘–ŕµËnşî*|,»ą•ř~i=›—âŠöđĺ%b6:3Ç›¸®…)_Łş©9*0ŤÁs ?«ŕN÷¬ý/­r!ś=CňP |mcÜnZÔ\ĺyw{wŠç< ČĚ€§Ť´ÇßN„mŤŞpý¬ŇţY6çőD¸řCY6Yú t•«Ó>oyÇ>Ľď(#łÁéf˙d.ň}ZśµčÔ|©ź"Q J‰óę{›c..× ŞĘq¸Ľ -é#)ŔČ8ć|}äoçš´-lá>h+'6mN;đ+8a.Ü`‡#çüŰőŐţ?Ŕ‰©­qF˛Çá,—ł…ŃÝ»z3Î/©řđ‘Ćđ Ašą”h/‹Â•ĺαzŢf„ Ó€ í”+z;籿ťŘÍ:¤Ý®Ęµá)mbC -Ííqlß˙¬ašŹÍÖzV"·ËŹŰZ‡FĚś,PkQ‚®IţęJx‚ľ~mâK˛ä2€íµëä…řÂgŕU -›lÍ–,Şg®ÎEA‘-YyĆďDxâÄ·źŞB8y˘¦SV˛ Á@Qţ˘łfx‰Ż»>B_'ZÇĄZPGL?ŽŚéˇ/ma‚OţlŃt‘,×8“j†Y‰YMŇ;n(ĄĹÍ«»ˇ+d Ţ%¤0â–PWP÷Ůő}6¨Ť„löVMŰÖČ&&÷ą!oR-hׯ3ŹĹ#PŻ{–!ËG°‚°ËźĄLCşL\ťÍŇoďvÜ0Ř3ĺ%UÎC2tv ýŻ˙l,¸Xţ3PÉšâ1ţq¶h͉‰~{$ưäµM‘9J…G]-Mmč ď ËT‰Ąż[ČDľß‘ŠüŹR(<pç­°‘ö~Ú'. S7ŽÖ–ł3^ÇxN9—R84 ¬Đ .u?p„(Ž ·-U ńQ(ĐźdKU›öď¸HϨA\:r¸2‘o·‚řÁ TkS ŘčQţ˙“ţdŤĎ$\˛‚ß7Ý^ď­ŠŚ5ĘŚZ $o‡ BeŔâé*WF„€||)§?Ö‡Ł5š »Ěsľźô…Žâgŕ©bQÚ±3fz»ť™!`µ×|™ ü^6ÁŇE2†¬QzĐ…]÷hŻ!f¬J®á7}W˛ŹńŤ/?·/ąŕßŰČôprZmâ;WłŁŤk§ąąęÎ7Š™ŁŻÁ`“F ®śjO["Ëţ%Ëuô†,8„ 0,íŻś˝šVŇźaM•Đ%¶Äw÷rbGˇi˛k4wëÄ1PD)WŢI’ćR“NO=Ěüľg‘ÍmžŮ¬@,Msrô¨6#P/šnăІőë5WćŔŮnsŁĎĄtP”±şźĽŠÂt´`¶ćŻ^&ĄĐ ’Ô|¶yeŕěĹľüx% -Ă=[kUUźŻ—Ü˙*ßjCěPŢĘď¬&¦»Ý˘wQvşücz¦ÉąÖ‚SZmčřЇb3[Ě Ęén:¸7cͶ…D”ơ'^®ˇĘ¬ůúĎqź+ҶŃnâš2Hé=qĎ’m‘«‚Lő X3>D$ńó?<—žwćĚż€l±“‹ńv‹ˇ-ěRĚľîpm(µ:âÓf"'Ksą+đ†aĎŐ31ŐkŤëľč{ókŘpI‘X'Ź’ó‚÷°ŢM ‰„iź2% ^ŕÉbÄĘÍőžŠ ›yJőýľť·./M‚­lVx¦yŽł%ˇsJ5ď?wŢÍĽ“ĂB®’…†c0n…˛bA˛!|€Ĺ „X†ű Žn®­QŤŢĂKxęE€é#¸§Äáń•§•y[(śś ĺ±€6ŕ5›ö!âj>Śé,žŔBćţ›ŮGWČ!ÖíÁ"©Fkp‘ś7N*—VÎĐ"?č"qŞ·?”ŮPsÁ@Ë|ť¶hy±r” 7q#LtRđeÄTő©:Ž8›‹LkL$@}řPüŢ,&ĽçĹ…?âĹ\i÷Wâ[/Zk¤kc.—Ü ÇřËVí–Ą)`ÔÓł•e‰aŘ®_ŹůÇ>î&VAěnó:¬˝f¦Çˇ9.Lĺç·8`4JÔ˝¸ççôśLKĐŢBę4}$ë«cĄß¶üUÔ,ďn5˝můďń’ ]źabłĄwWŔc5ßÄţ¦Z´v_ŤŤĹťJăŻb;˙ňăŰ–©ż3^`ˇÖNto‰ę°l=“bţ!C´3B T$oíÓÖç»¶zMźÉăÍ5Ij¶^˛°° ŘžH·ë5ň%†űaQ˛”ÝYuJ8w. čîŽ ţÍC‚đ(1aXŃÔä*ÜÓzspötpOŻÖÜë´yşNÍY›ü +‡»‚Ž}ĄYy‚e%ňńch›~Ů™śŐ?íEx•¸ćFŹąj6t5‚‹Žĺ yE±î¸ŻÔ1á̇Ăž:Oń ťĐŞŤw‚™Î“±.htQ±W/˙’XşĐµýşt}ď’ÁĐ@Ňćľľ˘<1 JµÜI¨!j¸ÖA9ŚŃ—–hk‹_Cý4j·ĄHáh§ąEşw*óŞQáRhą‡a‡äT‰eW¤łŮE|€0”·Ň´ú|#r”z©8„ˇ#c4ű'­¬š˛ä%í–VaqíůvăĂĹ8sçşăĐHĺ8+ŰĘKFl‡áPFffµŞ -łäĐ’ 6Ë+RíŻĽIEîˇA¦žö8"ű zšp™™;ć;¸ô§{±w€IÔ‰Ą`„GÄż+nĘ;ýö©‘%†ă“,d—…°:şŮ_hŐŹY_f-ľ±’ĐçňlÔ… č[óşPH'QR/­]߆Xí˘ŢAóvćfVŮEĽ÷,‚żxóČŢvw…>%ú Ëęá ˝č7ÉNtv¨Ŕ;'zźUX©\Ü˝îZhęÂť‡ Eiăý¬ş´ĆQN¶óŐ- µAi&Q+Öm/®ďo‹uăpLL6/™˘Ě’W˙|p»ĹŔ˛QdČ„)_ë?‹90„Đ ¤»«‚©ëĆĎc•׍,6u“ÜA»ż6©´»Uř˝RÓ1 (x/ .x{ál»Şm ‡sŐVi a\€KĹ>Ů 5đĽćÉz"eŚ[™AFGďö#^&íňˇV dfBMŃ|dŹT—Cč @ ˘j±Z,5Ś‘ĺöÔÍ8‚gě^_“äŢ&CăG[H÷îOý¶É%2˝FÄ:čc””j_.˘ń[Ϸ㤹†ţWŃq8Q>Ůćg…,¸HiÖň‘kߪµD?<“jń!Or)^[ÉxŤśH•śy9ü̬8QśćĄ5•Î;x ë¶:(ąh!yŇÚÔe‘7CUć.ą˘Éd”ÁqÄůH »ř…adŻé<§2αeU%IrĹ|⦠RÄ1(2«Hó¶7Ô`ĘĎľ.€_íf,·<çÁ=ŕ˙péÎ5ň˙ ]ű*˛Ň‰ű¸GTžoŁ1ÂMëë ŃĎâ ťůĎ8&äCž8»4úüŘ;v]_ţ GTü<ăʱwś<çŮGłJ§ůŞŢ:ţ_rSqŤçíŻvŢARuƆŚúâOĎ'GĐýÍ^2řÝ©YĎ*pżt#ä?K\Ż| Í'ăć=Fޤ෿°ąČČP9Ę\$bÔ]| #lJč¸ýrtŽÔ7ń ó -Oż¶ĐS~70üG¶2wTŞŐ¶V[K?Ľé­EG㢴’Ç-3šqLÂ+BžXCd=P©ŕÉŁÄű†ÜńÜw.:ń˙ 2© 6«pĘľVďżňźC6‘–—Ьś#ý(MݵĐŰ`ÍSÄĂ<Ńî ·ö˘ŰU…Úřä*8…ăÇý„#eY#˛vĄ´yËP†51f‚|4î+VůŢ8/`Fó,źmŢ‹ć¶\6đe7 śB±ök›ůGËŃhé’ĺUWćŔľŐÝĺ @Ń=âÖ˙Oy ŚIx1.D:MHvÔXĽp€÷W/ ź®™8řhjwµ>ÓßűZł‘ôpA=ŞÁ:©j ­ş´M/ “pĄIÔ®~čăŢVť^]ú‚šd¦ćjš'˛!}ú‹¤H  l 7~‚UÄbK!ŃBž›ř™â‚Őw®úÉË>Ї@R7!ľĺQ•†ÉőÔ?9ľ‹IH©toy¤řŽę8 -Ť˘Č››šż+ «\’żˇ.J›Ă2Şˇ?;Ë›ëđÎu…2®ĺŮs ë*g¦+Ď ®Ž ű¨#»:”¶y\R‘đN¨Iâ)´ËLRç4ô:úžG¦a‹JÇԭΞ·»ŠtřôçąÄ럯 "Ęť…qC[%övOt§OŢŚŁ0çČG+ĽĄw: -§#ýYÂy˘¸é÷‹ QŠ˘„Á'…ď&™vćERô+p‡‚4şÖNČśfáIŻ—¸Ń*­NŢŻË…^PiµńťEbÄ´[’Ů[0Ć#˝á R)‰řj9ŘĐĺú–6* Äţ ű`ChąđĄ—ĐiTÚyµćß‚’+–úě=r„áâ°Ĺšak‹ě_w±(żů©oWkýÉ@S“gµ`ôâŔmŻ„†=3Hn°ďŃÍgň€ "ĺRÎôd`Q°]ô:şäž:>íTËÉ–´vď˙$ęâbüG4ä -lŤşůRŹvÚňlśvłţ„Řa µĐĺĚOď#×F“ä„…KPÜ4ÓéČžŔ -ř)V*ę#Ńť›Knr%%ŕ J.˙깥$ČG)XyŮ9xąrŞß\Qk=OĆš{`{µA Ňß;âZŁ©% -Is¤ 4S„°˙˝wWäübÍlÝ'ݧ’Bčq_t¬‡Ô»ŚfÄáĆ0qŃä$NU4lĄ|ËôΗ^×ćX%tŽ=nžĘµVL7L =üÔ™ÝiQHCś*á&ž¸ČĆżŤüťçÎ;ÓFŞ~gśŹm}Îl€:!#Ϋů…l,á˙`5áŤr@„ęÜd7|o¸~¶ˇ(áđóčýŁ˘¤K‹­Ňúٶ ]ř -éťfŘ).ÜÉh¨öia5\éÝŚ-}®ËąOYÖݢé1?ľŻč9Ý4[‡Ňâ5»ÖďąP´řťííŹŕN3"ľç’k0ľ†ňvćt'pěŕž±ÎŻ}č\ržňVFb đ&lV*ÔÜ6;5‹A>  ~ 1ş¦xs˘‡×7!Ni¦©Y…u!kďdpIś(“řđÂŹ D‹üĺ^!kš›Ť«‹éţÎJg7=,¶ \V0šşĄé„3Î1wć·/7Ä: jj9öď,ÁN[ďâę­wŽ.:ő˙„?`Ů‬üŘ®×b±Z*3ÖGéleŹČŹfÓäüĂ˙“h'®H^mĂÇÔôÜOÁ“‡ňѶâlXnŞźeDőPµţ\´(˙¬x§eiOĹá1ęţŔĘí\ČzBŞVµ»ŮS·[ŐµŇŰ©+ő2ÄLĎƱZ&Đ,MŕëÂŢp›ú™p7„ČÂ6™‹˙ń¬(ěc¸xŤ -ßąśˇY°ŐĺâGZ'–ę7]0Ö%đ!¨ŕ -ľyĽJe0ż©˘÷,Ú?ĺîäôG0Îr%K5Ś2Ç&±Îy!‰ő­GŘC赌Žw±^{×b+ňÎ>vÎ)×Gn*4†YÚ¤eń˙«oéJn9›]sM˙”¤%c Ťˇ‡Čcŕ-QF|pá‰Mô’5績Á•tĎË2gć’ł[?&3á@öt@a$ťeO‰ú„¨HŰrsOdLňéR¦9`H0Ćňé"‰AVvöţ1OśŤ­×ÜÜă O‹ü ĂÓI3É%!ŞđÉ…ćŃżó(Ë™źL÷l*sŽ‹rłS–đUóąaK@Ó×Tđ>H¤˙DÇŃ:®ŽűˇľÖô÷EôF)7‰D…ť+ś˝ÖĄqäҧ25l hLy"Ląşëxí%ÇÓM¶ˇ×[J»YĹ߲š/Č?çÄÄBÁÂW‚ˇ’¦ÓÔ•nM7kÜJˇlů—<¸ÖÇÚŇţ-d+ † ą*’¶÷=bÜ‘$ P±Ćvl5C=âÄ5d -/Ňó)şg+V¨” 3(µO‹“Ů*ţ'†FĆľŤK°s‡„:-ĚjÇĘŽ§š·uĐ‘­ň_eů\ĺ­@Z2邸^–ě}¤ -»ţ°©%yCf“şIŞö8é`jS×iT{ Úg[žY»ďĎ&é† §}mîr4q4gáţÔö€°Złrw¨¬O‘ ţşUĂ7ĆíF‰ÜéŽĂQ|á]ŠĐ€¦qpź”=o`–…˙1ᤠ-ö€—E¸šX˝Í|ă6Qwtë-@ś¸ŻiËŔMá›–I¶ -=ŐmDŕR-ÜúČJwíKf *ŐčŤň0j^OŕAŻ ˘–HDüNČÔ~¨—ąo·(Qżk­ů#a©9Ö̲ęîUhľ[šě“"{©˘(0úżßXś1ކ­ŹH*đ1ˇamá ŔPdDW'źşŮ’íź:]ô}śłĆś2ëĚşN”GŇ…‰|ŕS^%fäkŁ aăďD]xxů‰Żß„\řAQ˘ź)]¦Sˇ ňÜп夫ůWߣč,ľou#ę[TKsš`·ĺŐšš†t•µ‘wŻBžâÔjÄÎĎî°ŤBW‚ľôŕŔKďźyGGL@^ń©¸K—NҲ ş:Ôqb¬­Áľř‰sôë¤4ë8Č0P€š»Űeď ß»ýý¸ ČŽ Ŕíł'3˘AŐ/Í4ÇmIf‰D#B -y“°DŃŤ ËROűž°Nf˙vżc™ţ»ä®…=™>qŔ—t"Ďîŕ×őŮţ“×· ¶E=‹"¨dÄ*>c-őUĚEđZX`¦öĚ;×˝B-$W -Řj3[ѢŽXaüV: -€HmčévxŻí,˘o$´p,tęxÜK-t[éŠčş“Kw’y&Ž1KN[ÂdÚ1ŘŇ,"’޲(éŻĐ˙—Y®oÜ ;őĆżŤĺgŃŢ -±S9€´ç‘z5jĎęYŔś%ŃÄqCŇCjN&Ęüů8;ĹČ7Ż‹`L%ÇřGeEył'ŹjąŃł]•Ób]‘týÄą,ˇ´ÄÜ}Ć<`*íëë÷ ŻqćŁ.‘˛Řd7±0r=7ş~8ŰIÖ\ź *Ŕ÷٤TĺK®Ô96)E1U8TĹ­©?{™ÝoÖq†Ű¬ĹńBÇv:»cm…á?ś+!/”ČÍÄm°B×. «Ď|F• Çküü[¬Ć…íŘĽ íÓÄ«ş-^ züĘXĂŻÇ=ĺĎĺÉÜ­TśgڤSĺ$ĺN)”xŐbĹcj~.]÷±§ůŇŁň(%OnöK ňé/C)véT×#SÄÜ &úŐÓfnÉÔČ\Ě`ŻÂc_ݤQ tA&˝ndÝÔ-2·ÎȆc"GBoăÍř#4ćď:ćďRŞź÷%§¤´µcăĐ„ú0;‹"x:šÉ!Rśk şů ~Šß^DźíÝÎ{ἮFę±S]sZ.· ŕ<»ń=‡Y@ZU% 8Ćľw§, XÁEK±řţxZç‰}©kßřs -ŹŇ2#zĹýĐ›6…“/*K¨ŽSŽó¦4ěSŚ=Ś2”[|şĎô.‹2(Ě&’ŚCxÍMţ»o°ŢšŘG2 kWW—$cçž˙Ž‚&·1ń‰A—ş´kkŻřboR…ť -âĄb{ńó0—/lńtµĐ,˘ť6{™ë†iďj1»l–%H)áÂpfőĽ$¸fBěŹnG5rÖnj‰ĽOcĚžŇ ~0şVŘdNÎRuQŕDń14SÉbŚo3OÇÄSz¤ó~ë‰đȧOhźX)ľţ¸'ăKFĹřŇĽ…_”ŞlkŢżmc—l<óÎ -!®X€ž$ćcŮ\»ę!Vb–ô­7]dµ)ŹŽ˙''¤÷µuw~ ¨Pc7MÁ"FSPűPVc\›Î>±Ű's‚ďř¶ž§şąŘXÚ׫5űC¸m”Ť…B. ”‡žSđ |÷Źui''>FÁNů\n g8w‚„ć¦H`a¨\¬>đ—¬üľľŕ¬EiÎ42:Ŕ7Ek[&™Ů•čµr·"ă犕j}HAű{@ţW‰ňQ›÷š-—mÉB}Ć®óŠeÂßز:Ŕ ®ÚYłý=±h|ŢQ/ą@FN&ďű­~ő -ÖŃS|dÇ«×륲Z(ŢËąZĎŹÚyËE} -^xĽWđ4M¨QfJwQťŕšL.Łĺ2‹k›óő_ ĎA®q†cχ;ł÷öÇR#˙dĺ`ßąňRƱöDÇË}ăt7'`&‚˘« ZŚ6˛â™)•<˘»+şŕ®'9d‰{ńú,Oě´Ś%'ĽYKf9ş‡!ů˝_ŕ±ŐvjL±PÎňŁŞ˛Ů•ÉصBÄpˇ–#•ŃMbşÜL€o1¦jŤAĺl=„‘2đâ -÷• *DzňžĂůSr˘żČ†62*­¦ÂüŁÚKç§KQ˛äČţbf °v• 'ž ŮI>´’=lán¤űÄk’Báť-ˇÔŇ\±T©[â”ôź I*B<˝uë˛J0…Á”±i}ý^‹{3!Î÷2L’,ű†‰#dMĹČŔ™eهi5‹¨?lľdvŹS7ambC \,ł‚ŔuL -3•sěFżČ ëźćŐŤÎĂL?Ţ„ĂčAc -%µ˙M*îAÓ«'Úát÷W;,V-~l7čOaé}1– Ţég§ůńŢ4o«KeoP¬˙š2&Ůw#uk4~/NÄá·ÍlJSŢAă|ł‚… -ŤÝ·%tĹ2ÝÜşŹŁë˝@áő ĄÔ«PޡZ¤ľKΚ¤…}KçiUT·xűYđG<Ł®Qš^–N€×?™ů{ĺ`^Eů*Ô48ĂŮÔ‘rdsg\ -‹Ă™ó„| a˛đÇ‚üóíf ¸tűrwŽ.µ}ž@íŃŞ˙4şB¸rxkĘőŔv°ţ:ĄôE^ăađ]ŚlDCýŇ!«#m§(†Ä°zZ˝é€ňŠŽ–×mĐocJ*Ô§Ö€ VĚJYaÖ\âď]PźÔkE®:jvϧ–Dż“€%JDµąÔ3µPƬ;G§é·UZ…ě>~|ßä -Ă-k©ÜG(`ăÚXďĚë`77®ÔĺioYé5Q ŢdµçßoĄ¬xB–ĹȦś7o5WŤťf‚b‰SÁc1­Ú©ŹÎÎ.7IFĘuĄďIł!x¨Âë^Č ´ß¶°ëT¬ë˘©6µšU=ŕ<©Ęd©‚SĂaâ[ąąäĐ«#5ťIó3VÍéěÇ4n¸#î€Nŕýsˇ"¦Đű]éÄý MI-{á>"_Ćę=óŁ$‚$ -ÍT¨ĆŐ¦°›E9Ł/ţ…‘{ąÁ6Ľ_wé\ęŐŠËţ(óOěčČiŁR»ü6z(Ž3śŤ=gžĐ.ďÄBŐĘŇĎÄ„]gî1䑵5Í~»¶Ö꣮ÝTĄmr č’®`话gQłůQ•PZ”H’űăŔ‘Yf{ŰT/Ťßß—źgy¸ Ô3î x‰­+ŃŞK}†RběŤq9Oň?F* â;=>·Ă3ÝÂú‡X‚sObxáhן—ýÉѸb;žŮÚ¶ł0/‡l'Ez9ďÚ®r ő ÎQ»éś`Žş¤»lěM`“ýĹäZ%Ţ̡rĄd3†Śk•$Č=jó;Á¸í­Ř>•W%M"§Ţáůßjü™ëńQ@ ˛?”-„•"‹eÇ~ -O‰BZßoó©ŻŢj‘ÎşAOĆů†‹jâ/hKD â"*ůăúČrÂşŹs°˙†Q–sTBŁą|Оę®és DtmWÉđ˝ú; „†Ć›©Kpai˙÷ďĄHĎ•ŐŰŰDU9Đ.I¨JÖŰŻ»ěÜĎ-ńáíDbăp©ˇ\ăĆťř¦Gĺč÷ÇúeŹ:~_vŰt‘r1®FĽ÷R%qĹot(|ę×!vÍ<í#ş•§8÷˙Tněžď¶w9ł§µ•Ipţ]ń 6ły·"®ë'Ľ’ü2™¬‰ĐăC~dyąLŽŐä8YŠ  ńúh–[Őv«GK:mˇĂŠ:ÖéS|„Ďĺ`6'Űúś:x]Î źó†-éN"Żt菤”.‡cŮÚHśŇ)YĚ@yŘŤ­FÄ<żbă^µ·Ta wďq¦+hŕeě¸{–»yř§´Ç<Ŕ‡ň°­<ŚéŮZWC˝Í;9Ét€eĂżĽ0$‚8ŔˇäŻíĆó+dŕlFą€eç]sÔÂĹ yĂuúPBmŕ5臊Ôx±z}šsEř‹;âPŤŃş,‰Ý٧ě?ň˘„Ń0‹°Ź5’Ý2=×P?o­[Ň9uá:9/ä^Ą<¸fI×kÁłc0!áÝŤ¤Ü¤‰,{ŕ ÝbWÉżł%Ähś8ĄçŐR—ídžhAuŻâFR¬ĂŽśk?Y‘“@ Méٸľ®3ąŕzĚv3Ł””ÇĚŘĄ_%D;Ę]۬Ă˙{SX FU®˛uŤ VVpÝĄűÖŃ®ď5J¶Ç?`$,ëaZ)fÓś¸d°FýłgQm1Š;ďZDb“úśa_ˇÎ‘ĂA"UK§¨äń?ű¨ď~»Z>ź‹4–łsš¦GozH“óŃS««I×ć·Ŕş¬˙:ź3¸Žr7—ÓîGnÜmU¬¸{t?ˇĹéëMĄžŢÚ¸r^Ýmo’ ]ÔŹ•’ŻVµÓäýhy\HcÂeß!`­JXăś©ÓÝ"[Ă—f˙fú¶Ô*˛Ą<ŁŚ ů§ż Ô*Ńů¨‚cu'nvQž¦-+˙¦Ĺ&Ż!«^yŹčBLă/¤-XE`2ĂÇşxÇ}z[*>¦ ÓÚĐĘvçĚČĄ»Ú3Ď‹5BŘ*(!Ď%hqRa ď)B Č‘ Żcěâ«ü†(çLgůŐçR‘Ăq]uGŤ†ÔĄcĂ*‚UňďŽi±ňęrW*°Q4±‚Çp”ím<nŘčó3J%J§›´f~ŔB–E¤ňłšdµcLŘUJ¶#~zJ„—Ý+le&ď(–‘˝«T®E,ÖÇC3ţÂŤ} 7EL[mč’PI{ő@ÔÜ,”dŁyĽ—p´{oýŃ—€›ţÇęËŚ±™čl3řKü0V$ULáΖ ĺ»|lQf<ÔĄĎĆ›3˝“®$‘E­î ˛‰Ě˛ąđ“kébCëŠ1Ľš `oM> s´>Ă)űŤÖôő˙9ÂíĄť‚?ŃQW2H&<öM‘pnÎÚŚ‘Ź"—îtŢĆa¨©Ş{HVN©Ä…ĘîŤüAscľ˘ŇqUÍc×®é×MFŤ-¶PMîZ”füv N`kQóJa [š-°˘^h~~ż›•ńAżfµ$˝Hś›+‡(^Cq‘Ş)B[|ć:€CXlÓŤeZTGBÍÇŤ]%° ¤Q éF™äű0ĺĘý4@‚•Ú©őôŐUŘËĽÓ·Ąb„ýv€Uű ×ú$ XJ7żO#oë{LÔfu’!¸ ŐŘ2ůđnŁśŔ>-”Ď -`ęř°4Ŕ0úO/łWűeâ< "eŃ—ápş±gZ.đ˝­hÔ/gzYµŘ~víťxnkfşöŘv±Ţaµ -Ő–kfŤ«,_(<¬9{*ŞuŇë¶ń/7}h“”´Z5 ¶)RG ß W˝ćE˛_ĎÂŢQ~ś®SAä’Ś -üČŞ»…ËěľZ`hĆę]ěÝYŢ F2Âoădpq¦ndÖƬս -PŞJ|Ĺ@ź‚ö+7ę˙Rqs˘aĐÜRś«35!mşs^VqŮCÇó$’ -YѶ8÷!Ă•šÔĄŇŹNlP[kC¤ŢU¦ -…řÇ·ý wUŰ“?µÖĆD~9ž‹‘ @b3N]6;4@×Ó#Ľ8¨RůЦŠů—łw5R« Č7ÔĽ]qZ~çLH–šűŰ8Ęś`çhłÓ •6’6LąÚ]CŁłĂĚ I+W˝"‚礱h~ÖZ­Ň_? -ÁČëĆ‚ţ±]0‘ß[ \uĄďPáâć®ŐO5ˇYc™ź8` 9Ą+“*ś“5âXÄ? gŞó,„MăěĂô·ăżŞ;bbcŘŠçŐ_ťÇDr#ő´wźG÷Ńt@ *żP­©íÓˇ˝5ĽˇE±ČŃËČčuµm÷[„m<  X54.zÖź`Ł€\ôŹ.& ňAăÂńë‡K… -ŇÚäĂT3Č6 -Ađ 9‰C’€ -męűH8ëÉŚ#BĎŻą~ä}mÔwë,éŮĘEŻsşËsě‘^ű´9$íĐÎÓß컚K;ňóNx q=ݵÝî€ÝS:ËÁD˘0”ÍĘ-ôßsŮ–ďSHźj1U5ä‹~@c9žúTëÄz‚©g|( ¬o{ýfáęÚްOńôĚz.'°…­ÖźĽ8XݍŰ`%<{!@6&C˘eE\g“s›F'ńábä7ÚŐŹőűÝşL’+üţ´őćžýť5 Wxi§ôŕ‡±ą-ĄäŁšÖu‹ňO@§«$|fl"Äźo 4É2Í"ŐfEŕţfęHW©Ä€g -µ‡…dď·F.”Ú‡h0b“ąŹÚšÜůü tČKş[E±™S’ßüĽłÍ2÷ůkúă•NßąČt)şfŮ[Zvtä -cĽ–…éD|ᣤńÖÂX–4ś~ŞŤ†ť®ŻőÝ@´,µRˇř(ł¦Îcšd2t˝ëÔe5Ŕ¤đcĐśŽ?ő>ץűŽOÚÜ2Ě’±©łĆ7*yR‡ß0»‡śč‹,u®Ď -¨™ő§’"Ěü¤r ú3n¶ťnEuń‚; šáŔµx‹AĐ-.IĄĽţ¶łI;ßꯇ2ˇ˙j†ŕĺ -yň“Ě}ÚŰZ˛ÜĆýÂ,‰÷Ţó× ŮNˇP»ÝşĽylńD(ĽmŐI?«¬«Žśŕ'Ç‘;ř˝Ax­,r)$_RéŠ ×‡úÓyíűě)˝łć)Ŕ‹–AT#qą‚O×ós±Ďo°2aŕ+îl€ů ŢcĂU·Ąy&Żż´Yąő”ń -š3~%E=’AˇTn;ĹU·»±FĹaÍXŤl–ŢĘ€9úSćG.ÁëÁSbl†eUňůa$BrŻ×nŽ™ýĺ<ž¨f­_D›†wJq“0fv˝(XĚ4D"Ş´$ľ%ŤąĎ Q+5öĚ~ýĚSâ b•ž“»µeżż!kĄ_»˙ťw8UňŞňĘ|ĎĹ,Bb† "›ą-㯓^Fú,°Ńh!yŻ,ë NŻ!`Âţś°šyľ˝#y%?×^A'*şŃzĆÖ›Ú'w«G’ŃúÓˇ1 :qtŁâ˛CUHánˇHÔlLťqĽAó8:ýzŠEXKB¶Ń띍Î6P€Ă…nLölŕ*w:0ě0‚·ßí”ńź\Âă•7VŁÇůńę -ßâ-”FWm·yüV¶łîsôIŮńaŇ%äI;űüV™™ÓćVýđ&”ž˛×·ňöćĺ§J6 Z‘, ¬ŕ@m…°ťÚ‚ĄoçfŠÝŹM˘Ţ™ZK«{CęQ“Ąč5¦Ś˙µő'qú F ž2wQßUřx0‰ud“:Ö9®4YČ«÷Ř“„’tCnCG§ŹyoĹţňVP“cN©Í™Á”YĚ+žcşÚ-݇d±ţ´%*O~Kë=Ĺ|Řě%-ťvŤ¤‡o»ˇó’j˘‰ń;ďó04Ş }%sýbů’ŮâPnĘĄ™$¶’ é¶ĄĚĆĄ‰˙9wä2ŽËI>§·ř¨0Ý!‚UQh†»–L€4\‹\ěÖ.ţíPÚäÍד^ „Đ—c4†µˇtt•Őâ6z ĹšUCőĐŢŮüěAşWphJđ´ÔŘ»dľ"ˇŘch{9‡ô‡ó)|ͱ®Î.'Íw­ÇĘś.Ířőkb¬…ŐO©÷Ę [ÓĚÇÜ-2"P¨¬O© ňíe’­őĎşW^Ě ÷´*ú59?çĂ$•őâĺ˙üďÂŤdz”"ö͡I4u’Ćvť¨4}ÎĚ®(ĘŇ‚y],°#˙ TŐB* ęp(6’"/řÂ¦ß ó‰pĺUš|ëĆÂŚJ ¸ µ¨˘s•rŕ®Y¶ °©đ!WŹďťŐý.’©žËNW,ÜYi'á!DLŰj@-Ű5µ>B´­–ů^há®Q´ťŮ¦$˛ĄëPnĂĺň“OO×ĂS,ĚG%ÄH‡.ëăÖä{ŇÔ}X›·=Á›Ć(oŔĘče“9ŚóŠă©ëkŽ~88âĐHáű'zó“~jc¤ˇfŞ:ŐÁŚÇ]Y&‘ň•๣đkM"ĎŇ=ˇôeŮŃ˙ů-ßm°š8˛7¶Ü©řĹÁb@¶î"|D´‹Ş -eąóČYjÓĄÄş{¬K,3ŰřÂťcí{ Šß|ŇެŹĹB$L} ]ďŢ’°ßż°â×ű®zš>“sI˛ńĎłS ěÜŽL-›č©h=uëăšwĚ‘Pŕ B#ÔŞ™z¤TC3ŐÂ/vkťŃŤż¸8Ą˘g -5B:Đ˝U‹şlxjörn@ś@8{ćxˇ—Đůöş3mÁ|źFéÔíKŮęşvĹo=ł/Z?omî=©Gč›wę¬ü7“&ľĐřˇlśţ@â~ ŔŮőbâÄ•8ˇ„,”)’Řż*“-őm>Gi/+Óu EV{ŽLŘ– WOáEčšj 2HúlúöŘOĚ®r I+ -™Ă.÷ůÔ»E@m÷zÁŘÄýT =3nĽ‰â1:_篢ü=¦ßJ¦ú,ꬠÉő+lžţ/ëŁfž¶‚@ü}§­Î2 ň«ĄňçkDĄ.YSR˛uo)’Eů “Av˝_Č”ÇńˇZßŃ 7̡í§m'â5ł6{RôŔň€Yóěo…űţß6Żę˙Půé°‹¬ÍíË[î»"ÉJ·"'ęÎŃ…t´´Ęď%†„mM řZ3š'”’<_í]a]%¬[ĆŮ!ô†Ďď'ňK«Ä ţΔËüů÷Čν6—±P»:w{ÝÔŞP„DŻ€o͸iŚKśY)ä81=^í‚K%÷| -ÔšÄ0_/=¦ÂM‘¤–®§ßßđŔ#´áťÂá\÷ř\›U [1Ź"iyL?7Îî:zk^ýeĽ·hÖ˘‚×ĂśĄdú®÷{×eJ¬ŤdŁŢpS*‘¦šţ{µ8𳲊ĎQŃ6§žq&›¦‘dă˛ëÍNő!÷D”ß”G"vČpçůl$±Ź˝ °ýx2ďnUD í“®íbk‚WаŻç1¶ą}™ľVkbMp¨Ć>±b°ŕvţ–qj^^ÔŹŕ%.4ßٸ¶&tNCQjýÜ$!Z÷8N/4"Ë»cá5>ŽŃr¸É -ŽŹ'#ĎAĺÄóűKĄtUäĆ‹Dé5çkůe}>LWl,•Uë+Ň‹`5Ýť—ŤO“·*ěoDŞV&†íL7ř.IúŁŕŐb4e ĐJ¨<ÎTĽ‹ňkk8¤ŘpFÄěNş(Ż}ZĘúÓqůnUŹZB݆‹ŕ曄ĄW±0a“íô‚% FíŔ=čÓ,`“¬Ěł`kX&ž Ă"¸@˝ôČrů*+µ©rŚ,áScŘń~ü/~ČitvţĚúź®ł[M!ˇnđ‰+.˘‘Îy8Ľó-ź(a(öViH„?NÎ:”ő¦nr­3$`%ą}Ľě‚đŘú,…Ń^ đ7Ý®OĐ—ą%H§Ë?’Xf7h±)ŮD¨ŔŞeG - ‡QxSQcüŽ˝\MčóâťÖĆÁA‚ÜÄ«=™a‚ř}ł=pŕĹóÖäłľ3ěVľőäŔšZřâ˛,vŢaŚĹţ§= »›Čµ–W~:ŔŔS@¨M@ťÉU.;i*uY0(궨›o!Ę—Đ–ťČőZßną8‹ą{90Ď“O4«¬]NŞ!ż¸[2ä‡EŃvB z˨S#埨eÍ•‚ć ‚ę?ÝΨ0âfLóÇ3±:‹sö^ç}żJ”µ9»Ýď9‹7ćç¨"·ő7O±vdnr(03Ý<úpÚ0ĚEŁ˙ôÇď]÷ë'‡0—[ ţ\nËi0Í4‚‡˙Ł‚—!ꏙ¨Á[\<× ü]}*zÉ$4+)sąÁrĐů¬ÂÇbĹ×@Đ0Lç̱$—Ôɸ:,ć˝§H8âRÖ'^‡â­dó>´ň+'®€6°8˘tDl«đÂ[ƾȓU˛ż š‰Ş L[DÔ§/µď@w_섹˝ňK(Řđăś9T Ľ˙(@%ľy‹ÁAL˙ň‰%W]gUöźP1.öJyk•7˛áÎTÉşhÓ^"gęá$w2xWsŠľĄĺéţlZَ{ˇna´ók˛ž§Uޡ|_źß™v}¨Zp¸[:¦»)ĄH˙Lý’u´Bf:č¦íLěI!ßsgQDďµA1ď÷M=ć+ ą>ă0§"Ńią}3]„)YÇů1]b]3üj<@”Ý9Űcä˛ęMPGu‚*¦±ÝdK¤J˝.Ŕ׿ ň˙saëD[»ăöőÂü¦“ŔĎo…—C”ň϶ µTŘ‘}Ýí (‹•XŹŻaľ«óLŠŞ§ÉĽżpľE´«aZ–ÔËćyp'°^^Ľ âůŹéĄÂá¬Ö8ů×C×ÚŽ/'íÇľÝKfĆ9të˙o˝·"ę8@‚Đ»ËĎ™CżŠ7=DËQ<,nE®•ÚĂ2°Ł­ĺŠ®ű-ŤŞ1D6e»E6đ1€xtŔÉ0®Pi]wE4őś”ŻôÔ 9ŽP®ĽIüa…Kqe– iżĐc|ěݦ¦ĺcă±}ůĄT•ÉTéîK€]G¬ż)řĘ“’"UĄSş$\Đ6†"J˛[Ą¸;ź´}Ž—Gˇ„$A #ąµugÄő'ëřěćyŕŚR6 š­¤m…uĎ·˙\óß|c¬×$ňhă%\Ś)•¨Ť%şfĺ;µ˛¦ ź -<Ö—C@Ŕ<’Ô·NŚŐŽÔ牪öŁ~­ĹńF:ş5‹,–_U÷ęK{Zp)ÎĚ^ -Ž X\<íkW^p(¶lv "ň¦-Ž2@Îő?T\*“ -13ŽĆ }ˇËĽ7č*`dŻś%ŚqŇÜ(§|ňK±ÎY'ó6Ź„“É -1„‘„ŽÓĎk«Ř˛ÄÇçĂäú˛2^ĘC 4˝–5/ ÖŔś8gJ±˛É żŇ€fב"沒1Ąü5űjÁ‘ŕěÓ,šIű±±’$.·o[yĘ -ÄźňëÄŤÁ›*trSśoK 37JtăěŘĎŮä%ĚhwýOżB˵á›7®ÍŚľ,$ëšgö1…«®†\żµŞ+2릺GŠ }¶M,R±ďźYČÁÁ?¶řľaĐÖźYŕ3ë–~UŘüEĘ ý™ËvKqŐ]V -Şż˝¬î‘~0NJ,GXmDůúŘÖ"®I0ĘZűŃś@‡Ýś Ż'3iĚ2źoͨÍlZv©ěş`Ô‡řń+6°Ha«ë–‚µůnUĆŘ“>p÷/ÝAó†_H>Ë߸é°»®*—´“ác[&úĎg­çĆŮ,.9`ľ§UOOú]´.qlšp Ú1Ű>©#šŢpżi^XăEeî,j7čČŽ…8Ęß(|P%ÜbĆ,Ôâąlćb7“ĆNśx5şşgéÁ Ń7űEĘť·­w źĽôv’×ÚâĎźúáź¶Ý‚'ĂžÎŃ4… OŔšwöDőSŇ -ŕJ•‘ę ŠČ¬Ź%÷ş­ ţLXß…:o3KSůL‘ďňŹ[[¬TWv0jÜC«ŤsM,´/tWÉ‹÷$ąó§Ús†5~TF+0}Ďř5˝™¤Z2ĄŽ3ře\'ńęx:Y×¶Ťrč‰E4qZćĚeňneĬ†ëq­-g„@Ç ÝöčCěs¬ľź’üwrʵÁ-ńz»¬LcĆ­†~¨*ô|3 dÝÉ3YDI0]d­Îž5óŰ}ßĹčúĘťĐ}çÁ<)÷ąĄÝď0‰RYM¤Z2OFrrŁxńî)[GË·0^ťˇŕů–EJŕ ŁS`Aç&Jn*.Č,?ˇ^|Ó–YŚŽčł«e­3D‹*˝ĹRçÂö#Ż3˝]QAr75ŠR µmÜ]ď {d¦řrŢ‚Â]Š}Á;縀)ĂăÚĆôí.'UĘ9F|f -Żś‰¬ëđ!,ę@vŃË7¶ZxtGYš#Îč›|ęŕ·1,Łŕ­ŐkPîE»ňžĹĄ`+g¶—â/iă¸7Fkĺ5 :"€«°C“4ŹQ€Vk5ç,C¦kŽNŔk¨Mćnf¤LűŹ<ÓşbeŽ>‚ ąÉ¬F©[<µŇÜCÉLKŢTĽŹfŻUĂżÁ¦Q5â_W*ä8 Ŕ¬‹âôAÁu<Ç&ÍĚ)Péí“t<(stň]OZś».s‡ «z&ćLćz©“Äs4†¸Â‹DxŻH¤Ę'“"n~EkM:şA+ŐécEˇčá÷c$ćţt/ÚĄö¬ą“°'I˘Ovľ˘ćK}ťŃ›˛5 ĺĚ+Őń÷ü7Gř7¸ CŚaÉ<ŁŠtОźűN× ¬ŐE1`÷ĽĎ,!˛÷˛¸Ů`}s‘=CŚ[Éu“Kţ&‚{ÜčŚG/“3KC_&8…ăŇ:l!OĺRĹír¬ŇâÇŻ¤]7›1łoÉ;š\˙ę‘Ř ¦”0ošÍ6Z3}o`uűl j -«`|ëÇć|™»ŔľšâążXŘ13*aj} ź„BF#Čx§!®˝:Gg0`©:ËŮE%e·aósČb8 Řš˛ôä@z„_qCdy©ÂËجm÷ÎM™m<ŞäěxŁ©-\ Ę8sˇńAz°Ő|ăťNÄO2ľˇŹ†BËć˘ -ç=nŞ˙PÓľ[S©`(MY—%a>C˙Źk„ů‰˛¦u4ë~|iżW$Q›UčÝůńU4Ń”<#Ś›5\ż§óMÁýzbĺÂ(Ów–ÂĆäűjOřźü¦9?uCórÓrH1Ü CÝńŮpđË´8@ŕó@]”:ĺĽW–@ë毪ﭷ˙Íôˇ®­ŮŻegn7Sv *n#ó§ĺ˝?ŃŹĂp®í®ą‹Ň¶v7!Ő‚4(őÇULĚß M"ÓJcšä*÷h#ťiŤâ­î…«Xý!3gü€\şEĄ/—ÎeÚĆ—0ÝS·ůř«ÖŞp’pËţOây ýxSŁd҉ő,`’p“Ý"ÉÂRw/˝4>LÁ[1Št.ÚNJľV=_žßúFýYeâ_ö¨ă‹0şqô‹/Ť"˘°ĺ *—`ű·w5ů÷RU–˛Ř"Łëţ«S˝lVŚ›n„·Žţ3…RŇĎWţČŐŰ·s%ZĄ– Avçq:;YŻ­¸ćJë‹p=^Éeő A lE9Úl«ą©Źî přjDÂ"‰“ú ˛Ŕ‹gÖşúd<>RBłj”Ř{ţęđýÉ÷éžąÓűJâ|&ŞR&n¸™ ˝#śćox÷AÜ‘x”żPOl#‰¸¦ň¤˝ĆˇŢpçĎđć`?y3Jˇíävüׇqrd¤đpFü™”~ĚÓ’J—WYľ<®OÝłG`Ôâq!˘´…Gˇ¤;z®^?żË–€öĆX«¨Ş®X Ôźk3Ú"üä# bâö1ě!—‘ýČe?ŔO©Wň ¦Ď|Ęś&™˛‰ŤV¶ă§ĄhPŞz#+A×cveÖvd¸/r­ä#(‘w•X™ě0°möŔ‡Ony2‰÷śL{"j~ż­/1g÷j‡”mď¬ôý%‹Ŕ|VG´Łůn'jžéA怾Ě%3€Lý„ż¬µ°˘7™€H´¨?‘Sąłfo^»gŘýŰMşßď`őĆË'%JÔqgMťL±c†X|ȸ°Á "/31¶÷ÉuI Ă%˙¤JřO–8_Š'ÝIŚśEÝ*j¸jĄ©@3d€të˙ąF Յ%Wű>NţmOăă«—(믥|c~Ë>OŘe?Ż+‡sś z(Oâl$îŁ8‚»a:¨›=÷FyOYŁŚµP™š`6,vëjCzńó@Ŕ~čAe2ß»<ýĘJ·5;¨@üľ¬ű˝)ęK|źýf˝Ő*GÄ6~6űC“+碭¸ą¶CŻĹőgŕ’´RSfuećšŘÓ`ŽÁ‚“á˝hN±OLř4ě Účä±Ýhýř§đÜĘ[Ľ÷|QYŻ%*ţxëE¶C¶-Bo­4O(ëŁ×%Ĺ6Čggô1›?ŮÝVµŔi’oc·ĆS¨«űö2«+ŹĐ5Í–ýŽOiąj; ÓKł=ɵŚ},ń$'›Žţ†Fó9ä°heigŕ)˛ţeٍ˝©H×ËŔA{ -}`đTśđu3OŰ39›˛lôěŹ0˝>±ß:ăppL ¦­ÎT"+ÜŻ’_S=†$ ˛=‚žg­·^ˇÄŁU…[±§‹™_ňćHA©[{[]ŠJ#u;cWBýěp,źąZÇÁ§1·T}0Z$fITatâşĆ?¸4¸Đ9±¬M×đ˙ÄŁ?J<6ÜűA&µ+čĺ>÷"Ҥ]ŞIBO€†"RE‰ŮËA!uˇÍˇă.›˙đ'‹Î›ŕöÓPđQ¨Űh·nĺĎ/S¸g­ Ű ›ŠzTvĆYݢëčű©F€—‡±ngżZg|y\ЦZn‘˝*YJM÷˝¦¦ĘŃtçëűäűmŘŘ -ÍF”^˝Ę˛µíÇś÷Š;ĚŢíş›Ha&˛Ä O_Ý®ˇ.ůX`ެźč{ń|‹řq1yüÖ÷}Qĺj­á·˙ł»éC2Ľäóoüu÷Mť7ŇInŚ(ąÁ??şŃhőËĺíÖJJ -4~“ ŹźľŘQ‡âä¦˙G‹–IlÇÇŰřŠĚ¸˛Í‹ĐĄťľ’@!/B]ŠČAú·¤ItJVŕ‹ó 3<5Ű>EĚmŽ÷Pk5Ĺw;ÄWóŢ”ŔŘ+Ô ąHî7B†·ťÍJŘpĂ…rČ‚Sö.nG—W΋ňTótvn:Ć»KÖËÎ’„['UüŃb-­˛YVA"Iţ€:Ś'Ě(ő8úI|EâŮ[©ëťŻ•n-^;z¦—C!´2pxYYŐyč­¤ţăH°{­ĺŮxą-Q›đÂ͜層f—`TÉ8~‹ęá˘ęcś"3TcŁ4ďo¬K„żá|ręw3őéúT·ě®\Oڍ„vÖk+{î{§.&–ŕ&ŃaîÉ×Xy™‡z<«dĽ“D€AÓŻQDĺW¤?„t–ţžBýk}IĎbăĘú{T§ _5ĚŇ·'±ŠĂ‹ŁĄŔĐC߲Ą˝3竵wÇĐ i„ŚÜŹ*f/%†©3±­ě–CÝîó[‡-‚¤f<ďóŰ‹×O,şű?í„É)Íöűtf#ȶőŰ”Ľy˙-íTHkX ±|Ě ŠTąh}š˛ H­űÓ|#Ą!’ő*ćúŢÖktsŻkę÷ě©0™8Şe†˙[`i 9[4Á 3+˘[` Ó6XZ˛c˙>«ÍŹdFjCY­-sCw=‰·ÓÇjâËK~‡ńž‹ę‹»_$çńYMĐ[+[U<‹eL÷ăYq(˙ŚŇě!Ő˛š‰ î”4¤T†áY‹%“*vđ®žÇk=DTâ'1qÄek­{ýP_;)•Ę/R$„Źe7µj‹Ž™Śso©—TĹP@âŢąňĐęđ?8Ů -/c“ …žĐ‰ĄĘ”Ćë_Ľ'KÉ,ÚPEá‹ć6Y>Ň{Zëp•°(ę -„îh´‡ÜŽĂ‚«üě迦łŞ ´Đc”*ëŕ´d&·‡lĐńäŹUÝ\¦ŐÁr\–‰ď ×´ďHŽš•0ÄU}_OÉ6šck(SŰ;üż<ě]aúúR­Rݦ^ßź“¨Gű# }`+´ÎÎç×>Aaă)¸‘o“ąY0ç’Ţ'śj€łĚé=2ň÷ňAFu 83]?ńO}±űů'¦gą¤ŽŕQPtF»©ÓZÍí)GZ-Hű®?×űä9¸! -z[HAÚ[šăfžçz–¤*e IYč ĐÜđź=iřbnĎžJu “NďµZN«Ě¶~żĂ–†˝Ŕž©ŰôkĄćNÁr˙ĆÓićŕ_rŞ ű˛rŐ¦.ÝĎ!‚&SĂK2:—ă O¦şÖ8l˙Ŕ/1Ň}y}WŢ'ťgń"˛ć뫲ż¦‹şK+łsk=žůP­’Á’Ž<ŞpvĄ -طҡň ˛R -""đ›.tDúkęPł«@őëÝńÂ&łŢMŰćĆrrŢd‘ş­Ą˘ÔýĎbS¸.`¸Ű‰#/Đ2Ţ„Ľ7ę=?ł¸4ŞEő`‡đ’*mvËđg*@¤JŠ´Ňý$Ů6_)çé˛ţjĺÜČĽž˘Â+ŤŃé%¶Ů˝ĺ$f$%ćIÍŢVŹG´G€—"W•˙PJh§ÚŁs2jvçÁš!7»•-ôü4ÜŠmĘŔýä{\e&ć°bva/é¸a1ćVS~ťÂâén,mâWyŕ° ŰÁdđÇz–…˛úKۡ­D€Źć•Ňy5ŰBˇěU× 5eh¸%„´!‹˛8-áxÚÉËr«˛uiwâÂŮ?lPC˙Ô,=°űu‹ÂëźoĹ#÷Ů5­Ą‚á7Đ@Ͷ˛"!Öř]-ńŇFZťŔ¶S'Ő5hxIső*öýŔd>ŇY‡€ĽŘL9ë·l…|G,J–šRLĄc¦>ĽD÷ĂĂ<^Ź„Đ­—î˙W¬>üÓ˛öc;ł^Ň⇔˙ä}`Ŕ+Ę&ňŰJł–"Áć„Îo—Ŕy4•‹ -D\đý¦Fü7éő›8ç´éęI Ö -šÓ( 0ä%¬„QČ=(Cg]îdĽůL¶ˇ9 uNsQŹtĆ< Q1€.ŚŹ)çÖ !ţjL‰—CO—×ű˘ď°ŚÝó )fS-ž®W¬ŐׄŮ5 -Pv5=ď¸×vöĄwłklĎ+„ŇLąU¦3Vő… )d…đVómŰ úň–Uöb˛9ŤŔâšÜ2Ăuj*ˇvˇiĘëî{’TNrîšOŔ>á¸PC“^ ŞŹ)˘FPŇ"ëżĆÜúÇ~L›\™ňV˛5žďM<÷…ěc2É۶xĘý d·Ć¸!ŮC„M-QÔÉĹ›îhŔöjť•mi7kůż/ŃP@… 6fÓOÖč~+äžůŠ09o©+1Ţey.3Â0Kó#ÚŘďÉ6·ÖĄÄ{'+`¦EĄ -ÍĄô˙Y+A„©ţŔ|I•™69׋e.ŕm¤FV1‹‘db%Z]~ű`cË߯aďŻëńĄőO%+*ą”Cš~z/îę¦vRvK‰ä&ŚśŹnw=\ŞąđÍÚŕě”(ńńüQOŹU’T ‹:főŔmâńíŠh§˙8źź·Aňt?;o^Vö…&żrŃR†čü‘‹©bó–ľ×,FôGÉĐ’kV%÷śYü­ő+vr±€`gşđîH%Cý…|Śâ©™®öňÖšĚů˛‹ÇŮkßă züüS07ŚNŽô©íOÓú84C•¶6UŻľżŞކs†ÝÇ(-*Ź`¦ŤÂ&ţ2§ĂUPçE›ć2UlGĐďzą,ÉvÄgKŕłF'MQŃă„ ™5ü·rq˘“7‹Ď vIC`-4Ú0*Ěi« _iĐHHŐfÇŮő˛ćÉ…C7-ŮěϲŢ{ű‘Xî’«Lt(ʬ…čj™×IU)NĽľśň4Š)ăźá¤CÔk“a.™oľČę‰m ť·¤óʬ(™[yÔm«Ťf*Ů].UA“cB…ŐMm§g[ž´ Ü;ĐđFŇDtâ= d’îj Ĺ”hţ^B A˝Pť:zďÖ=V*2)ŢŻ$$ť:ş]Şe[^ ‡b -¨ľ¬Z^äŚÉó©W;ŃäĘQQ˙ĘŹŃŇfőł7˝žeÖxĐĆ.]R -Kýt'aÁwg–2Đ%)¦Wň€ű=Ĺ3Yu >^ŚcqqČĽćD;!ö źąe—Iđf(řrľ$ϒɰ?‡Eč„ČHS|Ł4:˛:~;K!äSZǦ_ëq&«™Ł’´AŰÖg6vŃ[śRUnťt(hZYoií$8Đ)×>`‡p¦öĺÝŽ6Z,Ŕö/ěţ:ŞÔ•i:«^xŰëCęľç‰Pzžłł÷…ąćáýp8ĎŰ+Đe7Z’ň/33ĐĐż(H•`~ýÇ|˝ĂűŹ‘·jůąő˘2^e,Şü×…4°'×í˙V†¤çĐ[ŻŐ2–ŔĘ˝®+6äXÄmbňŤ–'ßuŽq ¦Ú:ł´\¬=ęÁSŞE‰P¨ă ]ążÉŰš%żlVKÁÎţFLĄQ©Î&Ö¶ŕ9čćăgZ źŘ“î‘Aäµ6Lßĺ)§xo®Ë·­úó~Wźî~dL°4” '’U¤čÁ?É©ŐČ2j6XIQ XŞ3c8?ďěö(”‰«PŰ„Ż=2H¬Y#čÖ$®Ú&AwÉ ůcÎgŐbĎĹ1 4 E,ëe˙/˙Őžmb’®űŚ&˝—GŇ-E.Xk1÷äŻÇwů$gĺ.ÖrcB0×ĐIfŢ…~ -=Ň€­ý cˇ­7&đďč· "?6M@ -ŁëőaťĐ^ä~ Ëy­dI0ôv -“+Đý ľEŘŃ„Ýtë ŕłíÝGö0Aš{9UoôľĎ<ŤŃĆ ݇tdi_ÁRqą:Őo,ęiů{Ľ+¦žµ¦ţI¨‚bű˛GlÜS7ń÷͸xŚżő7usWBé’€ŚaŐłlżţ¦•G$ňĂ4ËćŇC>fƉ¬zó–(–rQ•ę_ÇÖŕe†4µµÇ5ć[JěAÁWwě±ňąI¸@ŚŠĆő뮓Ůay’‹I"Áúě;ąN~ĐÓ w-ćě+2ç EřďzoĂr’FĚÝ%ŰG$Š!ąeŢ0 ´S†^Gôys·WŔorFO‚rňńýZ°]JP _,TĘšZ2'sÔ&‰ŕČâQ$ŃXč4PxlF¸“˛H4\(áŔI®k€Ĺrŕ”¦óýň-8đąź b^¤ooQ~đÁ/DÇÖ˘ĺ˝ě[ç­)ĺ:”AĹ‹8ËĂőŻţ¨úđć68^Ô–Cá±}7Y†QKŚŚ°öľ–ýZ»~q(|ÁuęŹ/ K¬p?fă1Ím•v»2ŐƦť7Ň2†4/ržśPď´Żü…]Ű !gŰěŘ …ľ¸óBĄÁ©d»Ąľ@ŕP˝ÄÝŘtĂ ő8u'°íÇjoŁhUŻ]`·9d, BŕŤ9^&ąHÔŐŠt˛;ŮŠfŃŔnčO(‡ĎwöŐ„Wšľ÷U͉}ôĄÄňřľ #FŮ«ěO†‘ńô)ëŠ!ńńĽ«®Ň ¦Ť _Îľ0úÇJU€$lBďŤöď-Ř˝î7_‡˙5¨qÓ"ĐcĐÜ·G¤ëŕIQ0ů`áţ°Î¸;ŘžÎÖ‰GŇö~ąe^+ë‰Â"ôŢBĚŠ©‹öĺw0fď‚ulI7›Í*×Cbľ°{ ĽPëßXŞĐ¤Ë *`[1Í÷ ¦$a6RNŚ˝Í~í×ţCâ–o-íŮč„Ő«ŹČ|b`“oâ µPőë×{I;Ě®¸Á¤ę{ ±ŘM;˛zfމť¦.%Íö cšXÔZˇ¬Z}Ä…Ř ÓąÇ©˙|Ö´Łś´ĄGńÝ;GqĂ[ňĚęd÷)Ű„ZJM#ä^$w÷CČÓÓÁ\e»¦óěBR/čеÂ'ęCȀڦ*:Ö<řl”óˇµŐMí÷¨§ó)SWˇ­CNĘäl…z ®ůEŘţíh¤$ľÍÚŠťĽ]Ů·x5î™_§LŢ ĘQó]'n“]Oú*A;˛ ym´ÝVۧF~Ŕö†ýˇ§&íwő›NĆ †ŕ·ţ*âE˘žď)âá[u Ł`^{Ţóý§!¬¦&>ßřÝU`=ČőřrJ-¤HSC3)˝QŻÇ}©Í‚tăč*›ţüßz»ŐËw{Ô!#ČfÔňO€ęŤËTJ<ôü_ÝËĎŤ1G TúŹc G4LV¨|A—rÍG%BŠ2޶s®q0`&‰Q¬…¶™ -‡v!>¸Ż4•6čR"e ě%ى‡ ţ{ ĄřJ¸)§Iµ‡ĘĆnjöĐ꾸x˘IciOJ&Xř`0˘e3î']mSćŽ/Na˙˙GTźŐqm÷NąĹH›¨?ĹýĚVt»grXV Z-1mÂńż^ÂyrŃzĚG„wň—î]5?ˇzŞ<îb;ˇ4$î kńs&AľĹěym실QüµäVĽÝ@ü"•j ĹúsxĘ‚L´ÔĘYĎ[M”ĹZŞX#¬IX>-~äę°T`‚|ćXŐýsśi›|Ş©Aŕęąš<Ůpr(ű÷ÓěÚ4ŐčpĽźć~…»XšpK. /J¸…‚ţď×~»»Ë:×eß9irp…Ó\&Ë«nŮťÓ…łŃ ę•óSJ&«µß´Ç†>QÝzĄsÝ”ujË*¬ ÄĂLčÝ<śŞ“+¬Âežaء†3@`©Ž~ńęÜ&šŇ \Ą`23”rkŢćoý8Á‚z5äáÝ”ŞÄ˛”§`T2ł°¨ĺ°Ý{—]z>Cqüˇźp† =( -w”éwšCĺäŠÇô †ąä×XZş™€éXOń٬‚Í$ňôF(T˘=4ʱ{`u#–J¬äŰcĆP­ş -Ę™"ňÝĚU=‡ěŤě0”VőÚßmâ`ţ#ĺŮâseÍÓÉ·ËzEÔr‚;KđŽÜ?(ÂźŇV!ěĎRDĄĽ=}%ťk8V6˝&R}Lj‘:ń”ćę( §ĄŹ -f'ŚÇLěIBg -vq!ôUp«ÍšĐŐâÔőDVá —5ÖY~™7^V3†ăúd‰¤§HF›˝2ŹV=čá,vĆÜpFVđ™Î)(ډsâŠńO.Of¨Pqx·­Wnnşď…U—t92Ůő´­áľŹÔw×G´4Ü)ťÝ9_›],űÖ&¦sĚL#€-úÚIěkF»‹C˝D7‚›Q|‹/ńűÖ~–> -mxd/F"^äϤ)ţ& ‰.‹5.”eę48ÎÎđ*(ľwöRĄ>ž‘U<T˘ŻBȆĆi‡ľăĆŐ[}€ ˘{ńŰČ40â99Ę8'C°ŕ—ő"ó1˙ß?2QLÇc%Ö¸Ż˝9ý’–Q ŃÜĄ‚űćŽ7yŢšS˙mGhţ˙áXz žúPXá¤CxţÎ>řĄ·S?lÁöjÚtW6ĺq%čÔfłYoá®Đ —ŞÓÚ>Ć,Ý6Ŕdż§–Eű‰Wqc2Źcŕ[‡ěg˝Ž0C0ĆeÖŕ#lşˇÚö zą/ŕ°%WöüP¤\ú@ĄŐ.ĺlHß‚ń&Ű&‚IŁóľÂÜ ?u­`kŚYE3~Ć=(‚xň޲=v—*ŮĄ‹]6rˇýŐúy‡üűŔ}‚5@¨ÁRŔ#JˇVŘ(q@˛MÓĘ_µuŃ ľ®aq=„b´çrnŞî|cj)§ęCÉŇ;€čIRČż~ÔNoM›!˙€ç‰6Ś'$:ľdáť0P !.Şü¬ÇŃčŰýĚë}‘·Í¦R^›6őru˘¤SN!Î -°(/B ďĚľ–= ŹŔcä´ «˝ëŰăÂĆtTy”ŹCÖ+Äě"©B?h~›ßK.?Ý×RcĎ14Ť‚°)űĹF°uŔěěDń.S§ţP`6±áđ–í ¦¤ĄĚŁTÓ×Ý»ńŰiŽłŮ5âDŻH ď© hµD˘eťĹń~ÜÚţJžhYt:Ö@eXv’Čó))ĎĆ~_n?Âc"U˝‰~ŕ)”Á…}×3 rUÜIúßa*/K|)qČXť®lÉ,§Ćé´w5ą1^ŢŐ§¦Ě3YśKŽrƶN±—błaăqőč§Z­šČ†FS1á`ťĺ+ę[áôݧÍŃ‹&ˇŞTmĂ÷PźAíQ{k Ő*)Acĺ,I&Ěr‹)uÝŮ-]óă.ÇŇ)Řć"ĐhG®zJZ˙\ř\s[fm˘AJĘ:đüíáVžsř§˙Ţîż¶a°rŻ“ĄaD8î.]ÎĘ™°}-íH›ŐF)éd<ÜÝŔmn^u8úY©'îkP@=¸!˛-ş15 `Z;ďâEAxi zŞ*ĹeŢc%64jž+ŐĘ€UţĆ}‰?íß nhů‚ĺ¨)ŢÇĐ_iEäP”ÄĘĽáu ·ň÷rââ"8˝šy»wżMř´¦ńÂä¬%¬8‚ëÔXOą„¤˛Ă­ ¦ŚÚă= "o|b\hčËEvg]F+Eáůž‡Oeż§’» -#ôÇ•ŔkźÂ·ŠööE†ó•‹1–&/:¦ Ň÷µŔŹ1Śż›őË.dŁś¶eźíŚÁ×oČv=?ë…ÔâŰŔ˛|`ŃHswđ«Đ_Ű óEŔ°ż,Ęb±UYdV/ĚÍÄ˨s/<]Eć0é7á\$ęw6[ĆÜ s>ŹôcÉׯĽw×Î4›đ?şŞjUĽÓQ»'“g(}Q}j–ö!C[őëXKő`C– ŚĆçóbJ§ĺ”Píl[Á<}ČMńfk^ßű]x IęhznńJ†"ň]A\sţ‹ \Ď'˛‹Ľ’G™ĄAUń˛:hĘÎÔ?x‘Gk…Ądú•Ĺeęó›@Yžűĺí±•)ć`ň´±¦üo´SőF¨OöLĘýp©†e-'ĺ rŢŠ -Ă3K‹» î%ş)˝3`ŢN.0 âÎ(^}ž*üu%{Üd¨ŰË[™‰µ1°ű°kR6C¶ Á¤Ćţ•Łśä çz1lň—ŕ+é4Fî3cŽ×“KÎEş:Ź4˛}¤a;,!ä%Şŕ±&FĆ‘¤(ëâÇ.}+ĘŔXČ :G¤Ö;ŤŹł"e­çm|PőTĎ'[q€_M×”{/ő›k0”µ/NË‚|˘˘˘'ă*Ż™\ÂBŮřQě-€]V÷]<ÁĐ“(đ»d=‰‹/uK:ďĐD?ąVôő¸ľ)%ńäăÉhQQMá/Ą¦ -VdY˝ÎµľM]™<ŚÂp%çű4‰XâaK×dłîrS÷'5ę|9ż˛‘˛ŁÇŠ–Č“mnŮI˝ÜąămWăOřKĆú3ďlź@»A\'ś Cň“›–(ř;nöÜ‚qye˝3’éŕŢĚá¸l˛ČÜđ.—¦îŤ‹ËDĺ$›ş*üşFA ,Tmçç’É)éěišóM¶Sd™ -Ë2OúŮ˝tŻŽjK{Ŕë3”É Ďz)pé(OŚ–ôR Ő°S•±ŢÉ6çŃXY˙~şmý‚4’«Úétűç{đäşT IWj0VlLç żJ,ö1ĵfĺ*JqěŐ)]"1㲪ľţűÔ˘&LX&Ź®‹Ęç4“Uť“ÝLžGSö„îr]Ř®pŠŻ6Ĺpiôťeć˛ôPÔŤŇpYҤC~Aľ+BôÖW$ši’…˙';¨6mgžë7¸–ÖĚ… Ľ›®ę^g.ë¶eďżRÔÇ„OŹĐä)ΰÔÔ— Eŕ™čĄ§®abáÖ\ŞPJŢڊ༴Ër˘0háÉ™ź¬Śľ}Rf‚:ôÚk•řEň,Ą¸Uů©i<˝ĎˇŻ@Ż|'şŚvŤ33GŞg6X2˘ős‚˘#ö­Ő¤Âh&UL Łß.Ľ6•* ->Őň,5°nęýrQîvŹ&®ťńW -ľĄ!. ÇÖö¶űńŘ<)†‹Źélˇ–‚ÉWLi™­č|ÚNŔrg•ÚFfb„YłÝx’}ô7«˛öŇ{‚ĹĐ!·cµÝ$yîYcą6U%OŐqf§Ł„ź˛áţjdK73•-M˛ÎÉ>HvÉéjŞúfőx ĚŇqpzö§P}Hý” -: üŻTůÄý(ůጠĐçşůG˙G0ţ=ĽÖ×˝)u—ö€H(,Ý‹ •»–?ŰRÄąüÝQŕ–j'ĘÖBpO`’,”ëÎsß{ąű|Ě?=í`Ő ǨđřňĎM·Ú÷ra3‘ęVŃ´Űą—qX©†č(#XÄžď˝1!;šÔä_%;ßOnLGŤYÓkő»ó ő PłŐ@Ž#łVR GUwĘ>x -×ëqaŤtTAlĆ®ýL'ŢČţhu{hVMAĘâd4Ĺ“ˇ¬wiŔh1®ÉÖôĆUó<©_‰™Ăč}Pě­ë›Ť"lNÉ.¸ueŞ(ÜbŇ—ż 08M„oůú¤Űt¶8ÄRĘŤąŻ—Óş>ž‡ĆAfßö}%ĺŔ=”ńŕ­ é$ Xéĺ‚»h‡dśCH‰PÄx6śénŃ˙ś[yc fF´˙ó8-·®;Yq%ă&¤wcĐ»'¬až›W-ďRmN1#šşż*–ěDßu’Ĺx -|‡n—Ľ,ńĎŁTůË -°äHi!í*”¶^°¬Ľ¶Ä‚>Ę!´Ő]AeaĆQbJµSătŞĄÖžDbŐ4P˝śB?}y2˙!“˙›ĽŰ¤n™Ľ„xĽee·‘.,âó(X‰§mŃ,[>ŞnA?w lŐÜ‘É#¤ŕşEÓęą7Ér*xŐ˘ĹpŠńmU`0Ăl„cß+ë^ŔL¸U„ -&z˛ŁĘlŕžV<¦Ő[ř1 |$Ą´>oŐžâs!˝$őD2ÔŻĎm…@I—cľt7™ÓN˘•ęäDMNWŐž˛.ň‹YŘĹa¬ŐŮđ5ł\ä`ĘzďSµy˘„ł€ľGOÓ€v±pąÂéÚCŃNüm‘6k n2tÔ´hmÄJ=Y5Ȇć@Ć“$“Ć|Yxl؉Ĺc&nż¤ib-¸AnÁŰQ&!›ýH“®ŕ|™ŢŕľchĎQ'—#ŇśôXȦôĽ -ÄǦř.á$yŇďGłŰ#EŽ´JÍ>7JşxkĐGU19ő-q¬ĐiĐŇXËűÂĽí%,°ŕߨJ®™ŽŘl<Ŕ»6­Ŕ—„íş€'ŞťÜě­zKľWŻa݇ ęidÓżÉŰäÖ0rŮ\G´p‹3č¤R—­&ĐŇTiqOYőSóB©ü(P†>"ő9LčmÉ»8¬7KT3®Ç6Í%IČŢ”Ćkůb8±k^„Áŕ‚°rü:^2ý&{ßmŕB*¤˙„`.”rĂuĐşq¤äépHď§MÝĺd°@Üz­˝ŁÓĐ\cÍčH]űGÚťľäËĚÇ_˙RxÍexĚg·ňť‚)>‘Q`QĐŤ'Ivň{ěIĐ÷ő’Ž~S¶[ÝŕD»S"řĚ­C™h›­»›€°śů5 .†ćž×dž'ó¸ëć6ç |Ů­Uâ˝ANđß0ĺTŐ=x–}ÚźÇČŞEĺäGůŘ9FŁwZĂs‚đ݆Ę÷jZŕo{użyuü©8…Qf`b Łöš[O +ĺÉrăÔ8ŮjXĐCI§a´Š -•=|ŠT $0é$`^|JÉőŤđ=ą¸‡Ýz)ţ~D $fÔ°‰rÓC],íyáĎPß=éˇţp[ffîýL ň`Úé—.(jÇ}…Ý QĚ)!?§ç'¨­řš´?›‰‘ ńܶâj€ü{Â#,´gŃÓeR€wVš}~ý şÚ™N… „׳Ż#ŘRk¤(ągŞ/‰'3¤WSuw<°TŢ3—^ą”‘ż -˛Ňż´TAňNţ ŔR -Ť¬ śÉ!áÍ3¦ż'ô{d⼖ëvă*k>몄€±×ă9¤B¸Ş–’hÝ=ˇ$FĄ´Ĺޢţ/â$/Sűvńßn|÷ČĂnP<ڏšőÔĆY‹';®3í[d…[÷™›;â¶j¸tÓĚťÇ_ Ëc.~A>»Áíşż“1[·T»SVvЏAŢ%ýĂbThe°^wâS)ď¸ Út|÷d=ŔîjAÄ·lm°,ó#uČ<źťÂsĐÔëObCátž^yK%ŢtSUŚmń#Ç!›ĆľĆü$â­˙Łď@Ź,+Ř?µĚR¸îvĘé‹×“€ý÷F_ŮÄł-`ĚtĺtˇOJwúŞ­ -úýŕxˇdŞťm‚A?$TsĎ·ĚÖlÎǦfÝÉç°m_ţ×Vůçj¶¸çe)“ŠO¨m%Cú›eŤŤ¤Ľ“í“oJ#™ź[Úü?Î]§ůGőý˛®µvHűĆ×(«EÔĹă’Ń -č༇dĺwź5ă\Ç;äL•tĺlŃ WQŰ™âÉŹK‹Ľ»žÖ501ÔđsĘ0ý‚'~\nQ?·gą"c\|Í &ŻĎíe¬x&ą>±ië¨Nţâ+/™śÓ¤’µI9ĺ<ĽMÝóŕńÄ Ş®Î2fżŕ)ŞPăw‰RţqZeNŢńK„”B3ŽIh]‘yCAŽ`xk’pţD9őÚűĺ]D†4™UŰëţŠ+rB}1.ťŕÎŹôyR˙?G¸Ż4ÖA“ÜŹ-™źM\¦µö”÷‚ç P×öóý:ŰaÁăĚd€üCň!ŘÁÝěŁÉ|dV™Ú.Ň\#‹_9Ěž™co}«ËŔ -žFľób4˙2ZĐłcŕvGd^ýkŁëóX ˙¶˝ÍÂâ°„äÄ,…4hĄ±Ľy–M*Đ’’l6—-6•Łą7!ÍúŮo®ş,âĂ>9î6si}°4ÎÝG{‹ c7ő‘CŤőźJÔ ňGműëŇY p¨WŘVśđ(“…dáąľ€™(M9;˘1  Y»Ů\ä! E§@쥵Ůd|±2G^šSOŐ'Č`÷.`‚gčĚDëtľVŁç¨P‡”b’6§‘M B€:¸€]ĐDbDR˝QůËl®hŹÇ±¦2věµI.Uş !7i!ímÎ=)5±>_Nť.3›éţśµĽ.KëQ˙Şńúříý§Ž6ä:Ą]›)¨t^í·Ë¶5öiY¨ţlQÂ8 |]©€Iíb…Zí`_)BŤc))§˘fŽúĂ­NśŢp#7ÂćM|âôgiq{¦$Ö0Ř)z‡ĂŻďŰłW8°ŻAsŽ\a.±~äÉťŘÜQ`<ÂmĘ -ÓŠýLsąGa(|<«ŞÂC;2rÄő¦Î~_’ -Í˝DFQ˘%2O§…ůDy`ýp¬¦â„đŰ NNÇE7±Ë´“…ýĐGq¦ľh@ y ŔD6Ě]%Kß.ăj?AŇË™đů±É¸¬ő°SˇO|}m«€ďLƧňlőWË„ŢC‘ŕÎIHEÚPÖżŞ~E3ío”=É)Ž»’XxJ+x}]Ůń4kË—zZäÔ¸%Ś(äD-2dýNx˝Qł±µkř<Đ‘řf­Să™>¨ŘÂAHÉçÖŞ;7bú+u we 7}8ą?,I«NŰ)«ÝwBX†ŽN'AŇ8âÖŃ‘9)6Ć$Njܲ[ĐkÔÂč·±® Ű »#Kđ"Ĺ,¤,ďĐ.tĚĹŻE—ÝR/ĘÂëóâöŕ˛ŢRF±»±ä­Ü9A«ę”řůô·»jA‹±`<¶Zhô>"ÍçÖ¬Ű=2śďżÖ×H÷?¦M”¶ y“»zS 7Í’Ś&çd ĚŰ9ťDHx#ÂĄµRÎEXNŔú ¨e`ŰÝ/•NÔ€l•d`§*tlĚ7?eQf·}bˇŔŹîŠGS±#s,‹JS¨]bî{ Ël€Äí&l5Nw‹<ýŮśŤÝŻPamWh§¶ ­~Ťt’QĽŹ ­¨™őđ—ě’ŕ˝ę;‡öŕŤ/ľ~·[eÍ˝ú(äÁ˝l°€löX11 dýk`wß\ ĂÇúŽP°şQpFđRŚQd·0Ő 5.ůEĚŽ%ka–Íe5ř,őÖ_Ár2t)+B"ő[˛|J†ŠcĂ{ -vD7éŢ#I-¸îÉ@¨µőÎęIчŇül7µ‘Ű&··twtµäÍ söß÷ŘPôĐ(I´×‰4ńžßB7ÂfÖ?>ŹMLšhn-"Ţňm^çÉ;^MĂlZv9ZĐ~˝ë©)ţ ’ˇI~÷rQ+»Ëýť˙¬Ăľ\ßî÷Gfµ7ĹÉćéěŚÉg‡“˝Ň,۵­%ôµ™Fř]Řo-KÇúďi »2 Ş´|Ů -JB†˛`F°ařĆeř†^ýßY¬Cä'¶§Â㹌N 2¬gÂbÚÔ¸µuß›†•Ą–VW§dß ň—0=—O-ŇaxOnĘ3zqŘ#GMĐŇşIZ±ÄISfXô%Ďgmžˇ»˝čĄĘőÄŞCx%- ž°•ŃäŔF™UÔů{lëwqËů¸Ăŕ›ľĘ&'ÇĚöbb{”,–- -ąËžS#PMµy“DúwŤ·Ď7·CE v^v&đ÷(ś3)â—}H9Ď3Ü t˘uäXsť#``P$Ú˝T÷I…şs«]SŤľżäÖ±C‡î¬­…H1©fNrl¸ěŁucš×ŹVáRuŢďżSOgu; ľ™¬"#6$ň§§87=î8m8Şl.±1áľŇřŕ¦Ä˝ĐBµ A÷‹[qźË|„Íí,©čÚ»ČgąÍłł<­†Ťe$–ß.Ă6#Ěiwq8>$Ü9çŞ(‰#×ŢśÖ‘#”b Ďöz©ěTň6ýçQ~&ť3˙ç¸×ôĹ⬰ů.vd–—•J"j%Ü?=i:Úö•Ä–×ÂÜ"(_Čďť5Đ@•úb‰Haťg‰áŹ…Fz÷Í…Ť’W*tCTŇKcŞÎXůŢţl36ćnÍž…EÖ,™Ź†ia–Žz/o«ń{'©8¨ŐŠ˝Ń*Wq‰—(VmŃ™{°uô‘ĘOúŢ{šĘńjŢËěf9ÇÚ…ś:MzLëšT€ç…;N -@x捽zaĐŠŇS®ě_€z˙ëă.­Ń Z=UĽ'ľ˝ŮU -ˇM}:Ľv4 dn1ŤHĎpţ-i1ş‹›©çż»ťśnRpç:Ĺ4nŃ®OË”žIäžiT?<ĐY6j°Ö(0­ üOÂD+đúżŚđG»ćJ|ÉłMv (:Ää]<: w6Ú^ű‚ü¨Ô'ŻLFľ ­>N+ź9“ş©Ý҉>,°đ:"ď)˝őÝ:)…µ ¨ěG®{ý¨E ¸X¨?a“˘NŻ ÝŻÉ¶ąµŃËlí'đÝ(‹űÇᯄźżÚăHeázX'·oi'sÇ1ÂěŠX÷ďKŞ´Qěç@RřsŔ#Ĺ4úšË÷§¤S÷·%ď" -_şŻ,ŻÓ0€Á˘^hk´áҶĆc\ńd JuĆ$5ßEšĄýJ]>z7St-ýĚS.Ň2¦)¶ç­Ńn]†ú&‚ŕ PZŇł=]pEő؆ÇY5g˙"ř -އ3—–|Ő…o˛ eGP -7Ă4 -–öV¤_Äxă:uüĘ»žO6GČYµn /FçŘăÇsH*;-˙l©ĺ’@ -Gľ/şĄqˇ*Żаť*•>o6ţlÝ% d;ë§•Ň)ţaĂŮ(–Ʀ´đFĆţi9ůR‡%Ă× $hü›<Ł;˘»m䀦΋8°ň-ěFí‚ÉFä^ěă|J¦¦t€ŐŢę(¦uŚŢ î -.ţݡ~6O¦‡»ieE4‡Ä7ZżÂ?gŃ;â#9Ŕ–ä÷ĚŇHÉş)^˙[ľ @˛ŃY®w‹ýC´Ú=:kEo[-Q­¨ ô&ŃĄšŠř-Äü>ŮÉË‹1Ů_ń]23‚Őaš <{Îúń’QžhĽTżăšŕ¤C?ŃH8XVuůÄäť>©™u{ěçŚÁşµŔ§hmĹeŢŰÓ];\9#6 Ţ»¤ -k‚+îô»tď_ňÚ7I®›Ż;Yťŕ©h6ŕw?M{ţMŠ4ćKŹ(Îţ öLb¨XŔÝ‘>Ý®ĐŐj=örţÎ6¨&$l«ŚŇxuá(µÄY]ťł€Ü.c>¦»[†+x%-ä•gd…N(‡·ga=őČ×Ů=& dć^ĄŹA߲Â9őđvlípXˇĆ{öď¶ń„ O #Ţ8őŮňÓ§hĺ·]©HW~çËâęeqÝü~čč± ć˛6Ř-×öhçŔßWžĂ[cZsqYňż!ĽH[ŽUYéz1ďJC…Ĺ8§úł$” ˝çÉ…¤e—¸Rč9§Ű) tÍó˰ «ůxo®„`Ŕ”R«µí@Ş«wöÁŃ;pőďıE+'N ”bjÄş‚Űü•Ť7Ąµ~‘q‹ÎŐŞÉśmQđžT9%|ĂŢ÷aŚ·íă˙k̤{zM¦ Iď 3݉ż:ó´&—Ĺ)Ú@\b˛j—Q‰­AťBy9Aý ±Ť9Ü&ęÝ©šNRŤmßJ1ěb•ÁxŞ ¤€ŽĆ¤J`ę–ü-Ű‹©e$´]前ő.aŃ(+ËťjE虺cÖł¶)`ě`e–±®qŮşÚj™aŽóô?šmŔćË- ńăOv__^µ×N<+Ĺrô˝Č?;F‚Yu¨Ľ8r}YBŹç÷V}5`»Bř¤'Ć_hصřŚ˙$vâPŤNÁx˛•}Jňłýl!× A¸ÂÇos¤Ţ‰=Dޓӂ^ďJ$F|“ý×ŰŁS§%Ń1VbJÚR©P®ZOx„ę č—©ůE˙  Ĺ ČŹK9µ$ ‹"á\h5đĎuBWĐmWDÍ\ÝĚ®|˘ŹüŘlŞ˙‡Ö°Ąźm«żń‚ÎÓ§‰–PaÁÄ$”zĆ űÚ0Z!ÓKp=3!r¦ŚL!XL… ą7±4Äfx]ÔŰ®6Ę·ä=«Íą5ő©ŽeÓn)Ľ…Ç8tŰ0¤uSLňą”oTv,ůďç(őwV<<nŐŁÖ?uR†żf~w=´ÍŐ‹l`? ÇĹ€ř&lĄčŚ;ŢT’|+|G ŮŹŃŤ0ßŕ۬ŐvŘU»ý¸ŞŇ4*Řh -âŘ,“!˛­‹g2ŔN -}lhmĚRö •ýoPÓŚe4śgI0>đ•Ü«<„<{"¬t)ťŞ+BW&Ś­,§DŚtHjb=iĽú -këB:Ľ˙-޶ŽÇŕĎ…ĺŇŠnWłî̤X ˙kÇaűŮ<«y>•ăűĚ™¦og)0É•€zj`$ş›éhúćµä·čŽŐ.çâĄÁ“ÄˢĄ¸ŕäő%­|ë¬ę¦·čĽ1HÚ ˘WÔąĚďéX0"<X -=źjsĹ´\'^ĐŚ ÷]ÇZĹÉ“ißćŤMÚ>Y0F&ú‚Ô’űlŐ@"oÍ6Ň`Ľž ěÎŞĺ…”é.wČŹŁxn‘^Ý;źIjŕ/ ·)›ÇÖĚ ŁŢë÷"Kőni¶Ň>ůe2öŞ -s÷y‰j5"ńďÚłś©°'Üm`%î¨ „¸ŮÝ×—TéLľbX^%?ŢW«<čl|ĽÓÂńLގÎ.pŁX÷§aŮDBQz@śşúíÝ.Ö!­˝ű5p/şĽ<†6Ť5Č „‡6CWŐ ‚ÎhZ¶|Ňe¶wNúC;iňa÷ăp=Gva—¤~+_kŃÁ´ĺĐşWĄŐÂ/§ýżëůA śÝXµ[ě"ß®ć<‘|÷űôK ®ĐnH¬÷ÚóTńHąYT"Ф‰Ł±F°đb_QUëQG źášębdtMíRŻH«nEÝÖÔ=ţΠjhqpw,îž~t$ ĹČc=Áť7#s™Ě¸ ám™ňq7Ť÷8í9i÷ĂBípđéôüČçg‚2ţM-KČIšXŠĚO–snAv2/čŻęŮ2yŚJßZýśG°íÔÄ›ń6Q±Óú{Qcł¶†V6 -÷éţěď–“<Ƨ×Z1Ń)ó…ŕ÷ý·ŐW®y8‘ňĄâ=TG„jg”*ÂÖ -F¸żxŚQM䍕HF˝ŢÁšdË uşxąí¶ś/·:‰¦¦ÚOŔ!:ÝďŤL:ĄŻ - gl uÜkÇHÔü±|Ě2éL[ů<Ú÷loxČ4©ß•ťÄ˝5|•yĐóĺ{(pdĄ_]S\áťEÝa˨AÖik$§«ß)h•Źń;š°ňÜň–§`jdęÔeűŇ!ŰÍ;djv§ĚscD@­°ĂŞ-Ś<Üěümő©u -Ëxe%ŁDvÄ ´˝±˝&zç›ę(" -˙ĎrСÍýĘ%Î â …¤xž›ecÇž*éZqaa -łWďť`d¶Éʦ]“ x é%Ŕ ,× Éw“ĄXÍž53ř}™KwcąŰ"śĐL› °#c&\ňĆ™»†}S_-°”»m—™~ĂŮą=;ńYš¤kS4Ćé·ăöŃŚ˘Ž mJWŻ8}s©j^kyě FßźŇÖ˝­nQ0óSFŁú‡Ńż5Ť‹šjěUććôxőV|$ëöZ›şP=φŘNn/Ř@™®·b•wż™€)őáýÂKtÚ¤{-_Ő÷_Ň*—YĂtv+Nb ׊-W¨ &PĎŤěÖüŽD˛<‡)ĎŢ˙«"•׫; ý®…Uă&žÖŻVzęcĹ´[l¸ŃPJ ¨¨Â.(†ŻŠÍ†=ţM4şůDiÔ*üZÉ4öAżx‚gK™Őáv<¸vbt×ĺeë™I¬@Pžť–ĘNâλ”˘A”ľ%Ů‚ŽŰHżÇbLÝé4śO¨XoĐşü[ąâz4Tl\ˇR–Q&Ň?yäťŰ#ÉW“§ş?tĎ6u­:žťÎ ÂHP˝´H»Uoź™şńůL{dtšXK˘ZwNşÎ…™É·b{ §x1{„)W őş€âĺS*ÄX<&glš §ąlćívvóYă Îň˙ĹĄ)ŻB^%A-ś_SÂ2F‹4{°Hf"ŹCř€e›gyl>¨/:Ě"Ómî$ěȤMVM¦ c -“f±ŇĽ…q×6<˝fĽ®ŘR‡Ď‡Ž%í”«Şź~ňŇ?íéžQ-‡7s)n.wăÄ´Ř xúu!KČxŠWÚodV¤BĄ¤ă@ëÇäsşł2ă …ó*§ěůéhŞI -ąú»Ł ë5`•™öA8_¬05[âÔ&ÔÝńÓ¨´Ń“©Żq ^ŽĚöĎÖ@Kţ˘K‹fiAŚgá›u<1’tsťVVŘńűiŞ–,¨ŃçŚ=|7Ô$˘Y9%ę4T0$™Ď·V_c°D“é©Ü%Ź—nĂňd_µ…R`¸”†Ř:3 ¬Q ujeLÎűř}-y*eąbă-b^kYńÝ[ń—~xß’Óîěă~ŚýŽY‡3M€îxŔSD 5´·\Ě0|0“>•;ény˙˙ÜňśGűŢ–Č»Q đ¬hLťh Ú*ĺęĂú„KőýÚ%3¸c`8Ö L<ëKĽ}ú_ëÉaż×°©Pl<9‡g;Ý`gQö·­ľµ¦Ń{[s°ń>tF®FýţÉ®„kŤôÉtčS"¦0óM|¶i.&ď•ýf1B2?H¤JˇmDĎ3/n“acómĂoˇA€}ňyL+!ÓI-HzűŃô!Kp)±¤ĂĚ(ý–&łtYp4„Ăš2 ÜáٲáŐÜ aE”1%L@ćLÝôE˛gĘxGîŃ~đůrdćSˇ‹Ň߬d—QV¶Óř{ÇŕnăÉPćŢΩ[zć ”G«ţëĂťDV;4§Š7ŰĚ:“ĺéďwÉ>xÎŽ¨-|1KÄ ć? őNâ3ܡŕ`YÔŞŢ´/#Áé#W`ÝôĂł˛Lʉ,ÂŞµ±cÇśTkţżď Ş/sÉxîŠčÝÚKâ–íÖŰGBŞĄ# ‘Ç/@9¦űj–´ÍŹńđÜâXşčŠłąBŽK›lÇÉä]r·ńBŇ5łąýÚl™ŕúť1ŚÚ#Ą–6Ř=°‚0#§r—Ůúä݇c‡ÝöTťK—·Š Ňs(Y1j2é«č#„ ăőÝ'u°”»Kˇöýę®Y´¸ yźĺ Ţţ}Z$HyE®[ÁďYśś.f˛Sč˵•$ó—–VŃ‹îµĂ0č[ę°q+OŢ4F«dU#u¬ĹęÜ˝˙ĎYń„ËKĽ«,¶§™@Ě“°XT8%(€ŕß[WsčňÄÚQg'ÄżĚ[´SjFąÔŃĺÎó8WN:iăMd'ł@yšOłŽ[_Öź=˝ĄđKŽç‹¸Jy4ôTĆ ‡c4Ń%ł&č`ň!‚ôłU·ĺ<~±6t㋢@‰ű×5 \FŮWŇś˙jĚ|á\(,~FâáŤpÁĚď`k™îd˛čeáá‚Y‡ŘRéďwCđgBhĂ49]čĚňřťź¦‡"ŁM§Tľ:tł°ÓŻeČFNnŹÓ󡾉xętżcšďßĘŞWR  -´şÖ -»SĂ—J­ďLŮ+yw‰¬#K©|1ş]_ČH—Ý*wÓ»WJía°Ř’ #Ŕp–{ľ…Ş3¸·Ć)ş˘mŤć1®lŘ÷ţ,6¤ŔŠTřČőx”©L€˘¤ÍtÔs–IŘéˇheRŁ`_6črP˙¦ôËúU3 ´Ą@IY|:PęĂŰĎţk{eLäLă ëv¨ŠeÜDh^®Şşe7ń»ś÷}{Ľ‚ö»bJŤ2Ę e„P÷ ĎČB撚ŁHá';ÖM4NŹ2˝őŞşýÔÉ5ÇAęÁÝŮg… [˙AČNf=“˛ń´Ř2‚fĘeeöÓdńšĚƤlĽ.ÖřTňZ†Ć5,˘ÚÖĂŔ7›K’T†A´1`Űv×J­íB˛ĘYh—8^Ú…$TŘ“*–B:‚ąć°Ň<ŻË@ŐⳌÁ ĂÂvżtqB=Kţ3ąlË2°_đ­‡aĺiµs5S@1(÷˙Ě­]bŐţň<ÂEúˇ×Ń(H‹Î󦉯NRťý»A‰Ňr8 ÚLůÝVpŇá[— -sůĽBś?LuDžJÉ|Î揳í»*ÁMĺýŞxńóúŻłŃ]RČíá„ Wź.}YZ źßmţ˙¦é†t»}VŤ»ă.çŠ.öýťüé$\Eśđ‘%ďăĄm [ę‡.Ä‹˙±ťł“  şd…ćŹîŁăŕÖŠj÷­ę(F–Xâ• Ş-¦ÂÇ@â6 4=}ž»šťż0´rv|ž)`ăí˝ÝtS€·ˇťÜ¤®ŇŔo”ygEýÖĐl]7m˙„?‡Ĺw‚°^ąßżBĽA٦ŹO aţ`ŽŃ8Şž‰Q™}d¬™ý®dLô cP!¦ÎŃ ßČkŇ!M{­ŐYÓć˘[ćBŐŠ¬Č1^0m± ŮjY˛íz=[GSsŠ„$,W\ňă„ÝűAn‹C Űî^ݶ@ăÄR–´ó˝AU0(Ż$’ŔUť4Oóó@_ăç÷Ü)Łóâ˙m¤4šýDĐĚż±Ś¬q6;2´…Ô´L_鼍ľĶ gJd‡¨ëY]AR¡ýDÎ>>hľkké8ÓJŽŘş“‘ęŠ ˝XEŃó 5îa÷˘ş?qM¸˙‚bQâ…R,ś˛ űŃ&ÂцŠ ‰‰§Ô8w«ŹŻ=;Ô‡ŁâóĐü±0ŁúIöoČŐgažť)‡ç0±Ůŕ¬ĘgkÍ#;!őđč :¤·a!¨ě™řÜ®Űü“ÖJWä 0şm{«LL`$*6ďëĽÔq7g…Ź”6yś›˛h˙"ť—˙51ËĐA!±źÝDÎśú”°s¸čÜĽiĺMëşó>† ]ŢÖž®ő§"ÍG&0OAW¦gT+ó369@ ]ö†{ĐgZHž>7ˇ„Úc6x‹–Í—]A«N6“-ö=$9FŰâmšď„°¨)E‚GÜ›ÝÁ·‰muťx;ozXźE’:TîO ·Î©yţoŤĽŇA§ uşVuÄ߲Vđ䔦2*'ăW{Čdkë#n¬j‚@pSŚ8"ÇĎT#hqSů]öy7F“ŤĘĎć‘Ő(.ú7:D‚ĺ´`tö0 ü©ŢçgĄzěÉ70ÎÜ6ÚŽ#4+s4p]¤Ů‘ą4-ćéěÚd*l~ŹÄťľÄ áÝŐT€o’«›áž7Fę¸Dáë-÷Î…˘ŕ˘a"~§´ŃëĎ4}F&8Łšóůcńˇć¸Ęś˘oű>Ň}3S¸„˝ÜfČ\b#a.ÄWf`°˘ Ůěçd°{ľíĆÂ)ÉPďv ľ•é”Bq=U/0$ĄśSźw§•Yś¸R~ĚsĆďľG]‡yçj$l„D/•ę!?C|/é§ŹŽçU°J3îFÂŰM‚Ϋ=ÔÍĆ™v{a;@˘Ŕ·…’PAď·p ¸ë:ů‘÷3i(©zş(,dÍgŮĂýž $芠»<—‹ŕ«X/«čBcŽđ Ź` -¦Š6Âş\¶,5Ă±Š‰oS Ž3ľU›,=ęŃ‚ţî)ŚdŠchX†džqłĂ<ş8h z)_ŇE[>dś9‹MÍ–xéH• hY™iđI™Ő”™a@ŢŚîëĽč»ś {[d~ű’]|:Ňq˙ÝK¤˙·´ĺ}üś&¸QÝdăG¸/ŐŐ[Ës‘Ń,„‘Śń>řc%oÇ9ŇsĂÂ(Ü>Tţ6DKä“ÎüTYiľXŁ59üČúŐ¶w đŚnúácycí¤ún0nfÎ^C]üŘ;R™%[™SWĄŽ3íc7«c &şŮW!ő|đkU®ĄnË‘řďfĚ.®Ú…6PµIsP,ŕ.PąÁ^®žeâ;¸cSę -¸Dęä´®q‰Ç§2ɬgýY2zńkjźÚ˛aTĘťo„U˛‡¸µö~»Ę˙—1łéI˙k—±Ţ-Ž‚ůźÇŔŻô©ÍĘF\­íD˙×Gńs†CËPŃ­×];ĽźZŠ"[ꨴRÎĐnß} Đ2l±Ž¬K)Wś©)úś‘Ě °t{Ńú™eëRXďÜÝ ­ĘŕmcEç÷ą¬ľ‡Q[Ň«ć\‘ÎěUŮţăÚµů÷îÉřŢôf= ÚuBg‹TÔĂšÇU"™oh•Ö˙Ťş]UMŕćO°-čSx«ŚŃŃR—®ŠŁm#:€ŚśUI‚ů5'–¨$l -/p”܇Ⓨ°/^žîd‘ĚĂ€’˛ťF3—ëdŔýdjĎäO ľřřžšĺü'ŽK‡Ł«~ňZ~) Ç˙ý­úŤ_Ö"¬n¬Eĺ]OOrhS‚:óę€)&ó‰§[ŔďB’šęŽLö±Ç÷E{×4@'*~Ó5ŻÚÍce'ÔXĎ扽Ȓ%l>]Ɖ„ ÚbăÎX5×®áńp%a+¨ŽŕĆ!#–Ćmv29řúĺ/ dç = Ö˛lÚŁŰxgn2E䏛LČ”¸éĆąŮ@§^ -ŢNc–t "ř­őŠô+ꄣęÇ}›3:{Ôż pVÚr:çáZWkůtÜŘnĺČvëşş SvQ™Ă¶€˘S4öÄá -?-hś! V@­m á썉UƵWęp§3« Î.ćîź$U Ľ+-űďwéÂAk|Ü— “Cmqi•mKíWt­»•ľV>¦â·”ŕČw3€™Kń˝çx;űK¸ BłkĂe¶…űW9Gţ„KĆâWrĹĹrkŻE,SŞ­ă9ą ©Ę˝A~¨™ťf ‹lÍ0s„’š3@í0śŇ˛¦Ď!rQéÎ4¨.ßX±—ý§F»ŢŽ Ĺ†ůÖjEď|jFRKójć‘É>Ňąęé 9;{ [– h)7ÍVO¨7ş»LôK¨§ÄĘđµ4;şNűůęf©;ŠšVŔŽôx)O f˙‰iáÉŕËwfAŘ*Q× '€#'{0řUŤíä> -·wd€Éđ3 -)Ý' ĚÂ{Bwڰ–ő´¦Ţŕ·«Ě]‘=~(Mh}Á'ţ­ ĹҶ Ń&¤ąĆz>LWéńÉpË*ó„Šş”:1¸Ý„‹$6|BJ`+bm˙‰ł˙I%r›U·ą6ŰŁe»o]7^ů -sN„`ĐV™ŐÚŔt·şm!ű„^ÓjÝ@zĺ*čńw}pJ•‚ě‡Ý”Fé9‰­\qŃ|ЇîSX˛V!ťµ_&V-óŕ8ţµÉ•ůý§T“6R‚Ä´µpöíBĹRdúYčęj•|čAćńgü‚ ăm˝TࣕIł ě„kŕ”*ÍFž5ŞË]ľŕ?5~€EZSĆŘT(„•;‘2¶p&Ő—Ą&&“\©×y'Ť…5ćöO06÷KP<]?Ts”’/tĺAújˇî‚8ެe×/ć*2Dś~˝+íťéaâĂOlú‡]qZNpçJ Ęq9°ďůM@©O¨2 KĂÔĘBľlkö NʔݞosIţY´xtľxË“!óo C:¤l–Ą ϫǾX±ĺÔ÷(lk)IďŚíÝdö†Űk|÷ž=~,păEíĚN^ŐŤń"»ntč®îbZ|-®úŇ4vţ‡B–0˙t¬|@Z“‚kb\âÎ4éBŻ6І™[iîh(臵W-!#îçőQ\2ßɤł¬\'0Ţ-ŕŔ‚ÂwÚT“ćLpsB«ş­\őQ Hb–3fîlč9˝đmmĸďĐÜ7tČđŇ 2Ŕź•¶=G»‹Z’’žŢÚ,[ăŢ;`ŐQuŐ»›}„Ë?Iů›»—!ŹÚ‘•zŔńkϨ„Uv—©Ë&Ő ÇĂöUđ=Ë”}VÁOĂm!A U_öU‰ubUtëŚt—®aOL?6zpi@ĎQąŽřÇŮнJ ô=·)ŹŰ‚b@Žá‡fqÖAÔ厢& ÁţwďÄŕťXĆÜüx=d8U'Gă¦+‡h>FęŔqGŔ:2ܔεçřAËeŚßtXüŤŕS•bä›Ýc~%!oÜC4l"¤őá4żÎ1“ ŕÓŤ‘hâč ĎpĽtý{_l…<Ďűí¨cv_°‰Riż€›Žar“Ć!SęŮ×(”ŇřıźŻdM/r0´‘šµęAHĐśA0­Ţ1˛îŤÍ¨çÄČÁQüúJW3â*)ŔŤ›>ńµ‡ çô»Vˇ†¸Â­TŮ—o@/¤Oz®ÎlwY$x_„r„¨Nô«YTö;Ë"| xLuĂ!”˙€ˇ¬IĄąd·5€1Ů,fq ţFÁV}yĽÇ ¤ßź }ŽRćÍĹ<*JŤâÖ ľ˙q)®łžÓŇ'—)µ 0tŰ˙Wfx»±đKÝ{GÚăxP‡sG‰’«ü -3ëŃŔ`Îu|Íަ\L‡ý Ś"6YËéŇÉ -+ž|9g1ářT‡jĺ7ľ¨5Ćp+XvĂÉhçSY€é‘ŰÜd$(ěÉ XѸ®´?!悱řyO')üçpóĺ‚3Ą čfFŐÓ±(ÄUZ"ĘëÖ†Ž ˛t /™GI¦u.6óN=ęéH†ňW^ZU:1qR“ N(ji˝OŹD¶ŕĘÜ/>ze:˝ut˘Ń‹‹8)›÷4źF¸t´Ŕ˙·˙!Knꎳ– -¨µÔ?[ç2íCľeOJŻl›čuJĂ8¸űiK=<9¸†Ço,Ik1X›űëv1Dyiř˛k;ý˙Ä/*őNG‰]íI´¦‹iÝkÍéŞüOŔ’{"ó †ĎĘS‡µ|·´íč»ů6g>¨•)~ +Źłľa‚ŽÁ©ôr,ČeŹk´7oůČ“źVϸş»Ţ~8<"|˝SŽť~4'NGíü-–(LP”‡˙‹í¶ŮdŃÔ†Ë!ś|‰‰7bYŠě(­Ä_€Ů7|&× “gUAw(#9÷‰p—zÂ-˛™ä–­}’\™2Vők‹ [¨§bď·hgţ%î1č -ÝVhü(VÚpôqˇ˝WnČ6Ał©›ĚlŮâ*ÂÝ×čÓFŮQ‹LżČý”âdr©ŢĐ^~˘F7UH"äł/µ[„z{˝›Üŕ ĆęŃ@–9&XAŢŚq/5Ř{Ą[‡ Ôź -V€ -Ě:“ß—íhţ7P»Ż~6NďpÓŁ[q6`ÝÔĹż^„@ëĄúqţ •K„.']zäĘ Çé—ĘÔĄ;;nß©O~_Îéi ¸ţ -Ţ2.–kµqű)ś"’Ć’&]ë5<ßŇg÷ED6˘(ČŠř¨Ś:{V|JĘ9ĺŽO 2“\áĂń¶UŁJ‹đă!/ëÎŕ=vpŔO›hW©FLÖĽĆŻj¬xŹcíÎ2E&P„ĂŤuݸYZÂ÷?/ĆßÎ Âz'‘ą Ĺ[ĐçsAZÓÎIç@H.€×$Îh©Q”ˇ†+ Pâ+¬WÝ„ÔńPŇO›đň6éғݻQÇ– \•ÜP‚öńsg‰”ÇXH©»÷x7DĆ3:-&šîL&ÉŢ[ŕvyRíV}Ňü»"'zcGAŤŰx<á’?<ÝzĽsk8±p*É:ŕ§ř”čńÂşSEۤí¸K{Ů®lNgčö_-˙ĆR˙…[˛>Ň™9*§J~s鸺ÂCúo÷ĚćŠHqK…Ło¬/(ĹŘl‰çi ęečQ•ŽĽÎ=ä4Ç+1' ‘â-čPń!ö¨Ţk˘[Z4ĚFM` ¶¬HËá7^^'ˇ!x„˘‚‘ŘKđ>ěqĆçŘĚRD,-ú‹Ą¨ ´Ăś{(ôéS0Ś•öLŐDzree"N0˙9 W/˙z61„šç“ŰUÎ^6ř€ ®n0zSlŤLŻĺ4Ç <ňňîń“ĹíÁn˘¤ßt5V™’ÓŘFo´ĆW<ŔîD‹QřňV:a€âĘě/Y0lŚ.D3ß“łf"]ÚüŰ?btY˝‰F]ngĽĽU–ě“ ö+zŠ+?nMQňÄěcľ.R÷uڏiĽfŰv¸R:î“°ŔM§ŁôČÂ'"¸¦€b¶[`DÉ@HŔ-'BzőŹj2ߊ¸ĆđŻÖčś?[&xĂŻ‹0+µQĎ` vżw* ˙? -ś­˙3AŁbµz Ţ -Ţ÷äČ{hę׏+űü¶‚Ű†Ś–şÓlKXKW„9ăBőĘ…ľşIˇúŚŚĎ ˙>eϡ{#);GŁ1;ÍTĚÝŚv·ü#n׆ÉĺÇŠ«kdJXöŃV4”ě™v94úšô ăŐ–µŚV'kd¨Ľ«'©®Ôíd–4N[Č­Ü*Xp6Ql–ö€î2ß;°-(˘¶ÇłĹN»Y h•©Ö˙ë_ÍŇŃ,”#w,ÁĎ{ě¨"žu?ů'‰¦ÄŃí5fÔËFsx±ăź¶C7TĐj·íĂe’,x\ÎOÄÁ@}„©bnďĐ%_ţFM”·†"hŰ|Ŕ÷o/n @MAú஑:LĹłárˇ>×.»ěüB©č’Űg˝'ş(PĆ'ŤQ%‘ĄbüI(ŮŻőěŁ0xp)–řŹ«K¤Ak”üBëyÎuŚ+ÎňMĐSDUŹ8Z§«,Ě|˙†˝RPżk{ŕyH GÂ6éäq2DJĎŞ-‹*¤{ý8N!ř#ŔĺÚđ«E%‡ -‘yô<0ü\ßŐń‚oŇŠ8ÁźŐŃËĎtFx¶n°ÜOYŃ ö<ˇ2őlźŠp‰z˙ ăż -ŔOŚFš(ˇ}~\í¶{-¨KL~%ĺ˙$OĚ }8+ÔKíďA´EN‘IеqöîBśőD®3‘€DBD«°xŮ.N -Ă0ľ0KęDĺ•«Óŕč™X).QE©VňJ,ß›l›k(±35e/wNĘŹb–ĐöďŹWßc|Řę˝a¬Ž1$%U2l,|đi& Ôż3C±űâw¤ŇAG|˙:"­íů´–l‚/ńĎ௬,ĺÍ -WΊ­h]51q“'±kš˝Ý&#ÖĐ„/ͦ ‹Öř¤‘ ęO|pşÚÂ@m7˘c§>IeëŞxÚ05}ĐhVPđvd˝pp»ňgN)«ĹAĄ;L†”®ş©ĺŮ?ČSÜ< ňëh ->7dÎť‡"c—µďżÖů)&Úî eEˇÁAÓĚb»B3Ď…ĐŽ’źâAµ¬@ ŻĽe2ŹĄyëb*´FöJç޲©Ç–Ő<ý¦ĘľíެÁă0Ú<¦IXZőŐY9臷A¤A  ő·lül”CMěŕ0Čiů‹ř,Ł)^ŘÖnk K{€ňćĎ 2~-PĽvšN‚ ŞÎ#ňIÔ[+×~GŔáĎ„‡ăÎ8ŃäČtV˙ Y@L‹ŐăM"EÁ««'ă Ý]V¨·ž’4˙Ló°†&ö'Qv†Żî¶Ş˛ßegĎĄ_YÉÖ\yĹ ‚%˝ŕZGʱýcś„–˝ś˝jHđÔČ-Ţ$(ÁŁo§V—¸Ŕ}ůxÜĘbob÷:Ďs—Ž ›ý/Şt*–&žŠ‹#;ôÚ¤ůFÂ…©.íţçL¶ -ŰĹká`©AÓ Ł,vh,ěî!čř }µcw)· 3OđSçy\n•úv`«`Śö—0ĆQ$93VOč&żc¶:Ô-*äDřk‘^řĄ;ÉÝęĂ“_ŰŢBU!\BY|ź"e.¦Â<’ˇéťTźńŰI$N>Ç}ĺĆBrţ¨ßŃ_9ÉÍĺH,"­Xz±˛-D‹âF<ŕ§M€şŃ’ľ˛LóW÷´tŹCş¤{!±ŚwúBÜßBţĄ"4ÔP±şąqđş ĺŐ‰› 48ţ=ţ˙Ä› Š¦Jqď ŕĆěkFt™,†}Uá8îI÷Ě»i6maĄZërfgCcF—1nTŽęüđ5imŇ‘Q^ÖŇţ`·ö÷ZÓTćÔÚńĂŤĂ‘w°ˇŤQĄY;Ű…°† -1¶f\«â^š¦ç8·ŐćŔŃUEˡŠaĽ«'yaoă.Î…Ş#&7ëŁĘ¨·—_Hâ˛:îÍkYtÉm¬´töŚíů…ó¬â%‘đËgĐk9¤CÔĂmů9QsÓLĽ˘]đä3,Á´©*şO\÷¸|żăW22­ÔFoUŮ^ŻŠ§ëśĄďá4ßR} 5ź#¨¤sCZßM˛TY#/4vľg÷YzË V€ä4¶Ă|Öyn—sŹňîS°í´ŁxO&ŚŕdŇżó‚:‘—Č1«)‹˙ pXľűűJµ$ŻŚ­ąfm~c@„Č?nGg+܇ʩę`}QëKČPÖ—§Ć\ą ř¨ä”·ęă4?ĄbľćÄ=rÄŽ5<ßz=[kNçv5DlGú€]äĂôĚ{®»?;Üdkň¸Éqőý´<ç9d1x Zóçü0ÁűҢ`hĹmíýLbW‹X™&áčGM»u d“Ť3áHá˛Zě&/Ťo/Ăťę3÷rRř,±%ł–µPř6O;`?¬Žćě2 Pčs€*~]ĹÎKÖ‘s´·\ŕ?ŢŽ•ěŤe¦˝01Ł -łëâŃšSÂÜ(#»9~IŠ µr3o¤ń -ń†y7§ ›rÇÁpµ’7L`i~n”Ö®eË…őPíî"Żüő}KKő;Čoí HĎ UwÇW'€,Soîl`z7vRŰom$ObTËíî,›­ŠŔS|Eq8ݧ|í"®GÔó…5I{Í,,rŰŽ4Žňy@|Ń^ÂżNýř¤űJMĆh˛mXš`GVeWýţWße®PGËN:"©Â:’OŁzAŽđ»)ĺîNŞi·Žľó¨ľŇOţ‘YKąÄ7ížµâeäÖ<·Cć7[đođË©#’ş ąŢą Ř[¤,HłÇ5CŐaÂřfÓJÇň–”Wë=-V€ŞHťJ{ŰéK?+Č~’€kČÓ[ë}C”®ţeV±żä éFłJp‘ÉDQĎÓOE!źIÓ:ÔPEŮŚď5N¦›Ż|¨ę^T öô§F×n“é»˝¤§_}5!¬0ŕmĎŐťöe¸ę›\O¨«ÓÓűPs)w%†•ŞÉ Źw4ľ„Ł @ŞK ĂżóIjŁĐ#‰¨»üY®fÎ=fő††˝ˇk™„Ďř.hşe‚’:1NĂkűX¸»^SU¤űÁîŚJćáŮJ±Ú7ń4€’·Ý’­ŠOÓD›|üű=řů -.7ÔuHŃXŢŔĚs“m6ÍD1CrBđ­WNŻÁ(§Xuu€\ęqę‘ҢÍLpRBŁ´6x?ĹPhÚr÷…w·†źnĽ%ôH*TÔůżäîň ÝFďé<>VóĹKWŽs÷Š•ç•ţXĚOhŠu±bď3ż`×Je$L§řôQ˘ˇs®«ĚE†¤…Gn«Řşűí¬K b/;ęořµ,Ąň¶™Căá<7’•;†´©ěÍćĎt˙Ł!ZâŐÝ ›dgŻĎ)±‡ĂÜ&´yµ_i Üz1;ÎĎ2‚ţ*’ĂTk^ĄpĄ«ăŤŤ±ä [QoëA÷A­JŃ_źĐ%ŤjĎÝ*.·čxF¨ť;#Âë&š»&†¬Ö#Ť ŇQuľőÇ®}ĹÜpŻă™%ń0•6>G1„ĂSŢÝń$$ĚšŃî±ńĘ .‘—źË‡]Ťý7Ęţü<˝U˛3?0Ô;_ĄĄP±ÖaO¬ĽeżżLiŤ%ő"+ň(Źif“˝Ś’EÍá"§!ŞÝ˙݉ôź“öF×î~>»áţ–xşÓ r8Ň4 żGQtÓĘ“[>Ëk1kŽRŢr ¶ä¸m˘85QKVËz''#n \ĚŽ©4Ł]řŹéR‚5‡)BA| ®IX­Ď\ä"éŠ(ľęF*“0Ö°™ti‘5«`Ű“0łyşĹůY|ß‹“#ß.öĄ(Ňůó7sÖĆÚćŹ\îż.Â"¤uú{ÖaÁÖľĽÍąw´ŻşÉS%$Ë81Ř®Géu5 ¸k˛+{ˆófr˛Ę„RLŤv{ŕɬ˛·_8˙Ş˛ yx¤n„eă¤ńy8ܔᭆýDX ÷Kő=xë")đ&6cď"[Č^8şâÓŤ;‡ˇ3O {•‚MĎłm WČů©ď5/µ2ţfó­’ÝÝËvŔOg­`Á3| YÜ_”A<Ł9†Z÷)ˇ>§É ű vČFŔeBddˇ<Điíc’6“÷ý‘S«çniwd ᱯµj\J˛…ďŞý«´ěd¤Ô[;ň ŔűęnŹsCdŹč(«- ‘ěëÓıďúJ„“GBnü°\ó¸Ćr@_–”($ă-›Eĺó9•⾢@~hşČŃ^ńłJú“ M—öŽŇXäq4éZŐy;%ĚyäS€,ąĎöů‰p UK•˛’¬/B.ćÉu§‘sŽńŰănUż¶R@hČ]dĂ inyłácťT$‰~&ąä‡'â›C7ř¸P˛ĽÂč>›Šk Ž}öŃ"ôů´­’ž–żŔćŰâ}ľ$Ŕ¶§DK,’µşôâí;›Dđ` §•ĹĂI±©‹_+ŐĽ.č^1.î÷ň#č‘ůÔ.1‡´ÍËÜđž ‹˙ł¦ťYÔPŞčIx@¶‡úâ_ô|Â}­SćÚŢÍ| Ło|űe ĘÚV^LaÎ* [úÝs*ŚßžťežH˝‘üçëmę¶ą -ů:ŠAHéx$5Ü řŽ FĹ+B˙…Sł*&¤Ă˛* fnQk0…*˘rm*żCB*4]šÎ8˙O˛ˇOlxŰ_bđ/4-rš­eÓ_Ő=±ů%K>Cëb;‘15V ô"T§~¬¸°‚]p¬ÁńşYĆ“łő·@~@ޡčRżAýi;}-8KxP°LożI†wUěŁđđm”Śr1âŇDÝŐÚ *ęđíH2ó ’őűćëřŕíNĄ/+ˇ:ae ŞWÚ´^Z‡a3Kä #ăú'¦0-şĐş»UřÚJæ?VĹ~fH1Ř^‘×ŕ)ˇD´]CdŐŠ‚®«!m«ĎąÔAVA¤Ě\ZÇ€†ěü~Ö™ç‹ĐĎŚßĎ(mŢŽÝĆOšu@Ľ¤á˘ĎE¤ŐNň߲tł˝ßRۉđrí¸6ÁX—ě¸k1G=IËR;Jׂ){'r3ľČ;ZDGşÓ}›XŢěř>cSb+ D?÷•"ł“Đ-™$XÄéÚ0đ“ŚúăgŐ ~Ü!çÍ!eÔiţRg -ăPh¬ńűB‚ÄG–&ĆčŰŐ;'‡! #áČłŠ˛Ă2/ć‹JąâNť¬Éë«lŔËŐ­šu…”s´q{ -Ź­ąQf9ŇŹ`Űuçn˛ -—}ťĄ–/î$U’¤ž1*ýÁ„;CťN3ĎĽ7ˡŠcĽł¸s ¦-·ůľyĹÄÚÚHçoÜgĄ1÷:‰+^1Ć-ëÚG€‚µO™¬[há;"& -.%IŹ<~“`”Ď?ŤŐÄ řq:¸KCŁ˙dĂegF°*·˛J/FÜ·Î/«ă(/ţÖ= §Rť˙-0-E}łŢżK50÷Ş ž™g÷ŹWÖ©·Ć|39–É—w0j_T·.jžU©@hDÜNPvŚ{śŞ[ĆžşŮňw?ęćŰ݉€DíUŔ'úD Ľˇ— nÔ1^˘ĆMO‚˝9ű»–\SYŰĬzKDC/›­ˇpĎtUŢć»x—čŐę·ÎźFY}_=~ÂlÍIUŃ-đąGË©×+Ľ×ŢW`ÇM¦Ęúá¬|í'ő]CóaÉĄ0ČYqKŔőb%ŞÄ÷ Đđ‚çç:¶%Ý3A€t»ź* -fżśP–v[¤ÂN Ś+ŢI¬8ű2¶q–É+‘€(ęďIm­o>1·š*˘ł˘"™¶¬Ń©CÚ_ŚđR™ź Ô%DÝ=—â·ď˙2ĆC}©°ÜśÇä'á*ÄN‰Đ[ ¤ľ -Âs®µ“)fÓµX ë¦7 b$Ô|öĎĽ1¦káfO ¦X ©Mžżfŕ˝}ýAíŤěĂ;â7Ҷ,ĹN‚Žš 7P“„9Wü}čµă×¶Ů­cŇ',ŮäCoűÄŮMˇĽ˘%Ł rŢ-bO˙¬öUdÔł>®žđäT˘O+ÜxFˇ“t°„mpÔÁgŃu<žš)}äELZ˙ÁŘ\»ÎŰ×ZäĆ"Ô 5ę—Ü!ÖöôÄ#˛ë÷[˱{[´*Ůąŕ¬\e{ ‚kh„š¦Šązv»a5˲K†ÄŔˇ‘‚\Ŕ{”ńq9 Cěş›-M˛F\‘¨ęš´Z¸™2ŻŮ¨Ž0é6Űš÷±‰ĐÔşpî;a˝ôddŁ~⌭‹Ą;MčKĹIJĺkĆĎŐMˇ«˝|_éw ¶¦ |áBC†Ň,*Ŕl] -Ĺ—cÉ˙ŤJËc5żŐÂmČ—ŚËŐ;V G†HmÝEÉż>˙łŞ7<đí¶´‡Äὢ8«tJdÍv(ŚÚüĄęşBš+3Löňó +eĎG–>Ţ1™ťě7-ŞłđöŁżbš -îB˙¦-ĺ0 [Ü-±Ńóľj!$D*Q¶Ĺ4ĺ•čţčE\9˘/ľwÔ -k"˘ ®x0}bĎ—Ĺ5Ç3.·Ş=2®éĂÉ~ąÓg~ôDFŔ¬_xźuă3Čú!Zqಎ8ĘĎ8Ž<çÁ}ÝÁľs‰ń’}Ť‹Üfč¶ Ă7ľdś0yt:¸ą7ěĂ o-˛ů`"łă -.‹†đ6ťÎŤ;ąńc¨!Îf‹'Kř’ăLš”ٰ<ţţ űÓ ¬é{Şën &@h zÉ˙Kçđz÷AĺrĘ…×Vą“$W÷qśbŰĂ+TuÁęł±zĺwý ĘîńEOL·s¤Ä˙şlÉś‚Q‰Z8«\^ ähjčőö66 -l'âR˛v‚ĂĆ -ż€¸šĺÄröy -ŕLű¦ľS~®GÇąç=/ŞÖ»µn” -2TUŐl”,(ä+bU\2¦N‹˙Ͳcř'čÔ°l‹‹Î Uňz˛Ö$¤pŽ•¸k›®hÁdxĚ÷xţÉPÓd­Sóăś’?i*oß Ës¨ŐŻc‡%NOŘtËre†çŔ¦±Mč1Ăó¤űć´©â‰ß°7 měb”4±Ü6ňO4vkŽ×MăpŹ'7pˇ wÖŚŽĽ!JN-Ô{ŃČöľć­ŘuzĘ _-$[ĺôťäIlţťË…˦"ˇXöÚ~őB-Ţd洿ß{«¤<"¸Ďľ+.óăgÄň“5ń˝wL9¸mv7÷čS´'Ł:}ŔŽYŮ†×´Ś sć|űĘÁŚ:ĐĺÜŃ/ë%5XwsşŽ ďµuë0yîë™oCŁL„•ŇÓQXqŻgVô5干Ŵ¦@ÁĎgń’˘Öřň]„?—Đ>L†ó^e(’›©}Í,–H3D”ţÎÇ­ç#Řâo˙ŚĂ)mÝ„VÚŁĘ}ô3Ś9Y±ľ&ż -vV´©dËa-q}LOÓ•LdY:×ăťÝŚ«®5)F"ă‹Z'–]J’aŘýDlLÔ»îżČAý™3+ě@¦íĺĎëűžy‹°&Ţ! )’ł1Lx,=ÓçA-ĹąšE'ŞĐŁ»­‘‰g˱2ÁPZů1¶Ťđë\_ÍB |‹yÚ h•ŇîUš#PžĆ÷^´¦ŇK^(´:ˇ«ôî—Tđ'-ëŇŢ1ÁŔ’cĂëŔ=G»mQÓ¬:ÂL »‚W -T&çňĆ7Y54I›ťąe_«Ě"ˇěµŃ•pxcëů…^ŹÇłĘ d"´‹gÎű."5$ŕŹcÉľE”Ŕ#.ź!NßĎnĆłłFMĐäQiž$ ŐŚO·mĚ-űÁ'ÔŐM« ¦U6cç˘őeľřü—ů¨1cíq&í9 -í DëŚa˶4ťú|–ĚĂ©ŕ”D]ěTư­u¦ť8ßAG‡nˇž|DR.]:)ýyŔńKËĐBh°DGF -f>ńé6HµőSüľšçlwUŤ­ĘĺL - •ö–0ţ‰„TÁű'ň"Š&{‰«ĂJđ‰ŇbÄ3±PLF|ňÉزęÝř‹/éŮ2˝¦Ď•*mëXѬQNľ‡=ŚĄ!ąóŻęő÷€śF&˛z ˙ďőŮżČŰ„˝T®†¸vŹŕĘ[—r„U Đ˝uWP`PxcürQŞÉ3Ü"ŤîŻ2ĄŚGđéŁK’^‰·„X›g<`v®qO—Ö&sĆ”¦tE "Cn–F%<Ľ”ě}¬(^¤ ë˛>W±Ôń.:e 2˙[YŢ“‘ŢŞÂöř‘ŰM ß)epŰůž˘šaĹĽwŇÄë}0śü§•č.–Âaa«…3â!©ÇN€7 ’&ýĆÜWň©ââ1Ĺ´6 L<’=:ŚżF€/äËLeźNf2^őtHę.J`RřIĎ"ĺ ô·»4â -bďÜń=n¸cŽźÖŘ·–•×hVČĐśq÷c|\ äŁŔ/ä˘#O±v‚6ÔĂő&—é<Úž°˝´čQ’ćĆĄb;{|d©Ĺȵ’ë·ü€p}ß_ó·Ä‡» )ZÚtŤ4z‚ć3wňKĂ›ţŃĚlÎ80lcąČ™Tă! -ř¸;ޞŽ:µ0.p#)™ĄQ÷2zRiľ M™lF&ś3R3O%Đ óĄ„ÖUĘ…(8HĄôËł>jˇ¨íÍNbÍn÷í«čĂÍqí‰Ó©śâ€Ű ďđqđU^&dť-m9…J¤I̶˝KčÝéG¶p¦ýč’Ëîťe,ĄŃŁ^˘ťě y0‚îu6`­ŃOÂŻ‰˙ě5S§[6¶r˘§^Hň¸Íý´’9Ř·ax1ŚJ‘#+v$Ë›+a^úŇĽ‡ýŰč¸ń‘Ű{ŇN· f/îlŻ'8zń1TE+łx»Nž”w]ńbdŞř9)+ú¤Ii#LŃňŚě׉”{ ăAăýě†_U›żżaKLVCő„ŠI“sPP@;¨B„–¸eî&Ľ|¦–›?…üoĘÔˇńň˘唎Ó~–qŁĺ!GńŘ ®żv®*ĐáóQĆÄ6⼤–VŠ)ŃŮąVâ”1©ăC´X1˝ęHÔéO{!%LR˘ź:†$4­´ç+‘ľ€b™ÁŐď…&ĎŻÂ]9ɤzéBĄ4őŘÖČRŞĆáţ d© Pú&2ó×T î‡hFc‹téÝéŘËцű·„q[š .â–/mÚ”şŐ -ŠC°ź2 ő†ě¶Ž@ĐĎ4ô°eé•CJ# ŁĘßmřÉfGŔÇEů r2çµµ iµťí8DřKűr¶iUÝ_˙soŠ?7oe­ůďŇ€ŠůęE"Ş3'čžőz1Čü -E,f´‘9 í2[` W9ˇ% V†Ś •okŽ:ŮżB‚~°řđ¶h -jíTËŐ¨3"Ëô_Óph—n%`=ă˘ęm}ţá´Š˛Öť"™Hď­·ŐÓ~[m^…ö<ŕS~ 7‡URÍKýbú˛“Ż\şľŘBýϡ]’ńÉ÷ß^Vč— şkÉsnłí­—4¬?F-¨ˇÇ «T׳ÚëI+D˙ɬ4š€5gPxŻÇđď3’÷hˇŤ.:4]ńňŁß=Ř®©°?’HđŰ[7r{ĆUŁc}0ö„¦÷ŕĎéľ,f‰srL­ćŽ~řČ€NÜ×Ö•ö’'÷îŰf§Ź:MĘ˝j ¬U!ÓčkÇ„ OĚś.XňŠŁ;ô©!T$}˝ -<О,EĄ¤ô'Ťçč<`đ‘†:Ŕhr¸gâűE©pŻsŃ$´ŇÍŻmÁ¨Źc‚v.‡Ui/Ňt]ÝTÎËąPąőyž^ÉÉ‹$XÖa¶đŻÇä2Ü퍒:Wř”±äF=äĎî źąFHFA'ż ă%†9?ĄksĹ<^ÂzgĹ\ŐFP>]ř1żî‹žzIúq<­ŢNăÚBS•OĆS;sPÖhx‰ŇX6Ăö§¶8cńż Ěáĺť<©©cPséÁ—›4ŢŽŐÜóÂŻĽ ę‹ ‡2ó…ż±N^ógS$±/¦ű¸SŮK'†dhżć°MkżĎÜŚRˇ“l‡cč@ ÂĆÇĹ$ß}dYĘĐĘ€-UÝOúpäôˇęݬŽPî:ˇ‹h/ ó–lb˘c# "óJ\cö~b—sGÉ„ěXś±hđ•ĎŮ´Źĺ*ě^“Ş^3T°K“ňsXvZB”ÎpÎŮ^‡Śďt°µcKęC/ü-e¦ F‰/đĽ&ĘlßĆW¤JaEaʏÇ+‘ťU^×vľ2x˘f"O:HĽŠw;=(˝?µ7H.™çß-w>¨M·^ëë›wĺÚ™Ŕ‡nµ€;NŚŻ´ôéHćąđ˝/2ŹZŢKüI±Ţ‘1G­0al š…1GŠvŕŮƆk˝Ţ{îLÓ@#mv›ßőĎďXźĆKÓÉyË.xٸl&x~ú‡Ř—Ń™šYŽt»«š3nß›ţ­ö?âäşl*q¤-Ѧ—ę_?&đbn)†eźQ×ojIŔŘ4ěÚÜPĄćw;ą? –óÝŤAJ×ŕăÇ:w:c? ;ăřĚfqÍůcńߪv`Î@#ň”“×éô(ńIÜÎ^Ť‰΄!:«.Ăşč‡mĘćK˝sçÓ1xšř›‡ń/Ë@±âSÉZTŔOžŚC ĺ®#=Ž]ő°ŘŽ™f]iÔ¨ě› ô$ŻQ* ’żd˝đb3Ö.Çł!"ťČCŔFË}îSŢyőŰ|¶ě‚čĚ»­ž ôľefË }§ßÔp%c&řéŢĄEľa|Źł}î%#SĘ{qJH͟،CP¸Łt´jäśOŞ:LŇÁ$ü   l× X”ŇńGŚŻtţăňLZ@éŢŠ<ł´ EÁĺ— žÝéWа°—Klůx~ŠlôáV”¦łŐ -)‹ß¨sI´'Ío36Á$ĺ ôŽxsÁćYŰ’T÷5ä[âSŞS‚św„ißü˝Ź™nÝoKéD§ -ę:-쬺ŕˇ>ł^ř´űpyßęl*~X2L&Á•c8ąuPläpáDiŐ¤˝­J_˛żaéo6ĐQŇ=’§|âů†cđh©”mZµtzâ*_˛qkăÍóó(|Ę6¸ÉBΤ/(„›•ßéĽb|Đ^šĽÉ Ž|.•ąîďË{˙’=ů(Ćć Ľ" -Z…`ö±¤áÜČóąt?¤*̆rb&!m¬RgY0^l(ëś6lRGçŮ•mC{Ż}wV›C÷虏0Ö§ťRż^^¶Těć‡4Náp€ U.A«ÍƇ “Iě®Y–>âw(Xۦ&hYő´ŕMDřť‚~ÜMbXp´ bť Ţâě%&.& ´Ő-eë·4łŔ΢†`Ň]!ŃŔX®śÂĎüÂukĆ//ĘŔP%bťĐJé+TŠŞ9MCĽ )ńBhÄEL•Şćj›ĽŠ˙‰‰XVL©Ŕʉ_lŘ …ŁáYúиi–.‹Ô=ÎhA‘„Hş–2E˛€OÉÜ×jřŮńT€çăDÄ6»Ë~1Ą,»tÁ #‹ů[éoÜäČheĄT™t]o‚ÓŻĺ€?ÄajáÉňťĚ"*Z4ťp„rđIĄŮ©úuD›Čľî iÄ#ęfpzŃ©ŘĎ4 ÄLB<™Šőäů ÖľÜµ] -F+ JRÔt<‡±ěđí[d;D{ýK”j˙Đťľ^”zžľçŢ’Îh(PŮSł#R+k(8ő’p›—A$`íC?ÇĚ=ěČ·"î”aAíˇ!Hěďżť„=ÎÇŤ´úr%¬tšżiú¸ň×b>>/Ú'źJŰ&V r ĂA*žË'Z ĂôÝPž™¬—Ŕź[)!Ĺ#ŐO7ď´můőăDí”ZrM/öíŮ%ä›úú¬p0á-äAµRŃ8« g9Ś`_Ö&>€lüţÖˇŔLţöu/bÓłńXmS#˝ĹËĆ%ˇAĆ$c3űßsŚĄů—„™úUwĘĺŃşÝ7CĽ\§€÷!‡ş™ö §¤ w-`"ůÝ*ćĘ[€ŻóD«pLeŢő/†‚é+Č{ ÍʢµLéiŽíwD¶´V!’ ôŢóş]†v9n#OÇűľĘ]źů=čď¸XiŐ >%vłGÚ{E#té( -F|ďÎvSššš5ö×µć{"ővzH9¤ˇî˘Čđ9Ëţj± F-•¶®˛c>=B8źiĎţ‘ŕŁdĂZ}¬Ż3kU¬vW.“łâť<×Čvť#8O¸ŞZ]䛾L­6‹ÄY]-Ěş-«>`˝ ‰!Ň*ćá’“[`.ąTŚ ű‹[ŽM2X@ر0*ĂÁĚąäŔkŐ(BHi!ÝpŻ×rŢCٍuĂMţWŚO 1‡ňzѢäş¶€ÖČ4DŽ9¶e08ć®7çpŢP¬TÉÚęőóîő¦•:‚z/†+{ą›Ä…Čtb6 ˙î´kźó^iŕVmŁ«öíjöÄŔÇŹ×ęś§ci#ŚTtpX\<š8 Ń‚~§ű%Ňl˘J>—ćŔ ‰·˘Düo˛ýŮhŐ´mŐ‚=đ (ľĹ˙´‘LínŮŻ˝´}î‘1ŮÇË׸ʢ2şĄm“‚\Eç×¶uî50eÚ,«6Ë»Ąho·–[—buÚ˝¤ś -–10βv˙éČë9żłéxkäňbÂíH#őw#÷ *ö -í -/ëň =dRŹÇůMw3™+çI+yŁJMŘKiăQ=¶%9EĎ^˝Ď–śśV'µnž/SK˝˝ç÷g˙__8$cűxB„Jĺg륬Iýš+·#ĐšE\ś;˘Pd±ŮÓíwéf¶®„ÉŻ›Ţ=Ž•đĐrś ;”Xű8Wí˝źEží!cE’o`ˇŹ‹zůW$čš7et<€ĺ3ş+Ö•ł_î¤k÷y8Ćzrа÷Ýze2ěŇ® Ô™™˝NĂCŢqĘçiOą1U $MŰ+ ö†3IaĽŃoS1ҢžöČé#¬:rĺvť]@µĽ•05ű©ą›(‰ôŕK\v »rre?Ô×W­mŢŠĐ)ţÖهú7ă ŔľşÚşpś€qz¦Ă­Xô—°¸2Bě§• 3kťg/ZŐëŔ@ydizëŰ1ő!x+ˇ9›U”5Z‹1Ľ¸Ůbe¬WJ™uäö:˝¸’c_iÖ {±¬·Á÷… ýČÝ©ĆČ ĺţi<:§qNÔ»wĆ;±k -+Íö«·ĚßĆĽŐ(Łçą—šU‰ŕ(ćEΠH(!Ä#ř3^ŠĘVAÓȤÚ™n4óB˙uܸz’oÔ|,˝Jô§*­ďYC;˙5ĎŔ@bq©B Ú×7S¨Ž€:pźfH›+ýR¦.á‚@}Ž«x™&‹:„ŁKĄ›Ó†đF9Żć˝+ăšçT ÚŃ RÍ…~ŞjáV’ŢŹ|ŘúxůxLýśŠŃďĎ ORl’Rĺ9ĺ3ĎřMőtuIţ1•® ŇľIäťt˝ďµZ&.ű—|uüÇĎëöó ň -áí&™dy‘7s Z(‹!EQP›ˇŽLC§Ůf·ĹŚL;Ĺ[qÎ÷¨ŕ\ j`]!a¸tî˝Ěě˘îă_\~t6„ä©Đ¦Aq'q–µ˝$Áv %tehÁx¸»•”`–Óű¬WT3´â˙ظRę<UÂos:C·ü)­MÉŁßÂW @°3%×^ö ±b°¨ĎLĘQřĄÂČ˙eÝżdűO»"-o¬DkŞBbß2Ú–EĄHÓËťOlđ‚ASÍ—Âşs͸čŔĺMâ ‘©F74± - ±•éMA´ŔCOY\)¶9…ŘîĺFÄ!5ŚűýѢ´*‘ŕĚ·CrčętGę…ôeő± Ú`{î'wUŕŻ0ĹÎěĂâĐąXü[VđzŰÍ«‰% ż™–ű,ă7ˇ&â÷®% -KYׄË/‰C]Q?úč=÷®ĚłŹa‘Ýx5€^(qéNŹâzhBNźÖÖ-±ŃţÔǶ›©w~7ŕŐ<ZĎ–oŽI^W6›z"•á…·ůú©hĽd’ć:˛hÁUĎčú…a™=ˇ^.îj|ךvTĆFĚE"75É>úőζX»Ô^ΗzÚĽĂŔ‘÷a§AšWŐ×h¸}Ď2Űeʵ Ť¶<{±Ô懣n%đ‡×P8•3$+,ąĎ¨yÍס˙î{&óáˇe?G@č· îvŽ4\]ŁT°cźq*u8ü+8‚žę ´ŔVG?Ä­­\ŠęáđžOA±·[jăöö$°ŃÜ$$ź¤ÍYPýDýiü_“W±ći×µi‚ŁG‹ňż…LŠŕŚĹ~Îä ™h6˘{ŽKYÖ$Ž0ň3ýˇuöiťŽŃ [kŁxżÎ(n–ýr -^HoĂéćÖ—{ů¤8 -¨Ëú•ńzŃĺ…ľ‘(Őđ\:ž«heĹąń쥢o›Aë“3/xühł7ó+·Ĺc.¶ďÝÚ¦b$Čcf'&ŽČéełţFxH‡jÜᲿśÔŐ>Ç6…úröRJgŁťT<`M°ĘQZ¦ť×b#˝#/z5Z٧»µX MÍş7ăÚ­r#cg?‚VÚ/°ŹÄg«Ú‘¶#Ěz‘Ç»$“”_ÂôoĄP@mk[•Ą˛5d ,ěçĄWV8Ś7čŽţŐ?«ÎĆŰp룪G:‹6~L]6e5ťŹ -şňŹ~ý0ö9l?ăČÝrĐ{B˙·ŚśŮóŘ`ĺöéw>°}E菔¸b_Šm(Qů-…ńÝÎŘi9FzśóOňSţ«\íÔźbŽągË-fŤ†Á:¨^?cËĄ•út#4ŠŔť`F(ď˘dşŤ±aŻo†ŤeIű–afZ¦_XăĚ“ó?Ŕ'zÂ?_w0.ą=oŞ?z=HŹÝU\: ‰éŔYcШg}őŕPdJ K·7ŕi˙ÝÄ%îµ.ŐŞ7ĄňĎÄiNšă݇?Qíď©ŐE]Ĺ@é%Kđ·=W©iźÇś‚ú·vŮKÄös ‹Ú2N‹4ň`/u:pq„N®żxűŔ¤–Á‘áťď7 gˇkíC6 Ś„$X4«bЍŘ+&é´„ő‘¸¦şłĺ–/ř`>iŇŚĺá6łFÍŁˇš-Ý}; =>Ą(Ž?<ţNÉ…¸?M|b ˇîß4=~ó JČ=K~‰šC-#(4ĺIŞ$š`Â4®yIW{˛L‘||KqQ袒Ý»‚ĹůŽÍŢST̆Fşď -ĹůŽŃěÁŔä'ôfŐ2ÓOylĐúźČ„źżO¦ŮhŞĺެLĐë0g‹tCqn -•ĽšăÉËŠ0ÚµÖíźpÜ”Ŕ;%Á–ý®JS/„2&¸bc)IE÷T¨Ź¬Ü™¨H®‡ŔÉ$zG/`8ůç:Ŕ’Ď[E”ŠÝ-ÝřQlŇľkł(±śśµ1ę®ís(.)y yÝîF÷Vfdąq´?obaD;Ź×Ó(»ÂşŮîé'şEOˇg(˛ě‹6 Ęé°6~f¨ŘëK€W+$ JkÖ¬V°â`ße™0 Xäj*ł˙>Žx.™$¤öä#ĄrôNeFä6j• Ň/ĂĂ Đ‚öBŠUg?L;›ÉÄŮ‹!î =ŚN()zw0oTĄGc—RJŻĚ*ôôVЬ¶¤5§Ă<Ŕ›FIë 'p2Čjŕ4Çĺů”4IJ”Š1RzL±=Ö™T0z -€zDëŐ*CJx[yüGüżŞWŞUÚĆ%läâhźüôI(&ˇz0GÂÍ #ěn…Tx$ÔTĄ§Ţ3üą{Óýäßşü_ ańŹ|ąˇíĐgl`”űűA૿ĂRj$ŃŇŘüŁ»“‡ -ćů’$I§ŚŠť™Ó¬ o·@Đ…(Zlţ4šĎayhő‹Ĺ/)_-7bŠ#RK~FŐ öSo- Ąc–řŃaĽmŠP4í*Đ{&pf)ś„şź' ¬=!2(–Ź ZĚN|1aĂ0‘CŚŠ? “ %'Äݸ9Фl% ŞŘ(ЉcQ•3˛™ĂPŰ4*Ç]§nń4gR˘>ÄTü &R Łô!KToRżK^"{Šćěó8w\MńľWďĺÔ.‹PĘ<;j -ÚŰ5[§ßd{N·ČM-H˘Çc(g(ďăÝŇ$/[›ŘAGĘž·?> É`jË"äL=\}][E˛ĆĂu1{ -9ťŮ•@}|ă^÷ąSqăCóÎ2š’.w¨k’ĄÔH`’X‚„ę\LΊ ňMŕUΗ&!—äĹŽé/÷¬ĚÁËÍÖôRĹ>č4sqˤO@„*ň†nąôo×ŢÍ!) ¨GŞŔRz-bžÔyš·ŞŰ'˝|˛]îˇ?z{ĺĹxp -*Z…-gCYž"¨’´ W› ˘Ĺ$ŘňSŕqz>eú*[(#Ő/ Ŕşz&1{4Lr Ň ż`é*"ďÍ -»bŚ*ŢüżĄŐâQĎ\"Ó2{4/G€Á ¬ÂßáýEUíxt(ßL~˙®l“5Ľ pp&^^vC6É–L©‘Ĺ›Uďr>©P z¦«\.Ö.6<§JBaí˛ę®sÓµ¶d⦹˝§ŤH §4WŚ(üčäeüĂŮâÚ¸ nÂĆI‰ÜÓ41E—wiäÉĆ‘÷9ň@G.EEZ)•Ůyş’žF§0Řśą1‹fOÜ/¸Ü!€[$ŔÚHfßF“j‚ßšIH?őÁď*»Ěc€c˘ď;Żb.4HâŇő=0N‡'ÍÓ†ÓGUQ€ý"Řzž€đÓĐ -´wlŚŰ}_ŐvăE`pÍ,“eW SDrťIcC<űeÂźKÎqö ’Nc7¦űí‹WôsŕöJql >ĎdŹ´Ŕ7şÔR: -RÓ`’Šv®bšŹ¤ş“ĎÖ”´¶¦űHéeYĎIŕ.:Oh„˝ -^÷dęŰ€3ňż ľ.Ĺâˇů­I€,ř¶&§ĹŚwËłz1ŐG8 ŚŹ ®“Oçä‹ö›Ľ˛™ đĹXŃÓbRĎŰęľ{îL…8[šÍŐÓĘŤšĹßD—-‘›ę!Čą ^L+8ÉÖăüńKĆ_*ŞLë@ -‘Ô0Iůă§§' €I< `{ ą5”ä>aľ|í}sGŞ\¤ż•ôCŹ -ÉN‰*ÓÄišäĐţuľ˘vnKL,‹Ňľü?µ®YĎćx¶ -ĐNÄ‚šĎ`“ěĂĄxgĎ;ŞZ_Ă#YVSţI^3µ;šĽpĽ`ĄVŢćŕ†Mő·ŁÓ.ňůJŘŰH»aĺśÝ¨vk4awö6ţnY ema¸=s;xĐđ„sşĚK¨ß@é9|úďǶÇZ‰*N5Ě„ő'1/exîOŹ«kŢ"Ŕ<» lmˇŹmH{íI˛”ßăIÔüőc[čhÁvîvĂ—żmź9öđ+"/nô·ĘS 8;żřsy)9ŻÂÁ¶ Ęń‚˘žkĽ~¤4hÉěüŔ?ˇ“Í ;‹]ňBŔŃwTŮÖ»¸–C_%öŢöÝW¤§ő1@GdMő¶ÄK\Áýlu÷X|;Ɖ™WďřŽúJ¸peÚŕľwđV ‘¬!—eDFSç;÷ ¶ă¨ Ě_»Ä’Čr¶rý?9ŹĽÄeéÔľ°Fµąi?jĘlŰ營zÔoÜÖ0í†bŁgëUř㴌߆BëĆvë]§x:Rž?„w9Ěc*u°Ů¬ˇ&)„ŤľË« b˙*včI4G€á@§X€Ĺ89»€w[ű!Ą‚ąó -X?–ýY' "OmóYËQŹX #ÓŮŠC‡Ç{že°ŁĺĄżÇŕŢjü®-Ďż˝ÎUÔĂŔd±V® Ł}¶VG‹Ô°Wý"açź’/QJ -°*»vÜČŰŠ§\ëQŤ†…‡^$5ÍŮ›?‡˘" g;>ŚüR1QBđD ŻĂZĎĄó›5n¤¸g€p©K4Ó|3•+P[™¦08§Č.¤QTCéă@K2‰ÖÎmÉ0ĽŰÂŚĄö='Łfv&¬Sú¸l«b«¸6L łç›Ďí0üÎG“vŢŠÂâ‘äďŤj(Š$e‰Ű´,fĹ”¸­ *H&€1pO89{ŮŞ·¸ŇÔ D:Ť¤[ůŮůŁřаĆ?ŤóYžkFß]ŤâĆNL×_WŐľ„M8 7ş´€Ž3Ě—#˙*L˛:z±vëÂv Ł„ÎIŇ'°{Ş1ĹkpU ˛buŮ›R\}=žä -D ®«5°]lt˝ŕX !üb&­®ŘĽ&¨ôcó’sÝYsÎż¶ń +)"¤-+á!ĎÖÁp«’şF–rŃÄB‡`ŻŹ:›¦Či»­°¬ňL¦lMÝ{–Đ3–e‡™VP¬ëđim)‡ŚV®wË0äGS5MłŔQÎ^ňáĚb9‡Ň»ZĚíî{aU¦/_nŹ˙Ć)şÍq_$®Â}o4á?ĄÎž=¤x$P±_lOĺ/ÔE—˝ńٱv]wł“WH<´ĺ0ş -§‡(EĎ›{čí,ť¬4A -3Ű0Ę8…Yüx°¸T6`…J;ěŇů7‹Îćĺ(o̡A¤ţĽ˝Ŕś˛ÜAŢžżJ¸¦ßMQŘ{ó[ÜžÝöJZźüO+Â~ŔÖW‘´BD‰Ě©‡-/MsDç~´mË*ţ|ČZ¸‹jgp%@©‹<.+Š(Ľż6‹ZŹš7&žyöŢ4¦2±HĎ€n»ŔĚž^ËpőČgmł7 •¤żćČťĹj0~>~TU%§¨iM}‹«ĘI˘Ţ¶x1^říYÄlaéëd9tq"˝bú$…¸g[ݬZeĆ0hßʺ¤p•|ŢŐ,S!¬˙ݧÉ%Ež‚w9ĆH‰Ž(î1ëg"ă•ŢyĆ.m -nŽĐá[RŰĆ-áoWN%ő2î-ŻlFĐĆy1đë*ŕ>$ !n&ç›Ń!Ë ăqű<—^TŃ$˙:ŔXdßčG5Ţ‡ŻŠÄ¬j«{ُű\Ëe´‡9Žź&˙’r*vX5"EYńŤ€FFPMI[f3’RŹÂݬXJ. .kÇjaX.L/a,@±ăî MŽîŔ€Ó}×T ŇŁ(śt:°EĎ]aV ń -9ŃĘ9Ť„eôrµ3÷üŤ˘ Ž[™D2¦Ţ-Ă$V»M):Ż˘ÍfXä Ś±»Ćýfm\śx汨č‰. -®Eäu ťÄÜăŹÉO6UĄ^ŤUţł!ś2ĆZńFn'Éaw‰Ą·ě&p 4›‹€Â:(Wľ;î»0´K?•ůVąH[ť÷©Ű›¨śÝáľĘś»gHëŰ-ž(}ë}ăP9ëĂĐŔé/ŕ@;E˘jKÁ 0UŮ˝nÓµŔ®Äo95ÂwíjáË8Eőň;ŔoaoĺGÄ(ú´@Ă@1ö*ö4Ü`×€Ęú’OÝn2ă|tsOV T›§{/%¬Ün`úĺŔöÁŮ|Ätô›4Ů:”#˝Şŕ†6™ĹVlW¶)É}‰ÖÁ Ęoź"ﶸ1‚ÝAČäMş|4:ss[î{r3…ůÝŘ1!n1ÔߡűŞ5Ď7Ů&‰ČI™—Á¤š[ü1âí¤ÎNg”Kź4Đü鍻hi*Ú—>Őľ·7A'DíůŠńÝ@y„?ăš9ÄŮé Ŕ=đĄ­Ë 2›zÓ4ÇýKÂc$·áüMęÓ'Ú™ű몂ĽF4´Y5x±Ý´ńUŃ|gö°JÄöu\uÓj—ŔŠ3† w[Śdrzuą61ZŻÖ;©ÝvĄ•ĹgĄČ|Rt‘4OľßÖó -Ő~?–ÓĽ·«˝±sŞKáާŔ<2b‚\V çD;îW°Í…ą¸––V4#mĎ扡‡SŁą– YLúp!să·,lÂ0Ş€qÁŹ5y%nĂSg “zâŽkŠ+ů -¦¶ |ßnóËńTąŮe ę㌦Ýŕyő­–ăA"‰sU?mŵ`—l•©u„_ˇŢnşË”ĺax€ëŞ›>Îv˝áęĘĺłäK9(´˙†Ěş0Á[’ů“S@cx‡ŔuËĄ1€ÎĚ´Á5¬ú -Óö““ˇň†¶Gä–r‹ îĘé- ±[vÎg:ĘřýKءÍŢ>kQhî8–Í(˘şçµčkćßtrFˇĽ©ŐŢ;´śmŔk;fŐL±Ź^›43M»];:@€đ9†?ˇ+<(Vü3„ĽÎ8zdGCyŻqKGŔŽ×eĺ,ăč|¦ę]îe(ŹŚgÎ4Ď2O–["ďő+(čYϲ:ÍCćGň˘”I-ĐV &_™čpŕ@%p]ĆtĽ&_q¤x䨵jR *ŃĹ•Î7ČŃÓŃXl|FŘŻč¨%ŕ0^{:Z‡Í]˛‰Úa¶şklŚĘ¸{.O6Ç7y|ő™8SwGAĐĽśôč{HÁŁŕŁă+söĺ2XeëÎd–j ôq?`éŽ%ŕ–t›óăË3+„żu?moŐÝčoäJ"1ďĘ'µ%>\÷żÚ‰§ţËQ©ÓUĂ “}_Ńé‚jsSńвQ˘ďäwś›Ş0—ŘË8&+őŇ";đx©u·:Ŕ碠´=ÉĂąf,Ť1ĹÎźí«Ř$g)„ęrGčq°EęnŤXŚŐőRż6p™ÜýÆöJÇÜ–_HŃůĹţ.V&‡_UĎ•Ż‘n) =ťÉ?÷ŁÍ®z8ç™řĘr“° -4‚‚Nn.śü×6”źyĂď±t6×DmE'Ρôl•rÂLÚ!–ĚzV‚ę!›#×Ç9Đöh"íźí#ďµAmŽ/Śľ×´˝ŇN -Ę$¨Ła¦VňöÎÄžşňóEĐ™<9\Ö l¶.ʶ óżÔ–ŁÇŕ9­"#ÂńI #sÖTś)uŠ^käęşşŰË]“ęWďo“…y/á 7)ëGŕęÚőnýŮltDŤőŰđU¤{ę™ô†ý8 ->ŃĹâü|¸PôŮ>ĹűĎ{}ŕʧ!iŃr €T ćČuOĆŞ®|őX)EĆ–źhśëž%ís:B‹>ŕťĺo2řŚ?S@Ń7‰Ä§ -…S¶źŤpŢvÖyŰ×’Yáž4™mŃşU h^NýíČă9ĂÔz’´ň÷čźĂÁÉĹĄkţ -ZAŁiq̆ wkk˝m<®ë´H™u tź-DßXIĚ2Ka#Ľ­ôjµ>¸¦BídY†Ł×Ҥ¶•™‹„i‰u«4FGŮńÉţťľňFťyxE9 Áł—ë©Mr˘[¸QóaoEŚŞ±pĘUHŰ«˘ýî_wf‚ç˙÷‰C<\ńă@óŢ.#|Q>\éO -«!©űV4qŽ -ŤDІԝFÎ| cecTfřycÜ޸XÇ`©̆qú†ńĽrˇšz¸YúöľŁRE‰xöV÷ł8¨z‹šq•_ëYB|7ΠôQ»?r!,j)˘5Üz~Ď]Ţw/H°ë"Żj‚iţŚĘď]ÜÚ7®.ŇÇ ­¨´ë)’»kx‹@+逻‡€\đ‡Bęţ3ÍÍf+ťIżíy6|7Ą2•{%âa45L±Cą/~Ôßůŕň‹Ţ…ůsĹ/obŮ_¦Zz<˛yöůÂ8;ódŽ”8ú‹±KrµÚŰÇ’ {b7ŕµÇz7*Š+ĘN:ČéţHĆ-<ŻN‰t2FT’pŕ€»ć{ę?9Ü.óSş&ŕd@ŻR %ŃO…¸EÇŇG®PR®ß2‘Ôďá!üq@±0 -Ä· #ľŽť¨|gÂăľö@¶ÚÄv§Af€óü˝<“Uéí‹öĹeŠâĹ%ř¶tŤNU’ČÍŁý8.§‚Ĺ:RY—0f¸‰Îę~§ťÝ±(˛ąŞ…W¸şŃŁPśOĽŢ­ÜP˘đ˙‰DšÎ鋼Q૪śů?ë‘rˇ•ÉdcŠ}Óź:ý’¤AĚ•ďAĺbŕš:°ˇ ×¶B§ŔADíIAЧväKh!+–l ÖŐ1 -şúN‹˙Ćpµg”'ýwöZHJsş„ąuT˙fo;<*$†tęQ8°ßýĎk2g´ÉÍo…řP•Ž…éËśrRđB˛©f=Ř×Őµ»>–‹ PłĆĄŢ?ŚoĂ›ńÇőZý‹pÇmnÉ´(xť ź1ź¤FÉýÓůš€{ĐlV@h`bbŞ8YŁQŤi•¬ ć`žÚ¦im"X獞.ÚŽÎk‚‚ąž;â([ ˝ž~,š/]©łuúLiď)‚( -lĘVaLľXâ± ë•3·@=‚K‹ on(˘'¸ěŤI ą«ř(9ĘĽ¨Ý‚”\ÚąZiĂŤj-çŻĺ†,¶ĺčżµóLf”ˇç ޶ö\‘–µť%w¦čđK#“_#}˘HËŠd­f”,çRőZ¶7´łČ®ř«´ě9g§e[üČk±Tý§~mŤ',ŮůĂ!ĂęŠ@ń~>E‘Ę(Đő‚L™Đ*q@ÁgůFSń8ăä µĘůI©&Ýsă‹dő±` çxO–Ó„žĄÇĄ9ÂÖc±µ…ł}>®‡}Ş9u‚Wôća­o6đ­}Ϧ0sQ&‘/FJ×ĘäиšxöťF&őw–2¬‹]Ź>ëŞ˙©ŁP'ŁŚ ÷«ŘşYf;hV)3‘ßÄ®ĺD!ćĺYůÍĄéŘŃžícŚLÍşŽĚŔ@–ö»5¶&޵<”ĆZ78™pE‹Kx/DIńżÖ‡V7śńÄ˙[xëJ%śX˘áCţ.Ů -©¤[~lkĄ•¶uců‚˙gäRň˘pżÂőĎŤëß&Ę™Kkź›Ťçýë”ÖMT©Ŕa/ň0‚_ÎtŁÇBžMn®—ř¦}­‚†íHHކXđ~ú+hČnC©ę¸ÄÓÁ ŔŐÄ@e«8~ş„ ŃË{µ*°¦;ź}X¨~Ü–§ńăĄIĺJf‹oI>Ď„)2Ř_’r2ß˙z„--P¸zýđeŘŅ́€ÁŐčVÖŤMPzd˛L˘WCŞ ě®ą¸31ľ is|Ú|š©Ú—o,ăĘ!öA“Zžo‡•Ŕ;……^Ƨ(O™µ»$‘-@‰á&ŮŃĺ8ł•FËń„ŁoŞ! ŘOÇ…Ó`ńEśR®)BU˛€¶ţ¤2);ö1 ĺúŇ €Z€ŚóţÇ2ńžű©…mĄ1ěDä4É0÷…ńĽÄC}ŹržÔľf›Ąđc=9V8$X<TĂŔw“.l A††(vô‘<äÓpű˘|kÚŘć0ěż%E 3 ˇfÝPv źA`Ő”}ä@łľâg/}<Ş.ăĐ{Ů@–˝ąś?ĽR‘ .‚qT˧8wÎ.Aý ‚•„G F<“ئMÍ·ÚH!4@dfPŹ1‡MtÇ2L˘#9ťĘ«Y·j—˝qW ů _GQ´ňř™vQ"ZŻÝôJ ;ž˘cvy†U6-¶’>ćę*éăZç·Íůís›k‚‘Čľ ˛*-"Q"Ć.98×=÷×ĹŇEűž˙“ —î.ĺ]]š®}çßvś¨ zŔОO^8ô wç|:5Â2Ú;š 2‡iŰÄ!~bÎň#N=Mg´¬ #)Ö-Ě~Ä=i­Ňü*?*‚—¬â„çÍľ7ȶŇż…nLô}¨¶Ž×µMáßňb`F1D`źpíft‚'˘Ű/›Á”¸9drDJčâ÷{&š?G˛L1°ę3Ćú7Çݤ7ě±ohŕüîËňŤNOŻŠed:ý Ľ)V‰•Ë\ŮN[2Ŕ)yĄđ(ź%]Ř™đ5*(Sd}rţˇ5,Á&ˇyµh&Mqa"ĹŹ!Ô+Ď7ß:\pď–ć<_4ČA-PSßŐ^ÔBźÁżč|}‰ ômICË{…/męî¶÷ Í'oŘ9–ÉÁ#\/şlĐ®3)K*Q„6©ÝaݾਏoŢלq(Xąµ˙ĂXŚŇŞňÚŻÓ ďłÇýP\xh<ß’Jˇµd¶ť˘ ÔOá†ÂM†{a>ëhŞc|ş)ˇ2˛¤ŢEpďA@jdän]s>±öVŮÝ3\âi¤ŚiĺŽF*%–pIQëŢžo1™¸jKíˇrȨ|rŁÎBŰQ‚\˘o†šGŃ Äąŕ˙Ͳ¤üwć.XµC•čVR@w^ŹwŻqťCđú?ЉŐ|oö4‚®ĘVť¨rj‚<äŰ(°©[źśŕ)˘K&÷>M‘牉żUÄ|勒vGyg?őďs±Ó"ş†˘ćůŇqIłU>cvoÜÄĂwŤ=A:.W'˙;ł‡ąüu0• -¤;mŘbšöůNřéĺ2–§NoĐŻŻd7,`üq‘Rě+Ë8Ä«™mĄjháž Q,—gy lř©ă*Ž1=Â_ †j"Tťĺ›_ŰĂŐeu9>苎Ĺ*PţytŕĎzBYSd±ý$3š„ -&É•ŠMQ°˛ď$öísqmę,řy€LĽŃŠ+¨˙ŁŤ>óWDűĄč1â,™ĆĚD‹§“í-4çőb= '®§‡bî–5 *&m„¤w»> bŃKčnČź§퇔ĘJh%%ĘŇŠ;byđÔţtLŃDřů ŚĐC&ÄH´SJŰx¬6€żqâŽŮ ĺčąůSş’…`¸IiJ¨ż¶¦zš#;̉čLôű©ü—Ż’Ď,ŔVNĂeĽwS3!¶32°ľZDn#ÜőK_’4Üq¶ž·`Ű^čżdüť¬Fš"¦‘$—î&ö Ž$űĄm-ŽŞ7ÜpWŃ ŐťĄ˛ĽĽäŔÜ%! \)MÎĂN4Şvă5#´ÇaÉő%óÇ‹-´h…šŻ˛óÄť0PÎS+ úĽ´˝ßa2śôŽK˘©Íű’”č°;Ä|—Ńw +Ś1ýü;DŢ†Żš. -IŞ˘TťÉÄ3ţŽV`ţy$c+6jG]*ěŞxC‘tď°Đ+˙HňÚÁ[îż“ňwWcaŽ‹ć&ľ®WV›ÁEŕŁÖÖŽÁ !‘ÝŐ@bSŮř,aY¶ëµéNf˛2đ=ű6ť™Ĺ\žqz‚źďCőlʨ†Üú‚!içÚÇtˇ -„´Ř' lťauŇS˝|†mi;p”Ž>óëóĆÓkaŢ?r#ÇвÓá~Ć« 9ŐÍp°PÜäĆ‹ŠęąëUÓ(tNwOŻÜfş#9·;Ä>ĐťTMF”>ŽČ Qa.† 2»¤Jâ)ßFGnÍčŚőĚ–bwÄŔ-Şń˙ČóBŤÄ­oWÎŃ©‘””[-2îT()"Uř™LO^ş–č„cŚgľ×PsÇfâ9 ŮŰQ˘v¬IâüS†ú¬ćލ^ęBł[,7®žRNeˇ|ònůř.T˝_]q‰k€ß‰11ÔTë¨D4¤5Ţí±Ě·Éę`~6 “;ç…뫚ŔŔpIřĚ•Z€ąŹĆYaŐ©wHźGśÝú€ë TVeJäD7}=š3E©HŚ2ŁÜäU>â{n9ćő ˝’[»Ë}ĐFű’ /ÓdţŁwzĽq«"“tťn–Čl™Vh!<äÇ.aąŇ>ŔY`ŞKŢ:A)ç|˙iXÄv*2Wp„e(Ő1‰Óŕjđş.• ‡ż¬ż_VńÍ UťS\(`şiČŘÝÔxÎŔä˝Ő»Ăű5ŕy 8p«ČÉÄŃĐ@ŰPô|W&a®Uh%OŽG]͇•Ť¬…¤»÷đQ2N a¶śťď®čd^JĐŢIű)‡ä!|T9› Ś;DČ!ʬYŚĂUÓ±)¬GÚŠ=#¸A"ĚY_CM˛É{WEÉÇúް'îîŽÚ1]4’Ô÷Ô°ŰźáÔÁ˘q?˝ä-mŢę7dÓ@¨M¤˙c4ř‰§U±˙íiF§‘ řiUŘÉzŰÄ[>—z·Bkmŕ™SMNşP ŠCD|†xMŞžoްFJÎoŠE;@II>˘Ĺ-á´d˘śfšaTWôçł»ŁťĄCÚ6ÂMžÉR Š/Lj {„Sýô˝±Őv»ś’ńôb©}[V4^gh*ťá÷(ű yüđ˘5Śŕ~ú*\‰´ ČŮń˙ćq»ĄšRŞBS(ą3z@âGg=;cű˝ŢÇ5~üI~&ń íâš @ü¸I8K2yë0GÔâőăöźľXľ eJfĂ+Ü—őę ¦ pÇTÜ0vŚËÓżÉě'đb@­„ Ž -P®&ż8?ő§°m‚˙ó'·܆¤\gÉÓęqčDę˘ţ3TAęRŃćń¨śß^pü\®ÓDýŚ…™-Ś-Ęë-9Ä–Ćy”\{čäZjiw•řčm Ŕ ŕöŐ™KR}ßhHţ 1›aţn㯕NÚ· űhD’{(Ř-ú¨óä5uţ‡Žz†ĺ2ŢÖŚLTóţLťŇPDţţF!őbQ[ń…^rŹ ŢdGVü:l &¸ÚşqŽ ó^ŚqŚŞjí:áMĚŢEĽUré,Q¦öĆ.^§1/7ž]ę'CtsîAĆ+ř!r?tÚ®¸ňŠefÝ8ŤĎý ÁŘ2ŔÚgŁĄ¶•‚N”ôB}؆ă›ßÍăîOź©•µ; x#$˘ÚňŞôw8ý3IŢĺß7ŰĐp áhy bđ»ňŢcČ÷[Ů?©*6¤Ô㌖AOĘZ,G;ÇćŤŰŕ´c9âdŠGˇ[ZşÚ—ű/»OnÜ”“ńL±Ý73Ú ™Í:<űgß„«&OŻÓ<Ă0륌ntŢŚnN‘ĹBÂʦŽtQ~0·_îJÓ˛ČYÄX U°Ízb>CűŞ”bO[‡,eÉ3 ʰÔŽ+>˙6źĽ™µM)â-–*ĚHËĎ"Ä|FďĹ®ą^®FH?(•”<z2ęN+ÔłÔQË兀*ˇ&›[ú`!.]PÁŤyp‚‘ “"nÇ<(Lhx¨% Í˙Đ<řIÉÖâQÚA}k–"Śż6Ť´µ‘ /ö‹·"ڏź SMďőć,€oőt~µFW¸~ďŁgµ4·>çšäťn˘«’]áĚwö´#ůzöš…NyŔ‘ÇäěfZtúŮÎߏ(ÚąNI{9gFŁX<í];›pzb~a‚íË|5iTĂ †ÄÉ3VOźLͧbâ˙[p$wîXßáŠ[Ő ±km"HřkUhň…„=qć`’ĂŮĄĹçŠĚčĐÖÎĄçy“ę<˙˛¦őęm˙Ĺ‹šÝ s!ű1Ť»W‚ˇ; áe8zÚâăŘ$ş°Ň×g\‚ Ś»V"®§ä’í誴lÁŹ%ČÇ÷·ßűř«AË“¨gÉÁ-[…™iŽavM¤čÔ×6čĺĚ$ŹźĄő˨b™ęŽÖhšM3ßËTŁ6Ą€ rŠÍ^J˘kxéć6íą‰F˘—Út™F´k$S3Z<–—T*őĄ’e`D½Í+Qő0›UgM%žIÝź<|ńżkž1»ţťu.•·ßiú,uyý×VŤQřmňŘďE'ďÖ„0vkĆ Üľ.í™ ±˝ -±›)&Z(E‑u‚+ë :ćBţi”tFŞí)ú73¬Ëź%ýŽG)µg*cÄ6JwQŕ™żbf‹[mS­úŇѤl§GôTó1˾ɩ´A<äq7MČÓ茀<`T΢ŔNfż‚‡ěqY(,7•ÚŐ#ÖFkśß_§iËwA4p"oK€gż Ű)î{’ĎVă č¬x‹’ťÜ¶0bîŚi=’Trç~ůzŔćmڏóͤÎÇĽîŞČŁ˝”+cŰ"Çß±÷U°oCâŘCˇŹжHŞJĺ°\á ©_0 „·Ů«Ý‘šwtýâż­UÍÝzeyéIY-ąÝšâ4.ä¬-Ŕ©ĚâN´žÓţ™Ä$ßCRoűyčË…Ź›D±4m3Ó^Ą‚0ŕŁyQ¬“đľˇęB8KK]žéK2ĺźíă€FÓô‚`:očݤ…,˙śVk¦FĂX~nů˝č°ć[Žc¬Ă®_”€KŁ~¨Ţ?âN´ëżżňËpř€¤!ľŮŕś«±ĆRÝGqŕ«VÖ3ĄÁ žXVQ RŃfĄ4¬ĹXŤ'¬ťˇ˝żó3~Iś†>zc‡źµ(¸đöć*/ÄÜaâˇŃ»30„uh$tůS̬c˙eµZď]=YýřĄvšŻðcĎĂËEŤĄ 4sű$—{˙ű—[tçł`güXY“mcÚ'YĹ4&ߍĽ ¨–Ř5 ’ß·ąîŢM ?UĘ…QäB†OJ ňÄę°»UĎ,ŇÁÉš˘(2ŃŁK%÷7÷|,^s;±‘av§66=qťŞ2îËH™¶a—lY?Q¶ ­ĹëůH ‚$ě¸M53…w§ËĎߤgm3lËÚřYwď#Qäü˝ş‚5^›-Îoáě®1śĚŻ©ćҡ“EŤ˘ôÜţ86:±mO脝Îu3 Ş0ŘšĚ5aŰX¶/EÖľÇ7Ş+ďIp‡(6“ۂҟÄY{VJ# s„űF—Ë.ŮĘPűQȧD!ş§Y‘Jb’ç?\ëD덺ŕ¦ŇLöą€Đ*R}€š8=aíű!Ďč<éä€ř±KĽŔ:´d5ާ\ůJőÄÁ|XĂ8 -¸gQ#AgLÚ+ÝÇN<˛QkČŇ.č"ćyťĘ{ŽáŠ*;g‡”Ć.ďŢJ@CÉ­|ˇ‚ÝMˇ yL«úőÚIo Ziť•ŚúÜ󄇳Ϋ»hZŹüţ&ŇÓűĘ%<–@\;”?ˇpń -WÖÇ:@‚ }šűsGYĄú:p×Č*ű™/eSĹő}S÷÷WľíśŚľIbłÎڍQH#Úľę6(†€D{ě@:^đ#¤R_ÄĹv¨eŘŚn†«°A\ĚŘßX%!„Ęôźąŕ®L Ę>kę{Ż~ĺ4˝[zľg§+Sś Çgvď!—ÍóśÇÓÝx‰]n,†8Ů@2ĺ~Ţ·4&ëń›dąŃGpŞ{‹;íŁ6Z"jÉČe{9ô‡l‘¤čęěXăDŹ+‚¨ú¦6!ÓŹŔC ýÔ…+ ‹T˛ľ—ť4üĎc_ép`}­ś¶k.vóEX91ŢFëcÄTąČ‡ř‘Ň8 -|c*=ÄëňŁŘ3Ö!ٱë\ĽÍ µ7MópDćśU¤IW)ÔńíPMaőŔ–‹`Á˘]¬tă.jeÎZ‰ą†16qt=ŞˇľB#ČK@k÷é“!ź|ÄďyńŁA¨g~VebscÝ9¨$›`ţZ„ˇÇ&ôcX‰ř$j{ä.¨‰š5źcY9É…;c-iúŢ~‹ŃCÂŹ—ę -ĎőÎ5—xÉcĆŚ˝řć]‹ťŰ^Ťywţčj–Ѩą®35IyęMţţ~ČBŠ_ňď·‰¸Ą_^ű'[…¨±° Îť˙±ľÓCKlĐ~‡ˇ‹=O?4:qş`aąÇS&°“YăÍą‹–©; ç\ß›E ő^;賯¬Č>•pářąřś|ő”e×m•B+‹±&f[µąŠá'óŠ2h64ŁŢůÄXE|9|UÓýWşĎúć×oÓStm D11¨©†ÁÁ Űţá﯌*=N[ Ý+|—HWÖăĹÚřľĺyS–ubÍ ó 0`ĚÄcďŠ`Ńž\ĄQĎvą+19Ĺ=°Í‹IÄ5=A816óBnDě1XüBľőGčň–žźá¤˘ĘČüYŚňśŞ6Ţl8Ś)4d0 :IŇŐÓfi]‚Ě ‰Šeج«˘6›`j^î‡G űÍV2©]SÍbUíOL¦50éCÝ" ľ¨JA,‚OĺÂků ö ŇĘÉž@xí%5śxË,}P-Iî‘Í—˛‘iX=‰5˘(ßÇUđÖîBÖŮ"űĺEĺŞl~g3sË>µ…¦YŘľ‚Ŕö¨÷Y¸F·`÷Y%,id 2“~Ř.cŠ˘†ËD…%Ôył7¦x-R 2%0«¬'šö nĺpť0â.M ý -żfô•KüŚ+xÓO)WŇBYŤAáŮą^"ŮbŰWŤ•<k; »@{3éHŠů˝§Ż‹ýđś µÚŻ•đŠi*#´mŁXt1ţ™Y,Q@Ń9¤°Ňť‘Ł_Ě'ŞCBKf•TWß‚/qŤµçľRÚSŃÓ˘Ą­łAZżNaß;FÜäÄ*$OlůßÖ!ÁUĘę·ÁžőŔóŔ´ ›źe.úR ŕÝ÷!{źĂźŹŐ‚âNErEUď řČĆôbqĐúň0őę˙h(7ĐSö:¤-ĚDŻň\ŚmÝBŔ ÔÖŤĹF5YuŞÇ]™ ě]ׇ8ŐV4Ô6FbSŃď7[mřfÄnCˇîý.­(Ú€)Őą)(¶cşhƬňjđŮ`ťÁĐ—Ě“/~0‹B˘Ő`-ćś.˵•9^0•Ƴʣ¶“uŽ8ĐX'çGCqE<ĺ f>6“ďż ecoř”ň®ĂeĆĘňę ¨ĺV®`Ŕžą9Äô"'¤3*ňŘ8Ű/’ĘrëÚ I?ś„W=˝á¦÷§Ťi25'ÓÄżBślŔÓ(ń,E†`‡c´*W†z=šľçK¦6ż96†˛ůmR9#"€łM{‰,ęؤśŐbŰ‘;ü†žéŇžc„†EĎËd¬Łĺ¦/Ň_9÷/XFÖműŁé6"&˘‹s¤ú<Ě©Uuň˘Đ˙yA~®í®Í LđÓ”®d{ĂFsíşGnsŔ¨;ő@ßǤý¸5/DFߔ⋰«ŔwÄ4ÔTp+Đ3 -x]Lâlî’]RK…ĎişŹEĚŢKáUŹčÂRˇ·óçŘ3wTIîŘ’„şlŮťĺ,ó¨üńÉÚ ^äĎ2,uě6DbzżR 8g[îň$—q}}`­TÄŰ|`%·Ŕĺ÷ĹČLîĎ~Tű)(,č–ŔÇÎ“Ś«Ôá`Ř'Ť ‘ŔťyŃrz™rlĆŕ— 8˘BÎCńqŚęJ»TŽŮö"ÂzÁ‡N¸x˝Ż©E¦Łâ|ö§Čz‹ĂÚh „ĄŽăňÂ!“äaO”°ůfž€‘"Íl٬‡úűŁżě™ů*»ŠšIhWě…8j¤%ŘŇĂDZ$Ş(Ćü&QĂŰ€'˝ťx9ÇxIâh¦ŢK˙Ëz‹sË.×$'ţ3_o†‹˘–Ôlş>%n9Úůän¬kŃ’T©Ëçó6Đ™ö:I‘_3%Aß}Ćmöm^„7ËX -ŤyBDÄWÎó Y ׌dłň0PńKjoEGßĺ4I3×Ĺw Eň˛óZĄ™#ÓĺĆä‚~f®4MĺkřŰ­{ÚQ^ś˙ȉ**:čűĄ·îďOŕ1ŠŰMHý~E;XBMĺáŞ=s-ľV/6J6K&ĘŹ]to?FĚEpQ¨‡ß ,FCßĹ•Ň˙ -á\ť¦ĺfvŔ(yüŕ}Og J#ýP˘ńyéţăëTź˙'ąžpB_i¦–ŇÓŤ3{éŢňą’µ|ŽÇ¬´¬tô:Ůé­¨G—üś—Ć~¨Häże¨—JÖŢŮĂ](„´R.g]Cż;k‘[”6KNűËF2Ă'ëňzŤÎŤ‹él-ŔđŞW•ě$ŕÄfŁ řć˛đćlZ K÷ç %ďOʼn˘J‘ —¤„±#ŰăxąV~̬ĚÇęxb޸e“óăä§ tpÝĽ,‰¶C%[…ćśů,Ę „ň˘ŮMdö çĂ— ¸¤źŚč»(ͧw©}š3¨H†y>¶GM„4áÄx ><١<óë„č×<Ĺ:Ţ;ą)9(­>ŘCŽ2Â9ÓR"«jAđ`dčő!j{‰úe*Ą&_4v°;\"ŞŐľoä2oÓđJ ů%µ0IŠ„I>kçl8ńiXăšóî/ă_~Äšě¶®Xƨň8ŽÄłŽÜZ“őb¶!ňÂŁGç¶8´űr±]¤.‘ŘßĘş §GÁ4®…ŞgQKs+M&±Ł Ä™T„Ă`e—˝‰/…CJJ—¨mCYů7Ď ďą­ŤŤ­X†gµŞţă1Žl1ď:n´î÷ś]9ÜWŮ~uy­M—‡qŁź~o Ą"Hx™h5<3°}=‚‘O˙!X<&ľ"IŘíŞůu„•|¤gąlô LHŠąçîĘ鬶í/ČRđ‡ťŽč1!ôę´`˙?ž©Ő®kťÂďEÄs#5ó™.Oȉ‚ć3vk›wó|_÷'fFŞN–dô2™źWiQěąs ôKÝŢ)k<ÂKő„Á'µŞß-i4 )@nAńy]Z5‹1T.Ţ2ŚnIŤŃš5ŇX´źU)̤p¦ľš)–vP·mt6˛ţ"87ęSî¬?’Š-ĄGĹŽ?…ötě°ŕđ–<Łů\j2-!PŃ:‚ćHQ1X ńdâqCÚv-|.™¤Žű¤†mYÝ…-SÓĄäú± S%ҸŠ/M!ˇĂ-.«Ňxĺ·ĂŹë9ĐŻ~Ůdˇ–•Ťüh -bÚeL–骕#|Š­Z·"•ő$Ť»é1‰gÜh~ű^ע)hŐń-Ýű{včql8•Yüŕô1é“z‰?îcJĐ/PÓiť˙©|IâAÔth´ ¨¨Ř\’A—jmŘ€łg+ţzÚ?”Ć-7N.We“[i>;<ĺ]OŘ6\c„ë¨Ń«ź¶ĎHI©ŽzÁŘ Ať˘€FÜfŠ /´čSĺČ o.Gţ·˝ňG­Ü÷7ýfŕĂ&ĺIĚlŇ*eÇşŁ v>  ˙z%Eňˇ˘ÂÖ°˝Ź}Š­¨uhË;Đ­EłG…máĄÉđ˙<é\x¸-D5î…#léF -dDľ#]Đ˝ßÎk,Ző[¸Í3´Ęqë ­A—ćŢĐČR}°ÝĎĐLş±źúnlŽ™pá -,ßŔTŮlż,źdXŐéî•öŐh qaŞĘ´Ů”$Aq[eHNu1nŘý˘Š‰ß„ʆ÷ř,ńDĂ-ć/Mެ!”ś=Ý ¸OyAj÷@€V¤ń`UҲË™¸·9{Ę\ ;ČŃ ÖřaáaľV ^łýŁńf™SęsrČdĺ'ßťq)Ä÷8 ć3ňf[Wôđ:>iÎDD¸Đ'.{óŻÜ˛}±†ý<’ÝKć:ą9â°HIĚE—]Ĺ=˘in×-a‰Čcĺ´Öę"jG!=Ń5ţDÓµŃGO‡g+šĆÂ)}Űo!A€ş,pĺ˝+ŻÄ!ăě -ë@¨čG©ÇŞKŞý9x$®ĹÄąŮÇŹ 2ĎJRő>ďő­M0Ž×tĽF˘kÇť¸Űři:Fčß„­-k­“ZO"»ą}‚1¦3]_r -?.9ŐŰ`źł®44JDBł'îc00Y¸ 'EG̦ŮőÉ„ŔFÁ&Ły‚ŹŹŞĹ&n[Q3ľ˘m˝§^EîŠGcM€.©­J~ńć·ÉrŠŻ -+¨ď&-ßĂP>rI§ #mĘľuîo”şN†čqjřBi<Ż2…źÓ}íNˇH»HúVĹ‹ -[źżŔíü&ť‚$ľooŘÖ.¶UÖ‰÷ܨ˝ěďďä„ŘCq tC]B6Źśk7łäk˙cLCkÁ!«´‚ąěĚ/ä™‡Śżą'2î…XČeďśíä é‡@Brď•Ü–ô1|ş%‚ČA1‡ ěä‹Słţí*Pe/ čIX7´źLN‹\çśMűń°‡ú“Ă#ś*Z©n4‹v®•Á<]a×<]KĄ(žĚťhů4«ĚŞrcA¸ ‡Üŕü±;^pĘZ±/˘JďMWŃ˙ÖE+cąî±ł0 Ň°—ņçi,ŹfŢ”Qš«µtm·)yĚ’€Í—-— ZM÷,}¶Ób–]Uµ÷>ÉŢ{IuĎ$c\Ę8Kŕ4ŞľŮČ«tÜÓąP/.Ű~č’{E1xSźx-?ZŘIܧ§†©EÓryµôčU›ÉvS/c5]ŕôśľ¸hˇÄ !żŽM˘éîŃäágµŹ/űŇu(‹LŽŇ°0úbQ2HFí´ä -úzćĄÁB€Ž + -Â*oĹiw!KZ´Ln‹IDÔn‚j”ÎşëIm€,}Ý‘1a0ŞFXă1JŃ~Zcő­d7°´›ą0ÇgV“ŚţAŞˇi`9ň•3+zÝbŕ͌¤™ą‰Ć»éiý„ŘÍc -˙Ç—0ŇĽyĘŞ{ŹÇĺw˛Ŕ!A9ťÓŐ=Ą»«S´Wî˘Öw“)ýHń‰k¦ł ŘűP*áÄ/…ŞuŇ@ł(k“ĚN -˘ĹníJBcýÓMŞ[ĺp}Đ[gßó™‚wYăŘ©». ÷V·ŹęŢ6+Ó2Ń1ǓNJ/ ËÓ=¬ŽĘ0gT«€ĹŘMBa©Oą›hÎsĐÓîżůU®słőv/»0:vŇß.‹8…;®d˘¶·ŃĄóŻňí˛ô˙ň=źVĆJ·Pq”$aÇĽ5ˇ®ť`šϡd˝ŚŰšż@sq„‚‚ źL&î˙Sçă0Üłóc“ô˙8µ›6…3¤gN;VĂ>5&Ŕů7Pq—P5~«‡zZ˛&;ÂĄ[/m^‰üÄÖ€%é8 Üů/„Ë8Ţ”† ‹E -J*‹ń_}BąřG€Ď’=«÷WUÖć$=X:3·ŕ·ÂÉÁýčŞâŽ8“UŞ…–č]™ŃćĂDĺVh˘ŞĄŞ'`y5ŮUş‹ůR-ş6‰rX~DzâKř¦(^Ą‹ayšÂ"Ŕ…ŘčF,ş;†[[‡-~xCÖɤ PţĹXĽ"qłiłcłż†Eůvřií«'â’]ę52\E9Χ°jŕOÔĺX/ş8č–Ł¸Śž» ¤|ĽMg^RpĽ8Ŕn=ňđM—Ş—aă܇?˝xT.IˇÓpÜäŠŔ8ÜEś×M€\k˛8Üb§Z:ü^Ú˛źÎ<ýéč„3n®¬6ăÍôÚ×™Ľ›°lţ7íV ŻwµrpMŕ­7Ü&â0ťÝË’…·Ńg^ ýÖµjőťÎ?ŠßŔÍÎ{'aĂě`üŘą»‚%×JÖ)ČľµYŞ×ÉËä]–m§Ş3f?¶'đM›9Ĺ›fÂ|ŃaqZÉŹ|nŮ4(-ĎŚĂ5=uEěË\čmjŕű6{ÎŚŔ>~ç/ŚPń®ŻŹĐÇ. jń‚bŠ -VAĚZEV1ćn;Â%šIŤăeđÁşSsd‹ŰńoH‚Š)€ńô#Ó˛ř%ńtTÜ:°xţ ę,hOP*x,ĘśĚ䀏Ś&'źNýk}jłČßí&óCľbŚ:„6l{‡Kí:SéËĄÔ°j”ŁŠ1›Cm¨ýóäZ±¶PÄUt!+¬đâ_é Q_:¦ŁC(¬ź'Zl¦(súAúo÷% +>˘Ý!í2ýQ†±ąę˝[G~Żŕ•7'±ĺďGHWr?S¶v©â¦§< …<ø‚d©Ż> -ds\ʧŞŔąź~ď–ţĆn ”pD2ős4hşŔঠ=EËçÔń!=Ů“ä;}{аäfŘH9űČFâa—aYÖ¦ÄÓ˘ŃĐ-|vZ„ë6 ÎŻĽY4‘€¨oĄh\ËpďjŐ -ú»Ăc#ĽI(—×~üSpř¨pÔř˘tČĂ­ŘŢq®–ŘH dQË1KDćb‡»YĆpŽě©gŮE -uśţčv ůÉ™]™ľŐ8°ś{C}ńÚŮćź.éŞĘ_M•‹© ý"˘y.®Ú…‹hÉÓwNoô9©eđły§źi±Ň8uŐż‘”ő,y.ăĘ›‰€šy„j¦(†ONčÚ ´żčÜ.tĹč-oĆLŰü‘Z9Ö›>(ZŐ6sÍPf—Kö2‚ßŮë¬|®sZéęKčŚ [ĺ=öýŘ ÜňÓ`Ť„Y}Š]ÔĂő‡‡Ż :’R ĺ1%Bĺ졆Ńsř™ĘQkÍ+Bóř ®9»ČJüťwĺéWvQÇȸF$F<)î:ëGˇ‚ËN}n&Ij ŞotžřΛ8ŠvMŻí]ŤżĄśnŕĆ)¨® Šł×-­Ň61EčgŹqčË{d‚‡…:«’niôěŻCV“·0’ş•!^tËQŤ}›á©)ßs_Ť/°ô“ďÓé—BĚd]ŻAv&ŰÄúfŁŁ)łŠ8ßzŰ"ťÁÝ' -éç łŃf§^"{„ĚÔÇĂĄT~,o‘ţÉ^b?ü-‰ŹŰڤś(cĺŁ_šďłíytr2™¸*«7áť yÝV] /j®^ŘYăk]-§s““( °T ]˙‘-?r -u1ułSdLŞsÝw'­0s¶áOjçťö‚K}=źť5Ř s[~¤–9nŞĆ}ػ˹Ĺ`d{3żß)·ĆYç\@ôLsłyĹ®ÓŕÉ<ĘMďAkűw‹ââ¦×ŹWŰë˙é0j1‰éĂč7Ů˝JüĚşpS˘÷Ó!ÜŻ5ÄąAz5Ťă˙/`&ÁN•bz6ĽźHW·bŘ;{§uşklo©¶KU5‹ŢePĎéđW˘ďinŐy>nđ/´ĆĂ›ëQżZÝ;]HN>÷@‹‚R5g­#ĘŮóň„Ýr[ҩРŕˇôđôOţţ&·÷ű‹±^ňmĘx…d¸tŇŃy#!ßHDĎpąuŻś´ĂĚ‘@xH_đďďlTöo†Łę„ťéżń"öF٬Sj ´§Őëă’ä,//™tĆ\‚ť93ľżdô¦‰®cî“É1űVfʵł wî›®D ô†.Ó˝Hě:7ó;Ĺ”¶?ZĎ^Ws%-ťćź¦*łoľrOrŮŹ#ăVĄě§¸´J¦gq‚ł§šOGQNfkâF>źŽţ8É‚MÍL€AÜ]ú (©ÂÚc #rFyľzCM¶yĐůň©XŐśŘ'ŔÇ´MŢަĄić–=CytŇMëI.¤-‡dÖKľl’V¬‚”J‚ŘmĂä·,†ř§Ź~đ[ţđ•cxZ@Im]¸e“hYŽvý”Éś‘ičE ÄP~Î…BŚoÔş¬áşŮ¬¤©C–ă¤ŕ˘ţ^%›Dű$Ę+(DyňËŹDñ#¨Ošě‚ó‹Ţˇ^L—#3_í}ÇÓŹÄ Ť ÂDă‚ĎOÂK2RVÜ’‹Qđß}„¬Ď#ĐÄôčČĹxĽ1+#xŃBz5#íśün…”Ylđsťg -yö3Ş›ď°ě4÷&ŰŢ'I“Ô`cřˇÝťÔ¨WžűÖűQä6'ÉęŠZńD˝ł—&(¶2‰RĚ6>|u6ś/U6‚H7kt4^Źc¨ö'i{ö!*é!xM\S°řUżA‰­Ň~cG<ä«cRć ě‡ÁPc<\ÄFI.T~W»ž˛.öđ#qçüĂÂđ3¤´QhP9´˙ĺMôCqs>ŚëX<ŽläÁůiÉ}Ä8ňU[xŢQ@„°ś©w/ś|{=–ęh Čzß+\Ŕ _oí­*ĆY%ŞÜk„pj­ĚÉÉO˛Ă1¬YäBě{7@fĚ_ńŇŔÎę) †člŞ1}Žh”Ü­Űęę† iý&“# -[ĹW!Ën˛s]H‚©]¦®ĄAlt.€Ś›?U5ë ű…[O¬~d$Wä qüz+D0 °Ąő٤q<‡Şe9ć í~‚Í’e{âÝĘŇv"Ű3Đö·ç_nPŰR´VO˙§s;R ÉŃ‘ąřB˛lŔ¬x–šµ.ľ[ůČřÄćđ#7†słm7ŹĚ:˙]íĺţ5UÝÁÇÔfr+Tâ›óĄ‡˛ęQď÷]Să}d/S’=x̶´zťyd9V®ąWŮxśĂ öńR_ Őî÷5;'r‘YzĐü•Ľr‡˝|&SăĆĐ—†W-"p 7Ő{~Uý+'ŢúŹ&q4^T/:cčŞxMç¶š6ČsZó©)ČybůÁbĹü~Şö'ßěQÚOm;ô‰jü3Ű`żÝCě:çż:°Ł¸H‹ -pćұwTJč¦Ůá°†j5/Ś]ŔSŚb˙Fň0Jűe®U a‚˘„WďgĶdzËui?eßKľîłWc -Î.ę$ęs:N"`Vh”÷ô«ÂFÔ˛5ŠTPŮlqÚÔČ{Ú¸ěXú’zş¸ë·űÓ')l”)HAk_˘€l˛áźş+¨·Ş= @]GK˙‰oĹß黼3Ţüň1#OĂ–Oűác0ŐgdůÇ\Ša2ďÉnd7Ňş¶Řw ÄHa–(˝Hl°Ôä+ß#Ş6ĆĆ‚«Ż ť;C†bł ‘M•ÖQËIˆM[jâ>[ě ˘[­ŃäÚ§ćŞÝů3´îăľ«ŽĎ@w­"ŃU#]ž€őHNs±†áű8~đi˘|5Nĺ…áCŰĽžpöM±O”4ŇÝ ÷ŞĎH9&…a˙ż1Źż]%ˇđ829<ÔKP~0ţ”ŔR9:ŕťł{Şâ8˙k-żîâůeŠP¨¤ö)îܲXĘz€ŻäÚĽ.ă…#Ęư®hÇŕ»LčűoçŕDđ÷ôç„ß´uŽ„c/UtëA­JŞq#€–üűy]Ö»ó†:¶µőť›;Qǵ}A -Ő­YëňDÖ”®ăĐ]żhz,Á*„e.č1a‡őĄ4çńU>'˛N˝ÂD8’ßÝH$˛§BľJűouç$™‚ńĂ4ťˇ ŕ×Џ%˛§,$ÜQaFPę¤uřŮ®aě#0;$âőđéÜŽŰT™*8ĂŁöp­űźZ­2‹űťß+Hś%–ź‹DćÜŽU–šD)x+Wĺugze;IAsťĎ&ËiÂ=EöP=Ĺňléx5 `¸MK!úµ@·ůŔ@îRIµY|NşÖTČ8“‘Jf˛ĺóHÄ 4|nóý@cx‡‘K>f¤ďYŰ«Y -ť±˝”ÝŔŧ`‚[UŢ\šHeH)˙©>T©7q†?ßuŘ"?WW˘*ćY« ¬Ş°.ŹĽŢ9aW­0´Ú”őăĐź5»š˘@A‡i2g׎R¬ßŔÂK0Îc¬Ű}3¨jŁ0{0}qG»P¶č’ąÚ†<=Át Ç÷#%(HÚ‰ČQ“Ç_yŕR ˙Ôý<âďÎČ„FNwńň> &sD÷đěˇŇ7¬ tegŘu‹dJĆĹe!ľĄRS´ŔŤĺŻőBpťEÍńN-ŘăL1w#ţ‡î6ZľTPOŤçáâťo9¬řs•㫪9§Ôĺ]KĚă@xx2% --Żm -‡Ňt.ť»X› J9ŠXˇq”`Ž©ęţĚ;ľč…âD óşékŦTHş0¤aČ7¶r ׳ MĄşEDýł‡)ĺwb3ŞM”pęl‘’h0´”5î6ţq OVîč ž•Ay‚˛[± Dč—żK÷ělĐÔž˝‚ůç'şŰÚŽ‹ö/ŚŻNrúGm|Öî„0ÝŠ# iqpśĂOj -AŰ1~ˇĄjw§fë°żb®ľÂÓrř<ě ÄMZ*A­gę^OŇbX«X;7×°–Šě"’BµłPČD€;,Ľž&\rŕt&çúÔ˛‚Î’št ç -jo xç%”‡˘8Ú[{ĺv2H'{v([âaaI8Ü»&NlęŕŞčÓ?IüҤó©Ť?4BÉ\eÉ|Ź ÔĚe˘5)×ýä|Ë^ë9Âí]lôJÚl;f8Gň¸ Sçŕ®ŐIëií#ĘśPřŐ‚ €t;ňđg?ŤôήKř úľĘ1äś›ŐĐĚq7Űná!ÉqjžŢ~(™_ŘnúÄ_Ř­Oň°ÜďĎ®˛ęźâĹssKÖ•iÄîÔíŹĆYańš§uL -đ•5ä°ˇ˘´˙jÇö4^Ę@úűM€ň°µ Otf.îłKľ¬_: -BAóôK˛“45Ř,‡˛ 3@ěRYň] 畯®0&‡z:—whßą0Vx—EŁÍď«ŃÔŕfŚęő­ŢĹćÄÓŹ/’ŕZjG ˘Î%=Ç&BýĂ>ÇxľýŠ+M…É^ćÁą&kܧ'7} &iéy>ŁbÇĺ(iĺoS+$}ä•ä ˝ sHuľTS@űľĂťĽX}¸®ć,: -p?gbʦőě3¦^F{zg©!ţn Áˇ‰/ˇĎT®řG4bB‹ ·t±Ü·á`'8ťŘţE¦’dků ”cß!WNĺAëţ –äR*'łđ¸ŐGégĐői2ÎÄg*Y˛Ç1š$â)ˇÄ$‚b|7PÄ%ŽV<ťőMôJÚ/Í[ąĄĎ¬f7Q Ř’qAFöL3»îI—ůĆţň<Ť8aŞ[ă}ć·ÝŞí—yőUUŇłĽxô«%¦bbλŚűoźrćcŘ( (<şYńđ¦őmm¦üŐc¶~ö#Ř費~QČ1ĄĂcťýůż›:¦ęý(ÎXpsŔWĐV˙˘fM<űýŁĐOąX$ĺhĚWg˛3;Ď"ŚPÖ¦M?€sĆ@'0ćŘňCT -Î_ŕ§´‘±ÎvěÇy&ÝŔ2ČÚ)IDAEE•wś}k¶ń¨ząV(_üöu"FGĆ„ě7ŻóFeR‰,E} Ĺř aW‹g2kvч!§67ç:Šú´č„ňÂţ/TX‹1.k ÷'m“8ŇŔĎ2d¶!ź´»óďU±;‚®3­WŔăßxíÖ'Łkď$FZ”â7 -›rěĺćtCµ]%<·xb‹…ŐŽI….Č~˛¦Ű$Ň/6‹ş=jŞ\ÁVcâ¨b 3ŢŰ2ÜÚv¦ˇŽËÍq/^|ć("íKYb'0}ům"7đ /ď˘Se0Ă;ÖIjÔ"„¦ťx p“ÜĐU(•Űěü÷%âĆf¦~ţŢW§fDŠ•Ĺ˛đŢ•µ«y Ł«‡´mK°bM_D©ßaXÖŔ´/…>4ć›˙: f˛.Ü=/\Äq1+ň>ÖůĘyĘzęµĽĚ -–S Ô€ÜĂHĺ‘ěżčĐqÜXĂË+ĂĎšŢ)rűß6Íäş™s _1odbцsľEě˝ňs®8.ţĺ6\šŔ ą$'Y™j'E^ăHcĎ^ -íŮMľ`'&Sţ˘:‘@RŤţŢŻäŐ|Ő‹2ĆŮ6@¶]3yďEë=ÚµSRďç{±ˇˇŠĚö¦ůóŐç=!«h5ő{}ßPÎ;ôsHĽÄKź°bĆrÎú%wÉ&Ł qôM¸ Y3”‘žçod`ŰSMG©őč]F«˝7Ě€qţ MŮ­.WcYŢ7śk¦ŠČ`¬ąâfŇő¦×0Äńö’%÷ţ„ŹŠ®,)>Öú0TéĽ=‰dnhG»_‚{KZ¶ ´šăşraYÎ&Ő扝ö - ţ† őB?ËĆ÷§éŕ ußš'Şégzt¸Ľe› # ł…üsv­#|uϡBŢ„Bťo,Ž™ÖáÎľŘ8pá—QÜŇ˝ż™ŃtĽ- ®cČ·«d4rŘ4P{5»łeKCužĺ8Fń„Uďöaž!d*łĆ—1fMIbđ’¦çs%·sŃĆËt¤™oJ2BkeQ;ť1Znď%“q2ânŤ[·5íĘQ1Éň§ŰÇy¬rgš ŮGľ:B&%Ëď››h[ϡ&ÜCč@úR®ťŞ $ťôßbŐnLŐ!4h.°čdŰUHŰ/ż)ŚŰgÇÍŠŇ4ŕŔhĂ §%@X†/çţš°Ą˘îµýXEś)) 2lćň>‡hEéţT3{«’cßBĽĐ3ëVŢârôÖ–B4aĘô5ăËG]Ű~s(ú0ÇÍÓ‰˘žßÚ”Ü|ŽqŔÖĽq‘JAâvŘf0âTý›™WPVÍ4›»ęÜÎ0ňŻ&Q·aĆ­úFžČ-ö÷ ]LFŐ$§UmP˘Ěüîý#÷i.Ü˙S±A@¸›:+ÚËuäź´bi ęvDŚř)a‡”‡[]"=˛LxŚfBwíłö :}xL•Ń‚79ÂIEMWŔËŕnsí[Üńśě7ĺK[ĽŮnˇ‚tM°żďŻ ›Vö.-}Ţ®ʆ¸†řľP"> sĹĆ|Á€dV,…@D”^ŽNoÓ¶ŐŔW+ˇýby§Ś–KĄ~…đUʆ¤ =¤Ü1˛ĆBň±¶;ćzů'Ĺ€˝íŻĎĽS]•ʞ8Ëúu›Ď·Z…\r=/‡_áfëL—ţá寿-wAtj[oß/tbî|cTdŔ\ťŕAdŐzż¬ţo\”ţ‹&ď0 3>€ fď ä3…ľëĂa=zís@g_'Ţ{ކ‘S1Ż(jŰęĎ"áŃOÚČ”XĚŕMĄUJÉ0ńX©·śôuęmŹĎ–t/(p?ęâ‚vTJU<*:˙Ç>ˇ űŻy?łä‡W‡?íÔ˝F¬ĚQ›Yź¦čl"ŹaŘ*ÇŕŘ–9€˙łŠ )$oD­Í#Z°4z4Ź=ô…îë›[’ žÓpHôŚâ¨Ďˇä‹ęöV䥫 €ý;7A/8#+'ŠWŐoŞHżKˇöäťFÂä¬*ĹÖ_ÇÜC9ąĎp”O›c UrŤj¶úŠ©ľśoĽîúŘZóŠá -X Ă5Ů„ ,f‡Ňş/©RŇZ–Ű T]Ŕ|ü ~=t(Çäűžń˛ÓřĚ×bĺ~(u›UíG¶ŁŇ b\–+Ů@ ‡,úoši.ÍT¤í^Űë=éU‡“ ŚĐQŤ ay5~ű…Ćz‰JŃc·~€”›™¸ Shß”Lu<Óúą·çąű¬‘ÓCGć$5Ź0´ŻÔ·¤ă˙¬Ť”v‰ćÚąp©1űýb3ńN¦’† «¸M–>ŽŁuŰŚ”Şu=Ƥ«Ąříyłí8BJ.ŘŢ˙ODĄ<€ł+Ď<+y:ţ%ľ%‘4_ŁťŻłŘ¶…¤g˝ŮX XĚŹq1mŤß9ިňĚHrĐÓjGoţN°ř…ŰLË:ÜĎäă~>îŢőWŽšv®é#‚bĽž7˝ŞHgŮŐs“E‡˙d#vLuýN›8čöŞ·&5Pą˝§?ĆyŰ“y7®Vü§zwÁ~FŚ ŁÉĚUŽ(S‘+h -ކńěH]ő%Ťś‚ô<4ѫ϶WđŢQÁŻK~vΊ¤s3ÜčöyDZ=ŐZźCp“ß±bŢßź‘•t˙’OP%zĹ#QZ˛)řî]¶íŽđÝT§ˇ´Ź0@LŇK¨nZÉtž|éĂF¬/§5?)q׍0ꏴóÓ~Ö>Gw^>0?–řýp`«˘wˇ¸D<&ź]wůľÚÔË>,”Çý'*DKň‡7˘Ť€ŤěrŔi'd¦z6<Ç,¸sçůŘ”˙©*4Ž˙s˛Ö‰ű!fK°WyËc˝áńycËUf­Ř’9…ŘÓ[…Ą‰&9ĆćÁ0Ńä-ć†V4™h -•,gŢ żÂٲQ_2¤Ę ˙KxÔOYEďŐ§s;Dő4ĐAwx~Úł‹Ľîů”B1{łđ~"2Řâ®c:wSč[:”<"Pť“ůôY×č˙5˝yHB Ës˝A÷Zrh^ĽÍÎâČÂ-÷ĺđ'¤Ńµň%á~ý FÝŮ6Ű[Í‚ΧzeýΨZKT7Ż@ů=)5$cJśČbµ>4řÇf°|ńÉgaţ0)ç›ŰőéŠűcÓ­A-Ëuˇ,_°Ý( D[?rUkđ‰»Ňor`\[ńÚ,ČsjÁźuőśŹ®$źçÜśěR%ó/{|ë[í^01ńlRtŚOV ň+ »ަśĹŁ’NłjZAŢŁ*TŘůˇŮ8ÁŞnVŁ 2.ńÄ)v|†yNI:őŠł†,|,r;+OtŽĺB“5×#nćň‘Ă+8 ŕ )Ć^ˇÖß˝R x¬ęďÎ*K<–¸® Jđ(ű˝¨řA|™ÓâÇĚzŇ›k†6Ź˘Ĺ±(ér†÷mśŽIn-#°˙!ä…3suç˙ ˘­Ąű×túň9»ő Ů ‹{ţ\Eę·kdt ľ6÷ z&ů˘déłôk©Kţ-Ő¸ŘîČ8Â~úżp_ʰCě -ĺB“'iľG(&V "O]IrME„|´}´Š9Lw\—ď Ů -ŔµóâpJpř`“[€V„knNPl˛‰° ˘†Č3J»l;¤Xb¸- 'üÂééiÎSŇALľŢĂÇú˝_eńnT‰9€Ç˘— -ŕö!#JZh›U‚Â0ŽMiݵłŚ”Űé!®ŕdĆĄŔHŮşód”ŕ–’IlĹMj6z˘ÍS|ŻZą‡'c´›… ş‹—.2p^^ĺVüŽôK% «¬Ú¦”‹‰FąoŘĆJ49PÖúgő:˝n†Â(‹ŽSĹží#ăAý>ë§÷G„ÝMiϰ#DőKŁ…/݆.Đd.I§Á†o0$óşćJ/ßť'n­‰:şמwîyÁ‰×î;˛H†“r‡đî©8I(ʧn ­°íąž>Qďöë÷3•ŰÇĐFWŚ$â÷|µŹ*UI|qżýiß!ýírą¸ż4Ŕ4ĘoD4ÚŐ_üÉ"ăˇţ’€WhDĐ=˝2D·N.T).[ÓÖks.ÝłŘOUUÍÉ@ŇňŤŔ0§ď.Vů˙Ü˝ËČW{ŤI¨ip÷ßüśţË?eAsüŃi™LţĽÉd¸ ĄĆ˙ŃË_ťćĆăľÍ…Č*wę2żä49Őüi* ~¶Ô/®l ° ›•z)Ć›˛ő`śá¸]ß­Ą,c¬ť˘÷ł)ŕśß`ś›Â´Ď~ĂëÖź˛>,ŁĚ¬ÎŕwKÎmqÔ±‘´ýeAřďEI¬ŞÎ”µž .˙b«óŇ1ĘÉŞŽ¬¤ŃńŢ.oßűpd/x?yţMa*NPҢ…Wő•źn¸•9Čşm×ăeŹ˝~Ú­/«Ź)é•ŰĽ.&˛Oą»Ă0@˝UçcU ß=ŚČ.THD‡C’ŃÎn˝žDJşÎ˙EVrW#;Ƒ飄˙­›°¦µiä1 nťg‘ŕţ%Zëĺ™yŃG2éůZePŔÎkjm‹¤&·ćšÄÚɸ®iÍńĄ-Ţń5°%fáriŞÓ…+|@*Öá‡ŠÖ Z€ f¤ęĹŞ„˙c -ÔÔ§E©á”Ł¤Ř€t ·(‚đM  -JóC%¶\p¬ÉfćŃe›ç4ś¬QsçĐH†ÂáýénóĽ•1ą‚38ó¬ľo¶˙öŘóQQ±vlśžq˙ĆHőK'9Ż8(jţ­°¸Š¦˘ź+¸(ćÍ«ZşČ \°HŇâÜ8ňdF qŃpŹÓ%đ§%şµ­ý•ł9Id·«ÝDtű¬4Ď&ŻltĚű%Ź”  ¬­‹8óë,ĘF@‡#Ľ”ŐýPô}ł đźůßőˇľQ­ć釶,IÁ8UP,¶Ł„ăg>·Ů¸8Yxećj‹mÔńÚÔ8·´ëÉŔöI“`:ňJ?wF[znÝę/WF x1­–v>eđö.dđđDA70‘ňkŠÓŠŞĹqIľůňŚ%Ąlá2ü Â|)ěŘY}pä÷jůĄ€Łj;ĆĎDú<–vvk@EŢú~Ň5v&Ç‹ĺFN…ÝĺšËbą±ý®ÇÂŐgĎv´ű=[*¬iߎ;Ó030+iü&W  —Žl{? -ąÍ¨•ŻőL]˛óúäţ?w=& …źRÁ#˘>i9ČŤr*WČöK>ć/0¶`¦]EËRźĺ¶ż/Qę%>০0  Y´XĐĄ’C ŐY?xëkWz|ŤľqŽÂťc÷Ť‰nóÁ ?ô|;ŐGZwo?źťńSَĄ2ao Ş“íéÝĺŇCĂű&đ¶ňś¬ôŃĄ:NPbuý-¶€Ż± (*ČeÍŘAgëZßľO‹Í6×đ-‰pÖň´onšů ľ(¦÷ çzŔ¬e·|†”Ăł(Eo_hÉR/˛±bj+¦Ť]¬ĆZ:6<( úl’5`)¬ž<‡).ü‘ -Íś¨Ę1{Âüă°.‰Ůx[no+5“–ĺĘnĐś˝tŘ ťˇÔŇDqšzęşÓţ÷…Ć·€ô÷žuiŚGs«7ĘÍśNĆš„Őőý‹pK‹Ŕ‡4k‰Ľ "`śŚŞ¦çÂLxŠE NśRÄäą*ń“ńfTwT«?1YGI®OŠńTVC8u+=mŢeäd÷#>ÄBĂú¸ˇ —EO2ÔKĚl=o/Q¦©ĘŮÝ}¨ăî»kż.đÚüYťŹiŰ#ł}sřVj#Ú‹WÄ9IíĐÝoŻĎ\q 8¬Čä(ŚGzźÍ -Š–Ś(]š©đ[‘ÚH‹:d/KŠZJöŇvÉĎŐŔ0°8b—‘I!LsŮ` ŕ;¨Pľ[̉Tč÷ŽyH ‘‚ű«ž3L彤ţůD÷»F|[â¶b]úę=Ă ÝÎ.Ý2?şË$’¦_ă <,UîäňÁ$G>ˇ_Ô>f=ŕĂuý–č—R11ÝŔ@e`Ż‹˛‡ď1DĹ7neU&žv‰ňˇXŁ˝Ç;)'shŘé7›Ă'¸îë“` A ärO¥׷ĝ¸ű8?âßáß`/«ř|LŤüÄƵË&rtĐĐ˙PFöµí·\sž]ćbëňµä —ć.ÎŢ5‡†)ćů -ď€CÍŁx0oI¬|˙ęďó 0 c;ë‡L2Ż1®‡Y5%˙ĂG€tˇ˝Š+NŢeŽšęâuázÂü1ĺŠ,W v+ 3˛U•1€Żî¬ővú\Đ/ăŇqČ»ÎŔZý*#j×Ďi¤«Č®Ř0żÁřéą©peżŐľřo´Ľ¨ŤŘ:ńŐËÜĂ9㣢7_ šâçL—†*µşŰ˝ş‚·=/FÔž<6s׺<@O6\& €Á?nTlθÚđí; -!‘Ťc7ç Ź—MBŕÂęý#'ˇÇЏ>i ĹŘ*3z®•Y†2PwňžčšśŠ\zĚĆąPűŹgm7ś ÷Ş}€ëát%3!|Í «Hi…®śtóěAÜ KÍE‘řŤťăűÉRâÍJŰ]=YQđ*¤wQEí|?›EŞžČBLu˘`SL…©ě\ÇCĘ`ÎuvŃ"¤ťčޱ¦ąE1ŻµÄťÉďaůŹččKŰçmł4˙*–¤&UfäĂfŰłv,“~pJd` o”CţxńO^ä9PE[s†ˇ± -|şt¤~=+}ˇ8׊í˝VŇ”4¬vˇî\ľ+1Ń˝Ďă&ăń ‡źĹo˙†É‹±Ď~ăaö_˙*:7đŐl4aťţ¨Ľś,9F6dÚ¸mE ©[ń¬lĎěhňH1V ÎřČč5ÎÁh±íŻĘ ±:>˘A&D -ôAth|´ľ -‹gÓ-!|Ł.Nę.ŹăĄ Łř¸¶Qm0nŐŮŰľ oX, VríÚY?g¨«FFľţ¨¤f3P"ô=öřEĚóZµ -ĽA¨Cih>‰FÔzÄ*ýř ö$oO¨u·EÁ®"ăć"9&^Ú'˛Ĺ3Őr‚Žý‰L–‰J¸ä#©#$Ň" -ä’ZŚ2ňřťv“ Äh%pOýM°Čă®!h¦§šŚ,Ľăp˝íĚŽôȆ - X ×*¦í±W[Q d âé<}ľ#˛&›dsRúúś+ĂŽúÖ8ď˙{l¶¦`;ÎJüę—)`Đńą–š˝=Nf?|VĂwš˙?X]ó“OöĄ}áh@ş Ž»:ő2ńp ´Cńś¨ňâŘr+€©M¬ - +F˙Ń­Ü„*1Â!peţ,”.Ćyćůűe˝ŻZŞúăË|Pcđw ř“Ëßů¨ŚxsoLżnću¬Ě“ş ŢŔHP4´Ţ§\.î~ŘÄ@I3:ňÔŰ?Q@îłíKó5¬–C-ŠŠ˘>YY‘:jó.ŕčáŢ{ÔĂK/~ňqč„áŤýíjžçŢĐş^z—Ío¦‘–«Î˙ŰiČŞ0ÇN.Ó‡úNĐs¦łJ8.-˛%XFč˘luá>u¦ Ú°Ž÷”í?n´ĂţńiÇhvböˇ»”`ă–›ú2©d¬Şłüâ[V&˛KOj3ă­fe”Ł :‡ŃŮ1¬żÔ ¤?sQ˝úÚŰ@XĂĐ(ŕµ$Ĺm™ĚęľÔěÇżˇ¬]}5u—ľ…ż6N¸ĎdäPűxÚ§N +sĹŽ#Zwc[Ó‹&ŹśG‰9ę~;%ŔřĐbXtQ‰ß¨Šą˘ŐÁ^·ŹµŽ#´çˇ÷śS©š™Ę{ Ł´$űĆt›w"UÝşŞťęľK=W  T©nÜÓ…ˇÉlE[QéńB âŞóhú´ ăź%ş…±9bČ»ÓŘpNëq±Ě6łKc䔚˙>Lčö*q&^WĆRy§Ňiă% —…=›˘Ý:o#ŢŠJ"Ä™ĺ˙[íFîÍúŹk+«U;ŻT-:ŕL*© }Ş.Ç»6jP3\5OÚť4’üĐVµŕľişČ23ą¨g"Í0NřćS]¶°9ÍYĽ?Ŕ]îűëJť”<9´MF-ďAbŻďhtií‘ÔÝÓżÔJ˝/ÜNěƆîWŮ“ÁîçÂň«8đńĆHT[Üř .şBTőóŠÚ1—üŢn3đŃó*‹,۱/Ö“±ß‘Ő%„ŞE·8Ë<ţ5lźqwÂĘzYÇz: -}-tĆŇÄ•-MŻAh9± `ŕ^Ü'ó–)şęl…b‰‰G“ÎŤ”cµää,tŢÖ=®Űiŕ®jÓB™]€ö‰Ŕ űáq2«ŃŘpůşuřđLmŽÎýł*ĄzjmĹň0eŮä_žŚĹ%=O Q¶ý27ÉAÂő¦>1×ÔÁ‘ŁE¦~ôµë`¸~ôÉĐd˘ŁşVŐ•2.2˧‚g3/ů0đ©Ő¦%úďěÖ „şśÁ~®’[b±}[µ¬"‹±Ł‚Fx󶤼QŔ c@@CçŠnu))!¶Hóo\ý°.;óÜ…é z‰mé>ÚfĐn=c¦¤ĆʦĂň[±"¸Î…t!ťGĂ NŔŮ™×AJáA¨ZăˇëćŇ~ -\1Uľ–EÝźgmŐňŽŘ+Ą<}/Ä{om!FKŇňůOŤŮMşËk‘Ý• -áĆš;»¬Űsr‡;łHňř×<ˇ§2ČqlýĎ?¦=^nWc¬s–\ŰI_%S¦łp˝ŤąAu‰Ęzg°N^™(˛k,ľČОBŘŤÝk3ô[ŁúżLŇŻó}„ťĆ«ôŐöUCu6Đ©(‡Đbą5Ő§ÇĹëÔ3‘e+ÓEX˝°|µ…*•ÂÉľ0D„úRf\"tÎń˝ôóˇG?Ş1'»l? öąq6"Žä˧rTZ].źŤj’č–…“ŚÝKʨĹ!RÇ]°ŁFUÄͱÖ\ĐŇżlť"®WˇöL•îťă™‚łő[‘7Í8{p®”‡ G/[Ę?OUď}ú0;âśĹ6–o˛›÷Ű€µzMSM}C.?ő'˘Hx™”đA¬ÔáÂc'0zŞőűľ*ŘĄ!Ôű=Ź üŞ]Î0ą»ßióµ1¶nź'ä[CĆ/.ZVžŮ(ÓcńX@[břI’Ż·Ü(WŹpÂŰ}kÇ6T1áŔ.Ö0“q!UĆuEđő9€ĎTog>ÔÎ<ă…ô3Ý• Ĺ_2z«ůťŰEńHiˇcvĎę“‹aą+ Od÷ 'P8-¤ŰŁH·zúUĘ·»»îmĂiË™—,ô“D©#·Ř×čî< {hi>oÚ¤ýN! 3&ő_*źZ®z!‘<Ž"ëă÷LđŽ BJ6™ŔÖ§„ű«óAőűŠ‚ŹŕWÝŘÇp.(pkíg\căçőqä‰ôöwDúČA JTÚMĽű|©…,"§{»îĚe2đ·¬ÖźŽ]ëmŇV”¶ĆĆęŮ*›Ü_rN9ś@ş¦Zú÷ŁśŠżh -qť8kĹd”řBlVGTI˙h=;@Ž2 ŔpyĹ7Y‡.ŞŃÔŻnÎi†üĹáiS;źO»Ë+ËÜÉĎćĐóż6ľŕ K[5€L±U…sá1¶ ä8ľ šńEVÖ2ó– j»őűÖ…:ôt[0&­ń{.Ö|{Y7 =ä{.ż®úV§Íy;VîsÇţ.ľ”:˘§ĹĆÍőW'í¤ĄÂťJŹ÷˘źěQÖKőŔ\Š7%Ů2u;óě~Ő˛N -3Z= _–jÉwńˇÓHéKÎ ŞŁ˛~N…VsÎĚ»bčXöŐQ%4(ÚÓáµOOđ%"_¬ÂßŰÁÉ™QO˛¬—˝z‚aÝŠlf4¨š™]gb¬:e]–±Ţ™§ŕ€Aň~{Ý×ÔŁ8‚{ë’W¬˛ěc*lMcÇ•Ůr^†~2»#UJď´&ËŠµ"tţbťbU™Č´®#vb\ÝŤ3‰>1Ą˙+"mk?^j\é•+˝îdŻ/Ř]J7¨ĺcŁÖ-\eđŁd‘Ą;Ş >\O©yżü:BJăĹśdôţÓňšÁżâŻ,l·b8|w_ž—=Šy(R’ś”ęEۧ¨fW(kAFl0žOo_Oŕ]ϰŠ/Ö~ÁXÁI¤¤Vťˇbę»E1Đl 7„űh|6D édUz˛fâ=$Z‹AŚ´ˇ5’]#A! :$GFX”?<‚9…ĘīдTĽ@¸®ś“„&wGm‰!o±‘Fă^#×vJ¤P|ČUč™ŕDó’„XžżşŹ+Řý`{üíˇoĽR´Y%_ű_‰9»ĆNNXf_‰¤ĽĹlete@€áţt*®0?ϦKżM95V>>źłŁ>ł‚Śú#2­xü‹ä\¸ˇäíÉGÄycdeý/Sód“–yڬŤbiŕju Ś1|4¬éY»2·ĹNÂ5wPTlń{D‡ś·‡s§ żń;ÝĘŽŽX Ó˛q‚ĄöB$6ĄGq›AĂŹŇ‘íČoRĎk:ÓrŮ»$µAOďĚ9?]I ŘĘţŕč&]ç}sˇ®ĆÝłúŞŔÚĆoŠ Ó§Éďl‚•ĆřŮŽżőŕĂś®ĚÎéĆÉŞGÇ -*ěúť7äęO1_@¦ÉŠţâŐXącÓŕ°ČaeÉ’:¤ž:ż‰ľBô´ôd©!b1ŚrG6R®Ňî(`ýgčÁĆ[ä$>îvN?íŮĂÝLGx7¤óňÇ)F XKk¨ę9Áˇęd”Ź~9\S,XŽW¨©Ń¸G 1Vk#†uÉ©éťVˇęż<ňŔJMFÉßŘôˇsxđűW˛¤…ţÁ˙Ť›ŁyE”Ĩ1D-• \›Ú3Ł5kîě´Ď¦" #e;Ł7°A梧w•1Du»e-ŽÉśTŤĎ•fů†.Ă SIŚ•+4@Ż’®úÉżÄb‰‚bO¬X!S§?`Ă_Üv“;š«'&uŰ3^eŕć™F (´6×˙o:M0µőďöô -§UŞk1ŞŐšÂ/KL‚Â]É<,ăáËË’ŻÖC÷zx/¬oĺ0 4«^›ß»˘F€ç`ŽśĂŃíĂŰëjK#śwëVŢP'fRĽĘá]‘™Š  ÷2Źę›î‘X_ăżč>{Ő°Ú‹2)Đ7Hs{Ş4­˛ŹGÓ~BĽxŽ“…WÜ$ž|Żntޢ%¨S­Ô×+óŽT+—>ę~ÔXGgQâBÔ-&µšWÚľ˘š bMíÔ Ą7p )`ŕ«U-9#šŠa[Ď^(ď/ćAhúh1eŻL8‡·łŔűŃU:—ôTĽů”Ň2"ďZ´Le°Ď)ĎK«ë¨&ş‰Ľ¶ '¨xĹů#¦37q×ÚżÎ<$C ޲űÎĚľy—+“°i8ąĐ€dµĺ91/‹­Ţ}!ËkbîŐŻN,Â˛źž•Ş Šy -.ÖZ–Äcqs_űşöâ@l™äp[†ŘW?^Î+ěq&kÜĽ1î Űiíý$gMĄňFÓć{—ß}ć|_cŔw3vµŤ ŁęN«2Ô›‘ÓŰ5Ű˙ä´MĽ¤*†¨g•8N@-Ć{˙ŔúęÄŰ0n—÷#Öú«´Ó™4Ë­<f9yü+É ězżjöŹŢsŹ*şßdąňhô…fĘ•u2¤<°Ż%•uš#ĹäĎ—’dż_ÄHaĚŠĹ):ЉĆÁçw§ÁY`×I[s¤ůű?߸cľ$o`H+R‡™–sv2%ň‘4őÁóa6…ô˘ô pôE?îKMµjJ]mbřX, SÝT•,ď˙ŚÄ)üěś0:h™Q• M1 …®€Č+¨"šą‘ĂKNj¦±ŘEď­U~K«äxf˘Yó®!…´l¸§,Ä+W†™C’±ĹŐB¦ÁéL^öŹŰjÓ'V˛á¸ô=Xy†ĹŐÎ]SĄż…őĄ±¨ KŽޏ^Ţ҇ŘÝ?el"©OŮ«źzţ¦ůłZB˘€MűówX?÷Q+΋ęz}¸š®Źr(ŽąŇŞX:7´Ď#E–$p6˘‡A?!/Ňđľ˘ur„›30:ę™2Ń č±AŢ×™TQ?w‚ý†.ÓŐLđ–Ě »5 ‹P.®Ř)±ŕ®Iôü,.†7Đőx, ÂĽŞ. ĎSÉĆ‘zB»9NťZZĄK -ĐŹU €‘ÁťŃ€fŇc{šfźź.+áďt±h<ŢŮSí -‚ł ’E+Ѹ’ÄtÇľ­ľN]¨^ -â÷Ý\˛Ŕ8੦˘´ S’›ND]l;n -eŹŚű+™YĚ34ź5an) •_B+ ¶;eÍA†6K ö# .ć,fş±v9,l…$bcőůQöًÕcQâ y©ÓBEPă±te…e¶¬QZ0°šćoć˝Ě»{í…Ë™zúßÂxŃžzĹ 8Ä[–]ŠŘŹ> ăaŇńšLŠ˙°1»)\ źú'OÎM$­04:‚-,?uŹc2ihd-ńl÷›+ĘL9Qítď{q'¨őNúaŔŕ(ůř6€šßxi|µ•m¬MtLć®z†a~޵łŃľ7<8@›U&A+RŞsňoĐm*HLý.!˛ óÓ˙۶şś;KńĆW*żg!!í}.‡C,šß§!ýë6x»•vžy˙¶Ąˇ• -^]Ëo8ZNźëť@ţŕF2üňŽăN‚ąAűĄv€Oôşż><ăĘ_lúřÚ‹ÁŞň¦çăÔĚ˝8ýwânmSuxňŇgĄŚ±­!Î çöéĂđaĺ$Ň'ÁäŰ ń&¶€jâxm€„ëÔX·ků«¸«‹Ú˘ň×yŻpßfDeVdşăf“-%®nĺ$ŞQdů„śŞouˇčŇńX{Ç{ĆóWľËaç¨öcsÓD»  şĄ/ÄE­×/*éŹRşĹ÷łśäöt\צź5w*y%¤\—‘ #Ąů+1ä@řÓäV‹%â©.zlj…SĎţůlÍjŃŢ/B(şnGŤ‰mîTŞ$Š5ÍWͱCK‚}`+Ć,Ö"‹CýłX7qŠĘ‹%?ńĂçŔhŇż´’•‹!¤~ „ťÝGŐš1Ë6˙đBÔóýđ;´†ă›;ŃA“M´•ő6osč¬č„q µ@&'©ëB/@~ 4ăGë=](f‹ˇz§ÜĽd/Â4‰ÉÇĹp†ëb­Ö1J‚N”Aű®ŮWef†×ß -ľ\ŁžIŔzÚĹűjĎŘęYŕł’śÍ wLí " ›üŰíýn,΋´÷ $ČŤEóFk­¬Š—”gň ŽúëÖőĆdJď—[.E´˛/YOç°ů)&Îňňµ0ž00JĄý¦đÓ*®–EUź' µ51o> ęÁÉ˙ˇăä&ݍIKˇdąXOŚ í“ňşťLędŁŢĄC»đű[*ë4Dť¬´{ů¨ŹŮ”,u[ű@=Źžr č°N·´Źżm@xthC¬5OËkľXôŠIă˙Ř9;±^`/ď~˛{)Q…RĎćkăa†˝{§J$(Š˙j`~ú)Űô ć”Ë»F" -ëĽáA»DËĽ†(śxĤk­|ľzs#Rh– oĂÖ˙źm†Áe -î€w@#ÎŻ)hÓd<Ú|ŐEax+jÝâ”+vă—‹˛«o€˛…Çt B,€s¦a˛7Uáňß°ň`M—´Ŕ§Ę™_zĘľ}ŻŕśŇý‰”eYűK¸ÓĚqîżŕ‹Ž¤Óű ő®ŮTŕĐŁŹWÇۤ žo-!Zň·I¸]ĂB<řJ=Ęß”Fîjućówq¤?H F˙‰i&â’(^Zw׏"ĚÄx”RŔ¤űćB`ą?ó@é…¬ů\łÉČĘa|÷?k9Ś‹\űÓ~^ăOqPA‡iVS+śe€tÂŞô@křZ>8QĘ{b'Żú´Ü7á?őtîĐp«PŔz9ŹRŚPż7_ŮŹč[‘ -fOÔá%\–<Óă3ŻůŢ“ýźĚßxýɢs´=Ýßgďh~¸šL¬k±ß07ą’"Ţň}ôÇ>k2Ü%0Čü|Ź ¤}zŰf´¶YÜôň.Q2úŞĺe˝éĂqţšß98đť‰Ř ¸/ŹBçÚbäĎ˙[FOÚĄŢžôÉşď ET ŃS†UgŽŇ¦âŘ›h˝‹ÂŇW€ó'Źŕý‚Ô$4’Z9x+XxÍÂ&Rv›ÚŘʶ‰-IŘI;ő˛Ńdd0ó] Rţł_yĂí`ň$‡!"OéxÁŮ.e. ł!đ7)‡;"Ź w=–ĺ0˝.nsĺ O^~{{L8ĽŔĎEiÖđŕëqőÄ'Ő$™ăŠÔc[—k ńäM6dEŮB˝…7}—á}j· c[}ß<ŞÎť`¶Ă-ŃÉć2^˘ë|+ÁÎŘ6’WP\ŃŻ¬̈́t$:ĐśsEF9ÜusOÉ”ۤĆmb„“Îě/˙¬úeůânĘĂűgâ>sÓ<\qMú%±šW,łcŇżËęôáâ ؉çŃ5üöcćW˘ ĘďüÍĚş†\«€¬«$ĎÁAĽ%ţţ@ńÎÇß-űPD YĐćbţmk.:\ëË9ú'C‰ěśWOř*OvÂÓxžÖ“­ÍÝ]ßeÎ Ëöx`­|.ifŢüĂöĎ_ř?jý|ę'10`p5vü¦]?ęă˙^0‹Şş˝LĎbÍö€ş#X -©Uĺ—fŮ…µK:&*÷GWěP—-ó{Ź :=čÓ•4ߑҗŮZŃîGnç^!Ú8ńëŘł©xLą8¦¤ţ¦Š„x-ąM9ńÇ“Ç(˛«;ö*[l!¦ŚąĐĘŚ€´gÎtgĄ)Ń-™ 2ë1ŁUQ|ÓĄÚ—˛JáöJ&űąą[_|{GwéÝ• eł&|ľńµÍB”âFf§ĚăČۡŞÎ‹]$¶Ü I†qśť&xLő+z|r‰KŽqn°“Ü!ńŻ“öů:®¦ŃgëŃ–o[Š,¦EÚ¶lâTç/ Dî>;ŕÍkykle€üÓ× lh•í%¦ýĂÓ˙áŇň÷VPśI]öväpďçôIÎť^ÜÔÇŰc¤˝gOŽd]6SI> -ś«8ŻŞ„=’IksIPx:Lżć‚pďŤ<6†˝X(Lž?·l‚ŻjUöŰęhöMú7v Łď1—YÎűŽĘ0 ü†,ýśpęfÄ˙bŢp'©Ô™řŘłs óźťĂÉËôÄw)z§VgF;Yquß}&k˝>ŞtYţt˛ ‰h“‰Ľ"Ż·"'‹ËQ-ś6PÄðüM}y -P짡ônčˇ8Ž…& bŁaýĐ\Ó 6ćDoy:ĐϨ"R˙bC¬ďÂoźŤňÂÚËŔWúim;"Q)3\F$«•ŢŹ·‹ř›ű:ŹâĄ$ż÷aí;… Ůňž7‹\Ľ=ü=q–Ďów!âşj¨Ěp•ß—ź'ŕ=—¬j -Ć]ŻęěČ3©n„U÷1R+Zś4Ď -ďmŤ;ńČ iĎš—?óTšłťĆݸ®`Kýbt€ďÇǶ¸ wÁľýIRLvŘ&ÍkÜ|$]öÁę‹ăó”ßCô±5#RŻń5m:ĽrJ:úD¨^7(óPä -ŽGôŘ{€őW~W$é_‹7»~f‹1Ö¶Ö 3…ĐW^Í ˛-—5ŽńÎżEGěĘř)0R;SúŞ=g* Đ}’±aoč“~(HĺSD’ř4OAÎÔŐťđŁŠoĂţ–Čך}ŽˇŐľ} ŻŹäÜň•âř˝hˇĽÚwű04tîµ÷ŇĚ®G’Ymdď”Ö 4ń $_?4Xđ–gǰgŇ[ť¤WCfű®Ąş7/0+×çO;Ř\7.q)jd@řŕDy;e‰aßxm $מůź?ÇWŁSpfYŞŰ,Ya5­?z -ůđ$¸Ľ6Ű\<4Ůë]żqŻ+Ť ż‚wĽ;řĂČ€„7­îzN)„—ŮŤ ô" ĐU7‹×„,˝ŕ‡úüĘŹß@í”E F2Üž?ę×I‘”˝9ŮÎnntŁňë9¦Äš>°"¸UŇĆZVł7čâŽďa?řżŮĚü6cůncŮ«šaë*H 9Ž7V¬MşŃŚPu«jˇŔăjŻ,W+©G…ű˛2uçi§;ű•ˇ—î2#®Y4«‹JEP%RÖŔëü‡ÖÍĐM ĚüÄŽÇ÷Ą#ý’ÝęşcökÍŚžůĹ“ł$çCÍ]Ý,-Ökžťż‡CXlj<čEGä÷ź ‘8ütd2‘“ş*±>ŞG«•Ă{©Wş•9¨Đ(Kó}´çm¬ă±(Ď{]ön´ Ť9br“ř‹”ĐŹ5Ô`kI†)jŘŢĹĎ vŢĚľÝëŹĘŽ˝ú#Ú<1QýO.{53ĺn+#Ęç•iođüN?'©/T¸žľé-=ha÷Y4śłŢŐî#o—˛€ĹT&–]˛B•ŽPw '­ĹÄi"ˇ¤&WÔx÷í3*ßëÉă"Ä+ą˘,–l1ŤËo8aŇs»V˙ÄWä9/ĘüúR¶IPÄýó4çj߀żĎŻLlaEĚŚťä•ť‘U eŔMr/ěĎA÷¶ssË„ňٱSŔÁYJ»h|óp0C»¨4Jeżr,áIútZ¶Č¦ úÎóGżĂ VŘ©ÖTľG|’ÖĎ"cÚ«™ćlL¬n/ů%„ÎŔÄfÜPź“šAtÇŁ;řÉĎŞ÷RŢĄ+föŞšiĆK®śž ŮŚAsÚri1㱦ަ<ĄŢôŻŁČ’vˇ€­LÖqW$b€5u+XűRŽ<«VD¨+PȧvüŇ9Í=áF t}Ă}:g-$#~Í«󻪅Ĺ5"'5BxµÄ¬ă©0ěr’ţÔ}ŻuXýŐĆňD… ˘×ÚóyN‘ ćc†Î?çńö<0‘ĚĂé˛/ąęMzů˛ř“U.+“2p‚=÷F śezh‰É)›c^+P5–ëA×H¤^ÔDć´14ufëo4¦ÜÚ!BV/l˛Ő=WĺŻTŮS•ÓÉŰś<”ŮK…Ł2p­zý1Ďt#lĽ•×Aę¤äˇ +RĄř'…ËúĄű¬ô G*Šš3h lTPşŚ…ńÍ‹óGáäÉä¦ü·Sdď Ö Ü…FR6˝Î{[xˇÚ$˙–Ú·AEj0’™‚»Â­Ńł^t=ďŢë'ĄÇ;â/vÚhÝrő1Ľ ‰E5ż€<Ş»+/úA Töâ y;!ĚŃ€çmćŘWGľÔňk“cş"ÉTŇń dÔíYgZÇŔ±y -ą‘¨ží6ÝîßJ‹4ÓX˙ ąĚç+ňtbo#QPm3™ËʸŹâŐDâv]TęÁTrß“P„2•€3E’K[Ě|M­Ę}şĄ?Y©Ľöx˛˝ľ¦Ďń›-K‹9 ŘŞÁ\Ćěľ6ÖďńsČń[äŻF–ýĐfΫąÖx˛˙[K%‡ -odD(qrnůŇőÚŚzůÄćeOüEđšË şŠÇÍÚŇE9· š˛8iM›|ß„üMjr÷­¶Ůvh›÷vŃJŠ`űα‚éµĹş˝~)„l˝¸ţŽčBgѲ7Cn`o|DçűÂődˇ–ďj›´g3.ĽŤŐă@ĐisţЍ5$ŹZő|Ç áN¤ ·?/łŹŔŤÖ›N‰ÚôĘš¦™“#}Ś5ŮÚŚ]?śĐá3ŔlúSŠ bÉĹ:óňë”Ý)JTŔČXT4çD¶»['†’üŐ‰*7iËćÍ4»CbóĚ^·žDĽz`cňz·B‰çä·Ă;3ěę‚ĺq>ŇÄúP~ýcäĚá&…íXşé˝uKŮ©¦†eTPľŔkfćőôĐ"_¦#‡FË8°ÉÚ/ŻO˛Ě§[ZŁ«&x‰H@ŚÄŇ]muŞĺ†L`mžBŮ&ŢÖ÷îCŐ/{ęîů­î" á˝HQ±4°ßž†_M4L”ľ–ř·µf–ń˨ŮvGÉI¦Ş€ ߬wDOŁ÷t›u+9ť‰űW††ľmîäŢ!˛â VÝNÁ:Ě)•(ń[şQ*P¸ÍÓçö9x> Il’×p®<ôrIÔÓ—Ińs0˙$ň»*c—š?„]nY›—Ú;™î¶çĄ(źâŐěťŇĎě:ĄóH?Řň±R'\oČ­ ›ť:mÝ®$fRVü(ĎqĎÁ[ű<´¦ApÍo(Eő$Ůí˛ýZHLĎ9€ÉlpŮ´'ŇŽ.Ƨeďţš‡Ő4´ęr —«á.Sýkąv]}p˛®ŁYSwŘr­A µf–ęPéˇ'ÎŃHß_ذź X™6¬ 5§ËU+“ŔrNĺC–i`ŤúÝáóZČ!gţXR#;wo¤ň5|ťÄY”Š "ŘôA}"qg¶\"TAz#č«6A/XTÖřšx ś6&(eŰeńdĆ~hF*_Ŕ‰Ş4ßâפ†ÜMGm´ß‰+ŢCLV•–`6Ź“łÓS“ÉiÖĹ)«üÇV›@˝g¦[ôíŔ,Ž!ZŚź°˘ rdśýbڶčçIŽ;łÍŢ„˘HĄGŔKn†ű·f›YdňKÉ@bń 0Ł´]‘2DóńŻâH—·‡ÍU[ đő±‘y#aWĎ=8Á°0pă šz€^Éô>? ›ťg¬‹#PP÷ďđÇsŠ 1%„}'xĺÍĽpqĎMJgÖ˙PQdč)Wĺ,8Ńş˘Î·{â·4jŚX·ć˘Y®:ľ` ĺ\Uł+$é˝°H&/—I9 ĎWŢîdŔ\]Ąűgđü·®µçHMtJ˝Ü┳-"–…˙ur š2ëÎ^Exa—ä1âEŇź‚L\°5kÂŞ0ëdrö٨ůŚ‘5=™ł%ýü#¶ÄIRJťĆnĄÜ-ž1vŚYÂ;˝:éĆJ$´ęy¦FţBĄDĺÄVź°˛i*‡k7–¸­•§ -š¤Ĺ÷ë(‰5…ź–őY9ĂękČ+˛]™˝ůŻd ¬”úBôäQJŁśÉMž1ׯp‚WCaŚá ·kaóř‹~†G%Ql2G"ł2µá—=/I,Ôs˙Š,ŠźtÎ eJÝAůőY)ˇµľ‚ű_×!ăÂÖEĎĚUŽ@QĽ6&´ŃwŁńÔ@m"čţmß&iŕz w!x+ÂQů¬˙ÎÂwłyż!#Ö1¦FµĺL29ą‹#>47˘'›ţź–m9-Ľ´'aT¬B&𖋬Ňć€5ŔăńÉ…Xn*ËGŹ%oukÝ óMťäN”ăX¸lľe?\q¸_ú`”Ýň_8yçÓZ‚2ŹNľ%dŁ~oiTóćLó!i Ód7jĚ\f׳„ęđp†ýŽF•gűˇŹ‹ŕü×ĐĄ¸‰ř˙j],‰á‹٢ëôqžâąi^Ĺk$Yz•ŘNS–Љ%Ĺ„(YĐ[¦KčoY_ŽG÷hÄÖ}6Î#ß¶cl“†ŠHŔöb×Jí=Î\ŇaF!Ę•;rxúÇ«wÜ8Ńô(É@úô:ĺ…°ĹĺV@}rLË6QŤ‹Äżá”ϦKJëČËzç×Y€ŚlÚ‚ĘŘŰZU…źß€@±śSxŔyĂ‚˙ú¬ «Î¸Şî-ŕŢ~Ü6ĆßÔ{”ŃOŽňĂ^&Ŕ‰RŮ—ă[ŕé×nÄQyŇÔä*ô•ź8ý‹+ňî4)8ŕ˙˘aÝUńT–&ńË&j}•uGQłŞkH;Ťž» ŢI­É~W_éuéÜë¶ gŇîČęĄ2›Kí\J…ľ6[-TáłľźVÜW­±ď(Q“Qq=ZD2ěőôŹp -(Łßĺą\udňÇŠWm@Mž˙úµä)ŇQ«őGďO'Ý×/€N|®‚Đ>5ş­Ś76ůÁŁÔ\éĺTŃ•?‰—ôđXQ'"ŰŹ čŠtá ““ŇŃ˙ü-Ç ” \,¸z¬č‡»Ű3ŕ H'âw(§Ć pĄKŃTŹn× vź˙­«3PúP+ 1‡—-kˇ€ç2ú]ĂáűűŔé_ŹîőÇŕľŮ;yĄÔŢĆťĽłrx?˝îĚ­ éttB‰ndü5ČŐĽgŔôŹĄŔ>¨?»·뉄ú}Vľ~˙éB\Myµ0YČśżNXdĄVŁćŽB›ë.ôIß•l°ć2zĘ7Ť žĺTˇ †E¦4$a~S]Äó ]^mr¬ÓžÔ1Z‡3š÷¸¶ ys!fó-0źĺâlKźŚ—*qÝß"4U—^F!5D¬÷i±¨ ćyíë݇µŰUóĎuŁŮjúw TU퉏™\ł‹O:îí•Ä™«€Fó]6.±°ÓÁqď9Ďg—ôŽňĘxr˘ď~«śëOÎü:ÎO˝>ĚÖéŮż]|‹ëYŁEţĺČéߢ>ą°Ěn!Ű"ďr¸Ëü’ťd—Ł›pîŁńćh«”ivŔBDˇQvťfęT|#%{Ě-RZDí]őĚŢ“É%Č@R ť´¤B˘§©9dRž\˘#L¦y©±;Í/ :ą¦YÇ—LB-4×ţ…§­-wĹľńdŘ…â&Bh”ÇťwAď>ëj{âĄD.Î^‡ăĂąµóU2|äwk»F1MÖŽM$ąä•ř‰pÝ“uŠKöëGËË%ž2WĄŰ”».ý ßMÇ=óý‚@{ťĽ%ăŻoîřN`¸ZČA$ \K‡“Żsí”IŢ›ţQ]wvx:ľŇ< `¸oµnF¦Vi\éí± Ď†Ĺ1ń7Ć”É-6C@±)@{q•ď‡ Ř˙Š‹sŢC•€"°oŕşQʆíkź†ÎĂÁO™¶ęt”7"x?LÚČéíFU‰O’)6ť°Šř_ý)‹aăB2 8żšĽť sźqÔ·S~őAuČbߊ¤ Yőn§Aš®ÄVćVgˇCßăQµ-ésě;pĎś¦WVî6ćsĎÍbĚ­ÔZň} đµ^–™R-}°ÜB<¶JúŇ9 és‰LĚ^›ěëzs®%_E Ě×Éj¬«Qáľ´?G:Ô—¨oÖ Ńç:âť°[˝¤9Ó—źdâ3±ČaDJÎ{łW´Y^’ď…?JŚń«źF˙âý¨ćĹ&pM·RŞĂi›ÄFűfŘvWŰϵőH˘”Kž}]›?‡A0[źg>‰ąą‡ÍvŘ!ćŃgĚ‹íĽýrřđ„–…ßKł-á=÷ŰI%Ŕ-fÖhţÔ‹W'…X5‡¨[wíĎLrŕcĹw١dŹŞq 2ëűý_o\Ą59Ău d§D: \O#®ŐĹB;żKF˝ĂéĄ{$q vÝĄ÷oJ]ěsL†ą@ü7jöŮLg§-ý9±!ž%_ťđ -ŐÇVJşë6“˝Vd–§$¦™€GI Ö ŚRu8/q„‰wQäęmÚŁ^ŹŇÜ‹‘f {žĽ1÷´`Ă,ČzhÖÖ°/ ĺČitnú &ě_wwŕ6éA^J{dOľČĽ‚@ENľPŮž,ŢFcµŇKÝ\Xóüţës2í&Ťß\Ť?VŞ`Ú+ 3{ţ·Îűéd?Ňý9°*Öń˙] ín,‡<-{ç:ŕáű˙ČĂLZĂš“ĺřŢţwę®+ŞMBÓŚK¬ŻČ<˛Śóő"®”ȻΉ…KX»@ľÜóúDsŘ3xÔŘpaňtSxŢ×Ü%/LĹ}{Ł0ľoт쫊ڠ“ˇ"«‘eń› >űüÔ—Ź1Fa¬Hj4{©»?Afbž$ʉă-ÁĘ»ş đV¸!®Ý<„ś%žfQ…BŃ™ŘţóXeżć©ô;«éKŕŮ-h™IlMXęŠb1PUŇ ´L’*9xżŐľĹýÂÉlgI.gS2šś6hŢQ˙•ĐćCôâţźČäxß.Ű$Ň‘Jť3°ŞőçVw,ß—PFIî0żµ*Xěµhë&ü(ŇVEŢu'Wč¬×`Y“€í9ěaĎ·2ů#ĘšŽv Ż|Ý]`đŮ •2ţ§ý‹eşÍs€<ÔQűbF©qÎpöÁ3j'Q5#:- ^!G^ćÄ -0ŽđÇĘá`Ę|ćÔîŇ×ęź»üBĺ3Ú–5Űßwł·\gyŹ`V\ďţú”t<©Đ˝čő-±žşŠ¨Bçe@-xĚŘÜ2ŁćC,뫪ô3aRxŁ(BânůVV+ÓÚ¬4 /ÍŹ[ˇŠűÚť%ŮÉů@¦ 4;×´Ĺ&{Ó+쯦-őŻă]ĚśŻ˙ľŕ¸3ţŐŢÚ&°W/Ŕ‚!)&8°Ý^ăęÎ/J©Ú Uť„ivÄpÖp>n"˛]YöÜnn€– ÝݡÄpő/“)ťĂH“)ÁÇ -–¨fŞl!h‘őŠ'RŢ˝™—Č(%ŔÎMa'“;l8ŞŮąáŢÁKH2‘U,óŢŢîaĂŹsZV!Eĺ%Ę8+ßt -GĄv1Đ(ÇBŕ9ii%ÉLrŹ+­Gv­vĽz29p.2´mx7>kű6iöµ‹W.ł‡fNg5«OĆ®©Ă·ŽkgJ¦ěeŮ=ßmß±škc˝—ŰŻZxݸŞjr÷—Aťt•Ő:«ÂÔç”Ó‡C»˛{ŐśLűv -·ŤCďJvuÎx2p*i’]|‹Mٵ]Tc*ÓŽ*®Đ‹ Ŕ ^ëŇC đ ×áş+Sݶ ů‘óŹY†HYÇXLëbáÍ_$'µ ž"©TÇĐ«–ÚË«nĺugMXk'ß"¬UäřvP6ăR7RšžŁ‘MşßI蚡 „śČşy™O«żSză©Z=n ÝNeÂşFÇŕt¸7{ä@Úř&‘wő\>xô•n“NęŚňEů’¸R–źó¨ ř‚ĂE+›Ă~×uTEˇ0^P€ŻtďŻö/*Eîc ň¦ÝŔ›–ŁkjÝđ¦4Ô¨7Ô.[L×O'(ĺ›%⌏ľ×ëŃď/ëň)PË6ÚbD\î#îŽăď©`Ěő—†ö¬ ŘöŇn“^eŰMž^tÎI]^gĘř‹ľ-ŤJŠ™ŔĽů˙–©MĂ[´ˇ®E7˛łŹ?Ť’őś#^ -’ʱ6ü­ďˇ™ŃĘ“Č-ŤµĹčŢźlŤ÷ź­Ś~m{=^Ą+’NŹĎÓ(öšég—WÓĹl.7Ŕ}Pťî O~J'0ŢMDK»~IČĆ ű·ţOvbŘđÝ~<íç|®¦[ĆÇÝ6•=îurĺ< ×?ú’Áügď‡Őšő®ăTlpI´ťÆóȰC‘ŰŔ¦®8Y¨®dŮ·]ękMžš Iö?ţ{' ^ćÇűĄ6ŚdŚbˇ]Şç(-‹śŔđÖL±‹'~1ľ‚ –D=N~ŮđYL -PXËE·~˘©´ Íł!ZX8&ŰýśIĂŰ1ţ}€gqěĄů=@éüIŇőŽęő”b>:mÎô_“‡nĘskQYZN®‰$Ń–P>Ú˘gV| Wî_Ĺ7:„óq$|8-˝ę ´Ł6gľ=Cëü|S†Ę‘ż ˝¶ç”TaX¸&»$S…„ŢťĂđ~"lŹÔB>’şŹŁ“Ą±vȶżBö|?2X -éuÖU±Q {i ýo>GU-vŔ¸yl3dsŃ›źâÔ0řŚjç -¦ŚXÔP ­“á'ćĹuÖT.4}Ýn Ŕű\O1ÔşˇčZŞy"7Z3pÔSHŘŁ®ČˇçŘE‡ŇD×aůř"­…"T!ć»îŘĺâč,Í zonóŠ0hÖ;Ă!=šóˇs•r3 )@äĐşúżÉ0¨Ć~ŤŇDŚŞç{§Ălm””DMŞ Ű™=źŰ"»ĺb/I9Ú1–óY8™x„ő~?¦őRXaki†ě4őüx`¬|Ţ·2ËŇI}/ćŕ´ľ^~fš2cÎ@ sXKŢxéÖ¶˛:9šg/Ő0úÖ%ł{âź˙€ÜK·ý-ź_ąOz,)Iňٵ4s Ô÷C»Ç„4=µˇÍ®vu‰ś\—vG^¶Ş—óż¤3sýúÜ»7ˇ‰–YŃĺŇ™š‰—‚;E\ĘFŢ?p„~C‡čÉő\ů4ëĹť«ŰwĚn(:”[čEŰpóčH^¤Sˇ†çN¬\Äm]“Ý‘ă†/ˇűŞzü}ŃyGµ9‰?Ę™?QiýÚíx®}˙1Yt[l@c^ Lu›†!^o†zc^K_ŤpőŇfúţ×Ő šiBÎł—:ýtĚÂ`ĽjNsőĚU­}8ĺm Ö‹”jřżłgĚ·klú×~A—)äDĐ›Ć'Ăߎ°Á;CBŃ=ń`v×=Ř KŰËcăÍoj÷e•lÓ>Ű[Éź&9ŞeüČb§Ú/98Ă­ŤF˘Z©ç ř®Ďnâ7é‘Ě{ˇĆoxj˙$Öă39aBşJŕżâ‚ˇżupďá™ÄT Ŕśb€g-ˇ´|Č=uč1 ±Ô¤8Ůvk©Yď¸,5k˛H:“âµ°§ŁRÓ›,—<˛ÔýŮ Š A‰řśfnmäl´,R,Tśę¬rŰ…÷łQň)©´źqš" ŰAđ!¶e/Ö ^A‡§Đ*mď±ř@fîŮäz•¨7âP-eŐ ¶´Î•«ő÷|)˙č™á•IůĚéÄě@tUőÎkH¸Ă¤°~HŞ n`•"ágŇĐT·S¬…h Sa—bŔş".÷řJŚ–µ7}h .X¬•BţŢźP/ lŠÉĎń8¸P1ß©ń]ç;—{đ›†Q(|.ĆN3Lĺé ŕů" s±@Ę]˛”©ÁÝăë¦"8ç[®$5Žţí$8çÓĚ…leAŁŽ <`7LźcN˘YB?đł|J2u\’k*?ÇJ u:2ę±¶ťŹ´Ďř´×°YJĚGq«!<źcíŮo_Ź .źü­ÝŽz}7Ř‚ÓüBĘt1űX~ž,H/„ ˇÔ #¬,@öÓA¬ŕĄ‹®Á:t~„沰3§YXŽňňż"ÓjČ'×eE5ő’Í/Ž0¶ Źđm®’ŃžTáX€{A-Y;uÉçŕĆÁ˛$“hÇOjőJ~óÄ.z~Á˙XősFĚ‹UĽ$}qGa®u•ěMs"ĺ|Ăj¤‹IÝKaož©Ö¤Ăc‡;yŇáŇmBÖ…ФŇn.ó€I4°¬Žl3m} ÍĘw7ŢÂŃ%ˇĺO{%î€ű}:—§“:w:Ëq¤Nö÷NkĽŢŤ“6†‚Q<źF{öťć;˙[óbT>ĐĄ´ó ’°ď#ٱ&¸k -!‡!@’’K QŠNŁ*XăÍč{ż4ţQ~ ÄZÖď đ<˛Ła+”ýşţäý†ÜˇNLKµhŮ[vęßl_Ăđ [:/¶ÂK9›’ëĂMčɰ­{ÜwŃß˝ˇâ¬:Č˝i9h0ř2Ě„_ő×wRş‰îęuîŕR\~n—äeĺ?Çx+đhhőpx$ô6ęý|L7Ł$„ߤEQ;r¨YÇřq–O.oNBb%‹•E9W/ŮŠ0śYŁűćé8ŚHL{w*3ŚIýÜ÷IµŚĎ/ÖnW#«Ĺ: ˙]Ť«Kľ<áG§oî‘Ů”ĘPŁÓ­Ĺ§¸Ú9a·­wÍŽ'Xk  ›`my—‰XA ö ¶ÇĄL‡Zuëř^p°·&čeq†cÓaŹ›×íŚŕs‘Ű śÉ /˝ a¸~Ź&u|‡đŐzbA>A tü»zăž[´~¨TŔ˝D2ą–I‰Ś@ž›ßEM‰I ţÓłËA•fď;¤gMż'ëÓ”Aiż+úµ‘„™'a>ď1ľzËW ·#ŹŘăyݤÔX®üÓuěhŞ2¨Ů–ČP| -1řß2sä1ŞçGÇsµ} JAV\L&ĚĂ6Ő.T°C“d.Źv×űE‡ -®Řţ\b\ÓëŔ¨ţ¦úţB5ZĎaëóžŮý¨ I’°ëóÉäźI¦[ -Óţ„S s=&<6 -ŘhENÁž©Ztľ‹%-âĚe.‘šľ÷HŚ‚Ů•**2ŁĆş˙Č”9ŢĽŠRú:·X2ó˙!ýńÚtţFă09É!b[Ď_߼ŻY$5¸@VÍK”ٰ#DŔ3-2eđßŕ’«¤ŹË ) qý„˘eô¸OęNWóAňţµÍ"¬­yvą}IQíUÚÍgßÍIüţuG]÷Ń­ÓčwPšĺžçű7†>†ŢgĎź»=m©–®1 B‹ÜAzĺâχ±9xóˇ@˘ń’*‘i=‰„˛ä“Xř2 8•éo”ÝX€ărW9rŹM‹7ŹVÍ9“«đ–8–G·˛?ČjĹΰ•wŠm±U]IÁO›qôgás…*ľ Ź:M+Ĺj¬ú -ős /ť/ůY2×eóŔÓ¸\©ľźĂš´  ç°Z[͵սý޵«ZÜ"]ZÚLÄW‹ą9Y”7Ô(†¨z3÷Ť4­­UTćő¶n™°eáŠĺřNVY@¬^2vnEU­ĄG'1%Ľ:ea¶‘ÔŞ´&ź:W)ŻÁVÁ¶‚yzĆ™Ć;„=›žţŐąÉ85V€čv˛ ç+“™´v2ĐÚĚ -ŕpń?>`”šLěĄĎúŽO8O,AdľĄO iPÔU€Ŕ!ľűŚÎŔÁ7‘dÜĂšC5$ŹÁéňdîî¦ŰU!Ťv2ýBć®MôZš8«/ű>Ř8QU=Ľ"‚)˝m Ĺ÷l@ bâ>sˇŤ9ň-ZŕżýŰbwŮĚę?䏼ŹZN…ĚLşxv?’[}Ľ˝Ňd˘É!éłĆWŃčCűűöz"é,z'z X Ëľ$NĘKú#(…v˙¶p(úa—âiőź]CۦPI#&¨…?źú©ŞdĂ´Hcs%âPąXF|mD…1 K\F)/] !éĚd–!hÝŤ@’L–qNę+0T± ’`ďĺ Ó 8ß™;pűŮŰ™[pm~ň/áMxk"ő=*EÁs¶JŇá᪠š©ŹrÂĽńg4ůo%é—ő:ú˝NĘşOk¸®ţŮüîęýf˛ú¤•:…vq’čIňýôdŻĽľ46–ő˛ĹK'›Ť?ÁnáiŐűf¦úěîv ©¬ăt*őÄĂĹŔ!‘Ľö1hT+eősju]P©iýËŢţqkîŮĚا»[»‘(ç˛zböÚ„Lňŕ=:•„Ĺ˝˝"EN>ÔŕľÖő€şę°y¨Î”WVC‰CaRĺ hygWŘdž˝¨zÉO¨ššTümhěcŽü [Ť )8ĐŁ”‹cѤł´ôO¦I›dů.^U2źůMfH®hăńň’ŇÍkß{)xśEî^BQkŁ™ý´p e–Ë>đMkĐ9tŃÍ,YpßcTš9ŞDď,c·-®˛ľĐ{şeđT‘G¶Đ¬ 4¬ßp){F`4Ě©©]űr×ďť¶$cĺȦeUŚů‹S#Řł¸ôś™ľěb}ß.Y(rOz›LJFRůß‘Ľ[DŢ—ę;űg‹„D{ ˝Î‹Úa¶5ITß -E˝‘—´_öômň?Ş_źal‡ŤSĘ”I -^"8Ś­¤Ą€aZ­ťŢĽ9=ű:° ŤeshďŰPŔřKÂSR]TdQ6ľLéŰs‰KÔˇľ8A'łÁ]}&ŚS§żÇtěŐ•$bXż\ţď*~¸†-eŚ/ó»čÍ—ö]B\~ާ[éÁíظź–6E«ą F‰rĘčß÷•ÍFeN3ü¤ä‘¸9—­űő‚]âÇŢŽ‘w±ФşŞ|ë}Ű“'ęÓJ)™â6ąőu ´ÍůP&&´ÎŢÚb2]Nňsq™7Ę! -›ôá‰Jˇ?ĹHą$…đ;Qż“LîëQ(X<g‚Mqä/ ÚsŇ,µ\ "ÖçV)19ď®ü,·Ýóv=9uĽAp¬©&и2†˙a…ĄSÂNް_`EDOaż/çŐID­&éI3î~íżńÍކő„D·ůđ˘‘n}–=Í**Ač\U5.«eť.zŠę­ŕ(HŐą“%‘±Ü‰có…Ţ +Š< —¸Ń®{#‚]đ4Ă^Š?îu‚'se† b8óÂői™ÇçPěáČFb|’÷Ü’’‹ŽűDŮľŃaDܢպ˙ńÂĂŐĽŽxhŃqxkN_Ң5^k`y{]׎x2–„UéŢ« ?ŻČI›¤™7kɶćŠaúňîČŐ„ T­Zß@^ -Ȥé37uǦ‡†Y,ľ¬Ľ{Ô©ĄŽkĹ!BrC©]é–׏đŮź [ŁÚ4ě6î|]OąăŘ·Ťnúż5"ŤN‹áT0ˇĺţvoAáVůq†_ˇsôř sź…Ú2‚ú‰SŹNaLÂva<»X' 4)°´ˇŇ4‡xĹĽLłÍ%ŽÔ~Âö×Mhž.f‰Ž?Â4±D)ZŹł µţŘze™Ź4á{Ârô™pťüý¤ä;Zîδý ~oëLäKü°©• b°UVtë»'Vű Ú§{ĂlčŠtłCV|Í,˘¤×zXŐ¸`5ľ+NŕÉdJ´é·¶T‹ ŘÖqH±Ç®€Žá(Ćiµ)†Z€d R±qGÉ"ďŠgłîťfqα~đfWĚ Ö”Q\/OęÖY/Ý+ď…čßÍ/zj˘Ëíŕajt™ -¨t˙ŻŁbĐ>:85˘Śř8†]鬱bön]ÂăH1†Đ}Š/_Ôě»ęĐ@éIED(KGŰŁ\•ÖĄÄ ÖĽtL'ćËüéM -5Î0’ńÉ~úiż˝-^˛…ú;Dşč*Qk ·ŔOQ{‚ş{%ßćüqţ´jăÝĄ”HčÍş('LĄîě­o/SŞÜ¨‘aENÄ—ÇĂQč^ŤúĄťůfôIłgĐ)p|Ž:jU+YŢ#đ™ß»Ă«÷K†§Ľ ó.転‘±HR,ńúXx!E %ĺHAöĽ đĺé׼l@Đ4­ů¦H‰—܆&{¸ŽŰŤ=J2 ;€tť'9M’Ďşý$Uéóky¶AáÍDč=â Ą©Ú@)1¦´é´FÚ€EFT°ä†ăç`Ä”ő,70„eÂ)žňYčţőbÄǧ•éđůé´j,Âäął]Ës;ŕq\(7˝´ęq*‡ł-K˛aS, -ޱ¬déJĘşłDą6D C†U[oš=?/ŰR;úŕu2á®+m2ëŘž§8NePoŤß–Nůňl5o6Ű3Ś®1¤)Â]ť)ë޵°›pÁz€j— ŕťD~ýÄŇÖ;A»74ŰŠ‹˘*(>]PČ µů mĆîă^m†ž˙@Ą@Cž3Č„™¦’uÜčYHX€ąśĘż´`˘vÍÔ~ŽÍG%ŔÓٵ'܆]¬µ:®eđq¦=‘iuw-ĺ°;¬#Ŕ¬áu¸ßyłh‹ŘŐww”ŃÖî%u¶ŔBÚxŁ1MĄ„Š…Ő1ŕů®ób­žoľ˙oBßnęçUiCx<ů/ŁŻµ,-ůQ/ŇŃäţě ď1a ły>”36Ł%YľI4$/ćŮA˛âF>Ljô^¨Ž]€XBď2Ş–ÖĆí dłýĹíqŕô™&/X˝¸˛ÖŁëĺ’g/ńľe@Ú®ćĐ1&\$vŐ”šŮÚôÎ8ŕ×ŕé~÷…Éywř„‘)QŘĘkÖŮ•@âQ’Şţ Mn›=sWAâ§~JĆčËvôťA/w®ç·ciüŽ®U˘;zxiW.öLÝ˝Uń~¸LC6ă\4vŞ“/.jtfľçŁN{…Łbt°nťů[g•ăręĚÚ(˙ĄůI ÂĄË–‘Wš”bţĄ»…áČ# F<Ë0…źí÷“^뿣:dOÎäzp˘AýŞáŹćgUŮ8X+\[<@!íŔ×;śçz*äě"«©ŁR3‡¤7-?ęĺŻ3ʏ–g­ÄrëHŻ X1ĄÁKl&üŁÉéů°˙ŁăÉ ďgfŢo~źT;%ÄŰG„nĂöm©Ă‚C>f»vęgQb‰ Ď­6é캪b6\™H†EűG,ąÂŃŮNŇŃSćY9" -g|ü[ëä“e]3~¶ľZ˘÷ФĐ%«ańzíljŤ ’Ęm66öކSó&o° Q–—¸=Aç,đs…Ě84ÜÁ̶pŻkƦĐ+˘N€BJ kćď—fŞ ľ/ëŔ1Äq ¶Ţ‹& „— |ëŕ·.îtS˙ƨŠyŹ:§QhAë(–ŔÔ»·…AŮ;’·ŢÉlUźž˝mÝ)n ďĘdFŇäČ“käH†6‘š…í陟ˇôŠM#A­×{ĘHc˙ú˛h:Ŕ¨ [řĐj˘jťiä¶IS˛Ůjşuk4:˘=0„<úé*Ş÷Nfşę–ÄĚďKHmü -ZąÉ7é˙KB¶ÜHX:ţ€”Ý€­aKE|ŠÝ‹ĄŹQَş˛uBÚżž~ˇ°ŚňĄ¦­EFüó„KBÎł_©oŁÚ‹V<Ë3t˙łąź‰řłY[· -đşH­7üEúŘ(ŠďŃ—Ů&M7Řž…s˙ŚW \ŢM”äő_żxëúľ˛™bŁÁâ› ËĹÓ Ś_±_Ŕ Ńô~»Ô`¬ 2·ü’ ‘QĐ@Š'XjĽô?,ÍŰ>CÚAŐ»ůuď0E cö‰Ř@îĐŻî“\Ě(!őQJ˘żölÇÉă7t@ž4Λ=HŚ…ĺž_ě×H)xę88’9Ä ^€~đŮÍ­t‘~·ąT"S…„Ăş·Â&g¬ -‹x†”řŹö$¬LĽ`{ "AIÂ@MƻҩąŚW´ł·˝X"ůúÖű˝ đĽČ'zídOĎąŔ?SBQŰvi {łH®wrÝÝĐĺč[ňűyr-‹˙ľŤź€št‡HĆ„lW%x´ő+ł …śÜŰIýŕ~HRČŁˇöžŠđÇôž!)Xş©!r×ńđí ©|Ăä#+Ď`;*Q}QŽ-´ę?ô’PŠxł.P8Zęş{sW–——hVkÓŐVaşŁ¬ †ůăd‹tz3Th{5{źyD<¬«+rSĄ˛ŐqĚ˙ą§°ĎMR3±܆9 ë&ň!ŠAg‰uSA]ö*{¤ ¸śľp©‹ţôŻjR'6R}ęťýśÔUĺÔ ÔúYŽÍÎó†}bŸŢÇ!TS¶0ń˘"ÂλxRl•TLq°ŽŠ€ X˛ĘMšwއĄi÷ěJC»Ż3ŤWçŻÖ·ŻGG`Á€#ĆC=7Á žÜ•/HđGIq)µ‡®î‰ązĐŢá“w’#Iß–W¦_[¬0Ę işoq*üÂl 'ô"…~˘ŹëŮw.Ö€?Ú¸1“Ô·Vu9§N#hČx«ŠňMiYęÂÄPŤ^/Á7J.˘”A”Ń íÎJö… ǧHŕ‰GŻApźĘ=­;Sž*¨/ÇfxřC\tĂ9ŢőOŇZĺJˇĐ&Ë!ż5qP®>ŽÍÉ’Ú[-°TŻ7,[ÎŚłúŃŰ4ú™ES‰~;Y<Đ^ÓOç+úsWKSo¶9¨čS>0q ÝŃ«¬Ýđžë'Úŕńe2Lk".«y?\Ů‹¶¬í‹†¸őňë› ßţ+ţícń×ý°ŤÂŤ1®Ř€ ő»°¦4đ@IťŐa obŰŢ\—±uĎüśÄ(HLśŘö¬ÔDý,wäŁSDř—u-ý;lI*ĹĹP{ěę´ wĘ ŔÇŕ„ßZJ>Ą0Clpäé{ˇäÄÔ ˘SŮRJŕi;Ĺěţ»Ňé¬ĚŞŞRĺř?îk¸0’—LÔ!ŰčXý‘Ě2K6Ż%dN«3Óśö;‡ޝ‰€˛‚…Ú<ÜŢ#)Ęoë€Ëíŕţ`:x1Zî^B‚waQžÄŚ>…™ş»ŤP”#ÎţÇňaŕ˘Ř©ĎâxńŐŽ˛ęťł0eÔ đS$'W×söŠu3~ď[dr>›đkyMÉ-qÉgTfŽP ŤĎşزUq_ě«ő"v1‹ă3"O»ú9ÎŢĚFżŐă?iäČÔÓň!R«äαdf^6M˙qçCz€”rô~â©j«X-äCOÁ&Źn#0ňHÂAť‚¸”/űÜĎ«úÎ=qş¤˘żÔxŃQŇ7V0Ńö_ůň˘˝BJ}ľUčŤ-sęáx!äçzĆĐf„…ö„Ë—y°iP«OŇgҰÍöA^é٩޻”ěłZÍötŹ&4.2=Aó'V-ágJZ˙ăfĽÁĂĆ?;é¤Ö+Ŕt‰K´KO»OLŽL\䳇ú§ ąf;pk÷GQw+¬lňp- „ÝfQţiŕěŇJÔf÷úw_¦gÎűáŢÔ=k$_—€ž ÷ďë!µą­M˝ÉLPN–Gł®>¨ręŞ -ű{÷®‚áÎ*Ŕ"ĂiUHg† T©NÔaűzXH~H̢ŔƸ-şńŔkľ=ˆ˿1qx>H9ëVŮň Í ÷Éď(†!ĺ(ęCěŻĹ—M}ějA×äöăŐŁ kÁÓ0¬ˇ×źĺy¤Ź0±|Ó“–9—;°+ɧI! -;ÁÖO“¦UZnĆě螂ӭSsťŹbjPoť”)P˘ŞľFuZ^]…Bb!Ó–ŠsvR'sĺł9žYÖJŮŚ -]ŽŁL솯Ń*$¤ÝâŢ®âŹřĎß­t/T$Âşeě´ěS[PjúÝ®%oý­]ëI‰=z5ô•ŹóqÉŚ¸ZbÄĚ äôüI-Ž';i[¶Íń86'îKá˛ËžI „C{dyŁÜ“ťâSµńˇ ”\ÚälkëČőąˇs0j 1 ™‘„pĄ4Żô˝zZ¨J0]«łTŚĆ>bvzóż§bkńJ·„  . ĚD- Ń /éžŕ»SSTéó´AŽ»(·ŐŽ@i…8˛ź§1:y$ůŮ+ űżŘĚnŽ6ňÚL:ş5iÍüżĹaÁ‚`&RI4ýTŢŇ‚ßa–d\>łŻ´›j¦&ejç@sVó;Vřô¤“«\…ybę×C8t‘˛”Şk"meăYšŇŽ‹cߏžäy!ˇčm7  Đľ©Íş…QAiąMeî ŤŮí+źě–µ—ML3bU+·k¸+ÄŞ]‘¬ Ĺ?4ufPZ<8n켉Ă\blťÄ¨ É".…r¸µ*őP*;šëse¤ĘŕMqBg˝?c'»ú8#üqţ[ĎŇV˘ÉtŁgű’†jDć ,Qd~ęÚűP˝Űú°ľbCČ˙Őšn3TرËČ'·ľúűjš9Ś:‘îˇ5µg%¤E)ă=ĐýC˹ݰş”UšŁşýŞĺJŚO} Nqôia'é\¶gfĚFgůĘçÓşťČ“–ÄKcŘŤCő.#űUyC·(ďs'4 ř­éI†Š#…»ń‘,Mż°71ěJôiŃĐ/íQL”qy“î9RŶzV‰oxI äfŮťO^AÔjxŚU{l•î -zD`\ťTr€ţŇWj=č¤á* Ş:«Äa"×>ę¶w.©‚ńY_|Č@˛ţ©‚uyiĽ-醼dŃ'Łô\aó­tе=ZĹ˝%§ČÄż;BëÚ!˝ţGtÓMoyˇ‚¨\ęENQíö0z¸§"nŰÍ®ćĄĘý­Ąl3'g!üwşC{ćÄlI9˛<ťź<ľ( sIv÷˝Ëî[őĽEĺ0üxĽ+˛»˘x5Đkš|s|ŰN×QĹH°ţO%l’ůýŚ˘Y˝Äí˝ qČa“ Üíl4×3ÖĂ˙M€¨B;ň°·+R’ݎŠVzEÂ_ XRIJĄ‰‚>5A‘ °ŰRĄĄ/Ţă/¤"Śśý˙űÔ’ !ö_ЦëŕU†x)Ó-c[Ď®2żśtrÓůÇŤ˙ďĘtëÔÂÇ€A×-i¨ÇD -“ęí1*ĺ;!„/Ś»}K™oU\齹0ŚÎyst ^Yʇ1ů°š¤_§@÷w„AixőD$Ě&H"©íÜÄĂr9ejťw“Ő›ś×Đ\x;D"bIµWÁ°ŇůôěŘŻ–ݤyź%öt´jĄŁú` ąŁ( -áhÍĆ(3ŮĽôýĄ#ü Ś2b«iK yľnKšgŔą~ڤâ¸6ŻÓąW§¬J„A$Ů€˛Npý…Ív|9«QŔ–ąM‰5ńń>¦ -«íŻuů ` ĂÎw¬üIcÍ -{ Ĺ>ü’’Š˘zýťČaľŘ\}hPtJó˛Î™^6+·ć?3 e¨nXd¨Qxě÷ĘG4őţ­&vâYDžhÁ4ŕü™ăÇŤ6IçŹDĄTr’kÍĽłŘ÷;<a›’;¦ĽňŹv*éh¬C‰ĆĂgŠÄô.[‡FŞĆ2ŻĽ\Ż“ŁR¸ŢĆq`% ¸ÉO‰d ®QRT€&QĽŁóڶş<" îóµDTQŽv=ŮÇ ľI‹LV@íÄ—Ę5 ZťÂE'ĆŔ˛śú2/ŁXĂO”=ŞŁ”‹žl—HĚ* Ňż]@<ôfY칲ÎYRÔ)„üâ:md±Î -ZčD‰„BxŠkŇ?„ýFËéFÚtQ7É[c_y€e(ĺdTÖłÉ/;Ćë~DJ9Ôň°ö/‰šű_*Ź`µRbšh~ńĘDĚýB`ôj|ŠÂśp‰Cť«0ţ/;'ÝážÝ”ŢL5Yë»ń´2Kí•[uă4«ŽŞ+h9v˝Şw#¸CĆŁŁŢjćˇ(NăłqŁ»µÖ{šő® %c´8:ßĹ×Y© ˘H•ëҸĆvŢŇMź˘oäsa ×őL¦U }Yaĺő‹2ş\zç`ŕLŻ™PĽą-®Čv9·T‘jK@#žyŐ€ˇ$ś|CIˇÚ{v4öúRÓŃvČ«RČD0q(˙qČmŔާL~n‹˙<Ď|fľÁ& Č>!Ýßěˇ^#iľ‡Y kŠQ4ęs´EˇŰĐcK[QiGfŇĂ‚«Ük?•QÄŠç,~.z]» ÉÎ8KkĘK$˘—ŽĘMÓ˛­mOtŹ?ĺ­»łr‰3–_žßĽK5`ŁYÉÔ–úq€}q&˙zZŇDµaůŤ§Í«Ľ§©$Ó?Ü‚Ëó§juHqâÍČ~‚µ›€«X3Źô¶&$Ü«·s„«Qľ:čqĹaiĐwíĺŤ'Ăë˝×ëěńFöI­ Ëôh˙Ą»"–wËćă0Üę2<‚&[®ÎŘ&˝{)Ů]U9\*^ąŐó{1Ş{óXĽë4şâťNÄńj]Ý/řäâ,•ű” ľ ‘{¸ĺ  ‡Đ ¤BčgžÄýĂP_ß;q˛úl "áVćdB‹ ó3Ë -d¦Űy|‚̱+JĆëŔČ˙sčĚÝ1łvF…ä«ëÇç37¬+¬ŕR±ÖëůjƧśĘK÷¬‰Ţi d¬‚č(*Nş9×róąÖ§%čÂĺîë4ťmNÚ0*ĹQ.ő7C›§SžSŮď\ÍV`ç 2µfłđ§˘Ű_ř»Öß'ź>t J»GOă˙«;e3b×9źŞ)"Y}Čý۶l3|—eß0ĂńáýS ő7ZýM'ĺ`6™ŁŠjµ‹ő™ŻşYż¶Ń†#Ľ2=! † -ů śń©Ő Á{–Ő(„x;a•fă˝>Ő¨ŕb†5\>črÜ(2Rš{4š$8­ĽđvtžoŰwpŁv˛®‹KÜÄŚóŤĂ ˝±T—ůnšä©ÝŹÇúĚ’z7(ČWß[a—6ĂĂŁPú» –únđJ7;]pŮ™˛č›ŇćٰĂÁ˛ŰZÁŰĄSß‹VďP=ö4ŠÖŐł+ăn|K®ęőíÓ,ŠÁ:Â-đ>µY‘ĺŹĂ-ľłj+·›@6AôF¸“÷Uńî‘˝…Kóŕ"ú9ˇuF„qőd캥¸k“:ş.’ŃÓµĄ¬¨x×P´l÷ŠË&!ż/“CžłjˇuDż!¸ˇrˇů¸-čľ¶r,´ďö® ‘$ -úť@D(´#!٤‘ÇSÂ\ tNĘŢĚŽľ›ă–™žůÜ*Ě?żˇ×2^_¤î‰Z đG”n Ä=M‘:éT=zÔ2n{}\#Ü€âć*—ĽÚ× .ü KfĘ ¨ľÎÁQóç$ŕ‹bŕkÖÝÁ-ş#î%ô°‹cdgątźJďd&Âű«’#Xřçm"üPG–,´*4OŹť^ö—PQ»uW—›Oě.R“âvźlęžr˛ÎşŠd gŁ`łEÝH`ö8Íb|·äË :ľ ď—ßRťh¤ŃČ -ĚN/ś;ĆşVÎxÝ4*´~61Ž“9ޔˊřQĐTí‚;`ô‹â Č«¸X™Ş€Účid h<ě@‡G,°ýĺó>€ÄHĚÜů–d!ŕ—•Eî†Lë˙[î‰?ĆĹJ·ŇVśţš% e˛€˝Z†/8Đ*‰őhî ¸Ö¸Oâw9' ?»îuZ¸fEd%9‡#fm…ŕ,śź!zŃm·K§l¨zÔŢÖř˛üčI.Đ - @˘ľýěps|˘Ë=qÎñҎľł4ýŢ÷€ËŘßík7®*ůiŮW¸ˇl®¶Ô~ż–Đ -‡|©×%Ë řŕĽŰ˝ÄC@ed>ir‰TĐâŕÄ`•uJqĹę._ß…/”Y.jä Ł®ßód CGĘ+şŚK{9ŔŰidÎňáŤţő& #‰Â …ůai7CŮ‹c§_ipő‘a˛|"»rű kzŽśÖË*ť3÷×éÄ ÜqŽ´ě`ÂGH\ž|?˨X˘Ôŕ=ąçdÜA˝'nŠłŕR‘‘śžIWěhÔź ź“%ß—b ~Sn¶˙áµet †ŹJĂO VFWK˘(@ńř:¨“ě"ďXnM´h›Ţ$×ű9­S™íÂd%ďŹß_ěnmânż4ŠAň†Ü‰ćŕáa_~†{¦‰n‹Q®= F°VßB?Ză.föÜĘxrź' ËĆn2îT†0ČćK¸PôqóéíOŹ]Şż“tßË/[Pć;Úf7çM+Ű,Ę4~0eĽcyĺĺ{ uΠ-SréeZň=Ă}̸{â_“RE»D¤ć$¨}‚‡¤|ÖiŞÉÜBľĺ±-Ü+5«_p˙P.š_ŕ -čĐ7R߼äoE qg ˝ëň'HLâšťDHw‘gN™µÔ›Jź=¬ro0ĂŤc‹żtđ¸ď5ĄK‰+5˝Rr[l“2s(? g(’»Ö0ČzRjô íJ Ţ$hXĐIţč}ĄC{ E+´ĘÔ>¤ź•„5aiĽšZQ<ĚeŃ?+»ţtK’NěÔŠ—éKî·qßţ˛éáć"©Q|ﺉupä»kZűČÇ(QNK@Ëk¤ß6Ă fI'i…€ý=źnŽśä{Ćᜲ%)C5M×úĐncî™2 ÇÉÖ %bŔŚ*2”7¨Ú=ŽĘ`âÓWúúnLÚVçúűíÄÄł6ÖăęľąTŘů @^©Éjµ/‹ÚëC*A<ŕŐ&ţĽQŕĘÚł …FŹ* ±IłÄżŁ`q“bô_"«§5ýd@ľ4…»s»éú6č&¦Ř 𑮍XáLgß`€ĺŰP>gŮzÇ"졏Ff¦ŢŞHběZßşţ…gZ$śň‚čL 'ĎSFP6ŠŤĚĺńaŁ**néŔé猨ÓT7ťĚö¶ç_ ;Ó2JúsěcÔR–\¸únŤđKľň„’ăOcËw0+o«_ďz ě©‹¬ź˝á_©É{!µ;4ŻŠGcP\ą x€Ôę" €»ŔÔ:g‰–{×-Î|CBľŹŢ{řĹ÷ň H­»á‘şj!Ó” Š]áĐUď˘ ©ĆńĂŇEáŹTĺ´Y꣝…Qˇ˘ÂĆřaZ‚Ľ¤(Ě1• .řRč´çž®5ËsĐKŃH¶sh®Ú‡śçĎ…>Py8©që„VʢvÓÜNé±âĺúeíďáKňyŤ<7˘×]ÎtŔ”c.‰éŕ´T¨ţ_b˘$‘ú…5"W˝P\Ŕwß±&őňo]59a‰ rü>q´ -1DóEúář ž_AG‹‘¨É8›¶%$Đm äŕL’ÄĽfCŃŽÍňÎđµóC;ŠĎÖ0*”7ĂED;F7lô»zsä «ťŰŔÁŔ7Ľ“LőÍíźZăs¨“ŢÝ™’önŻľěż’@ýߣLSüqżó¸úGěž^Ą«Ţm.M;tůŮü"íÚD†˘í’…cĆ2¸–Ä(“Ý,Ű÷ÂJ5–§ľSý!|€›^»Ń7d!O†cÄ1·.ôwdxŹÄk'.nźĂĂÍeúüÝ2´VĆxčc7Ű+\9ştŮZł=çćJŹ›ß욏ą»ăî5iaF—>éĺ˘nXĹĆ˙]3•×_x•$óâalÎâYŮĚdČ+j+Îc†^yn}E‹±ˇď>YíäTßűŐő­—f\xíÓZčé·jb%žnIŘĆ!‰Ŕ.źŤ!ÁśÝÓy5…yú5?/i̲ Ńą×e¶‰@±Hf}ˇw:q«ţ^4á‡×[ÓJt˛ÂtɱA§äĚ’»”ýÇWż%…äĹ9ó”ýúWľw÷_vhHe@Côóĺ,wjÓ`¶Y7.Ś„»Řu˙y¨Ĺ -—3ŠťQý$‹ô5ˇśĺŚjÔP-<ŹŤdHĆ -ťKôBg¦5řç†2–]~±ţ{ĹáČ®öĚU!ů‰ZÉ–í4Ŕăěú®şqŐäśas×I—ŁŠz¬(öÚż,nunŮţď©˝\ÄX ŁlT«Ł\BŠ% ~€=x€Ř苏?µ*w“&ßýćáPĄ7| 6e[ĽF j`˝ŰÍü;‰2´ţÚň·şgĚVLşÇĐ9úüfű)^ŚbE(ŇĚ‘”Nĺ&_Kü^üŮj=ž@»‚ě­V«ý¸ËŹ*ćÁĘD"Š™ÚřXĹŁůý»ßŚB·8ҬĐp­‘ë `WYň–c=ţµJmüĚ\·Đm•ä­v™‘ţ?¬AoîÉ5í%Áˇ’â—ëúŤ(ž˙%őć >ď>m˘µÖ=/ą7yuĺäÔíQ÷Ľ]Ó›óeéŻß@@\w6ÉĆ/ -P-ŃÇc›_ݱĺ˙i«`Â#"(-]§,iŤĆü"¶đîIŁz§ď1ö®ŞĆ¬m÷H…űđÇü¸_š‘őţ˝Zý—IďÜł·.ă§#ÇŃď“‘ú\ř2–ŠŇÖÖxöNŠ';ŁPׂÇ-¶XpŕGĹçVŻ7äľHv:|˘ýHC™üÖůuňŃčĚÔľă¤FA,µ` Ô_”<ěL¦ĂătŤ ąŤQ\:>_JSÇ8=hťKb ą&ľ´Ë ZM*vŇđôA€ç¬\.ä€ţ”gŤ’„ę±nA!a-éŔΠ$%2Ż—bť÷!´1íĘŔĹŃ©Y)Ď BżýčQMa{?ž 7„5ăĄ,ĐF~€rćÍRbo.˛Q¸iî'łlFq¬Ë!ĆH¶ÓX I®Óßócv—@‚R—Źí‹ÎV/¸•&Oô;PÍe¬0ÂCţŠĺ%iÍŃK ÚŘô~NjŞtxü›óhřäÇ,} OÖż`ÜDŕ»˝ŠÍ§˘ľ„vń¸"C¶Ë†==dĚ:;łd+Ѝ¤ĚrرBQÂŔuňsÓLř=čŃ—ăŰ|Çëa0ćS“[÷©-,ŇŢuhì-27Ţ»éa„zľžÇláű˝¦o÷Ńöď0É Č !i>ŐÜÄ|CÁÇ»›Ô˝ÎŰ!+ëxU<•w—NÂ+ă` ¸űcˇ¦=鯏ÝgzÂwşIź±ôT\»ćMc—•}/ÚÜ\ůŇŐ*Ęťd{X&„ĎSěäź­ękt\'Űű^Lr_Ą›?*7r˘ÚÓéé'Ă’„Ó‡›čĹo'N<Ś”«…Ö÷Iż×_Í3(y¸„Ç ?ž×ô µk¶‘ĺ3ě˙s’h߯&řkßfSÝÇ_Ů˝JňÖüGi—»*E[Źŕ¦đ»» ¬µŹ\ăpńŔN6Ň'#Á %x{ÔV¬Jd˙Ý -µăĄE‚ň%«ĺ[#šáđéµ*Žł‡Qt‰µ'§BÂ3ţć"žá­Ůčí2ßülű—N[ÁŤ­$–.‰ő§řěUfá{đ/X¤äE‘˛•ďšë™@+ÜP<€őÄź ‘dćLUj]vĚo/>_}»µN{SQuTőoßUf‘ˇ»ĐMδjŢ$]1Q磻ĺŰ dú?r,! xçk tű»ÓüsJ…6Są'ȉF»vi\]ŰUÄ•0m»‰ĚŚŰ_Şc! 3’˙g]îěOŹýÎby@Ëžńĺ)Kľr“dc-íŰkšä§NLaˇ‡Ă1Öiń>ímčÇѶ˝5ťÓ†µ™Ś«]ďgMŹK/Wă«Ů -$ŰbóO60;€Ű¤úĽ?ŢćN‡ÄŻ›öŇ”Á„ÔTź’ŽLOÁw±AS8ťřâÁ ŔZźße2\śŢü"žÜ¤Ż ŰâLŰxßuŠ› -’Š—A‰&Pú J!ö5Á{şn qRŰ-°oŘ‚™©=-Ë0Ŕčwl‰ž M˧OÖz†¦1"_ś›OÓ2Ý[Î˂ȏGŞ -»0úwh„”ĄLÚ[ćlwsm2X;˙éMţ_ĺ7ť÷54†ČžÝĹ&c‹ ÓŤ_‰ZL…<đëc,&˛—\gĆH÷ów§ÔÎV®ţČěe|Ë—Łrfç\qh(yÍA{i>Áĺ‘ŢtYî •Ă©ŇĄ6&öťQ=WŚ˘ú÷( SşplŠ~U -bČ8jö̱h\|&=[;>¸÷Jä–Đš­őşŃކôÔV€`ú<¤[IŕĘ~>Ô©N `śn¸µ NFăx5“ٵaĎőÔ„í®QśCTí“k—’Đ­°D$Ô+GqQ¸±Ď¤˝Ç<#.]ŕ|ş/[29Y‚źC’nuá•Zşß 82oU5Đt7NsnUÁ´uÓ/Ý-ßřŇółś K®gŐS©)ý‘Cźîó>%űăÓĚ[ů4ţś9ÄOIs@{ŕ$5ĺ6ô8‹ę:żQ·Ýçä`ŔW{ęđłĺ×Ö+ÝgEĐ ç0˘¸u)Á=F”úľŻ/&a·˝6fŔą’>)‘ܸŹČTŇ?.+52Ç×dz­rzŐŹÖaűŽž Ëi¨Ę(Ź={š|M4ŇĘŮ ‡*ňMo8ŞáüˇeÄŕ„(Ŕś*–ş… -ŮďäLĺÝP-“í>ř«ăďň—ĺ­LV ęMýęľ\ˇ€rřŘ>ĄBÖŃÄ—'z±w~AąŔTS’ä-N±N÷Ä”#JňĽŇé‹ŕr7JŠ©ż»‡;źtęhaßWç_DhŔ૥×`¤[ŢçMމ€ý–·¦Á˝áô•öKްĆăCłSĎúżMwé!ę7™'ÝÜĺá§ľK70( ˙–ňMBoá,o„ťĹ†R]Y5,dâ;3’„ ¶ç—.C7Śľć%ékđźaęÁFů:±ú6ĺ~[‚Ísa^ ',pËtŮw˛®ÍcIřp„ť—ňáTŘJŚ ü˛»•}ť`7ŕ~…ź°aÝńeîJU9Šáűh ŮsV<®ú{ŕ­y¤ łŠ~†a”îýç{^BĂ‹:‘›pżŽkŚ^`§Ď¤ťŁţL%şBôś˙Ş—Ń.Y=âfSÂv -±,…ÚLbÖ¸ĘĹŇú˛äOźň)Ga“č]ľĎ~ĄÇŞ*§oҨzą¨WĽľ÷@öTŹNí!MD\!âNăD-§ÔÍÄŤ{ÎAنfUx‡<̬ôŹa‡gÎ…ĎÇâMŃÓňÔXş¦˙˛…xÁcOţ2×x—¸Ë z †6e=ĺY¸ ěWűAĄGäđő‹!ą Ţ’9§ ¤Kă.!™9s|c8f—kAŔDAi©vé_~" -u¦'{”V Íf–{śś>őFVň§Nü?wNŮŹóI‘éö!›|NşöŘť–šŹ»YN,Ök˛ -{–ÝfÍČQukěőÍx|žHI|ěJD˝Ö]F‡‡öM™< AväOFłÄ˝ŕtäÔ˘Şaťăl~ËUoZ {ŞŞŽBgÚ«óŠé›fD—!N]äţĆg–Žť–|¶2 Ýţ7¨;ťşe‰˝1a "I`K"V4ötĺÁ ®ÚŢńI }.ҹˍKµ˝"äňňA)¬ąŔĘţ¬ D¨pˇÄ`llG‰Zäpx…y>ŤńÄ»7 µĎ4ý=îUüÔFOQq– q{cŹW„ëÔžúsöˇ˝ZoďOŁdJźDŐ†—:_âjvć©GŠ„Ň2íÔÓÍ„?r%ŞůŮ[ť¦C¸7Őá+)9óěM“®ôW5ĄśąËÎŐ™ś§8%4îÉßÖv-Đ­±0ÎMzÍEĺ4Kčîž-~žýNâ§Ď›ł‚ý ICV©«€{¶Mő|ëOčJ  ůݎ–5Î|X×Y»ŔTxöĆçň‚ÂFűXĐď¨V6(˛R šö5`ŻS‰ĘÜZÄ Éß M˛kRŐOP 0ě¸Ň¤4cËQĘÓŘ—ČZŁÜ~Öä@ĹŐBÍě~n}Ŕ‡Zr©ß E57›uíÖr¬m‡˝«ýx€eSE™đŮŚ„m‹#ľ*č ôOľżdCyŇjâ§ô·Bďdőé}:qÔ&^ĺăJRעľ.ůV˛öţňČŘÖ t[[D´AĂŁ«ÚşÍÚ,žˇň!˛%vrÝçfYäÉţwo •÷:~;°}sőŃxEęMy¶‰;餀Im îxÉFů>@c$-nrj3:…Ź•_'‚bĆčb&¸ßLëtÄUnV[}ţí¬őS>#óO -LTÁ +´ŞŤlžęwĎ’ËdyW™hĽŞÔ<‰-Ó%T‘é@Zgáü @$ çv\ërég˝äIGP«Y3Z¶dÜpr)3>–FŇv1«^â6¤€3f‘Ĺç4Ť0°f.QY‹Zéę˙»ë @*űŃVTVvP ˇµ óéš2ži†1”6¶1Mr -»ßp·vĚ^a[SÖ!eĐ‘és^ Ž$W­˝CÂĎ?Ĺ;csrN쌔ťŠőˇßĎ^dqřçç;(üîÖ´ŰąŔčŁůHeRôŤ ;ý˛Íç^.˝3¦2ŕÂcŽť˝%Ĺh #ĘLË”ď‰`±ÄkŠŇŚ8\Ó)0â»=‚ÇUgŁđ”Ź1‘T, -xĎ“ÜĚ7šDY€oh6´ůÁ+\Q̦ĆĎ_©îŁ×­Á%×ÍĐÁŃRQEĹl#»őÎżfťâ*ŢKWą|ÔEĘ|W v ¬giŹéM¬§ţ“ĺŮřE„F›cŔ¨gIíýťcŤ§ -ź%WůëBő[»üÝś[IŠśky\pR ­ SÜšp}őŘÚ?\|ĄňíŽ7†?ţb“Í'ŞSbFrCŘVŠ‚hfŐ´'ŇźDšŞ•g ďčRÝŕÜ—UIă“a3ߦZľű•Ă(Ubîť8sŻÓČ… @‰ĹłŻ§YŠdĘŁNŠr‡ĎŠĂ‹m F XÜ—ě’wU“ĂëŻ7 ¸S2ĚÁ¸Śg'óýÄč3eąŞ7±§p‚˛déXÔą(fŐ%,µ[đ9ńĺz˝_˘§6ęí8‹/ŃY•Ę=pü/V jĎÔ‘ŞZ±ň; ®——ĺ_áőr×ý0‹Yč×ßEX{ÂtI@°Çźďtý5ŠÇípŤů nß\Ą€’R÷f'¶ć䡻ČĚÚ˙0;ĽĘx }ą[NZ"gLÁ"F"|­Ů’(­¬†ŚÉ"‡UĎśômĹ­Vδ¨ÜřT˛ŞĚö:»đmŕ XQ‹Í'”ÍŘMĘá!Řeuč8nbÎ.ç±t†jö =ŕŐ‡1Ł®âZ†­ĹĐŮEĄT;ú‰ťW}\©RÇ1żitäĚŇŔgWŰř>ůňŮ[r`¶‚;‡°MÜę ŽŤÖ‰SFlłZň—#q¶6Ď3 ©RŘ řţ=ßK.łţ­?|Ý€Ô&IÎŚ«z†‰cŇ(hbfK¦Ž -H«.}zŹ@Ý—Ďm1ÚK ŘÜl&őđŰŃÝÓ=I§"pXć '6XŐäŚÄ’ű„»±ÄŢ©‹Ecá37@2ĽňKIJ"÷‚Ň–¸`tvÜş€Ę’é ÍćÄ[h#×TŹ@žúbs|µç/őĺ%—E…Ü‚'|Őđ*úŞ@J0†đxÇ:#Ǣö>@V€É“kÓî°‡¶Od žąÇLʵĆFUčĐ9D[®ŻÎŃb Cc»/…MňF[m伌5ömŔÄ4PĹ©'c$Ű$ -`ŚÎ Aơöö­ÜćG57ňřĺn»1˝Č9n,ó…7ŐÎú2mz  HY—k>ŕ®Cţ\µl©hPޏ¬>A‰|'ţioXŐ}ŇßwpţŰnŤÎÝÂfNúá4ţaÂ9s>ÄäN¶_őŁĐ×ö©™Óŕ·-ż5UČš Ř2¤Ă§ÎmNH…ľ$–ńH*•ç!, `̸Gź -,ĐôĆÖ/‚«Ť'@J“Ů}\ŤFŽCĄó Ő´µ©řiYÖN›„Ő5ĎzŘá$چgÔőíjęyQaďʱ)®„ŘĽĚ€u2‘“‡xđÇď¦lšŹ1MpZú(t=ř¨zRź®KŃjA&reó{ľŇ§Żú­ebĺîY'ÍŘb]Ľţí¸Ö¤âiÖU·Ą)7ÚW&ég“OănpmV EŮĽ\ŹăĂăŇ®L𒤤\~Géü&ş&Äj¸ôň!ÝDáôש&Lä˘â‡;Ĺ·ťŘ:-^t -8¨ń6ŁÓč˙±%­µh¤‹âhŁ™ŃęčJőžŘ€D‡$?§w‚âe37Ň?Uz¦ŞĚ{O ;Ŕ G3±C Š+ŤáÍd* FNĄÓ[1Ŕ6ŐĐö4˘Úd2zE>…’Qi2KÝ&|…h ED•ąIÚ}™‰)g¦ć±ě\ýę—h[ł[ů·/Ó}°Âşł1°isvŐŐ%ޤ7Á7đfÓęĄ&dĽŞ.—yóB‘nňşCşöľUÎą±ŠÄë·<'תˇĚÇdŞë}˛Ćޏ6BËä{ßXGŮ3ş%ÇĐŠ°éWÇó›DUS<'®6—ôĚń®Pýí†që^™0nH0éŇ1t85î'Ą4n÷†2`ްÂÇKqDŇR&Ş dC7Xµg­xú!Ć!”›†ć¶4mĺKĹżĎ\ôgő‘e·X*N‡e&ÄĤ¤Üy¦L×Lxi¬đÚ)íŕů8ąäËškďŹó,-ńQꎋ憱}ŁĘŠóč0&Xf/ S\W—¤)nšM–Ĺ/ŞŠű_Y·¸Xţ“X䝬6%űZ'ě+~†č9,›s‡ sP٤(锔نňŮĎŞEŁŕî»~ss -{-ač-Äô1c]O˙cŚBKŘTvČ„î.|JďF˛żŁüJśQ©ßú\ë8u˘ź0i  łkăď 8‹:¨ŕWLŃ=_r÷F=— 1ʰčO’óY”îŞ@ţŚ'ť…»7ŞeJ®ĆozčłUI˙ô¶%#ţ|%Űay¬RĎjQ5QÉ.€ßWüëëü#ft€†ç{µ Q‰aDĎ0kŚčŐ«j¬RwLµ[0ă_«—á‘0”'žć‘úĄ&3ŮátÁĂěř€B^3} ?<ăaz¸ik:Ďţ_¨-.`ë­ÍsS[NííŻ˘‰ lÚV -Á+nźÁÉÂśŹ~îJĎĆůľ>cL™¦žÇ1˙14ňsŠ=°[G?ţŁ1 Ĺ{Ä‚•ű×NWTp|8ŐüŐWŚîŁ/@1˝ôKݢ˘!çúźJµT¨A“M@ŤčMąsďĎK ĎśYRÇön!×–ÎŽP­Ąi sw§Ýčg(ż -×uČýŹŐ·••™ĺď(ď¨Dš‹ ‡dAű łÚsJ“u7ÎqČçG&˛ń¨ýđp«ŻO`)™†[Ă«|÷Üp?żJžŕĂ–?v -.ľ(mąż$Ó°{€Ű§ó˙¤wŢ[Yµ) 6ôťxü*AÉĚ9Ä·b5Ôs,Ę Q*’‹d -äÝi·•)ËÎĄ,KDJŤČ‰_OţYÄ—6EČ’Tźˇ-\©©cŻź+ĆVÇďę“B/,Ř{k@ŔÁ+5­ćý…µ3Ł€:c¬ť ś7B GpŁ1¸ÎÁ6ĐgŞ·]ž[]ŚFoĆ?ÎqwdHY pNß|™Ś-±”Ľ›ťFű%.Ę~¶ç!ňt"”ľ!lÇS¬ŰµÝZlÔĽŔh`tă´8‚WʰŤěsçŠCç1ź˛ żHKyŰŮç<łđEĚ=,saĘŮWž‚›ď¦O ŤA’R÷•‹:G9ŐÁ“?÷`r{Â& -‘ęďďgoŤIyr|ňÉůŕ_Ä ˙\řýšd61ë(ĆţžčÄ€ĆÝTks ŽGŰ)Źĺ‡n|MzÍXë±x˙ď•˝'ŢąXýE8RËmäč7Üó»­=y¬żŁŠ`Uvźó2d©·ťĹQ„‘E‚ĽébQř€ ±BÓ] KóNoŞř˘Â:ia.hűZSěm/qćĽĹÄ<Š“ Düáč^ŮŹ‹í•‚ÖF&Ţ®aŽÂ<© ‘‰Š n§2OĐQŠ*°$T!©ăWŞŰ<>ŐWa¸±żpqë!É]Ši<Ęk.˝•y3ů)Ú=ß ĆuaŇőËő9%Ďëw ź(Lŕ1xDS8/µŠ˙ńkm‡…|´ -˝< Aôyiđ`í&ç¬E8¬›d=×n'ż5ζň8µÖh^ô5¶ŰI>ŻSžö¬”=v¤([HÉ@ZÚŔĽ¶©{Ö*=#]Ťžë×k0ĺĎ}S†±oÂoŃ2¸6pŠ˙±#eĘTD#‘ě'ŘRşfąÜÁiw¦šĂ\äĘuçĂ€Ý}[ÓfĘenüÂQ©¨GuĹ{7}k äyŸďR§†ĽF %V·Ďv»„˙ŐNŔÔEgܰ¤Â0čô{Đă„iu xG+JÖl‚á_nŘXm ×b)ç+ótĄ}přń©,µ€K*Đ͸] Ĺ1•ěfý!QÝÍéŐÝö7ç@yőôŘmŚ#ĄŮ3ľqËQ>wśđt]ôďöÉ9Ë#đm»FšąăAĽ1ô,yzŃ)Á׹ýqvX˘i86Đ/ŐŁ$ˇĐ§YsÉčߊęvD,ĐpČĂCl&-†VěNęľr(>áÁŽg™č×měQë97CôüÄbä6Ě"±tR2RČź;¸ŰXhůÂ0ë!g–ű'ČÂ… &ĆĂ ů ®®x=±˙d¶?ŃC«ÚńĘ0Cťg9WťÁÉ ľ$baÄ©ŚfşóŁ‘Ôóčä±&ĄqQڦ™g9ݤëDÍR§\ÂÉ‹kďí9śiţ©©qÍ—ř°pŤ«Ě˙ -ţV\ 1ó”ĺŻG#Iă;:Z${–“•(ńLë"n@eIĘaVIŞ@—nBˇ$ű§“÷ ŁýÄI@ tŇ-OxÝr= ˙á|‰ĺ^ -D4GŃ~Ű#Nüä5%+AŇÂkżţ–ĂŐäuXWJ«Y_‘U+*¦ůô\ľ/-Űaŕ9tÝaAU¨Zެ„˘ł#†¶á÷řwúCɵÇĐQ5 LAž#ń„\;ÝW±ť+˛x‘g2Ą÷ş¦S5=ľĽąúwo…ŘRµý]Âô’»ü¨r+٢+”dŕ˛}ľąÚ(/¤°Ď}Ök˛}^Ť.Pß6Ű@®5ńÎc˛¨ŻŐ€Đ2ůRrÉâ8ú Hz×ŇśĽsĄbđΞ¤÷ 2 ¤Şőň\3]8áH\ß›ŐŢcHô['ýÚŰ™WŽ?"ËŤMŞůa,ră´ŠúS„űÍ‹úóť°ę벷%ř>2äń×ke.rwôy"íę;[ęž9jT.¨?ăÍ ŰÂÇľúŹ·p4I^LaČs¦ŁúÓÝuŃ:(÷ Ëzq@@‡>~Ç]­ć‚˝G}ޕēÉýO¨É YŠyňYú¦G'7T+&|ńĹ?fÇ+Ýý(;3:ÚĘ`Vw°EĄ~“r_ěŢ ÷˘Ţˇ-iĽH˛ů3F ~ČçéA|ť:řT'Ńŕ Ň~•ŔKä”dŽ(ů;Ń®,ĂQ¬”9+ĘĽ-_ٞ›ËŞ-]ě¶1ľ•Á*Ť=B–‹Ň­Ô™ŕçGŔ؄֍c#˝úi±ůř:öĺ˙5ĆxßhuO¦†Ż8 -=Ú]d×@L©¤ ­Ż‚ľqv[˲[(Żř7ÎÎĄŔc|˘ów㢇ĽzEőËôµŠ<4[`µ"•–iŚç›^°DÇĄ8AşÜrr×yi§"ó·›fh¶†ŔÄŐ!‚ą‘pŽl?«Ź5F(­‚­˝P« -dÂNď°–Ae˝ ZEW„Ť8H‡l4y`ă_GĽ‘xÚŕgWŐ[¸ÔU8ł5JţÚ'ú«’őâĆ~-UőľőZÁ—ňÖAĺjŘҬ) ý5“ŰĆ˙^xáĹ@˝ß}_&ŇvqÚ_ĄŮ•üŞtˇ VgÍ삾^»ź>pĐ |bqy÷•ĘÇ­RÁĐ‹ řđTc ŻpG˝C˘aNőË3 |¶Á¨[gŮ”×_µĚůapćʢ,aŤ5"Q™Rm–{Z9Ąźßý -ÜH× •$Â3âą`7|ä;0ŮáA@®J”Ą°ÖÖ0óĎł3˘¤ô-Ż”6č{­Á:đjňíY:X\Y†S,š¶Ô Rł9uQµ9·×şE®}ŐjĎxĵÎ!ô˝fűĎÚÖĐđ6˙Ę׸̉·[(Q Î5ÍTŁk^Ŕţę*üŰ×ő“Ô!Ľńä\—˛=PVů¸ą$»ťđĆŰDg&Ń€18¬zß~\)Ó‡=×Y56] -%1ŽŢĺ Ś[hß˘Źľ®˙ŁË«ˇśáÔś›¸n%/źĐ}ËŁ‘_”WY@»oFěö*[¶:ôědĂ­Žđ<’ßŰgaî9ť¸·Đĺ•Çş&d~™1SšwdۧKz §ň‹‘ô6 ¤ţ*ôzZÝ[w¨ď/Yë ‘Ňé!–;ŃěÖ¨łH»DŢç«E'‡'5I¶=»*f ç]§Z˘ˇ1LÔ\KşMzŐÍAĽ·äX}65?˝.ĄűłFYnĎ d# lî3U_äČ;ăű‰Ř źO@öĐ‘*ĄŤ™1gđ…~I€eÎ1ő é!9ĹÚ¦*öˇ˘DŹpe‡Ç{ŐnPěŶBUţXr†pµś$ë6`4éW“ěśtFWź˝ŇtšŔČčż8®0ó"]á­ÖN)W1 %ŽíbŤÔwŽóW0—ą”Wy{ôϝއ¬AčždÉ<8MÖ/Ź4}h¸‹ťĽţőµ”—8ŕÖ:Ź\±Ń ˇJ ąŹEëIYeNÚšOő)dÔ t|Őęo?€ďł†ŐŠâTh€ş'b:˝Íz/NË‚[Af“ÎĽkËuü~ ĽĆJ+ %ŽćîqĚ©2űu0„ëĚďú Hł{_Żçí—ń˙4˝ąQíÁöëłHÄdNŔ´µ©׋´!“üž4K•$ěU€‘AUŇţžĽ›C}ÉŞŰVÔů*ňôVĂúŹĐ|(S-űuź«fCK˘öÁEŘ ůkĘ /zőß?zĆ|3ÝěĹ߬9Á PNšr¤[żůĺ„K¤{@lţÔ~‘7ÚßANiŐWątĘ'gßÍţŕU>ë<öôײďwjőČ—(´¸!ţc‚ĎÉ˝AbîÝ5„Ôl“”oŠŻC¨e¦ěŇmqăJŐn,~YòhT_(ŚV7nsDĽŰ„ŁÇç-¦Aq?yM‰;ž˝ŕůő¨@.Â(á8ŘŞăöëŐbݩߏ—"ůŤ|WC9~ ł?ŇVÂI$hd_­*äÇ0;mŚü{·rYÖ•–üňůÄy†“nk€Ľ@źđm¬O€ŕćQ™Â…Š¸ŢŽkɰ/‡č#}2úŹoE˛’&ÍNđV«ď»C¨0šôŘhŚ%Ö{ÓöçřUn? ¤ĚTĽŤŽł˘łD˛ŮćíO˝—'§%××·‡Dh\i‡că˙îO>ĎuSÖgˇÔ=öŞrHś´ů¤cÜ@ů‡¤wÄć?ŹJˇó—¶1/Ăó ‚’îś*X˙ôEŽôFť‘~uŽQŰTáŹ5ňăiŽtËŠ«’i[°NšUf2ü,zî_B%#˘pî0UĆíäAER˙OˇH©¦ˇÝěömŠŁ„o^V0qĎľDź×Q÷QˇÇs  -/ŔĂßţ´rüŘCŐ“Š…6—Ę©iťQ/ŻęW­qŚ"Ľ:O; ^ś«baÂÄ‚…fˇ@¸3ęc©†_€NF‚;ďL—9¨ÍńÓ‚§ÎS—y˙+ŽjĽ˛O;Ą[vŞGSV·Ç*-Ϭ´łĺúßiVv^ěŔGüI`Ü;Ay Wą™;e\~‡ÔÓ§,†Đş’léë§«ŮđĂSkŘł.5!O~†sfĎÝčL‡'ŮđôHn…ďtBű“čZ˙`ůL Ĺ…–öâ"(eĎ® >rX6!DďČJeuÇôWĘ©fOŕRበ-xü[ý -©•eOÉ=F_¨ ‘׋GBËZŇ×= ĐJá2Á%"úđÎĂÇ_bŐŚîćŕ)š**bí2<×č]ËŢĄôřIź“,|VS$§ŹűÓ︩"vŢęËĘ®vŮ?8I<ͳ͇ĬDžf§öcĺŻ -ntń,˛ćW†ăř íďfËXđ} -»ŔŻ6r*ô ^#äďô‹(ěĚ´µk4®NxFöÖă0 ¨Ż—vö˙ źIꊔ¬>aŢ/Rfîźc6sLĺq×’Źpô ` î¦zmNóÔ; -Řk‚kl§Ş…囜Ôć§D0k ;T˝‰ä;–#VrÁâ¦ř`W­Ň¤m/ąÝ‡˝ś\®\ŔĂžúY ±\ď›)ź|b f<Ńfßns†věŇăT™2ŐS4ÇdQ¤‰?µ[ ˙{,]bŻđF),:]”Oée9ѱÂ>e<öÖ‚÷LűLh’°Ë‹÷4‰ ­aĐA|E×ę'a éŞÓ‰㣒ĆŐ&ÉźÝA sČiötó~ÎĎZ`›‚ă.ęT˝ćHřŘŔ (Ú»ĺ~}÷{!˘"%ł±˱ş“6 Ţi|¦A2ÁńŃÇŁďeHŃyő#hđ'qĎK ŞKN˘ŔÇľ ë„ĄvŰťV˛0;NnŻŐöDj‰Ž»ŞßIžo†čńâ=٠­ #přŽ'šä Ĺ#ŕ[1Ę#G«~Ż©PYţôbu=yźüms±Ů›łďŘI˙é•«îV—ŠŹHýČś¦HF(lýínlUdú)ßńqVĄmĺ"›At,‚™řś Ě~ŁŻ`Ŕ*)Mj!#÷˘2’ŔízĂpSÝźvô0 f ą-‡sŮŘ'Ř1qz‡ç[Ž.,XÍ4"Öşu;LÖâę :Ľ}QmKďČ^RÔŮ…j&čŮ˝÷ţÚ˙łś‚”Ŕ×™ď]ňáËhŰidÂ#¦űF?Ľ 3eÇ{!ˇE]A¨áÓ1PĽb“iRżtWjměĐ=ćuQĂ˝—×N»cb÷‚–Ç8^¤8@v€Şď›Şď=îŠw¶Og|±f×…––|©˛Ž•hŕWJ©úđyA¨ăhump[3˝úY «ż’YŹ\ľµÁÄjŹČUĄEᙼĹj—§×ʶߗBc•Í,®}‡˙dĹ ôŃ”¬·BÇwŻ÷ă ´†“PĽőh\ eFP¶09Č•,{—šÂż;ĂŘb—×,?ÚůK>Ź›h*ýóhďóţÁB/ş’ řw´ÄWĂ2ëýscoé—^Đ*Ú˛ ŻX.Ď/@B®‹üźÇ - ˇČóŕŐö·ř«Ă‡=7×\Ą˙Á0#*Ř:»7t€¸˝Ąć%‘Mˆ¨ÜiěďiX•Ř„Ö\N›ťŹőĺaĽ·ć˘â]·4FŽK/*ŻbĺżčěéÂËÜš—Ú°ŽRßłůF‡™ÇKî›É:‰ˇ‹*….MUâç}~ĆiŁ -y'-Č»˛ws•Ť˘|KZJ®«ýőó;=oó¦3o \ŰZ›§Đ8>ÔE3ŽĐ_@¦=-‹-Ľ·ÎYŰV jftEăť5ę®–<Ă@3——*d,`€jqć+˘Őtb%wv/ö&cýÚhyBt·ž0É"6ń¶ÍŔfă9Ë* ŹSfć©a{Rĺnë“xYKë-nÎĂJbQÎu‹:5A«4pc“@:Ő†KK .ęKPZµ¸˘ű7.T~‡‹˝¨XFI⻑!„Ů_îR›OVňAÜYĆwî6Á ŃŕÓ/Ňľ_1ÄfľG˛Đ˛RąqcňR‰ąóĄŽQŻXźŃz[kEb§d¸±ł4r©»Ö ¦RŃŠ Pcp“cąúĽĂDí¨č÷ëň,­ůĂ˝ľ«EQŰÔ7éí˙{ťť… YűrPpĹ[Çq~§sëŮĆŮŻ»}}3ńDFŞ µjÄČB»ŐäőáDÁ~–BéBet”NŮyJ[$Ţő5sĘCŁČ#»Qmrçg‰R“ç7 ‚s›ŇX?Ä—,ˇOž&,*—äÔQť}±‘ť gëôľąŕýÓă©]7;^Ţ@R?ÍŤ´6;Őďĺż! 2ŽÎ˙(R€cŠ{3¤AlżęĂFâx¶ şZ‘EúPňää-q÷*®nNcţ{ä€|0 ™ęôçµÔ·y_PÓ1vέtGÉOČlIĎH"4şEa®‚9GWRX•'Đ@”ްaĽËlŮÓčíTźNpŔ—"1â¦Y˙Ö5‹żĄ[]ąýöLj·@еňČŠÔka»ŠĎíĘgNČ5r)Âüŕ´GŃ’|*D¶ŕLţČ+-¤¦$Ó±®™ŢĆ@:× Ś®mâ>×9áŁó.Ă9UßČĽB‘F”y§sŐ©H_˝*a%Öęş9RIŢ fć`żÓ‹‚¬>¤2úâŃÔ/·}Ł[Ę5·í„€p÷ĚR_yZcnDµ•ˇ•Äņ˘LD—˘^}âK7Ë#\Wë2ŹĚ$ž°žrS„EL˛řsÖ-Ň]‡°ňJlylŕŔ¦4¤€P]‰µĂ\wtęÜ€Žt”§¸ţČŢ\˛`–Š€"ů?®j§ç5ż«–tµWľ°×jł\UeŘ•ĎH őR$ö`ČýkuȱP žżä)>˘¦J‹p·ë˝Źí쩥ZLÍóěÓ‘ëXÚ¨A‹űšgNwĚĹ+Ú2 ¤ ĺoKćPP">˛v9s˘˝rUÖřÉ<Ńynu!µŹ‘ľaěIPakž=Í^¶ńk&Ý8ˇ6ŞXzŹ÷¦^đVó=žŞŞ`÷ŕwĘ::5ĐŹęřŹ5ck“NaÜƲŻĘ#Ĺ$°Äußşă`>NN)4^| ˘I¨bT-ŞĘFÁ)Ą*Ň×µ¶o¶(ţ“h›6€çU˛?Ď,Ź6p]•áî: :éôŮÚ’Ötž™'ě 3Ô`\vť ` 3djEťŃ|Ë$S©‰~Ş^ â”ú>Đ]O»[şşă{ˇ,6" W„8 ë°<ł´«P×Ő“&ľ‡D™ÉĄ˛Nľ—8öËe·nb]Zik—Â8‰ó“üŤĎ"ę|&ŹŮiŁ! Ç.©É6ʸ:}čcEI)cŮŘvĄľ7[k÷Źëu?Ďç丑}ćÖV”ĆüH>ž «:.?Řřx.Q˝KĎíßţŞD䛚3˘Q+# KCîŻQÜ&Ňę! ow}Ł/—ÎÍî9ü8ÉöôHçíźóÔbĚšŚëtî–,g7ęvčÍ“Ee$’e!PM‘ -,® Ş5N§HDcťamÇuP}żLţ(®čgçu@#Ź$4˛·ĄŽ5,÷kX˙#;ÓI›~WUźZďń¦×ĎěĘ˝żąo×íßKďYgwź kN/kŠ$Ď‰Ž ¨{?cč_Ä ’–lŽ–Cuo'ޕ԰Áu9°ú±Śý[#6Zk~Ě˙j4Ô®Íáć`G2łFt'ź';™,Vł™ľBÚj‰>ĆşsQ:¦o +.ę>8Á\˛”sóĂČ:üĂŃ«ţv˘N«­¨KEhĽä!ˇÄĘi‡BőŮŽ]/gçLŻ=D`¨g´đ…Jëm]­€e“AŹ.®- fÜş¬Ŕ}ŚHĚ„JxĘČLK‰ŤĆŰ‚Mhů#© "đ°É€čÁGýÍĐÜŰOVČ:שr0‚ěBďL Ź-%č˘Ő»ńŔKjÁ˝°'ňCň">s‰ĐÄ -˘®ÍĽ4őűů_úvîań?ÚnŁö„ ±>^Ę}‹ë·kÁͲ~Íx†Ä-˙4ìý¸B|,<='í]çäb2ÉÍn^[P5GdŮ)Ć©áŤY’ŇĎ ńHą/ÜŔ¶îP'gŮŰ#‰ŕëăŰW?ÚŚč;)K9é")Br ޸ëÄJáÔŽ›ŰuÇÚĺ-nř#×÷‘‚ÁĐy;?ĐĺřcŰÂťaŮí<ÚóA0‚đ0t/Ťo»|Ü{pßĆQs±×˘qWEî鋟ô¬¦iĹ÷Üń¬/[Ő~P"qL9ĄĄÚ›©Šą˛ŇčŃß•ÚÄ>Y!ĚG‡,H–ŇŕĚ˝Yô@ľŽśR§řzőy¨Ń—áË,-]čŁđĐőŞVŰ,“}“´˝c+AHŚ´ňî¦cr¬č Ž -„Š©ú ±áB“}oÍďÁwOíŻĎŠ Ódţ7-ÉŚÖ=a’ W˘ő€˙=.“ż*ĹĚi=›Ő†&î;řYN‹EÓcs ÂÄîôńň›¦Ř˛6”-.z–sg2 o4ş/7sĂ®đál đeŮĽe.Ő—Iİî‡XSy’‹•… •â© vâť?ďĺ!ľ Ť:™žęŚçSj+ĐeĹ@…ńžšStŹ@Q TS•9´/(HŘŤLáKPy×Zu>¬8|C  Ąő¨Řr:膮ًZüÇ{LŃhË4“ĐŔŽ/E1`9Ä 6„«Ą·łÄ9ň¸"@‡ÜˇúŮ}JWŠĎĂÍŇ)A@'#ĂCkJÝWnłćyyę,3e¬jxż<>b”Ż`©ťBđNAč–It@‰„^·`—:FÖ"‚ăl¤P‹Ţ)aéÖË:&Ż•B…upÓ˙ t~Ü‘ŤȮw˛J%…·x„1Ř;BlǦ˛ć9Ľ®[㒳ʗT‹żŃĄ†°t€é"ŻĺMöëŇö±K\||çÚil»Ý>[@Úž‡SŻŠ)ü˙g*}t"§őŔŢň$Uˇ-ÓÁ–s ďŢ jˇŕúúg=apśC-“‡BÍ^ЉW‰Ü™ŰüSĽ,Ę_gŕň ‘`}ć*xé0öA%ŚĹ˝Vią9˘J|ŮżÜ “şU‰~S8”ë«ňŁßÉ×á6SQÓĘ·…׸Ććc}+ e #ăZ|é5jŃ}0uÓvJŹÓÄ\5©WÄń‡4ĺo(ŢÇć+'kůőĚ+.‹0ú™‹uZźőä¦<őŮ^€.ńžÖˆnčf¬+ Í©t2¶ôß0ÝÁ†BŢĚW×YĐé‰X… =fŞĺ3>ÍÜ -*Ö]ityDP´lN>ó©đŞźŕŤ©Ú\ţ|^ç'倲ýÜšL4Ů[ź«tÇăÁë{°4vŮ/˝CP řŔ3Žg5KQęř´ Ő’¶ŽŘˇ"©cJ‡. Ź)JusIŢŕ´·ľ#„ăô)%±}Ő‘ËÔfH}µ§@•W×#_đ'ĽšDĘĘÂ[‚„ĄńżR˝ ă?žţĆöÓÁ`ľZ¨Üdɦ¶˛5î”÷©O†ĺ`Áho{ߥ!g–·«  $ćžąÁ»&ýgWÂż+LŁ{˙ś’éeíđŘd± –H#ßaG.{ÝţC˝o$řÍ‘Đőx9şG3@™ ôČđ·Z»Ě1ŠW1ěÔ딹ż<{Óć «q~őqŘš‹™ĚÎTwO„śçžÎŞP{Ţ÷đ·?ZBÔfßzŤ˛›Ěűş*€Ö1®_}ÎW<Žk8Ś÷Ë›6Łt}—+‡Ë“ -@-ä[»Ng€ «˙V¶Ž/zĎT Űó)wKÄŰŐLžÂW%öX+Śö@qD8-ĄÝ}5ŽŞżÁKśž8ľ>QŽÉ^ŽÁjE356ŇÂá˙ť ĆH%^»ó¦ä—•´± «ÚGęČá,ˇ{tĄň{ëa0śnű˛´j˛űňL/SŘ źĎ«=S‰Ô­LîzůŽÁŇń -ďz\+kŘjfX› B(~zĽ†ŞęíĘŔ·l M®PÜÔ@ĆŤţ÷ăiÉť— ©^䀮>ů¨wÚďÍMÇę 7 Â[p)JUÓD~w1Ë|? 6K”| ň©ŰEřňs”5ł>öŚş[µFA‡(˘żđ˱!_}¶ŁŐb°ś9 q—ÎDµâËxEĘ-j‘Ömă“Ţ×=$™t€“†ÔQ»H@6~źhĎśÝĹis ¦ -Äół —|:•@6)V‹ż —`śY^T ůÄŞ óh,Ç. 0žĚ»ÝQ^/NlÁ|#bó -±9â™ýÉíy˝ůśĆľ ´«żÚ5_Ěž‡łĚ[®¦«OçÇ8ÍeXß'7í¦4łđÇś ˛%]_&ő†vń¦Ô?pĆ7î «ÄĆűŰ8ó,˛dÓVíĆZ@*<5Şa.ě´ežU˘FgÍĆE– °ŔŤAŠ!ĚÖĄK&©”±˙Ăm°q +@VŔéő$yŰ>ąv0‰üĎcA=×a2)ÍęŢéiŃÍ—…ůłW(v±iśeô—Ű‘ŐÍĘ(Ąm-¶¶P×Y´+‚*˘{ĐR2#pg´¸łOšĺóâU!ÜLŕ±ćŹoĄ}ĚńOp,Tľ¶śFîYMĺÉE^đ=RěĄ%T^AÎ5٧ó}¦áŘŇž“…ý˘Ř¦š<řÄÜ@Ç™~!±:€+ĽtT'äű äĎ©µËäĘr¶o’ܱ&LĎc8ďă‡Üě=VĺŔň'ŰěasƵ{Ŕ©@'Ză$_‹Ź,Ö‚FATŇÍmxŽł 1#…6Hn4˝C[GMŹńÖŠXÇÂťěőŢŰ:‹ŚHćWŠuzŰ—OôŤŰÉ›ýICůxŁďĐh0ĎzťmB˛‡ł±ÍÇoú2µEĽ˙íkß#˝Sy2ő®@ Ȥ˝ŮęD¦p]1Ѳu»…ĂÍĆ)íÜ3ˇ©I‡l%4)ĺNZwő™ĚÎiyZŐpŇ^ŃÉ÷Ś™űg¨µXÔ«ý(ňĂĆŤřnžŰ …B¶Í첺ŚY&CȤ‰¦Ší'4>Šg:ň°ZěVŞE’¨¸drKÉ4râ'nçâ##7˘÷©őˇwjě†üžçB^*y;B€Ş"Ä1ři ¶Ő50ÝňůÄeWź…ÜeˇsőË@ą“óuCmÁńxµ?WÉK€l?´Ö~uI”‡ýďÍoţ46,*˛;]8‹qĐTkíaŐÇ™«ŞěÖň?¶Gż+B$éK~sgIŤËěTd|r©_·¶ă–“Ĺ`ĚDA(őŃŃZmŰý =¨SnpűżđŃ…V»Ó üÜ\ţÚ—ănŐćCšĐÄ\dęX€ĘݢCřM’üeŮNcŘn‘4vXîŃäC˛""Ňľ‘n&ěDŰ"Ďéă$†¬Ätô_Äę4ÖM_Šé¦Ž]÷»Ó“dLńµ_[—Fťód‹´řM¶™ű8 ťÓnD­¦°(ĹLÓ¦°‚ |µ×üÁĆÉÖ˛AiɧʗPkřئü»[UtÔ¸¸Ĺ%Ąz”˘üĚŁ.6)~7+ł‚Ńň’i¦ÍĂ*śA·‘ÝďéĂk<ö:rŮkS O$0÷J -ŠěIË5hŘ®y¸ß”¬âŹú¶§{ÎIŮď3jDűź!ÚنcůZÂFůHT mĺąî+]׺©zU5•ŠĐlđR ˘ĐáÁ'N­á?Qí'4-%Poí)ŞŰîőŢ»·wâνYŤČ G˝ôéR/˘A'őűł×-ŤŢÓ/`č Ţ÷ę&1ßׄ"%@ èš;5¤ĺMíŢ 4¸Łµß[qĎęZP‹¨Ő4¶9ËťÂč¬n±I1‰ă6¦_‚µ¨‰‰ĘRĂGuCôö«Žáç<"´±F˝‘h7ź—AˇîłáĎó7‹P¶Ęďc"Î=|‰ä±†ăt¶RKß#.ĚRÍ)ý´i“—šý9éč™A±ő‘!^Aáů¤·'϶O(.Îyß!šĂo+űŕ-1>Ő.«O¬çęm±“Á/0ÓĘô*EV@ęô !銳»^‘„ľ/ý˘üLeŁ«¶MŘhG¦Ľ©ĂĎ.a Ň‹˘˛—ůEpZUű$µyĨ-ÂŚů}ş*Ć©ŐđŁ÷Č&ćľ@„¦i[ĂÓ´ęw†îaýʦ—‡ż{:Dh׌ˇA†ůHk2ž\nLq1­őĂŠhń:ÚŁvĂřÜ> ű’™„ů+ŁMZĘ/´Č$ĄI燹|Hş7á˝\ÄšňD -9Çv1u…"KkOBň(3J`Őµxđ^˝ÜŁ;v9Đ±Ş p öE ‰ZФ ß2yÓFÇöŐßć “˙L6|1H+Ýťđ´Yĺśä5&ˬWNb¶&P«Ô -ÎĚ_%ő/Ěş/áˇíI˝ŐUŐŔâi%ĂQŞTŁ‹=YɆ˝lß«ŔyhurŽbÍ) -©ŰéZ˝ÓHĄ& Bdظ¦„Ęź–yÇ‘|·Ó—ЦľuÁŢ%ćţĄ˘i˛f$ÚÂĂXUňĽîc§äľńL…Ó'< Më{LWWó Ĺ!QËe -Ďoóü©eaZyëŕťN“ZóŁ2íÔĺx´×`ŘD|”˛ŇëÁüUKňCę —+K±¶őÄëj îh|ç \óD~ ¤ăZŃŽ–ߢí2ĹËe •xýyVŐSĹ=%Óküłč喇­ -®Đ7ÚSĚ!W`ýtKÉQCD®yŁÓMŁéňReâ/Ťzµ ŚŁT±FI`0SŮS°«,w® nĄCEEhtŃűů|oÖr€,%żSŐ]Ľ¨~ÓĄ'gÓK<ď&USiĄŚ´ŁŮĄÝ~ŤcO+¤'=*_YŮř­AꆕeĄ°×Çv±©Gĺ·ŞNÓĺÚ>?rcj˛39»Ó—ß«Ąä/: ¬űŃ…Ş^lQ!qŠĆ×ć—ZL3QJĆQ^M2ăfá­¦ ŽW¸ÄU+ۉ&ATA¬›bcbË5€"ĂÎ$6pT‘ˇů#X)ëe%ĂČo_3ŕDAÎzBéđ[2ęh_NzQşíî튵"@Éř§ŐoQn#ŕ6ąNŕťčhŽ×…M©צšÄ>h× #íę©™s": ‰XŮ8´ćďmÔ’4´_Ŕ7ŢqgČ*|ĄÜŻjA¦O†ĺ•Çr#Oy)ł1™%tÎmş¸;z‡Aďg0pl cu†=3٨ŔčŘoć}O„)°„űç#/¶pâe€´…bÓ´đÉěy%p÷»ÚťúJHËëŃń>IGň–bu©¤`ŢoŔÉ3>©RĎ©“@()j|˘TěVp ýAÇ!q‚iŤť'9iwŔ5ťybÚĆŽ–.ľ ®“‚‰Ó·őěWuż®˘%!‘bťĂŮ,8ňěő2ĹĚN5;‰=ἳ9°‹vcŰ °'ú1ÎŘGt†}‰V8˛[VYŃń®&ÖďvT?iLV_੹fƇSu@Q1,¶«_ŁD1'_l)Ɔ•†`FgŰ˝˘ΆE ÍYÓ¶F˛_HmK4ŽnwkÖ—sǬĆ!ǶzNyŢ?8R®¦´ú›Yľ‘7!’Ea"Gńúy‘ůVŹ!•F˙ÁÔ<ŕş«3śű™'kĄÝiBÉ>ç3‘4n ­:.ŐýźoôĄ!ĂY,ő}_Đć’Ĺ -†ÚčĂüě‘ŢG¤Ö ‡âJü»ů¨Óen €ŤÍ»LLXËů„UŞ™Fß©źWŮŃň¸¬´RR±u=Ƹ]ľ'¤ˇB5M1G ÔwżDüfđjÎú—g—Ú›ő63 -č›»g.EŰ >NÎFČ" ™íÓ‚ż¬_hŽ®$ZŻÇ¶?Ŕó0şEÍ©÷3€„Ł˝ŮB˛CöţŔŔű ‘0NQË׺é&Éđt˛Á,”Ő`ꂼźvţŮ1aÚoŘŮĺŕč~ôiĺjď_Ůn·Ł2í¶řîö[;ZůGĐu Á~ö‘ţľuőĄÁĘ)ř{U=âţąÝ>K8(¶Âű±üĘÚ*[3\`Źż¨ÖĎS2e`»¸UIŔ¶Fń1ă*Nâ/‹pë ü:ŚŰ|z^t›ťŞŤśUĐ…!×z›—ítĚŽ’ßéФůŤj¶•¤N‰b­®«˛ö«|YŚďăŔÎÁW=®G¨… ~ŤŢľ÷1`ą•X\”>0SĎcű‘^š·rMş -ĹĘř4yé…ŞRÔŔuTńdŘ˙Ëôç÷ ×R91‘ôĺĂŤXn Hđ †E˘©ŮŤćBÚűŠb&x`epb¤Ż"Sb'p[č«wW(h »}ÎB•ŹI*iČ>«Psđd2>| YpĘ…Ô^oúĄV´ËžÔŇ­hYW8*R’JCüîşś%H2@ŘÚN§Ý9 ’äŐäęź×ÇG•=Wm&Š"ĂëÂ?šĽw»iýߓ鋩NTďB -Ě.\›µŇăwÝĂńtGN6Ů`ú†âc4ţÚ±ý$ĺa‹sHÉ®Ń"lż8)şÓnĐĘ | üˇŇćA”ăd Čŕß_,űĚ^Ęa&yeţ·,“€HFćaĄ…YçâěMÔ¨;’(T›ťŕ˙$Żî ßÔĐ+~!©şxăĚu…ć±g˝…xP×çqy•?OOýPw‘[>ť—‰ÁP""ĽąĄÔ×vÚG}ďłéżçdę#±kîvńş–Ȣ rí{z1cPol*~íGöťhuFnŚÂ¦Âq„S}ŔŹÓ_z0śéë·j¬5%T$o[µpËŞR™óŽ„Ă^e§b»ĘQŻ-µ….{VĘlięS–×D 8Ž·QĽŠ7 UWî›W[ z8):2 . SvŻr.ĚłÂđŃăôèrJ:ł~6/™Ó :j™“€"rCzĄxxoýµńŮťöS^t¶š`KŹaĘnwiÜZQŹJ·ô ÄÝĘt‘ć -UzĆ4*ěŇ|âáÓîVśĎ ZßÄ3nšu»ô^˘…ŕŔTč#˝î†Ue °™,›J &äÖPóĺFg/á]@˸j.ąOÉĆs,u–)Ń`˙ä93+=ZŘľoöąP -¶đod¬fűw h'@˘ÝÚaôÂ=m7Ńę¬BXŤî&7ń2¤ăjh{Wýe Q«ŹÄrĐ7.Ó˛ČÉjsB±Íd6G0¸° ש+Ëk»ę%[,ă»qňç΄'eÂ#6v«ťę—[ä˛RĐŰł˝Ňż[(H/§ĂăP\őµf©řý!!EňDşb) @\p¦« -ÉX—×í*™’Î-îňź§_t`HU”ů1¦Óű€ŰęŰ´>cN_j -Ż{PößŕVÇ ütKm-ÄojAÓYżj;é¶â\…q\»x_ß®ĚÚm:—͢V5_˝a·tŇŁşŮť®(ęÓ`ÉŰuĂÁ‚¬SG¶43`)•$”CÖčMJ¨ŠZŠC.PAŠ7ă•uróaÇĎ—AĄ0xnW’KľW] _p>śˇĎ토͗•BŚ4UŮ덨Ő*í®“‡a+R›š9=+Áęeëµń%ďű˘§YrŘł~5)LE’ŐÝI`ć(žĆF‰rŞ=%Ăv}‘ŕdńÉćĚP9@g€&Ć«“B70©ň_] ŞXk}óôĂČóĂbĽ`QŠŠBąkĽC1>±s-qábŶ ¬P]î<Ţëĺ/Ťa6 <š”hxÖiSąwĐř[‹Śl÷é9tÔ=Á©Ż&/­‚µżßžz»3úi|~ß‹"çĚ*é›×áđ‘G hV\„fĺ­@±üC–Ĺ-ŰJąž>53™_ĄáŻń˙P‡ţ‚Y…Tˇ×LÉ}[§öÎ(É3Ôe#\LŢ3L˘:›jĹtZ%GH~óOĂĄm¨Úś-hŰźŔ|?­×ŞQ•ô´_ÇőŇóe„1„H+T˝Ě!—±™aj^Đ/ą -VBą?!Y˛IŰ÷TB~źBčeżFĆ „@¨Ć‘Ë˙}ŐŤ˙€2‡ľ ĽjŘa_ŔVÁĂ@䬒ëáFZV-i‡íŰ#;ǧżU Ő3ĂňŤŠĐ <( ťő•pK#"mž4Ä’TŔVŘłŰ%Ŕć=ţ-¤őëUC˛‘ë<0ŞoŕóÝ5^]§˘ĆčTJTĹîĸłaRËMbâ˙9Y¦ă2WuKK 'UâTśŞÄ&ąYV»pŃz’ÇvńÚ~Cň¸ŐĽám2ĺgÍ ˛Ć8˙×ďmç7pQÍ?ëXk‰d•çŐ1ٸŮ*W ČJ¶mř÷őšźpcYăU\ŃÝZÖťŔz¶ŃŁ]J/BáŇ/@·z¸«OŻzcbVgýQăAăŰ49Ő!BŠţ¤"“éo™1|5UUÝŰÔdĺą—°ß–,Ę®^¨%ôá·y+[„mĺ—‚Ct˝“<ÇÓoź )ąlÁ›`żcb‡nbHŇ ČĹÓý,¶u5—ÂÁ{¦=I"`I2TŔ$ĐĎÔLÍ}pŢ^G‹3AnRMŃŹó.—u˝pľÔëb D$!Ű.ť9Áý˝(żüVíń0…Úź0ŕD\‚v¤Ć0 gőm\·Ë*ă–š4ź6>™+Q3rÎ •ČtUś†‹rIííâIŞ—;~}ç™Ôç» P:»˘Î‚ŁCl†iJ«ĺQuú'Ű®í€ó ‹P¨ß č¤üB#ň8Ń-»ymÖĎřÔvĹş ł”Ňî ’‡iŁ…lô©ß”®PŞů|E˘uj•ŚáFRќ۝вdÖíţźNĹw÷ZsAý›˛˘jw_ö˝ĂG\HçÄ1ác׹؛h¶*‡f‘;nŰ[BícÉë–ďł ˇôµ_sŽEázşmZTXŠ[X5ŰO.¤átYgâŞ]@“…|ţŹŤ ż€X»b˘ľ)ôźôjB`1r‚Ç\ KîNXěŇ݇©Ş‹çŽü«üB:°âyň꡸ô•ÄîA—IqĐ%ΞźI9„Žn.Ć -„ZNĹÝčÓÇ«©4I_:íŞ!wí7ţy$*ĺŹa4N>ĆôéŰéÝs&oe¬ü]*^Ťµëc ¶gý?Ž.ěćĂ×ěÂ#Őűl`]»G_ĘŠ5±†áɢ¸U’YŽĐLs‹JäřPH7V‹oµ*US…‰`0ŹíÍ6…ŠPő¶ľË8 D^Ce|WΖ˘r>m~=w$AśŞÁzk€¨ME‡šWÚ«ÝtjĎcäF Ś(ţ÷ëźěvT×Gąľş` -‰=j ‡ľJf˘6˝/Řé--4<–m˙:´TaPŻŁ9ńü©źßÔňŃ™‘iŮÜaš‡á?‡ĺv+.âKşĂîLH§ç8t´¨]g-)ŞÔł~ąC’:Uh;6ă$ăi»p{üü709 ĆłšlÁ=çačC4gßxŔŹSýjóŚa»OKŻ%­ł¸řRé¤ĺ͇A¨ű×lŃ|#datÁNćĆć—ĹËëżx áC,!őĎěg7—Uú‡Č÷ĚâΛŠhi?Ľ6wűr‚’X‡b!l7P†í†µŤz‹FlńF]( ­ 6öE0"5ţ5•“§p˝\ĂĺTŹ”VýÍgbQk5…‘ be4Š7ĘřO`—˝ĺ|đúk*>Ĺ 5äřá:á?ÁvÖ—™vÂźČ\Ş6î¨Ć!)ď‘ć|`âţü3ÝLŰ]XÄż=S -đJ‚$č\±|ůŃ“Idĺŕěľĺwŕ‚ňÚ۱2TIÇ#ßO‰ˇšŽ‰mQŤÂŕ85™c6Ús.‚˘€ę˙˘™‰S#žĎĚ§Ë -xŢ8"·kě˝3v $F{o„ç#ě,GUQÔ%! -ôq}S@‹î`Ž:ep®ŠpP™…óń[Ěj?&ĐéjÁ°ň†,ţC’ŤpšË3GkóŻstEâ\Š0LˇŘü’ţ„Ś=Y?$!'ű༠;ĂuŚ85ŘŃŁ­źqÎ]ó#ןY¦‰óţgŕ>ťŽ~Ą¦‡]Y–ÎĐM2'ý¸ă2Řúä„Ő*W-FŞŠUĹ&$Av›}BLĐ»ś™íAŤ“^©Ŕ¬ëZ9Ö4ůŽÉ€föZ÷¬Öâf5¨µĤ<€b2y“á*"kR5Óĺň-Ôt°Äu™C˙¦ĎkĄ}V‚ŠűşČŢ—ľ4–~{=5ž‰ Jř5ô˘ó6l¬˝Ăˇ—x‹ąůł‰§"ÜDنiŕ§řOü9É:Ľ€Ák4ń˝_u)îyśAcŕdnÂł¤süąld÷ “–0[Puť^Ü:ű!mPµ=-łľnd©űIŇ%;ň¦m%žňM‚¦˛ťż©DZ‹ŤźkěŹ ö"°É’1iÚ/ô2ĆU¦ĹEd¨9¦‰ŐÜű‹FË­zEčń-_ő-í6ĆŮ7ë#’«ÄŘ1$xźpnSČč­&Źą29ŘĘŔ—ŁWέŽôJ3¬é;>+˝‹ôźŃ(ĐÖV(e~:<1: ΰĹé›!!4IďY éžp2y÷ţŤŘ.ŕńsqF±ĺ¸M*Éú {Ř…nÔ2ˇ“‚OϬ:V»$#Dy‡éJ3EëJöBköQ‰ˇĹuGžÓT”_‚.Ë‘…•’K–śĆ&¨¬”ÜbĂ/_†WžŁqüntň·ąŹ(˘! $Úp‹ńUL…Ž”[ż?mf…´SJĎQ/ú÷T7™ç"©ŘóĹe·Ëݤř“<Ť˘TÍkwaAńy/DŻiý^«čgř 2Wý|HGsYSHJŮ&H—+†V[(ľÇÁ®€V1¬jZMlyú‡v,T´tewpkcđR&=.4SF™ć~d( ľ¤„Ż/éYŚ 35ýK>RB*µŃZĄ6ÔľşÄ,  UňR6q 0|“´™(«˘·rĄűT‘3ę–K=ł',čŻűU!çö{Ü26­piî9Ť>´qŇ”{Eay€‰ŃĎrűĎk9,z+Ö ?:ű¸-gvĺJąŢÝšEy7ŤéÝ·&ͤo_Ś´­ă%ëčž|WĹ€°3ćüßݎu@1)ß9'g\Ö•$?đŁ{©p¦*_€"msŮűéYUÔúW.{Čć)B˙÷;–¨vÔźW}ŁŞG6v7bţą-ᵎA¶ 䆢¦´ś—Fšoµś;•›¬Őż ŇöŐĎ[¶§ a »a Őô¨M!HÓŁĆĄQĐ<(ą˘xĺ^v¨dĂNŘÝ)Koüţl7~V-¦´ŕgc˘ ->~ĽĐø؀!Űď‚¶ýŃć&} °”ÖĆÎç{í%źAĚ ¨uĄě0ąĐŢď2yÓ˙˙ëÜ!Öś[UK§ë'›źÇH.¦qčőżÉ±O*^x~śodÁFT€)V’3~Í“°łmŻ®OÚ»úfS«Î8†×ń:Ůihi8¬t Zş}‰â@YöÖ˙ňîFBř— IęŮăÄ™öŚŞˇęç˝÷}®áťĆÓŤJ«,‡‰¤ŠWÖ„ž)m—Íá5«»Čĺů¬ř,E­ßB«Ô,n.6†=µőOşÎöůőŁ "ŚôăCŇ©öw®ÁR$čC9ň™µÂ‚–Ę9pó‘üZv±hŤV¬u‘EɬôÄ ş2{HĽzˇď7H8^¸Ú‘tÁĂ«n¦Wěý^4ť—Š›­‚ŻőGŮAŢnă '’A3&g®íFB^е˘Ś#®¸A3<ça‚ˇf¤ýhluÄ#E}IÓű ť :Ţß‘ö?˙ŽçőŐÓ>VÚďđF§j*ĽLňSڰ)ă!n€Xü˛§5DwÖĄŹ%yęc*ĐěcSŃ~WFj¶7ě~°)Ś"ç±›!ěř‡ü$źŚ–Y;řś?1ÁqĄÓɲjâŐźë¦ŐiS%ć­CUdp!Ó¨Hl«_ľ ®Q™¸‹Ř áżVŹ!Îţ°Iyýç˝Ó5¦„xQ}—JŚ{«E›ž÷‘v%\PřJđÜXŞ©¤8ÚůĆůńif%†jüľ* ą,–2H¬hžĺďć·żËkąëž*)űĺkÎŞaǬż_R.‡©hÝﲌKÍ´†]Mî¬;µxMŔ…ßÓŐť¨ĎŠ¨ŠŞ‰­m‡:'9úócţŻYSEŘ.ɬ*ÇZcôč)I}+4+;„/Žžť÷PŇkš–ď;PşéÂçž@_ Đ9“Oz¶çÁʱóřPĹ´*IňµeŮ7Wé¦hľe¤—Üe° -0{ŠëاʤwÇą=Q®óĎEbĺ*Hf´Z@4ˇĎŞíě™äOć& žx4G˝Ç"ÉOw-G·döŃe7Ć5ť˙†“u~ÓŇťł*X$‡żŤŔlăn:űďřťG.4C#ęÝBŃńHáÉV?Źu«+őőY´>ˇîôşÚFÂÖ6_ąLM*/NźčţćfżI›±_-ř#z_-·ö^q›Ň›Rkôđ1VőµŐ ˇěű÷ű°h)Ţk© ŐbęŢzvĺsŮ`ťŘś1cŢXď:ş†.ćËżäŹ$źUk3h:ÓąÁ­v;Nľ‚€čȤĘ8Žž6J™Ł Ufžp*V˘…“€ąď ą‚TTÁ;»jI95‚#š7×Áaő ‰*i'D)%s‹Íb[Á]yŮ'ÓĐyÔĐšL3~|>O=F›Mé“;B[‡ĎŢE(ۦ6¨váş—"ř—lU*‰‰ń©}Ř’˝çýj ^ž6Ŕµ[ÇĐ űÉÓ;áä%é…' Ь§–ÖR Ó/ůÚm  _Ć=ᣙ¬Ź5źŔ9řŻĽDP35ńĎŰýÂI-H)›Y‚[U¸Ůb'µşâĄż‡š3¬iŰźmŁ©‚°\Ă”ű[”ěĘw{NĘĐm‚xŹ*_YŁf07ôj›/+*Ż!ă_Ă·•7—[1Ü”«wB'˛,35uÝ;ň;~µ×Röńˇ€ŘÎc¤U˙»¸Z͡‚Ő8Q3v·lv•ÓUs’pńą˘Ć6ëé8ĘF÷FMdPâ?ě ÝBýŔ{LL©,Ć@Í.mDĘŁ+€Ž÷g¬Oݬ˘ý—_‹—xÓ5 Ďł:ę›<®G˙˝–őÇ‘-•’ňÉKÎčäTÜ92Űl¶˝—¨ľ¬R¨+tŢ<6ýň!;ŻĹ6öEJQ~Ŕę"›+ -5zTďń˛É\;ŃtĆ?YÄJ1řd,»€Ú&ZR§^7ÜÝV˛ęÄ‘®îz—)HpEĺ§đjřQ|”M/)V?ťú¨/Źť_z~üůJ ͲK: -„߬˝Ř5¦a™y5vż`ő‚Ű…ô ËťľCq$©mе—p'Ë÷$ŢłKŘÜżv:¤§{ş,śŽCĚąNř0›[EëşÖÜřUžĽÄäž´&ęŤ9Nö;S\˙ŮVc«¦:â˘úňŕw 5TΧ°.•–ą_b¨Ţ×ŕ«LN|ůR=t›Ś8TبŁd-|~Ąj«‚(í&éMP%íŠű/ىęśF)‚o;f;pZ®ďm«ä(€+3Ő} [RD'źÉ}r{ŐŰQŢĚ˝…ź¦-s¬ -m5Ł »»©§ńhb6×§‡tšv(ĘĄ° 7ĚńOTŘ*+›@ÍcŇú…Ý, ¦ř -uY‘e“6Čĺ?śo „?CZ¬E´`Íqp‚AŚ CČĘ$®şl—6Ú“Uţ ˝%9¦őv…\ačĆkgÇşźµpŔ(Ôb &˛̆ŽßÎ)éYŕŐp+”±X¬+ŮZĘń!c·ÍX™aNS%‡Ž¤qru3L°éŹŚÍK‡Đ?‚Śc™ -rŃYj -Öăhމ.ě<ľĹĺsPubĺÓ—‰W|WnŇŮ*6ďżáńyGőt>—ن -˝YŮ«Čű4Ć´J·¬p=y‚Ę˙4ź’Mô6PŞ^˘Ś‰^|ŹÇE/kf&^E 8Q‰„Á«‹üŃOeßi–,(3†ĺU5 ż[?˙«!YŮ–€ęáHŰP‹ÖĺłMC°¦éŽô+$#.”›ę˘Ť:-ůąn$ Ő;ĽhB0÷«"dAO˙ěÉź±ť›ž'‡?źOäÉgóAI0šu…«5Ô5Şd†+â¸Eő+ť[€ňÓJIž ˛GłwAc*÷~ ˝|žˇ5đŇÉŕÄűŢHJî±ňÖ™ů‡ÁJPgĘ›Š9AŰ Uv{]¬©Ŕmś˛PĂEW޶#z6Läe™ -Ďć]uFž{cs&/őm„żJGĽŮčŇg˙ÎתĘ+¬H­0ÖKa&ZŹbń Á™ň„'ňxX”aRŐ üżŔ Äňż, HEŤ -Š+ó U `#z˝ŇnkŽJ]˘ěyѦk_˝AGsĺ ]ŐFiáßrđĎ˝ŤDúޤmr¤f Ě&ˇÂí›»_»hÔ9¬©8ĶMDb&Č6ź/ú«çî#©6 ˘ÓjWěĽcŹú ¬ęÚc$F”7BVčŮĐ7ĄĹÇKÓ&ÝĎŤ[Eđ↲˛h#Ë`‚Żfľóx~5ůť2ťŁĘo‰ü»¤Żs«ä»TÝř5ˇ$tPíβä Ő|»”“lâůo6ť03G b‹1Ę[oÝ@ŰŠ.Ď7Ż¦Î É˛ůrŻnp4eÇŰáC­…ŢšIŁ+xM*7ŃĹţYŃ©šîŰ…C˘<`ÎĹěě^Pç!Ľy@"[Ď ‚8R““®q?µ§™?U -›-\Ô€}ŠßEV"Ëě°ćşµxâkťŻöĺ.Ď„}FMţ—Š -Q:uŤÖd ÉôešĄ‚XmżÄ3.L­´@o~·ú=‰öŇUĎ„;÷˘–¨ÂÎ>gOŻtŃŢ9Öř—öŁÂ˙Ě9Ä«áŢ‘f ©©-’gEŔÝľĎĎt ‡ęĽĽxElť¸UŇŢŘËÇÁ\ŔŹÎ)ä)„đµĚěBf‚Ś,· ČD˙Aý‹ˇó¶č^+„Żvľwt’íĆ@Fď0Z:ÔęŚ^TOLź uˇÄŹel®E,;6jÇ(JÇŤą49ňż]ö˘ó -|tŘÂm+yÓSÎĄăUš‹A€ łĘ0Ŕ -F˝ m´"—8ImĎ?ňů}¸vŕY¬›.TŠť“ l—Q\1©±dŃŤ÷Akčnľ1‹÷lĄ ý0+ôŚ ůÖęçĂs Ţ:Hm. )I'µc•Y09#ĎjÓ÷§Âź=đk˲‡¬őüj­ż‘Mču Á,×boľëšËŻ›Čł7łݰ5ËËÇ^ˇřwv–-4ű©ľZŤŔoř§'pFAew8štO×UŃHŐąÎTo¨Z›@­íSOˇëüĹ"ŤÖT@)ň¶>]˛¸Î @ĘĽö„C3†~wŕ ±ŔecŁ*ł‘6ęěéŢŹCpţgDZ›Ć±Ćn$°ŤçőŃCÔ;§ÉÖ9Ý"MN˙·šŚ´Źăµ˛Pg /Ú -Ń x¨j.v‘ŠÁÍ9HV,A·­±˛Ńv^®˙ę®ńóµN˝ńM1,ĎŔÁˇV¶˛a8ĘQĂáź6Ůý“(/ý–ßź%/óle ‹™¸ąľôŇÔ˘Ô éŰdŞŔ„x˘ű'MřĐmS €'Gŕ# - şămo°÷ Ó^JY4™áőCaĎxĂÇJ'ÔCžU3#˙Säĺ§.BK=f‡‘ŔmĽp6-đ€čä!.ľ#n]BB»Wz*âgVą2^9cSłĘhyÂÜÎU>¤„č©ÔŁîĐEÉÝęťf éU@ßňăIéŻYťe`E-Ź««Á°ÓôéŔP˘Q„ě(w×st|ťłµâŇŞ«”Zţ~ôöZÍď×ř5óy¬{3ő>š2@8c]ęHÜ=ä^ĐŐ×iQü.W©€ˇ™q$Ň2“1„ńď]ĽĚ­Dó›”C{ĚĂ7nëŞůË˝Lą×H8ćĚq›ˇ9ř$Ş%"U8ĚÍg®+#÷ŚĹî†\a¸pîö7Ů#`^Ýéćä¬ü!Ĺźb‹ÇÄĺŔS†B8˙Ä…ŕéÍ·ő­îS˛eěËŤČĄyTyÉ÷9l3ľo»Ó]`ń¸‘éţ¨®lmB4-5=ě:>Ń^c‚x×Č=pqŔ9`ő¦…KkŁ+ -íżÇÜL¨s&Î -xe`]o°š70^p GŮćů°jx©tńŔĆÖłj’"uŤ(ʱ ďţ3§U‡ńTŻŐ|GyZ—Ë[)‹Io€$î1XŘőŻ>Pq¬‰żHň5ąGšľHűlt&9`ÜĄěęÓŹ—ËÎŚ*”eVBŞ˝ĺ?đikCó Îł6iŤśľM»ç{EŃđ_rhtFŮJř\l,üëLÝý˛ĂĄáş ÉÇaƲZs´Ő› ٱq¤5,ç—gŠp«2ęA ü…Ăűăľ#~!©¶Ç™‘–ô-ů‡vR)é"áĆzoŤ@q‘Ü=ĺ…ţéŠ. ®Tx/E00SĄlŢNšľöřKß×7Ž.†´·´“Wu^Óä.Ů'Ó`é^Ü,#:†{8â‘VŕIů^Łjş|€©$´Í KËÖA'Ő, ۸­HýŐl Ďř`·µíëÓDÉ9Áž/űE<ŞZ%mHýXlŞčŰ9­óZ5ő‰8&µuŘzâY[Ý-žűĢ+ŢÇÂÜSŹe{č %ňő*ÍÄó·v¨Ätő*ĄçČn8úGÍož˝žÜĽI‘Řš„Ů€ľÉ5o„Ě7€3x 6ç®*aE€Ł„‰YI»R0•îÉEDťíüľĆ-+ç ,'Óu3I÷Ö‘Ső±ČBOĄ¸×W¦˝/í"ŕc§7Îßç“Ů&df"y%FZ©)Ťé!Č î÷ś‡ÝţGs±\Ńď Ž ś9/:tô˘ß0Ëźu”îĐÝě{ýŔIP’ÝÎçřýIŮimUy;âÝŮ.‹OHÁP+îÔYŽGÖŘÉŠmő©ě.ÇŹ2!‘]4Ú ön»ăiH7âéf -ÄeŔťŕQ—‹SWÂđŔ’·Ăú˝+8>ŃŰĐé•lF…geüžŰÉ y ;Ýd _^Š‹D±âQ|ľ‡oňŞE§ďëăĘ$6:Ţ÷íéÎŃč? rŢt»Yůř,Ďz¤Č…>$¶nmqŘ#Bwý"Čź\źíô+qÇfúĎoŮÇu{őáËFí„KOŞďä:V=r·X Â’ŚURbHo ŤçýŤe>ʵÎł]w醤rR9} —č %ćQŠě”BVWQĽéaĽ»;ňU–@h«!Ęôßú°^ţŮA Ó)Nú0Ze7źů0ś=ÎrřCj]U^ë­y$pÝ ˝\J&Î÷©U5–›§4ú“ŕéč´ĽDź&ďSű’Ó–ÂĄb{šźŔN:¬•ʡ1ř”ű­Q©gQ>ź»:môp¶ -iîc/#; V'\×ň{H”5±ĎąŮ~®ĽY ä{ˇOŹň [Ł)ńX!^€;tB -ăÉPe/ Ŕŕ6+ŞL“-wžđŁšĺc(rccîÄ€w¨ž˘Ł]Ž ç˙ÁµÉBB ¬ĆĹc0¸!Gý; -¨´ÎO-G‰żĆضc`keq)řţT ’CwťI‡^\&U`*ÎăÝÄdVZÉëc†D6ópm /Ś4dóCň=ř×8닼|+:7šŐ#_|ýkä}/¦RšÉëz¶3uCóőTžUY†‰hňŹe†Äßkm®űbŁĄ×BůKE7}9;.ő(čÔô`E’ˇŘŚ‹ëćć·}UęŐ &ÓęsĄđ~ďF' râ捓lj"oK_ĎÇ揅«+dT›¸4”Ţń •sha8?ň&bt/'đ™9¦tČů˙29]č'…J©Öô]™Ňż›T€íŘ3ŘřŃA -şÍŚs„ey2ĽCĽ˙ř*. vӿì±ŐjĘ(miPÉlGCfĐÚů&±·’ď«cźy©×M—ę‹GS¤ač·Tż| - !±Y5 ,pcJ˙ 'Ř4ŻĽGÖCÇy•u]Ŕc¬ˇ)C‡=0WĽhv]ě–ÁëFŢ•™)“¨Ä8€âô9Ü,ň‚ygXCUşrlź‰Ź -@xÍA ĘBÝ.öÎXbQÓZ˛uF;\Ă`†|+=_E?˛hě2WQ»‰Z 7ŠU[ –~óŐđzŻĄhA‰H˛>{ĽKEŔ$]ˇĎöĐĘ×.ŽąZ…:ŹŘőŚöş‹csHX®(ĘŘŁÚ”ü¶´F+éÇHcŁY9·?aď…fűţó‡0Śŕ)cĎďt5Tąeu8«‘[ă7a#ÁĘŮôř÷¸čzބ:đ -HJq<ó°»™:…büĽë¦ß×UŤ,Č(D§U‘ÖqדmľW?Őíłhë0Qř*{’‚O­ńGđŞ_ŚŐ@ďŁR6ÂĹ0DťČpŔ‡p!Ô2Ú—öF˝ëW«°˘ť“‰UŰđ@DÜA‚‹čVÍşžĚ‡ŃĘÓ˘śä6ńDˇ.÷.‹ťŮm,l{RÓĽŢ p„)#wâe»RçŚő ŞšýMŚ? Áa‘ČîBŞ™5«ĄhÎ_ęqŽÉ÷0\™´„{Siň5pÉ\PJU|L±3‘Ľ[NTZ©đĹÔ¨ľĹ‘íę´ę™B-—ČűʎßLD&ó"2ť:¸ŕÍTsSw0–(ĆÚ/תSUŃaHšHděx!‰gM±Ý@úi|i!†äŰ-ZĽęµá˘ŽSâ&;kńĄ 'e;Á+ !ri×ëé\¬E'oÚ܇đN¤ýwĹJW†yř”4Ď @´zs×x -JnË -R«ě¨ÓIě %»z/€a7p¨“T;ĺ­S–)`¬ĐŇb°˝lšÂj éţüŘřüTyßÄ$Ŕ·ôţ€UGŽrćć.ňí"sÇVPžÍóPér$ž¬eľ7łű¬Ľn<şţM˝{lžż;Ę[E°żń ’IH¬ß Ř˙JÁ9{uJČÉćÍŻ /ŰM7sń 7ľ ľŘ -ŐĂĆv˙M}ĆR~P©^?afMĚ\H¬ĽŞBĐäË7ooş|©%@¬6‡sSN÷aŮXꩦĹ$T’őh†Kgz÷:Ęďx´¬rÎĆł­Č;"69ógoot\äčAžâîđD¦zÝ`€«Ŕ Žń‰X•E䚽Тőŕ¦Pěk¦l»Ţy*ŁB& .Ö­Ł;-”/ÍŁ -6D”ľÔÎo»ʼn_â@ŢzşˇáŇŹY_ëiaRľ?†řyü{¤1y!©r[„>ůŐ↣ôřŔ4MyÓąúÂßŰâólDC+Â~YwŇçUR™fĹ ©¨\Ąô.î¬Ë ëß•Dßúzbż1'ABeJ51D=măá—Ň ąoÇô­KtgD­­ś 9ęČ»bjY©ÎFŰĎ8~ °NvoMąţ›hůÂeńĽî˙ťµĆdŕ -yFďLÍ* ݦ—’ Ľ´OĽă9ěüZ„»C âq$!…Ęɸzy® 1PşúÍ$›\{69'•.r1˝¬kC‡s!‰í˙{­íđéŮż&-‡@\ÓW‹zŰ‘÷ĚĘ -ÚúěH=¤ąčú8­ŢĎfZp ]éűŰŢČýĘŚŰî$Ś,źK ß,¨ŚĆJ -Ť0OQaőŹő};ó ŽŘÁŔ‚ĺGśřßzĄAË“@tďŘâŢ;1±iĄhŹP†żźP&­"GÄ˝–5˛5čoŁGÎAúľ#&ęfůű<´µšąEoŃ^)T‘ťÄţWO1ťKvŢđŤŞÖ&˛Űç#·ŹÔ÷ŕÁŞ`Ęüf„wN¤(©röS•a%n潬xřFG9vë­ćÔ©uţt ¤Ť1ŹĄcÚ‹–˝V0T’šĄrܵ¸Ŕ śâWb2JśBq¤vçßRH,(Ŕş´"˘‡Ě§ßçžé•A›}Nťkűuď+mqž’đ[^ÎĎ^Ł8Ý'W¨Ó&´5ÂĽłţ± -¬D2 M„GÝß“Yn§? Íq٨2íţ÷.FVţŔ´_Jć„*yďľ-í8PtúŞĎŔ®|Áv‹-ŕČ+"ÔéäkÎż%bŁa‹ÎφÔ}ť˙/ĺ|Ä'D?óî2‚„×]z`§nśIFŕ>s•2©Ĺľ˝źÇyiiSŢ–#B1_›*ŻŁýĹŰřüŕ ,0kM°0ouUz‘Ţ[?kE7ăďéńS€ ě`1Ęárúo$gt~缳@„tżDäR–Łaîěe¶Ôo ڱ/wç~ÔŁ.ŽVlšÁNŻČTe™Ńu®Şô^ŰÎŞj{ć­Qç°Zk2Z"÷}ţíâůÎexč@Ľńł†4rčĘ0`á÷X‹hu…·{hşúňŘţMş,|Ä]«i‡•i«ŘéŁ;o¨ŘĘŠ ŤŃˇ7ĺľ ×d&Č%&Ť`h"‘”ç· Z0A&’µĹ+v2LëNęB‚°r·‘ÔČĄ%ą]ń¬€\ŰŻ/3PVÜÔ¬›ÜńdÄWCŁ%k–Ą¬·_†ś“{žöËi÷ʵ‚zĹt €]7p™™ÄkšDÎą@ÝnčŮn‡µ€ąß–šÎĄÂ‘—•wpUšNťuͤüU'8·§•¨×MlĆ[ÓźŤŠŞ#$ůš¤ţ/R„âR†;(+Éjđ%ąř_¤"ŻňĄÂ‘ěÉMř*ĽŘäĄ& CÔŽ—\” °q*= o3ŠÚúăZKĺTĐH±Ú„yš§Ű§÷ňŰöÁ?w$BoxO‹ńĽvťgꆎŤ7»÷€Ź×üˇČ>hđŃĄEťTI”'‘ÝZ`ňŕ2ľíä*Ľ:tµŔ4Ą©Ľ¨t®ë¤éOˇôĽjiëhçYŇŢxŐľÚKS, -I-ë•‹ĘGç?y×w‘ćz3Ă/Z›»Ă.Ćëî'VhcsĚ­±”€X4­ŘĆvĚu_q‹ńN)FI騺6޵3Łąfźg٨íl[ÉňĆg˙şr€’ÄpŁ~·\Rd$WÄ•ÄfŮ5Zč‚Ăú­€.D ™Ă©ĽN"ĎÖÄŞŔQhŠ ĄďŠ´™ĺşßË˦ĹěźBG碆K>MJŤŤ…:Ú´Ä8=ň0µ§ě<ŇYŚţŶDŐȤ–g Şń~Ct9T{ÇMqő®«’Ó8Öç0÷ľćL°Ü ~_ýÉódďŽTËôn›KŁx+)  - zŹĂ×]Žůž[)‰GŕBiˇţ94RzůćG×Zr(̡ŐÉ^ČI͉ĽË,Ů^yD¶ąŚ«…Ć*†’R92líŘ2˘ מtP©ÓŹeΦQđśdZ~űqFîpů"Ô!I÷KiنĚ`€1 -NJ´Š?Ă%or´ÂTŠŐsV¶?cÜř‡g˛ťu —ßz{>öń¨ů\…hŞ6řÚDËą Ę Ď6eItC˛eĽ1ą82:öZćšťpęt -¦Č+S +öäÎw–DŔP¶ĆČQňÎő‹~.†ęÉ?Bé ?qýŻűPn+ëPţ }Ą¬¶×µqx8ľ·ÍoKóÚ‹ń׆ĐöË|X=V0)FĂ6<;—îN•*x×Őşćl88TŞ®•±^˝§YÝo¨ifŤŮ®íw9v4ËoŠŮATŁkÂJr2ěň‘-#ÇŮ*zś@+óJ°źťÜ}vsąíÉ3Čźsâp%lĘ=Y%=⊔ą 1¨~ř±¬„ku$ż3!ÄŐa‹™¤ÖvÓ§~wËk¶Ď$z©Éŕ¬v†ĺ-Ät¨'9ĄŕJ†UQc/×sDlĘ—¶[őĹ˝ř#ŔÜ ”‹ˇOh¦§ĚjFUZěa»ńăŕcüżÁô‚ąPjµšgͦwĺ)iGş;Ű8čďłĚy9Hö$ôY†ˇiűgňVMFn1[Źă’»ĽĄsmě×(=ćEb»8őkžLq©#śjś{ňÓ¦×jŕŻ,|}ľěiTńEÉâiŹxÚ)gĐe€¬Şgą’çwx›ÎÍź×8ě.”·žŹc.~\r`MTo%lá…H˛Po¸4Ň>pn=mwľµÝžJn2G…_/DBÁî>?ňÇŤ§:g×ě’¤ ”ŞÚçb¨ő^Ď`“§a*¤ťÔÍţŚ«8)úNVS]ZEŇ{y±ž†öÚ($‡zÄŔúŁ"h&†#ç<‘©¨ĄW#ÓA›Ńćś*ďNĘ€ď÷Ľd¦©ű8KÁVĎđI˙/';FŻ'^XĚwŻĎNCĺËr—ÓýÄÉÜ)‹©č±©ż •ę@oeąYn¦đ$6´łXd.árŁz0ŹîWzĎ…óţ ì`>Ö˛ź>/ jŻ/ZM3öó´y»épU27ëžŐâhźn-έŠËŕbűu>Łăq¤0ł˝^÷ű°¤c-µéŐ*50ękt4·˛·s8ŘĘö@„s››ĐŃó8‰Şî×?ß =ĺĺ¸k#ßf‘?ĺôRzhJźň—7S›zł -QűÔ­—öm/HA9TĂ4«rń¶â™Nř=Ů:UűŇi"ÍŢ~¦ŻV&ÔÖäąŰ­ĄĐb˝ ‹UYDŚýąíż1šOpN ¶ěĚé`/Ü˝‡i®ďn•gD¸~Çwp^ba}Â`¦Üż_—ŇeşHřBŠ}Qx~Ě’A« 9“D ™V 0Lb°¤Řľű(DŹŘąAMŞLŇůg+p Ěůř–1#ě•ÇÄG“ęHźdđ¤”"ŚľŘj ŠŻďłĺg÷¬ÉćŢÁ§±¸¤gÓ„Ţ-¶ašď™›2ŐÝ cę~Q‰@ČĎçé°ŮşSőġ gGí)žß¦—ß–ŕłMú›ţű«·î€. –KŚÍ©,URĺ -9VťD‹GtÁ’+¸{>‘ň‹*C*öůRć¨ÝŃzjÜŘ|ŕmĺGݤGNŕ(tÎő$RĹŔ/ĆĂ9“¶ZdŇ~Ä™hô`–65˘«ŹěY1äu˛ą đ¶PßVí‡.‹`š{„ -~y€ý-˙JZŐÔ4‰ [m%ĎcčFř€Üžĺéô¦+;#"•Š™gi‰«ö˙ďřň­u XÖî”č6šaX ,}ÎéăZˇYÓú±©µk[=cöŤťÇ5îúaîGŔ«ËĆG źuoň0͵čĎ&˙ľwŽGd˙…Ż;ęÍÇp\Ż3Ň]8fX€,IßZąÝľ1:Ę}`*ĐłGLĆĎn4aůu…n@t‹d©#Ú…_‚aQŃ^đö*gŇr«DÎmfč˘Ę ś61=ó­cb%mţśń -Ü -â%ʶ‘}fŹ -žYG6UŘ6¨e ‘ÔŇ‘’G1Ż%8©j€*4†=¤>­î”{"t —cšťN:Éľe\zálfĘPy×&ĂÁ’Ů&x—Í -šI*‘ë6Nt˙…oçrŽ×ţÎóĺżńěá" ˇđmVM´ţ= Ň·»âfśUş°:¨âś”ľb§í¸1\®Č^*ěyu‡.K#źŤŃ=EÖaI•«–0ˇ{Ý\EŘSB>Ż ‹M - ¶l€±^$ŕoIqlA˝‘}b*ÂéďTÁfńÝŤoŞ 1ĄTźďF+ĐgĂL\EpŰîî†4oëŰq› W=ŞŐE‡|\÷[ŹĎNj˙霪üaďEĺRŐ3Ľ.hs†Ô“ˇŔä{|QşB…~ĺuľY(‰ěŔر“Ž0¦­kĘĽĚ ‡16–ÓUˇ]Uř¸TEęîšőm4H¨))ď䱩tě'0jéËĺ9éąCV™yDŐŇ NÍ86P±ÖćlCŐ¨óĂ)ý±||ţ"p٧2ĂŹ/[d‘´aiC´ž  …¦ďM𙎎_XˇWGNF’Üض^\‹MĆ‹ °@@‡DâËβ  şś˘”W’ď;ÚcŠ6I“c%äKvţ)iCŁr“(5ľ—ă(OůÍČ…Ël`$*Z&oÂĐ,Ë¶Ś¨_Q>^űiB˙R˛† c˙šč`iń댋¦H Q·¨” \WäîGqď<Ł)Eˇ •™Ů‘'ĎLćg%d%g‚'}Đ}Č‚ch©í˝ÂÄéb“ …Ů5‹Łă(…»ś'&q"uäŃPŕłp{łĐů -ˇAV”wľŹ¶Ć&lŮ\]«äě¬$ꮯ_#eĚłÄ>°+Ôq"JÇh -şťfq(VŁţy­fűäá†ÖÝ@á`,‰ł˛ŕ‚ ˛ő§Hî’%(?«-9ż‚'Š'd/21¨xîÚXóŁŇf"0űJBkáĘ“m©Zµ÷öIpOđűĆr¨ÔéC¸ ş¨fé-÷–hďk˙Ü—×Ă»eNa_{í% y÷wÁ ŮĂc˙úCŚšŮßdmYjÇ90V˝×Z[ť§H±dŠ}€/,—c"ßGđa«-€;#Ű ÎË4ăNş{:3NS2Bâ@4-+đĚ[ZOk h­i˘?*6´$47 Č9úí&Q“ČéńÍi*Q*K{|¬¨ŕ2§ż›´Łe -fŰ‚®9ŕ@P†W‚çLˇf© -y·YÔđfˇĽ$‡{ÜNŘÓĽyP+wŔčëµ´Ŕ‚^`f®űá  ©ŠßŤ†°CĽź ©UęŐĐ˝Ä;¬“ gĚ‘¨n:Ż_2Çüą8´‡žđÁ7ę˛ö: ŽsF݇ 4Ł0·8-ĄŠ7ΉM0ĽăĹ$xcé•o±Ü9°)Zz˘‰zĐ)RR€ě3Ní7đZ™šr]ćŔŘ*>ÇÚścJ -ýô?@°4BĚY±>˙B&·ż1Vh‡®˘Ý%Fîňh Ń›`Ŕç/ ś¶Ěb#ÜýÁ_źÚTX>Rëŕ;2ç/¸7ÇAIŔ|ôőźČâ{AR*¤ć±2ůělĄoź<śÇVß~˝A‹¸ĚÔ ”ŁG¦‚Ĺ*Y=Ŕé’›‚…Ľ<ÁIí4:˘ZĚ…ęĎ«Ň"źŰ» BÝ4+ťůđ–ńŢ/q…6Erźó™ÓÉ;1P ˝vEówę?'IDů»%Ľâżý‡ż°@BvEłŽ°`°*boďtc°$Ŕqˇ®ćۧ@9qšN—+ÄFđ -ěďĺ‹–ĄíS”žşÎßßWŁKĹ·ý[ćɱ˛ 7@QNś4ődtd>R’…8eÎďˇLňÓă -ˇÝ ·ŮôŽa<3j#Q -´tL>n®±ýIűc˛!ŘL’-»Ű¤Ą9"%‹—+G©Tőwő6–tşúٵ‚[24ĹŔőCQ€Şě ČľŰiń´°„ ż }Î3¸ž—@†łŻŚáIĆĽáhĺHÇÜ%mä7;ťŃßűešš¦ŔőËßş74l@ŽEů’Ě_ 8łáMOşXŐÍ.×Đň:Ú`»ĂŽ^me)YňýiÚó´~´ZŮŇŁňÝýĎZ#­ZV)VíHLm- XŃŹÜłě·#YÔפńĽđc|ŇÖîWEw’:0ČDŔŽ$Ży@^ŃőBÝ!Ďş2:łÚ´?#žbVşTZ Hh3Ć»ěľ9NĄŹËîĆš@cĽ 0ů–na -cö=ţůyÎĄşn»hzę¬áYzUŞ‹ľmôv™Ĺź-Müéňü6ô P¸ĎěĄiŢę[tyÖĹRwńG?ndĆŰ›÷“ł˛D`TkMţÎć§®'Ţ0fŘŚPČO”@ćÂéS)Iě-łĽQęőĘNt-éYţÂN!<°Ź4×ä0­&ŃQĄ6Ő*kyD'PʶbĄ*ßĹ7ď`Ö…děäŤ$śŰ$5ďB:°žÉë0ÂĂň {IŢô7Đuá›Íä3„0ˇ -ÚK7ç?ŰŰÎ=X°ˇďKAuŹdî~DSÄG¶Y“؛ֻe墊5ßE7ş(VülQ-i•›ăh·Î;­ą ö™ .PŇöđďÝ>”ÄQtý`zç\ÓMŇd^7ý˘_OéőôÎţ˝:ЉB#uüi•j0ʍn” şoâŰščÂyË©—äwëĄGj3Đ”ű¶Ľ“Ôś|bK LçĆk´˝ĄľĚ}ěűV­€ŚŢŻ1ŻŢ›Ż »ő04X‹lý»fgá¶«q.đŽIH©ÂümP5 ńý/ĆÁ4Yßo’ao{× Í¤âŽAĹŻá5Y‡ňy}Řx˘ĺ9@˝ZŤóúż¨'Jŕi#ózxs0sPô—źâ)t8 ¤îNícWçpˇoę›ݸqĘ>Ň"ŽĄů©˛O—6 ě…Ž×;WĄüĹů*š,,ęj7Ë4SÁĎČĚ™˘ŹË~Ö«©Q¨=ąt5fňÇoÄ|V2úŹfÚ¤|éR]¨Sęs')™ŰťőMübÖäß`qżKJ‰Ć†Q2+ŻÂë;„$˘ $–A7ę3´uöpSžťAĺlIóúˇ÷çéÖl‰Ô[( -‚T{bá?uíg$|8èm´$¬„ĆN$ŁÚÓ&s»i‡@’ .ŔYłŽ-ëż>Ű­m±Ŕ„­{fĘđFcI©rźgµµh(ZšM'żX#Dsű¸Ýö)~Ŕ‰ňDz+aRŰđqÎkűA7óG&ZŮމř>¶¤ÁQąRÇĘ×)j^;Aî×H§®Ň·¸GÖęŢÇ5Ŕ}ĺH5kČî4ě —qŢ„ü[V‡$)ŻÇ—ČN~íÔB„°[Ýśű¸(îÖlŕ˛M. mEŔ{‚ťH•ڍGČ%tč;N€‡ŘŘŤ (en‘ś O—ůajѬž·Čš¶c­%w jĂkĆ—R)9%(ŚhíVĄŁ^Ą‘Ńí -cpřN lűčźÚÔoęÍ·[FÍŘdBvą#ô -{† ->˝!€t«ň+« mY†-÷”ŠĐ*No­ä?ĺ"jÁŤú8Ö›d{§XácŕFůÔDśű0,źž(cQ.6iKś™W÷–­$GĽ$VĎp,Üř+/E&7g?ă+śiTĽ¤ÇRjµçÜm0řEbáśâ<Ç-ß(ląÍŻđGt>4ĺ1JÁA"ŽQZĺ~±>1Ĺ ,Łt5L i*ôĚäúyÁu9ĺ ÷9đm‚ěV»fĂS„¬lŹŃn×~1Ôc HdRú¸ţ«wí’ńµ5)¨ËÇëRżîoâÉ®© &6Đ… 4âhć)®5aý.iÂŰ$˝W”Hę4ńQIę ôůľą‚1¶6. 5®ËŐ׹qy’ -_ţŁŮAfŮ2°˙]™즡ę–ťاNk‚bÖ„Réâs_Ăź=°ČéOÖŤXąüˇ…-l`Jý€™lĐĄ•Ý“Ľw˝±m1_‘Újgmgš/#z……—ن‚żčŮŠÖf/uť€·»_ż|jüČň®Ôe}ąµ3źG—>F sţ2µ0 r(…>úÓÄľ‰”Oî˛,*§qŕů¤ -ŇUćeÂŤXZĺzŞ,ÂĐ -ć «k.řŤ0vD)C´<áb}eDÖ/đf1!Ç©Dž÷aŐ”éçYçRq:źA:ń8†wL0żÁĂťŤEI$]ąň"ü$.÷§‰}‹„–(ŻÉ§Ć¬¤®`©X‰ń+@ŇáĘň꺆¤ ůOł=<ڱŐ/ÂÖŔÓ‘W Ö|mŻ‹Mšoע]_Śbô( 9l´‘1 -=˝Ť¬g±a4ŞUăbąLEdĹBîěQÁYś-QM¶6Q±üÔů@gôSŇߌ…7”^¬ÔŽńáyЬ߇ä$ŞblYEúZuܡ~ŕĺ´2{mŽŹámÔ˝ *7Q—yřPlŃýòąćĎdE~x=Ő`0öł·ĄđˇóR!ę)KĄ˛+Ú=©`Ő-Lťe7'ćfpVp®lRĐ|¦¶ZÇ$(-ë¦hFjž­GÖ®św=©a©7tÄ1YYęĽv–—Ĺ&3ĽOLßfĆľr3łĺńŘ>ź>KžuR5µ§aÝž”%´ <ć˙żmŔ’őŘŤCWn6üó…źÜŐl îˇA‰RĎ<ŘđyÉÚôĆ•°†N\C`MmŠŤZ×!ŚóŘ[(Ň÷‚*Ĺ~‹ˇß}*Lęc@Ł-¦eŔůŠŐµaîřf×7~2“ ôíw–‘«M2üň’_7ăÇÂ’ÍĐ}H•=„€2”ŻZ‚ď_Đ)ż‹âsg>gG·±éůS”†_@Ş,b`9¶s‹ůrĺĽÖšŕ}Ž•%9in~§”ČőČ%a …ŕ zuѧ:iŤQ c9¤ř`R ďÝLBNC‡z1ĄŕD§{ć†(đßí˛śÇi<1Џ{ߌe} eľ•߲¸â§{OÖîo[›¶iíZÍíŘ9–%č¶fźC Ă *›çĐ…°Ě¦^WľŰůgŇ 7Ě[ŕV”ś>Śĺ׬g3Ápdú!…Ü‚őQ¤ ę­xţFĐÁ.ůţ˛„Řö«'xls}¤ĆöF‚¦łŤ -ö+=3őlłsĂiÁ.ťR =`ÚĹ|żSßúĂpAŢzkćy®Ą‹lbiěčďéâ-á_Š »ł©aéyăäýs¬®ěfö8ŚĄö´™‚˘«Ą;ęr…‰T}ÜNç­`ăy\s]ktá˙QŚvßśőü2ĐÔ#.1˙łđ~V4 ”i ‡—¬),©ü©č°¨­tňÇî Gś=džÖď¶e -ë1Y«[Ö5.i)rY6óëĂŔ«‡’˙mjT ôÂ0µOîjˇÔZ zŃqF†!Ď)0c˙ŁŚľ•ž\FŢTúę\ĆMÄöwIĺ2®Á@…'ăך˛0=´µîŤ:h|łIĄă UZJÄcçJŁĂ źęĂ4«ůßIŃĹU5[:›a-hńF°ôř·_L¶<ÓU5aĎ-úł~€-ńŞT›ąkd;¤+ÎŔ¶č˙ç_ß>Ä}9I—’J”ç§đxĽg~O îZJ´ŁŤŚ2 ÍŠ±8®“ë?LyďÝĎJí8Oµ>˛ÖwOAÓÄruíFĐbł°j|pýŕs¶[[’°Gy~f3dS±‘uŃ‚éúp.P‹7bśç™YÍ:ŇÓ]őĐëĚ3±9?WŽňĂ)%×1"JĎí{ÍŠô»¤ĄF”«vë!=«`čË×ö&mF@n’F"ŕF""aťdo(bĺţJCôičX;Oľ…ůhĐ·ékŇ^Xo«ŢDm· =<=ą&ćČhnnVq|ˇÓlŮúę )3¦a¤– Ő'¬¸8“ęUÇ0ÚŻó–âą!>™¶JiđŻ(ąŽÝ0Ëjđ$ďWúî#çDđH ű_PKQŁäě’ŻęÝ$ "&?0i8*·ç#9Ž%`ah (s¶ĺI«nsÂ~Č@g]3˛űŇYŹi‹đţ7Šr9%"—6kń"Ä™ ÷c aŽéŤLW_waž2@KWb­ô_ĎĐٸO ţý·śĆť/­ÎÁI}›„ćçZ"Ôí§~ľ‚nŔˇfc†7'ç÷=lĹšąËű>çýTâÚ¨Ŕä4AÖĽI±ÍĽ2tÝşO_‹ÂpwĘ‹C®śŃ=óÚ7X~üWž'ľHM„RłÉ ˛ w7Jł”®fʦxÎ)_ÉNă#ĺ§|Ş3›ĐĹú(„Ž]ă' út¤Źĺű˘_aç b2`’ń–ËÄă¦y”ťÁhĚÂřqF¤aoŘüA«ŃôUđyŇ"Ўa´ -”YäWŔÍ%źőBµŢˇęŚ ó&TŠQ¨h6w9 -›đÔĚęZč^7ËÁŮXÚKc&gWsĘXx„nŃ$ś5‹„NzÄVMg:˛Ĺç;o“m˛ŐRUŇw$fk“-6nÝ—oi·ÎÂȨ;íc]—NĎDÄFăx¦‡Ő#}vôAşAĢ™[°ćg±ęČ0Ŕw–Ŕ4G~+ę.i`4j»«‡ľ·U{4.wÝ·:4B>ŠĚd|;2ćdm‡ť0»ů®·Ý^Ëň#›] FŰądč•®ĺqŃ=Ó°÷Ç)Ň Ŕ;ů¶9}ÂĚp_ÓTxj0›Őőop˝‹kÇ?mŃŤŘůK‡„¦¨^‹t¸V9RTĺˇ@â†ë±mk„/r:ÎToÄFAŰă'wš­‰'WĽŁJ†iH BĎ 'U? €łď˛o#¨˘4žĂŕN’ĎđŰ3)dRé Śrˇ;ĽňţK±Đ°‡ËnX»śců±MţÁ-®IEGîé`®"5 ý_ňĂ€ĽRž®tZŕň¸Ť§—IǶŇćL¦.Ů1á´+UßÔv’”Z,°ú® X4¤C+Ź7Š4;¬˝K°ţ ŢĘęÜ/łŤw˘ťîę)$…+7Bßď-üÄňśNž -ϲűEf$ę$ęs6r+ěŞMd -U!Éh"qµŮ Šjúi©ĺh®—Ăcr,k‹m/šRĹď=;Që˛Ü`cŤúiwŐÇ+?ńłO›ˇ;!yv˘3!öÇőÍĹölńâ,k8Ž&žC_‡#_ń链|’˛0m’H¨,…Tg!Z™dŹ2‰fv o6#F¸~V‹Ĺ~±ĄĆ´..Y”ťŇŚcv‹&úNyBxSĆ­üFw‚ lc/ĄňNŮö}{^9°;ä‘ ŽîIkg€Ú‡Žśb<Śű×oż+I45°F×îŇŔŇ)˘ákŽżĺŻCXÂôJĆ<çs/·áîÉ˙]G -Ł®"¦%×ăŕ•˘ŰýIQߥuŮóyĹMé´–ümň€îéqš÷9«d$EdľäęrâŐjß%5 < µ'_bnă™ ţ~ ×‡©˘Äą6XÍPBć_Őv4딿CéýbX;m‹Ňt+>ωJ|3?KóC˘üoޱ’¬‰sż)Í8ëăŤkv¸˛·ŤóP+$Ť ˇŞ}<Őłđf;ő©‚;Ř9ß—µ‘ĺfI‹9cßÂPŹh6LD<·g tĺÍ~ŇMŐÖĆ{Dşů‹đ 4čăfr)Ü`ëu´i­Qz,Ř/_LŠ{J0÷v[­¬‘a±ŐŐę€ÔÖ  ěüM‹4ľn“†â˙*k PHŰ6÷űĎž5·ÉwKY9‘4lŇâĹLĐ*жź7aP2Ry4mÓ¨˙őĺ~ózSQŐl JŁN3Ú±çs}Ú5Ś{vÁ@¦Zuŕ3ˇĹŤé]BE ŔB´^Ě8’›Űŕ µ?Iµ TŤ­đ27ťd:ËŇňi_˘ËűxkŇćÖ…nęx‚’ż¸3& ßő\eş:Č0C$Ęo×qn­ŽŞ”‰»_&![Ô#‰§ÓĎ…ťfţčăO#µ=ĺđ”DJhŢvŹąlPłî˘8ÚXˇÜRüČ^uO‰ÜĚ„ŘgĐR……e6´bˇÖďVbşţׯ¬Ő!şNV,v>ß|m2©@ŮŤü.µě]“|9;K^`7B§­ őoüţ i‰đŰHŔ™ňŤIß°ż:]Nţp5žÖ6XČf"b™C „_ĺFę.›Ľžo°rBŰ{NŁéĂhÇk»ÁţN2ݲËM7żBŔ|Ű ö6ÄĽjVď† ß÷Ë3řܵ/mm z[*"ÄqÂEż`IAĽń"Ů-÷š`ěŔÚ`‚ćÉ-s~GRFŤŁ,P*˘ŇdJIé÷ŃĂÎ4šÁzá|Ď‚{cűÎţWň*gX’r"Ş8ł„4€Â±ódĘ÷RŻťUZ•Ţd;(zç¸ĺ!Ç#k[ł˛Č»žŢŰQ;ŻtĚĄćOî… pލ Ў§+1év4[ Ŕ3"ípDő%ŁďŁ ĺ`q‚Čr˘DĺđľiçÇe˛ž(QÜ!öLKG˙˛ű -h«Ť×„D Ű…ť -ďPJłÜh­IfÝčĄ91ś·GҲ-€†őAźyŻ—ĘkĹŰĎt 2Á0ĐťÍ0äÍüĄ˙šöogŮĐh:;–C»&|ł(BÍÎËďÇľ»j\ß©¬Ĺů"Ná%óaSʨóŚ Đ×X,„ ¦n¶2bĘ|ŇfyF"íţ,V{ć M ěř\†h1ÖëťFą…„Ý ˝s'?ľşŇ9ďOQřH8 e8%ˇ¦˙6íúw´†6Ż|c -ÉĘ˝šŕ_Iه1C -śYíęěW˙ĘcL·` -GC˘?öX>ŻVŘ «TSHň/÷,»˛B#=‘ťăĽĘŽáŃRĚa=(c~ľ®`•T‘ěźţ.T̤˙µ”’8ţ1§ź$ţʬȆb=Ă˙tóČÇKüňž0Dô˘Ąfwsťp㦙Ą:n,Ë“O~ň‘¨EŔë»fźęb?;´Ź5Źîˇč˛…T0!—Î<`úN3ę@ ÇĚOAŻ„ &-Ѱ%ún3ň•wë;5Ä2’ަ2Űy>?`AÜßłzňp•xyźIWž‘Śç»ÂŮz/÷âuĐVR‚… ó ¬ÎTć"fWuE’‹P¸ŤŮ$ŘYĎsH37Ł7—Čě…Ú9©t©.üóV$aNă˝ •ĂŢ;.Ń’Č‚˘Ón6ď÷˝a“GĚ74͇9޶ž,¨ž†lmÖw<7$@Y“ľ’önf+´{C,3Ńîúüd™ě&wŻ%2AćzŻľhÎo ¤đÚş©6é;ô¸8gęBž^ÚşßťtŇD0,%˝ődeă€ôRoś HĂMKułď™¦ŕ/t2>CmlăHÄ”Ł)±Ďę“mé)Ľ¤`ÚŽJ˝ •°YźŇjjË®ŕ–Ck@“ł`0kŚŚEµRFS\_ZźĽŃ~7źKĺéŘJ—€·›CS˝­ń§§÷­Â 3śÓÉżŔ>3:8âÖL¸ ,gҢË4pÍm¦´.4śĘx©1'.}¨ˇ…·@q>'ÉH ţ{¨xť&ˀߦqţŕJkěCĆŕŇuDŠó¦˝ă:Čé˛iČ*Ĺ…ËpG¬#dsg1'ąđ8 ŞĹńĘŕBµłę®+[±đ(\ şŠ‰újÇZI„ŕ)ň FtáĘ«ÜÖ>ÓĄÝŢCŁ˝súSĐ3'ńč66Ićý«Ë˘loĂd?ŤŚx¬Ç6«żłŻ1KÚĚgnžZvä#Źî!Ź@žś اËëx°»zĽ“019±Çě%ŚčXçLgG„ˆwĺ5vŤ°GéĘW_b^ -ŮV+4rň}´Čîę§EL\¸řVlAreÎ=ýëá38˘"čÍŽ[ß0 ±Í»GlťLEŢŽ’©Ž«;Vť/„/CöúądVv5ťŁLŇ»”) -U…!*-¶űĽÂu§cą˛‹;™c΋<ĘĐÉ©:®K^{a˘ [ÖóL~ż§Ip®9żĂ"l ž¬Y×ĐUŕLHc_hNI>ŰqÔ_áż·¸ÂsF°K=”ůçS@ʎÄjí{Řôt9ým5¸YÄô±ĽĂł>śG&˛k6úĽhĺäB‘2¸iĺe%ßń¶iSlŮôôÖ¦U…×ËŕÔÎEy0¤™GőËizŮ©îĄ:Äş 4)‹“eRQUĄÓ>FS9ę”PŤŚÉńŢŕ˙F˙źf©oÇs¸,`4÷ŮÖHzÍ K˘×QLłPn‡Ş´Šfś*^'~˛~=U2đHŠuHEţt,Ŕ‚ýć 3µ"ÜăťqQGŐ|Ň™ŕü_ůáR*l&ĎŻbS—łĽÓú—«ĹńV+îGÍĆ*×ë¨ íáů¶ÓŮĎ/Şă^oŞŤěô—}śŤ“Ť÷íŘD*2âŹŮG)·ŕŚ}¬dőY}€qy­]Š\Ş˛ëSŹÇď23ťËVAÍih×rŻórŐźďHmś2U‚ßýów­á3ĘűťW7Aâ @ż˝ŻZóÉşÂ"Ť`ŤzéŃ÷H% Ł„ą -±śç•ąś3éňáËŘSN7öFčĺ §ŠłHź`d^«ŐČŽóH Q|L`áy‚¬ô 5oDľżT%cÚWé™!ó­šĂWZŻ›€Ňłf2:rŹP%-€‡Ś‰ŞmüMxW4¨.ĐÇ6żKµ\ůő•óÎđŠÝóŇ3–hüQ3eH’ńäĹK¸5­ ąqFPOÁ—2űn:Ľ@źCZ@%@î’I”†[«żééäÚÖ×–deĄŻńyÍpšO™\X<ńł4ďý•ͨuo±€Ţ#¸±›ô„ä˘1}JŮĎgÝK‰śGíqť{>ču˛ü]»ç ą€ -JÝOňŕzŢośďś“šuáň¬-2)dΤˇ -`Ś'mzŕŐá "żlĹ,ş›*Ż®’ćW|đk×tˇH'Í?Đmn{öó+Ő€z(߸]ü··#X”ňµržň6ȶ»-é raň&CsG˙łáfăe4ňżĽžş,<™ąSâE»¨E3ÚFUÜÓŤRÖF/,V—nTĐq{„ÔČWńú€¸Ö}ťăZÁ+żćĽÔâ•wÉDĽöjCĐD â·&KĆpşcoéžÚA˘—ŮUĘá|zaŤA ŃerÜx‡ ÚXËTTć bNRŐ´Z´ÝÓ ź™hČpK›/PzC´|¬w+@•§/0É{Y#Ëpü׬«y¶~¶ÉRÍjk ť×Ń3Đ&á’/ŔŰŕćaź5#"Ł5żvżfQĄ†Ú„ÖŘťëšřčŮŁ.ÜÄ5v~(ô.7 :ťMŘŞZ–ŔÄ’°Ćî4é×RĚ9QX‰µ÷C;ć˝Wę4tE*NFt ĐÜ~äîɰ´ß†HĘVkÚę…ÚÉęoEžŔe:rcő‰80®)ô$É GsÄęłE+^_Z{áP±î÷v`0ŤĄľ@Ič´´Pď0ň’XŹQJ[ş)JC–ĺ)pŁĄ‡Ń™1…/„T!F°á\Śş(ŞŹiđ…C{Ž.[G®=öÓú¶Ž{E]ŕ*öŁjďΛač{Cˇ¦łĺć÷Ôđ™TîŚY¶ I9CA)t»×'*©•đłŞŕŘG˝ZźČ÷Ó¶ş2*iMgŰŇĹ<×%e0˘g,˛í˙@w9ę‹ATÁDďq/Ź"YK=ş¬ŘŚrČű8{1Pe8Š+,ÎK\ŁÁx€u1Ü×DaQp‡YQä‡bűń”×`¸Ř‚*ţ,ôqŃËW)D­ęĆâ t3ĹtÁ^/čů"ôÉPÁ*ł˙ą€W;ů#u|ßY&` Lw%ÜŁř|ŽZí9°xóbžm wŚß˙ÍÁN‘©Ńiq˘)çkĆ^H¤Y.h;•¨ÇĆÓÚÄ1É!ŔĄ¬’šSʤ@Xŕ)CöuĘźń°$sWX¸ŞŕÔŕ,ççY ”Ż™´˛(ZŚŇ.˙Ěö@Æ/ć şŔ\'öd*«˘LB1ZÄÚĘÎ⥂7ŮŚŚš4ŃÖFąŰłĘ†Xđ§çVÎRŃ\Xe]Ŕ® ÇŻn){ęöČ[üôú@áxýŤ¤QŔĂ…‰3‹ß¶*ç”Lć.Âű0u6Ť7ă©0Č‘-Úś.5ĺß÷MqýŃöáłÖS†šŻK#q÷ĂR2Ľ†KíΉĚy ©ˇźëŠLóŽé紴鶸ݓVVă h¶ĽőŻţâś÷ę“…-ď÷ARăćĄI&:°ˇÉjRĹ÷Ę·řm¸¶)>`ŰńĄ”y{ëĹŃĂçZŞ)B“,G+¦nÉ;^SďÍ5GG(¶‹äk±˙˝ç¬Ë En „JłÂOµ!Ţ ± vÚ:çŁ7$ěMĺĐv•†zčswŤ)4ʞÖ6=6<ďx{µw˛»>üú%ťőĚn—,v[¬Ŕ¦†–)µi —­|ă‚t]Jź96QN÷Qr9©LΰE˙JŮqšmĆËÁô0X9N¸ĹAzőÇI™‡/›TRd ŻáfĆĄwnčwdµZ8긙•ëk"bâ?eKQÝÖń§…LQ?IfÄ4őĂn–Dľv´ë‚Â`0fÍ3ÉígU3c¨AR 3‡t+kč©vđ…ä%Ë -ěëxĆ\–ůŚ -\çĽéu űş-őŐĚű:¬#KĄßI…ŠN¬ó€ A—ŃÚ¨ęńî4ĺăŮěsSú-gT…NE¶V11m¶UMóéÖ`ăaL#<ş›Űţ °¶Ő74€‘µ‡sm5Ź-0ĆeI™9$»€Á Ł/Ű]łäŻE ąĐ*{ľ–ĺŕůĂ çoĂS]­ĚeNö†ĐÔdÉA5‘˛îÎć}ÍŮ_Xߢ‘ ôUM’/´"[T©ŕH”f=™ţˇéĎDj ¸Ć \QÎ`mb›"Ó,A2˘L,‰Ś´‹â*‰~j·‰)™„xÜďŔdeµ/ř8É -X˝őE¸ď ö|Ň`e&¸Xşo˘ŤĂW\CĂť-*~ź¬D_aÂď’'iŽxP üşËűG\۸ P%ri˙ułD…:µ=ú†U+QGăýćd§Ż¬Q]Že’Mßrř2ë>ąš×^bRÜßžVč Cď)獯D#yĎyóŇwŃąÉÂ2ŞÜéż– đg"Kţ˙µ©5MÉ"JşźËš!K窥äőhˇLd Č;Ę=î‡kY' –Eö¶‡˙]A0.ái’8”%Ún˘aUS8š†›öŚT«xm:°nÔËWnŁpŚÖp_ÁµÔ8ěŻČoŢIµŁ†łÁMuű¶ŠG~óÚňŁ,E6ůn)LNÎ/IF„]ŔĹçë—čçŞtŁd(ôQö -PJb'ĺáŤů¦şÜčCőúEc8^ ŻłÇ Moł”_~°vó%©dŻ ?’ÚO­É.ţ ”E?'ÂlŔŘlÚźýTqĹX—üÚÎň =wIHT:Â(ř‚ŻŁďbgXoČ6˙k6Ö‹"ŹŕçůK¤ „—ésIeň€K@‘$…„˙ ˘ˇ§šĺĽ_*tÄ›Ş-ăP´’CŠ §ż}–p#;Ş)Rü|‡ßçK¤(ŕńSČŐI9ÔLyőŻdË|cHąČžľĎę•Ŕo_n’ţăĎĘŐ:ćÁMŚ- ÇgąŃŮí{=üşf8´ľÄ3$Čž¨c‰=+śéžÜĺŽI>Ť sS/bH[ -Ůúy˛KÖOşBÚ}!iPźNű28LÜŚ*ćúőÎÜ©J …*˛€¸ŤÍÔ»Wţe¤“–’µĐFIxU‘oús„“Úxž,Ňţ5du׏&˘J´\"@”—XßBáňz`¤Ql-¬4Rr+ŻťyBď&:˝’Ľó1U(–w”1Cm&[âś#•ĎiDżÔŔ1 i¤Í ĂsÚ_ÄZ´µËwP¤¶GŹb¨RThĚTđČ[ǰčeŰWźSź/P¸C†Ŕ3NçÝ($®t÷<¦Ź'f¨NJS®VF˙ʤöshćęc dSľWÔÁâ#zmť9ČĽ ÖŽ_"}”˙5ď¦ŘçoĐÓĘőş+¤ˇżĽTÍ#Mv–ëčŮb^é‘”ýx»t—ŠżăË©I -EKf=ŃŮ-w KB\ŻĎؤńC4Ţ(…”]] HQoUrüŘ ÄĂs­[n„ÎÎ1 ĺŰ˙}G DËîIꩉŇ>d Í{g úH€Ă~Áfh04ŚĄ¤”^ȶKĘĂpŇEźžhËżż\8Ôß˙éöÇKÝpŐ\ޞ#µŚŢ™_Młáµ°ŠÁŻ­Î‰–;(ÜAçQűĘš:±wŚ-řąľÇI&6ŇŤŽÄHŇH_s޸öŠlŕ[uPĺÇç¦ôDfóüž|hŰC@ Ú)Ť_†0˛ěŮŠ¬­łm›ţ;bR†ícŔ˙˝XcZŠüâT˛d>•‹(u(;şÜlç’sJW$2m¶Ĺ“¸”™–X4/‰š™ţ®0'Č ®ĄîŐ"Áĺ!)Ŕ˝ « BëRĐ Č <©«@˘é˛úk»ĺ1$Ţq­zÇ/÷n&ÁšRzF˛‡nv'ŮÝĽ­bvc6ÝŕŇ(jULˇő!ńŮťĂk|@0çŞzpłäČ­SůĆuôČ%Ř'ŮOárpż°˘‹?ee§€Ż[Ť~-[ĺo«}öQ%©öţNî+KąüiűS -ĆAR+¤ś9_‹¤¨‘  -< “ĆŕâoŻz܆aZ5qű4ë ˛Fěf&sxe·"Í÷8•)/’KŁÇ†w IŮřü¤żK„şßëßĐ Ţ F8ôńĐŘěŽgbD ëřŤÉ=«GÝbľy\ío”ě-¦)ȧÚćnĽVL^ę»Ö(ĺăv=›ťĚ ň”uNŮożvg"ärÓÁ˘}…ŔĄ•Y<ác=F™EͰkµL3ë3©†,\zÝIď‰1 üĐâ®Rgů”!  <ČĆ’ź Ô ×xđźz«¦KâµWVݶáúNĄđ\ăaVçőK‘©ĘđI}f @ ®ĄÓXbkϸDgÁŰ6:»Ůć˝;x5öúh—żž;|P´ž8…Ě8QZ '˝cŽŹKH˙ÓŤ (•Os_?9·ţĆJ®Ń˙1͇.Řúë«?—…¸ząYŃ‚†p +úż*łp¸ Ô ŰIčţ°ů'ö&šĂ9š š‰…ůßUz„=Ůě=ř†/e‰§ô–Dßôç=¶9 yŽ#µÔťëv„ŰĐß#6Ţ^'´»xkí¤ae¸ŐáDouď˙ŇÇăętéäšʧř&ťcg¶Řv·űe4żÂ@Sf,ĄÝîÇp€ô*[đ‚NrI@ôŰtťÎ+Y1X†‡Q_ü×ű<–mIzB¨nR –ňČB_ř CWl—>C”usÂB2Śq(>ŞŤ˝DR+y–°đrĹívkB´Z A}jzÉ“IUăďMŚsÝ9÷ -d%Ŕťž -1_Í>ךĐň‚"K.´Z˛…î„GĂĆI¶{Ę^Ëeš´:ęş}¬!2”ţťÎ–9Ń©˘ňHž«śĹB»Ň.Ů[6ió ÔRŤ~R~lPÍ*°2ZörQ/•‡u×é˝—˘)ĺ$˝Pm/(í úŠ;m„ĺµKú¦…šp0 !n_đř.Ćdü¨†v\›ř˛3„ń6ăB<Ö–¸+ĂW©Ď á–»†GK%îÚpÉ´[bsIVyBďšM rŻbşP6 w ʇ9ŻěَÜţj0·j#Ý7pĘ}Y9ĘHyń×şÄ †06“Oůę±ďŠx˝b¸ľÁkŔ=zyPú5—9ĺ R:r®¦ŚK /ńÝ!S”:0ąSŰ~ o Ki@9˛-'üč·pJÓÇDĺŘ{)9äX™aĹaŚČă÷ đ–óÓH0Sţ§Ú–Ϩ# ż™ {'(ßxr—Ëd¤yÉ$C:!ŔĐiŚ\_·,űPCZĄĹŃ!&ćn#„€µC4ôĺ„Ń´‘Zś¶«9ţĂ3ž ‰A!żHBŔZ7Ý‘bk5Ö,HÇK<)n_˛Ú,vcôšÉřďk'`VTťťŤ5<űTMłPąó8’PľŽ*ćĆyč˘>±źepH>_ĎŢň¤(#¨r+źÚ›Îs×Ý›E tëćż‘¨Ju4v?÷Ü`ÍH]żzD·śÜs6$ő]©yŠ›qĚšµOü¤u˘M/úĹA•č ]`L,©MĂPݱëδ±¸rő{Ff\¤Žîb˘űľĹŹ_”+W‹UaĺRtô8«Opç&uv–j¶ńún}»“îě»F/Yf čž%D –´Řü/ó´`'Ľ÷·ěţ±±^ž”ŰóĄÚ#Ę;˙:Ö»ßnBSÎOOťhŇş˝€¬K%׋YaJ>˛XÍlĎş-ô`wNYg˝Ö†Rí*Ś‚i…¤ź ôưٚŚâw0؆G/1lŚ{NEĹůxG …ŐŻNy -fňp!Ş)yA‘5KĚ„=ß7, áĺËza¤ă«ĺÖTĺµÓ‡Ć"EzLĘ©1×Ólj[\tŁ#k2*Ş©Ű¨phfVś(¤L ś±Ý#í-ăëc˘ýV؉<~÷LműDyÝÜëëŤ\)ţuŘÎK§AwĎ@Ľ/"­»*SRúQßtŢ× ®I¦_˝™Ę¸K§ŰtŕáŁf‡¤Žň‡Ţ@|Ä…¬©‰)U}ŘÝ,ašâ[r}~Ç ‹Ó!˝GŮť÷±üu¨§ěšˇV„mk.ůžĹĆ.QţŚ˝ąsşł˝ÇÚ†@€eŘ NȬڠc{ą]ż°9čt:wŤ?WÉ'Těxď[ĄÇ»Ěeă†tąr×ĚXßńŇęśP`4t´zĐŤÍ)80}ŁóqjlNZ â#ţwÔ‰’|ŽžQ7¬ąmĨE6‡#źHŕ4p±XšwÍ6yç:ó`Sµ˛m`¦”ĺĄ`.âňÖ ‘õş»!¦‹ŘJ×e$MR;XŘČYAĆhL%0đO×#ŽŕRÓ}iĺ®BĘ6^”îîě?^˛ŚĽnÝ@ÝlÇp©™9‚:z=wv5oˇ+z•˿ČNUŢ5&% ČŮCHůi{PéŘĺéÔÇsÔá·›ˇLŽpJuňŹlűű¦aŐrT”’ţvÇBELlI,†ß‰¬ďüÎBßá8ö‘Ď^*Űô!Ú=,! čĐ)l·§ëBÍWÝW%„¤C8Ę©1Yĺ±§yŽ™zJÂ@ęöGÝÚ 1BĘG:}[/K3!b· şĘ«ËżOí÷|©,r˛(ě%OĚoµŇRăÇ2×hß΢nđ-µEeQĽúR<^ĆHüŻd nV÷’™> -IŻśźŘĂ&®š˙·4n^áÄ Ń äEČbăăY%ˇŚŐ9k_MÓ˘OQ^ĘfÍ5˝¨mĎ%óAtáYgF€|FßÂ{éüřř‡ › Ăö5±ú@&íµ®WŠ„Ó ˘ßš•Í›ű*ËáŢ YúcaśďV"µ/”t±\ţŻ:k2î{;•µWXďh•Ň궸@]ŃĹŐŔťő;f÷`·c¸l‰ Đ‘NťCÚ$S-Ţí©ÝuďÚoŢŢëaÍÄĂEĂÖą Δ‹°#{WíŘ€HĄ.ÇźŔ)Ě—í»÷MЇYőE HA4y'Š(ŽćŰůGyܡyă«ôÔią~M_Ő×_WěAt÷ Rîüh–şa5ëG¬z  oÔÔť¦Ňą˛ÄeCaÔU6ʫ± -OŮ1}řÎńQŕđ}÷§ď§ÔĂ“uă3Qż@l™ -hĚÄôË«iŰ-?.Í÷TO>őJ’ćâ(0ď´ř{[6Ţýɱ{7ę˘`ĐńJs¸q-ő˙„ڞąËók3ić‹…Z.¤6"Łq‡í#—nşć)¶oÓ±/âË_W‹ űm2@Ľťrl6„>m̨[Ź“ăÂC'@šrĐÁ´“„™ë K·ńŃüo%ű^«Á÷B%Yv«űUŮËÚâ­\/ĂĆł-^(/ŚMĺş(‰Q‹¦ôú7%HJĘÓ-ŚFęľk)b2Ź% €đź­(ŇŽeqDĂqo™× -˙Ăń1uËdóÉbSí.Ň3^]Ýęq“®ô7TüŕÉé•`ßĐiµßw".•Ç•­Ţ /9ĐfüŮy_+ŢI -őµŮdłĹ Á•÷4<2É l•¨…›)’“Ę&@×V`+˛ż“M?ăŚ=‘âp7|č<łŘÉ*~=\Pĺá8ě~gW> ¨ś)ÖĘ`CިqÝÂ.7KXáŘgŐćj¶ ĚŽĽť‹1ZÁáeëőÇ.Ű ˇĄ]MűI#UcZQÇÔ¨|ÄńIG›|ÄyD :űđ<á˘iŇŻ]"Î0<…ŘnU -ą˙ÄŹp& .öůˇÎ`óĎëbć-Ľ*tXXC( †ŢU%ŐF†Ô u+÷w¸îŚĆĽa««o´ĂýXŐá'Ě”lnޤ6ütŰŤ—z[śłöTŁ´eČĺ űńť%ŕsîiŹÍ%Ä* p}dR[ö8®4énŮd‘2±Ç;®ŕú©zJĘqݲŮĆ$rćNhÝ/8ž/ZççŢó.i(ď„\˘”űαĘĆô/—›R`6˝i<Źgţ,óÎ팫W©GUSÂ'c7űŰNK Ęćţ«~OËďĐŔ~;ʵ„M -g:ˇ«`¦,MöŁÔĽ -Íň$ËŃ>1ňŘą‚’řşŰp]G˝C@ý÷†8bˇWV?Ď‚üqńâ4Ĺ­bž˘Ą|q­ÂXL1›ó -™·Ű1ę2˝A7Ţܤϻt×Ŕş›ägďËő! qŹ{†|9oŽdYŇ/Şá§X/¦ü5@ĽpŁ!dC-˲¨Ô9jqMR'JŻŘ-ÔM¦¤ż€ŹäQędńqŮ>G{7Q†ÚF×­T é«ĆWĚţűĹBeąH0öĽ(&`‘żăŚăÖL8A¬ĽşçÜş|jĂhl=}Ő\‹kO¤ĄÎ›“¦É(DwĂtÁÍ ť°ËżŤÂ«ŕSÎľŽ‚úVÔúÝ4,ĎŐT«–ćGh]Á<ˇÄ%Uá72JxFŽ$ 9ˇčČ;äOT®›oźÜŚôt śůéßKÎ?ť&‰™¸Ż†»Ý2¤Yh/ł[–P4>qH¬Ćx{—"Âĺ?ťhG*“Bhf‘:QFĹźő­N!—í•Ĺ«!ĺ˙e<ÍjC›Ăez˛Uż6`«č€2ľ~ĽYWšÓf§,owřއBí«ÜF&Kzť±Qr“ąIÉ,[®B -.VÄCČ)ńrgÚtl‡sİ4J¬BÉ^ ne؇ Ř'=ŇÖČĚ Q,ČóŽÖô@ö‚X×P“L7đÇ€:ó®ycuąř[0|0!#ŕÄłĽýBŰ×: ™:jęIČţ¦Č‰™t‚ôçĆÄUl˙Gfą—ć\˛şpP“ýÇ -, ŘIŃ—‡G­~˝‹ÖM_ţU®U†úĺ:kCP<ćdţpFYßK#Fťż8 -¦.qĎŠ:·wcău§(Xt„äzÎź ůÎq#Ą|Žž€Y'HžüäqÄßÜÍ&Oůú——[Żhý_§xbUäŹÓÓ©MFś=“%yŐńŁŐGgŃ8ΤŃßô,_xÄm¨D˘ď8j ‚- ágÝľÎ!0K•ş' ݆CŰ+S"–á‘ę?7µ«;–őťt$W+ÖUŰŰňT WĺĆ@ß÷Ąt=Ë -fąČĺA› ÖkÍ$lXŮ ˘8r%I‘ĺ7€î=9ŤŃ®Ýt/zE7Ŕ;ĶMsţđ+ď 9†&†ľÉQGÎl\Ƥ±t÷MĹŐˇČR;Q·ŠQoďb$5kE†]:Ső+ D˘icľňÖr´őĂ_.s9ďö:'ĺďřH™S üyά!=Ţ%ŕâ.ѵD•0ăňëęKˇř×ńj,§“ˇ~č9íĄ&8&ć¸OJÜÎÓ[]”ÎĘżÝô:qŐ$C %âŹe$”PL†r}dô9C>jt2’ý±Ý ÜcçRh—ŢP (BŰkě8 "˝8{=&Ö»0ęS4z zÔ }}mn µľéxÁ“€BfdŹ*â˘őb.Hí ¶đü![]@kˇ™´”ŚbI§Îé°`ÝňSŠŁČ»ýŽk‘F;gç'ß„#ĹXfŃă_}}đ ,pdţDPúŞV›a}í[H\qH°§´÷ź)zwćŽ)öňS±" O©f_BĂÍQc;»­ĎŻ)xłÖ.€M Np]K×ŕ ?ß1ç˘?Tś{ĨvsŠ«2ŃÝIýPCrŢ[QÔm#ł e/ˇě±oĐŕčCüĚé,aSŇD˙Hm©ë҉#ČÓöđňmě8TKŘnÝwťqĹçôĺ†éĄ×÷5tH[v`Ô•k| ç&sĹÉYÂk°ĄSeZ•1P,ꆣ´*#2‚‹FZ ‡:śĂĎβc6řWq'Ů›) ¸F<+“ß݆ž¸Ű†­śqúšR˝u_ŞĹé§`Îóä]č}EČŔćܱź®tĄźąh¦<úÍXd@QTn´N}Đ>w5„Ť1ÉłĂH„GESĆ3MťüË*w€ţFŁ”¤’Ć\ ´Źo*ćńNÚNUz -Ť3fϰXz-Z•ž;vj>‡ŘůMJ¬Őţ×Zř"#5^nŻ•†ľÁ\˛:@ź^ů‹jp±ńD"Ś˘†-(NtCJü‘ +"I­‘Ú­˘g:éČ'° ŰuŽčV ÄŇV0ĄÜR‰µÝk‚Dt´9ď€ ›$LŤĚTĂ]uŁx±ZxFTĄuGio©S3"{ôRš“e4$…¶Ëެ4śçŠĂ?i¦iФhĐV@<É‘¶±ÂOCKnÔ%YpĄÎ·ź¸ ŢEŘc˝ć|đěçeßŢ´fđáą”=B˝ÂiŻC$jČo¦f -ÝXŞú[±ňłXüÂěRuîkrE9†ýMVč0ü’,¤>Î6!ÂŤ †˝ř‚ ËWOť˝UC«?ă˛nÇłŮÁÇ€ -ŽN E7ł“ Xóťťu°ě(#ĂďŮł”‘Îd7-`€Ôµ*s¸Z“Ă%/Ţ É!Öy‘ŕÎusĹęSJvË ócd,Ţ=É WÚrŇ‹ĺä{Řh§8ÍťfÜ‘9@°T;ŢšË-ýTýň†!ĚzUěúý‹Lj%›vnî1c!łBÝî“%Ľéˇ'ŚËČR˛ qě¸B ˙ş©?Ωäż6-F­ßoKÄÚ`n®·ĽÇ írë“˝ÔŢľ>¦Öi"ÁŽ`­…ÇrúWIűG䏮îB7śŐŢ@°×>4Ţ&Fđ8·îc é2řâ˝çYrM|żľĂ-§KÇŮwŤ°X_Ü -ěŽĚ„ ›ËKíbË˝’ťË=7ł¨OCŰŁ˝‹ŁóďćhDÂőHz<2§ęw¬p(ŤÝTô"łőq/ó+e€@dľÜłPV»ĐU0Ł5ň›¦áeó"Ąq>™2Ápm¬uţ÷śzܵÍ83đö*¸‘LÇăĚň -Ç őü;ˬÞŔŘĺa2_«ôűhŻH&˙ő.!{^Ĺą4Řv=káPCIčvU"BÔD¸ÚçHźĺU5ÎÇI‚8rÔóîăLAäŔE¸Ď˘÷Ů˝čŻOž%gŤ°·bxČÖkčqďä*8˛ńhž2Äó_ĐŻ çH唋Öôk?ţ0Ą}2ÓÂuž ABĂÉĽJc‘ĹÜŚm`¦ÄŞÍÔŁĂ{ńDŢ­hˇă¦ľí¦­%‘łGŤŠ¦ţ@{6ŻľŘlĹ3'É­ŃVaşXŁ~‡^JpôęŘOIîŹ}S‘ć g¦çŇ­ÁĺsZŐŁ©`”öłŠJW›:Á˙6;+ü’Ś#Î6Ä5ĄČ\ŇźŹĎ§5YÄűŃ­I,–Ł1cýF\ľ7ű”ńęĂM„«e Í-›!Ţw9ŕ÷ŠAÉM)*–9D˙©0ˇOźĹMóľ–ůCŕ€cĺ©‚°‹áÎZísZˇÍQÍ®â±WëA+(ĆóľŚ,#TÂ"}´–pÎTĺ Ů´9r_4ÜÔKĹŻ!NŞ­g$dr—ö#~mś k_Ë69ř&˛S©ĐôLí9˝Ó‡Ň/şë€0lť{[÷*˝– ,Ň(«ĐîâáńŞÄĚÓÔĺ–&I—xÄjŁ’EŽ.˙Őšíë­žFĺc‘O[„¶s§_şpŘď{LčbťCžÓ‚ŐĄ0g°6c"ʵ®Ţ°ĽÎáúG˙čůőjwD@ź=|Ň×Ý!¦ń2ÖWý9¬¶§źu %šÎ3H'3÷)NL]ë*ËÝY/”ű¨uú\ô ĽU«’R˙“ß.ksřI%Ë .`™sÖ„FŔXŹWS®˘5¨c*«ĚVpđ0KUBHěř“8łýÔVÝr#¸+K{˘D3ˇÎŽQ· -W‡%ŃCDg cŃš¸"$áNüŕ8ź5ŘŞ—!Ęž¤5”űĐ1U¨ěKrjgĹq,ŁlRímb©Řxž>©î”_óeR5LhśŁŚŐĺ 1©NftЬt>ŔĐ„-Ô»\B¦9miË»8ÁŚĂťÉ3aćq’&ůж?Tľ±Ř÷§üČř[}R(Q•™(xU§®¨ÝňĎ#Ú–ŇNŃF¦wĆĄîĄbG0S•ĎÝŐUë+Ů´FŃďëˇţńbŢ‘ÍŢoÖۡü×› -›ěăd­°ăYpGµK€¬tüd –wĘŻ]RĂr>¸ÎB˝ă黀LRÖ‹Ś Ö\<ŰŤďâ2/vým‘ř+8]‹˝"ĎY -Ľë¸`k ‹#Ľ‘ ndËÄCŞđ«Öĺzá‹xt)®v)ÂręňŮM@*†˘‰rÖ—]ç(´ř—ű9ŤűDŹš©RÄA&iČžžçLŔűčű&÷cJdĚâ˘86Ô­Ş&¶°Úß’ŐŢŕď{Ť›śđ)m•¦ÔQŐŠĄż„·_’+2SY&>µZO8Ů0lµĄŚÁýh4Q%qC ůżµO’ő=aôŰ/)ŐĘęŢńwd69›í2†üî Š‡¤ˇ¬µóJˇTB*š -ŰY[Nźčŕ|V -Ě7áLÚ®s;T˙8j>1¬óR”Iv”ĎkÝłP4ľWšô˝ň¬xˇą—±táÇëęŔŽy/‚S€…i ëŐŰşxIÖ6˝5&I_¸ąĎµoL<;Ä“UÜ#čË -}žD(ríůő’šřFŘ~|ďt>Ôb%흼\ÜŇi Ď»ŐaŽJ— - ô'SQŤj|ükŃ)räއgĽ¨˙!Í? ·Y/c{<6&9˛4D …ÍÝ )ä?ő·#ŔyqÝ2$ZrPtB›U¨ľhć%üł/ú7(®$Çi‘6N $ňJ(Ŕ -~Ž/˛™„HRň9ňŤ§i|’Ú" °Ý5źŇjÓ Ü9ż„%şŘ-_säŚůf'dá#Żö×UĺŞđţʶb'j Ń›©ÝeřŤÄ yz $:=öČMC<Ąß3‰ňűô:ŕP‘Ňt´Y«l*’îŢ…qŰXa:ęQĚbpšJńX4ÄÉ q¨gŘçúřq€čL[5鍴Ô%…’Qí÷ŻżńţŘvaŚ'  ŇÁĘw›/dß•5ąBÁ§YúMÉ—tzc=ąDłŕÎáy‚{÷Éńt‡úb<ŠäS5zÁtC:.ňVv6űUÔg4˛uTcŻ ë‚ť¶5&1â/(Ž%xTßňJG`w­“©[ÖˇÍc<‰âč˛D0ý‹î‘Ę@(0ţˇÇĆúéVúŞ©“s3öşX&4Ž©ĄZ¦“ÁţúRf˛;:ą}ň ónŁÇŞ—T¤?ÜŇ‹Żą÷ŔĐó$ᵝtE;_Ľü%áő¬˛ÝŘ©*[n—˝ş&śň -â\ďÖY!čÁľ@}P~Ú-ÄŤÜĐ_ćđtŔ´-˝DH‘N2i®1cÁŇN čŽhżW;MŞÓ±ÂîE/Ö޲_vă5ÄA»g‘dŰb‹ŰF¤цń˙ždô -57cQqł±1÷«ÔĆÖČ,ŽŤĺh„vµý%”3”lévn«˝Î_תůš§~É5kˇ 7•ŠĂ}Ĺ€S>,¬čŔŤżR·fo |ăçAlżâ§đ¨Á˛¦%{çZëÍ+ŕFX§ý—źzŚď¬_ÝlýPň?Ă ě:„ľ¬)84.‹U0ĚńLá‘#€bü·XX&O4 \J˙D$˝;ţĘnhŽG’Eć“ R -+N4Z(%RÍă ;¨Ű˙ŽH?ű#ȶż@p×R˝L»*(śp -ŕ]Č0Hâ’ ô›G#寅x%ń84¬źó˛śäWYˇ†€LSÉ . Í«•EŞN/¤z]µťŘ%6¦¶PÖČL7áŕłšYŚŢCĚÂ0­.ĽőĎâÍ˙ň,ň˝<Ňd­5o„]#A¨ú)ó“VňQ|€eă?žĂhLŻľs7ťwT?»ľ„kŘ&’C~eŔՌŞ÷‘÷<ęO\ťŐ>¬Ĺ âcoPí$°ű;Ń× ->ş~‚ś[±ÎM\Ҥz˛%jÜ×Ýąâ2 žŞ‹ŕÜâÔ/qé^v_Ôd42ócçŢÝđîÉG=ŚŇ&)…e”KµÚ=ń­ĎËDđTPU„á˙ńě_U‹NÚIjĚö,§ĺ:;RżĆŃ€L–Uł ©ŕű‰UkQĘp-ß12+ÇXŚ M$}`˙&˛ÖvŔ…ŁÜ'™ľşÖMzD†RÇŇM°ő^h?‘AŞ3¦ÓŹ“łÖ Ůl<‡r~ŕŃ!F,Ű#¨q¦Žöá…ëź>ß]űĹ™ě„ĐÔýęwłďu˛*ł}bN‚@o6ĘÄ⢻Ó8sPş[˘ă‘U;ŞWÄ0¨[Ďg  tß·$Űőě Ăsl -D6âŃH^ż)&‚[»­ă4j ÓHÇđ"Ĺťö2Ž©¬x(KiFi˙= ÖČś/§ůő-|ěCá&Ô9!M»ĄćţťţOŹZ}Ůđ¶ÜY!¦"oĺAăć°Í -2Ăşd†6°Ľ‚‹ť•Ř”óĹË {ąű#‚DG8üĹÝűžÂs´˛Ä¬m4y `ű+‰'wiĐJe=č(˝ďOŹ˘};ž’(ö~QŤwy>|EŔłňÉ€šň ~dOž°0ě1Ň]§O÷Ő4vőľEî0żÉĚ3ć4u:OąË™8gűÚč}ĚÖ5CßyŤ+2Ün®Ţ•ÍëůZ&Ľ7° - -őńęQmŁâHŔ©‹ -_ĺ=FŘŞ*Äü4aćç(VÂüf$đ¬wĽPű¸Ě™y.'ÔĂj±c ýP•{zŻŇ呍°đbBř‘ô)€·_ˇŕ*׿ň#ôO˙LązySŻD»nęΩö;@ÍwT;Fh™é­q·ű[cŃbCÉž${W«'Iůç˘.~˙ę -Zş˙c8Î-y‹ë8.-Í­U8Ĺłvš@@793X×oW°ŔŚŞ —cfßśdţiőĽŽŠ«y7čÔßőA„ßPäöőšxö­÷ł®gÍ“âhŔZęI9÷ů ÁU{:Ę|ë=aaěťů-¨z}ŞŽo:-Ł@#^@Ś€ń–ŕ,*n -OĺyÍČ?€d’F=ąăĂšÚ†“Ů­äóSŇŰiş”S&—$Śmŕ ÷€°P‰†ńⱯ-ÍČ©Oú]đĎÂ+˙ŽŠĆŽž1]–žEĺĂ=}‡3peH?§Ěł2e•>¶2•+śWhŰkŤLďś’® ߣ=Żďo»É±n7\hŐŐú2C_Děüĺő׊ňgé˙ć tÓö»Íˇąyy׉~‚_si‘A>"ČţĂ?ç Ăĺ48­R€ a@oíÔTe!ř  ĺŞE¤˘>ś])s€ÖĹs|L\CŠáíý;C52M} sqąŃ ĹA6#îcŽG-ĺąöÉ-˙ŐĂĽz,ُ• ”Ńđ'JSH;Io!…NT× Í%„â«Fűćd÷Ľ¶)¨Ą˘ó‘q¤M‰î -ëĄ0\$ȧ[XcťzĽ íRĚřPđ}ŢíŰčzřöv¨Š—Éf8´=#xXJ=Ô<ťîÖ3źâÇGÄkBőú®PűaŢ˝KľÉă8 [ö”ÝׂW>&Ž &'v.„|@ë*:&± ©ł}«{h˛$©Ýčfč4ôÚĆßđBI@uˇACôzÄą¤ÍË.p‹Ťů•żť&׎|y˝Äť%‡—śÓăľ“®Ć\YŻ*ĺ]<—‹6~iq¦$B˝ş…Đxő˛ŚŘŔĺfCŚ3ŘJ9ó#Ž­Úă…?„ĂIqtKfxÇqőßźŠ´Hj@Ö›B݇©EýĆŞ‹o7—µĘĽçŘ{pÍ4óJIhú4›ĹV$ˇNLöWR‰˝YWפA?Ç3Ĺ×6ÚąB-JB–Ą0w… i ×đfďLoçMđO¸čÁ¶Ş{'nR”JXyŰ7€ý —[ cÄw>nč ĂŕâA:3‘PóůÔMĂrÄfv§qŠ'ę9)h~µ}Ň.n:GĐG.âz`Ňm÷űnß3žĆřSjŮR6ă /7Żă ećĂ;yQGĹ2ÎÂ]>hϭ߯ÓúxŞÂa0Ul’ Š,Ó®ř©{•ÂyĄwśúž'%9Ţ{s}Ö“×-´wĂý»}‹ÇOU?n›ş7’˛ŠŔ¦'0ĹM}\Zëľ—1Kŕ3HţČŮóLě!‘î'}§ýSźëębČm7&m>V¬ś NÔńďťě4 6ö` X‚ËÄ% LĄ,ä->Ľě„%)(k z RäÔ=I‹ĺ"Iľ5I–ť9›ikn2ež\Á9>°<•źÝ϶7=‹Śs 7®EDu#ß›ř¶‹"5ÎÚ_”ĹŇ$źčNÄÖ#=źŁ“ł^/¸ĎKźNJlÁa2ć˙qťá“_<éčË»ŠbĘŰ+j 9~$„—őů'ţ® os/Iťc G̉=DÚ*ɲÄĹ”UX…ÜŰ íňGÇ*O—Ű,icŐ’F:qůĺ‹-w˝sñeď’ ˢŠÝ7dk–ěř‘ÄŻń«˝×Äöę–äę ľ¬Ľ/L‰2p'śŞv±Ł”`]Đ9ˇ˙_^ÂYˇ,µj Ňßî}¤df{âáĘËn}q[Â1đÚ˘Ë5ľÇ®nr2׎0?ĺ~ú˝jă[×]ębdŤ¦ČneBü$Ř©™¦ZXRTdÉhŚeɧhëy«îťxG•é™Gţxsgh÷h¶@Â<6Ł˙)Í·’Ȥ“™íÎ75—ĽP¶ÁńâJŮ´H–Ö»őĘlZŽZK őWî ZÍ`eÉ-Ňq`ą1Îd[©1ú¨/óhPhô4r«k“WDý?*ŠadWOntčŇč“ xč ć¶ť–›cŕÜă®Ü*&i5ËĽZ‘<§"4O6aö–ßžŢ-‡7rFľGâw· żű äŠMŽ/KÓ$ż˝DD‘î6/ŮĽá§8ⶦě¤9˝ŁŁę]ÁY ć şI‘—˝ĂiŘ(cH¸0×x‚Őq /N—šăţÇ$W?×´Ý rŠš‡-Ťŕůő˝idű‘ÄJßQ›ŁÓË®Ý~áĆŃŰÚiq|/+ă‡Ĺô;-6¨~EÎ4S­LaľÚÔľKńťËĎn"D1Ýr}ł^q -ˇôŃ~™ôŮp$ŇIxř@©“voŃłpÂqąŢîG -ns€Í8sńÎý+!#őł ~YóŠşµýĽvݍĆ>™·¸hiڇ%ńç&©ÎÉV+ [W$ľ"Kŕ?¨@ڜƵÄÔÚB.9›•y˝:Gfô†¦©đ(v9×C„­ôˇŽ;–‰<Qy.źµí¦Ťh‹‹u,#c]‚=ĽU[moÄ"¬ÜśÇ×ńˇL0 k­LkkŃGŇ':â\Ä´ßo­\Ú9 Sćis„ ż÷®ń»rhřń03Yâ=-ú)žč-š‹"Ű V˝MŞŻÖ&>€H/”Ąá€ÖM¬ů‚±VŤąrSI5Ö`äć÷htĽí˘çŇ— ś)A„IîÄWąěS×XÎuGu`ŰŽ¨Iᯥ3Ü)OY›rcLÚíŠhň_S)JĆZ÷uE"ĽŻ)Ž€ąnCrč„=a÷đqŹ/Š®Ó *ZËů úđXžv‰:*篞ř˙.č9x¸?ŽňS¦áyKpÍ8<çlĎ-Řć ܰx3fO>Sž‚•ňdÜŘ€‡,L1ďţ[‡|AVSVzl¶ Ö Ő2’˙!ńŕ>ň“5ţW^‘i ?řTD7t3µ]§[-]PäŠ[{vě…Î2×)ťb?—[Á/›ÂÔ5ľđ{;{„Ş–Š-Ö÷łżĽŔ -ĄŤşbˇ ŽđN‰I‹ć’ͮݴž#ŹMIx‡kh}tXńę¬!M­ąüŔâý&ó×͋Ǯ ±çžő.iÄ‘7,ÝĆseƧăôe}} ¦EcLvm4:.őc¶Ţvˇ.N^u’/Űi&ČŁÖ­žşÖ&ÓČŰe[7ÎÂŻÁŮřĂŽËjÉcúĄűnŁn IGŠYÝp‡.y­ŕnÖĂ[>7mmĚč64°“1Ťs üě€5pöě0ˇ(·cŁŤcIÄ7ţƶťźĽąţú5T—"jY‹Ż‚ü® ¬ţhJî”ĎŘśBsđ)čÖóĹm˙%ďúCŘfŤ0É>­NÚ°ÇvT˙1űÓË)ä‚p !ĺe•ż’8'Qfk5^*Č‚q5Q’«Ę°uH?ó÷¦ŞčI®çĄÎn’5q°× |đ¦`źW˝S"[ň&áłtdÖăq YnŚô¦Č{É4·ąg—ÇÄ!`ôŚö şT¶Y$++OUbĹÇR\ߕޕ,BPś QëBĺ›K9Ś,Vt@«Ě[r©™Ż m0¸¦ A ş -źíZLJç¸sĺ˙®$íĚäAäZŘóĽ¨qäůrÓ&®˛Q/Đhďyě*CJ‰űnĚ OaÁ”2*ă¬ÜŮ—L[ÍŻB7hd&—YOÍ5™DŽ8Ą ĘDpÁ3dPöQöĄý0^úŞÔxÚ´:¨ ČDť4ę»Đ0/WTc“e°‡!H¨®ząćbĂů*âTpîh¤‡[Æ‹Á E7µçžě&–ÚčR$ ŰŞjRđm8DiD}ł-ţä+Ěwo3uďEěâ_= -*źě†Ó§ł¨m±!‘Rĺ(ü›WN‹ăéx‹Ĺűéh~÷§Ö*třŇü ô“p65ĐŻŤśë~F˝ż'Í®k:*ľ !ât?9šŔB‹™niÇz«Ă·)ŘYźT˛L‡°ÝeAý•R»»9fäŮFd¨&ĂGô‹đ|–ŘWý šĂěq"ŽĚř&đ„ÝZxŚ'*öýDL xGóvw1§hü–ŕŰňn©M><2wĎG --–L€č.ť¨Án&ŚÖ2˛ÂkŐ íůrn¸Źď1ą¶Â{ýi…ë}QçŔBâëqE+©“eŘIAP"7ÝŽűR-7G>4tÜ„ĎÝý·Lí»#X)ÇąVň*^đlťaÓţőaźü„ËŽnéŤ/Śvzďü_Ő»őNäăăŻÍĚIÝÂßVonÇĚ€YÂ5ĂEV0*-Y±Ů7Sâ˝ÝŇóR{‹‘ŕżźrýo[ž|JżŚŠę’ľ69 ş¦Xw݉#˙ĽÉ»Üžç-xýľÔ×ÁČRýkG/DütTĂkrćĄ:„==ÓýĐÓvVi-z˝9ć[:„×9˙Ě^CŐ{xŕ4QĐőPŻý©®@ÁAű‰€t"BÓv$·”i9“ şö/,ˇŘîiĎŃśIzĺ°¬EŽs¸«¦Ă·„ -C*_đf6Ó`˘1FQŮyä›cĚt÷ç2ŤË<ü`€źă.Ę–xQ°~\2O?XWúöć2oŽ´@?ő—Â^@S@{űçµ -ÔŰy¶(ůŰ›»ůŤVdM1Űň°ÝrߥčÝ2őÔť°z’ňö5ÎrÁ™ns ÜÜxę¬<úĂůĐÚÓ=Ďđž‚îÁŕ;„>*_î:nŮ8ą?xsđ˛}A…Í%Y˘^ĆSőeó•ĹáN"đÄţÉéY»$HÖţŕ'AÁ«DÖĺlÓĆźb Q)\?ĺuŐ™C‡Ůçtť†üĎ©r·ĺ{´ hZ‰ëŘďŢ©"‘U­Ĺ0Zr˛…ĺ!~sN"DśE0bŤVrÉw`dúżď5íT“q86ÔĂ=—k˛áĺ“Ćć+†UµĽcŤ`ş =S’˙ 3VŹ0Űx)cÇň3˘žńÔ_PŇ+…†˝ p>~†Ľ$ IN«9<%­Ýak}W.ŢQ X¶®O8C´Opçi JîR[Űľ[ j·ťńn5úRn%“j% Ő4ňf­łěşŻ°|VÁî.ě©VNótІ•SéţĽş}%u›Ó&öŹŚÄI­hĘ|ůĹwżŢš”Ůvľew°î0Y|ÚČ×€ĽÜćĐZÁ–„Ë0¸ô"±1JZ€ÇLH¸€W6šÇ×V4FPbă1+¬Ao0o3ů‹¤]ť[‡©×­‰…ŇmÇßGś+™j!CoVďU˘żtí÷ś—‘KG˝đ˘‹—ťjcÉćMĆ\Dyś$ń_°zżŠčQľ2xç‚ímIŰyPŔíĹd ÍPŁrw ŤI[6@ší_lI´lÉ -ý5 3ČÁJÍßđb|P˙˙qxš·ĺäëN+Ž’§Ţ”ܱ….¸d›5ĚÁcćOČ‘n¦” 5]Çř!ó4’ţś‰DjUsŽBP·1bňŘ„—8ÉHiAł3JČŕN|‰ť4öŠâţ§ĺ‘°ž’@[ «ńnĆłP¨"¨Ż–FúÖ¤ćrŹî8`lU¨Ľą<" 1ż–üłŻî}¤Ť«BjakÉ›dUJëîöxQűăÄ)îüÝćŞJ)௸bśÔĚřŐ4”‡ŮhE Ő–¸ôP‡AÍŰî†l˛‹Ô–F9ŕ@Đř M÷–X“e.‘—xř#ô\D±ăɨťôw*w**ř|´XŁ Ô ]}( ŕęW}ČćüĂ ÷cŁ7ů€NĆ ¤ěźÓVş<Ć™x|śżÖX‘‘dçLHÍ=P’yJĄS»E7“eÇwÖw ‹±Ł"Ź ×Y_”fUC´$PĂÄrŕčÝ>n˘ü;,[/UKpUkÚŇĂC^…î Ű-ć9ŢFgÂ;Rh E¨żźmĹę|^9&€FDËĽuĂ‘e2?®äŇľĆ™Ž‹šŠŞ~\ëZ÷ Ś)AżĺF;yT_'dz%«ÂKăÝłśiżěK-"˛#ŽuXÍůĐ4gAYbžů®/ú“ř|Ƶ`Cb“v˛2ž¸=nçĂ5Ă~»Î_˙±Ü‡ţ®ZÇd–!ŹÖ…šÄGáxżęÓi‘9žôŤG´X[~˛Ĺö•@˘Ő†üsÎťęž&‰\6# AM°bf›źDͧ™µC’«˙)hF˝Đ”úýÍđö0ݦ¶ş˛O·NŹ)f°{’@˙¸¶Uâ|ą.K„óDK-˛üŮ"ÄCă[Dśv_Ŕ˙ Â}nEٛ“E:MŐN]—uIB\ăsŕ -Ř𶿼Ő:˛ 3ŻVź3|”…Ů»vęŻţ¬ĚťČóE›/3z!Jta»‘߀Ąűײ8 ×1塮â"Łu®čŽçľ¤3Eó,‡R›r€Ej/ŔĘ‚ éćĆŽŐ˛´0zĂk ´źP‰x¸ÓÁIŞ/)…`sĎxłşóÁ.™ôjbÖ޲<pŠiŕČ/3\PDÓΞ1×ͨ 6„‰Ľ1Ż5—& ZWős>¤”nDzř´KšŞ‰glô@›ć·4üůrRŇ÷ ť^%.`ű–Rw¸±Ă)ŘÝuŤA_ ňes+ Unę;őWîG‘ZłZěž_[‚ÉŃSKQßĚ~-źĽG’“AÖdă’,f̤ËiUe -ŕMJ[P_iׄäĎgţG… `4y1*éE}üuŔĎ(ţűůAŰPp‹6Ď”9CŁ™1ůńA-ÉěeLóTëM&`!bµ©H(ÉŁ—Yĺą860HnşĽAŠ{çO>­ă%/HŇdť?#Ď·FýŐńÁĐ{ľçć—2wqV›ir™RPUÄű M§#ČÔ+4§)j®‰fL"+ăqŤ«Y7{µEŚ<©5zéb˛zĚĚ_śŇ¦T©<Óx86řŽVµ˙TąŚţEËç#Í$łS"ÖŇŁâ[.›ăFđd˙:‰ĘC\2F¶ü#ŻsßuťýKf¤ŐÇĘȱB“˙źĐ‰Ú™÷!ČgÇ&˝+÷ʡúC† ¸żF#‡Ř«šC{\íJX&1TŢÂńqšR®A:ő§ÜwI…jĘ"2Ű݉îsë•ĘťĽÓrV“u‹c÷Áo™Ţóôä)_źLá©Ń`Qů—'ă»W ­<#&íNM·¨­ XÎ)¦óÇ#×/h=DôˇjSňÚ:Q,ąŽxŞ%ň<Ńqť!á.ŁŠ¶›ŇÓ–uJšČ‹8“{Ú`rË8î©m¬Z-v1Ż Ne‘u2˘ˇ;UĘžűâKťŇIbmš«ŤÓT¬9ü¬Ś±NÖh8Ĺe•z ¤ZD#qb>Z +GľÖz<®Óë¶<ËʲcţŔśl št%»ŻĂîĘ@hţ¸Ş·ěĐĎ´QçŹůÚÚĂÍ'šđ¬Ďľ)­#;üs ÝĂPP%ĄŐ!J0$Ňa*§WŃ0¤(×ÍTYé„ŐŰ-•őTTÍ’š“Ő…ŞÄsŘQáě ůV¸°®ŻY¦łţ\…7Š)Dp:ŕr‹}UJT5ľ…í&Ń7ž ČHu…»۱LiK‡öăěmgqžŘ—Áö›Ś8żí˙•7@(¤ÄKHD3ôĽđ0DڼŰö ĄFMľäÚđ˛pţ-ĎĺíQAá…ĚöJeŰÁAĚČ fŻěMXşĘÂŮúVö;{™,ßźAÍ€q&AaçEMXH8¨•xâęĎ7á@QŐˇ0ĐrŠÓ¤xB›of 9•jŢe?˝ öĎ}ˇFŕą0҆9ţ™ťŹuűˢ7;ÄQ+ŤÜ‹Ąl3ÜŠřŠp=¨q®ŕě€˙ÖtÇ Ëáá§›ąiĄÂá>‰jHNŕgJëЉŹĚÂLĐ^v›sDBH¦_sŘnVł ~¸‡ľé3áá¸ŔaéŞ×Xo¬Őwě"żŔm{=ŃĎ"©ů ]¦öt.pOhľ»N _bć8ŐF8žEŃŃt7¬ć17‡EŞťďšM«í ě"ă©Í,]7iÉ×ńMKŞňUnÇ[eČó¨D}f–o?%ĎčÔ†ëGńhYź([\é7>‰Z—É­aŃňá ÁÚĂrw'¶nĆI-%Ü}±óŐM2[BÁĚíW::}?ÁfŘ®ˇočĺä×ŮWb8ę{nkNl}bwm/0Té·á:Ĺ čS¦ţVŘ÷iż­Pőâ1”n Ĺ^}I˝ iĺ‡VĄ`¤=Ä<ޱßçˇoŻ·HŠŤšíÉm…@wÍR•0+sBS§˘K^d[#őđ¬$Í KźE–ô8ŽR„á ‚ŰĚ7ÇÉÉEĂDbĄĽydßDâă}Ú´\O8ţE&ĘĚp‰~ÉDćc–*z u‘–†ű|˘¬!ÁôĄˇěľBŕĹfľvźĹňSĚ?ĺtVŐuĽ=t¬€ľÎ“ŚĘKü&żŢŤ˙‚4·d8ňEu=»ä¤…36XŠłĐ¨&Î>Y ‰ľőävę*}čqák„™Éa‡~˛ ĺ7v4úâÁĂĹ{Ď·™k0CMsÁÍĆ|čŮö~Éäß]Ôää”*oŞdßďVWÎË|˙,ݬńĎť…7°ëzöŰ|…&ĽŃ†·’"pôŠ—Đhú—Ś:ÖPćuܨúů\`gs8 =ŞL—äăî5ĚĐ7Ľ­Łť«:űË' Ú±üHC \˝%x$Ŕ€ĎVs¶Ĺu ܶŽŐH ™"m|čm˘K3ZMůí™ÜH‡WD4 L.(íhP@d'đcÇŻ Ő=›ůTË©ů˘îLgŮŁęż6ŃIˇÇΦâŹz•Žţ:W+U`ZqÚ -ż;ÔÂfŢÇÇ#aŃ„]"qx×üiÚu`J•¤złŚä—ż©c{­D©¬¨űEىťÎ0cÇ”Ý -Y»łdçéQ«ßIÚ:e^2ŕő´ŔĘ6L§ťAOŰsŞÂÚK/—܎ڬŃ%‰šŞl× ˝můçéł.¸O á3 K¨maĄÜs÷>ÜÔ”ă„u›]Ř4fvYąÔŕßA˙A“¦tpń#€’U+#ŁćŻĐpŘNËt‹ëĎ aĆ/u+Ż9“řˇ”Ç5Řy÷{óťÖ ˛QHpĽqPÉs;b»Ăł}×eőSC&źóP˝ý7Ä?™>2Ę-ß’ŇŕŤ:Ż_€Pł–ÚÍ…ĺl»µů¦V>iH&"ł0'r'Z˝j\¸µ|gk‘˘r7ĺ1Lç,… -ZÁô2ˇZGV䳀 Ë“čÄ=9.ódž˝gEŁ7čŽďuk)˝Ď›ő(Îő«Vú|nd¶šCć'~#c`·ÄźĘ°+—Ęľĺ¦çüp\ĆJ 裀 -(Ňc9 üʢů޶›ź"±m>ł©d/rôQŔŰśÎÂäŠŘ÷XEÓ‹î0ZÜ3ŚŰËkćü€OnôpyhďÓÎ~L n®çÜ~îuf@6†ßl\ůOČě=ü§ŐcáµĹy™N' µ7Aëň&ó-ę¨ ő\¦Ľßąż`»çĆR¦u˛~śÂ–̇ůßłŠĺÓ.$î1_ĺ‡çŚ6‰­SŔ>şŚű ±MŻí¬ËnQëOw_=­GxÖ™ĺL|¶ot#®˙„ŻOA%“Ăňú˛ÔĆőĺţ`Kâ’ż®m<鋇3Éĺ u´fŮ”_QGŢ׌«/z»0»#ŽZÁěGßŚŹ»rR]*âš4açë«Ô˙Ĺoè_ÝŃĚLf -L©vĺJóÓ´č:LXý E¶hýťrą±tK­P{Ä"+łBľăŻxďčüUxµüŮ{~kXl‘Ő:_5U8ĆšokÉśń˝4Őg‚űţ®ś uý7ÚĹD=«ZÉęlľł`2r\óÂRs6étî›GĄĘQtĘčúłyó\Ńm%š<ë,űčn@C4–5^Jľ%;ăâEĹLzI¤…$ŽĂ'¬îůŕ¸`©…»ş^¬ă‹=ś•Ő x:ÂŢnTn=˝źyÚ®sV˘{ŰÁĚlŕEÂÎ+uÜ>ąw]Işt ©žáK®0>ŕTNţ×嶉䚭ôđ" —…M4f«.J#Ţ@H!ÖÜH–ľĽ™»č*źž÷šÂŢÔ×ěůnĐ06ł¬ÎµŠť dYb¬‹‡?ě±TeÍßŇ(&ŢP`şů´†)}ަ -i -Yc®S‹Ý;őĐŕ¤eUŮcű O×’ŞbRţWŢújö§Ś[M˛-DŽ‚ť'IŘ@?ZmÔ^C_›ýÚ _‡Â®˝Â#»H*˙VŐxšD]˝öA ŕmëóË++‰ĽsP1ÄŕŮęŁÉ«üöXÁkc­ŔPĘżďeîýmPË”>ęH=MjˇNgßń¤”^%Ůć_^śSYVţ!ź!·ĆĚäůůbâ[ÍDÇťlÁ: E1z-Í-XžÚäŽqo˙§×č0~čÁUĚćĎ,&ŐźŇ1—R8¨†k.âiÎup1W¦Ů~CáâÉpU:´rŤ™âúŮ\—´» -özrdĚćôpüÄ®ť/8n§ -ş Ń$ɉkąˇ€ús-ϖᨉŢéj‚s‘ËÂZW yÖňI_Ô ®ÄĆşŇĺÜŇŞhÝ˝ůi -k˙kĹvýrüf?›v=˘(rş˝Ś4ú˛É™G$“ćÉN5ÓlrEµ©$oKęr·Mß„ł‹żOm¶m/ćÚ¬9Îś\!éÎ|—WءĆçąśIPż2MJ¶Ĺ˙s_ĂúÍřŁď’ť‘L°¬·ššD!"W˝Žßb¦¬WÇS˛EąőŐ˝šť,"{XFĐÂÇ”p"ÉíÖĽďŮ®•a?O&©¨ ÓĆŕ˙xNH4ň_cľG3µĚ[ţĺĽä›ŢXž\şé´ż“łŘŚIäSůţ)Ô.*ŹwĹjm-đ [žWţďýŚEäĄ:‹Âźżšďúč•F|˘Ţ·Ŕ}ĆWB—K ­ÄNĆĺůÚÔ°/·Á0|‹%ŐäÓ0OMfQîJ0Ą/Ž‹8—O~Ęáá?żV")\Ů!ČoŃâéDYże˙á?-Kq§z+Öš$¬ç°ËOř[ćÄÂełş‚j1P¸‹Ň—§ŃXwp™{ę÷Ą vµvGCšeÇËÂçO’øťÔím†FĂó–ă9Ë×K¸‘ă˙Đ{.;DőR©ňY0ţ«ŘÉ&¸ ę%ÍŞgłç FQŃ¶Ş’ľÖRŻ$Ňy %!FÇ>d‘G®pÔc”“L߇˅§É ßǩՙú˝p,«=y$Đn™ÝŇh-Á…yřúćŘ‘ĚÔô,YóđU9Ď•«0Í[Oܲä[‰Ěű -cđŐßÁ`´÷®_'fN:ŕL–ń“V¨ß]3bŞEoŞgVđŕquŢ„#)‘ďeđ̲řżvG•‰¬ĎŇy±Ďľ´'lAŁŰ­“«ąwVŠ×Eš(ýQ 7 dLŘML—qâß7>łŚG÷(bŃ©­Â [_běQŢ'P6ę!« -5bËeü ŠnËéË÷Ś©–Â×}ňŽ.ď6—ŁÚPíGrCIÜóBişů:uæKCdOßUmůť,Łl‰2ćŐ pąĎˇÂ'0·ť-ťJQlum[WĘĚŢsg šžýŰjů/Ú$žáJÍ앾¨”çŐKDIͨ…ć9ÇLřőŠŐ’nî`č>"ˇicăähZ·6ĎqĆŤ$Ăýj)MTo,™Ěő~â-á… :›xxřAbYĎ&§t·×âÓ‚BbN¦Ů^ś©$ŠuŃÎ tCX¤¦Ěâ[y=>ş›]6ňtŞFw-Cn,G®Ń×ÓöÎ%fo‡‡ĺÂZYŽŠOÓ@Pr–¦äĐĽQˇfđçU ×ŔšOÍ?HKŞ»sJ8\˘¨ł+9ŠQ”ŃÖő!nÎÂ!zĐAř¤ŔŽáZđtŰÚôw_Ń;’ ÷Í$řÇŹŃ.VÎ{Áz‘)j5‡rÔý¬śW)†čm4S -Ď·ĹxŕŘě†á¬…9đEÔ‰Žhy$Ž_\ĄP0216gĘÖhÎâŮ7żĆ‰NĚí°:¸ďu«,ľú~р뮎¸Ů™*Â_ÉŐSť”VŮ”G_Vť]~ö1ň Ţ»“GnĽä•8Ś©śÎcw«‘u¸vŞjͱUʶ‚Ý7©™Ţ]@A&ŞČóŠBb‚ó¬7WůŞjFôÝ·µw§ĹÝkůB¬‚˙ędąĹËľ™ŰÉÉâX'¦č.ł8ÔJa·*gĐ\±ŁűÖÜ=‹Y†ş^HdĆ=űÔţŕ±Íwrf?Eü*˛5­ q@f‡ĺĘÉIOxĐôŰ‹'|ÖAéđýUşÚúdŕ­S˝÷9Ä\ÁCx=_剹LĎb®)N8$ţW‡¬sÝĆ\Á–W®Ż*¬áФ -ü;"ä‘ě$€ !őé>•\Ś sôA§šúŤV GhĄŮdđ-DĽg4Ł$ëźľ5ýŕÂl˛dŻčž,ŻăĐ]‡ţlýę8p^Ţ‹Ť›Bˇ$zľ‘îŮ!Ś€ě–śôʇbY‹ď:ÓŮĘä9»d-îO÷x3˝voqŢ'Ă\kZ€€) Ë2ftź$0ÇOiz4µ Mĺ9,oŹ,¸źë¦ŃŞ·<Ăb•”d…Ů3=ťjĺxE4ŰŤľâť‚ť(ą»÷ŕҧţĆP™+ńvbA¬¶R„8ü#vÇa1¬·Ř>źhÔ˝îa†9kžß©Ă 7xCTŐGlĘ­(ýíV=AĚ.i–…őˇ},âMF7…ĆHŤźWźt”Y˛@ýdśńünKÍbŃٲiŮX˙† íkşý;vĆ&9Mľ.‰Ö8¶|WLúşNµ;ńb%^ ľű‘jŚq—>đ5ĎDlźĺő#ýląCÁ(IÎż®yB’Üč=ĐŚt®nşŕ.Ů_•’Ľ/aaš6L[8häăĆm»Ŕůzöé\r‚`—ý­Ë"’gz˛QUňŹ* -‡}$˝ĎÚUZNŚbUŠszŃŞ"{hÉîu«Ő02·vZ!«Ň§gFˇ˘·Á˘h2tüËđŃDGą\%'÷¶TńÍ›H3”Jv|:á$GĹş…eÂS!ÓcBňŽe®ÓÂw$ŔŕĆÉ…;éě’ŻŠ˝[W}e‹ĽďlÍé˘ÄşŰNZÖĄ ›6y%Ő`Gkź ŃţaÓ`ǢŃi†4naŠň ôv/ʢ -mAúÜź‹0#Řp¨Ć1%AyâtÝĂŔ§lĚ9ťž±ęÇ… g•rb,±˙mmRÜŞŔNbZQ´±Ł@ǵÔŐ÷ZżQ|ÇÇ’%c—ÉVć›—Ŕ7Iµ–Âl(Ě;˙î–9‘xĐ›ĄŔs4Ą!L‚qQ+¶°™Đ×ð3„ŔÔr.߬^ť$ąbrH‡ -„,ć…ɑȲq¸U; ô>ŰwťĚňËŻ®µ…ýBťˇóŮd™‘ËQÇԾáCLű·ŤČýn¬öžtv[Ň÷Ľ¬#‘A(A—ýżđNV_ź\sꞢEWá)­4Ô$Ä—Q CÔµĽĚ†f×çE¨4l4˙z)ŁU9ŚX -žó›N#ĺ^1B)Ą#0-·fî,#öö2ăŔ´ú¨`•f)¬YU&S_™î µNü¦1I}|t(“`ąQ"ťĆebÝ…l_e”<é甄˛D9@ĽŇL¶poě˛8‚śU6Ü0ú̶ͧúŃAőF,ÜNČ%'CŽÔ¸í™/8WLřä†#ö4 ĄÜně …y·vŹÁŐ®Ů~ńsˇg[>čtc–Ş[ŲΒ”áă6e™Í¤Ó˙ /Ëť=ŮÓV°<ëűHÝ bž+sEN ¸ '"äą—ěo¸ĘaÁFżTa¦ŰV)ŠĂ2ú•@G¶nxZ`:­g”ĽÇö‰ˇ¸¦‰ÂĽDm#»,Ľ_'N޸©1Ť±č©sÓv±¦hG‰ řF(=%´$Ź5*&çÓŞqí~WŔ\»RGtćÁŹCę('ödpčh6F‡N‰˘ÔŮăFŤ[T•Ă]§żč(v¸—·Ď,ęx*ń6C [ÝŃŻŹěĐ!)Ő›>,h‚Ś… MşŮ˙ŠsŮíOn(rk2âÝz@ĄÝ¨şIu9ă ÍĹ˝Âńn:ľHEë{aĚT‡ĂX»Çňmś‚M÷§Pł3†eP6l§ŞÔý§Ď š'¤˛Ćüź8­ĂYp4pKtfWc›µsÄÉßÔ¦F1A€l ±µě™d«J?PăµęC‹„Ĺ/i‹',w›CcŤž÷GÉZŞôŐ55 -ˇd•—Ą$ľ$ł¬Š°»ŚíŞt±ů‹ŕGčÖŮĺž ż–žQă¤ŕkĽÓ=E#§7šőGa•łaDl;L˛qnČ–çnćbRľ?ÂE~qM_ĄĽ#óź¦pi~;ś–XFyqâ˝zýL>AOÔČu[ĺ†]Éş«Ž-Ë…ě[…ď‹ÎyWMÓQ-%“~|wî‹üJŁ»hM¨Aú}&N7eÍîq˙Zö‚î]j¶ZăźHH*rS´îP^˛!ŚÇŮ}Đ"$šcSa_Č$»;4ó[ŘćQ§SP-Ź_ăAĚă˘%*׼Ř4\Bńčr»Ĺ§3§ŁĚp‰ăͶţóÍÇPcO‡.j‘+‘íNB¨öš¨Źö1ë$Ó~U"·×®@đîP@0áA$x$˛ź'e",e™]6đ"+0ĐÜ»Ľ×ľ-G“ lµĹżq’DyŰTšĹŽʅ/•xq©üˇow“Ţv&e¶źi™ ó2©nä‹Z/Ý Ńßxá›bçúý†ŕŻńæÎ(ŢyX„ć“ÖRw GGˇ`ßMJU·úxÓĚŕ$h*4ô]A:ľШŃ$W©çÖ)Q0{óö˛2y1YÖ±`PÚ°ioŞ˛oĆdĚzśÇ ë=Éwř=ŞwІ©µQáýĐ˝Q"IĘn 5é)Ť7§a{Î Uôüôzg/ĽžÂLň­îuŇRÉj+v\„H^;5Śr"ËDA!“9•`ă°đUČ:ŻrŔă&CŃąďMĹ㎑*îl­î±Ô-}\¦ e'ś”or—-OP“q÷¬ăC+î'/uß ŠöŇ1¶ŮşĽ, kR1]¨ş[Ł4?QżßŘŃ1B·LŐNAô—í’•ńeđ˝:r#«ŤWaŢs7:>€±ˇ˘ň˝“-ZSěXÜ•Çk‰śCkűH‘Ý.ÔÄ OđžI"!·Á9‹®'R„‘Źd7–cp_|©o#ŰşeŔçvń“sBUPz˛Ö®á98ů_Řż/X1Č_Ţż -_|¤źVŢU :zHÓ5`B·o8 %÷ˇźWč׬KS±í9iˇ‡A†Ĺ)îáy‚jZ YQ2ĹŕţÔ6GigZ†şjő‹ˇ!Ű6ßç3–żó§ű‰^?âżÎĂA h%¸@¸÷—/:/šoÖľl¦ˇ‹Çkf?§é'ňű}qS-€(Č8HĽŔp˝šLPúeúPłP†ž5 -*őŚĄşLr‰W ŚřÔ§±~u‰µ7áë6C@5o¶t0‚qih!ÍA -"}űí‰ĺ˝e é Ľ‚şqňş=M9D"žâ’ ű˘ü|Ô ą2»eW…rm}€`šÄ 0Ć‘E[NÓ’Ĺt3ž›K×—!ŃH®×, <)BćhŕŘgÍžIeW†ÂéŰĚDÁ@šţĎ;ňDţ¦ÝŢ|ף…Ľ¶»Ož[™n„xNíßKO%]uŹ2×hÜA÷¬Ö‹ÜłVu–M' %i*(čąg± -]6\µç­XQqäťćÇ[pd“ŻK%TuV^eŔ ÔŢžÚřLÚpt‹/ćăóŮŐ§®–×č%ÔPW ^u2Čşwrűq?_oůˇü0”k?ëíqý_řAΰÝFŃ‘l4ΤizłđÝĎ&—"!Î(}đ˝Viě¸ %¸ť’U”DŻKm×vct±yĹB -ůĺŇě} é$TWĽdЉ»Ű)Ä7ćťă§X]Vô—7– ‡}?˛=«y[’üĎ cřkf·°N‘Złł1Ţ{ĚY_;n}c±iÁň»|0NŚÄŰëtÍUţ87óYdŘ7˛ťˇŔźF\ĽąĂäV¶đ6·É@°őkŮŘI„ílgú•믢ŕřě›j*í·_)ŕź*óľĂµaĺŢA!°oH‚.ăQ¶0ť?Ňúž†ďyßô›hś -…?bI.ű•tOÎŕw;ë;DU)PćĹŤ•Şm Ť|Ş‚Vꀱ˙.éŞt1Z7jÎĺ©W҆óű;b—ĆŢ/ńJogÔ‘nd*÷®„ʉž=•V5 ¶"ęhŃ=«»VGĺ×7úMěsŁçˡď§âŚŢ›‘4ęÚČT¤ ˘vŐżŞ¦%ŻP"ŘÚŚ?âxŠmż~››şďů™d…Á¸ŐCK˙Đ>Ü-ßV1>1$Ö·µ‡«űFp/ŰŮ’Q‘ FĆYšÔ“öK…‘ę‡ĘÄSLŤdśŠń”ŐYÝ ­5q_š2A<04ÜoŚ' -=nĘó‡v*HÓ± <ş´{iţ,őűäš8§5L.ř·}k@[é?˙đqhĎ/Ö7+ż7=ĺd%oçYŠŮu<Řş°\e’ɤŇäS.K3€râ}E2–-ąÄ˝¬ĎÜDUŽCYł”? ÚK˙y®mżĎ±˙ ôĂ=îC!rđ7Äp ţ:'~qłxšţěčąFUĹŃ Ě“Ő{®ÖÓ“łQ2Őű<Í–lół Ł×;äčCs¸ˇ=’B C‹4 Óáäđcr¸Ž°2č5(B÷âťEËX”AN”‰t&Ţľ®l)UČqĐBd¶ ŰŇŁkŰG™z4¸ĎlFIE1ô˙{âí4cÄΑ•"Éć Ž>Ţ…ă€j(ˇŚ.fCť““ô>t–›eŢŐá3…:Ř>Ń ©»F-Ë!OĐ'˙0‰±€§Řa“č;˙•@)BxÉeg´ÂDc˘ďâ¶‹m'ŠVűĄwLš_éu  ‡öý!¬É/ŽžŚňµ2·”OZŢ۸#±ś«2'Ů6}vŮ,zJă…~Ř8ć_›|^)~’bDśÓŃc!Ň W&ŽGN@D¦Dâ`l3b9xšCŰe‰Yú¦én´Pw;p«w´o&_i$·RxťP$6›(ç1JůZ8ŘB&‘ĘilpőĂhŤC>Tś‹ď¶m}÷Kdl-®k‡ä˝S~€ĐΨťŤ—–ĎjŔ DLćůĄ_MGýÇŐez˘fwżÖÂg˛±rÓ>h®¤=ś’řĺqÂG {é’YµîŚ\”D˵ŹozöÔ - Çô$Ö¦™_ÉxŮĚŚ¶Ŕ·lč7GD¶ě)ú‚MőůŚix‡×ëm+śŚŚYaým: “ÖyĐÍvč6(ŁHE<اü,FÚ–ĎŽ˛güÄB^áöźWź~Ă v.ÝÎ «}ář;n–…őGx IHÖ»…C@µó'ÇE8Ŕ%;<á(’®rżőą\09ES n­ĹÜ7NŢ6M€*‚m›ŁSńO?7íˇP·řý hôéçM€U±mĽAeý ‚1•żŔé±Ó`Űöf9.˘ -´ÓkĐ5;…,›)¶wmyn|ŮeÔ:ô!úx:±ý)Q ±°ˇH_¬I˙ď‰[Ô‹;Yą9!čńp4Cn:†Ą’šŇôŞH©±& ŢÎŢAe±kˇ '¦{îÔęvÚjśŇ»úVŰPqxJO1Ţž]­ű;žÂęČ{`yŽ ç•˝a4Ęcň8ŮgÁ#…z r̨Qă°~޶Bµ„Ř_ý DÂĆ|gÉ̲#U—š˝\ -cÔĎ™ů”^VWzÜfGßŕěQqkËřkáxó!7v´ťć.éw´ű#@ `Cܱ÷ 3Ś—zš‚fłĐTZěj?ywĄDd#µ ]],¦yă˛#…ç_.¬ y"é˙řç4˘4‡o|żrRٰq\ç5¬·BX4tę9˘!žŇ§ŮýĹ0ĄŮCMv˛Ż“őRłÓîľyĂ2č2š˙ }©’dhĄÎh¦ÜŐSY…[ó(‡Śv!g6Ý g®7€ŐÂpŹş>©«Âr fHŁŻ!e„ú挬1<ÂCÚ/Ťâ±ÓÖ@xń>=Eaźô”ęČůţŘŁ„ˇŞĎÖ«ĺńEČšrŢ˙ô| D'‹Y˛v] ¬ô"F6VfĄ/tsmLďm§¦ť×đTńjËúš‘¨ŃÉYçá/pU[€UÚ}5wűÍßËĚ×RˇîÇYfk}¶d* órżşgwsK·é6`ünŃ €ě]ŻßÓÝJ‘v*Mś&źm 5†«J jü`´Ţma=uĂôÓ7b¦¦wŞRÉ×ÜBĚ #ólrł%—Ýľ#Ńľőđaą5^çDu:÷±|™ŚÍŃJ••4Nću›3aĆ÷÷¸‡uckó(ş§O*qŽŔľ,ÎŇ{ţe˙ ‡IˇŚýş´›Ĺ—358gľnʰE…Yî—ľ%FĽ·NTŤžzŘo1Ťş§1Ź”ŚSÝCmÇa˛ă,éÄdô+ŐY(Tú>·ReíÚ &˝&¶·Í† Ůŕň°F15V%m,pe˘ů#ű)É­ÎÖŔéÚ(Ę”ŠKXMŢňĂOÔ3ß/ö*~/ˇbýęhذâDÚ9«i0Ű•á G×’»u-Â^ WŕB?b vőůkĎ/‚ÝĂYÂlÇÁ‹-§s˙ Űaý]_ý][h§j©¦°ô"–H4—‘éşŤŚ’űÔßÝCĚŠáPâtĆözŹś Ą×ęÓ.KĎ8.nóě’úš"ਗ਼rÇĆťJ„ő/ţDŻ®EN’¬SĆ÷ťéŘtľę™ YG@¶ĺ[Ęé -´4čĆĚ÷3®µĐĘ|tMő8Kk—TŻâť8ý?şÎ@iS`‚řLÉ”ä`Ř_ómUÁ¨‚ŇŰ4Eö%?îUş‘ ĽÝŮLHR ęţtPڏT]öIĎsNYř ’¬;›ł·Ę{§’Í'@J=Ó[Ě$DŮžüĂ⯪¦íŇ_3*Ł8˙VPÓÖűź -ó_±n> ]LđUčDuÍŻţ`µ?¤SLÚ1ţŔř‘C·ăµ˛ŹoBt:Ą‘ŢŰóčÔ0ţEQŐFŤż…„ íĽŻÂa_ĆV„\ąfjĽĚčĆ|úŁ”O ‹·uv .}Ţٳzę~Ů3[^9–Ą{¦ŕ»?Ţgö ‹>D˙ťWŕ<źŕ›žöóš€ôéý^Qă·Ĺ’ŤiĽőHu©:¸B“`ůĚ3ÂAšÍÔ‚őpöí -”žRĽ»Ďů±$s’a9I:7Ą$únއ j§řôÔ犝˘>/40»EJól=ě=ô™hĹgÄŕŃDŻĹâRµWť“‹i†)ćşF?­á&î¨ěÁDĚ–¶pڧES;S;¶t˘űVü·›n~#†ˇEfçRü•45‚ŕK(ÖX5tÄëNô -˙Ç –íŐ•Ł §˝zč¶\É— ş\ţń°kH]fB/÷‡q‹Ő.^*JqŢš;1•H‘¬ ^ŃË[ -„{ľnŞsmü±‘ŢŁ§¦mçŮ˙× “^Ç A!NŁp6Fݕ蛻«  ŞYÓUMđłU>Z0=¬śÜKŽ >JOVB-’?”"lv5ţŚ9Đ ¤&Či8*ŢbeÂ'NŰ”r’µ~ÓĐš,\1 —c}ÖµQôçę #2›V3ßľőЉzɰެŽn%gÁtłĽö÷ćÚ39%n,o‰'ŕ‚Í óîcN -đpőűÇŇÜ7Ă‚Sşäô$}1Ďľ¬[kţ;.)–#Ľ źv!/9 ×ěŘš 3ŠąyΖĺX´bĄÂ ->–SHż‰ČŔ˝Ąç"H¤.|űÁ™(|5~ŕV ĺ—QŕđcŔ™™ÄÍŞo÷"Č4žË N𔚋g[ľ PCŢ2;÷·äăŔVŚ—ŽşP˘3±źkŠ×ó\ĆąÚLÚx}ěŘ˙ 4*n0i A(%Ťí©{Ů Ôµ+uecŠ»~ËČM@Ú:7 gzš“dLőűFµ¸ŇęX—VRMoqm»‘ÁŹĎK{L\ňꛨ§ăűÚ¦Š”ř'Mn“8 4A(ŕÔ†ËFL–C52<7Ĺ`]‚x…ccĹé*ö±G¨† “çřňâDýíÓa?zä^EXľĐWp8çz?á+€ŕ¦c©;ł“äkäÎíúHy÷ßPźB‡-Ł`·bľ5ČĽî÷§ňă—»äżŇB‰E¸¬žŕÔ -l÷NGzpçC ŚXJĺ°˙Ýmٲ )ë%†ŮĹ˙˝RĹěľVČAB¸Ó¤ůEő™@n+KčeĂĽ»°×€zRţ„g߼M -cÓäî’Iď—íƱ -uJíl˙~ZÖŘ´Ř«•6ŔgáIłÚbWU˙±ÜÍś7J&©áĐ Ú&*Mz2ÓŔu;-ĹÎ{ !»Ýßí-ß1űW”RÄý;ćŚÄH#đG›f÷ş8íš@[-jx˛ţ§mĐf)Ü˙ęä ž÷<)‰“(îčačőĺIq©flĘĆŚc#ă¶fOµiŕ8E˝á -{gqŻd¦Î«Ş{Â,zů‰YTŞ@$÷‚Üĺ­ÜS+a›CÚła6ľc[_ 쎉3űiĆ -M>J°’Ď j†?Ů`óÎ %ó/Źś­˛xŇ5š¦[Çl™fjDlC•ţϢsĹ;˘ä$®‹ĽýUxÍj™CëXO±qz2n€Ň˛bR.VčýíŠČĚřŘy%"˘˙U)bĄZ.9ß#Ç'VŮMÂ×ü!¨šsźo¸ő/6şŰ*”‰n<®‹‚mWëS×c[FŇ~î˝ŃłI?+Dâ>ýOĐŕ=Űj~EúŔ7‚ËÖâ¶ř dgšÇ˙ôlół{»Ěŕ–Ě—Ť”ŽurůfđŚ“űüŔ¶A曡ÍAö ˇAÚŤ.-ßů(L,śk4i(Č« k¦ÝíX~ŕ©ç«%őóꪚŔ)ăÇ@tď„ÚŮĎÇó‡®ůĘÂZ_ÖDŐ˘Jŕ -,zžgmCv©űĄh§ábzV>R1ţ*m>g‘SW>šÔĐëŘR;K6eüýČ”*r—$JąńÜýľ=ńw !>bŁЉč ĆUŚ ü -ÁlÓ"AÂÖ®Ě ěÍŁśżaióŽC»B]Aąg†Ş§í»IŐ¨‹‰¸ŕÇ{2;×' ňC”ŐîŢ„Üeôţź\ftQcZĆś“Š…•÷tĆ•ÍUd¦Ű{H-áěąRaŐ‰n'‡ĽÓďľ‘”r禤éL+«6Š›ĄěĄĹÍÖ«§řÓĹÂůË4ď+ôPfżˇrz÷nPźéńcě -],śíĹŔ ÎđąťÜ9ŘdóYÎąixřdÚŁa°ĹIşöjé÷ťcH©0č\;^Wč¨?ĎŽk˙ýNÁŚrRа:đă"ymşŚ5ŤŰ”zG’ÓŻ‡ŇŇKÉr•ÝÍĘ0Ë,DgPŹ’łWŽ×ëL=Ö'†K,Ţmaa8fr%ʬ0q\ń§…}ă_§˛Č®mń| [ĹÝÉ=D];wö2±:,›Aąř1<†włqŤÉňoĂěĐčËvÍž tú™:Šhąţ멞ż”÷ö·~áč˝đą!×”™] °gŇmĄoűČ7~ü(Čřřg7›—fĽC¤¨łôŁëxôšq˙!)žŇ –'ń©uËZů‹’#z[ö!ÁS—G49łc'GJ'6 -ďäÖ4_H&/ú‚ÚPh|˛V*Ľ†>Şvś!( c¦oµbĺx@´n^Ő-ĺüäa×U0±ř7â¨Ôą°ű'üE0ô‚ś× -ČsΕ‹ŹŻîcí7%×b*y¬ä’ÝvŰä×âúĺ’‘†PҦ„ůđ*yÖfĐ|É»ćGOŠ)§_Ďîżé ęäĽ!ČmMö:$?Xoó+ď~ťxoLÍÓđ÷śů”ąEŁ4Ç$u`\P+ŠţÖĎąiEÚÉĄKń¦‰‚ X¦Ů§.Šľ§0ą&Éȱ•C‡PĐ• ˙ţ¸<^Á1”Ogźź ŹG;ŠGüăZPµŕVÂŞRľ“ď‹(űĺŰBćë> \‰1*‹ŰË„¤ÓMN[˙bC˛=++·˛»ew=j>Hł?ź—aj”GÄĘçeő„––Žm+ă‹˙Ýš†2•ŁuÁ+ÂW\Et…Ńl(Áj9Đ *¬ŽzWşŤa!¶§˙‹i}ă…ÜΓ]d™VsÜ·÷0kĹg;ý8sń±ĎĚe—r(™ăÚËtx÷DQĹ”:3B!Ď!ͨO^wŔÂmű°–˛Ö­&/ź>#ŕ*ĺ¶ÓűÍü´µ–ç~č$Ę›sóGľ»Ů0ŮtĹcÝçÜĽüÂ(4ŕŐ’ČdZó7ëčKÉwQ7úíŁÎ'†Hf7z˘T Ĺ0‰¶ö>;(Ýxěţŕ›‘lEŽ^Z-xú‹ŹŮ0vfޮķąQX𨶙jŃsę:i¬Ě oĽ=¬Ąäő¨›s˝„ Šak[ńAŐŧĂCůĄŁ«ç.´T5űQ•űµRýôČ8¦‘Ó}LiŞ ů†Rš;% -Vkţ‡™™1o~{퍋ôŤ«ž ?[đ}ę sގ;ç< ‚’}Śéš-ŐJ„ŘáőB°UXUW|É…c16Wádá?Š Czyşí >jkkUţüY릵'*©űm-Quú¦ÂÝ©ţ߇Ŕ#ű“É‘%€ą–× µÔş±Šú·<˘_{|°N¸îl–µ.oɦ+˝$.ÇĎYÉIuŠ"jĆnpt§Í'ż­ÎÂPµäÝüâ–§ż´A·ZŐf˘RNń&÷Í(ęĂŐe‡1ŃÓÜb`•¦ gsµ šţâîÉJiµ5Ć˝BGÄLłôSQżĹ»őůŐ?A!˶+z†=Ëme_{ĽŘSU†ÄŰPpMOď˙)ź4îd1"/ZjĐ<šŹíş˝Ę˝h•›¶„Tűś3 MG“‰VVD#Q­c`'•ëčdĘŰ-ş˛R ^:󺛩5€˝dĘ1Co.ú)8uúśpĎF´őódŐÁ<"žJ´jq}lą(quĐ9ŐčXI7T´q RNęăŐ}»fĂ´é…”}† ŚÄě|PiťÚÍŰË$ J—˛ňś b>N[‡§jr‹şZ0{« 8´ëia{)ďž±=%(đ©dd ŁŔRÇ[Řl)b˛¨ďseźs¸T’› •Üpl2ŇÓô44* D˘™łŇDť¬>°,eĄţÇ<"|KÜżq8^ŢŮ`ˇTĺD}ŮŠh°Ţ?‰Ç6˝DŻĐGůwľôĄ™ˇ0Ęú#Ô÷’ăb㥎PŮ˙Ď-ƇňTÜL±)čů·‘żuT?ËwݦjŠőÍá’Wšřćt4I§ąËÓ°*Öýţ§łń]séyB’4şŘôçŤúR>ľfzť·űGő§ł«”N©ĘTć_=ˇł¦˛ţg5/éÔ$ą^_,ż« Ü«Ĺhšß««$üb|[ŰÚ¬,ąčI,#î8wĘ5âäîii:ź‡MF5EÖ :wš_4™ ŽZAF]ĐîF{\®zĚUc6 (ĆK©Ŕůţ÷ę€|M^ša]C #‘Nź;)±ŽČ-šŠAĆ^+·dnST, 7ß4PõÍčSÄůŠÇíđú™ ä©Űub5%•:ĄóŤÍ:2HbĄe5˛ÂL ŮDŘϲŢs˝K; ö%p O|ř˘ň[˛…?Jö—AÓÁwé$•ĂB4w$9ůzk)bΖ™ )Łcö'íbßµQÖć@ÚÂlŢA~€Ý$ů«O}ń‰™tk«ńz TÖf¨ď¬ ¨ *BRÂł,˝‚ęx(©¬§\©×po ›Ő•ż˘kQđŚ%Od -_·Ć ŹVs ×Ýcçńý´şDbXËŠ&áÓ4QÍtäŘ_śOŮ+a¶§WMŹođč{eŐŠ!ěY*l;ż­ö‚ âŻťK¦"pQµóśůď-P…‹0í|żřłVÜňŕ\iÎP,s·Ayi©f’™«-ąlłˇĘՄЉÝQ’Ć"cc©1H} -kßT;Ě,%6żŤ->ŽP(Ě?Ň,¬Iűoäď>u¤b_Qµó¨†żWÖńęgą ÷óeJ¬Ňž'ń7;ö+épJVI<’{PŲD0ćwú»Ă¦%ńČĽ" üŕăéű.Pŕ'|R⋚FŇ´ă Ý+žy1ţ!Żf\ý[OpÄt_ Ôwc#{ˇ`„öÍŮUxňŹš#Vô ™X+çŽgţąTđK:‚ 2¬ŔŕDŻkN\sî=ó=2ěSˇ÷äÚFĘŚ %%ôâ1ËJŁQ{[8=•\cşř!Ş(đ–ŕ@hĂ çĂ.>ŚZíĂę7ŘE۩짬†;)|ś>˙˙Q?X&ęá&ŢG˝\°Î”(«}qpCâGjł‘ş®C·ü/1­® 8a·ń˝č|ź‚@ßsOę“R 2đRÄú¨3|Ńą2…:K’m¸—RÓźG"×Nz‡¬óQmŇ˙ł*ąž>NTj -ŘF'¨Q)éßů©É;ŹGÔˇ?öë@ĎXxĄ=Ä)ü đJ!›qBs&RÔÇAú÷ó¬ëYŹY/mgOiéíşÔČŁ ŽŞ?k«j`&1"Týëj{´Ťcńä±y.ŰE[ŁĆ‹p€@Y•:-'~@& ČĂ{Î *x<Śćí›{Ϧ¶mR5ŐZ°FNłŚ|áXmż¤:j­ÎÓ¨í%ŐŽ]ĐáŰ0žř˘‚můŚ)<ÁěIۧ±ä~żúkݸĚč-ĺ -ŠU˙(ůFI%DQ©.„2RC¸¨î}Ě(.Öąşôa•¦žám Z×b.@»™ˇśy¦[<VÇ(B|v˝“Ö§!VB<˝ĄüÍęDząî˘•Z‡YÉYj;Ş_ĽŹŐ>ŞĐö‹»ő´Zf/G— 2‰…~ŘvÜËŲt¦ogßWťF"ľzőŁ’ĆÖG¬€ŚDÁ°žWBNď=)°ÄOŰGÔËĆäĂs¶ ­ě6wŢ.»‘Řś§Ř†%Đ - ^ÓFaţíß@ÝTµ'<&xÔŃwůăâz5~4ÔşęýP×\ăŇ´OyN@_©ů:®źŘ8ŰŠú‚Ň`J=='0ĹëĹäčřűFhy|µó·Ĺ/q*oâH0Li ÚFfĆ»¦ăňÂůjFQě–zÂP–(5ÎĽKfo͵ÓýŁąśoNśă59őű•°r¦/ -8-;Í12ż[ł÷Ó8÷ś¨2^Ťx@6ƉôGĄ!čó!-ŰŹŞA{ż¨¤˛wňz¶âś5xN48˛'ă*aFsR¶‘ĺÚľ×”ť6/$Nm-ŁxGd”ęśwŔF'}/”5S&h3ŠŻ:c™Ż” űamË,ô§d‡T.ÓŘŐîľ]‚ÔŠ]äťĹ™v{ň–Ę“oŮý.َZ^üł±ţä?Avj]%CjÝ”dđlÁ6í[ŞŽűď!śöi‚& %9Ńć·«)€’/Ž’€)H+Ö¶bë.`Ş~×Ü1s·|j-őÇyŕ#lÓsVyQ®ć‘ăOűŇ[śągNµćľä.X¨©HQqŹt˝ńŐ”§(ukQý„‰Ĺ,™—ţhÉlŞh¤üßť¤»â§dřĺŐ}©zÁÚ`Ô.Ż—źz5dŽWmâĆsĆÄĽ ČsáuÚˇůŕ"}§ŃŠ@GNYešú67…hŃ Ę -R}ô[Ćl'‹,S|†<ŕíŔn!{yO¶. d«”»ú3-zúlEčíłWɰDy†ŢFŻ…rV{B(x’O—­¸§Š÷[ŚďL3 Đŕź©źĄ^ű¸9­Ť.ĄĆŁ»WWâG`¶?Ѷ;ÇŚ„‚Ž‘ńÄfNJ¤ ‡YôÔ{ę_Żń‰.( Áćŕ•›&pʶ"ŞŤUn@Iôۡfné^¨¬°Yµháfčű‚ čľ^Î!ąpÄČ…ŻQNřöx/§€mj±"%–ę­U$ć“VE=1 zy.–ź÷"g”¸r˛ż”-e>Eí>+“ OKepÍżŔ<Ěůź?üL -zř4Wgä3-§f]}÷5 2LłbVĂd<ŻęJ ˶ăĚŃńdÁ Fäx <¦Ü@ÉĽN‘ćţLÇĄíÖČą˛°o€MYô°ŕd nYđvYĐh#DůPŠÍ3bîšč^Äę·{H+…F[¦IQ”îFü *Gn°SĆŚBň5o`áŰúghR;˙łČ»KM QĚŐá-a·NDËK…Â⤆!úĺń9i|ägBĹ#ň@ţd\‹%čVË&)HÄŮ„9ŁŞ­Ŕ= ?5v€Ýô1‰ďŠ"©ëqz0«ĽMOńß·®JÍ+!˝č_éÖb˘Ł…’⺊ăQg6§ÚŘšă‡_Ľůý‘16ź]C@ }·-rEGNOHÎ,ţÓá™Xˇť”6p=ďĘäZrp njD]]1ĺĆń/ź ®Ţşnfn#ćŁä `ž°ů®†¨§SW?hňć|ć%¦î©<"N¬vĄvŞrč©ěźÝ‹ýҢţUĎh0tÔ˙»ŐÔŘب¸_A­ÚÎkDj©/U…Ł Xuv“7Ź=m›l ĄŔç>ŹDV˙~öw°,’ü÷a,ü2eBćęhŮŃĆŠŽ´t‘@Čł·c›Ň B3ŢXç[ޱ) 7ćâĄ1PÖŃŽ_Î&ę~ź‹ke(şĎ”ăqжĘĚ‘?6 ć%“čuŚÖ‘e–ŘĂtů&¶– - żâČÓ/_…Řő’"6gÄTŮÜ˙Á'{6CqQ)~‚âj†Ź/~wŇ‘»¸F©ˇĺzB4’˘NĎĂđ9{¨—ä‡Ď,$ŠĹ0 úGg´śťćŰśľ|ý&”ËIű‘nÓÝY———7îTŚrP‚5|\¦±;ňfŻXeçŇ–AÚ[!§hv Wž°}ă†Ŕ"ľx”ÄRW…ćö - ŚhÂţĄčĘţ‰Íá˝Qg^ňîĆăcg'Ş4®"s‡ôiL˙*Ů^i ś %÷č)”‚„# ĆÎŮ Ł€*Ї«Ť0Ő‡í˝©˝n9K„n&SŇČ–!¤4hپƗ$ygÚd‹±š®Óm_÷s»-™ĽˇĘIR–čw׍©âq=owf¦pĺ€ř]¤|űuË ®EޤÜŘĆĆQ‡‰‚m8m3ňsş780Đ»ŠI.“ż‹ŕ"s87˝Éć<9Ľ¦O}0ŇK«Bú¶heŁDđęé8 NŻ˝¦ -[rᔌ?nŻĂÉ6¦ŽŤ*Î]€ţi¦F¦qFűŠSí/µđ†µúG!řGZéhXę^ö dÚ –›,Z[zë1$|*Rmür+ÚŻŰ`VPöôJZ™t»Î ݎ± Ç&Ľe5úÜÚŤ1ÜNśmří— -đő.ň Ť:%.„ëmµáŐ4ö¨*Ú‡5wLRÂ×ůÉ˙ -ŻÝ­!«>{q[yq(wĆ‚QĎ‹ß_vm>]vâ-J]ÎÎ%'v+×ĺ×ÚZă Bj”Ő#WľýRcűÓVŚčä·04ĹŔţŚűđćď=CŇ)pzSNÚŹtwQzQŤřňB܀˽f¬@·)µŐb®3¦}Mń¦Ą{ śR‚ąçGˇŚ2Â^( ÷yFÇT…‘ęˇ^ŻBŰň§Ą ^,}ˉ°Ť’Ů{˝Ł¤]2ůŞ;~ŰĹY8äD{¶ ů˛Ł˙§i›SĂÍSRĽćü˛řľ„ť`©]×vúzaďç÷r 0:´^žs‡Pě)ĹŇäeÉř ő1G9-˝KaŻ©,i!ô=~?ć×€J"›"îăxČĐęńÚUšŮyI2«Mö&~ě]^C×ű¤iOT’{ÚŐOŔ¬2â‘~mĄŢ3®¸6”¦}AźbJ97ĎÜĐ8LRűęŰŢ…3}<^Ŕ—  ś š«ÚčF0"ëýúÇ@ş™úŠęěkÁÜĽ"ŰűlMĘŰwš‹ĄÔě‘5¦0„í§‘!Hč¸BYĆE­üeý‡_T^–’ÎrĘÖĹ!Ż aěp‰üǢb/Mr Ĺ\ĘĐóXÉh -Ŕ%tj•NéÂxĺđ‡é(÷ů€é`eŞPöÉż j~Hm YŽ_ViHbŰÓs4Ň`\C ɢŠęeČą'Sj,čń0ű’ÓŢśŽße,™ĎaĹt.ľL!'ž .â­ÁľpZv2N€Qć7f>Ëĺ)ť­řĚ6TÇG]€‘µ(ÎE˝ŕôoóřaĽ»pémjŽŞ MÚ6ę>Ä„V/˙i×~€Č‡Î†<0ÜŢŃ,´–ddsCV§pŤźkjHöQ1ęX9Ě)3ýäaGŤťq ‘pö­D¤öO˘ň‹Ý°ÓCăč ˘k˛QÔ†  ç¸NžuĹTÎ}v%df#.Šg$icwá±-¦§…ŁK<ÍŚÄťśˇÖÚŻjAy{A ŞŃšiYí׏ľ›·ůă.¨y¤6¤L« Ç.ň§ăg…áđÍ9͆[o脤g„ö|céŚ-­0ş© ţw{Â匜“#%?ݸÍQާ‚rúâôł:¤:+h¦ -˙yŰ{Ú‘›ő¸ArXz…Ä:áؚ€Đ¨5ĄűNIĄĂ1âAâ™ ţ˛\qО\5pâ3Ľ€â÷¶`1BT˛*»},‡sß0%ôLßE~Ú%OŤ™č†p]Çmo޶h¨4Ř>u7”:ąĚůA-'óMW!Ů`l„|®´MK.š4FJ’r ¶t˙8é’ÝáúĂŔoÁŁĚçÓ˛°Jź3ą˝EP˘ä!Ż_+ ÂWSú˙97žŠo_NtŃNť˘ĂÝźÔ!Ź2*p÷&ŢńďNMĹü›Z;¤ń˘.Ď@Đ59/·Îž˙GĄG–cÍ…µłÜ×c—?.Ü -í$†@9ýtY Τ°ë5t¬kŁúx}éăF`ľ:Ţß{Ń]˝~ËŚ|ŠD/“şV–k•+Ş3Ŕűeja° :şîh×cŮ1Ĺtŕľůđo6Ľżz|XGö†B-^ÜĺóýŃĺČMLQѡ ą‰)[Y¬ŃU 8Ô±ěP x(°}ĎŃÔĄ0N‚ť’É[5Ąçőô„öDŞ­đ‰?Đěy›* EP‚B -ZaD›y/[÷GűqÎĚ2´dŠ›óiÂ58hĽ¦1ü1˝€P««Ç-ü˙–řÖÁ¬ËZ+ _˘›3ä}YŰłŕrćŰ"gÝW‘ĎD†ä>`Ř—EH´ ÚV\ŁŽÔEfĎĄL˛©ôٹܱdşžźŃ‚ -Ř|˛ĺ!c€,ÓÝ·}+ŞĹĂHÚŃ- -Ŕ‡ęť<+ËM¦N·˘şůdZB\ 8ú̲Uű3Ňs RYÝTl_1óúŁ=㣯˝§=bódĐ*ĂYZĚu׊Wâô¤ú7bz8G­#ă$ăűŐ<4ľ«Â}Ţh×óŹáŔ—› Ϭ݇*Ă -Źły_'¸Ó˛fŇKśqćzŮjuźcô™7ĘĆhŽřŠ0Ţ$oCüOőŢ•‡˝ ą'EIąv+ţZv7oé4Ą¬Ł6ťO±p™ŠHś8?ÚŁ÷¦™ŢTĽúµŰ€á ŠôR6Ëéqţ{ë^ í=ĽĹ `Q)uoĺ:[ö&~-‚ÖăR\‰ë¨6Í&D&€ž«Ú‡ĺB×´:ß.­9ĹŽÍJeymsÝŻeG´+ Ă-x¨)$ŻÍSµf(¤‰6TĎÔn†}&VĄUŃî=’fEŚ$\ô«ÍőŰCžNÍyôŃŤčN‡*ŘŽĹŽ†ÓÖćʤ¨±JźŹg€ Ź‚ŕńCľhÎ(ßţIŞn›ułač#ĄĹ®#\Ô'?^żS¤Ýř…'› «okĽĺĺŃňJ®!ą Ď}>ąýy×Ăy»ZČG5OЧ$Çs"čH5 V6YŔŃŤˇg˛ôŕ“·˝ϰ ŹŻJŰóˆčipĆ©YŹî:f‡ŕ–YRo•W&]”ăEßL§Šę›YóŔJóăż1Â, 5r°ő;ʇ¤RßRLŁMu(šIνh^ö1é;üĚ1]řY”8rµž~‚ŐS;n@-Y˝^ť.`8ä —ç Ě$Ć_&+µ¶ˇTÓA:g*ŰtvĄ2Řň4¶Ş–TŕĹe~ť#PžĂĂ<ëé¶ßĄ·ţ•…™ 'ŕO¶.F Í 2aŐB2Ŕ|Ě -*L ë»@Q÷’ŁP&ÁW焥ű™B2G_?ĚŹlĆŐɸ¨ '?ëPVť\tĽ6ŕÝ]‡Gw˘ŇŇPQZ -Tă |w$+ÄbÜI¨'‚żĆ{Ů«ÜbeţNČá׋›fÎ‰× «†Ý`imľĘŞ ź Çm˙đi@M~h“ů(á“,ĘßžąusŻß٤(˝|ôĺd„ŽjЬ='#Ř+¤ďü˝‰»L“2ZÁîˇ=‹16pŽŹÍîŹôš¶I^ďM_č8¬ţc˝”fÁ%AbČ -©vި|‘6¨Š-‹­*ϲ¸ Ć(îü0ýµó•,¸Jć>ÄľťŚwč˝ëQXrbk)“ÁEq¸xa`łGŮ 0f {Ô˘Ó‰ŐH6‚‚·ŕ™F7ŞáTs}ͨhA~ěpr¤9ĎŮôdŢJ‰†R׌i÷KĎç4|ĺ°7´"^ÍiowŢfĆŻ>‘XÜ˝2ô |Î&ę%P“3Ĺşˇ~Žřp:‰<©ůŐg(1¨˙Č2€J8+Ôi]ÄȇÂÜ·üÚZŽ%˘@ާävbs÷oăż©‚mÓ™6<ÝŤ Ú?±Jćm[Ö8ú´QćĎ}>ŮÚŔW:–WŇ(Ť…ËYŹ›Ő W@^$Q¬ŠüŘ÷”GW#˙7V¬ŕçQŚć0©%ŃĹIJ¤6GCü0ř´Ű  @Je3ÍŐˇĐýĘ š]±šćŻĆ˛ţ ăůó8Ú -ĂŻ“FpKýHťA. žZ˙ _‡ďŢ48›:{´ŚéĐ˙ó,uť2ě ëÂŇ~†Ú˙QŔżŃî -$0ÝU‘(0«üÇďÇ+¬ ĄżÎA1ŠčöAN%®bE ÚűśVC“2Ľ"ÉÁ—ŠafFˇEČÉ}űÝůÂwőrBËśĚ.W اĆFTWO(q)3Čs¸>S/^i86-j›*0Yl‘JD k‚;(Sg†F -ňhUąöU/Ś$µŕŃŘćä®Üe~_n5ŰÖ qľ5Ą^÷ŘŽi5¦ÜaE ť,$ßřú‚§"ÖoL»w& -÷đ@‹"ŞEľ4„nȓۀšŃöŤ¤Ő­gR‹Đm7Pó¤BŁkLh”7“Ż.@‰đääwĺŁişţep37Ť:Ô`,Sk@Đä˛ć›ŕv’ÝÉjčM#Q -G5!é¬*z/&bo>3ĽĘ·(k ×3ÔyŻmf `HďčŕJëĺ ÇŮéúVgŇ‘µŤÉkŞŚS#ꏀćĎ1Ŕ!ĹŤŹ˘¦đ´jĺI{V% +'›/Í©[VuLZ˛•ŕ–6›zwoö-ëÇůW©Dáú…1[’ f•…ú(~Đ+C-QŤŕŢ÷qÇТŔ›(Gő“ëSsDŽpnGgă#“€dčŐlĹ\PGzŠR0 »ŁżtÂZą(´űµF˛ŃľÎŚĂS–ćPˇ#˛˝[q,ů”§ Wm޲\¤ií˙C“šÝwzGžpçY°Ü}“'ˇF’ÓŠklŐĐ  f§Lҫԧ‹Ó„Â2‚l€˙ -8W]±™U–>ÉNe\—eÁ<íŁ'šęĘ÷Câ&šěVo¸{mO/Hź,d`ô˛Ţ÷Ě}a ň‹ˇžA(ś‘Đv±éÖćÄ%š żÎ*ňÂn«l×kziý-,©9›ł©#ÍËšXA+)0 ż«7Ťˇ]ş—Ąˇ,ůÚ¸ĆHśf^B#)ÚuŇ‹®Č_ń}/¨5¨Ż éţţwG ~d»Š­´7áó<…ŃĐÇ6;vJ‘pe… -ŕ° §THÇ nů0|§¬Cŕ@›<_€”Žňă¦űâvĘę7ÝHmb‹u‚Ü9 -–Qů˙„,ÝR…Űŕşěî^ń·ŽÜ zóć±˝čŢŚ€*¨śĺßö!ń fŃ0¦°¦ţéj˙’Óż˝©ŇiúĎi¨MÂŃŃ`äwS;묮ZŽ©ÔFĎ;ÔĆv¨ÎC7„O+FpóÝ ‹Ź-L­—řĚÔAďJXF€Ç>ĂUr -R+ĎL+đLOBG%2§aBđŕ—ýTWŁ@k@ŠRnŚíÚlŇ\ÎrĆÄ’÷ą-6‹8ťQQut?•„Ţí7÷^ĺW:ráOóáÜWOI7*řŤk)?;!E–v ˙vÔ$LÖđ§0¬š—»ř~ćű"%ŤIÄĹ?§­©‹ß˙!TýzĚŕß±I;Ś ýCWwGőlĚŹ^—¨ë\}Ţ€ -Ţ îłâŇúďÇOż—üóŮ7WZ…Ú|)R…W&•fLB¤Qw)HuÖł÷¬Çů%ů±ä#/ô§±/ XéŻ_B“.cmÝnˇ[‚YlT]áŐ‰M_něťĎÇdh-Šßµ):¤áÚ±FĂ‘ţ.P”Éë+Ľ Ôu!qŢCS‰§ăůBÎ.Bëk‚Ňuh•žz˘– đĎBŤçîż•pN"b"]çúfĚČŁ¬¬YÎKúŢŽXŞiŮ‘Ný1mš‚k Ň÷śČĄżËŠÄ:—i`9#‚§Ž1€«”&Ř?XśŹăÚ‹8”.˙Ü0=Bg[€pŐníŔ’pżF‹]poĐ©‹&Kskč'Ć_îÉ'ľ«ąŐDÄtÍ4ěşź÷÷ h/h§G6ňżüÂĹ{€[JUfçÚ¶óšx ±žI±ű EŚ'ÓŻ|>P‡fyŞ|’˙?"Eöbs–%HT˛Óh%/Çw)đ„ĹÁ¶Ŕ‡ÜaĎśby~WŘ™ dý­ČË@suŹÝ?9c^Ź/O!É]aIĄ©Âź´çÄĄj32ŻP‹ -řCfŠH:E*pJ’ŽOĺ0mś¸“˘ĹAĹv«Łz7šýnsîobׯ»Ú̬WWM¬Ą ç«î¨§"5P.ĐL°Łę0R7ľudĚFČăzM[ĺ'đ»ÉÖ••ß°°¦×í”Pđ6~ĘŚ»ČŞl·8ó°#Š^řÝĄäaqđâ¤đAX9ŠxŮ -Lžˇhn*\@Ľh˘R5˛Ř:ĺtD=¨mÖSű‘>&,2%ął {~Q[(ĚĆŹ‘zÝätif¦)OFh>|×ds ±!4ÔźýSě[#přQĺ­…çţµ'2(€Çy‡ŔG\8jk´ˇŹ(_Ń2PÉóFÝJt<´<ŐhfJ\Ť6©ěx7ůýĹN1˛`ËŠw>AâŞÖŘM®Öb:?¦é#(h»€°%ţĄ'đÎÄʢ âYĽŮŮčL˘Goqř+qUĐŠc&ďŰüŻ>FłŔqß“­ŠŽIŚ,šŃ6‘=+ük›|É•O -ĐÝEÍ"EďŃ2ł­S“¸;č@«Ďsď(=í«ojŇĄi™l”a] `+¬ÍSá©ygéöcmVB¨ůqźÓ­řH&% u!ú­N©•2Ű÷śI±–yŇS]]ŘŠQ7ĂÄ>c ‚aŽƧ=-—I}Čď^oC "ܵüŹ‘cá꿆അÚ@ČBŶź@˙fź.%eó™Ó?‹:ĘdŚqëý[k&–KpÚZzŐŻ|»¦GË”,ŇëŠüÜúzpßż•|ÉÓ^¶J«’Ą‡ä„ž“Ť3®IŘm0jÍłňë Ő¤ś[_řôÇkéžcQ1O˘x¸2RĚş'u•ľĺź3äËóŔä˘Ţä†ň¨Žr™ŹÍ€z ÚŻ*Ťu-‚ň,Ct;»ęÖiGî9ÉôłX—v‡•n™Q˛ý“:w?g0ăGŽIi+_;~zZ»bof·˘\¨±ĹŰjPš}wíoyÔ7 ůMť˙WÂ#U#ĘoŰč0)u˝Ü §ç l$/˛ľę\ť˛ĘŰ+m`"~OĄ¸Ë %G“5„R«ĄÍŤ68sۨ°Şžűˇí[Ť–ŹŁý>!#·´Á}g٧XqŇ‹Ć%xM.žţ† $ď˛ÚB<igl“1l(Ô(©&®˛ŤÔ]ĘÚ{ż†Ęş4gtŔÍFˇäŤ$ç—sÓ˝R„ JűQż…×îoĄ)¸]@„_•ýPÓtÚ¦››¸9çô|’˘T¤ćđZV“ř­I­•XŔ¸ŹXż›sú„¶í7öĆ|‚.Á‘­`DFH¶"ĘPŰĂb΂¬3'X|Ü—NŤ2XÝ­T,ť‘„ LŁÔW¸ŤO皀dÜTćâWŻSĺ‚9ÖüŚ rüfD|Áož4ŻJî Í@|[yS1ř_CÉ›ęéČ (ŤřiónŃŔ?:’•łŻCô+:¦nË÷}2Ł›{>…wb[B ox«M ¸6+PŢéňj¨Ć»zË©˘¸oÁ•H+ǰ„&Rť.Ź˙Š©KCÉŁe˝·€„$DH Ť¸čSáŔí‡á‡×ĐŻé›mďç/řŇ÷RYh›˝OpŃ»ehxă8÷»$•‘Ěůŕłŕ?$Éâň$őđęťěĐń ÍiTŤ±‰0ŁúBŻ…íl3|đů=żß¬D·{đíÄâ/źIÄ6ŹÁëÝÚÁh¸ÂEp›Jš‘őa€_](ˇ*DĽĐ·˙lŔ;ÄzP›í®úŤ٨2Ę˝úÇxď"ôĄúUsâ2ˇ9ÄҸcÍ,'•oýě·pě(äÁdµw˝Xe^Ç f»UŁŠřL_$=ĆθpÓÓë´ď™8şj$•)×&@Ľ–ělĆźď€ű´ů×S{`cĺÎÇ^z3ýäřžUnd%ĆŻ¨9·Ż÷§'łŤÂ M[·.>›¬d–“d+ľ|Ô˙ÔÖŮÉ2ę«…&;–UÔUŞ«íßEämŽm!DüHÔy2ࡧÖĎ×E‘1ÚN]Äąíš~„Ý˝)¤›]_Ä,˝oČrX%ľ“rç…‡@îS•K=sűa -$ôŕ(‰·0ËĽ--ö­oş(R[F}­¨s»‚CÁLJKĄ×‡Š“ęço,ĚRçÝô2cÜ;Ţú:+P‚ ¦‘±.jő2Ô ĺ,Ěć6ö đ\RŢ#xĺŢőŽ_ÇPnÓxjfudG5ŚUPô·;ܓ¨ř:Ňż-¸ćî»"ÍżŕyĘÝ )a]g–6qîçúŮJéiĽ±č’ô‡çDWÁXN]’a ÜćęŹ^čpMY˘Śdęf2óCŇéß/źx?_P޶ęBT%ŔP L~'‡™íOĘÄTŔăąB‘C$ârÖ &ZŞ–®aťr%Ú?nîeŮbđť0ŘÜ@˘NžbŔ^pô“ĎĘxIqßő›ť6Ő@}N(sáČéÔ•×ëđ$vÖcÖa]b‘Ţ<ÍŇ%CXôő;ä #]@g$|9@ňg€Íđůg§Gč@ń6Ó›+ŔŢäĐ@éM‚ťŐţŇqFůŘ - ™űŘĎń¦‡t\qy ~Im|ů!¨„ĐÇó—yNµO,–2ĽZżÝ*ŃŞ†Śl^:Śáś~¶‡Őnš°z6•Oҵô}äŻçé} -kÄOkŁČ;éŔŘFćňŞ_Dsá*”PÉ…Bx“඾خ¸Ń?­†» :ÄŃ4G>Ý8PqË&ńa NËó0ĹúYuFáîË3˘ĂmĐ)´ăĹröŇňÖÓ xŽË,€ĎźžLĐ• -éě_2onÜą‡ÔÄÚp7°gĄŠŤ˝U^óOţ¦Ííó–gč’Ń‚}ŮŁóÖi®Ěö_˘D@&žő_*tUjeďSÖŚZş%űć ÷qÖë»čDŰÖŹ…ţFŚr„bňx÷Â;:~·Ť˘úŠ“®Eůqs?¶‘rýB7ŠŞG˙feH=~·áRµĐě =Vt8IÎźÁ[ľëN0㮾®ťAc›OŹÜűÄ-P»yá<-·Ę,3rZr¶ń¨@:´]·T\¸7ĎÂü+;äý9ÂŘf8ŻĆ‰°G2îÝ!xxŹťŁqgbˇÎ?´ď?J:ăÔa Ţ–ÝŹŞBűL<ç‚mÜ_ëď0h…«źŁ%řAóxĽ¨Ťř/„ě!Č“HhŚf‹‚ÂxŃâÎŐÝ~¬ćK)˙B†ˇěČAM9­Y®×yjţßŔŽż7(!Ńmó€hYjv,đ“°ăŚ2TäśH{莩‚é(2_Ŕ$ŔAq żGdŻdM´ ĘH‡8ýC¦Ř%¨îé}‹|`úH÷R,š´űü§‘ -ŠŽŽ’ü«§¦p} ľáŽFÄË9_XúEK¨)‘;üXvŕÔ’tqľt¸Źµ»ÂśX2aˇ§w0˙šxNľ±řGÂ#üÁ ‘ľ<2\­¨ÎăAăIMs‘l(Ź60áŘf‘5đĐđôcÖ°ĐŹ¶C*ć:>.vô_TÎѦ.gÔ;…•>2h7b:g" ĽűBýÓ_Ţc·ŐńÓ…0˛>ŮŹqŔ…é·đÁ‰`¸6Ë1šOŘ+Ňz­żŰÖNv¸Ű9ć•1˙Şh/ů¨Ř\kF3?*ś:fŽŤźŰMúHĺ⇇¨D­tÄş™…đÚ ­]ö†bwŤż2‹iuÂ:â)ÝĘzZ‰tˇ±QÍgÖÉ Ă„ÎxĺůÂŔĆ˙ÂmţĽľů1‹»¬Ť´€Ę†éĺ6Ž9“zšVýđK!0ŰšĂČf[ś%˘s hî7Ą¦ŕąK@Bţ*h­-@ŕąJÚgcśŻĺ†łĘđď#ÂúťcT´Ëµ„L]ţ—asőăerŞôd/ĚÁ»źmŕyÚĽÍÜ‚p¤yYä{¦Š ż3zJËcz(}=\ÎHŰxŃ®q(ăA 5†b1!`á‹ÁT+¨Vcö«D;Ó§ş˙Ć´b¶fś€áŐ[Ao-«`?Xš‹lRx?ňzО2PZpé8źx“݉˝™3rí&¬;ľ_4ąh:A“7d||ěK©“ő?Ę*fšŞoSŚv —ç §T"T‡kŇůp폲zď$=Ú«Yż•E·a¤ą›• e|…h#uIpě#HëŢŢťąĐőT8ćš9ÍŔ{ţcűő•ţÂս˿Kž]YôŤUŔZ*âx\šŚ(ć>ë^8F¨Á2šu ăňWcýĺ@ŞÄQ OĘŠ\ěY¬ŇąĚł˛;bdî×€|ph4ďaÎđÉaŃw[ď´Dp/,ĺ-/đ'P!;î˙B§x?üĬzĆ-BSݕΠBxD7+KčÍ޸=ݢ>{oĘćG‚őöżâ ýĘ R­ë2Ů(1čH7e‡|âRŔŞÂÍNÍXŢŽźŇČ植Źé0®RŤpçÂ7»Í(Ż4ą#˙4Ć­áé'űY’ŽŹ»ôŃm"ÓAÁP®1˘˘O–‘ąÂ?\ež› ‡k AŚVĎř–˛Ú·kÄÜôí^˛ŽÚYwTÇ7°Ďĺś*ňBžë–MśCýmČß„™ýa;Lř&!Şž`őÂ)ÁÄ´ÁűŠŕö«cgµŤ:ýDr˘Fß`|8zĂĹщgÎŮnb+vÔµĄP&KĘćď"™'•Ę»{ůXřf‚ęUę;‰ęBq-!ĐEíčŇ+U[żŐÖSÝĺKІuMąbŞł幌ĐWí県ĚÇT58cňŠ©‰1F•× ‰pÚ@—ż_pk¶ČSZţZńT ĺI‹veWŢ{µÎŔP %ĽŮܧÇä+ŢqµíÂŤ©ÚŘ -źĽ'‘Uă.ima…TbÂý*ž¨,˘tµ…kM'đCiä‘eĄ€ĺw"Ľč5 LŔ#®i¦0UęĹa4*bSL$17;ĺzťÉDń;[[Ž6H~u Y°Â‹]%ÔM k7TkID«# nÁ©EH*„·đňÚŠWhŔ#Űv˛'GĚŔŮ ¦~š¶ş7GßÔkx¸ĘYUž ‡ČŃD#"á±’GuAçös.9Ňč‚“|?GNnkKÁÉChĽp®GňîvŮÚUi:+·Z9V§Í˘ąţř\˝>"ďLç yĎ tĎ9ä2ĽÓX3F_“ĄŔ;€WGʇEžu†yd!Őňň]ľµ°"ržQx«?z ”˛v:–íŔ´'/cް†íŰÔ» qźhńá%¶pÇ|kż9¤ÉĐäö«]Bm‡ŰEŃßę:„?†Ž\ąT4ŠXÇ–|ÍÖłź \­Ő]RĹA/Çy{Ý\`ŻťÉDJOÚó=¨dd1< Ô^íÁ{%K2Ýx é“fŔ© 5Lţžę×XţVŕ ™A6Kő(‡Ý¬?…»Qgá|ÝÍpy™>Ő!w˘Żâ#:˘Ű!ęý»4Q(µM1äe$9Ćüŕ2V×Őü)‚ˇńUŕYřô`2: 'ѬGÂig}\¤éŁ|ͦŐyÂbO˙LüQp4äwóWC”ƇZ÷pľDūџ=Ż}E»ÂI©t´ąy…ł¶ë5®&ľgIŐáĐj>-) úéH1ZȆRűoz §˛ö&!cŞ%€ÁŁ7!B·!z~FŁę߯7î‰p`BÜic emÂ)úßçżp|"Ćż¤+ˇyű,Ňąăđ„öB˙jŽź]ő~,­0č‰#–ÍJ^öëÇôYĆĎ!µTѳꏺ٠*: đúQ%%mş~JĂĹż ˇZ€ŢŠ_$7=~6¨źµ}6N -ŕ+(Kľ&1][­ssĘháă«'« 5-ń&€ŤŘŘŔ[& =(Ńó{orś}˙xű¦2Ćî ˇÄ“2­e?söÔ<ĺăś…ĎÚ„é8]YălĹe&j/u/*#KJ¦™Ľšř‰uő#“çM oł”jFVÎbĹĘ˝Ěhi±Aň§NčĎOh¦ű,Kî˝oái~<Ő5Tf ¸đh×KsÖ‡˛,9®H–¦Dqň¦Ź?0´ŤËtvAá8$ă@ó΋\yĹŠpšq›8`ˇç˝‹@dŻŮ´|«§”q«>VŔdŐa]¬^Ś O™4™·¬´’řOĽ$ŤĎá9ĂÓÍMÔ,Ç[8;ë7ö"öQ@I€˝óŐT0wřXw=´Ĺ×Iۓй€ŞčµŠ9¬p 鱡«ŐqŐ”DJ{míNďěSwŢIfحɬq€ł6ńe$…Ŕ>(eç‡M¸Čs¨ ÔĚqC¬ŠK°ł>箝˝n(úzúâ}ín_­€|FŢ 3;óxAÚ~G·»;KÓ"¦6Śç-›t,O°§űŐvĺD§;ęüä#3y¶ë81Ż;`Î‡ěµ tËŔĐďĚTÜ–5«ň‘}çłş1S˙0E°kŻÚ‰ľŻŇ\ŠżçťéĎAŚ#ĽŘÖÜöƸöîőJo[Śň˝ţdh˘dfDYgQË—Ň‹ĐýâŢ–ýa‚<˝«|09ĘŠËWŽ5ęĐŰxGsŕ–ÜžËŢ´ÖÇG}<ŞrwK´+ż#ŽúG Ö}¨ňvvEزá€T̬´.ŢËş–¶ůrę-­É?Ď#Ą{ĄĄŤŢM‰~úSZşű4•śejş"˘î bW,Š1Nu4Ô{öăuą’p«mXMqa7Wt|÷5⣂˛<‘ĆśA^%f]˙[ ›¬™˝ŹE0ö"C-¨‡aFPż9ó‹őP|˛‰ôx“Ă‹žą[¶{AňEÉEŠťČŹŔw^\á˝ “EIŠCg{JNş˘Ż;âĎÖęĽĹ˨oUjŠőŤ;%ěĆßý…zTË­zđ f\iłŁv`^*©ÜžŁÂ(«Ţ -µn*˘ŐO°¨aŚ˙[ôŮJwÍ®ČXd…!AZŮŤ¶|pďŐ<ĆíÇ©Źčą´ň$á!\ĽĎ†•H;– LˇşÍŻ—ď^±DŞ Ďpm1]¦h¬Śâjz+áÖ!ךf.PîđآÖďŁx¨Đ쎛’Ŕµ‹Çź+VĹ`ëp°;ď‘ä’ĎŇmĂj!/EŇÉC*TEx'ĹG‹ł˘«d)ÝŚŃ…zH@[GŮ«Cůçpůň`qlŤ]ÁĎÔáÉŚ g, ÝńÖ@yݲ źGĆéŹ0Á ©ů̵ĚŰK¸yęp«H´ĄÜńžĂ×_”ČȆă,ËŤFư@Çíäůyň’|ůO\Ľ`őü$ęß š0'ľ€°őt™…q–˙¶M|,í¬Í@/É!ćOÚD8´[y˛A¤éǵ˘hŻŃ7ą\·¬-u (:+a @ ç˙ąâĘr}—Tô†KźVľ´ŞÜ$/ßyL…řWP¨*+»·(-I¸sÝ‹,˛Ů좩·˝¬¨Űn"ďĹ^ ІHŤĎ÷á6!«ČŻ™>Y×hřz|ÓG;M˝¬.±ę–?:݇}ĂĺJÍQő°éOëÔµ–‰b®G±sÔ¨ZM ˙ys›^ćźű{›Źţbí×Ôk8á×äć§UĺpńŐ)šPM<*¤ßq0šš–„ÖTЧÇ%&Rwg®?ů`fěĻĆ~+íĺ-Ţ4ofZ»˝s‹i>i5 E®&Zě“˝ť¨ć/)aŕC[Řđ·ŢŮ}qUn_Bşđ®Ć‹ÍĘ$¤¨¦çălŃđŔő† -óD%®¤Ť3Ż”ĘŇşG8Ř gë…ľ!•¤V&Äťši)%z$ĆĄ8 Š•¦f_ŠćŘž=^ĐŹ…Eb­y!ŐŁ8şő}řłęĺz¶‹Ů:ŮŚŚsE‰)<’–[¸ qUsäKś¤`Euö ‘śHeéëE„Xţ –d1yď»Ěް|ŇÝ·2b—¸šđ•ş7ŘTř<´O |<đŐÓĚ„äöKrTľ¬ÓÍ?z©qÝad$Ú éî𙑶â>®Őé’|~Áyöą! >Ě˙ ßm„čŞvLA‘€yťŇÍykz»¦ŰÓ¶zŻf˝jÁ“M NyiëŇÇ pŢ\ę8ßţutč*3B’…ŢŁnwqI¶ĽŞ,Ů<ÓĆŕ”đµ×%Î!ň[8SJˇŕyµűö×±,‰jë;o#mf`Iu7§"dmkŃ›.™M”'emä!\öĂ4Ž’öi'^NěćîB…;{±(ąv‚% -óx0ëën# Ő/UNůüďüó˘÷˘¸ą\2„Ę|¬ä&ÚŤťâ̸\ŮrÇŘ%Í+˘ůŠýn:^¬äĽ‘rď cćS-WYŞ„ŻřôĹcęăoPřŻÚ`˛™jkÉj§•$seúŻ/Rb˙ÜpëM™NŚ›řj˛÷;pŁ•ŚÓl1ö%ö®Ăů˛!–ŇŇęńާ`~ěhĘĆŰŇÄ5ř´4äF=ąűłÄÍß«" ËľXzşśŚďD-bQ}ď>Ó©Q0Y#aîPĄęm~v_Ő`ľý¶ěµ˛ýf»~Fí=L3€-VÁę;n˛tÎŃÓ8gââ8pÎÄŤAÇVi•Ô2 ś°ŁÍ­‡.ę;\ź¬ĚŠy*5‹ß¦Ä%q.…|…šđČÖ=óňD•‚FOĂŮbJş´>ĎýLďŐsçŘ©Ä2 '[eŐ(_űÇvWÎCâ¬đMâfę üž<ŕĐ˙ř°L}M‚+ŃĺÔůĎ8‚‘-×P÷dĄŚć­'ZmŻ|đŠ<4O§Ťp1Ť—Ż5‰tĚí?2ĘĘ /'&K1kR‰MĹbT9UŔ·ó¶©° ´*„[óôôɱ7ëTí@3/qĐpý,>H=wE žôěß ĹÚ?"$u;] P!.Qpď/¨¬n#—Ö±ç^|Ń>Ď…µ)L«çťH&\Ž9¸*Ńž =żNÍŕ¶{8M ř`™Ž6wu!B÷˝¶F܇˛˙Bđóţ*D7R{Ś -FT¤Ó€–Pó»CŃtő·,OůĹJ?k AËrź˘9”Lú›ÝY;a)¸řÂQp}ă%Š!8›ö´3­›×ä3™Ç%ÖZĽO˝zQý»w!"ýg· Ľ&81n•„Y!T´Ëą5´ËÇĎ‘»ĐŞE2ç_G|Ă×ËŘ6« 5ŘÍô½*“ 1ÝŤ©%âcĘ\+ĎN}?LĽ.CŽ÷«¤PvÜę/»f€ňZźWź@B(ÂcX\®aЧćAŞůŽüEě9ŇÇ!\­CÖŁ•ŕŤĐ -xšD6“:¶nžnüĺż"âÄQŐsÇŽµüD.EŤöe :G?<€9΄@N¦Ř9Ż4k9CÍYQŻ#żů*ŞfÎËm1'ż†Ř(žâŕ†M;çó/ˇ ă×ŘyüŻ"r äIşŮ˘˙€ĆÔxjČă’:ŠźjǵŞNáĆ…—có!D±śé„Ç&Öe:™<•†MţC<ďţS^˛ĘÔ˛™µ‰ŰŇo¦$ÖQDIłrö1ęBö§C‡đ×ÇšRřŇöuNAČ5±řÇHů\Î[ -ˇb“ľź)Łą•ę±ćóŹ0ŕ÷egÍ{şá¦i:YŃÚÂ[ŰĆÎb¦ţRi$Hő°d?P/ä= -¶[.'ŇÚě6Í`2üf 9Ţanť€;Q8 ׍tßłąľJę‰ ĽrÝÖůRyH»H•óqĎí.3 «ťµ¬€Í6ËZł €ĘdurdQµ řźťž´:, žĘ™oMÇq ŕ'ëg2ęI_§Ľ§,VŻl SĽă”—MŰ蛩âüR$”Şů]Zü*nŢŃÂFZşżÂűu1MîQţë(yě´%ć‰Höľ(-w“|Ž.ő§ÉljéĐ·×´‰Çs©Ąjsc¶«0ń*śĎ›wĄtG“™Kż0}ÄóÜE¤Űý´ ń&HÄŠSŽ&!Ďb´ćĺOJĽŽÄ.ç'§Ŕß_sV¶Řl-Đ3ˇ”ř}•X«µ.éńA6â$ąqÖ*oýHńŮo )SŽśŢŽĘ%ďkŽ›"RŁ# č]†`ŞXđú˝|-â ćan'”Fhł]H»Uó˛ř#ł•.äcCöxŕQŕVΤčÝ"gűç.śfBšI›­%,73…ŇÍęĂxuuÎ@źäŁ)ĘnEş0Č+ǧwMHˇĐúĎ’y„"§”ĎžĹ$ĺ‚űľ0·IÉXóťşVŮ{[ĹŔB1lUm#ß w­Ľi÷Ű-\@Řys ŃÝńÚOFŕś‹ą3'd¸[":Y~ýaË]ˇ#¦=;TRşń TS±Ü_,ę5 âǕɨ~˙>ů™äL>ŚNY]…—Yeö’ô.Ť÷ĺM@ŁĘ^c±«mĚ˝TeŽćă,ˇCŘs2îdś «ÚMťD™sĂs·©ťC¨Űşó`B‹ÜÎ×§ -Ńé¬BłÉ˛ßôĽá´pťŹŽ¸Dô’ź‘W×=ŐőĐLjüĄÝoă1A‡u§ăÁ°č~­H.{ţÖąµĹ”Ź…ó[E6rkgˇ°GÉť=';×Á”ýä°61ťš-†˝|Kë6ĚŢ(ü"BéĆ#Rq÷ŻíĎőĄZ{ŔZ]ř‹°­sĎC·WKhµĆQóđÝew -1ľ Ü´3tü×Q•5hWX¨˝»6o¶Ů71„Ę/÷g 6ĐpşG^zäk ‰=÷Čć5‘Lčńá!ŰâqŞş(űÁAţë™îřj†˘eśĐęqö'T<~ł6ŮRŮ C˝tÔ«K·0Z|Ŕ+¸€ŽńÝŁHÚ°IXëÎâě†RK ,oD f5ŽôŕŠ\٤ű„/5t’ a/ŤĚęčJ'~g (ĄF™ľ;V®¶N«“ž•k]xç0âä@Ć!€/ŽOsJfjG·ŰY.®5OÜŃ)ăkŰŃ·×őŘô*JůO%•$âď'“L]cę»ęhŢÜJĺm¸Ű#ÓŤxQ‰Ń<2¨‡ŕĚß*˙4šč}.o¸ţfßľűîĘ~ýe®ů“ľů¬IY^R^Du7µ»§íů"/±#“ŮkŠšPĎÝŚťX -Ęß YŻśŔŻ„6ŞŢ/«ŽMj¶xľđ™Î ´ĽUIĺřQ ^´ŠPżŻOă©Č”$óń@ńčJŇ|É>lâ Uí˘€ěbšŠOň–AЇ㚠[ß‚….lJĎHßŃŠĄÉk{?ńG„¸ýŔG"„ !Ě”7Ň”Š*|]ř•n/4 ˙ŘYůŹđécć–`„ü]]™¨…Eś%2Ś!‹ËŘ>^i{Ă-2ę×âőá)MşŻČ]sďäjyŘ0بćOĎź(מN[žx„0hPűřÄŘO,U'âc®CSŰz’XóÍŔş§ď$hđ,¨Ĺ¦WÓ㍦}§ţű‹»**ëJ™Ó aG7ĂMäšąĚb9­ŢČ)oL€) âĽ_!€¬~¤oŔý¸s:…oϫܟzL>H9+îaëé÷´42·\„'mŮĘ)Đš’-đ&YŚţI™řdË80ä†mŚ Żmxfu ׳žÔ·LV~?Öáď7§Ršä¤¬k‰7mÉ!}‹q~78+ÓuôÉ3SÂP°fUÜ ŤĽ=< -_^îů7„t­A ÁRLryRŚLčC<,ó™mu* ’ŹŇ·ăú›·ZWSŤ‹É •«“lMýĄéçőjţKů“4Íč:‘ĂłX`|bé55ă-öe(\ЉK‚‰(“ĘMĘ2ŁfÔFŞE]ńâŇź‰v -QŘÍHÔm2‡ĺ.t•Şˇ‰j^Ň–ľÍ°˛˝Ć–8±ÖľJËR˝"ç ľŢqľ×F*rĘEśOxd>¸zđýéîĐ`@°]×7CńŤJMAď×"|Ýa`FcLłŽV#8»U!:É…îl7†˘ś â­Ě2Vh`3ąĽpg¦S7m¦Á5c VýĽů)OCe«mĎ»:Ě‘ä†Éľ‘é -5˛ŃM@ŔB>ýő`ÜLřu@5&$Azśř9G­ń0đýő%|ż_&ŠÄ€ś¬€e¶óS¬–ŇŕĽWŁ÷ 4OPł[3ŕŃ0;Aĺ$›¨"ŕ ńđÁ9”şíiţÖă©n”ě¶ž›8Kh -"ův ›XŞÖ.CΧÉú0×đ#˝Îď˝±p†Ä¶řö!ł«ďČŔ™k»@:Ź?ý9Ňf y_Á%Jť8SĘhe•s*±áG¨Vl˛0Q-ÉâK{o3{d†¨Ô7€´Ţ–;e7Źě®{˘KęA}ÎÁ] ¶ö¶ 3ÉQ>¶AíĂß3ŕ7“žşűp}řßĚw´@ş‚’DߤzäB,‚ż`3ĘśÄny˘čçxzús»é «§źµňfýk|®f)ä©®»•c<%ZĐÜV˙ż4ë ŔáWâxĚÔfJ54Őˇ «Ă$űf´}´Î®ˇN‰X8t•tŘάĄ6ő´ĹŠsŤGyĐž¸­ÚjŤ€Ăaz¦¦tÂŁ,§ Ý…ď$p–i“çhőÖąsliŕV»Ěő]OG|׹.U™53z~„GzÄÉáî(Xůâ'Tĺ-+p‚®Ťę´˝ëîćóeheË»·÷QN“űÉ?‚©Ëę°ňŐ~YúéŃcx:ŹŚĘUÉĂ÷­ş,IÓrËMjđ±ČHř4(pČ ţ2’EJJ’lQQ¸¬gYŮHzÄŘP>c“ük+.i÷đŃé~ŁíjŐřd‰Hôő|ŽŔD•÷ůsUëÖ°1}ą‡üÉ6—Ź ů; čD·R÷|ĎěLövXŃňÁç·zĹÇFc†˛"#iϰřey<7ůŮU|ł c}„ÜäőÚĽĎfŰ”µ7]Öçx†}OÚŻg¨*3g‹ţQ}ď¦î1Ż‘řÔf‡°îsŘÄ97 7š&`ohË7bŃbšĹȨA‡2;éš˙›’ěqŐÂe‘Qâšć Es¸ďĹvOĚńLmpb“ąT2ž0iD %ĚÇćEV°‘nî'Ťnaśn×Üěů‰{﯇4d,Ëfҵá7hńźĄŇÖbź/wł}ĽęµČĹ®«öµW6$ ËĽ6ţĎ&ţpťwD®łĺĹôiBKč?Ľ)QɢPÚh^7k|[ăąNX:ůµŽg^ď“D8Ź•Ą‡(V›ŽżŘ`˝mď*řĂ4bÚü®şŢëĎÄďŽ*öŹÚřf6ţňéŠî9ťÇĺŘů§_µ$ůÄĽ±“ŢüĘ!s 8/É´¬P‚»x{Yč7ĽÂűÚ^†!]ŮëzH•'¶Ţ˙g$j›+ÇîWKśÜî2Nţńŕř± î)–v"J”Ő•le^íĘřřĺ“88_ĽM>[\Ć[öi”~¨9˝U8[č-ŁSEĺ‡uSű]TOOtŻ!PřŇsÓ!ź©)« ‚ß}örY0Ç-şŞv{t’ -‹PKR_křŽboP“L¬­ă‰‰Ôă)˛2ŃĽňɰ‹aW nID:˘p R~ź\ś™ 27—Úf ‚­)Şs¨7Rir­ŚjPdž¶µˇ|ŘNT ΆďĆËĚ‚g±…)řʦ^.“wV©ą^Š)ĆĎÜćľßąQlmÔuSłS•„™"X ç¬(q.±ô‘ :-U85}Ü3ĺ ţ_ŚŞ%i‘8÷RäM›7ň…)^ŽTĐ2\pŇ÷ątGÉSĽTę6±1KzřôX¶–0ęŰHŁ;ŚĄ´R*xŇę»EóIt1 ˙Ë«aé˙npąµ,Ŕ´^ňَöA€8&0]$‹ëv®čVrGßßÔ¸v1”aŕŘÜ—¶oňÓűŰyťwřF-Ŕ=ÚÍ©5˛űZřżkĺyW¬´üóő:W×ä—¦”™]ŮV Nq_U÷@»va§\жąŞ<Ú+ 31ŻĐ6Ilüâčű‹lg‡ŘÄ# đ6pÂV•JJő9ɵż±ŞÜËf§űr]™, J>ôâ]Bőĺ ٵRŃ燭kh;ٶË3°Ó?ňÓĚPĄ‚¨ű~vKĐôqçFş „ÝNŘ)¦ÍÖdWxO`hŞ›0¸jó%ę'5Ý…·"˝fqąs“°ş\ʵ«ş«ŞŔó&Ą:ÂwV@BV}ó»h÷¶*{zc†Ćđy·CÚH}9hĎ~©o1!'E‡ÚA»_3ţ=ٶnŇdž u:ą§K`íoá;‘Ĺ&t3A‹ -” ­˛ćÁ»ŕߦ+–=!4ÝäůšľúýXĺbV Ň0’5··×ć~ąąŹôěé ‘ÍćüÚ”sTŰŘ/ňÄlĄÓ»×P8śšĽ št3sqr˘ö|ƨč3¶$ÂY®{ŮQ˛ľŽ±wˇâ9ë:°–”HGłÓóđ—ß,2ď~źJ,UzIŐ׏ѾH„¬z/LéZ‹ Ͷ6ŰDÓťĎޢošv')‚F-3”®'č[¤ö–`Č5?yr2<ą°"ń˘ŔۦQÓ+K/”ajŻŢŞťjsÍţG\đÚF˛]pĆoÓÓF) -?†K­Sż]Hş2 RŤ[A…3©éÄF¬•V«§ŻĂ~ż -Ő„sJ٦A „ ʍ¶§Ň ű6Ţ}Xßđć2+ř4Ě=6č_!“.:LöíË0§’3ÍE>0I_YĎ!\HQçÝěŘň\ĆŕĆ6ô‡Rşą˝€_×]®.RË ţ\¨łŃfĆ 5čQ[…ç˝Z¦ŔI””ëxŢ^´ m·Ľ×OPę™ ‚*©ěCÂý—ëó‡™-#4~`b fpDV|ν…H- -řě ”ŮW/ąŞvů®é7ŮŞXţ|ěoĹŮp-K -ü'c€¨ÉOCM°+ÎË!•ĎĺX[Ťzá~áé)}É7۶ô ˙ ­Ç?•˘…zî>'â - vP¨ą&Â/#ÖĄŤhof+ęö˘±ÂĘ.l; >Sy˛^zĬIAEí,ĄsL‘wdTď6 ¦Ś ü@¦Ż›„÷íAHÍ™ -^"‡ű ˘s~ýľú(ł±1ˇ<˙Ű1pŰz•,*\éDµŚɰÔWzőÉYŹĂôâÖ¦ -=m‚Iď«YµîĂ-§1ůGoĚ-V8Ž_î¸gŽd -5ÂÝ>‹wc(j4oť{^iŢůWfIűĚÜxč3ŕ‚0Ú:»Â9JĚHč¨č›ÜŰÇNŇÔ¸*ćN毑o6Ňi‰qĎŻńĎŐIR qBšAvz˛!łGJš,D8úJV}ďkÜŔ­úš‘ś— 7EÁGč[´pÍ˙ĽÄŢň<ěĺÄ#Xş• ->YýöĹ6äQýa„äIŽŇńd-ÔĐ|[ô6Öř¸ ěÂ(.T$W‚(ťyµžf¬ -‚Iż˛ž ç…fţ‹žł Í&aŽ×fĽÄďwż¶E"+…˙^\żéy&PEcëÔĆh˛®Ĺ©á'Fł űŹl"U·g"8:4ăväpÓKĘ_˙7˙8y«|bý]…Â/=«â¤Ë˛ytĺ‚éČře;ô_-§`ya·ĆÉ÷“Ăó,+ŚĆ§Aů#ĺűe|XŰWVí-bűec)ôšaŻŽ˝ –Ül,ptÚţµsęFłaÁŔ”O^Ăł10Si§C9`kAMţ̶Ä9 -4͸[;iŁ>^đ×­ÝŹĂĂ|łÓ- d;LęŮ„k¬žiŐT+ŔĹ{É‘Ar"46I· ”´Č -Fńy¤Ý.ó•ý1˛ČĺćĐ }¦t ą^ŰeĺV --Śä–¸áäa=˘"˘˛kdťôH`ť{'8„žď„G‚“Â7ůňąŁ‰(2ý8Éđ9ű#1Ň`Ą‚:Aí ś‘&Ôg™/*©±Š\…Ăż×0K± }ŔXöá‹y©B-ŹÜp—íŠZ’ Ú!+ýř,5-‚ôĘy¶±hüÜĺ.”Ä2ű˝Śđ¨;´ČÎ,áăč:D"đâ—ßËXZ»¤ţÔ&™ŚRLčüĽ—}msÍ^ŔX±—:%~ŠCEŢ×°’…Ky†b®'Mëż1ľwś_ňë#óňržřËŁ ď‚á•]'"qÖşăú€* µ:-Ĺ\ç˙U!Me-Ŕ=#l:ÔQÁÉ~I2ʵ:Éú+rŰą­ť{XëŘA#»ßí+1® łíBsŽ 0˛µIć'XŮKŇŮnĄ»§ŁqPp, TČlÍ"ýíĽ8dxŞłv‰C?Ůžű')·ĎŚšv†‚Ęi˛S†0&<ćë$ÄC‘O锺ÎăB9q@üÍź@u¶„ĚĚű¬ RĎ)ăČŃNńî?yN©§ŇrküŁřéío–ŘÖť± ’¶ýË*ňŘŮy–¬ăÎMl9[`¬¨ _)Uî:\µÓXLşáÍ,•„:^©öÍíq™ĎwĄK(Ë;Á4Q{˙tƵPsŘ@7Ú”™RúÍŇÁiźSŠh]xďóŢóB­ě«ź_ÖO­ŚŁŘ ŰŚçŹeÚ„‹©Eč’¶ŢF€}˙ôäôÔ_[ąZ  ›˙¶ť`•˙3 ÉĂa~+ Ă"jÔ „=;f7Ă3ĺn2Ě}xĆ’tŰ-ë™{øMC·yęVŢźłiÍL—M¶UTĎüX4KbŠppdc°a3ŁSáo«‰„I°±úôĹ…R©Ě|YăŞË1…o7&‰ĽëdCďuuďSŔ¸đ–´?śµ˛”•Â7Ťě}¨6ś -…‚­˘´ĎôŚč%™b(6żő©Ţe)¤=á±ö*Ńł…ŤŚ`eŔÝ9e 8Ŕ3(ônś©Fj¸}WZżääíg`B›oŠďcyU6]Ťłî’'`[6_ĎIÂ~ýŐ0ď™ő¨# !I` —húI?ĐxŻ‚«©ýZDV\Á¨^L«i¦í#¶ĎŻVa÷×0QSOC1ČĎF¬u5)útŞźĹ‚¬gŃ'íĹ@ŠgۢŹÔŞźBÁ~~šíŚĺőĆĽÜ X ,ByřHßFX±ČP Q(˛‚qsH©˘g™!s»Şj”ňŰhżSŰ9X%J'8 >ŤĽŠÔ]4BŮ‘"‰ ň±±ž0Ęş.}šýüů ˙îňc@ĚęŚQŤ‰˝~PˇĂŠN%„ků\'ú Ç Ť’é‘Â(n4r]˛ÎúGÓš´Üp(–Ip˘*[8S˝•µ!śdcđ76°Ë@Đ!×Aµ¨v+]¦[9&¦ĐcüN…jĎA˙/»]ąČf=)벤{’3ô°^N¸–®Y3őÜÚ´.›P#ú‚‡GôÎóëL­Ęm<5Żă|ż!K -> âÍF€[Ă47Ó'5-°^ŰŁ(ô8÷rÁ¤``&’›qe $=ńö/Ń }ó@áD cÔ‘KRR÷Ẁ÷z0Ż`í‘4š!hśeąR$2ŕ§â|ĚĹT~EďxŁuü¦ŐŮ0é"Kňh=7¸ł˘ôŃ>DëNý‰ń™ľŘżŢ$P4ÎëÂÝK–Ó•h±üzŚ2Á@ilή3ˇţYç3Yî»/ó˛‡IËTi1Ůl¶©Ş-Öh] Z“;xľŔ\Ń﹏ę Ë ă¬ůjîč/†ęld)ňuş©“±ëôűI’džy~°AZÝáŚĎqő pEVÖ'X‰F ž’ŻŞś <žGóĎř.>xŔDčYôâÔ“j°ŚŤąAń¬»Ř‚ą“Í1pŚ•3Ţő]+˛Ř5–T®2[˘Ő÷d©uő1@fů"µ=‡űާ-—XוšŞ‘?F–Őá·z”Ó(ˇ—ţâynXŚaĚß Ůč·Oü[`ŤL”Ú\?rńě>a÷‹kˇOV¦šŠ2Εq^–‡ ­ë RŞc ˙ş- }="Ö•ö(z×›Hs~V"˝Cz¬ĎňŢŹ<|tжş-ĹîÁ˝ Oe¶ďĐv}\¸~#›eZ+É3ЍNď‡ěČ<áŠk'+Ň]ÝŰÄ?R@“nM„—ďv(#Ťď]Č@:W›D©Šö”™C Ľ -ĆGtu6ă!±?r,‹ m{§7×…xO¶6í‚7LxEqllËń˘–ĆuaÄîTőĺt@’°p=§ęĐčŐgů7 łO•úY á.ż€Ă}ş+[Ť’ÂÂ:9@»zř®?*ˇ'nË#dáěY%î9c«2‡ŞD] kąvţÔekWĐ’$Ę&M4ĄÁĄ^D±ÉSď/¸=Z‚b5ĺŇŕ†"„s†*š"IvŔĆťÁˇ˘3#n|W/#ŁďűÝШŠźß±#đŘq,M„Ó‚Z'äy+6×6+±řPŻ' eU~Lü ~Ľ´*ăö¦ŹÂIZ e!«SíĚĘ ś~ u:m†č„#aĘ4ËÎÚŃ4Î›Ţ ŞssţpüËb‘֞ɺ–ó{ě/G»u÷]ČisÇcMüCrâ7«¤[¨TĐb;‰[ô>D -Óśď_ ˘w?e8§ŮhĘć˝kśĺgŇ -[° käÇzeşUŘď—Šň:@·ŹŚřÍLpXًޠć:óÄĎ(–JC|ć…Y-=L{‹˛Ă¨cGôENmµŽ¨č2$ň_•Ň_7 .ĐmĹ[ŢaP;b¨”©YÉPŮü÷tbă#7AłŐŠ?\E©Ę&ÎęçGÔŕq›ŮOłg\›±čLy—…ŘműśS4ě·¤>Uď3ľ´&{ë0k)»Řˇ0¸`\đmÜÄNq"gq°_bi^˙Pëłp*Ůn­“uI)(P%Îîę*٦Ó4«±ô[ V«Âžb9·HŤŔ¤•WÁ(sŹŹ§„aK™Łך/ȵ)¦ˇXˇ0 “V$ÔßÖu˛~çCíĚ””u?S_^¬ĹĄ^h‹ÜRe  ŽÚá‘/ŕŁ?ŮㇷfÂJ/݇9AÉÉ“€t⮓Á–őbęË:µ…Ś•…¶Ŕ®ô†(trŻ!Öl–(âĂףBĎ…űVÂáŹűľY‰X@bŠ&Đă˝R{Ý!ÜA=ÍO·AJŁ TĂÁXDo©J¸‘±4 ťîxŰU ĐKe¸Ś8i&ásd•µbóÁ¨±b-¶őĎÓß7Ĺ0Ľ|¤ňn0Y˙Ît[) 9Če»¶„8Ś˙’M©˘ĆZëŻî߯´XZ ŮĎgȲîáš—q:h4Ý‘`'1ą]ńyK Ň ÚÓiď/ˇ±ą~G)@z0Č…ĚLDŃ4póW&żĐ_›işöKˇZż*%uV®ó(ş•ş`BšsŞíš#̦9ą# -םQĂČkř&z‹T,Ní±Ö:fěč§6lpw0ČU?NŔe‰ q>Ť4\.SsgĺUőU](ŰóĐV°Fcu|´LMQż?'!Éâž^Ŕ¶ţ•7őŮ„il°*ŔĎM€ ÝpV)|pgęěţ…YŘjJ\ž(XţG1đü“>[ćwz€HÖéP“tÍęyDšŚ5¦úâ}dÝ÷ ç÷Ěb_ĆZ:f“ăäs’wÇCÓĆ r¨«Š°SĎźżK—‘µS’´r´¨DíŠ^ŕRJ̱)ŽçƇ-Tó‘[gşĽ`e ŚĂšňPV6v(yĐh3Ü­mó7ţC" Ż'ŠŹgSňA%żËŹů’@ű4 -’ă1_XČ!đ"rÇKÉqęŢ›ĺ–äńh~Hĺ_žT ”Z–-E~€Ą 4éw !=s2n©÷ád˙oţÎÜ9‚0.pÎňA;Ž5±ŕ †vQáŰŁ.HLlâ+ä' ˘“Ť/íT"˛OÔn›^Ťúá35Ŕ”")Í˙ßĐâ†ĘÎŐE´ý»‘ÍřB¬6I,§”]â÷jő‚Ż9˝¨iF)ÄŔÎD˘Ë˛Tű˛7e,^c‡™ ąăŤč®Ŕ„™lćhdNoŮÚ7Ń^łžáۨŤ6˘9ţű‚‚öőµu¤ąăĹęśAˇ‡ŹËßZŚ·ĆČOőÁԩȉ8€ČÇ †«¨_¦÷bşîkëZčŃÔl8'UŐz¶îA[Z¬Ş0jÍw\Ű?]'5}ľz…>Ľ·í‡…Dv]č®{TŹeJSë§kŃ_k›ŻTľ‘©rΚŔÓ4ťv©zĺáő îä.@t1˛"€nŃHŐBł„ %٤ţ÷˝Ç¦Ä”NWoÔÁ¦Ńäć_R;,©lXŮY?r^x1ĚŢČů˘ô-n č´ýG8ŃRôŐ‹oék[·\8(\a­ĺ¸Mö´XčM ٲƑ€xLĆ|Ů1=ž/K+ÚB6ć¬4äÚlí?Řĺs™‘„řE|RúoÂ÷ć —‚őkRdFťŹC*,·$ŕ *Z%U;c”C­"[«Bž» çŽGĺyő-ő‚SK_Ŕܰé‚éźç%Y9Ŕ–á«ád®ÎŻ`¬ó¦Dś¸š¬´†Ń˝JńŁč®fÁK–+žMŁżxqÉg–(tĎtˇ÷‘«AËTá•Iîaű©Ăo+d:»[Á@$ř,raI3WŮZŤ’¤˘@…Ąf5“Kžg ZBd@ĺĺŹr¤…u6ĹAŁsŐ?Őa€Ů–Źţ¸H -ÉŤ˙áWž®kĂ[ů¶=Nú˙|Ő7VůU$Ý:¦ß^ľÂuXIâúßhóĂ s]żśţAŐéjü<źRpˇŔDŁX ać]Y÷*]×X´űl„RŠü‰†NWc Wš©›óSÖ31ř)Ś[1Ň*qkî'­ -bÄüPL{žS Uű<_ÁÍÔ)Łí $ ©kXďhä: …\ B?Ň-řĆ¨ę ‹NřCĐFÓ [~™úÜę|öÓ÷oä(„˛iK**8ÄVňď{EîOPcqlĽäüÎŮő Ű·°“kĎ[ĄD™ŠáÜʼn:ZDł6C‡e•Ât(»ßg‘m÷8:#»(Ćň˝Řť:sy·­…5žNż®…-0f`ÓťöLJĽ^*5uDńLíD"pöŘŤĆob?ÄÚÖ*¤ˇËYzF˘´- §0Äg̶ú$Z0gî15Ű2‰ĆA5ë“*âěbâŃ"*_noZ_W"hT~eVŞˇ@=¤m}ňl•'ţęÂĘ ćĐ˙„G9Űż™ě—y[ío¸‘ß’Îäý»’Ý ~-aHÁĎ'ľ›Sŕk9pě’ 7N»ŐNčG¸Ř:ďňt´úâČáąC«0ň­z~}Ŕ:,uźőµ#ű`üúm)/Ł˘(ëě˛Âç"B‡ŤĽ&;´ÁťTĘ÷ą#źUN2ď¦Âá'עq~ĚÔV­n§"YÉ zđV^P0‹Cµ—cźB„yy`ł^‚‰ŐáÂ)†˙˙ˇai;Íŕ± ŕ–"– ¬‚$ěżă×'´yfŐae¸5©«ź!–;kÝ _ ‘‰ŘöÎ2P\;“nĎ„ő îşD˘Ńn -M ÷aş“SµąŹň_8÷Oi…ě©)˝ŐčŹ!÷-äž)”X]R4ăČ«4ŁZ·ü¬:8÷^ wKď’'(×hźśä“Ů?ލě /=0Ŕúč„đcÉČ0Č%˝ľ´sřĺ,ä±KăüEŁkŕ\ŔŻé­DqJ˘‰ő_…;w>ĺ¶,p.ż“ćtÁ+:›ç2vŐŻR’\˝ÝEq¬¬Ęţl\™ ĄV˙) ę_~DňZĘđöŻ˙C" ŞhßM \ŔŚÔÍL™¬Ő˘WqL_A­ě‘tQłş lÜů˝7蹍ë]˛Xí…"˛ ŘŽ&.ĚiŘ4ľĎ#DA˝^…;ČŐ3Đ 1ßL«W%ö»Bcń›Ň¨}výŘ,z–ć<Ľ2ePˇgĎšĺ¤uÉp€Éń$çýŽř¤Ô©°¤~ń%Ńr#ţ|’©*îD”žĚáYŇ>ۦóÉz2öŐ„Ni7Tżdş RěÂ=I@‰™EŇćÉŠ_€â›µ^‘F˛\ĽŤ¤ÚB>“ľM -­‰m?=ÜSďyÝÓ]ž„gĆĐcď]äŁÚŹ<÷Čďť/ő".ŕ‚M•–úLBř˛s:Â?e§źąďY­;…Ěş>@˙µ©@;e&™„˘sµritóGţ±SE>os$ uŃ×?8ó·Sşk~išZTŻŰ!j馌Uőěôł—xLýĆ˙@đ†z‘°ř›99smJˇáúâ˝ŕŘKzäĹŹ.ى.¦ź?ăĘHz5ÜmŞZÉąf×Ĺv¶ÚţcČЬ'!ÍČ_ő"ŔއWÉČ!{»"-ĽĆ<šÉ—mĂpá~FnMńŚ,ŐÜP <C!ŕTëÄW»ˇv¸ -µŤĐ˛q:łoFyďGÍňq¸rü~¤V'Ye”:CrQyµÇY×Q¶ßH±Đr穹™¸EYŐnęubśůŽéŔçAşµ"đ[(•SQůÇ»cŢA(<–¨\Ą’2V| ôâĂőŇk€đxÄuąźb÷©ţŽŃÁą”–&^÷2‘XĘefÍĐLÄLheşFĂ)JB­ŃXěb[Żţ…Pl'|©T-¨Ů…rwą ©k…ş±ÄÂâć/۲Nn¶É©Đ‡°2á×x7đśl [Ór„ć’žçl'ś©ć¤¬ˇ&&r‘ô éhAPö¸S’Ű×ţŽľz -őšĎb:űsmČ7olN‰;wŇ˝…–†vśçYˆ$ęNÔ'xcŃűŽ ·™+ĎŔúDĺ@–•ýŚ˝ -–ß–™a4Ó°]¤ţz ób굺ë|Ȩ‚|ú‰mŮ­ď%o)˙ąK{‰΀ěSkvč•ü¶IR‚ĆRcĚĽ -—bJ'­‚ r:Őz€˛Á¦™ksOžď2yX#+žŚV•öčŰę`B›őőuzxáj­wÄŐőÄ<ű;¨;Z‹u)ÎN*_ŢKŐŃ„Łż2§›+ńʡ&×–É^ßĂ–űP-řć·ăHCÔN©÷3ÖŇ\/‡đÉţÝ5,ć“LŠü2Vsç [¨ŹţŞŁŐîł ­KT’b&Ł–ćáµĚ„ĚQĹ‚ę_ş=çs:ŽŽ˛Ý ݵîńÓ×g–Y*˙5ĄłGb°$6!—Ůç<7ÉÜ8ič˘}‡ Đcő®_>ĽÔň[ó ćžióÓI’Zp%CšcëŽî‹÷{˙"$$7? ÄÝ\Ú6i¸˝+ĆŢř`“+Uo:Â˙šÉÓWlz‡äFFôi6+”J ItG ĂŐ@#ĹŢ÷fÇY®­Q/v.÷Č5kŰ5™ńůäş,%ělľSQÉs¨…t÷*1fFř˝^i`°öcłűJ‹…B¨^ŠN;)řŔ‰ĐB×°ÇúľT:ń÷pő&^‚e‚YpRиă‘gčü›T7‚˘€1_‡¤ű2îĂ[Çyňwvyţ;˘. óa·çžĘŠ„ÉŃčJ®›ĆvšCv#–-ă -Š"@Ü1öKĘQŞ {ńÇňBĂÔoí–~čW`ŔŇŻťŰd\‚ÄSś~řO5G&«8 OýâňĘ)ˇ0©Cí…jCІuzÖK¦»čeý»<R™-פ ¸nǤu˝Ř»Ź‡=ZJ»/9”Ł6hřĽz$eI-fó?ćÁDÖbKăNUżôTp×üK° ]<ÍĆ6›Jj˝<ŻŰŃ1[o·şo¶î<„®m¨ęŕö•ëM‹»rŽ.2FĺËÉź © -Ʋ×'o”ĺ@IŠ?¬ňć˝”&ú’é;jFb^ÔŐy—Ľ˛-¨ě]ŤI0ÚťĂE4ě5éUMµ»v\4;Ą™»ĽĽŰŻáÔńáń8¨OUşf*´ůËö§%¨ľLŮö» ‘ě°^â‹[÷ôÆÚ&· jÂůfŤVľŮŇ Ľ<‡9ODFż,c˛Ý0ßl⨦źŔP -éĚ _YŞ5EeÚ„łY”1^¸zÝ[c‹1UĆĹ[°BߺɩĹůAłŃżV–YĹ0]ÄÚ|Ýh~ŽŞN­uMáŕČ”Č~‚´hÖi©ß/ {ĄŢ\Ş›¬Đë;-»$ú|*ňŔ«‚Ú—LI lEÔËw#÷Jok]ěžd'ńšk–IFůCŹSĘ0äنnß‹nĐÉ_oŰţ+ Ńřý¨ĚŁťßŢ«€r¸ş8nŠĎ$çI¨1ř‡—‡źkpݦýíonźę9ĺćŘĐU‘tf÷âµTýÎý RŐŤcmý#Qc*ą Ďć3ď€qR`´bb¸fńÝč}FB3ˇJ¤—A+X2żŰÂć GÝÝsF¶ĽÎôŘa˛˛ŔqCä$•Đ·án#¸łýŇJ¸ŔĆ­ź@ÂŽ=LŽbmsđ÷‚gnÖZĄň•Âţ-CŢ"¶,•T·PČ‹ŐĎxLŰQÄ^3`™CÂĹç!8ʎ^Ś(ŰtŢş˘EQΓŤ&Ě8u!1˝Ł'ÓŠvPJ%%!,ëÁôžüÚÓfRżýÜNúxÓŮZţ€”îmiĚÁfo§ĽěąV[>Ďč{##pD„ă´cŃÉBřÝfŽ]8I{5ËtÚ±ÁʀвĄű ř¦âí,;żd˛Ůů•ĘN§3Së„Ä`Ô†î=$"mµÚ•„˝ăuĎ^3 ËëLľE•¸Ž+ŃnÓžÚWŰk/®Oٍ´¨—CŐ­b_O`Ľ˘Ë¬Á̔ՓBIVÉ`Ćú$ÖÓM–®ŞÝŰúEÎ`ď+řBR;Ű“öľfMćTâLÝąň"Ň'sčÖ $ŕ„”Wž¨a·€"É‹ÄŰŇĎž¦†îĘ•s}{f‰É.»Ýđ•{¬I) -qYNŰ)[ňÔhoÔ•ńłŻc“u3łÓ¸©×u,¦?âáFŹ,Ó{në‘V -6(ôçI\ -âň‘|ެšIő¶q€µŰ‚©Ľvt«öE.>nŤďAĄ -Ýć˝ pn˘¨ś«Z«÷ks®|ZJ)Ĺo©¬ü‘Ęň#—]O‹¤Ş›˙` žń="3|kűnÇŤ›ŃËjŚ`˘<ĹPŻ͂ĎmBý¨[™ÎĄnŁ+˝m[`ţš‹íđ8Č?ŮŁ•)äĆdSveCF“2r=Ç!$ÍĄ»¸ëD*z.}ŻŁĚ( (%$ć=VńvřČ9´EŤě¨.ŽL1"…ľ§qÚ”l`Ł Ö˙ă5¦w"˘wzʵď;Ľ‹ĺ¦ĚtDź ö,ďȲÝăě©âîZ¨r˙`$ÄűFäXŐňT+î9GKň3ŽËż scéyĂX_´`T4.gâr¸ĎŚë +0ÎNşĹáąR•8ŢůŮĽ" -Ž©ÜĂi`ë“Ö¸B׋Ŕ;‚«ó„á}

ÇŢčqz6Ńż~ĺ1şPŽËýňx+D8(Ѭę‰bPwť®A"-FŁđ·Ęš§Á˛rt|®ŠOů«ĺ˛-n ůĐô×M…ĺ†oﲌ±ţqZ^¶M©ŕ®‹&őßĚKśąFÜp5„¤\¶—˛ĆšIV§¦©ň>'†Ĺa” aÄt[›ŻŚ=Źť áZPMřÝT7Żrw×u\tő‰Úç1cW@I”ĺŻGóL… Şęe›G…˛‚cVtS—˛—j›ď×%Ĺý&ö¬%šŚDőç®$˙łSŚCZĘħCĐ_Ü==jÝ 4ü#Ü#éËĂ^őÇtKŰN›răŹ\IÔ‹ř¦ÉW†ýŔmĚ9&!3„˘ÇŚZ{U­ÔzÄÉbFkn Ŕ"›eě‚§' —C“Ä2óŹ’ô gž¦ß^1˝_¦ű–»;–ą.íp^ŻĘÎ‰Ď -9 -ßPü§Xőµa’qî2îX…ĆŘ•€7—k˙=2ß‘#Pbs‡ŽčzŤŕž2‡iyăĘĚwE;XbÝţŘQSř“‡ @ʎ¤‰‘š·Š…ŃémĄ|2Y/cŘÉ×q#Ęz_Î !O>ľć˛>»–2/jă×}fJXJSÝéGô˙µŃ‘‰†ťq]TkÉ}Ş®ÂŤ*•hÍĘQň–KG»˛@k& šî±qDôékË)¨îQ0…4xâjIŃ/l-Çń:jšéŇ$ě‰jźx˙+`˝x1aÖ;©ĺdëÉ$ĆŔyF@ŞMă $–}ę-ź»EôI•KFFá"ľ­|5“ ›dŮâŰä$Ĺ×€IbÍ9\uCqçj»öż& ‰ÄáOŽXĘěăw޸ŤIˇY–«JËhnÇK § 'fĂh´&öAL¶ogĐA ¨Ă•„ö n”ĺ‰S¶˙V'ÄćŔśőŃ%×ä)Şź¤Z? #ó9ŮB&‰kµOaŹBµšw/# ŰŐ‡DzłH śZd–«şdÁhO€AÎëާˤgŽń3źáQĽ?•®™źL›@.UŠË#|Ą›|gź¦f+†m*f“\§×ÉuiBĎ -đg&cÇK?š!Éó®wY (ŕç¶Iě› ÚžEđóщµaL–Gő• ¨1űimVćŮäD$ “)•±-PćŇŁm™‹q=|ż†Ą`8x®V -+űÝÉčŹő%°Ę4ëeŤ"3¬fUߦžs¸hş&>O™Ť2ŕ-™m›‹9đ—˙_)‚łž6sĆüŰÁAÚXnx¦őŮšmIR|5˛<ń_žú“W9m4#Ółú U(čďX†}em,iÔ•C~Çu-ˇěOÄ_żôĘđß8Î ÍłĂä‘yJš…ďzž€=«ź[ýújÇeŤÔÎLEÇÖs˘OzjÍ×>¨ ët$ ˛{aăm…ŕ×_ÇŁrL­rŢ[Đ_Ë“`źSÂý%ŹreS*JÇHţYt2ýęhŹat˛™˙+2fOÚo-őxˇZńh;\Ú‹ý˛=Ě6f>Ó†ŻÍ3Vy‘żn3aČĎŞ¸˙ޱ5ßMĚŢ÷#«’ŕë=ží•='ŇŘD3˝řM†˘ĂM‡÷Ł! 1M  4Đ ‹¬(Şú*– -N[ݶ<ż©‡™27oáobłl8U7\R e¬mÂtźĂ\p”gşXľ Ş€1 ČböoëËBK†řýcÇ(K+¦hď㬂XyL95+ó9÷ýSŮĆŃŔY˛ę$ř›™ůya”q„ô±C ÷w óěçO§…ę [С&Qć âą<¨Jýŕčf©‡ĘěÚ -@(Í~©˛J‘qií¤Cňľ`4ł†&ÍËý#fË4µSĄcčb™ľGHOo1OĐÁFůń¬Ż)¨’Äy!0&×%Rřî™ň[wĹ$ăŽ/¸Ç1ç.ŃŹ1Cú]ČsmGI+Ë+˙żôřŢ*‘ä9}ŕËCxŠ+€N–§¤$“&®Açi¸ŚłZďĂ»Ř|'KJăÓĎ…LÎćYY -b°GŻÉşîŃě šîĚއ8úR®ĺAágy÷Z# -ś™Zbâ'ď8o¤"«íG•ňEł5µŻ}ÇßND<µŚő’Î:Źî»µ/đ|E童͢ď)…–;Hń<ଶ×0;ÇŢ\ -aňgĹ7˝7Łű{rµ(`éŔy,GS[}ĹlYôř|˘öˇ«Ž—3BůÜyźßE5PżĚ—üŠ÷áĽá’QV¸DŘ_ôN˛q—ĹđÝQ@ö˙w“Çő¸>L@hUĘľý:ÁłŞu]<ęŰVëG|­Ţ¬©óĐ Ě˝ýR­Żž‰TŞô°ŰÜrH8Ě˙¦ł‚ÔVÎt2Ys7KDmđCŤ6O¸Ž‘ąjô¤MçXɱýÓ»áŚf_ŢŠ\%:m(QňC–iĆ]Sa®š˘P;Řň} ŇÇ_eB¬:2N #3De§©qŠžrü/Cüà Ȳ_ř¸ŮŘë6äŁPf5ÜSrż…ćě§ęĹ^jôďźŐŇ]qĄÂ+Ň$ëű]8˛§8í)Učwůđi_ý"ävökňء˝qëhrÝsM)eÓ3ů۸ĽÖěĢ©-”#VŠZ–ýźF!@čô8¨dEâl÷ÜŞÖlÜO‡K‹Ňş”xFÜËt=“XţűwxËsTöýĺŐÝ©“ô¸ž)}˘´ńďB-ź=†·3í?•IOűc‹”Ý„ý4Ř‹¨c¦Ahéďęţ[j/ ę•~f˙EËť -|†ŮQ&Ĺ›źŇQP<­Í “d€ŚWł»Â„H!gĆ<›7 4UPň%b˛q¬W!ö>éĆOŘ>WW˘őÝü‰˝ŔkFŤ´~­‘đôÜ÷±ţ—÷CÄž!ťűۧ!§)5űŔz‚qďA"|`óVTK Ť e šëv‚/Á•¤MÝ|Q!¨)PF’ e=ÝÁ´«2ŕĹRż±fÎUAlÓňô~ȇoAסcUk,™]˛Ú“ިµ E‘2ÉÂ$(1HGבwŐ’čÚ¦ŰqîôĹLřŹÄHŐgÎă Ę}5)±ůČó;cLcş…LƵŔ)ć -&ĹR]6KąwÉ6đd˝Cçfľ_ÜÁoÄ*vy;L—|â¤÷$1q$|q÷ÖKŘikĹ \Ť šDŞG.\‹Ł*ÉŤˇg‰Y €ˇ»‡śů°Mˇ ě57IÇĘĄ‰ÇPž{.#Ä" Z˛6‚댥Ü«Ž@Ťuí¦ĺqĂH ŰÓ¨gvbą…ńŐň N>"’Yp´ÔÚlžŽuľîi˛ó×\¬×-íą•6ä-śrŤˇGę7\"Lt€tĐęm kAÚ‹d-ÁP´Ď'źnަÓ÷ă¦ÓÖ4…缉%”×®ojmÎű÷śîfţ˝9łxłŕa˱°YQnP[űÄćŰÂËˏ]zŻ +’Hń­çĘę-öĽxéZĆlĘOwŔĽÉí°ŤR¨Âäk1v {z,ŕî‰ůž ~·˛yzEm?µÄ±ôNt‚J8Fj -|ş¬0ha뚼â~G“úěôÖ –îĽŔůgh+_öŽ˘#ëçöę—Šňô]ú4ń÷Ó÷ŔR˛Ež‘ÜKU€ î ß ş_|Ć ­kEŤGŽ',N“X¶ W‹çXT€žŐcŃóW0aĎR÷ Y˙ÎťCŔAôS›Óh‡¤”­§ęúnýrżBVzÇ€$ŮD¦Ť˝óŇřňjy“ěePSv9@ťu®Ý€îˇH_ôłčlŘń ŰŚ!čţěŃ‹\ňhÓi§ŠŃÍ˝&;­SÓ¤“‡›F–(ěâžeôŚYä=pűEŤ €·ôŽIŠ -Hon¸´ĹÚń®I…Âg4‰‰ŃXżłv1xš›ü!uEş1 ÖЦ.a)9ÔpW?ś®sr¤ŰŇs9źîn·M§o†ĎůoM$¨UÇ‹ÝőZĽÉD:š\i§¤@T®ę«ň·^¤Ť¸,»4UW€1Sż#Ť×k0ýčNý(Z/—jůF ą'd7«â+K')Jbńr€_›>ń Ĺ–?`4Q0ĹÍز‚ŕ^ŹŤ_ŮăÔV{?”ž7ŠY]jĂéQŻ`L•o‹¤ó®ă4Tç!Iźw˝e = ¨ěŚŢ6;í;(Ňä„ă»!pČH 6ŕm  ő˝úßQĹ3•tNŠwŁNł»s€“őE× &ÝCĺú“«Ü3U&Ô1-ĺ»ć{;ÚÔ– w†§4\UD.Ů\łęůh_¨oD V°Ňs «őBRđ˙‹ äAScîÔµś&ôŃ“Uĺň’lÚ5ą7¬¬‚Ɔ˝|+Î m󆟲r¸Ţۺ㣠]÷ŃČ˙1jćDfÇ9ţ3ŇU8zŹÉŰcz{ä^HŘ›.¨<® 2ě&™|=ˇ±šaß‹vŠ}­~Ź8$˘˙ Bă1š–8w1‹ę"N˘k>YÇÜJ죱FłÝŔ6>Đ.ťüqËsížr3jđ‰}u|†©›+a»ľÇdbă1#ëĽKŹf%Wí /„ -ş_öeµÁ0ŞI;˘µĐ1cŔĐ(ĺô?üjpÁ/)]ěwuŞŁĚyý®9)t4 “ˇŹŔ×ţµŘ±ńë?WČĘ^ňŐ®!E#ÄN^*śÄyüâďŔI9ëxU6‰:™ú -U·b‚NŔ{ŔĎâ”Ů€tću1A(G%W±ĹŹö 2˘Ü tĄ`O:L˝łh]«ĺbľ×ÔÚ/«r0ł„µť ÍţŔˇ({2˘ *uFvTtgôfÔ©† -ćo–aKC°Gű'Ě^¬1F »çĚ ł==f}Ĺ®ZkĎ;zŻ=Ë"°j Úd±&3«™­÷jÍőĚ€Úw\ŁŻsKÇ$©[Ů@’8«ďßtbĺYňľ“ÁÚŞ8ä§Do3˝ŃJŽCDl:PWeVdř™‚§·Íj×u€ŠřßŔŚ~”ň˘$"ŤÎ«ĺ˛LîEâ´»5Ň´ĂMßb# Än˛ô¤—6ą×;Ź ĆÁ -eţ‚¨Ö7mŁ©o!gä‚C!T;Â҇–µt%ź¸,Ű«¶Ő˘ŇŁĹén7TS[ ^Éěą-Á«ę Ř–“;ő^ŕ1żĆńp?&đÄMŰóĆĽ;VĄ29ŢśK)‰±f¶Hp§Tđ®, l`ĺ?q J‚oťCKŞ%˙ä~]łř8ÓŃM ¶éĆ××J±gH™ÔćyŁ|Vš+—+2c0¬7T78)4mßb§ !C"úĚ«™Dś46Źß©óČ­27PőťdÎĎĹh>uWˇÝ9fűd¬żó-¤Ť™Á0¨ý2ÓÔ*qč2’°«Ú};Ľ`ţ˙UkęL PUŤę4ŻÝ˙©˛¦˘Ţ¨«ať€×Ç|¤Ú†á˝B 0ŠI%[í«3hXă;sńtĘßÔHף÷“8ÎúW4F&ö»nن]ŢťwnĽŁ55˘„óüâ4u™­2ÎaŞ‹÷Đ93A˙ĆsŰqş’ z j¶'źoĐüĎ(˝[ö€łVůL)€Š-|gž×6ääÍŰ ˘âÉFŚěˇsG¤ř‰Đuu@ś Y{ÂŇőaĺ,áYˇv1şIé –A«xŘ˙"uÝvĹď/ě`ňT©´v-^ä^äřĐí¸,3ŞjÍ›ŠE·ë˘îZug}MóíA©ŹŹÜ?.˛¸P™«ĺ|VˇKąŹmęún„y¬-hŕÔ݋ɔâ6ěg>"X¬hX ×µÄĂgŤŻÎ˝¸  ě]Đq®Ţ ÜešTŢ÷1]‚Żâ2|ˇJżµ7fI'zĂ,9{˘´V m9č@]džD~äp\˙/.‰}±[eť¤şóÚ> ą¨Ă2RÄôw̧!‡Ź + + 2026-02-15T12:53:22.2944132Z + 2026-02-15T12:53:22.2131369Z + 2026-05-16T12:53:22.2131369Z + + + + + + + 3PAzKMy9gABu8WE7BeFiYpgUDpnuAio4mX6/p5mZCo14V3W2ggB/pTHjGSdsENBLZcI0ue0w2TBRxvYR+BS3Vw== + + + + \ No newline at end of file diff --git a/config/radarr/radarr.pid b/config/radarr/radarr.pid index b912dc11..d7019ae2 100644 --- a/config/radarr/radarr.pid +++ b/config/radarr/radarr.pid @@ -1 +1 @@ -155 \ No newline at end of file +149 \ No newline at end of file diff --git a/config/sabnzbd/admin/future/SABnzbd_attrib b/config/sabnzbd/admin/future/SABnzbd_attrib index 26885d89..bce0bd82 100644 Binary files a/config/sabnzbd/admin/future/SABnzbd_attrib and b/config/sabnzbd/admin/future/SABnzbd_attrib differ diff --git a/config/sabnzbd/admin/totals10.sab b/config/sabnzbd/admin/totals10.sab index 3ec2da42..aaf3ec68 100644 Binary files a/config/sabnzbd/admin/totals10.sab and b/config/sabnzbd/admin/totals10.sab differ diff --git a/config/siyuan/workspace/conf/conf.json b/config/siyuan/workspace/conf/conf.json index 1bc578b9..b0c49843 100644 --- a/config/siyuan/workspace/conf/conf.json +++ b/config/siyuan/workspace/conf/conf.json @@ -509,7 +509,7 @@ "readonly": false, "localIPs": [ "127.0.0.1", - "172.19.0.27", + "172.19.0.41", "[::1]" ], "accessAuthCode": "0tRmyq4!Co5RbL", diff --git a/config/sonarr/MediaCover/173/clearlogo.png b/config/sonarr/MediaCover/173/clearlogo.png index 537d6334..76ae0dff 100644 Binary files a/config/sonarr/MediaCover/173/clearlogo.png and b/config/sonarr/MediaCover/173/clearlogo.png differ diff --git a/config/sonarr/MediaCover/174/clearlogo.png b/config/sonarr/MediaCover/174/clearlogo.png index e1eefb12..9a2ac3dd 100644 Binary files a/config/sonarr/MediaCover/174/clearlogo.png and b/config/sonarr/MediaCover/174/clearlogo.png differ diff --git a/config/sonarr/MediaCover/175/clearlogo.png b/config/sonarr/MediaCover/175/clearlogo.png index 0b498d9e..10b8f5e9 100644 Binary files a/config/sonarr/MediaCover/175/clearlogo.png and b/config/sonarr/MediaCover/175/clearlogo.png differ diff --git a/config/sonarr/MediaCover/176/clearlogo.png b/config/sonarr/MediaCover/176/clearlogo.png index 30990aa2..b3687b74 100644 Binary files a/config/sonarr/MediaCover/176/clearlogo.png and b/config/sonarr/MediaCover/176/clearlogo.png differ diff --git a/config/sonarr/MediaCover/177/clearlogo.png b/config/sonarr/MediaCover/177/clearlogo.png index 225d7c9c..5d09378c 100644 Binary files a/config/sonarr/MediaCover/177/clearlogo.png and b/config/sonarr/MediaCover/177/clearlogo.png differ diff --git a/config/sonarr/MediaCover/54/clearlogo.png b/config/sonarr/MediaCover/54/clearlogo.png index ad204386..46fd5a1d 100644 Binary files a/config/sonarr/MediaCover/54/clearlogo.png and b/config/sonarr/MediaCover/54/clearlogo.png differ diff --git a/config/sonarr/asp/key-06ba8a8e-23ed-416b-9695-757de274a85a.xml b/config/sonarr/asp/key-06ba8a8e-23ed-416b-9695-757de274a85a.xml new file mode 100644 index 00000000..a96bd140 --- /dev/null +++ b/config/sonarr/asp/key-06ba8a8e-23ed-416b-9695-757de274a85a.xml @@ -0,0 +1,16 @@ + + + 2026-02-15T12:53:23.3647959Z + 2026-02-15T12:53:23.2843967Z + 2026-05-16T12:53:23.2843967Z + + + + + + + nhxAcXx9IojsS9cdgCGwb/CAZ3NevAFYKsLVmEqWLFMkRVvkZBzPaHR8LOH8uLXSNZeCioiWXPX3JCpYeq27vw== + + + + \ No newline at end of file diff --git a/config/sonarr/sonarr.pid b/config/sonarr/sonarr.pid index 2d73b5e3..d7019ae2 100644 --- a/config/sonarr/sonarr.pid +++ b/config/sonarr/sonarr.pid @@ -1 +1 @@ -152 \ No newline at end of file +149 \ No newline at end of file diff --git a/config/traefik/configs/jitsi.yml b/config/traefik/configs/jitsi.yml new file mode 100644 index 00000000..33900b8f --- /dev/null +++ b/config/traefik/configs/jitsi.yml @@ -0,0 +1,17 @@ +http: + routers: + jitsi-rtr: + rule: "Host(`jitsi.athaliapps.xyz`)" + entryPoints: + - websecure + middlewares: + - secured-no-oauth@docker + service: jitsi-svc + tls: + certResolver: myresolver + + services: + jitsi-svc: + loadBalancer: + servers: + - url: "http://192.168.14.245:8111" \ No newline at end of file diff --git a/config/traefik/letsencrypt/acme.json b/config/traefik/letsencrypt/acme.json index 50fb12f9..e4aa8f97 100644 --- a/config/traefik/letsencrypt/acme.json +++ b/config/traefik/letsencrypt/acme.json @@ -19,7 +19,7 @@ "domain": { "main": "traefik.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDakNDQlBLZ0F3SUJBZ0lTQld1OElzcVoydUFYczNINDZNaFhoV2JzTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXdPRFF4V2hjTk1qWXdNakU1TWpBd09EUXdXakFoTVI4d0hRWURWUVFECkV4WjBjbUZsWm1sckxtRjBhR0ZzYVdGd2NITXVlSGw2TUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEEKTUlJQ0NnS0NBZ0VBMVRmSkJrSmVZQlIvMG5uSHlsQzN3cG10Z05ka3dYREFwL1I4ZEFUdlpLNFprNUszQkI0bgovenZjbmF4eG9LNU9HUmVlK3R6aTFMWVh3VXliOVdHMnVmSjFNVWN6dlFGRjQzczI1cXllWG56RmUrdnB2ajRCCkc1Wng1bS9ZaU10aXphNFQ0UTR6Q0RmRlh4UUkvT1NGUUtGY3I3NFFvbWNSVXZTS3Q4emJ3WUZJd2I4OVNTSUUKbEZuRkFneE15UXMvOWs3aHllQkQ1UXBiTWdzZXhmMnBqeGF1QmdpMWROQmxDbDh2MUp6UnJGcitVR1BXdEFrYgoyUmNtVzQ1STdkZnB2clBXR0E0VjZkeXVCVDVaM0lZSjgvUThVQ1owRWdjRVlaRW1LTGVTbWxCWVhoY0gvQ3pjCmJqQVRvTlowMzhjazgzSWNvS0laNFJMNjluZ0RUQVh5WExLdDhqNGJ4eE1qZnlvTUVhMVhDREVtN0pvS0NhTHoKN09uWFlhUWFDNXBVNU9yU2RZYW1vcmwxQmloZW92Y2pudTNIUjZnT2FaWHMwTWg5SlNuU1R5R2FWZ3BWMlJjSAppenpNeVJRQ0hYRzZoNUVEY3U0R1ZPOU00dEF1Z3FudUY2N0pMRWFmcDlibGYydDkyYmtPNTQzdDc0V21hZmRVCjlzZEhTZ0RsMWVyMlhGTisyMjREUEcyR0srT3U4QVB5ME04SHhwTEQwcFRTNkM2b3dmRk9GZXEvUEc2cDM4bjUKaFJ4U0oxWW5yV1puNS9pa0VlSVljQlZoWEhGOURRcEZrdG10cnVzbWt6U3d0bjUyT3dqa3p5ZjFuZ0owZzU0VApPbUVjUUg3dFNVSnRUcFZ3cGlYeXQyMGVvQ0pLYjNGSU5IZ0cyTCt5a29OTUg3eTZTbU8zL1VzQ0F3RUFBYU9DCkFpZ3dnZ0lrTUE0R0ExVWREd0VCL3dRRUF3SUZvREFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQVFZSUt3WUIKQlFVSEF3SXdEQVlEVlIwVEFRSC9CQUl3QURBZEJnTlZIUTRFRmdRVUJvWjZpc29CU09OMmF2QVNzY0hXTEpWRQo5akl3SHdZRFZSMGpCQmd3Rm9BVTU2dWZEeXd6b0ZQVFhrOTR5TEtFRGp2V2tqTXdNd1lJS3dZQkJRVUhBUUVFCkp6QWxNQ01HQ0NzR0FRVUZCekFDaGhkb2RIUndPaTh2Y2pFekxta3ViR1Z1WTNJdWIzSm5MekFoQmdOVkhSRUUKR2pBWWdoWjBjbUZsWm1sckxtRjBhR0ZzYVdGd2NITXVlSGw2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQgpNQzhHQTFVZEh3UW9NQ1l3SktBaW9DQ0dIbWgwZEhBNkx5OXlNVE11WXk1c1pXNWpjaTV2Y21jdk1UQTVMbU55CmJEQ0NBUVVHQ2lzR0FRUUIxbmtDQkFJRWdmWUVnZk1BOFFCMkFNczQ5eFdKZklTaFJGOWJ3ZDM3eVc3eW1sbk4KUndwcEJZV3d5eFRERkZqbkFBQUJtcWcrRStZQUFBUURBRWN3UlFJZ1hVTHhIVklTV1lFVW9zSlhiRmZKVjFMSQpTaEJ2WEIwS1d6TWhjSTJHZ0NzQ0lRQzlnZHZUYkQrQkVxSldHLzBOMjRHeHZrQzNvTFVKcFVRZmRJZTFaS2lFCjR3QjNBSmFYWkw5VldKZXQ5ME9IYURjSVFuZnA4RHJWOXFUek5tNUdwRDhQeXFuR0FBQUJtcWcrRkNJQUFBUUQKQUVnd1JnSWhBSXlWekJwZmVkZXdrYmRTZkJ6TG5kcDVyNDNwcXlVNmJpakVRRlFNK24wcUFpRUFzNjNycmZYbQo3KzZsOTA4OFIwbjBScXFrRDh5cVdJQjEzZHF5a2VRNmp5UXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBQ1BQCkxjcndySFZKZE5hRitXM2NCM05ZdzcvbHJsTDhvZmsvdm5iQktiOEpnbVRiZ3RYMGpZcGlVUktLd3dlWVZjakwKcXR2TjdJK0NOaGpsb2FlNXRGTDdnaTZqd0FkRm9jdit6VnV5d0pVcDhVM28zTng1QkdjVlJQRjlVZzN0RHRueApBVDNRcVkzbFRiM29hcnBzTXVEcE9ySjBYSWVjRUZjN2hWM2R6R2JacHFFaWhOUGdtZUZrR2VBU1pZMUpkQThCCkt4Y3BQdXlLNE1Ya3hxL2VHajZsQ1ZVY3k2RDZMdTQ0SStkWSt2OFZDek9KNWR6MWp5U1JtR2pjQkJtdm52ZnoKQVpRVlBRclNRV0V5ZjdvNEMwTlIwYlBTZXg3UG1VYU92bDJ6emZhYkVPQlJNQisrRUtDQWllemEyTDBRUkJPRAp2ZFBWYmcyUWdqdzFseUlZZlhJPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJUQ0NBdTJnQXdJQkFnSVFXZ0R5RXRqVXRJRHpra0ZYNmltREJUQU5CZ2txaGtpRzl3MEJBUXNGQURCUApNUXN3Q1FZRFZRUUdFd0pWVXpFcE1DY0dBMVVFQ2hNZ1NXNTBaWEp1WlhRZ1UyVmpkWEpwZEhrZ1VtVnpaV0Z5ClkyZ2dSM0p2ZFhBeEZUQVRCZ05WQkFNVERFbFRVa2NnVW05dmRDQllNVEFlRncweU5EQXpNVE13TURBd01EQmEKRncweU56QXpNVEl5TXpVNU5UbGFNRE14Q3pBSkJnTlZCQVlUQWxWVE1SWXdGQVlEVlFRS0V3MU1aWFFuY3lCRgpibU55ZVhCME1Rd3dDZ1lEVlFRREV3TlNNVE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUNsWjNDTjBGYUJaQlVYWWMyNUJ0U3RHWkNNSmxBM21CWmprbFRiMmN5RUJaUHMwK3dJRzZCZ1VVTkkKZlN2SFNKYWV0QzNhbmNnbk8xZWhuNnZ3MWc3VURqREtiNXV4MGRha25USStXRTQxYjBWWWFIRVgvRDdZWFlLZwpMN0pSYkxBYVhiaFp6alZseUl1aHJ4QTMvK09jWGNKSkZ6VC9qQ3VMamZDOGNTeVREQjBGeExySHphckpYbnpSCnlRSDNuQVAyL0FwZDlOcDc1dHQyUW5EcjlFMGkyZ0IzYjliSlh4ZjkyblV1cFZjTTl1cGN0dUJ6cFdqUG9YVGkKZFlKK0VKL0I5YUxyQWVrNHNRcEV6TlBDaWZWSk5ZSUtOTE1jNllqQ1IwNkNEZ28yOEVkUGl2RXBCSFhhemVHYQpYUDllblppVnVwcEQwRXFpRndVQkJERFRNck9QQWdNQkFBR2pnZmd3Z2ZVd0RnWURWUjBQQVFIL0JBUURBZ0dHCk1CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0RBVEFTQmdOVkhSTUJBZjhFQ0RBR0FRSC8KQWdFQU1CMEdBMVVkRGdRV0JCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekFmQmdOVkhTTUVHREFXZ0JSNQp0Rm5tZTdibDVBRnpnQWlJeUJwWTl1bWJiakF5QmdnckJnRUZCUWNCQVFRbU1DUXdJZ1lJS3dZQkJRVUhNQUtHCkZtaDBkSEE2THk5NE1TNXBMbXhsYm1OeUxtOXlaeTh3RXdZRFZSMGdCQXd3Q2pBSUJnWm5nUXdCQWdFd0p3WUQKVlIwZkJDQXdIakFjb0JxZ0dJWVdhSFIwY0RvdkwzZ3hMbU11YkdWdVkzSXViM0puTHpBTkJna3Foa2lHOXcwQgpBUXNGQUFPQ0FnRUFVVGRZVXFFaW16VzdUYnJPeXBMcUNmTDdWT3dZZi9RNzlPSDVjSExDWmVnZ2ZRaERjb25sCms3S2doOGIwdmkrL1h1V3U3Q044bi9VUGVnMXZvM0crdGFYaXJyeXR0aFFpbkFIR3djL1VkYk95Z0phOXp1QmMKVnlxb0gzQ1hUWERJblQrOGErYzNhRVZNSjJTdCtwU240ZWQrV2tEcDhpanNpanZFeUZ3RTQ3aHVsVzBMdHpqZwo5Zk9WNVBtcmcvenhXYlJ1TCtrMERCREhFSmVubkNzQWVuN2MzNVBteDdqcG1KL0h0Z1JoY256MHlqU0J2eUl3CjZMMVFJdXBrQ3YyU0JPRFQveEREM2dmUVF5S3Y2cm9WNEcyRWhmRXlBc1dwbW9qeGpDVUNHaXlnOTdGdkR0bS8KTksyTFNjOWx5Ykt4QjczSTIrUDJHM0NhV3B2dnBBaUhDVnUzMGpXOEdDeEtkZmhzWHRuSXkyaW1za1FxVloybQowUG14b2JiMjhUdWNyN3hCSzdDdHd2UHJiNzlvczd1MlhQM081ZjliL0g2NkdOeVJyZ2xSWGxyWWpJMW9HWUwvCmY0STFuL1NndXNkYTZXdkE2QzE5MGt4alUxNVkxMm1IVTQrQnh5UjljeDJoaEdTOWZBak1aS0pzczI4cXh2ejYKQXh1NENhRG1STlpwSy9wUXJYRjE3eVhDWGttRVdndlNPRVp5Nlo5cGNiTElWRUdja1YvaVZlcTBBT28ycGtnOQpwNFFSSXkwdEsyZGlSRU5MU0YyS3lzRndiWTZCMjZCRmVGczN2MXNZVlJoRlc5bkxrT3JRVnBvckNTMEt5Wm1mCndWRDg5cVNUbG5jdExjWm5JYXZqS3NLVXUxbkExaVUweVlNZFllcEtSN2xXYm53aGR4M2V3b2s9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdFakNDQlBxZ0F3SUJBZ0lTQlc1WXM2c0R2N0c5eVFKVDlZcVBuN0JaTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRJeE1UWXdORFEwV2hjTk1qWXdOREl4TVRZd05EUXpXakFoTVI4d0hRWURWUVFECkV4WjBjbUZsWm1sckxtRjBhR0ZzYVdGd2NITXVlSGw2TUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEEKTUlJQ0NnS0NBZ0VBMVRmSkJrSmVZQlIvMG5uSHlsQzN3cG10Z05ka3dYREFwL1I4ZEFUdlpLNFprNUszQkI0bgovenZjbmF4eG9LNU9HUmVlK3R6aTFMWVh3VXliOVdHMnVmSjFNVWN6dlFGRjQzczI1cXllWG56RmUrdnB2ajRCCkc1Wng1bS9ZaU10aXphNFQ0UTR6Q0RmRlh4UUkvT1NGUUtGY3I3NFFvbWNSVXZTS3Q4emJ3WUZJd2I4OVNTSUUKbEZuRkFneE15UXMvOWs3aHllQkQ1UXBiTWdzZXhmMnBqeGF1QmdpMWROQmxDbDh2MUp6UnJGcitVR1BXdEFrYgoyUmNtVzQ1STdkZnB2clBXR0E0VjZkeXVCVDVaM0lZSjgvUThVQ1owRWdjRVlaRW1LTGVTbWxCWVhoY0gvQ3pjCmJqQVRvTlowMzhjazgzSWNvS0laNFJMNjluZ0RUQVh5WExLdDhqNGJ4eE1qZnlvTUVhMVhDREVtN0pvS0NhTHoKN09uWFlhUWFDNXBVNU9yU2RZYW1vcmwxQmloZW92Y2pudTNIUjZnT2FaWHMwTWg5SlNuU1R5R2FWZ3BWMlJjSAppenpNeVJRQ0hYRzZoNUVEY3U0R1ZPOU00dEF1Z3FudUY2N0pMRWFmcDlibGYydDkyYmtPNTQzdDc0V21hZmRVCjlzZEhTZ0RsMWVyMlhGTisyMjREUEcyR0srT3U4QVB5ME04SHhwTEQwcFRTNkM2b3dmRk9GZXEvUEc2cDM4bjUKaFJ4U0oxWW5yV1puNS9pa0VlSVljQlZoWEhGOURRcEZrdG10cnVzbWt6U3d0bjUyT3dqa3p5ZjFuZ0owZzU0VApPbUVjUUg3dFNVSnRUcFZ3cGlYeXQyMGVvQ0pLYjNGSU5IZ0cyTCt5a29OTUg3eTZTbU8zL1VzQ0F3RUFBYU9DCkFqQXdnZ0lzTUE0R0ExVWREd0VCL3dRRUF3SUZvREFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQVFZSUt3WUIKQlFVSEF3SXdEQVlEVlIwVEFRSC9CQUl3QURBZEJnTlZIUTRFRmdRVUJvWjZpc29CU09OMmF2QVNzY0hXTEpWRQo5akl3SHdZRFZSMGpCQmd3Rm9BVTU2dWZEeXd6b0ZQVFhrOTR5TEtFRGp2V2tqTXdNd1lJS3dZQkJRVUhBUUVFCkp6QWxNQ01HQ0NzR0FRVUZCekFDaGhkb2RIUndPaTh2Y2pFekxta3ViR1Z1WTNJdWIzSm5MekFoQmdOVkhSRUUKR2pBWWdoWjBjbUZsWm1sckxtRjBhR0ZzYVdGd2NITXVlSGw2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQgpNQzRHQTFVZEh3UW5NQ1V3STZBaG9CK0dIV2gwZEhBNkx5OXlNVE11WXk1c1pXNWpjaTV2Y21jdk9UQXVZM0pzCk1JSUJEZ1lLS3dZQkJBSFdlUUlFQWdTQi93U0IvQUQ2QUhjQXl6ajNGWWw4aEtGRVgxdkIzZnZKYnZLYVdjMUgKQ21rRmhiRExGTU1VV09jQUFBR2I0WUtuTVFBQUJBTUFTREJHQWlFQWs2bis2b0k1WXMzSlEvZ2xTTElScDN5RQpXUldXOGFkWjNzQTRMdW1UajJnQ0lRQ2JoYUlVb1luZGYrUVBlWGgyS2F6bEV5bGV6d2M0dmRvT3RXM0xaMDlZCll3Qi9BSEYrbGZQQ09JcHRzZU9FU1QweDRWcXBZZ2gyTFVJQTRBVU0wR2UxcG1IaUFBQUJtK0dDcDNrQUNBQUEKQlFBSGUzdm9CQU1BU0RCR0FpRUFqM3pUVEh1cTc4c1EzSVV1dFRmTk05ODk3c25FZWpGbG92WC82ajQ2VVZrQwpJUUMxaityZG1UUVJ2NFFnMWhIdFBKSEFSZmNCdUg4b21qN2x3YStGb2pNMTRUQU5CZ2txaGtpRzl3MEJBUXNGCkFBT0NBUUVBaDFGM09FekRZT1hTSi9yeTNYdGZuUWFDUFlTdVFkblpQOWprd05YTHlPVlJ3OGdpblo4aXBxOGYKYVVxS29Ob0ZaWDF5RmRGcVQrVHB0U2dEeHpCbEZWWjY0cDhReXFLOXJYcHh6Ui85bWlENDVpVkRpY0VraU5abgorUW5DREljcmpXcnp3VFFraC9ZcERyVWxvdCs2UmpzZkNWYWp3YzAvL3N1SVBsUVhhL0VxbEJMMmJwMVJFUnFtClB6Z2NGb05mck0wci9hVlZuc1V0RTJVNkpyM1pGN0xrTFRLQXYxY0oxb25Ra1JjQW9rZkN5cUFKZUdnUnNiLzMKeXo1Vzc5MlE4V1E5cTRlaEJqUW1rYUxLU29CelBaTjFSMjZsOU5mYnE2dXN1RndwaGs1UE83WmE4dVZuSm5ZcQpSVU9KTVNHZ2dQWEgwZDN4VUt5SHd0b0ZYSXVKM1E9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJUQ0NBdTJnQXdJQkFnSVFXZ0R5RXRqVXRJRHpra0ZYNmltREJUQU5CZ2txaGtpRzl3MEJBUXNGQURCUApNUXN3Q1FZRFZRUUdFd0pWVXpFcE1DY0dBMVVFQ2hNZ1NXNTBaWEp1WlhRZ1UyVmpkWEpwZEhrZ1VtVnpaV0Z5ClkyZ2dSM0p2ZFhBeEZUQVRCZ05WQkFNVERFbFRVa2NnVW05dmRDQllNVEFlRncweU5EQXpNVE13TURBd01EQmEKRncweU56QXpNVEl5TXpVNU5UbGFNRE14Q3pBSkJnTlZCQVlUQWxWVE1SWXdGQVlEVlFRS0V3MU1aWFFuY3lCRgpibU55ZVhCME1Rd3dDZ1lEVlFRREV3TlNNVE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUNsWjNDTjBGYUJaQlVYWWMyNUJ0U3RHWkNNSmxBM21CWmprbFRiMmN5RUJaUHMwK3dJRzZCZ1VVTkkKZlN2SFNKYWV0QzNhbmNnbk8xZWhuNnZ3MWc3VURqREtiNXV4MGRha25USStXRTQxYjBWWWFIRVgvRDdZWFlLZwpMN0pSYkxBYVhiaFp6alZseUl1aHJ4QTMvK09jWGNKSkZ6VC9qQ3VMamZDOGNTeVREQjBGeExySHphckpYbnpSCnlRSDNuQVAyL0FwZDlOcDc1dHQyUW5EcjlFMGkyZ0IzYjliSlh4ZjkyblV1cFZjTTl1cGN0dUJ6cFdqUG9YVGkKZFlKK0VKL0I5YUxyQWVrNHNRcEV6TlBDaWZWSk5ZSUtOTE1jNllqQ1IwNkNEZ28yOEVkUGl2RXBCSFhhemVHYQpYUDllblppVnVwcEQwRXFpRndVQkJERFRNck9QQWdNQkFBR2pnZmd3Z2ZVd0RnWURWUjBQQVFIL0JBUURBZ0dHCk1CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0RBVEFTQmdOVkhSTUJBZjhFQ0RBR0FRSC8KQWdFQU1CMEdBMVVkRGdRV0JCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekFmQmdOVkhTTUVHREFXZ0JSNQp0Rm5tZTdibDVBRnpnQWlJeUJwWTl1bWJiakF5QmdnckJnRUZCUWNCQVFRbU1DUXdJZ1lJS3dZQkJRVUhNQUtHCkZtaDBkSEE2THk5NE1TNXBMbXhsYm1OeUxtOXlaeTh3RXdZRFZSMGdCQXd3Q2pBSUJnWm5nUXdCQWdFd0p3WUQKVlIwZkJDQXdIakFjb0JxZ0dJWVdhSFIwY0RvdkwzZ3hMbU11YkdWdVkzSXViM0puTHpBTkJna3Foa2lHOXcwQgpBUXNGQUFPQ0FnRUFVVGRZVXFFaW16VzdUYnJPeXBMcUNmTDdWT3dZZi9RNzlPSDVjSExDWmVnZ2ZRaERjb25sCms3S2doOGIwdmkrL1h1V3U3Q044bi9VUGVnMXZvM0crdGFYaXJyeXR0aFFpbkFIR3djL1VkYk95Z0phOXp1QmMKVnlxb0gzQ1hUWERJblQrOGErYzNhRVZNSjJTdCtwU240ZWQrV2tEcDhpanNpanZFeUZ3RTQ3aHVsVzBMdHpqZwo5Zk9WNVBtcmcvenhXYlJ1TCtrMERCREhFSmVubkNzQWVuN2MzNVBteDdqcG1KL0h0Z1JoY256MHlqU0J2eUl3CjZMMVFJdXBrQ3YyU0JPRFQveEREM2dmUVF5S3Y2cm9WNEcyRWhmRXlBc1dwbW9qeGpDVUNHaXlnOTdGdkR0bS8KTksyTFNjOWx5Ykt4QjczSTIrUDJHM0NhV3B2dnBBaUhDVnUzMGpXOEdDeEtkZmhzWHRuSXkyaW1za1FxVloybQowUG14b2JiMjhUdWNyN3hCSzdDdHd2UHJiNzlvczd1MlhQM081ZjliL0g2NkdOeVJyZ2xSWGxyWWpJMW9HWUwvCmY0STFuL1NndXNkYTZXdkE2QzE5MGt4alUxNVkxMm1IVTQrQnh5UjljeDJoaEdTOWZBak1aS0pzczI4cXh2ejYKQXh1NENhRG1STlpwSy9wUXJYRjE3eVhDWGttRVdndlNPRVp5Nlo5cGNiTElWRUdja1YvaVZlcTBBT28ycGtnOQpwNFFSSXkwdEsyZGlSRU5MU0YyS3lzRndiWTZCMjZCRmVGczN2MXNZVlJoRlc5bkxrT3JRVnBvckNTMEt5Wm1mCndWRDg5cVNUbG5jdExjWm5JYXZqS3NLVXUxbkExaVUweVlNZFllcEtSN2xXYm53aGR4M2V3b2s9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBMVRmSkJrSmVZQlIvMG5uSHlsQzN3cG10Z05ka3dYREFwL1I4ZEFUdlpLNFprNUszCkJCNG4venZjbmF4eG9LNU9HUmVlK3R6aTFMWVh3VXliOVdHMnVmSjFNVWN6dlFGRjQzczI1cXllWG56RmUrdnAKdmo0Qkc1Wng1bS9ZaU10aXphNFQ0UTR6Q0RmRlh4UUkvT1NGUUtGY3I3NFFvbWNSVXZTS3Q4emJ3WUZJd2I4OQpTU0lFbEZuRkFneE15UXMvOWs3aHllQkQ1UXBiTWdzZXhmMnBqeGF1QmdpMWROQmxDbDh2MUp6UnJGcitVR1BXCnRBa2IyUmNtVzQ1STdkZnB2clBXR0E0VjZkeXVCVDVaM0lZSjgvUThVQ1owRWdjRVlaRW1LTGVTbWxCWVhoY0gKL0N6Y2JqQVRvTlowMzhjazgzSWNvS0laNFJMNjluZ0RUQVh5WExLdDhqNGJ4eE1qZnlvTUVhMVhDREVtN0pvSwpDYUx6N09uWFlhUWFDNXBVNU9yU2RZYW1vcmwxQmloZW92Y2pudTNIUjZnT2FaWHMwTWg5SlNuU1R5R2FWZ3BWCjJSY0hpenpNeVJRQ0hYRzZoNUVEY3U0R1ZPOU00dEF1Z3FudUY2N0pMRWFmcDlibGYydDkyYmtPNTQzdDc0V20KYWZkVTlzZEhTZ0RsMWVyMlhGTisyMjREUEcyR0srT3U4QVB5ME04SHhwTEQwcFRTNkM2b3dmRk9GZXEvUEc2cAozOG41aFJ4U0oxWW5yV1puNS9pa0VlSVljQlZoWEhGOURRcEZrdG10cnVzbWt6U3d0bjUyT3dqa3p5ZjFuZ0owCmc1NFRPbUVjUUg3dFNVSnRUcFZ3cGlYeXQyMGVvQ0pLYjNGSU5IZ0cyTCt5a29OTUg3eTZTbU8zL1VzQ0F3RUEKQVFLQ0FnQmFqRzVhc2lUU09PSnZ5RGdJdTI3T3ZlVHBLcEFuZG5MYTRRRlpaQjhtYXFtQituU3Uwdis1YlBxcwpHMmZHRFVBdGQ5S1VSdW90MjRjTEdEWERaOVBwOUFYQS83UUJPR0V0MGszbWVMaG8rQ1FHRkpJWHNNMVhvZlNOCklFS2RGWUxJUm4wNnZvVDlvSEc1aHhDcUZZSmhpQ1dNblBNRGhUSGVRT3dJVW4raEZmNklDV2RGZjZUaU81MW0KMlVKaXZ0eFRCZnp0ZHNoZXBKOUdDV0x3UW1HWDJ0SGN6aVlCamQ3YklNRjNVWUhaNkdySVNSNE5KekVrYUtocAppV3QvVm9wMTZubXBqWkhRMTE4djZ1TE92RDNOMUpNb2xxd0VXK2FJYU5RRHhySUR4c3RBYWhlQ0NLczBRRWFWCnIzM0M2eGZPSzAvdEIrcGxvMkhnK2Vhc2lubjZEVXRtL3BiUDRUS0c4RHNNeXJucjJYOVdVSmdMR1FGdXhHQXYKeW5aaXY2cDU0dk93czZkdEFhV081eXNad3REd2o0a3NBelh5bSthTjkwTU15UmNFSytVUjdpUU84Z2I1bDI5dQpXUE9oNlFncEFLSE8wdXYwc0Q2VVRLT2Y5SkhSOXZwZ0xjNUVXSy92cDkxWmJmKy9kQUY0VkhEYytVdUlMM1JWCmNzWHNIZXE3UGI2TSsrR2VjOHc3eUo2cy9mLy95VjUvSW9MWUt5Q3VaYTlHVnpaUFA0RERvWVJBbWNRaWtKNHIKK3dDc2FXSVFPZlQwbnNzdmlnOUR4NHI0NURpZjNVRDB3Z0NSVjVEUXIrU3Z4cE5YTjUwR3BUM3hvV2tCQk9qNgppdlRONHJLRFN0Nm1hU2oybUFuRmU5RitwL2FsdlZic0FRcDZiMG9iNTNJV2tNMG53UUtDQVFFQTNURTh5WFZQCk1DUExYUXJ6ME9KbUxEV0tYcTk3b1JqT0x6QURlRnhLYzgrM2x5dzg5UFFjUSs1VnFVSG52QkNPWnhyYTI5OWkKQThBVU9vUndYUkhaa3MrTFdwRGZGZmp6dnl2UkIzZjVHY2tTdCtJWWJSWXc3eGt5MmZWQ0E5RFZHVzdaSUxabwpoL0NsVThlWUpUclNYbjVPcFZUMW45SW5HZUZoUktQWU9RUzdJdFdkRjdnRGZDbTZvUUREbHZmRTZZaTM5NmZvCnA1N1hFdzBVVlEvMHNSNnA0QVE1ckRCS0hjTittcUwxdHcrT1V2RWIxTUNBdDg3K05HczliaEZkZ1EzOUVEeUYKWG84L01KL3JraTZPS24zWTZKaWhsaUhhRmx3dmUxUHdINkpjdVhsZDdNcUdSeE1yMmZUZ0hFMXNBbWlLWUd1VwpJbFNzY050c3Vidkoxd0tDQVFFQTlzVk1FSVdwN0lyc052S1RCeVY0SGt6WnpweHp6VE9TRGxRdDRBb3BKS0h2CksrK2Y0enBJUlRzdjA5enMySVVwc0FNVElhdXptQi9YbElMY1Jzc1VudEoyNndYNmRwY2hqTFJFdUdvYlArK0cKUjhaN1dqVUU2Tmg1ZXRMSDVTam1YL2JZczdqMHh1N2pjSTVKdHVyWUFJM253ZGZoVE9rQm5SZ29zRHVHbWF2dgpRanMxdEpGNVdsZGVjNm80MFlaSjE0ZjB4TDFWVGdoWC9BL1VzcEhQTXR0OEY4ODBYNGJrSHdCTi9mN3lVQkZBCnZSL3o0am1QWFA1N3djRHdFWHZFdFVKTU5Ub1ZSR254dmU0bm4rUDRWYzI3ZzZHS2VMazFmQzQ2TDJOQmhSa0oKU0h3cDZJT28zSFQvTzJTTVlBckZvR2JQcVFYVTY5b2lhYkRTQXRkQnJRS0NBUUVBdzVKM1pzRDhaVm9ndzRHZApsb0czU1R1RnZyWjJIemhwaGJ0ME5nV1VKdFh3UkEvdlRiNVJCNWRCMGtmZGQ2RkQ1OUlNMVArc0VCalRTZkl6CnozYXE0MjN5anY4czRLYWdEZFhXR2o1djErYTdVQzd1M2ZVVEN6VkNpd2laZC9vN2tTTTdnL3NFYmIzTzBFYlkKTllMTzRwSFhROFBjOFpURTBkTS9SNHQrOE50SUEwTFFoVnBFYXBJUzI2eHJRNTZMVXRsNW45V3NsaGlSbmR5ZwpyNTFPQXhWVHFpalNQWGJzOFdnYkZ1c2pTdHJNUW5YQTM5bmRkYWZsaDcrU0x6SFhkUFpEWFFuRitwZTVqV3E0CnhTVzR1Y1ZQOWtpT0JzcWpvOFdhamZibmgzRHRmMmphTFRYY2lCZGhYSE54ZkZUUVBVamxvTjgvZmRkVUtPMDYKTXZiaFBRS0NBUUJ5YVIwUUYvaWxpKzlpdG1yR2lHKzlsS0h6TWdSYW9rdFlTMTBObjRoZHpKcG9BMnhjM0p1LwpSV2F5VXA2WThIeFlkOFI1K3ZLRVdGY0tLdlhYK0xYeHdPQ1RyS3pvS0wvTVRaUUM4R2I3NktDWVRJVEtXUVNTCnRETDJhQjEzdU5PK3NHTGVTS1ZzU2p1MjVyRjBsa05aVm5HYUpPMzNTNXlNNmpPTEtiNEpKM2NCZlJRMFNMSTcKMllBWUhsYkRoZ0JjWmxOc2w5K2lFeW8vMmxNaUM0cEdLUTdLdHkyd0VJbFplam11eG5Jdi94L0Z6N2V5TGoreQp2T1pCK2FNVWFBN1dmd3Q0TGhySUlscUxWWXlYakFtS05wMTJ0UUhQWVFkVU1OYVhPK3lYdWZqYzIzeE9xaVF6Ck9pZFBzUm1JT2RaUXZQb1FnbnlxY1BNOWoxWi9MSy90QW9JQkFCMDJHUFFtVTNQMG55TkNRdCtvUEcvZHJqbE4KV3hUcDZyeTZ2K0ZBV3JKWFFiMzU1bGkyMWYzbG1WeFdzMDR5SHFTRGY2QXI1QWtic2pRd1RrdVNsRnZkSEVJNApUOVJnWk4vM05ncHlTL0NLbVIvVmQydzZJUllZYm5VUGFMZTRrYm1kKzhyNzZmc0llZWE2YTdYL1U2cFFVK0R4CnNYNm9iNDB4L2U5RHc5bDNjT0JhZEpXVmVEK3FoRjcxQkw1RG42d3dLL1JMNm9PQldkK1RkT01HQ1ptRFhaeHUKTjNJTW0wajJVUkFkK3lzZlVjSHNTVFFOdit5NmJ3eUl1OE9jcWl5bEdBd0I3b1ZqMStnaGJEbUtWaUY0UEY4RwpQWUM4dFBhTlJFM2pBclNaYVVZeHlhRzhQcWd2eVBHWmd4ekpNcWI1bmw2NnZzakdJaG1ERDlhUXN1ST0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -27,7 +27,7 @@ "domain": { "main": "jellyfin.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDRENDQlBDZ0F3SUJBZ0lTQlkyTk5Qa0FMQ083WG1JWTdRMzQ5QTJHTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05NalV4TVRJeE1qQXdPRFEzV2hjTk1qWXdNakU1TWpBd09EUTJXakFpTVNBd0hnWURWUVFECkV4ZHFaV3hzZVdacGJpNWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVAKQURDQ0Fnb0NnZ0lCQU5PdVhVb2l5ZWVuSkpLS0RyWHA5VnU1UHVtZVZuZGpZZGFWSzJWMDVWYzJKWDBYZUE1bApDNmlMZFdWRGM1bUR1UmhsSTlLTlhXNUVqczFVejQ1aXdtRktzK0Zla0w0N2NyNWpmTXdnTXRMNld5cTFRd0JXCm1VMjlkc2dNRmF4MENGVnBTaStxZzBHVFZnd0pFcmNXOEs5WFlwc2E2MFJITlRIT1dqRTBhMTRIU3NKQjZyWEcKZHdOU09oWmgvTk1YREZmOHgyR3JuakNNTTRFWlpidVBmZFFFdncvaXlwZ0dYMHpLNmVjMW9iNy9tdlpCTmgxcQplc2VLTXBOMFJMRmQwTzFWVkdielV4MHE0RTVYT3pWbURZYTMxVUd4V0VPZGNYa0hFNS93a3ZhWjJtK2MyN3piCk1qWjdDQTU5MHJUY1l0YWQ3N0ExNW1yWTErZVNFbTIyVkZwOWMvRnp5Vm0yUVFsSWl2Q0MxMzJRUDRPb01oOTkKREVITEpLY1crSFRsREU2SjJWRytLSjNBNTFWWnk0d09JVTB4dk5YaUhydUcwV1RUZ3BIQUp2a3Y5WVAzMFpZdgpoZE13cCtSaVhoS2M2QzlVazJrT0ZtZ1lNMVZ1MWk1RG1zWHhkMnlpdTVKck9FTXd5ZHQrSEdHT3lUd0NIVlJJCjJDZzVjbUdSMHFoMzFveHE0L045S1NzeEFzaGNOOGxkc3pZbUt5cU1kcURlaTlWcEJCWEVHSnM1L1RCcTFPRlgKUUNZZEJRZDdXN2FpenhMc3lmU0NGanpXSEdjSUc4THRTNDUrT0ptcUF2NjNaNlcrTmx4QWdXVlNxUTFIUHVaNwo0Wm1FUmVXYXRjRmJ0ZDRDWXBESmM1M3VubUlnQ09pVjBhQnozVnpsS0dxUjliM0lkMGtpUFJuWEFnTUJBQUdqCmdnSWxNSUlDSVRBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0cKQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZNR0dQR3UxWUNRR3N0dTBjYnJORUhEdwpOZkVXTUI4R0ExVWRJd1FZTUJhQUZBQzFLZkl0am04eDZKdE1yWGcrK3R6cEROSFNNRE1HQ0NzR0FRVUZCd0VCCkJDY3dKVEFqQmdnckJnRUZCUWN3QW9ZWGFIUjBjRG92TDNJeE1pNXBMbXhsYm1OeUxtOXlaeTh3SWdZRFZSMFIKQkJzd0dZSVhhbVZzYkhsbWFXNHVZWFJvWVd4cFlYQndjeTU0ZVhvd0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QgpBZ0V3TFFZRFZSMGZCQ1l3SkRBaW9DQ2dIb1ljYUhSMGNEb3ZMM0l4TWk1akxteGxibU55TG05eVp5ODNMbU55CmJEQ0NBUU1HQ2lzR0FRUUIxbmtDQkFJRWdmUUVnZkVBN3dCMkFCbUcxTWNvcW0vK3VnTnZlQ3BOQVpHcXppMXkKTVErdXpsMXdRUzBsVE1mVUFBQUJtcWcrS0gwQUFBUURBRWN3UlFJZ0ZxYUtDNHlsZUd5ZHNEbU01Y05PYm43bwpzcTZMczArNEpoRTNVcFl3RHIwQ0lRQzNtaVVrcXZEUEJ0eDI2NkJKN0dqQmdENmoxTmI2RFY4MnlyTmo1VVVOCnRnQjFBTXM0OXhXSmZJU2hSRjlid2QzN3lXN3ltbG5OUndwcEJZV3d5eFRERkZqbkFBQUJtcWcrS0lrQUFBUUQKQUVZd1JBSWdHVHdsd2t5cUtYZ1BmMWptWWEvcWY4SWtiRTdBMmk3VXd0b1FMcDNKU2w0Q0lHdGhtcW5LdEdRWgo4QVdkdGpyYlh3TWl4TTRxMEtKOVF2bGQ0b3RUQ1IrWU1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ1U3dk0xCmFJQ1k3aGozZmsycTZtNXMrR1J6Y2g2SHZkenE1aFg3MDNVcnl3ZnVKQndBRUd3dzZBTENoVnJQK1hLS1FMR0gKVzRwVGorT1VnWFFCZjl0aFZZWDQwYm5sVHF5L0pnQ3BseUl3cGJ3ZjdFckNiZ0hQcmN3OXc2dzVXdEFEMW0zVQp1QlRXcnJYUzlLTnRvWVRMbGFaWUsrUENrVU1mSENPdmJtTXBZdGZzbmI1K3FkcHI5bGZRMnhDSXcyZHRKdmZFClhsRUJvZXkvUTlMbGVLT0huWFlxRXZyU2l1TmRCZFYwbDV4OUptbmIrOGdDNHRmcWNiTVlONGg4Z29ZSXNVMlQKMXBaMWFJNW9LaTF6ejI3Nk9lRTZBRDVqWWxnTzJXVmhucHFDQWQvYm1uaDJ2Vm4yaStLZlFmZ2tBaFJxM1Zpcwo0MFMwc3ZwbUZ2STZ6c01KCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdFakNDQlBxZ0F3SUJBZ0lTQlYxMlJJSndhR0Z3MitCdlR5OG51bHVyTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRJeE1UWXdORFV6V2hjTk1qWXdOREl4TVRZd05EVXlXakFpTVNBd0hnWURWUVFECkV4ZHFaV3hzZVdacGJpNWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVAKQURDQ0Fnb0NnZ0lCQU5PdVhVb2l5ZWVuSkpLS0RyWHA5VnU1UHVtZVZuZGpZZGFWSzJWMDVWYzJKWDBYZUE1bApDNmlMZFdWRGM1bUR1UmhsSTlLTlhXNUVqczFVejQ1aXdtRktzK0Zla0w0N2NyNWpmTXdnTXRMNld5cTFRd0JXCm1VMjlkc2dNRmF4MENGVnBTaStxZzBHVFZnd0pFcmNXOEs5WFlwc2E2MFJITlRIT1dqRTBhMTRIU3NKQjZyWEcKZHdOU09oWmgvTk1YREZmOHgyR3JuakNNTTRFWlpidVBmZFFFdncvaXlwZ0dYMHpLNmVjMW9iNy9tdlpCTmgxcQplc2VLTXBOMFJMRmQwTzFWVkdielV4MHE0RTVYT3pWbURZYTMxVUd4V0VPZGNYa0hFNS93a3ZhWjJtK2MyN3piCk1qWjdDQTU5MHJUY1l0YWQ3N0ExNW1yWTErZVNFbTIyVkZwOWMvRnp5Vm0yUVFsSWl2Q0MxMzJRUDRPb01oOTkKREVITEpLY1crSFRsREU2SjJWRytLSjNBNTFWWnk0d09JVTB4dk5YaUhydUcwV1RUZ3BIQUp2a3Y5WVAzMFpZdgpoZE13cCtSaVhoS2M2QzlVazJrT0ZtZ1lNMVZ1MWk1RG1zWHhkMnlpdTVKck9FTXd5ZHQrSEdHT3lUd0NIVlJJCjJDZzVjbUdSMHFoMzFveHE0L045S1NzeEFzaGNOOGxkc3pZbUt5cU1kcURlaTlWcEJCWEVHSnM1L1RCcTFPRlgKUUNZZEJRZDdXN2FpenhMc3lmU0NGanpXSEdjSUc4THRTNDUrT0ptcUF2NjNaNlcrTmx4QWdXVlNxUTFIUHVaNwo0Wm1FUmVXYXRjRmJ0ZDRDWXBESmM1M3VubUlnQ09pVjBhQnozVnpsS0dxUjliM0lkMGtpUFJuWEFnTUJBQUdqCmdnSXZNSUlDS3pBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0cKQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZNR0dQR3UxWUNRR3N0dTBjYnJORUhEdwpOZkVXTUI4R0ExVWRJd1FZTUJhQUZPZXJudzhzTTZCVDAxNVBlTWl5aEE0NzFwSXpNRE1HQ0NzR0FRVUZCd0VCCkJDY3dKVEFqQmdnckJnRUZCUWN3QW9ZWGFIUjBjRG92TDNJeE15NXBMbXhsYm1OeUxtOXlaeTh3SWdZRFZSMFIKQkJzd0dZSVhhbVZzYkhsbWFXNHVZWFJvWVd4cFlYQndjeTU0ZVhvd0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QgpBZ0V3TGdZRFZSMGZCQ2N3SlRBam9DR2dINFlkYUhSMGNEb3ZMM0l4TXk1akxteGxibU55TG05eVp5ODBOQzVqCmNtd3dnZ0VNQmdvckJnRUVBZFo1QWdRQ0JJSDlCSUg2QVBnQWRnQ1dsMlMvVlZpWHJmZERoMmczQ0VKMzZmQTYKMWZhazh6WnVScVEvRDhxcHhnQUFBWnZoZ3NwcUFBQUVBd0JITUVVQ0lRRFJtTmQyQTV5ZGVJckhsVUpwblk5MwozNzhocHd6dW15QXkrL3l1SHhKanhBSWdaRk95N2o3ay9GWVZFMFQwaVp0RTR4dkdUWHhLMGJTSU42ditTaHEvCi9jNEFmZ0FhaTUxcFNsZVl5Sm1neW9pOTlJL0F0Rlpnek1OZ0RSOXg5R24veDlHc293QUFBWnZoZ3NwZUFBZ0EKQUFVQU9vbFNJZ1FEQUVjd1JRSWdBZjgvemhPWWlHeVZZQWFNYktwUk5BL0w4YW5CblNldzFrRlNzbUs4R3NvQwpJUUNWR20zUzdTTk5GZnJzK090YmlkbGpnb0FIMmw1bTZXZ29tQkppampBNDREQU5CZ2txaGtpRzl3MEJBUXNGCkFBT0NBUUVBVVNqL2ZVeHBPN21aMEU0L09SbTI1MDNlcm44dFFnYjBwQW1lRVVhMTVyVStjZzZ0NkJPUzg4QWgKS0R1a2h0R3ZwSi9qdFBXWVJ1Vm5Ya3NmYWc1ZTFzcVZRMWVLWkVyVm55RzJjTVA5U3V5SXRKMG0rbnZWZVNuVgpIVFF0RnprQmdPNk52TE50TTA5dit3aHVtS1BQWGhYMW10c3FnN3d1R1ZWcjQyWnUvaDRqWVBKSnJMWUZocmpMCmY0ejVDS3pGVEhHQ29WRldEOVh0UE1WcHZaOElVTW0xMVJKekcvSS9GbzZuVEcyQmpVbEQxSVAwWGUrSlBIVW8KNUF5UWxkNmNiUktFUDVkaWRtVW1tQ1pWWDdFWDR3VnBpSUhnZlFYVXBxMTFnVnd5eEFIVFl0cXdnR0xuSDhiWgpjTUZzcUk3dTN4bUYvdngzTW5IWmY5VkF6VWIrNUE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJUQ0NBdTJnQXdJQkFnSVFXZ0R5RXRqVXRJRHpra0ZYNmltREJUQU5CZ2txaGtpRzl3MEJBUXNGQURCUApNUXN3Q1FZRFZRUUdFd0pWVXpFcE1DY0dBMVVFQ2hNZ1NXNTBaWEp1WlhRZ1UyVmpkWEpwZEhrZ1VtVnpaV0Z5ClkyZ2dSM0p2ZFhBeEZUQVRCZ05WQkFNVERFbFRVa2NnVW05dmRDQllNVEFlRncweU5EQXpNVE13TURBd01EQmEKRncweU56QXpNVEl5TXpVNU5UbGFNRE14Q3pBSkJnTlZCQVlUQWxWVE1SWXdGQVlEVlFRS0V3MU1aWFFuY3lCRgpibU55ZVhCME1Rd3dDZ1lEVlFRREV3TlNNVE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUNsWjNDTjBGYUJaQlVYWWMyNUJ0U3RHWkNNSmxBM21CWmprbFRiMmN5RUJaUHMwK3dJRzZCZ1VVTkkKZlN2SFNKYWV0QzNhbmNnbk8xZWhuNnZ3MWc3VURqREtiNXV4MGRha25USStXRTQxYjBWWWFIRVgvRDdZWFlLZwpMN0pSYkxBYVhiaFp6alZseUl1aHJ4QTMvK09jWGNKSkZ6VC9qQ3VMamZDOGNTeVREQjBGeExySHphckpYbnpSCnlRSDNuQVAyL0FwZDlOcDc1dHQyUW5EcjlFMGkyZ0IzYjliSlh4ZjkyblV1cFZjTTl1cGN0dUJ6cFdqUG9YVGkKZFlKK0VKL0I5YUxyQWVrNHNRcEV6TlBDaWZWSk5ZSUtOTE1jNllqQ1IwNkNEZ28yOEVkUGl2RXBCSFhhemVHYQpYUDllblppVnVwcEQwRXFpRndVQkJERFRNck9QQWdNQkFBR2pnZmd3Z2ZVd0RnWURWUjBQQVFIL0JBUURBZ0dHCk1CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0RBVEFTQmdOVkhSTUJBZjhFQ0RBR0FRSC8KQWdFQU1CMEdBMVVkRGdRV0JCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekFmQmdOVkhTTUVHREFXZ0JSNQp0Rm5tZTdibDVBRnpnQWlJeUJwWTl1bWJiakF5QmdnckJnRUZCUWNCQVFRbU1DUXdJZ1lJS3dZQkJRVUhNQUtHCkZtaDBkSEE2THk5NE1TNXBMbXhsYm1OeUxtOXlaeTh3RXdZRFZSMGdCQXd3Q2pBSUJnWm5nUXdCQWdFd0p3WUQKVlIwZkJDQXdIakFjb0JxZ0dJWVdhSFIwY0RvdkwzZ3hMbU11YkdWdVkzSXViM0puTHpBTkJna3Foa2lHOXcwQgpBUXNGQUFPQ0FnRUFVVGRZVXFFaW16VzdUYnJPeXBMcUNmTDdWT3dZZi9RNzlPSDVjSExDWmVnZ2ZRaERjb25sCms3S2doOGIwdmkrL1h1V3U3Q044bi9VUGVnMXZvM0crdGFYaXJyeXR0aFFpbkFIR3djL1VkYk95Z0phOXp1QmMKVnlxb0gzQ1hUWERJblQrOGErYzNhRVZNSjJTdCtwU240ZWQrV2tEcDhpanNpanZFeUZ3RTQ3aHVsVzBMdHpqZwo5Zk9WNVBtcmcvenhXYlJ1TCtrMERCREhFSmVubkNzQWVuN2MzNVBteDdqcG1KL0h0Z1JoY256MHlqU0J2eUl3CjZMMVFJdXBrQ3YyU0JPRFQveEREM2dmUVF5S3Y2cm9WNEcyRWhmRXlBc1dwbW9qeGpDVUNHaXlnOTdGdkR0bS8KTksyTFNjOWx5Ykt4QjczSTIrUDJHM0NhV3B2dnBBaUhDVnUzMGpXOEdDeEtkZmhzWHRuSXkyaW1za1FxVloybQowUG14b2JiMjhUdWNyN3hCSzdDdHd2UHJiNzlvczd1MlhQM081ZjliL0g2NkdOeVJyZ2xSWGxyWWpJMW9HWUwvCmY0STFuL1NndXNkYTZXdkE2QzE5MGt4alUxNVkxMm1IVTQrQnh5UjljeDJoaEdTOWZBak1aS0pzczI4cXh2ejYKQXh1NENhRG1STlpwSy9wUXJYRjE3eVhDWGttRVdndlNPRVp5Nlo5cGNiTElWRUdja1YvaVZlcTBBT28ycGtnOQpwNFFSSXkwdEsyZGlSRU5MU0YyS3lzRndiWTZCMjZCRmVGczN2MXNZVlJoRlc5bkxrT3JRVnBvckNTMEt5Wm1mCndWRDg5cVNUbG5jdExjWm5JYXZqS3NLVXUxbkExaVUweVlNZFllcEtSN2xXYm53aGR4M2V3b2s9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKSndJQkFBS0NBZ0VBMDY1ZFNpTEo1NmNra29vT3RlbjFXN2srNlo1V2QyTmgxcFVyWlhUbFZ6WWxmUmQ0CkRtVUxxSXQxWlVOem1ZTzVHR1VqMG8xZGJrU096VlRQam1MQ1lVcXo0VjZRdmp0eXZtTjh6Q0F5MHZwYktyVkQKQUZhWlRiMTJ5QXdWckhRSVZXbEtMNnFEUVpOV0RBa1N0eGJ3cjFkaW14cnJSRWMxTWM1YU1UUnJYZ2RLd2tIcQp0Y1ozQTFJNkZtSDgweGNNVi96SFlhdWVNSXd6Z1JsbHU0OTkxQVMvRCtMS21BWmZUTXJwNXpXaHZ2K2E5a0UyCkhXcDZ4NG95azNSRXNWM1E3VlZVWnZOVEhTcmdUbGM3TldZTmhyZlZRYkZZUTUxeGVRY1RuL0NTOXBuYWI1emIKdk5zeU5uc0lEbjNTdE54aTFwM3ZzRFhtYXRqWDU1SVNiYlpVV24xejhYUEpXYlpCQ1VpSzhJTFhmWkEvZzZneQpIMzBNUWNza3B4YjRkT1VNVG9uWlViNG9uY0RuVlZuTGpBNGhUVEc4MWVJZXU0YlJaTk9Da2NBbStTLzFnL2ZSCmxpK0YwekNuNUdKZUVwem9MMVNUYVE0V2FCZ3pWVzdXTGtPYXhmRjNiS0s3a21zNFF6REoyMzRjWVk3SlBBSWQKVkVqWUtEbHlZWkhTcUhmV2pHcmo4MzBwS3pFQ3lGdzN5VjJ6TmlZcktveDJvTjZMMVdrRUZjUVltem45TUdyVQo0VmRBSmgwRkIzdGJ0cUxQRXV6SjlJSVdQTlljWndnYnd1MUxqbjQ0bWFvQy9yZG5wYjQyWEVDQlpWS3BEVWMrCjVudmhtWVJGNVpxMXdWdTEzZ0ppa01sem5lNmVZaUFJNkpYUm9IUGRYT1VvYXBIMXZjaDNTU0k5R2RjQ0F3RUEKQVFLQ0FnQmJnRTZ4SWpLV29TaHM4NktDUGh5aVJvUU1aalpJS3p4NmprYVE5Nk8vUEJlZWFBdXNaVDlSM3Q2agpKRElQRk9Kb3lpZGU5MTZBc0wvdHdCQnNJd0tWSGI1OTErdkhYMWt0TlVJWDFuOUJ0Wmk4OEZlRENPd0JyN2x0CnBkT2tsUStaSkFjK2JYMkpWZy9tNmZFZUZadDZuOUp1NjRieEg3cTl5YzR3NE5EY2QxaDRlaGZqOVdNeW0xT2kKb3o2dlhKSW9Zb3NwREE4NE94SjBacThVRVdXNXhVZDFyWG9YbHdHUTUxR09jUjkydVhTWnAveWxZSWFzUkcreQpUNXIxOUhEQWRwY2lYV0g3QkxLckNvZjhnQjJ1c3o1S3hFYzhDdzJtM0VrK1pMYVNSRlVvMCt3a1NiZjkxdGJYCnRNbmxCakx2Ukp2OFZvQkFoWFZta3p6R0VmK0p5TTEzK3ByT2JpMGtqaStqM05YTlpWc3Y0U3BseHFmSmpqL0oKbjlabjVZV0xwTkdqZHZFSi91bUtXVk5oUFBSYjFQNjF4TVVycmQ5NWR2a3BUT3htdUlQNmY0ZWNkZTFzWHJHUQpuYnBZbWxKcXB4clRkVXlEZklhaTNHNXo0VzQ1YlFCRDViQ2JjakpHaHdPczlDTnVLa1p4WjJ3WFpRQ1lsV01NCkJxMFVEbnBpdGZaUGNKYnZKWndRRkVVSWVrSFlUZk1mUGpyQll6VUd4MEpKQzBrNy93UEd4dEVsVGlOZi9maUsKSTVrclBGbTQ5ME9NODRYVEVHbi9aaGd1Yk84MnRQZmVvOFVOTXJkcFl0YTQ1aHZ2NlJvOFMzV2RrOFpQYzY3VQpFZFp2QzU3M0Q3L1BXSVZVcjUyTElYVlNyQ2twaVUxSkxtQzNzRzdWU3Zqa2RKUUkwUUtDQVFFQTQ3RlZJek4yCkh5Y09vUEZFU3hIOFlkNHJyelVpdE1kNlhJbG5RdWFKc1hRNnd3VnVJUVRtOVNRWTFoeU5iWllIQmt4N0Q5L3IKWmFYaEJqQXU2Z25BclhPSzNiVW1VNzNBRzBnUGcxTC9STnlhblNrUXJKanZ5cEh1NUI1YThUWi9XNVhteUUyZgpyRjFGK1p0YWNjTWorSlpmOFZ1Vms0aEVWV2MrWk84dHRCQXpjZmxHcS9XZDhZeCtqQUxZbk15Nkd4Y3FMZzA1Cnl5WHRJM094Z3MraEdtY1c5VWhRY1pwRWxaTFZZTGlMaGJYL2lXOG9IbHh1RUFTUzcvTG5rNWJCMVo0MDF1OUkKV2REbW9ncTU0WFhpSjZURGs1UXF0RStnNXVwQXIvT3Ixa2NMbVVFTEs2NTV2Yys4WWx4Y1hvaVNPaVdEeG10TAowcG10NXhiemU3c0tid0tDQVFFQTdmOXdQZ1JmQVJpMUZsNitmcWlBK3g1enVKY2l0WEN2czQvdGNjVE5XcU0xCmZUMU85SXYyTXB6OXBiN0pJSUhMNnhmRk52cE5TWUlnMnYwWWI4a1hyaWhXa0ZHZ2ZUSVpZOWwwRHdkQ1ZCK0cKYkwyMEY4bUltSlJkdlZJVUp1cFJheHozaitpVEh3YTRXQ3czMWJOSnpwVUFOcUFEUUNiU2ZzOFlFQStHMTMwagp4VERKZVRDWEVOdW4wWi9oL0NhaGZqelljUXVkUzlIQVNuaHFJZnJBeGo0bHVjSTA1R0J1MVJ5TGpENWlSTkxVCnJzZDJaVmhzVmNzeS9OaHo3TE00cFM2WlVCTTVoRmQyTlhzdnZoZ2VUT0E0REFLaUI5SnRmcitNQVlSWXQ2cnQKZndUWkEwWGdRTjlTaC91blVsVnBWRHUrT3Q3dlMyZkNDa3J1amthN0dRS0NBUUI3UGhRWUhwVzBIUDdsREZKcgowOHRvNmNsNVoyaG1zNFkrcWp6VFVGZDlUcTB6dkMrMC9hTkpVd1dDZHlmeUJmKzlZQTVJTkdxRXRYbU1VTzVECnpZMldGUEU0T2dJSjE2NHcxaHRYZU1nazdNZGZnOGU3dEhndWpEampEcThvMnRlcXFnT2xyYVpjdEl2WXBFY2IKUm9XazJ6Z0pPd3BHTmI3Ty96Z2RoL3lUOXlUeGJ2emF2UEtGdVFjU0g4UkJjdXJWR1AvQ3QzUHR5cFNGMk94ZgpJcVZQMWpidUF2dFAwakdIU0Zmb3Axc1Z2OElXRUsyRmFZQkZlVVJUVG9ZY004Q3RNSm5uTU5OWGtpUVQxM3h2ClZkQllwdTBaWjF5S0JvUFFHVUYwTzQ5cVIwQTI3cWJ1T04wNmFVUE5kYktsbElTWnBvNmlDcGVhNFlYb2pGcTAKUVRSUEFvSUJBREZVa045SjZLZEJoOGRyTy9EazNGY3dxS3ZLSjllVDA5ZFVMZE0zQjVtUjJyUnEwTUsvZi9oZApzZlY0NWhkbXorMmFyN1lGaTUrQTZXNTZwMllFT0hSUXlDQ0J5dElvWURyaUI3eFZ0Tm5hN3ZIN0lDa09ETklUCmJwcWZPSzRZUTJnQVNRLzdGUU9KVVF4MW5kMGRuRjdGWTVYdTlMMkhUbm9hVXRLQlpXR2svcFVRMTdIVzhIaisKRG5yVXVQS2F6ejVyUGpHd1JwcEFqNnJmNnAvQWFkU3RiUVJqekxMSmlpK0NDeXEyZzRmZ2ExVU80dXQrdUhYUAorSEdRSy9jVDd0bk9IdGtLSXhIYlR4VW13MjZUY1RSZUJULzRDNzJ6VUI3RmRTK2JUd2hDMVpkT1dlemp2dWV6CllsZnRRWEUvWXVXaXZIdFhXaUkzRDNFeXR0K21xWUVDZ2dFQU9ERmJ4VVZuY2dsMFRLZjJSREpwcFV1cXRJN2YKdHRhYlVQWkhGUEdNQjZSV3dBUWVreHVOQkk0SmZZNzhrc2dwQWJJbHovZ3lCRVJhd0RYV21IUmc1anlIU0FQWApaeXBDYzFMd3V1VGRVYW1XRlExbURqc0Zrc1hIdTMwb3NjSHBMWXBidlovWlVFZHlYSmIyaDJUdGNNWCtnUWpiCkJQRVo0aVdIWWVqR1Mza3VzRXVqdjlaN2UvN0dZb01FODVldndDMDJIdVJuUUYzcWM5NTdkVXFabU5SZ1N3bEoKMnRCN2ozWkk5T2V5dmVXYk94N0NQU2k3Mk5aVjIrR3VtTURKRWdDbk5KYVVuS0pLM3hkSUpXLzhYbGxybUVKSQpmVjNHaHVxUlpqdlhrZkdjV0RxclhSamQxaWxOUDhaSkpEVWI2Nm5ucnh3UEhmSmtVcXdQS2dlSVNBPT0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -35,7 +35,7 @@ "domain": { "main": "portainer.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDekNDQlBPZ0F3SUJBZ0lTQmNlV2lwVSs0S2d5SStiVUdFNFVEVms4TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXdPRFUwV2hjTk1qWXdNakU1TWpBd09EVXpXakFqTVNFd0h3WURWUVFECkV4aHdiM0owWVdsdVpYSXVZWFJvWVd4cFlYQndjeTU0ZVhvd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUMKRHdBd2dnSUtBb0lDQVFERXlBYUdIMS8vazFmaXVYWkU0dDBLMXFockhmMHQyRnBMZWxZVjdYSVhQcTJqdjliZQpRWVR6b1I4UnZlQjJjVFNzemdyc3FLV0hReUEyUG5NNnpnVDJvVzZVMVZ4M2FSV3E3SDBQUEM4MzFYcUJTWnRzCkdBd3M0WEVzQ3J1TXFKWTRRNDdyVy8vcUo3ZDJZVWM2RS9OdlNoQnpnaGVGdU50WVMxWXhSZUo2SWVpSit0aDgKa2lTMEgvREwyMW5KWnFab2VrdW5YTmduY2VDNzFhTGgrb1Q0TkkrdkgxcXVnU0NNY3FaTXpqTUZsZ3VSSFh2MwpQWGFCYTh4TUF5Mm9hNTFjZGl1RWtCc0VTVDZrT2liNGpoN1JnMlMvVEdJNlBUVXRHZEtWTHVWam8wVjlhVm1qClh6OGhrSkNrS0VjTmptQi8yRzJZY0RtZnZNdElSRFFydGx1MEtWODQvNExpMy91Q1J2NGN2OE5PczJLcngvMWYKaVlCWHhHemNGS2hUVXRKNGd5eHhIRUd3dDRZWWRoR2J4Y3l0OExpaU9zVzNhWnpCTXBIU25Zc2o5TkpEK1FOYwpkZkdIY25OR1hWdnNVcGczQ2hMUjVXSDdJNXBSTVRPNFhUMXB6TWZoWjJpaEUzSGNqVzlrMm84bW84eXFUM2tDCmsrWVZjZm5HcGZzUVFiV2tJUFBpVGFETVlqcU5ZbVRaWitxbDlWbDd5enJRM1BYMW1UdTExb3RYWHN2MStGbUMKYzBnaDdNOXhic3VFb1ZjakVSdllMUXI1NHQxYUtZR2tOSVpBNFd1VnN6NHFiNmZxa2ExcXZtMC81ODBwVFNyNwpGR09PcVJaWWhJTTJWbXc4ZnVJMkFXN1hxRU8zSEdsVG9hN1lvdmQvTDVjQkg3NHJDR1VYMFJGNWpRSURBUUFCCm80SUNKekNDQWlNd0RnWURWUjBQQVFIL0JBUURBZ1dnTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQkJnZ3IKQmdFRkJRY0RBakFNQmdOVkhSTUJBZjhFQWpBQU1CMEdBMVVkRGdRV0JCUjJOOVJQRXF6L2lCTm5jMUVFY3JZVQpFZ0tZZWpBZkJnTlZIU01FR0RBV2dCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekF6QmdnckJnRUZCUWNCCkFRUW5NQ1V3SXdZSUt3WUJCUVVITUFLR0YyaDBkSEE2THk5eU1UTXVhUzVzWlc1amNpNXZjbWN2TUNNR0ExVWQKRVFRY01CcUNHSEJ2Y25SaGFXNWxjaTVoZEdoaGJHbGhjSEJ6TG5oNWVqQVRCZ05WSFNBRUREQUtNQWdHQm1lQgpEQUVDQVRBdUJnTlZIUjhFSnpBbE1DT2dJYUFmaGgxb2RIUndPaTh2Y2pFekxtTXViR1Z1WTNJdWIzSm5Mell4CkxtTnliRENDQVFNR0Npc0dBUVFCMW5rQ0JBSUVnZlFFZ2ZFQTd3QjJBR1FSeEd5a0V1eW5pUnlpQWk0QXZLdFAKS0FmVUhqVW5xK3IrMVFQSmZjM3dBQUFCbXFnK1JMSUFBQVFEQUVjd1JRSWdENjd6a0xSQTFyVytkMHhVajdpVwplMjNGTFlzeU16VUgxT1JTVm9udk5SRUNJUURmZXZpSmMzaGlib0o1ZnptWDZzT2ZHNlNtc1dzQ0s4Y3I0MDhOCjVRUzhxUUIxQUE1WGxMenpycWsrTXhzc21RZXo5NURmbThJOWNUSWwzU0dwSmF4aHhVNGhBQUFCbXFnK1RJVUEKQUFRREFFWXdSQUlnRXJvNGpjNzYrajQ0U01lR2FrMzBzTlYxMnJtOTFVYnpDbmV1QlhhU0ZUa0NJQ3hQM09mRAp3aC8xN3ZhYmRMU045cDMyOXB6ZzRtK2U5NkRYOGRMMmFaaTBNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUI2Cm55VmlFR0M1OEw3UFVUYzNYQVFSVU1xNUxMeXdmMVVRc1ZFdUtBK3pCQTJMU3FhcytSaFh5eTk3dUUvMTg1R3EKK0FCS3pmOThXamVxYUlVciszRGNqbkh6alh2OVo4TDZ1T1NPblhxOWM3T2FUVkhjbVhuMUN2WHZ6VmF2UFk3cQpnaEJleFd1VTRPUzVhNmprUmdpYjZSdHdRSURkcDJzYi9BSjBFbTh5WWFIenpDLzFwUjRGRU56K250L3pya2lSCm9JZEVMSm03SktHTUNOaE9wQmdFMjlkRFdEMWxqdnIrcGprY3VIUXUvdjNaL3lQcWVuVFh5dWc4OXAxdTlBUnoKQngzSWpXazBiMXJYSGtIcGlSa2NuVklnNDgwNXFIVk4yWVFxQ1ZQclFWMHh6akpSL3NnV09ka2JnclAxSm81cApyOVpIbnVKM3BhN01nQ0E3NzA5bQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJUQ0NBdTJnQXdJQkFnSVFXZ0R5RXRqVXRJRHpra0ZYNmltREJUQU5CZ2txaGtpRzl3MEJBUXNGQURCUApNUXN3Q1FZRFZRUUdFd0pWVXpFcE1DY0dBMVVFQ2hNZ1NXNTBaWEp1WlhRZ1UyVmpkWEpwZEhrZ1VtVnpaV0Z5ClkyZ2dSM0p2ZFhBeEZUQVRCZ05WQkFNVERFbFRVa2NnVW05dmRDQllNVEFlRncweU5EQXpNVE13TURBd01EQmEKRncweU56QXpNVEl5TXpVNU5UbGFNRE14Q3pBSkJnTlZCQVlUQWxWVE1SWXdGQVlEVlFRS0V3MU1aWFFuY3lCRgpibU55ZVhCME1Rd3dDZ1lEVlFRREV3TlNNVE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUNsWjNDTjBGYUJaQlVYWWMyNUJ0U3RHWkNNSmxBM21CWmprbFRiMmN5RUJaUHMwK3dJRzZCZ1VVTkkKZlN2SFNKYWV0QzNhbmNnbk8xZWhuNnZ3MWc3VURqREtiNXV4MGRha25USStXRTQxYjBWWWFIRVgvRDdZWFlLZwpMN0pSYkxBYVhiaFp6alZseUl1aHJ4QTMvK09jWGNKSkZ6VC9qQ3VMamZDOGNTeVREQjBGeExySHphckpYbnpSCnlRSDNuQVAyL0FwZDlOcDc1dHQyUW5EcjlFMGkyZ0IzYjliSlh4ZjkyblV1cFZjTTl1cGN0dUJ6cFdqUG9YVGkKZFlKK0VKL0I5YUxyQWVrNHNRcEV6TlBDaWZWSk5ZSUtOTE1jNllqQ1IwNkNEZ28yOEVkUGl2RXBCSFhhemVHYQpYUDllblppVnVwcEQwRXFpRndVQkJERFRNck9QQWdNQkFBR2pnZmd3Z2ZVd0RnWURWUjBQQVFIL0JBUURBZ0dHCk1CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0RBVEFTQmdOVkhSTUJBZjhFQ0RBR0FRSC8KQWdFQU1CMEdBMVVkRGdRV0JCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekFmQmdOVkhTTUVHREFXZ0JSNQp0Rm5tZTdibDVBRnpnQWlJeUJwWTl1bWJiakF5QmdnckJnRUZCUWNCQVFRbU1DUXdJZ1lJS3dZQkJRVUhNQUtHCkZtaDBkSEE2THk5NE1TNXBMbXhsYm1OeUxtOXlaeTh3RXdZRFZSMGdCQXd3Q2pBSUJnWm5nUXdCQWdFd0p3WUQKVlIwZkJDQXdIakFjb0JxZ0dJWVdhSFIwY0RvdkwzZ3hMbU11YkdWdVkzSXViM0puTHpBTkJna3Foa2lHOXcwQgpBUXNGQUFPQ0FnRUFVVGRZVXFFaW16VzdUYnJPeXBMcUNmTDdWT3dZZi9RNzlPSDVjSExDWmVnZ2ZRaERjb25sCms3S2doOGIwdmkrL1h1V3U3Q044bi9VUGVnMXZvM0crdGFYaXJyeXR0aFFpbkFIR3djL1VkYk95Z0phOXp1QmMKVnlxb0gzQ1hUWERJblQrOGErYzNhRVZNSjJTdCtwU240ZWQrV2tEcDhpanNpanZFeUZ3RTQ3aHVsVzBMdHpqZwo5Zk9WNVBtcmcvenhXYlJ1TCtrMERCREhFSmVubkNzQWVuN2MzNVBteDdqcG1KL0h0Z1JoY256MHlqU0J2eUl3CjZMMVFJdXBrQ3YyU0JPRFQveEREM2dmUVF5S3Y2cm9WNEcyRWhmRXlBc1dwbW9qeGpDVUNHaXlnOTdGdkR0bS8KTksyTFNjOWx5Ykt4QjczSTIrUDJHM0NhV3B2dnBBaUhDVnUzMGpXOEdDeEtkZmhzWHRuSXkyaW1za1FxVloybQowUG14b2JiMjhUdWNyN3hCSzdDdHd2UHJiNzlvczd1MlhQM081ZjliL0g2NkdOeVJyZ2xSWGxyWWpJMW9HWUwvCmY0STFuL1NndXNkYTZXdkE2QzE5MGt4alUxNVkxMm1IVTQrQnh5UjljeDJoaEdTOWZBak1aS0pzczI4cXh2ejYKQXh1NENhRG1STlpwSy9wUXJYRjE3eVhDWGttRVdndlNPRVp5Nlo5cGNiTElWRUdja1YvaVZlcTBBT28ycGtnOQpwNFFSSXkwdEsyZGlSRU5MU0YyS3lzRndiWTZCMjZCRmVGczN2MXNZVlJoRlc5bkxrT3JRVnBvckNTMEt5Wm1mCndWRDg5cVNUbG5jdExjWm5JYXZqS3NLVXUxbkExaVUweVlNZFllcEtSN2xXYm53aGR4M2V3b2s9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdEekNDQlBlZ0F3SUJBZ0lTQlRvY3pNRXB2enRGZlFRbzRGOHpCMU5rTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXdOVEF4V2hjTk1qWXdOREl4TVRZd05UQXdXakFqTVNFd0h3WURWUVFECkV4aHdiM0owWVdsdVpYSXVZWFJvWVd4cFlYQndjeTU0ZVhvd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUMKRHdBd2dnSUtBb0lDQVFERXlBYUdIMS8vazFmaXVYWkU0dDBLMXFockhmMHQyRnBMZWxZVjdYSVhQcTJqdjliZQpRWVR6b1I4UnZlQjJjVFNzemdyc3FLV0hReUEyUG5NNnpnVDJvVzZVMVZ4M2FSV3E3SDBQUEM4MzFYcUJTWnRzCkdBd3M0WEVzQ3J1TXFKWTRRNDdyVy8vcUo3ZDJZVWM2RS9OdlNoQnpnaGVGdU50WVMxWXhSZUo2SWVpSit0aDgKa2lTMEgvREwyMW5KWnFab2VrdW5YTmduY2VDNzFhTGgrb1Q0TkkrdkgxcXVnU0NNY3FaTXpqTUZsZ3VSSFh2MwpQWGFCYTh4TUF5Mm9hNTFjZGl1RWtCc0VTVDZrT2liNGpoN1JnMlMvVEdJNlBUVXRHZEtWTHVWam8wVjlhVm1qClh6OGhrSkNrS0VjTmptQi8yRzJZY0RtZnZNdElSRFFydGx1MEtWODQvNExpMy91Q1J2NGN2OE5PczJLcngvMWYKaVlCWHhHemNGS2hUVXRKNGd5eHhIRUd3dDRZWWRoR2J4Y3l0OExpaU9zVzNhWnpCTXBIU25Zc2o5TkpEK1FOYwpkZkdIY25OR1hWdnNVcGczQ2hMUjVXSDdJNXBSTVRPNFhUMXB6TWZoWjJpaEUzSGNqVzlrMm84bW84eXFUM2tDCmsrWVZjZm5HcGZzUVFiV2tJUFBpVGFETVlqcU5ZbVRaWitxbDlWbDd5enJRM1BYMW1UdTExb3RYWHN2MStGbUMKYzBnaDdNOXhic3VFb1ZjakVSdllMUXI1NHQxYUtZR2tOSVpBNFd1VnN6NHFiNmZxa2ExcXZtMC81ODBwVFNyNwpGR09PcVJaWWhJTTJWbXc4ZnVJMkFXN1hxRU8zSEdsVG9hN1lvdmQvTDVjQkg3NHJDR1VYMFJGNWpRSURBUUFCCm80SUNLekNDQWljd0RnWURWUjBQQVFIL0JBUURBZ1dnTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQkJnZ3IKQmdFRkJRY0RBakFNQmdOVkhSTUJBZjhFQWpBQU1CMEdBMVVkRGdRV0JCUjJOOVJQRXF6L2lCTm5jMUVFY3JZVQpFZ0tZZWpBZkJnTlZIU01FR0RBV2dCUUF0U255TFk1dk1laWJUSzE0UHZyYzZRelIwakF6QmdnckJnRUZCUWNCCkFRUW5NQ1V3SXdZSUt3WUJCUVVITUFLR0YyaDBkSEE2THk5eU1USXVhUzVzWlc1amNpNXZjbWN2TUNNR0ExVWQKRVFRY01CcUNHSEJ2Y25SaGFXNWxjaTVoZEdoaGJHbGhjSEJ6TG5oNWVqQVRCZ05WSFNBRUREQUtNQWdHQm1lQgpEQUVDQVRBdkJnTlZIUjhFS0RBbU1DU2dJcUFnaGg1b2RIUndPaTh2Y2pFeUxtTXViR1Z1WTNJdWIzSm5MekV3Ck1TNWpjbXd3Z2dFR0Jnb3JCZ0VFQWRaNUFnUUNCSUgzQklIMEFQSUFkd0RMT1BjVmlYeUVvVVJmVzhIZCs4bHUKOHBwWnpVY0thUVdGc01zVXd4Ulk1d0FBQVp2aGd1aHZBQUFFQXdCSU1FWUNJUURsWmdXSXZhSXpuYk9hNno4WgpDbGdma0kxa21kMC9VTjF6RG1jTVJzcE5zd0loQUpiNVV4aVdWaWZMRElYRWRIN1dMVVVac1ErRmlaTDd4NHR1CnpEanFpK214QUhjQUZvTXRxL0NwSlE4UDhEcWxSZi9JdjhnajBJZEw5Z1FwSi9qbkh6TVQ5Zm9BQUFHYjRZTG8KZ1FBQUJBTUFTREJHQWlFQWtoVUYydEZWU00zTW02VTg2SHRvemFnY09aZk5keW1MbzNIN3JLbDlPQ3NDSVFDeAp5TnJpYm01SjFKZHNtbWRReDdxVmpDekYwWGZWUDc5U3pvSWoyRGRlNVRBTkJna3Foa2lHOXcwQkFRc0ZBQU9DCkFRRUFTcGxpUWdZM1B1N1JpWjl5V2Rhb2RwWGMySkxEaEJVQnkzcUhGRXFKcnI0RjRiMm9GZTRLQWtuaVBFQTEKaVErdDlRZS9QTmVvTm1IRDY5cjRCKzVrcEJvcEEvdklkRitQWGo5eUFTUmVaYWFiVEdXemtJOER6NzBNVDRYMgptN1lUa21rRHJoVVJmNVdid2k2UStZR2ZlajAxVk5UNS9qa3ExdXM2OG1TUTV2TjIraDlXclE2Ry9Na3V3MUlYCjRQUTNWaG0zSlpJNFUwZ3F1bjBoMkJJa05Zdyt2S1ptZG1VcEMvQmwzUkhkN2NpeHZLRmNNN1FrRVF3cnpUMnUKbG1vamRYdzZEcm5Za0ljK3dsQ3RTNWplR1p4dGtjUGRLVGVyL3N1QmZrQUhpU3NsalArSjN4U1RDa012aUZHTwo5T3dYRmo2WkxoalRnSktzYklxUE5pOEVqUT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeE1nR2hoOWYvNU5YNHJsMlJPTGRDdGFvYXgzOUxkaGFTM3BXRmUxeUZ6NnRvNy9XCjNrR0U4NkVmRWIzZ2RuRTByTTRLN0tpbGgwTWdOajV6T3M0RTlxRnVsTlZjZDJrVnF1eDlEend2TjlWNmdVbWIKYkJnTUxPRnhMQXE3aktpV09FT082MXYvNmllM2RtRkhPaFB6YjBvUWM0SVhoYmpiV0V0V01VWGllaUhvaWZyWQpmSklrdEIvd3k5dFp5V2FtYUhwTHAxellKM0hndTlXaTRmcUUrRFNQcng5YXJvRWdqSEttVE00ekJaWUxrUjE3Cjl6MTJnV3ZNVEFNdHFHdWRYSFlyaEpBYkJFaytwRG9tK0k0ZTBZTmt2MHhpT2owMUxSblNsUzdsWTZORmZXbFoKbzE4L0laQ1FwQ2hIRFk1Z2Y5aHRtSEE1bjd6TFNFUTBLN1pidENsZk9QK0M0dC83Z2tiK0hML0RUck5pcThmOQpYNG1BVjhSczNCU29VMUxTZUlNc2NSeEJzTGVHR0hZUm04WE1yZkM0b2pyRnQybWN3VEtSMHAyTEkvVFNRL2tEClhIWHhoM0p6UmwxYjdGS1lOd29TMGVWaCt5T2FVVEV6dUYwOWFjekg0V2Rvb1JOeDNJMXZaTnFQSnFQTXFrOTUKQXBQbUZYSDV4cVg3RUVHMXBDRHo0azJnekdJNmpXSmsyV2ZxcGZWWmU4czYwTnoxOVprN3RkYUxWMTdMOWZoWgpnbk5JSWV6UGNXN0xoS0ZYSXhFYjJDMEsrZUxkV2ltQnBEU0dRT0ZybGJNK0ttK242cEd0YXI1dFArZk5LVTBxCit4UmpqcWtXV0lTRE5sWnNQSDdpTmdGdTE2aER0eHhwVTZHdTJLTDNmeStYQVIrK0t3aGxGOUVSZVkwQ0F3RUEKQVFLQ0FnRUFyR2YvNTBUWDYramhLRUNMa1dFZWZ4K0JJWkI5d012OG1JS1BwOWlJakRzYkVRdkVLcWhHM3RsOAppaVBNNUpqY3FNWkJKZ1hBT1JrandNTElYRzRpUlI4ODdtTmRCelhuaVFCM3RZQnFja1cwZGsvU1AwdDJaMkFCCnNxK1lrRzBvYUJVd3c1NndRaXdYL2p6T2xlRGkrTTl3U0hOalBvS3VrdFkycHlidWZVajJIdVhMQktGYVRRSnIKQzRDY1V1dC93cXZiV3IvcWxleWRGSlRoaDVIaExFR0kzY3JmdldKZTdRNktDMkxocXZSQ0lCc3dBSGMyTzhBQgpsMXQxaGtqNjd3YU5yREJCcTJpczNHQWl3c1JwMWZDRHRXTXI4SkN0NVZ6cGRsRkhJeHZxaHkxbEh0RVZVOGdBCklnTXo5WG1YcklzbndsWVk5bzRIb01JNDMwOS9XWGxVNkJ2KzJlK2l3bmhVUmlIRlp1UmN2MkdUUmNWQnRWMDAKMk9hcTVwb0wzS25VUG9Qcy9sV0tnYjBTTnRuMWY1bUtGMUpESEliaWFtVUNESzhNejdVSVp4VzJDYld1dFBMZApwZmZjVk91Z2dWVUYyYUI4RlIzN08xbTg0bnZrOEM1WDRDSGNGMUlJTWh2TlVmaWhVOGVHWXlGTmZiSWhZUm1ZCjdEcWRQODZuaUwwMUpSWXNmczIyQ3hSMlRibGVlRmpFWFE2NGV6NGxiTVZIb1AwUGoyeXlodnRvdUxOanRYcEwKVlQrVjZCcElSemMrZzlONkhYc3U4eVJ5enVKdk1tbjlGdDZYK3ZETUJaenRQUWU4KzJDNFoyOHA3VWhLTy91egpLR1VPandGVU9qcVNKUzZKNHlMbDhZQ3czWVN6SzlNQy9JWW01bWtKT1lXOXUvWE9QblVDZ2dFQkFPSERPSnJZCjUwRE9sMmk3dmI3cmp1aFJ1OXYrSjdSTk1LcW1oOC9FdFY5NGJSWExQM1JFNjMxRUsvRW04L3dVVVF3Yy9VdTAKYk5KUE41bnpXRTd4NGFsd2V1M0owUVY3ZmJvZlB2UVl1cUsweGJGcTVHTjRSblgrNko0L3JsUlIrVzJUNDdmcApvcnhqZlE3UHArTHI1VkFQc1RLVUhtaGI2cUx1ZHNidWZja2RGMU9NcVdsTmdjWmVnTjRIeVVjR1dBeTJiTmZWCis3aW5VUG52Z2hVTEFuODNkbWI5TUsrRkZtSlBkRG9XVEZ2NE9pWm9xaWNsdlByZkw2cXByTEtodTl4dzAyVlcKK3orc0NZUHczQW9XTjk4U0RBVUw3dTJqeWtyajV3Y3NCWFVjZEUxbmtiK3pJdjJqREpVdldVYzdZcUpKaDlPeQpKQWp6QUp2K0dTOGNQWThDZ2dFQkFOOGpIaFA2d2N4RDRlcE1XTm0xWW9xTzhwaHljZi81L3o0VEU1ZXJqaUMxCndaK1dOQlhXUkJ1OFV6ZVZ2cGVaNHdlbkh2Ynl1c2QxZXNMUS9BakRnUCsxU0dHYU1walFEU1ZpUXRYdFUwSm8Kd1ZRaFBDWU9nZlE3WE95YVV6K0VHdUpjbFVQblZYd0YraVVoeUlxdEhHcU5KUE1rY2xJWGRZWU9BcGhQSTdPQwpKaU9BUGVTU2l5dTRvSjJndks5OWV2SnQwMEsyT3hLYXFoN3YzY3MxbU1VZnNuaGo0RUIvcTJUNVYySUpTMVdoCkIreEs5RVNydHhJdFEzOHBEMmRVTFlWK0F4ZHVLb1plLzJYcnhjMVk3aDkyQ2ZLRWNJemlzWUVvM0pielBiUUEKK016ZEM1ZCs2V1NsdUdDNHZENlp0aytDcFVCZXZNaUtXdW5yaUUvUWdTTUNnZ0VCQUpUdTFvN0FmSDR5UzR3YQpIaWl1K1EybHJjcUpOZVFwNytzRUJTQTVZblZpMm9QQUcxSTJqU3VNSjNqays1dldRMGs4YnBUY3A5VnQwUDVNCm5Ic244bmgyN1lHazI3RkVNRUx5amZNMXhSbkZLNDNKT0hXdVNMMWF0bFovS0NBVUcvbi96Ly9wcnlPY2RrbXAKRDlZUlRLdXVUblZSWldYdkRURURJM1JFck5KWjBLT2JiYjg4RkZxcXlWU3Z5a2FDbHQ5OEVQMnArbTlzWVcwZwpaYTVBSHh1Um1SaUQrdlF2VmY3dzczbktjQUZVRmZoMG41dEh1QTIvNHBBeGN1NDg1OU9hMHJwTjBWM0Z2bGsrCk1jcXRzWm9GSzh6QWZKUmtzdlVJdDhYeGNvQTVqemZwRlN0am43ZTNNbnZRU3BORlIrSkxvOEV5Q2JlbHAwZEIKTDVmMmgxMENnZ0VBWHo2WUtpTVE4ZVhQMnJpMy9FWEdTQ3A0TnNZekR2WmhFdGdGdHVuTmd2elNKeEp3TFJvRwpmR2hJaFNOdjlUb0VoRkc3aitGUUJLK0t0UG1MZXhvb1IvM1RaWVh5THZRdmlGT0cvOVdMZ245QWRtNnhRL1ZSClZ6UzNsMjdRTmY1bmsxTzlpdnlGcXFqS2Uyc09OTk5ybTdlZm5BRmtvdEhNb21uOGhaTFNSRjg3ZEUvYkcyUEoKNytHZy9XZU00c09HNVZBbnF3UXA5dWo1MExiR1QyVVRUcUVYQnZocTBsMHNoYTlBczJJUU8vNithUWdkZCtwcgovR0JCdlZlRGNiR210S0p6STE4czI2cFZEZVl6eWxFNVkwaDVPb0Y1b1VscVJ4MXYreWJjb2FjQWpFR1dIeFpXCi9WVVhmSUdlS0lKb0pVdzR5VjhtNmRyVXI2Q1AwTEhKVFFLQ0FRRUFya3NjdE92OElXK3N3c2hxTVQzVFp3dVUKSUZGRUJUcEhlWmdiUmpIK2VWTEJVRW8xL2RvS3huY3RRRXBjZXdDaG5GRWpsWlpzM2JiS3cwdiswL1NUN0x6YQoxT0RyQkFLcTNYdkk2UGt5SGFObFdjaWZkWTJWWTl3Szc4WmpqRHFRaEV4SFhzdGxrTWRZd1cxcFlxZHdNVVdGCjkyVS9aNloxTWRUSW5jRWFUTG56QmhObE9QcjE3R2hNa211ckVqa2Vvb2NmcGd4TFN1UUZ1Q1o3THM2NVZuOXoKd2dHaG81NWVLMVlHSVYwT21aUHQzOUovL0xDcDNmRUsrSk9BWVhOUEF2UlQ2bnhmYVk0S0lEcGttRHVvaWM0TQo0ZS9Md1g1N1RsN1duNHBZY2RnQS9Dc2p3SHBNcU1YdWNRdkh0TllpVGM5VzFLeHYvdnBwSURIVEpoRXRkUT09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==", "Store": "default" }, @@ -43,7 +43,7 @@ "domain": { "main": "hydra.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdBekNDQk91Z0F3SUJBZ0lTQmY1YlNrTXh2NzA0R0hWZVdRVW8vKzk2TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXdPVEF6V2hjTk1qWXdNakU1TWpBd09UQXlXakFmTVIwd0d3WURWUVFECkV4Um9lV1J5WVM1aGRHaGhiR2xoY0hCekxuaDVlakNDQWlJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dJUEFEQ0MKQWdvQ2dnSUJBS0I1UTNBSjZRaTFkREkydWoxektGZEppejFrdEVmN2R3SzZSU2RQTjdETVNTUGFlSmJlMVZ4QgpWVlh3OFBWVXFTYkRJOHN4ODBqQW00dHpyRVUvZHM3Wk9lN3dibmk3UnlWSzVuMmczQldDN1h5YUpOZUNFanlFClAvSzhkL2hFRk1QUWZWa3ExdHhNNzE5UXJORkdaMy9yYjhsNkVTWGxDVWl5TFB1M2c0Qkxxa2o3eXFydER5Y1EKaUdiQU9vUkY1VjhqcktJNVRmQVJmdHU0VkxKTEhoQ285R1o3ZjhKR1F3NXN6eThlUFRwdXFGZUtpMVE2TFBTSAprUzlZM29ScCtOdGZZTkFzbll5bUJ4Z0FjdlBZaWVzK2I1Z2FOSWpEVlBRZFZaRDEzMnI3VGM0ME9pVklGL1RCCmpuRXlXN2ZnWk1Fbkphc1Vsc2ZtOHE3Wm44Z0NZTlRjVFVCbHJCa0pkWjJObTFSU3duVDBGSDQ1K3Ivc25aZUYKeTg3NVFtRStYczZCRFdNZFN2b1UrdUZxWGxFWHVGR0REZTR3bnJCWEFMaXkvblh4NXZGckR0YXdyVGdTNzNHbQphbUx4TzlneWxlTUNRbjBtQWRGNnc1TXpUSzZLOTJWK3RGenpMUUFYZHh3MHNIQkVQZWIxdlpTYWZUT25lVXFHCms4LzF2TmlCbkVUYU1SRkpjSnFCMHp5QWs4TE1IZkM5M0h1aEloMDhNV2c4YjVjekNNTXE1U0lwL2drU29hUnkKZ2RrQ01rRTVSVmlsNEVVTUdWWEZ6OFdQSEFsZHdzTU91aVl3YmRGcnVKbjl6emxuL1htMnZhK0FsaGdsSWtaSQpNUmN2dHRkVDJLbXZoVllZTVVGOFB4bWhJQmpyMVRhMWdpWlgzRngrbTJMcHpOWTNab3k3QWdNQkFBR2pnZ0lqCk1JSUNIekFPQmdOVkhROEJBZjhFQkFNQ0JhQXdIUVlEVlIwbEJCWXdGQVlJS3dZQkJRVUhBd0VHQ0NzR0FRVUYKQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3SFFZRFZSME9CQllFRk9HQ3U3eVFlQ0hQUWQzZVpUTUYySHRFS2pNQwpNQjhHQTFVZEl3UVlNQmFBRk9lcm53OHNNNkJUMDE1UGVNaXloQTQ3MXBJek1ETUdDQ3NHQVFVRkJ3RUJCQ2N3CkpUQWpCZ2dyQmdFRkJRY3dBb1lYYUhSMGNEb3ZMM0l4TXk1cExteGxibU55TG05eVp5OHdId1lEVlIwUkJCZ3cKRm9JVWFIbGtjbUV1WVhSb1lXeHBZWEJ3Y3k1NGVYb3dFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3THdZRApWUjBmQkNnd0pqQWtvQ0tnSUlZZWFIUjBjRG92TDNJeE15NWpMbXhsYm1OeUxtOXlaeTh4TWpNdVkzSnNNSUlCCkFnWUtLd1lCQkFIV2VRSUVBZ1NCOHdTQjhBRHVBSFVBWkJIRWJLUVM3S2VKSEtJQ0xnQzhxMDhvQjlRZU5TZXIKNnY3VkE4bDl6ZkFBQUFHYXFENW1vUUFBQkFNQVJqQkVBaUJtVUVHeG94OHU5OGtwRDB3cTZFamVUam45VFFkYgo1RERucDVUWE56OFB4d0lnWUc0dXc3YjExd09CTFJGL2E2SW02c29vcGs5c3ZJOU5RQUt4WTh5ZEhCc0FkUUFaCmh0VEhLS3B2L3JvRGIzZ3FUUUdScXM0dGNqRVByczVkY0VFdEpVekgxQUFBQVpxb1BtNThBQUFFQXdCR01FUUMKSUNBemZkUy8vODArS0dSOHRGc01XUG1xTXV6L09EMzFzTzI5OHJVZlg1SmNBaUFSQ1NDRnZsWFZMWWg5WVRKTQpLWEVtMzVOYjVIcmg0ekFBOGJ5K3Z4VW81VEFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBYy9Id0lmZ3oxRHJKCjdpTXdhUlozdWJhTEVvclJndXpNeTYzem1xTEs3V2YxTkZtam1JNUlLeTE2WHdoU0JNSnhJakM0UjVobkJuWXQKRzg5UDRrYUl6K1I3amU4RUFjZ3EyelRuV04vdzdFZjhGS00zQlcvUVgxeVhvcE44Z204dEtHQ0NWV3BkaDhZRgpwNi9sVG40K25aSFRrQmt4NGQ1N1VaYlREWnlIQnhYZ21UVWJWMDFnajhIUUVOWjJ4L21YcFVlSk90WUtkcmdoCld4ellEU1JDVWpHZHoxWXc1NUNFa1RsNUI5WjlqaUlPc284S3VxeW95UGUzM0NCRFNjSVk1SkxnSGtkUGcwdHQKYkhOK1dCY1I1em1CTnY1bm9Hbi9tME1oa1RtbE5xR1lCMTlCTGM2N0tkdnlBaVNOVERlVWhTNnI0emVFVGVKYwpYa3RsazZzdCtnPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdEakNDQlBhZ0F3SUJBZ0lTQlRjMnJ4eC81NnhtVEVzU0VrZVNRSFd0TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRJeE1UWXdOVEEyV2hjTk1qWXdOREl4TVRZd05UQTFXakFmTVIwd0d3WURWUVFECkV4Um9lV1J5WVM1aGRHaGhiR2xoY0hCekxuaDVlakNDQWlJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dJUEFEQ0MKQWdvQ2dnSUJBS0I1UTNBSjZRaTFkREkydWoxektGZEppejFrdEVmN2R3SzZSU2RQTjdETVNTUGFlSmJlMVZ4QgpWVlh3OFBWVXFTYkRJOHN4ODBqQW00dHpyRVUvZHM3Wk9lN3dibmk3UnlWSzVuMmczQldDN1h5YUpOZUNFanlFClAvSzhkL2hFRk1QUWZWa3ExdHhNNzE5UXJORkdaMy9yYjhsNkVTWGxDVWl5TFB1M2c0Qkxxa2o3eXFydER5Y1EKaUdiQU9vUkY1VjhqcktJNVRmQVJmdHU0VkxKTEhoQ285R1o3ZjhKR1F3NXN6eThlUFRwdXFGZUtpMVE2TFBTSAprUzlZM29ScCtOdGZZTkFzbll5bUJ4Z0FjdlBZaWVzK2I1Z2FOSWpEVlBRZFZaRDEzMnI3VGM0ME9pVklGL1RCCmpuRXlXN2ZnWk1Fbkphc1Vsc2ZtOHE3Wm44Z0NZTlRjVFVCbHJCa0pkWjJObTFSU3duVDBGSDQ1K3Ivc25aZUYKeTg3NVFtRStYczZCRFdNZFN2b1UrdUZxWGxFWHVGR0REZTR3bnJCWEFMaXkvblh4NXZGckR0YXdyVGdTNzNHbQphbUx4TzlneWxlTUNRbjBtQWRGNnc1TXpUSzZLOTJWK3RGenpMUUFYZHh3MHNIQkVQZWIxdlpTYWZUT25lVXFHCms4LzF2TmlCbkVUYU1SRkpjSnFCMHp5QWs4TE1IZkM5M0h1aEloMDhNV2c4YjVjekNNTXE1U0lwL2drU29hUnkKZ2RrQ01rRTVSVmlsNEVVTUdWWEZ6OFdQSEFsZHdzTU91aVl3YmRGcnVKbjl6emxuL1htMnZhK0FsaGdsSWtaSQpNUmN2dHRkVDJLbXZoVllZTVVGOFB4bWhJQmpyMVRhMWdpWlgzRngrbTJMcHpOWTNab3k3QWdNQkFBR2pnZ0l1Ck1JSUNLakFPQmdOVkhROEJBZjhFQkFNQ0JhQXdIUVlEVlIwbEJCWXdGQVlJS3dZQkJRVUhBd0VHQ0NzR0FRVUYKQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3SFFZRFZSME9CQllFRk9HQ3U3eVFlQ0hQUWQzZVpUTUYySHRFS2pNQwpNQjhHQTFVZEl3UVlNQmFBRk9lcm53OHNNNkJUMDE1UGVNaXloQTQ3MXBJek1ETUdDQ3NHQVFVRkJ3RUJCQ2N3CkpUQWpCZ2dyQmdFRkJRY3dBb1lYYUhSMGNEb3ZMM0l4TXk1cExteGxibU55TG05eVp5OHdId1lEVlIwUkJCZ3cKRm9JVWFIbGtjbUV1WVhSb1lXeHBZWEJ3Y3k1NGVYb3dFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3TGdZRApWUjBmQkNjd0pUQWpvQ0dnSDRZZGFIUjBjRG92TDNJeE15NWpMbXhsYm1OeUxtOXlaeTgwTmk1amNtd3dnZ0VPCkJnb3JCZ0VFQWRaNUFnUUNCSUgvQklIOEFQb0Fmd0J4ZnBYendqaUtiYkhqaEVrOU1lRmFxV0lJZGkxQ0FPQUYKRE5CbnRhWmg0Z0FBQVp2aGd2eWhBQWdBQUFVQUIzdDg3d1FEQUVnd1JnSWhBTzlxWE92eXZPRG8vM0lXK1JUZApLU1F4Z1AxZSs2NGpiVVRDbi91a1VJWXhBaUVBcDJsbERhT0ZENHdBek9pTGwrbWFpRWJtZnJCZUM3UlZNL1lDCmUydnFWaWdBZHdCSm5KdHAzaDE4N1B3MjNzMkhaS2E0VzY4S2g0QVowVlZTKytucktkMzR3d0FBQVp2aGd3UDQKQUFBRUF3QklNRVlDSVFDdEtVMHMrTDJCbmpaZU1ZMjM2MUxkaTIzU3lOTC94OTRCdWg1cnM2OS82UUloQU5hYgpETDAyT2xyRitublZlbmNwOUhFWEtBY0VKTWJPR0tUbUhDbmVXZ00rTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCCkFRQlpDaUVsKzVweldTSFhEMzhrTHpUaGlLWUNMYkxFQlBVNXFlcWJSZDdTVGcyQTFMQk9KZVQ0bTlENGlaaWoKdnpIVHN0QndBTjZvcEUwbUt5VU12dFRjZVBjL1pOc3JYa0YxMG5rc1pIblB5RUNKKzhNaFpFRjVTT1UyYVYwZQpadmhYZ1JEMnlNUElJRXMyS1ZWOUNaZ3pkOWRERGNJK29NV25ydk4zQVFxUGhUTUNaamwvZFRUZitWdE1sdjVzCnNQclM3K3ZodGFGdytVQjRJemxQdE9NTTh0Uk56R0FzUzBEeHlPVUUyYXh5eC9zOWM5dEZwUkU0UWJmTThqTmgKWSt3dEowTXNEMHpDVTVQbTN2TkJleGVYR2xnRWJHdVA4MjBlbXVnUDhYU2R0QW1CL2tjQlM1NG52L2pKYmhCNwpEbUZQcnMvOEd3cG9kZzVudkZSM2h6S08KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBb0hsRGNBbnBDTFYwTWphNlBYTW9WMG1MUFdTMFIvdDNBcnBGSjA4M3NNeEpJOXA0Cmx0N1ZYRUZWVmZEdzlWU3BKc01qeXpIelNNQ2JpM09zUlQ5Mnp0azU3dkJ1ZUx0SEpVcm1mYURjRllMdGZKb2sKMTRJU1BJUS84cngzK0VRVXc5QjlXU3JXM0V6dlgxQ3MwVVpuZit0dnlYb1JKZVVKU0xJcys3ZURnRXVxU1B2SwpxdTBQSnhDSVpzQTZoRVhsWHlPc29qbE44QkYrMjdoVXNrc2VFS2owWm50L3drWkREbXpQTHg0OU9tNm9WNHFMClZEb3M5SWVSTDFqZWhHbjQyMTlnMEN5ZGpLWUhHQUJ5ODlpSjZ6NXZtQm8waU1OVTlCMVZrUFhmYXZ0TnpqUTYKSlVnWDlNR09jVEpidCtCa3dTY2xxeFNXeCtieXJ0bWZ5QUpnMU54TlFHV3NHUWwxblkyYlZGTENkUFFVZmpuNgp2K3lkbDRYTHp2bENZVDVlem9FTll4MUsraFQ2NFdwZVVSZTRVWU1ON2pDZXNGY0F1TEwrZGZIbThXc08xckN0Ck9CTHZjYVpxWXZFNzJES1Y0d0pDZlNZQjBYckRrek5Ncm9yM1pYNjBYUE10QUJkM0hEU3djRVE5NXZXOWxKcDkKTTZkNVNvYVR6L1c4MklHY1JOb3hFVWx3bW9IVFBJQ1R3c3dkOEwzY2U2RWlIVHd4YUR4dmx6TUl3eXJsSWluKwpDUktocEhLQjJRSXlRVGxGV0tYZ1JRd1pWY1hQeFk4Y0NWM0N3dzY2SmpCdDBXdTRtZjNQT1dmOWViYTlyNENXCkdDVWlSa2d4RnkrMjExUFlxYStGVmhneFFYdy9HYUVnR092Vk5yV0NKbGZjWEg2Yll1bk0xamRtakxzQ0F3RUEKQVFLQ0FnQWdMZkQrQ0o2NFpscTByeEROdmNmN0tQNUpBMmE3Z0l1dStsZGZ1Sno4VVJyaG02L080VVI3eVlZcApRN1d1SEpvRzhkNjlvbmljd0RMdzFmTlh0NUJGam4zMWtqVTA5S2tocTFGcEk5YStZWkRxQ2FjVnFEbXI5UUUxCjFlRmc0WllnWmpDY3J1Q0RNTkpYbEwveS8yRkYzNXA5Rm9OVnpBWCtrK3c5VmVHQzJxbDlGVERnOGNTMkdyU2YKbGpDbDBiWmJTN1lVbWRVdExQVDVibzlkYVg3UDdIR0dFNEhkSFdYWkFLelRVQWNMTHFHSFhIcndHdkprM3NLWQpjZ085SGRzUGNxTGhXL0VFQVU4dTJ2Z3lPZHYrVm5qZVVYTHpjZWdaUThDaTN3czhVc1NaY3hPdDRqVWJtYXpNCnVrSjJMd05GVUdwWFVqdWlQb2V2MUdnY0hZMzVFQko3TG95YkhJZTBGQ3JLNEhnemE1aG1FLzJKeGkxY3llTUMKcEdzcG1xSjhBMEc3cjcwajNOS0ZSYU8vTlFmTWtVSG90eEFCM0l3ZTZlNDYrK3NJWFRSSC84dUw2ZWNQRFhsRwpTZFhHRHRpWjlZVkJDN3dpL21mcnh1WHR2dk53QXdpWUhRaktUdllPV0Q3RzFVZ3M5dVFOcXRPWmJZZXFxSk96Cmk4ZFJaeUY5QzRiZnBLN1RhVFZXSC8vM2lGbkIzdnFUR09qaXdsNllYNlFXR25Da1RNaDRNQ3Y1Z0cyVG1RRHEKNFNPVDFQZlM3Nk05dm0xZE42dkZFVkxGTWt5bUdzOW42ZXNCOUV4Yk03R0ZxSlRMVms2UitmcjN4U2htRmJ1WgpTMEVGd090UWxRYnRVL09kMVM5OVlzeUgwL0lRSUhCSVlUSlU2QVU1YjZTYWtUc25jUUtDQVFFQTByeUN0SWs0ClJMYXo2d01TQUcrdktXWFM3NkgwVUp0WkdtTERGR09aTGxmMlY2dnpRRENRd0JjS2ducnI0djhia3lzUmplTUQKVDc4UDJhY1gvVDRtYjQ0NUd1MTY0eFdTWjZyb2lRcndJeEFEVllKdFBLTGJWQy9lWjJIa1dtWnJVcXI1TzJQbwpObGtmcXdMVjBXVDdobXdsVVpHNTZBdlFYMEUyaXJ3TjJEN2JGZy82d09TUWtHbkI2dG9PMjZGYmllbUFyMEsyCnRjRlkxbUh6THEwemtrcVZEQkRZU1ExaGZjSDZCZ05HSGhJWURQci9odkN4cUZjajhIZ2tqdUY3SzIxYmc0Y08KYk1ZNWhPOFk3eGpBQ21FQU1qYXdjSUFyZU9ONmlQZVh4YTUySjFHRGxQWmVmYzdkTTg5ZTFaOTBFSC82cGMxYwpEb3pUTDE1ZjZrbXgxd0tDQVFFQXd2RUYrdG5XSEU5U2NBSkpDWExxZnNFdVYxUGtIc1d1d05BQlJQSjBrOGpaCkVBL3FqbG5PUEg2QlQwUUpTVkF2VlJldzNhQUpNZGJPSzdlbjc2SWdHblpZakVwd1h0RVdjSkg2aFpDaGlGeHgKenREWHJLWlNBVzVoUUpyelBFVWE3V3Jyc1RrSkZHdExkb2NEU1V3ZDU2NkpOdVZrbkNYN3pmdUYvTTllV0wzQgpaM3gyazN4Q013RW8wcDNiTkRZYUFBSU9VVWlpcDByMDV1SEhHOS9aK3V2Zys3ZWcwMm92YlI5NmxpUU5yZGxNCk43QjBndUNtMG5TdW5GaERuUmZrdjJPbGhZanBiRXgvdDJRRUVhNmMzSEI0Y09rMVNrV05nTENnT0E3bVlSR0MKenB4cnBNRmdxUU92V2NKdnFtbVRFTmJWRDR2bkI1RHQxaUZ2bW4ybnZRS0NBUUJXQzJCMjVIeFVHaUZXT05lMQowK1E2Uy9nWG5oSUtnNU9iSVc0enVnTUdtQ1hlWURnZkluVkg2V0NDTER4Nlg5MWJkcjloSnFyb2VjTzRBL0RZCmx2TE1vODZQUHgzbzhKcnB0eS9oSE5VMkM4akF0bE54NmJFU0s4VnNndHpoU0daVHg3bWgxVVl3UXEyYWZycmQKRjVWWHFucUdWckVJblNKRWNuVVpxblVnc1hGMURhczk3VlZWa2NqNjRuUWttenFzRWVwWUpTNURBaUlLenMyagpabGJqU1k2WDhaek9IeWVLV0pTRXRmdUFOYlVhUDdYcjNBVStEZTUvdGg1L05ITzlKSmEwR29YNlJlbWdiSnZLCnJGbGxJM3dZQkpxQUpPVWJKQTZaTkRjRklSbmZMZnBDN1dGaGp3QmtzaXd2bno2ZHFoT21kVFk4UHFYUDlvSEYKUUxmYkFvSUJBSFJaUEZOeTdtcXBJUysrL1c2SlN0SHFaTWswUmNQa0FxQUx4YVlyKzA0MUl2Q0dQMTFFMW1XZQpyM2pxeDR3ZE1wTGI5L0RlMG40UGthL2dCbmhzMERKYkRoQjFZVW9HQ3htVzF1b2UzM291aXJLQVRTazdmMWhoClUrUW1WeVJTcm5halNSYldUc2dFSGQ4WlIrbllaMFRmRkFCU3UxREREdDNxMEJhS2dlbi9IMDZ2cDJueFVPVjIKUExJd0N5UEhZbzg4cXVUeXNEbWU4RHBZNk9pSEcyZTZudVk5dTl4UzFRbVJMeTRyU0lySlZjY3JKdTd5UEQ4Qgo2ekZmTU1PeS9oRUkzVUtzNjN4NjBBTlp5MS91VXFyeTZiK2lRTzhhUWhGYjJkUjdlQjdaUDdRbkFjd3NxbzlWCnByT3c2OHJQQmpxWHJrU0FJSnlRY0pOTUUzc21vaFVDZ2dFQkFJWDlZZWU0OStRSG9DUHI4ZkhHajkveTFoT2gKSmFyaXdQMFZ3WVQvUG9xK2xnNGRWbERDc3RaNXJlQnRabnRGMk5VdERXajQzWXVrTy84LzBtOXNYK1BJQlFidgpMZUZrTlpwVmcxRWRVazlJOXZzaTJ3bThGd016YXRYZXBvTkU3TGUwU21DL0N6Rngrc3BWWEM3cmdDbnIxc2hXCnp2amlYNHRRb01ZbzJCclBOUmF5Zmc5Sm5tY0JkcWF1K0ZFUm5MK3Q3K1A4Mm9rWTBob1VEdElEZit6NjVnT2EKSnNPSmRiSG9DcktjUUI3NDlkSVlDZzZTZldiY1hFbXRiTmZsalRuRzR2em1Hck9DQmt6S0JBWTBvcGo4cWJZUgpVd3p3UEI2MDM1VUNyb2Z3TkpoMlN2OXJKN0M4SThsaFFicUVYUHVIS1ZjV1pka20vUEJzNW9UUWtEcz0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -51,7 +51,7 @@ "domain": { "main": "pyload.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCakNDQk82Z0F3SUJBZ0lTQldmbEpLK1FzMVFJWGVidUt4V0xWdDVsTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05NalV4TVRJeE1qQXdPVEV4V2hjTk1qWXdNakU1TWpBd09URXdXakFnTVI0d0hBWURWUVFECkV4VndlV3h2WVdRdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUUNsSGRMa0FPeXJDZVhZTkhobm94Uk9BRFBjazBTWGc2ZExIVCs1YUhkVElVcW9kUzBuUFRVUApHdk5MWjB5bDROaWxUZmRFd1gwUytra3FPenVHUkZVQ2dWUTlNS2Y2eldIVlZ2U20wcXplK2xOVzhKRE1BVDVPCkNUTS9CcU5XNm4ybXdmV3ZTZ2ZzTkNieGJzSDhIMVdhT1QvcEZYOEJjTFNiNmZtQlNWLzUvWDMxQm1WenlTeEkKZTluRjhKQjJWckV0UXd1Rk0wVnFKNDh2bk9qL01ja01uYzNoMnVmRHQ2bkFMT2hUbGh1YXc3L3hnZk1iTzU5dQpVNmc0emlMSk9leFowcWFiOUMzUzk4RWZodzdxbytTcmg0TjhMUCtxNFhJUTg1N0IrY0c1QVJBNjhSam1sNG1qCitPNERpelZmNHlpRkNnclpjMW9uSW50dCtjOHgzbXl6S3JBMFNZckxPbFIzei80NFp4eXFZRFVFdmV0SHY3bDUKTVVLdFZyVkFHR1pwRStyeVJQZGxTU0l4VkdHVmdIT3BzMUJSNDcrU0ZGU2xlQlR3TC8vMXlrdG9SZmxFZUpSRgoxcm5yYkJUVUY3TS9kNGw2NWVjcmZTQUhGUm5yWWs4TnpiNldDdkJYNDNEVUZDeGh3ek9LYlBXOWkwcVdzV1dZCjFudjdidXBiWEdQelNDcTFFSXBLZHo5aFkrTExxSDQzTTdoMU54ZkZITTh0OEpkY2grdXA2WFZ0ZXNSNGZRMysKRGpZSEVhcnFzWnlBdFJxSUxUTnY1S2Vqc2t4NXU1Sk5ra0I5Wk41UjY3ajB4SXVBbU44RlNJRTV4cmxoQ3RiRQpqNk4xd0V0UWV1Q05uTkdOcjlxR0cydkNka1JTb0w4VVg4Q1NYcWRucFVlcmlwQzVnK3F6ZVFJREFRQUJvNElDCkpUQ0NBaUV3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJRdDRPdkNDMnVCYXBLWnZ5STc1NWtjWndqLwpIekFmQmdOVkhTTUVHREFXZ0JRQXRTbnlMWTV2TWVpYlRLMTRQdnJjNlF6UjBqQXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRJdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZYQjViRzloWkM1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdgpCZ05WSFI4RUtEQW1NQ1NnSXFBZ2hoNW9kSFJ3T2k4dmNqRXlMbU11YkdWdVkzSXViM0puTHpFd01pNWpjbXd3CmdnRURCZ29yQmdFRUFkWjVBZ1FDQklIMEJJSHhBTzhBZFFCa0VjUnNwQkxzcDRrY29nSXVBTHlyVHlnSDFCNDEKSjZ2cS90VUR5WDNOOEFBQUFacW9Qb2tVQUFBRUF3QkdNRVFDSUNEVk9hS2xDUlM3OUpRUFpSYVFjbHM2bGNFMQpkWXJaUGpzUE4xT01ydE1QQWlCNjNBdEl4QmhTQWxIbzJlNTFkeUtFV1lIVVZib0xQT2x4YUZTSSszMjB0QUIyCkFBNVhsTHp6cnFrK014c3NtUWV6OTVEZm04STljVElsM1NHcEpheGh4VTRoQUFBQm1xZytpUllBQUFRREFFY3cKUlFJZ0xvQmJZK0hrZEdpOFdVTS9jSkJOY1dRSVlWRXhkdUxMWVphaU01ZjRNYm9DSVFDOGE0K1dsUlVrRkRrZQo2Vm4zN2JUdW1ESXVqdUxQSEJDTmlLemFWdTRNVWpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQTFsT0ZSaUdoClRzQkR5V0N2YUpvbGdRYnRoSUMzUFI2S3JtOTBZWCtiTFdhckJVRkpMeC9iQm1PQlpNcE14blp0Q3ZpR3JDRkwKRThZNUFFU2k0dWZUTGtYR0EzaGZXN0d2N24vVldZdDNEOEt3cHVHMTFjaHltVi9Wc0g4UWxkWUN3RnpMdTVjegpSdWdRcHJDZVBqdFBKMHpBMk1XT2JCcUpaM1FQZno0bndXdVNOdmlFeTJ6MmFIdzVLdjR2NlVHMUhnWlIzQ1NXCjZraTVkOUdlY1Z2eGZySXRFUGEwanlFbDdGVGpwV0hQNUduMU9iNVVZVCtIbXJ3VkdaSUpxTlhSZGVyQlk2eE8KOHdGbTlpb09KaXlFbFVEUDNzWGVPQ1ZoRVJMQmNlNFQ5b0pJYWJwaTRhR3RDd3ZYYmN2bUViaXYzQldsbXpaNQowdE1uWW5xK1R0dEU4UT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCVENDQk8yZ0F3SUJBZ0lTQlcxZ1J6clI1ZVNudXZ6NEhheEtvU3cyTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXdOVEUyV2hjTk1qWXdOREl4TVRZd05URTFXakFnTVI0d0hBWURWUVFECkV4VndlV3h2WVdRdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUUNsSGRMa0FPeXJDZVhZTkhobm94Uk9BRFBjazBTWGc2ZExIVCs1YUhkVElVcW9kUzBuUFRVUApHdk5MWjB5bDROaWxUZmRFd1gwUytra3FPenVHUkZVQ2dWUTlNS2Y2eldIVlZ2U20wcXplK2xOVzhKRE1BVDVPCkNUTS9CcU5XNm4ybXdmV3ZTZ2ZzTkNieGJzSDhIMVdhT1QvcEZYOEJjTFNiNmZtQlNWLzUvWDMxQm1WenlTeEkKZTluRjhKQjJWckV0UXd1Rk0wVnFKNDh2bk9qL01ja01uYzNoMnVmRHQ2bkFMT2hUbGh1YXc3L3hnZk1iTzU5dQpVNmc0emlMSk9leFowcWFiOUMzUzk4RWZodzdxbytTcmg0TjhMUCtxNFhJUTg1N0IrY0c1QVJBNjhSam1sNG1qCitPNERpelZmNHlpRkNnclpjMW9uSW50dCtjOHgzbXl6S3JBMFNZckxPbFIzei80NFp4eXFZRFVFdmV0SHY3bDUKTVVLdFZyVkFHR1pwRStyeVJQZGxTU0l4VkdHVmdIT3BzMUJSNDcrU0ZGU2xlQlR3TC8vMXlrdG9SZmxFZUpSRgoxcm5yYkJUVUY3TS9kNGw2NWVjcmZTQUhGUm5yWWs4TnpiNldDdkJYNDNEVUZDeGh3ek9LYlBXOWkwcVdzV1dZCjFudjdidXBiWEdQelNDcTFFSXBLZHo5aFkrTExxSDQzTTdoMU54ZkZITTh0OEpkY2grdXA2WFZ0ZXNSNGZRMysKRGpZSEVhcnFzWnlBdFJxSUxUTnY1S2Vqc2t4NXU1Sk5ra0I5Wk41UjY3ajB4SXVBbU44RlNJRTV4cmxoQ3RiRQpqNk4xd0V0UWV1Q05uTkdOcjlxR0cydkNka1JTb0w4VVg4Q1NYcWRucFVlcmlwQzVnK3F6ZVFJREFRQUJvNElDCkpEQ0NBaUF3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJRdDRPdkNDMnVCYXBLWnZ5STc1NWtjWndqLwpIekFmQmdOVkhTTUVHREFXZ0JRQXRTbnlMWTV2TWVpYlRLMTRQdnJjNlF6UjBqQXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRJdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZYQjViRzloWkM1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdQpCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dmNqRXlMbU11YkdWdVkzSXViM0puTHpVMUxtTnliRENDCkFRTUdDaXNHQVFRQjFua0NCQUlFZ2ZRRWdmRUE3d0IyQU1zNDl4V0pmSVNoUkY5YndkMzd5Vzd5bWxuTlJ3cHAKQllXd3l4VERGRmpuQUFBQm0rR0RKSkFBQUFRREFFY3dSUUloQUplUkg0SDYvTGh0bEhiakorUXFaWS8vL1pCZQpWa3lCeTh4UWtnRjZQYVVMQWlBQ2dNNXlaTUtWWmswSngxNWdzRFk4c3RTUXFjTnZPMGRKZmNUMUtsTDdPZ0IxCkFBNVhsTHp6cnFrK014c3NtUWV6OTVEZm04STljVElsM1NHcEpheGh4VTRoQUFBQm0rR0RKSDRBQUFRREFFWXcKUkFJZ0tQMXYzSkJLY2Zsd1h2TnRCUkJTM2pFY0VFS2RwY3dzU1phZ3ZhaTlVM0lDSUQranBlSUhsTkJrUmNlTwp0cXpsakc5cWtERlBNQ1BwNXZVRGZnZm1hLzhkTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFDSUpBN3lXSUp2Cnd4cno4K00yQ1JaVndGaHVFV1ZhTVh4UXovUnR2Z0xXZlgyWGNXeHl5bjdtdlBvQlZ3YXlWOFVoamxCSGNhQmcKbGJNT0lRUU5ja3BKRkxIenozR0pmK0ZNU2FIbS8wb2Uvb01rWlREdnFua0VTdVRqMER0U0NQOXgwN3hMdHY3MgpHZmR4Y2I2VTgraGFwL3l6UG5RUnpYZG1ZMHAvc2s2MXI2MlBPbkprTU1vZWhUZWJKRDdiMWxCM0RzdkR2R1YyClE5WEVtUFh4emVQZ3FoaGh2eXA1T0dCYnJ6VGp6L2E2aW96NkNOSXlFQ3F1RVF2MkMzc0tBRHNpYUdjQk9aUDEKNUdnbmN1d0lYMjJFeHhPT3lDOTJjQWUvVmxLK212Z25FVlY3NjQrTmE1a2RObDBPQ0loelNRYU93Mld0RXJ4QgpoTmFyZEs5WXYrTXgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCakNDQXU2Z0F3SUJBZ0lSQU1JU01rdHdxYlNSY2R4QTkrS0ZKand3RFFZSktvWklodmNOQVFFTEJRQXcKVHpFTE1Ba0dBMVVFQmhNQ1ZWTXhLVEFuQmdOVkJBb1RJRWx1ZEdWeWJtVjBJRk5sWTNWeWFYUjVJRkpsYzJWaApjbU5vSUVkeWIzVndNUlV3RXdZRFZRUURFd3hKVTFKSElGSnZiM1FnV0RFd0hoY05NalF3TXpFek1EQXdNREF3CldoY05NamN3TXpFeU1qTTFPVFU1V2pBek1Rc3dDUVlEVlFRR0V3SlZVekVXTUJRR0ExVUVDaE1OVEdWMEozTWcKUlc1amNubHdkREVNTUFvR0ExVUVBeE1EVWpFeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQgpDZ0tDQVFFQTJwZ29kSzIrbFA0NzRCN2k1VXQxcXl3U2YrMm5BekorTnBmczZER1BwUk9OQzVrdUhzMEJVVDFNCjVTaHVDVlV4cXFVaVhYTDBMUWZDVFVBODN3RWp1WGczOVJwbE1qVG1obkdkQk8rRUNGdTlBaHFaNjZZQkFKcHoKa0cyUG9nZWcwSmZUMmtWaGdUVTlGUG5Fd0Y5cTNBdVdHckNmNHlycXZTcldtTWViY2FzN2RBODgyN0pndmxwTApUaGpwMnlwelhJbGhaWjcrN1R5bXkwNXY1Sjc1QUVhei94bE5LbU96am1iR0dJVnd4MUJsYnp0MDVVaUREd2hZClhTMGpuVjZqL3VqYkFLSFM5T01aVGZMdWV2WW5udVhObkMyaThuK2NGNjN2RXpjNTBiVElMRUhXaHNEcDdDSDQKV1J0L3VUcDhuMXdCbldJRXdpaTlDcTA4eWhEc0d3SURBUUFCbzRINE1JSDFNQTRHQTFVZER3RUIvd1FFQXdJQgpoakFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdFd0VnWURWUjBUQVFIL0JBZ3dCZ0VCCi93SUJBREFkQmdOVkhRNEVGZ1FVQUxVcDhpMk9iekhvbTB5dGVENzYzT2tNMGRJd0h3WURWUjBqQkJnd0ZvQVUKZWJSWjVudTI1ZVFCYzRBSWlNZ2FXUGJwbTI0d01nWUlLd1lCQlFVSEFRRUVKakFrTUNJR0NDc0dBUVVGQnpBQwpoaFpvZEhSd09pOHZlREV1YVM1c1pXNWpjaTV2Y21jdk1CTUdBMVVkSUFRTU1Bb3dDQVlHWjRFTUFRSUJNQ2NHCkExVWRId1FnTUI0d0hLQWFvQmlHRm1oMGRIQTZMeTk0TVM1akxteGxibU55TG05eVp5OHdEUVlKS29aSWh2Y04KQVFFTEJRQURnZ0lCQUk5MTBBblBhblpJWlRLUzNyVkV5SVYyOUJXRWpBSy9kdXV6OGVMNWJvU29WcEhoa2t2Mwo0ZW9BZUVpUGRaTGo1RVo3RzJBcklLK2d6aFRsUlExcTRGS0dwUFBhRkJTcHFWL3hiVWI1VWxBWFFPbmtIbjNtCkZWaitxWXY4Ny9XZVkrQm00c04zT3g4Qmh5YVU3VUFRM0xlWjdOMVgwMXh4UWU0d0lBQUUzSlZMVUNpSG1aTCsKcW9DVXRnWUlGUGdjZzM1MFFNVUlXZ3hQWE5HRW5jVDkyMW5lN25sdUkwMlY4cExVbUNscVhPc0N3VUx3K1BWTwpaQ0I3cU9NeHhNQm9DVWVMMkxsNG9NcE9TcjVwSkNwTE4zdFJBMnM2UDFLTHM5VFNyVmhPays3TFgyOE5NVWxJCnVzUS9ueExKSUQwUmhBZUZ0UGp5T0NPc2NRQkE1MytOUmpTQ2FrN1A0QTVqWDdwcG1rY0pFQ0wrUzBpM2tYVlUKeTVNZTVCYnJVODk3M2paTnYvYXg2K1pLNlRNOGpXbWltTDZvZjZPclg3WlU2RTJXcWF6enNGckxHM28ya3lTYgp6bGhTZ0o4MUNsNHR2M1NiWWlZWG5KRXhLUXZ6ZjgzRFlvdG94M2YwZnd2N3hsbjFBMlpMcGxDYjBPK2wvQUswCllFMERTMkZQeFNBSGkwaXdNZlcybk5ISnJYY1kzTExIRDc3Z1JnamU0RXZldWJpMnh4YStObWsvaG1oTGRJRVQKaVZERmFub0NyTVZJcFE1OVhXSGt6ZEZtb0hYSEJWN29pYlZqR1NPN1VMU1E3TUoxTno1MXBodURKU2dBSVU3QQowenJMbk9yQWovZGZybEVXUmhDdkFnYnV3TFpYMUEyc2pOalhvUE9IYnNQaXkrbE8xS0Y4L1hZNwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBcFIzUzVBRHNxd25sMkRSNFo2TVVUZ0F6M0pORWw0T25TeDAvdVdoM1V5RktxSFV0Ckp6MDFEeHJ6UzJkTXBlRFlwVTMzUk1GOUV2cEpLanM3aGtSVkFvRlVQVENuK3MxaDFWYjBwdEtzM3ZwVFZ2Q1EKekFFK1Rna3pQd2FqVnVwOXBzSDFyMG9IN0RRbThXN0IvQjlWbWprLzZSVi9BWEMwbStuNWdVbGYrZjE5OVFabApjOGtzU0h2WnhmQ1FkbGF4TFVNTGhUTkZhaWVQTDV6by96SEpESjNONGRybnc3ZXB3Q3pvVTVZYm1zTy84WUh6Ckd6dWZibE9vT000aXlUbnNXZEttbS9RdDB2ZkJINGNPNnFQa3E0ZURmQ3ovcXVGeUVQT2V3Zm5CdVFFUU92RVkKNXBlSm8vanVBNHMxWCtNb2hRb0syWE5hSnlKN2JmblBNZDVzc3lxd05FbUt5enBVZDgvK09HY2NxbUExQkwzcgpSNys1ZVRGQ3JWYTFRQmhtYVJQcThrVDNaVWtpTVZSaGxZQnpxYk5RVWVPL2toUlVwWGdVOEMvLzljcExhRVg1ClJIaVVSZGE1NjJ3VTFCZXpQM2VKZXVYbkszMGdCeFVaNjJKUERjMitsZ3J3VitOdzFCUXNZY016aW16MXZZdEsKbHJGbG1OWjcrMjdxVzF4ajgwZ3F0UkNLU25jL1lXUGl5NmgrTnpPNGRUY1h4UnpQTGZDWFhJZnJxZWwxYlhyRQplSDBOL2c0MkJ4R3E2ckdjZ0xVYWlDMHpiK1NubzdKTWVidVNUWkpBZldUZVVldTQ5TVNMZ0pqZkJVaUJPY2E1CllRcld4SStqZGNCTFVIcmdqWnpSamEvYWhodHJ3blpFVXFDL0ZGL0FrbDZuWjZWSHE0cVF1WVBxczNrQ0F3RUEKQVFLQ0FnQlZWQkJFRytZeWphN21DRmVnMXpvTEJUZkg2YU1zMmJCK3RPTFZvaExvTnZBcUZrUDdYem9vVURraQo0b05OeGVDdnJKYjRSVFdwdFFaU2VNSE9KVW41UFhTWEdxbjBobWJrcFVkUlh0WlBkUFhVbkFWNEo3eFcvNUlvCkkvb05WS2tTb0hHaTRKTXZrZFArT01xdXpGS2tuS2xXZnZGZmdTc1UxOWxFNHZKaWNvbkJNa2tEaVJjRmJsdWcKV3kyTXVraGRwNlF3ZGNxTmpWd0Zzd1VGdkdpMXlHYzVMTE5SQlgwSC95MGc1UlhtNlBvc2lJZGxyMjQ0eWFySgprRjJSdUFsWWNlLy84RFF1TGpMelpBeGxYY1V5ajVsM2RwbTVhVUJWV2xEVTFZa3pYa1ZROEg5NXl4NHFTdDVWCm5uODZ5bDJLUXlKUU5iaUZPT0NvZU15R2JQZW0ydXQzYktYRjRXWm82Yk4wajR0WE9RYlVDNnZ6Um91WncvREQKaHVLcHVQVjllUVZrdzJBRnRvcGZ2M1A2UGJhSWdxblZLZElwTWNNaDlVdUNoSk1ycG8xQ3orM3Y4RVhkL0l2OQpubzBzVnUrN3lUVkFKUW12TTRNZ3JRQXZIdjhWRXd5YkFKT1N2Z2RQYlhScmgvY0MxczJzc0RQMEFOM2NKSUgxClVSTVZGL2JSVi9BMXRVMkpqVG5TYnRXRU5ucnI2QUZTV1BTVk5kUGl1NytSZDJOWkJUZHFxSHZuL3dGNE5lTUgKdllhSGtJZUVSSEZVUVlPY3p0SHZteHRLVlRRbmFtWTFiV2FWeXBWcjlQM0FtL3I4UWN3L0xCa0JQQTNML29TRgp1QXZDc1crNkE1bk15Z2prQm5ZMGI2T0N4NnI4WXZwUUlIMVlNWFpISUNTcWlCTER3UUtDQVFFQXhudk1oYy90CjF5MzhIenpKRTh4cUttMXJWdEdNaGU2RWJuQ3EzZUFyK0F0VitSbkpwbEpuY09LcUFvY2FLbTVvRkpEWmtxbW8KM29pWnVvQUo4VVY1a0RXc3NpSFVRMjREQVV2aUE4UU44aGRzVStSZm9kQmhjdWpOemJRcmhWalluV29KcFJKdQowSWQ0Ry9IQ0J2TjZLSHI0ZUdoTENGVUpoK0M0NFArYXdWdksxbk41WTlDZFYxV21JMjAzNUJWTzRjZmd2N292CjEvSFRGRUdveHNOYktHRDAyMk1vc3Q0TjRpTFFJWVppZSt5TlJpY1llcVkxUXRadVk1SmhjaFN0Qllvc0MvTnUKNXlsbGw4M0lRcWhrc0xKYW1qRHcyQkF5aXViWlVhaFYveFRKMGtUaUZQM1lNSDRTRWdjRktHcjRkSFlsQkY2OQpoWjMrZm5Fa1JjYklIUUtDQVFFQTFQYTlCc2c5WThoM0NJNHJYVm90WHZHOUh5UWo0V3llMWliU3JFNVl3MFNmCk1lVVpyWU9pVllxZGQ5eG5iYmdNcTJZUStkelZyY3dqZ0lhby9Qd1g5RnNrWFBXVmFRVGxEbitsdTgyMnFtNDkKY0VDdmpTNzV0aVVORXdZZGVodFYra21lT2tkWVcxNlJ5RDlGMEQ4aW92MktTRjFwT1Z6R1VTRmVhSHVuQ0xIcQo5SjhuVUtwVFZnSWFmTGZVVWF5bGF3YUxCQWJwd2ZnTVY5UFZZajVZaTgxek5oVVY1ZDhZZXZiSUNDSFZPYmNyCnlyUEJqV3lPd2Y4dGFJYVgvd0RJTXQ4aTZNYVVvOGpPSXRkZ3BGKyt3dnJiUGFVSDBhc0dvZlI3emVWaVZQUzEKQ3FZdmpVWVg1WGdrd0pQZ29WQmNDR0w4R2U2OWl5anVScmh1V3RxU0RRS0NBUUVBb3lpSFFvUmZYaUJWL1pPcApNMVk0KzNHQTZCaFBySlVhVmZMVjhwZmhiUUJjaHUyVTN0MGtYUjVtWkxlTVljN3FUZVdZaE1Ca3FiR2V0VG1sCmNxa0t1ZW4xY1dUdnFSSlk5QXJkMnZ5aC9oMFZGbzFIczZ1cFA1MXgrQ09nRnZpbThCZUhvQ05iNXAxRnRhcngKTldlV1JvcDNqL3NqbXREVWlkYklBMlQ2WVBKRTlpNXNYZ25TSFVXeDBiTnBXMXZNd1RyZVhKei8wVUxmb2VvcgpoR0I0b2VPNXhGSnAxVWRHSUZzL3ZoOUsrOVhEZUNTUk1kbEpOUTB5SnpYZ1ZyZjZWdkJ6THN2SW9jdGMwUUgvCkdoUjAyTzkwSFFZWUpYU0RKNzJHYldLMGRvQXZPMk1XZWUwRmR5OWJTV2h0N0FDckJvbEwrcUNxcUpqczZDRzMKa0loTVhRS0NBUUVBcDNsSitaVnF3WmVhRkQ1SlYrWmNtN2ViTkd3bFUxY3FLZHJwL2RxMjd3aDk4S3pyM29vUQpGUmttOEdXQmFNVStJV1Bvb2JYS3pCd25KeUcrcndSSWlqOUtmMWdab1RiYU11YXJITitQY01PMHlSdjFjaCtvCi9GWnl5NjBaYlRjbUMrZnM2SVBHdGtQT2ZSMVU5NGxPNGNKbEJyZCswajlsTGRRQi9FU1JmTUw5dEZXY2cxRU8KckNxSFRlRDZ0U2dDQmdKbFBFdDdkTEJ1ZEhyLzZYeUNBWjhWcFVnN3FrUWhha0c3MkxsU2gwckd3MmROSkx4awpINmRldkQ1c05Yc1Y5UHVJNW1tVDVxRTVpaWk1dFVvZUtCTkNhbDNub2pqT3hIb1JDa0FEYmkvcVYyK05JWm9uCm5LczRxOEVlKzN6SWcwZmtYVGhrRXBXam5EWFpndFV6MlFLQ0FRRUFpODVuVHo3MVpBWTdMaU8vazVWV1ZJSkIKN1BlVWVuSTY1L0VqSXo3UVRhRnkvTGcvN0pjOEtJR2xWendWc2t6NnE5TTk5SjRWcks0ZUlGZ3FoMGU2YmRWVgpEcDAxblY0bUVBVjIxMStDZFpjQndoWDhaa0V2T0ZkcldvUUJqV3VKOWY1aGNPalBSQzJrdzQ3ZTd3bVJlWkp0CkNwT1J5UGZLMjBrNU1YblQ5Rk9GQ053L2tydlJLTGViaEpRRFY4akhWRUQ2cUNac1o0Ly9qTlI4VElOYnFsZ2kKeWUyOFpEMDJhQktTaVVOanNTZjIxV0Zra0Z1M3N5bVRqTTVmRmZXNU1nQ0pOeW16MG9QOGpYNkoyNW43ZWNsZgpUMXdmQmVKb09wM201RnVFb2lnd2hKdUxqQ08wU2RNZUNnK05wSHRHYVRtRzZjWlNjK2FzZEdxa01NVS95Zz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==", "Store": "default" }, @@ -59,7 +59,7 @@ "domain": { "main": "oauth.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCVENDQk8yZ0F3SUJBZ0lTQlU5eDFtcnE2cUdWakVxbGY1NE5PR2hrTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXdPVEU1V2hjTk1qWXdNakU1TWpBd09URTRXakFmTVIwd0d3WURWUVFECkV4UnZZWFYwYUM1aGRHaGhiR2xoY0hCekxuaDVlakNDQWlJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dJUEFEQ0MKQWdvQ2dnSUJBSmhJbG9BMjhtNnN3RnlEMllxRktFeWZDQzNkdDBsUUc3Mm5XVGNjQy9LUkhoVEM0QjRxUHFKSAo2K3RBYXlldWFuc1NiM2UyKzhRMm9aTE50VFhFWi9ObnVQaUdaR0N4WHBDZ093OGgyRlFiZWk0czBwTS90dHhVClliUnNuME44VC9ObnJiVVBYS2diQzNrR2Q5OTFZVERkNjFGSlVLSkFha3dhZG5mbHJ0aEtnWExrWDhpSDhZYVEKRTkzeHF1ZWxVZXhBNmNQdW8wMDhodGpoTm1NUjNJUG1lOElrS0JIWElkbVBtdVlJN1VmeFErOUZOL04yQVRyLwpDRDY2anBZM2o0Qkprb0tLSnpyaUt1bmVqUXc0Mk5QSC9xVEVmVG1wNGkxUUpjOUo4aW1aTnhKWnQzNHB0M2N5Ck05M014T0dCczF5SEYwYzVkZ24xcEd2cTBXQlhxSml6SEIzZFN2c1BGa2dSaTlIMmREN01EWDRtQTJrNHBZS2UKWWkvUEdMNFBFRFFldWQvZmd3RzJUbW1pSkFremtFWGpJK3dLUCtwYkYwcWVmWGI0d3B2WVhsTWhXOXJyTnl4SwpLQlRYWHRjZ3F1aUhSRkpaak53cE85ODhPTVQrYmtPWnorVm5oM1lVY2Z3bk44SmZvOHV5akVMZlYrSkxKL2RrCmIxV0pFa3c1cHh4c3ZCTHBra3hSeEdqbTZRZUQvREl6aHFRditNZnpYdjZ0RzNnWXE2RkZwR3JVbkExa1FvUzcKUHlZWHBiNUFuYlFHdUQyaVJsTHlxNnZ6b0lqMHVEUDZib1cwbmJJRktFNW1kb24vSDFGc3dYNnFMS2hscHlacQpEQ09ZTzNvU296UFJTK1VqSUluajAvdDRYWUdscnhZT3NLalh6VXl4TjFNcU9TUTRFVXBQQWdNQkFBR2pnZ0lsCk1JSUNJVEFPQmdOVkhROEJBZjhFQkFNQ0JhQXdIUVlEVlIwbEJCWXdGQVlJS3dZQkJRVUhBd0VHQ0NzR0FRVUYKQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3SFFZRFZSME9CQllFRkMvZHdUdUF6amRBS1ZxRSs1OUtwZlBPTWQxSgpNQjhHQTFVZEl3UVlNQmFBRk9lcm53OHNNNkJUMDE1UGVNaXloQTQ3MXBJek1ETUdDQ3NHQVFVRkJ3RUJCQ2N3CkpUQWpCZ2dyQmdFRkJRY3dBb1lYYUhSMGNEb3ZMM0l4TXk1cExteGxibU55TG05eVp5OHdId1lEVlIwUkJCZ3cKRm9JVWIyRjFkR2d1WVhSb1lXeHBZWEJ3Y3k1NGVYb3dFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3THdZRApWUjBmQkNnd0pqQWtvQ0tnSUlZZWFIUjBjRG92TDNJeE15NWpMbXhsYm1OeUxtOXlaeTh4TURFdVkzSnNNSUlCCkJBWUtLd1lCQkFIV2VRSUVBZ1NCOVFTQjhnRHdBSFVBeXpqM0ZZbDhoS0ZFWDF2QjNmdkpidkthV2MxSENta0YKaGJETEZNTVVXT2NBQUFHYXFENm8xZ0FBQkFNQVJqQkVBaUFsdmtHb0RYM245Q0tIL28vSURuSTJTb3NtNzJYawpOcFR5STRSa2VKTmJaUUlnY3A4MHFRd2FYTitBMXRNanBlbkd1Y1JDUjF5YVNzTHN2UlV2TUVURWxhMEFkd0FPClY1Uzg4NjZwUGpNYkxKa0hzL2VRMzV2Q1BYRXlKZDBocVNXc1ljVk9JUUFBQVpxb1BxaTJBQUFFQXdCSU1FWUMKSVFDZnFiamxnY3RCQUpYR3JORUtBZkJ5amM0bk5rV25ya2pUQVk1c2p3bjQ4d0loQUlsNVFDTStsZWhDV1JIRApzWktaUHhucEtZRzNoK0x3RzBwTVIwbnErd0EvTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFCUXdNNWFBVzVXCldTQXh6Ylk2cjRjTUtOVG52SmErVDRmclV5dGIrSGJKeWMwSG90cSszZlp2bXhLcWxCb2x2eHBicjNhOWxnTysKcWl2MEJJNzFyVm5tUUxibTRNbmpuN2RwTzRhUDJmaVZ4dXdLYmRNbW94VitnTjlCdGdCMWNwTG12eDFnMFFjUwpVbW11b0xwaDJsRTJXaWMxVjNWaUI5d1N0Q3JnTmxSY0xhRElyRmdTd2NEdjRJaDZSaSt0YStGZlBIUWRmbkNNClhoU1htSFo3a0Y1WE9EcGFiM2VhcmUzbVJiclI0enllaG9ZSStZa1ZhZkttbXFoVnRxMjkvSHVJaXQvY25CeVIKNElnUm5LZlhpeEdBZ2tnK1F3N2JaZHEwMHlhREgzdVJRRlRnY3dTTVppbGVocEE1WXV6bmpmWENOemNBekxQegpMQXdYbmpVZmRvNnMKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCVENDQk8yZ0F3SUJBZ0lTQlg1VU5RYXdTRmhCb2dHbzgycFJ1MUFxTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXdOVEl5V2hjTk1qWXdOREl4TVRZd05USXhXakFmTVIwd0d3WURWUVFECkV4UnZZWFYwYUM1aGRHaGhiR2xoY0hCekxuaDVlakNDQWlJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dJUEFEQ0MKQWdvQ2dnSUJBSmhJbG9BMjhtNnN3RnlEMllxRktFeWZDQzNkdDBsUUc3Mm5XVGNjQy9LUkhoVEM0QjRxUHFKSAo2K3RBYXlldWFuc1NiM2UyKzhRMm9aTE50VFhFWi9ObnVQaUdaR0N4WHBDZ093OGgyRlFiZWk0czBwTS90dHhVClliUnNuME44VC9ObnJiVVBYS2diQzNrR2Q5OTFZVERkNjFGSlVLSkFha3dhZG5mbHJ0aEtnWExrWDhpSDhZYVEKRTkzeHF1ZWxVZXhBNmNQdW8wMDhodGpoTm1NUjNJUG1lOElrS0JIWElkbVBtdVlJN1VmeFErOUZOL04yQVRyLwpDRDY2anBZM2o0Qkprb0tLSnpyaUt1bmVqUXc0Mk5QSC9xVEVmVG1wNGkxUUpjOUo4aW1aTnhKWnQzNHB0M2N5Ck05M014T0dCczF5SEYwYzVkZ24xcEd2cTBXQlhxSml6SEIzZFN2c1BGa2dSaTlIMmREN01EWDRtQTJrNHBZS2UKWWkvUEdMNFBFRFFldWQvZmd3RzJUbW1pSkFremtFWGpJK3dLUCtwYkYwcWVmWGI0d3B2WVhsTWhXOXJyTnl4SwpLQlRYWHRjZ3F1aUhSRkpaak53cE85ODhPTVQrYmtPWnorVm5oM1lVY2Z3bk44SmZvOHV5akVMZlYrSkxKL2RrCmIxV0pFa3c1cHh4c3ZCTHBra3hSeEdqbTZRZUQvREl6aHFRditNZnpYdjZ0RzNnWXE2RkZwR3JVbkExa1FvUzcKUHlZWHBiNUFuYlFHdUQyaVJsTHlxNnZ6b0lqMHVEUDZib1cwbmJJRktFNW1kb24vSDFGc3dYNnFMS2hscHlacQpEQ09ZTzNvU296UFJTK1VqSUluajAvdDRYWUdscnhZT3NLalh6VXl4TjFNcU9TUTRFVXBQQWdNQkFBR2pnZ0lsCk1JSUNJVEFPQmdOVkhROEJBZjhFQkFNQ0JhQXdIUVlEVlIwbEJCWXdGQVlJS3dZQkJRVUhBd0VHQ0NzR0FRVUYKQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3SFFZRFZSME9CQllFRkMvZHdUdUF6amRBS1ZxRSs1OUtwZlBPTWQxSgpNQjhHQTFVZEl3UVlNQmFBRkFDMUtmSXRqbTh4Nkp0TXJYZysrdHpwRE5IU01ETUdDQ3NHQVFVRkJ3RUJCQ2N3CkpUQWpCZ2dyQmdFRkJRY3dBb1lYYUhSMGNEb3ZMM0l4TWk1cExteGxibU55TG05eVp5OHdId1lEVlIwUkJCZ3cKRm9JVWIyRjFkR2d1WVhSb1lXeHBZWEJ3Y3k1NGVYb3dFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3TGdZRApWUjBmQkNjd0pUQWpvQ0dnSDRZZGFIUjBjRG92TDNJeE1pNWpMbXhsYm1OeUxtOXlaeTgwTXk1amNtd3dnZ0VGCkJnb3JCZ0VFQWRaNUFnUUNCSUgyQklIekFQRUFkd0FPVjVTODg2NnBQak1iTEprSHMvZVEzNXZDUFhFeUpkMGgKcVNXc1ljVk9JUUFBQVp2aGd6cGNBQUFFQXdCSU1FWUNJUURPWFNRb2xKRC85L1lIVnAxSjdRcUhTeEswZmV3QgpFYUQxNk1CZUFTNkZTQUloQUlIUlJrNFNjdkEzMEV6dVc2KzdEM1JYK2swUG5sUmpTRUxCTWQ1bFR4enBBSFlBCjBXNnBwV2dIZm1ZMW9EODNwZDI4QTZVOFFSSVUxSWdZOWVreHN5UExsUVFBQUFHYjRZTTdSZ0FBQkFNQVJ6QkYKQWlCWTNOT2VJeGFmdW1WUE45NkRDaVpkU1FqWDB0VkZSems3UzRwMFVxUzB2d0loQUxVeGM5MjJ5UCtvZWlqcwpPTCtmWjhtb1NuUVJpbVFmVmUvMjJNZTV3ek9kTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFDbTFkaUtTeUZrCmZPRkVkNWtDalFadC9KTXQ5dE1CYlhQQVE4V3c5ZVhBLzUvQkozN09oWFZ0OG9jNm5NRS9PZDB6THZDbzNNK0sKeVN5TFJobkQyL0RnNXpvL0dncVZPYWRyOTRZSHAvQlVzWnZ0d0U5cU1yZ05xc0x5YllHUWJRblJzVkJ2RHkySApZR3VaNUE3Q0c0VUY5bTNrbmFCWUN0dXNlNzVaRU5Jemgvc2pqVmFuSUhIQnB3Ti9Na3FQT1FzaTJ1Z29aRzd2CnhNSE0xZ295WitzZW5uT1QrWTB6cWF4WG1SZXp0b21jWm4yMllVWlJyRzhTOWFkTUdTd3pYYi9xN1B4d1FFMHUKNjBGdW9xdjVTNk9Ja01ud21HQlJ1WlRsbG9HTFJuSERBZ1pEd1BEOWI0bExoOGJpMlp1NFhnSlhRRkNGaVFMZwpvUkxaeXcyVkYwdmYKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCakNDQXU2Z0F3SUJBZ0lSQU1JU01rdHdxYlNSY2R4QTkrS0ZKand3RFFZSktvWklodmNOQVFFTEJRQXcKVHpFTE1Ba0dBMVVFQmhNQ1ZWTXhLVEFuQmdOVkJBb1RJRWx1ZEdWeWJtVjBJRk5sWTNWeWFYUjVJRkpsYzJWaApjbU5vSUVkeWIzVndNUlV3RXdZRFZRUURFd3hKVTFKSElGSnZiM1FnV0RFd0hoY05NalF3TXpFek1EQXdNREF3CldoY05NamN3TXpFeU1qTTFPVFU1V2pBek1Rc3dDUVlEVlFRR0V3SlZVekVXTUJRR0ExVUVDaE1OVEdWMEozTWcKUlc1amNubHdkREVNTUFvR0ExVUVBeE1EVWpFeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQgpDZ0tDQVFFQTJwZ29kSzIrbFA0NzRCN2k1VXQxcXl3U2YrMm5BekorTnBmczZER1BwUk9OQzVrdUhzMEJVVDFNCjVTaHVDVlV4cXFVaVhYTDBMUWZDVFVBODN3RWp1WGczOVJwbE1qVG1obkdkQk8rRUNGdTlBaHFaNjZZQkFKcHoKa0cyUG9nZWcwSmZUMmtWaGdUVTlGUG5Fd0Y5cTNBdVdHckNmNHlycXZTcldtTWViY2FzN2RBODgyN0pndmxwTApUaGpwMnlwelhJbGhaWjcrN1R5bXkwNXY1Sjc1QUVhei94bE5LbU96am1iR0dJVnd4MUJsYnp0MDVVaUREd2hZClhTMGpuVjZqL3VqYkFLSFM5T01aVGZMdWV2WW5udVhObkMyaThuK2NGNjN2RXpjNTBiVElMRUhXaHNEcDdDSDQKV1J0L3VUcDhuMXdCbldJRXdpaTlDcTA4eWhEc0d3SURBUUFCbzRINE1JSDFNQTRHQTFVZER3RUIvd1FFQXdJQgpoakFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdFd0VnWURWUjBUQVFIL0JBZ3dCZ0VCCi93SUJBREFkQmdOVkhRNEVGZ1FVQUxVcDhpMk9iekhvbTB5dGVENzYzT2tNMGRJd0h3WURWUjBqQkJnd0ZvQVUKZWJSWjVudTI1ZVFCYzRBSWlNZ2FXUGJwbTI0d01nWUlLd1lCQlFVSEFRRUVKakFrTUNJR0NDc0dBUVVGQnpBQwpoaFpvZEhSd09pOHZlREV1YVM1c1pXNWpjaTV2Y21jdk1CTUdBMVVkSUFRTU1Bb3dDQVlHWjRFTUFRSUJNQ2NHCkExVWRId1FnTUI0d0hLQWFvQmlHRm1oMGRIQTZMeTk0TVM1akxteGxibU55TG05eVp5OHdEUVlKS29aSWh2Y04KQVFFTEJRQURnZ0lCQUk5MTBBblBhblpJWlRLUzNyVkV5SVYyOUJXRWpBSy9kdXV6OGVMNWJvU29WcEhoa2t2Mwo0ZW9BZUVpUGRaTGo1RVo3RzJBcklLK2d6aFRsUlExcTRGS0dwUFBhRkJTcHFWL3hiVWI1VWxBWFFPbmtIbjNtCkZWaitxWXY4Ny9XZVkrQm00c04zT3g4Qmh5YVU3VUFRM0xlWjdOMVgwMXh4UWU0d0lBQUUzSlZMVUNpSG1aTCsKcW9DVXRnWUlGUGdjZzM1MFFNVUlXZ3hQWE5HRW5jVDkyMW5lN25sdUkwMlY4cExVbUNscVhPc0N3VUx3K1BWTwpaQ0I3cU9NeHhNQm9DVWVMMkxsNG9NcE9TcjVwSkNwTE4zdFJBMnM2UDFLTHM5VFNyVmhPays3TFgyOE5NVWxJCnVzUS9ueExKSUQwUmhBZUZ0UGp5T0NPc2NRQkE1MytOUmpTQ2FrN1A0QTVqWDdwcG1rY0pFQ0wrUzBpM2tYVlUKeTVNZTVCYnJVODk3M2paTnYvYXg2K1pLNlRNOGpXbWltTDZvZjZPclg3WlU2RTJXcWF6enNGckxHM28ya3lTYgp6bGhTZ0o4MUNsNHR2M1NiWWlZWG5KRXhLUXZ6ZjgzRFlvdG94M2YwZnd2N3hsbjFBMlpMcGxDYjBPK2wvQUswCllFMERTMkZQeFNBSGkwaXdNZlcybk5ISnJYY1kzTExIRDc3Z1JnamU0RXZldWJpMnh4YStObWsvaG1oTGRJRVQKaVZERmFub0NyTVZJcFE1OVhXSGt6ZEZtb0hYSEJWN29pYlZqR1NPN1VMU1E3TUoxTno1MXBodURKU2dBSVU3QQowenJMbk9yQWovZGZybEVXUmhDdkFnYnV3TFpYMUEyc2pOalhvUE9IYnNQaXkrbE8xS0Y4L1hZNwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBbUVpV2dEYnlicXpBWElQWmlvVW9USjhJTGQyM1NWQWJ2YWRaTnh3TDhwRWVGTUxnCkhpbytva2ZyNjBCcko2NXFleEp2ZDdiN3hEYWhrczIxTmNSbjgyZTQrSVprWUxGZWtLQTdEeUhZVkJ0NkxpelMKa3orMjNGUmh0R3lmUTN4UDgyZXR0UTljcUJzTGVRWjMzM1ZoTU4zclVVbFFva0JxVEJwMmQrV3UyRXFCY3VSZgp5SWZ4aHBBVDNmR3E1NlZSN0VEcHcrNmpUVHlHMk9FMll4SGNnK1o3d2lRb0VkY2gyWSthNWdqdFIvRkQ3MFUzCjgzWUJPdjhJUHJxT2xqZVBnRW1TZ29vbk91SXE2ZDZORERqWTA4ZitwTVI5T2FuaUxWQWx6MG55S1prM0VsbTMKZmltM2R6SXozY3pFNFlHelhJY1hSemwyQ2ZXa2ErclJZRmVvbUxNY0hkMUsrdzhXU0JHTDBmWjBQc3dOZmlZRAphVGlsZ3A1aUw4OFl2ZzhRTkI2NTM5K0RBYlpPYWFJa0NUT1FSZU1qN0FvLzZsc1hTcDU5ZHZqQ205aGVVeUZiCjJ1czNMRW9vRk5kZTF5Q3E2SWRFVWxtTTNDazczenc0eFA1dVE1blA1V2VIZGhSeC9DYzN3bCtqeTdLTVF0OVgKNGtzbjkyUnZWWWtTVERtbkhHeThFdW1TVEZIRWFPYnBCNFA4TWpPR3BDLzR4L05lL3EwYmVCaXJvVVdrYXRTYwpEV1JDaExzL0poZWx2a0NkdEFhNFBhSkdVdktycS9PZ2lQUzRNL3B1aGJTZHNnVW9UbVoyaWY4ZlVXekJmcW9zCnFHV25KbW9NSTVnN2VoS2pNOUZMNVNNZ2llUFQrM2hkZ2FXdkZnNndxTmZOVExFM1V5bzVKRGdSU2s4Q0F3RUEKQVFLQ0FnQXIyeXZNdlFaUXJWdXd5U0FMYnBIT2p6WlJ6enFMMkpCRXJEOWJTYTUvS3gvWXBzN1lvUjNzcW4zZApBRzVidlRWWlFGUHR6RHJ4cFRJZkR6TVN5ditNNytBcllyamh4L01OLzdkQ2dtTEV4aTBIdzB6WnIwM0FZbVRKCkMwZEtyakJ3VHZtTjNXQzM0U0lLdHJ3ckZLanE0OTV6U0lQNlZrYkdxQkJhTTBHSmROdVc5UUpJeEMzZ3JQbXIKdjMrU3V0Ky9CR3JPVEptbkVybGJHSEVMVXdlSXpRWHpRV3B3eU40c3c5aStTdS9hK2phd1grVGZMcXJvREs2WgpNaTBDUWZvSDNpaGRnK0FNYXpva3BEMUd1ZEJvSFg3T2dPLzNmVjl2NFZjaVBZK0tQMS9HM3lPakoreDRYWExtCmU2UnZ0V1NzVHhON0phZEM4d1ZwTnZVWm8rVWZzeWVTb0xxUkc2czdIMUdrMEdEeFNWb3NzZThuc043WjRUUGEKQ3R2TEVPWFczT3p2ekNPeGdYb1BlaGpsNDlXRSt0c2w2R3d5WDZXbnl2Umd0b21VN3FnR2VaR0Y4K3dxZVZmWApacE9TTVZwYVVZb0ZCbDlQc0VWRUlER09qMzExNWRiTnFaaituZ3JvblFmZWNPenlLZmZHNU9LbmJ0ZU5hMFh2CmlRNlhnVk1Jck4wRFg0K2FuU2l0Q0dNNXFrZzdyYWg1SVhjQVkxMFpXTnZHRVF4RHR2N09OcGQvak5waXpGOXcKd0h1Y3RJQ2JubTJKYnQvd1U3UFFEbHQvTlk1YXRnT0QyVkF2ZWNHOVVPRk9EVE9tb2Z5QVYxZFBOSmpON00rTwptQXI5amtVL0VBNFcyTnRLR1hVbTFzZGJjNHdEZmNXM2EyS3d3cU9oSFFrVUtaRi9JUUtDQVFFQXdqV1ZZK0ZVCjBoWURGaFZSMU1uUGNQMWplWlY0QzgwVEhsVmRuTVZOaU5xczFLTEU0NjBralZNRkRCSUk3bmdFZVVmQVdqSGoKM1lHK0p5OHlQY2tTdkZnOEg5K1M1MTJtTHV5UGtCM3B0S2xSTnlrN1lnNVF4VkpqWENxRmNyaGRHcUJlSGpRSwpzRnIyWmtscFVVeFhsMThNeEJUZzdtS1M4c1NVcVAvV1dJTURaTFRXTVVVMjRqVGNTeHdsR1hJZG1JNzRQVjdrCk9UNnpwSkExaGtKYlVkK1hEY3RlVmJrb1hwMlRlV3pUaDk5YTRuKzFuN01oZmo4clkxdmkxZWFyWTVodm5TVDEKb3lZaVQrblVmbVRGNGxBUkgzUGdqYmxESmhtTUNwdFlnTjZTazI0MmJZSmptbXp4ZGlzYjgxQmJ6Si9tZlhXYwpSbEhyMThoWWY0em1Cd0tDQVFFQXlMd2kyZmcwa21TaExpNDBYV0JNKzBHNEpWWjBlSVh1YlkyTTJZTjBzVVpnCnREM3hISnl2Tjc3QUkzckxPZVl4MWw0THJ2RHZJdGZVQlAwM2V0ZUdjcURPOWhlUWM4MWtnSnBTQUl2NlowQmwKSi9QditzV3IzZ2FxM2ZHc1NPVlR2M0ROclI0L1JKb0MyaEpNZFV4REovdENKRnNDTmMyTjJ5eDNER3hvSjNtRgpnOEtNT043L3VUOStmTzBPZ1RFb2FPTnpmeVZNYnUreTBxZHV4ems0Yy9BcEJNY2JJSVhXeHVLcHRGTjhTUFllCnh0VkdSbTNFdE5sazhoaGJJRmZ5RGhXc3FmVlpDeWhhVk9na2NrMFB5b2VJUEx4VHI1QlJtT1BldHFYSGIzN1gKSnl3RGhnamg0NFhNSWRvS1pyZ203c3VtWHFkKzNYbjBzMGhIVGNhbmVRS0NBUUJFQmhhMGJGbVVXR2R1VmJ0YQo1L0VENTR6dktqNXBDOFNWakZzRXJVc1NFMTRVQUlzc0lCbzhjZ2JEaXBHY1RXZHJ2NGtOVG9vOHJOUVl6M3d1CmpmNUZBRGJYQnkxaVlyZnhtYVJUVzFiZms2ckJ3bXh0VlF4UGdTTVNSa2FGdnpQRlBzU1ltYXZneDR1a21qUU0KYU13SlZoNlhrNlNSZXU5em53MWZBSFZvZlVNMEErOCtSTHNMa201UzFLSGQvczJGQVJiTUVDK3FLVjhzMWVJWgppNmFHeitVTnpOelc4OHJERVRoMWdIdTdESzI5eGZPczQwWm8vT0ZLcFFXWDNIck5vTGYvZDlHZCtwNXNGVC83Cm9YcDZZWWNOMkQyZ0JuTVJwa01aOS8yUTdlU3pSUmhGVlRWa0FxSzB2RGJIQzYrTHhib3EyWVlLVDJsbkpHSnoKRXJ3REFvSUJBRzdQZktXNjRMcVhsbXA1MHlwZ3lONUN6emE5WFJwVFJPVnhLSG5DbVo1cTdXTlNkbEdISlNxdQp3RDVWd080N1p2T2hndTJWejB6NnUrM3RJcjFMVU1yaWZwMVhNTVRjYzBpUzZBV3BRQmZUY29QMW8xcFoyS0IrCktjRFBjbjNqS3JJWndWQjV6QTlBdmFaSVI3RFE0cG1sbUVPZGdjRFZzaU4xamxwclZhdkU1N0Z1cWgyUzdMUUUKbXZ5M21EUTFRTXQyRkFIeVF4bFNkUExZdnN4M2gvUm9kUnhRRldlRXVxV2I1bmJIUjJxM2d4SGNGaWsyMjBuQwpZSGxNZkxHRUd2a3ZlZHR3dHpEem03b1hWRmRNdHhUa2NJNm1uOFBnOVVwak1FUy9peksvWUdJZForeUw1cmJFCjI0VXNhbVY5N3ZBUHQ4MjB4TkhhU3Z6VlA1ZHR2SEVDZ2dFQkFJNHFRcUN5cGY2b1Bxekk5Rnh1Si8zSVdwQ3oKN2ZKKzJkUlNwYUVYbGgwclVZUWRwSTFVSjlrdEJhY2FFSXNLZDVRRkZXcmVYZUxBb0h6YzQ4eWNtN2lmV1JFVApSRGs3U1lZdTgwQWVZUytGM3BUbkFhK3dvMThydm9GTU40b3M4aFowUC9zcDhpamkyc28yd0hreFprK2EvZG5ICkFhQVAxczlSaXNFajFhSHB1clVRejd4NURRWjV3MVRyemhCK0RVTnR2M1VpaDNVbFNtODFwSmMzTzAxWFNOa2YKOVlIenRPZ09rKytPSEFkMkJWQVQ5YTFaNXN4NmJ5WThZdXpOazNxaFR3UE11N2VJVDB2OE4vS0xIMWNFTlZZUApRcFdBWHh2b0psdXIvYUczczE1dG5lTWFXRHJqbjM5WlRkeEtYbndITHdLMklubjlFcll6WWVlS1dmVT0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -67,7 +67,7 @@ "domain": { "main": "sonarr.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCekNDQk8rZ0F3SUJBZ0lTQlgzemFabjhUa0NwQ0ZBcTk5UXE4cGRSTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05NalV4TVRJeE1qQXdPVEk0V2hjTk1qWXdNakU1TWpBd09USTNXakFnTVI0d0hBWURWUVFECkV4VnpiMjVoY25JdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUUN1MkhTWWVRM3dLcWxNdlRqcklLdGZDZEpsUHExNnRvcUcrRGZMYjJUSTMvSHJOVk1wanFpTgpxeTFiUDI1ampJN3pDTEhjSjhsMlAybU1hQk5qYnpRTUg2RG9JbjV0TDdwbEZHTWNmL2h1cWJMM01UcS82UlFtCkgzMDRUUjdoa3RINkxEMVcvWGJDS3NhVURjY1RrWi9xSm9URi92bDFNTmJ5WUlhWkFtV1JsVXJNN1ZBMDl3d2MKaWQwYnlzZ0toL3JENVNUSEdNOXdpM3NnVXVwcUZqSlRlVU9vUlgwOG1hTUN2dGcvRldZRGk2Y1BScHBuYzVqLwpvN0J3NnBEWkpmVk8zaWlVRFlzcUE4emNJYUtQQnF0eVNUdXRyTktLQVZoTlhZdHdlN1kvNEVqMUt1ZlBsWks3CmJNUW95VDBpdDdxbENqMjlmSlRIZnBrQzAzSjd4UHUrUUk1ditaNFNQWjBUS0dGbnFXY1E4YTV2M0tQcVNUU3YKWm83MFJKd1dUWTVkS1hSSnFJUUVhbmVrRmp4N0pIMmRBbjE1WkhmYjNIazl5UFBENWIzNDhmeTFaODlxTDg4bgpYL0tEbUsvYk40Z0krL2lrcktteUh5ZWhMaUhiN0V4dWR4M1VLdktBZ1dLSmhaSFRDRWlqS3BEOHFMREdBQk5XCjF6TkUyM1RObVVLdnRDanhKUXp2WEJVRkNHRTI0dE05R1R3SHNRaVpnTGltR1FuV3dlVG1MN2NQMVpKMnVLQVgKQTJ5TUw1b2F6SWtZSllBMGEwWnZMUkpTUjd2TXlTZ2dNT1drSC9ydTF0YkVsUExjRFJxUTkxQy90UGNvTnNwaApENnY1U0QyZllybWIzT0J6c1h4OTNQd2JoOHRLbytNUzZzdU1FZ2djWTQ1WU1xYUYzaDJMS3dJREFRQUJvNElDCkpqQ0NBaUl3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJURHllWDUvSU9kRUdXejFYcnZ6blI4OHFtVwoyekFmQmdOVkhTTUVHREFXZ0JRQXRTbnlMWTV2TWVpYlRLMTRQdnJjNlF6UjBqQXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRJdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZYTnZibUZ5Y2k1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdQpCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dmNqRXlMbU11YkdWdVkzSXViM0puTHpneUxtTnliRENDCkFRVUdDaXNHQVFRQjFua0NCQUlFZ2ZZRWdmTUE4UUIzQU1zNDl4V0pmSVNoUkY5YndkMzd5Vzd5bWxuTlJ3cHAKQllXd3l4VERGRmpuQUFBQm1xZyt5MllBQUFRREFFZ3dSZ0loQU04OG1sMUpzM3lKRWhrajlWSlkwNWlSdUUvdgpDS0RZZ1k2anFZUnBQeFR3QWlFQTFtZk0xZTlhc3NCN1NqMXZ3elg1VFNIczQ1Y1J3S0xiTHlTVCtCNDBrOThBCmRnQ1dsMlMvVlZpWHJmZERoMmczQ0VKMzZmQTYxZmFrOHpadVJxUS9EOHFweGdBQUFacW9Qc3VhQUFBRUF3QkgKTUVVQ0lRQ09QSUZvT2svbmNXVVJpclcwVlNzVHh3aVlwaG9BeU4zaEs1Ulo1NTgxSWdJZ05oZVFIbjdrVGhQbwpmTHRhNWlDYUhZNnRsb0NlNFlDcnpnV0dGK3JDdkhNd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFITjRXOTlmCkkvVTBNSkpzTTR4N1JDOEhwdWcwOCthTlZoRDNhQmVPaWg3RndXUG1lNkxyOE5lOGVIRGg4Wk96azZEb1pVUWkKQXJMVVp3dDVOYlFoank0QS9CZURBZlJwQmorL1NQanF2dWczTHc1TzQvcUtBNzlGL3FZcFl2MUVqemtuaW5PUAo3Z3R0c1hGSzRrNlA2NUpieUc2T2ZDQUtVTVlEOGRjTWptK09lU2RMT0FRM0g5M28zQVRMak52NllXSzFVakQ4CllWUDZMTnpHN2RLWmVGRGpZVmtFekoyeVBqTlJjTnZydU1DU0lRbmYzM01HTTJMNUhSNzJaQWxoVzJrdnRXKzMKYXk4Nkp6NXUyczcwU1JjUEJ3NHZ0WFZvZzk2VE95ME5xWnFHSFBCWjRyQnpFbkQxVzlIeTloQmZqRHFUUllOeQpibnpWNE1DR09qd2Jpa1k9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCVENDQk8yZ0F3SUJBZ0lTQlVSaVlOcHdOK0JEdkV3WEZGTEVxcWFsTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXdOVEkyV2hjTk1qWXdOREl4TVRZd05USTFXakFnTVI0d0hBWURWUVFECkV4VnpiMjVoY25JdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUUN1MkhTWWVRM3dLcWxNdlRqcklLdGZDZEpsUHExNnRvcUcrRGZMYjJUSTMvSHJOVk1wanFpTgpxeTFiUDI1ampJN3pDTEhjSjhsMlAybU1hQk5qYnpRTUg2RG9JbjV0TDdwbEZHTWNmL2h1cWJMM01UcS82UlFtCkgzMDRUUjdoa3RINkxEMVcvWGJDS3NhVURjY1RrWi9xSm9URi92bDFNTmJ5WUlhWkFtV1JsVXJNN1ZBMDl3d2MKaWQwYnlzZ0toL3JENVNUSEdNOXdpM3NnVXVwcUZqSlRlVU9vUlgwOG1hTUN2dGcvRldZRGk2Y1BScHBuYzVqLwpvN0J3NnBEWkpmVk8zaWlVRFlzcUE4emNJYUtQQnF0eVNUdXRyTktLQVZoTlhZdHdlN1kvNEVqMUt1ZlBsWks3CmJNUW95VDBpdDdxbENqMjlmSlRIZnBrQzAzSjd4UHUrUUk1ditaNFNQWjBUS0dGbnFXY1E4YTV2M0tQcVNUU3YKWm83MFJKd1dUWTVkS1hSSnFJUUVhbmVrRmp4N0pIMmRBbjE1WkhmYjNIazl5UFBENWIzNDhmeTFaODlxTDg4bgpYL0tEbUsvYk40Z0krL2lrcktteUh5ZWhMaUhiN0V4dWR4M1VLdktBZ1dLSmhaSFRDRWlqS3BEOHFMREdBQk5XCjF6TkUyM1RObVVLdnRDanhKUXp2WEJVRkNHRTI0dE05R1R3SHNRaVpnTGltR1FuV3dlVG1MN2NQMVpKMnVLQVgKQTJ5TUw1b2F6SWtZSllBMGEwWnZMUkpTUjd2TXlTZ2dNT1drSC9ydTF0YkVsUExjRFJxUTkxQy90UGNvTnNwaApENnY1U0QyZllybWIzT0J6c1h4OTNQd2JoOHRLbytNUzZzdU1FZ2djWTQ1WU1xYUYzaDJMS3dJREFRQUJvNElDCkpEQ0NBaUF3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJURHllWDUvSU9kRUdXejFYcnZ6blI4OHFtVwoyekFmQmdOVkhTTUVHREFXZ0JRQXRTbnlMWTV2TWVpYlRLMTRQdnJjNlF6UjBqQXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRJdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZYTnZibUZ5Y2k1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdQpCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dmNqRXlMbU11YkdWdVkzSXViM0puTHpNNExtTnliRENDCkFRTUdDaXNHQVFRQjFua0NCQUlFZ2ZRRWdmRUE3d0IxQUJhRExhdndxU1VQRC9BNnBVWC95TC9JSTlDSFMvWUUKS1NmNDV4OHpFL1g2QUFBQm0rR0RTOWtBQUFRREFFWXdSQUlnSFVReVFVUDlLMXF5c1FhYnFnTGJZcEZiMER3MgpsTnU2WTJtUjVuMTZHdUFDSUFkOUM1UnkyTDM1UW82YWhPZDJWbTNvRFE3dS91V1k3N29HV2d2ZXBHbG9BSFlBCkRsZVV2UE91cVQ0ekd5eVpCN1Aza04rYndqMXhNaVhkSWFrbHJHSEZUaUVBQUFHYjRZTlRoZ0FBQkFNQVJ6QkYKQWlFQWhMN2V1anBkd1ZiQkxXUlkzZXJJd2t0bWwrWU95SDYrUlRPd3VsRjhTaG9DSUZheVI4QjhYOC8yRnRRbwpuWTRtL0d6TDFJcFNNdW1lQTkzR0F2d0RTeW0zTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFDenNuQWRNbExvCm9UdHNUOWtGVGRBYVdzTktXVkRuQlhzZGxIbFZjK0Y4K256cVVIdlkzSCs1UUFMSWNTdE8zMGh4dDdkNlNUVEcKT1Y2TmlYeTYvbUVLM2s2eUFKWWxXZDBtc0RRaWZkMm5uUTRwSG9sN0djY2hKR0lzd3JsK1BRYWRoR1lRUW5vYQovUlN6cHVMdnRMZUl5WXgvQlh0ZXdtZkVaRVcraXlGU0hzYTJYajAxeWdzZ2dQYU9lc09FL2RnQTN4dnY2V3dPCmVGL3ZRUW1EZWUxZ1hKVk10c2MwSnZYZjUxelpIdkg2alRIY1RrQWJmTndNTFZXQjhHS2tsRWZUeDRUd3dSa2sKNWErbTJuQ0xOQVRmNGcyaGQveDNOdHJPZy9hczlidGV0aTBXeTVvc2ViMmpHWjlUczE1NER6UWsrczZ5MWpJcAp3MTNqbW54RDZCM1kKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCakNDQXU2Z0F3SUJBZ0lSQU1JU01rdHdxYlNSY2R4QTkrS0ZKand3RFFZSktvWklodmNOQVFFTEJRQXcKVHpFTE1Ba0dBMVVFQmhNQ1ZWTXhLVEFuQmdOVkJBb1RJRWx1ZEdWeWJtVjBJRk5sWTNWeWFYUjVJRkpsYzJWaApjbU5vSUVkeWIzVndNUlV3RXdZRFZRUURFd3hKVTFKSElGSnZiM1FnV0RFd0hoY05NalF3TXpFek1EQXdNREF3CldoY05NamN3TXpFeU1qTTFPVFU1V2pBek1Rc3dDUVlEVlFRR0V3SlZVekVXTUJRR0ExVUVDaE1OVEdWMEozTWcKUlc1amNubHdkREVNTUFvR0ExVUVBeE1EVWpFeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQgpDZ0tDQVFFQTJwZ29kSzIrbFA0NzRCN2k1VXQxcXl3U2YrMm5BekorTnBmczZER1BwUk9OQzVrdUhzMEJVVDFNCjVTaHVDVlV4cXFVaVhYTDBMUWZDVFVBODN3RWp1WGczOVJwbE1qVG1obkdkQk8rRUNGdTlBaHFaNjZZQkFKcHoKa0cyUG9nZWcwSmZUMmtWaGdUVTlGUG5Fd0Y5cTNBdVdHckNmNHlycXZTcldtTWViY2FzN2RBODgyN0pndmxwTApUaGpwMnlwelhJbGhaWjcrN1R5bXkwNXY1Sjc1QUVhei94bE5LbU96am1iR0dJVnd4MUJsYnp0MDVVaUREd2hZClhTMGpuVjZqL3VqYkFLSFM5T01aVGZMdWV2WW5udVhObkMyaThuK2NGNjN2RXpjNTBiVElMRUhXaHNEcDdDSDQKV1J0L3VUcDhuMXdCbldJRXdpaTlDcTA4eWhEc0d3SURBUUFCbzRINE1JSDFNQTRHQTFVZER3RUIvd1FFQXdJQgpoakFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdFd0VnWURWUjBUQVFIL0JBZ3dCZ0VCCi93SUJBREFkQmdOVkhRNEVGZ1FVQUxVcDhpMk9iekhvbTB5dGVENzYzT2tNMGRJd0h3WURWUjBqQkJnd0ZvQVUKZWJSWjVudTI1ZVFCYzRBSWlNZ2FXUGJwbTI0d01nWUlLd1lCQlFVSEFRRUVKakFrTUNJR0NDc0dBUVVGQnpBQwpoaFpvZEhSd09pOHZlREV1YVM1c1pXNWpjaTV2Y21jdk1CTUdBMVVkSUFRTU1Bb3dDQVlHWjRFTUFRSUJNQ2NHCkExVWRId1FnTUI0d0hLQWFvQmlHRm1oMGRIQTZMeTk0TVM1akxteGxibU55TG05eVp5OHdEUVlKS29aSWh2Y04KQVFFTEJRQURnZ0lCQUk5MTBBblBhblpJWlRLUzNyVkV5SVYyOUJXRWpBSy9kdXV6OGVMNWJvU29WcEhoa2t2Mwo0ZW9BZUVpUGRaTGo1RVo3RzJBcklLK2d6aFRsUlExcTRGS0dwUFBhRkJTcHFWL3hiVWI1VWxBWFFPbmtIbjNtCkZWaitxWXY4Ny9XZVkrQm00c04zT3g4Qmh5YVU3VUFRM0xlWjdOMVgwMXh4UWU0d0lBQUUzSlZMVUNpSG1aTCsKcW9DVXRnWUlGUGdjZzM1MFFNVUlXZ3hQWE5HRW5jVDkyMW5lN25sdUkwMlY4cExVbUNscVhPc0N3VUx3K1BWTwpaQ0I3cU9NeHhNQm9DVWVMMkxsNG9NcE9TcjVwSkNwTE4zdFJBMnM2UDFLTHM5VFNyVmhPays3TFgyOE5NVWxJCnVzUS9ueExKSUQwUmhBZUZ0UGp5T0NPc2NRQkE1MytOUmpTQ2FrN1A0QTVqWDdwcG1rY0pFQ0wrUzBpM2tYVlUKeTVNZTVCYnJVODk3M2paTnYvYXg2K1pLNlRNOGpXbWltTDZvZjZPclg3WlU2RTJXcWF6enNGckxHM28ya3lTYgp6bGhTZ0o4MUNsNHR2M1NiWWlZWG5KRXhLUXZ6ZjgzRFlvdG94M2YwZnd2N3hsbjFBMlpMcGxDYjBPK2wvQUswCllFMERTMkZQeFNBSGkwaXdNZlcybk5ISnJYY1kzTExIRDc3Z1JnamU0RXZldWJpMnh4YStObWsvaG1oTGRJRVQKaVZERmFub0NyTVZJcFE1OVhXSGt6ZEZtb0hYSEJWN29pYlZqR1NPN1VMU1E3TUoxTno1MXBodURKU2dBSVU3QQowenJMbk9yQWovZGZybEVXUmhDdkFnYnV3TFpYMUEyc2pOalhvUE9IYnNQaXkrbE8xS0Y4L1hZNwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKSndJQkFBS0NBZ0VBcnRoMG1Ia044Q3FwVEwwNDZ5Q3JYd25TWlQ2dGVyYUtodmczeTI5a3lOL3g2elZUCktZNm9qYXN0V3o5dVk0eU84d2l4M0NmSmRqOXBqR2dUWTI4MERCK2c2Q0orYlMrNlpSUmpISC80YnFteTl6RTYKditrVUpoOTlPRTBlNFpMUitpdzlWdjEyd2lyR2xBM0hFNUdmNmlhRXhmNzVkVERXOG1DR21RSmxrWlZLek8xUQpOUGNNSEluZEc4cklDb2Y2dytVa3h4alBjSXQ3SUZMcWFoWXlVM2xEcUVWOVBKbWpBcjdZUHhWbUE0dW5EMGFhClozT1kvNk93Y09xUTJTWDFUdDRvbEEyTEtnUE0zQ0dpandhcmNrazdyYXpTaWdGWVRWMkxjSHUyUCtCSTlTcm4KejVXU3UyekVLTWs5SXJlNnBRbzl2WHlVeDM2WkF0TnllOFQ3dmtDT2IvbWVFajJkRXloaFo2bG5FUEd1Yjl5ago2a2swcjJhTzlFU2NGazJPWFNsMFNhaUVCR3AzcEJZOGV5UjluUUo5ZVdSMzI5eDVQY2p6dytXOStQSDh0V2ZQCmFpL1BKMS95ZzVpdjJ6ZUlDUHY0cEt5cHNoOG5vUzRoMit4TWJuY2QxQ3J5Z0lGaWlZV1Iwd2hJb3lxUS9LaXcKeGdBVFZ0Y3pSTnQwelpsQ3I3UW84U1VNNzF3VkJRaGhOdUxUUFJrOEI3RUltWUM0cGhrSjFzSGs1aSszRDlXUwpkcmlnRndOc2pDK2FHc3lKR0NXQU5HdEdieTBTVWtlN3pNa29JRERscEIvNjd0Yld4SlR5M0EwYWtQZFF2N1QzCktEYktZUStyK1VnOW4ySzVtOXpnYzdGOGZkejhHNGZMU3FQakV1ckxqQklJSEdPT1dES21oZDRkaXlzQ0F3RUEKQVFLQ0FnQWh4U2p2OGlHaEMzeGJtQWlRVVdVSUhDdUk1b3czTVY2Y0p3RVB4OW9kZWpPTmpHVWRsN0l5ZXFkdQpBbGhkM2Q0V1RzMmJpZ3U5VFE0ajBrNDhYRlFmSzFTMndVTE43L1ArWmV1bXE0amVSdVNNSGZRTThRVzFQMHUrClBoY0Mxb3E3MlNPWDA2akdZK0NxNCtaWmZ6ejF5cTdHVnpMelVaV1NodFk0WTJBZXVFa1VQNW5JUVJjVHhBVHkKd3ozVDJ1T3lSbVhPRnBxcVVDWmQzZVhzeTVDNDBxa2dyUnM5UXlkYTltVnArY1lVVlRyVkZudm9FMG12eG52agpzMHA2eG53VTJZL1kyS3pTVnAyUXZ1WlkzWjdybWYxdTAveHVMMGhRMlFwL2xVVmtIUHU2YnFrTFRRWmtNT1BLClJPUUwrcFNRSCtSQTN2a1Zkdnd5c1loaEkzRER3azdSaHZiYzU0bjVuNUkzWDYrbXRVSmFCUXpZams0QjVGamwKeHZLZnZPYXRndlFIK2ppS3RneFdHYzRUUUxPTDkySXhnYjBTaUQvQWw3RS9IOW9OV3Z0c2REM3lmd2F0Q05KMgphQlpVaHRqV0pLOSswelNVdjRHcGlPV3k2SUU2RVVJYmlNVHdiL3B5SXJQMEFBUXBjMzRzSlVDQ1R5WTJjamlICkEreWd2Mk5pM2xaVktSNGFWVkhVdWs5WlBGSTM3bldHaUFuZjlmVFlRaUc2Zk5qbVJiV0hmUUlnNGZsSkpucWcKNEFCbmlEaysxSzVONktUSzVXdlBZdU01NllRSzc4cUMxUkxTUXd0cFdQRVdGNTVaZnRjam1mcWpUK3kyTWkveQpCTkVGWjdBYU4xT2I3UVZ2d0VieTFuQTREVTdVUy9QN3pRMWpjNmlic1R5ZUg1KzNjUUtDQVFFQXdzbG9iQ3ZUCkJrSXIvVlR6UVdlUEQ1OGZEbXdtdTFMS3RKczJ3WmdZZkR5NVF3Q2hFVmo5TElhdVl2SmhyY0VweFArWWVYRTEKZEs1MWV6QzlWV1hJMkNUNmNHUWozbUNkREFHdUU4Y2ExaDVuTUFRWm1EMHd0OWlaRVBlenZpamtaM3NoOVF0agpvSlorQ05SNlZYeHZUL0hGLzFnVngwTUlkMFdzdHM1a0ZZV0U0YjVOK1RlRDFkdHd0cHVyVGZ4NnZubll6aEwvCmMvMzVzWlJQUVNhcDV5d1hVVUpURWF5QXQxcDhtWlJ4NkVVU204bG45QXhSZDkxRFkzM0pPNW5RS0ZxVFdPVDUKWXFkQS9UcXVYaTlnRyt6TFdoaUhMNUl2VFlGRXQwQ28xZ1MxdmoxQmFjaWpnZWwvQlRXWlFZUFRYcm1RU2M5MgpjZmx4SEFTcHZpUjM1UUtDQVFFQTVjckd6R3JFUG5UT24vMDZGTVk1Vnc1N0ZpaWFoQlVZOHAwWXVnN21GWGR6CmtrbUlXUWRBdFNtMDBWYmNJTG5aRWordzNjbWJmMzFFQWRmQ1lySE1RS2hnVStCd2tUeDJyaElaT0I5aW94TGoKMFpXOXljN1dXQmQ1ZXZzVUhSRVZScG9RaE80V0JoS3FnaWh3eEJ0QUNUbjZTSCs2OHAvbHIwVFJOUW43dklhMwoxUERHaU5jVzZ0Rk5OU3hBOWM0NEt2L2pTL1RBbWN4T0JIczRWVVhyRnlpeVU5S2hDb2hxYWoveFc2dE9oRG1HCktwaWNyVFkrQmFVL0lmNjhZMzE2RUI1SlN2Ny9VM2dja0FhQnVMTElaUEdZMWxyU0tYcW1NVElhY1BqZmozZVUKb0lXYVllTENBdXUzdER3Q0Zzdkh1T0c3c0x5cHBNOEtaejJFL2xLbHp3S0NBUUFZV3BwRnZBejhZVldpclBabApIUStVQW04ZG5JUVRNN3pJYkFlaW1PT20xT2pNNmMwNW9BaTNnbmRYUTdyV3dLbjZTWUxFM0ZTMHJBTmdUYTIrCmVhVnM4T0tuSHI0bFZhc05EMEMybEZSVXBTUjlxbVdRMVVXOEZzYThpbHZjMEx3Ti9DVTR3QjNLdkVZeDBHOGoKTlJXdHh5cmNUQ1VjN3RLbUp2MzdOVDdxT2ZGdFVCL3JvdmRHeTlNQjRlQy9OV3diV0p5MDEwYzlOMm42dS9KVQowUUs1TnBnTHZ1RW4rb3QxWVVqbTR0cURFZS9McnBqaXVJK1BEd2tYN1dnMW5YdWJNQWZ3TzJDNjV2S0hOc2tLCldaNEluOGlsRVNBRjRKOHRiNVlwMjFuQXVJSUlzUnYybi9GaGt0SWcwcHpBeGp5dFFVSTdHRWRVNUwweHBadWIKZkcvSkFvSUJBRk9ReDNUbFN0S1B0ZWlXdFQyQ3pLMXRGYlA4Tmh6Y2MwTWZnRE9CWVlqaTlNTjVQRDFzRnNzTApETGVvUjhzYTZ1YnBCSS9UVmxvcG1zYTB5UHNOUDRNditEL29lZWRIUHIyVTFWa0VpT0ZXNkVSNm1SYy93ZEV0ClVEODUrWm1NY2RsSUE4UGp0VnltQXgzc1NQMzREdlNNQWduRmNaMzBLaG53QThpdkJiNE1tK096WCsrNWtKcjYKWElKK3dtemhmcW1jZnZOTFlaTk1xZjZWTk9wRnovV1BGakxIZ1VzTVN1NnlyRG95OVEyK3daelIvUUE4bnBkOAovWldHUnNwRGdsVkVQbEVvcEgrZFNYM1M3Ky9VREc0eE1leWFBSjJXL2NNY1BtTmhEaVBsVDhhRWI1MHpVbXl2CmZoSHNWTEluajAwYndoN0dyVWJEQ0R4OU1kVXZCeDhDZ2dFQVIweFFUQk8vUkJrVTNFNnpZakNaaTBsSXNjTXQKZUFWT0VWRG12azdyWGNzY0FhdU9MRUpmS0laSVVMaHMySWg4b2NBZWozOFZlMU5DV3pxVVZaQ1NRMHlzSFJHKwpnUWZKYlpaVkFLakVuUEhWcUdqSDdBYmpMSGhrTGwxaUgxZU1iRzVUbmFQWVFJK2N1S01Ya1M2cUxtVDg3dnF4ClFYYS84Y1hiejRITE5QQ2Jac2ZWTzAveTBjbHRhY2d3YWM5R2Ixa2FVcDFaeUFKVkRWTm1OK3FoeDZ1YzE0U2EKcWNJWXNwK3JKNHpvZjhLeUhQOXZUY2R1ODhCS1FvWVRDMEJyVFVxdkVvM0RzdzRKdFJOb0FwYk5aS0hld1NlSQppcGduNlBmZUlibGdRTkVMMTg0ZHV3UFQ1czQzSkVMODVNSi9OVDJmenp5OUxjTXl1azJkMGo5ZnF3PT0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -75,7 +75,7 @@ "domain": { "main": "athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUY5akNDQk42Z0F3SUJBZ0lTQmMzb3VnOUx3RC9tSVFsMkw2ZHdIa0c0TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXdPVE0wV2hjTk1qWXdNakU1TWpBd09UTXpXakFaTVJjd0ZRWURWUVFECkV3NWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVBBRENDQWdvQ2dnSUIKQUtCc2g2aDgvL09CeHI0YUZCRlhScUpNUUZqL2tuYmdyN0Z0OVBVV2tVVnJwY1dPYXB2aSt3ZXlQcmhtZVB1SgpodmRmQWNlR1ZLc002KzJwVzM3RVl6Vy9GVU8zajJrbTlJU1FhR0MrQ2pLeEFXNVpzV0FoZHNINEdQNUJnMjFRCmJtazF6OWM2TTNEZHJHRWxBVkduY0FWNExBUmtUMVYwNVlyN1VaZ0FxOGdWVTBmajlwTXZxWnB0anNHU2JTRHQKcFlhdDdYRDJqemFRZWFZNDlWNzVmM0ZOOTVWZ2RBZ2NDNGY5UXNnWDA0SEJDaHE3ZEZuM09hUld4bE1ySmNXUwpHNEZFcEE1OUg4d01Gbk5zWXZyR2xKVnYwMjB4YTcxaEgwZFdFTVh6WGhWUUYzVmY2aWMrZzFreVk4M1JzSytlCmxQQk5NWVAzelpIaVJ6eW5tenhXdVdkVWw4UGh1MGprY2tOczhmdHhVcGNwTTJXRm4zdlRoLzZxM1lmNi9KNkkKVlFhOExLMTFVYk1ZQTlNR0VDb08xcUw0Vm5IZTdSN3FPR3VmTHJWMkptVm9lVjlWY2N1aVBBWXVWaGxJY1NoaAo4dTZXSzdqTDVwM05pbm1DL3lmdm50OXZyZHJ1WXlqemVZclphV3lrWnVYTEcweXp4NjBHUmNTSG9xdm44QTVWCmFXZ3puS2wzNnorUWhaQ1AvYXM2WVlmaDFTQW85N0ZTY2lpRENyS2hxUjNqdnkwTDg4dWtuUmR1Slg1YkhmNS8KSjArWjh6YUwwOGQxemJlZ3BSb0ZPeFJrdld0clVpeXRtMzRZbmlBakwvcmgvWmNvR0dTb1VqTWo1R1ppdnNXUAp1ems0MmJWU012TjJOL2ZjRjdMSEtBcUw2UWRubHFuVi9ncTg1TVBxalRBbEFnTUJBQUdqZ2dJY01JSUNHREFPCkJnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0dBUVVGQndNQ01Bd0cKQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZGcUgwQVZ6YktJNjIrclpzUU9OUUJIakFZREZNQjhHQTFVZApJd1FZTUJhQUZPZXJudzhzTTZCVDAxNVBlTWl5aEE0NzFwSXpNRE1HQ0NzR0FRVUZCd0VCQkNjd0pUQWpCZ2dyCkJnRUZCUWN3QW9ZWGFIUjBjRG92TDNJeE15NXBMbXhsYm1OeUxtOXlaeTh3R1FZRFZSMFJCQkl3RUlJT1lYUm8KWVd4cFlYQndjeTU0ZVhvd0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdMZ1lEVlIwZkJDY3dKVEFqb0NHZwpINFlkYUhSMGNEb3ZMM0l4TXk1akxteGxibU55TG05eVp5ODFOeTVqY213d2dnRUNCZ29yQmdFRUFkWjVBZ1FDCkJJSHpCSUh3QU80QWRRQVpodFRIS0twdi9yb0RiM2dxVFFHUnFzNHRjakVQcnM1ZGNFRXRKVXpIMUFBQUFacW8KUHQrcEFBQUVBd0JHTUVRQ0lEQkhEUjFCRlpoR2Y1bHREc2EvenlheDBsQi9nZk1CdzZZbDRDcXpuWGFiQWlCNApaUzlQRElGaytSWE5tSnU3cER5djRVZDB5UU1iYUsrQmFtYi90cGluendCMUFKYVhaTDlWV0pldDkwT0hhRGNJClFuZnA4RHJWOXFUek5tNUdwRDhQeXFuR0FBQUJtcWcrMy9jQUFBUURBRVl3UkFJZ1lzU0thWVFZaVAvd3Q2MEQKemJSM1o4dEQ0anBBdzdaaWkvMUhPbWR4S3hRQ0lHZ0I1MmkzSmM0Q2srQzRoY3ZmRlJTTEtPY3lBVzRrVjFhaApCNlY3TWJIb01BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQVN5elhaSktzUXNwemZBWFBXaU1tT2ZveGE0S013ClNqbUhYUmlFa2phUjhVVXBaNytuam5GNmd6MkFRcWNucHJtZDc5V3E1TlB4ajZJOEl1Snpad2t1NGF6Q1pjaGwKc01xUXVJZU1CRENYcGUvL2JvZ1dzOHhxbUdzSVlibWtYOElGK1hEM3VidDNKN3hJZFltMloyNmZnM2VYUjZsMwpyVVltVEowR0hta3ZqdS9MZ2NRNFd2akRaSi9memZ2RWFNc2NXZWxCUWNkSVNhZ1A1M1c1K3M0RW5RLzNTS1grClBRaC8vVWFPU3MzREFKeFhaaExDNkpHTXlJUjhoQmRvcGtBZm4zZDA0K3luanNmZmlZaHhIZHBrVS9GZWxmUWkKOW5oZ3hRNzVmTTljQ0pNVEIvUGRidXp2Z2dOT2RzVm9wMldxNytHclhVSWpDSEVTSjJNbEFiZFEKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdBRENDQk9pZ0F3SUJBZ0lTQmVUY3cyWDliWlVhZUxwc2hTbGdnQUNMTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRJeE1UWXdOVE0wV2hjTk1qWXdOREl4TVRZd05UTXpXakFaTVJjd0ZRWURWUVFECkV3NWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVBBRENDQWdvQ2dnSUIKQUtCc2g2aDgvL09CeHI0YUZCRlhScUpNUUZqL2tuYmdyN0Z0OVBVV2tVVnJwY1dPYXB2aSt3ZXlQcmhtZVB1SgpodmRmQWNlR1ZLc002KzJwVzM3RVl6Vy9GVU8zajJrbTlJU1FhR0MrQ2pLeEFXNVpzV0FoZHNINEdQNUJnMjFRCmJtazF6OWM2TTNEZHJHRWxBVkduY0FWNExBUmtUMVYwNVlyN1VaZ0FxOGdWVTBmajlwTXZxWnB0anNHU2JTRHQKcFlhdDdYRDJqemFRZWFZNDlWNzVmM0ZOOTVWZ2RBZ2NDNGY5UXNnWDA0SEJDaHE3ZEZuM09hUld4bE1ySmNXUwpHNEZFcEE1OUg4d01Gbk5zWXZyR2xKVnYwMjB4YTcxaEgwZFdFTVh6WGhWUUYzVmY2aWMrZzFreVk4M1JzSytlCmxQQk5NWVAzelpIaVJ6eW5tenhXdVdkVWw4UGh1MGprY2tOczhmdHhVcGNwTTJXRm4zdlRoLzZxM1lmNi9KNkkKVlFhOExLMTFVYk1ZQTlNR0VDb08xcUw0Vm5IZTdSN3FPR3VmTHJWMkptVm9lVjlWY2N1aVBBWXVWaGxJY1NoaAo4dTZXSzdqTDVwM05pbm1DL3lmdm50OXZyZHJ1WXlqemVZclphV3lrWnVYTEcweXp4NjBHUmNTSG9xdm44QTVWCmFXZ3puS2wzNnorUWhaQ1AvYXM2WVlmaDFTQW85N0ZTY2lpRENyS2hxUjNqdnkwTDg4dWtuUmR1Slg1YkhmNS8KSjArWjh6YUwwOGQxemJlZ3BSb0ZPeFJrdld0clVpeXRtMzRZbmlBakwvcmgvWmNvR0dTb1VqTWo1R1ppdnNXUAp1ems0MmJWU012TjJOL2ZjRjdMSEtBcUw2UWRubHFuVi9ncTg1TVBxalRBbEFnTUJBQUdqZ2dJbU1JSUNJakFPCkJnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0dBUVVGQndNQ01Bd0cKQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZGcUgwQVZ6YktJNjIrclpzUU9OUUJIakFZREZNQjhHQTFVZApJd1FZTUJhQUZPZXJudzhzTTZCVDAxNVBlTWl5aEE0NzFwSXpNRE1HQ0NzR0FRVUZCd0VCQkNjd0pUQWpCZ2dyCkJnRUZCUWN3QW9ZWGFIUjBjRG92TDNJeE15NXBMbXhsYm1OeUxtOXlaeTh3R1FZRFZSMFJCQkl3RUlJT1lYUm8KWVd4cFlYQndjeTU0ZVhvd0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdMZ1lEVlIwZkJDY3dKVEFqb0NHZwpINFlkYUhSMGNEb3ZMM0l4TXk1akxteGxibU55TG05eVp5OHhNaTVqY213d2dnRU1CZ29yQmdFRUFkWjVBZ1FDCkJJSDlCSUg2QVBnQWRRQU9WNVM4ODY2cFBqTWJMSmtIcy9lUTM1dkNQWEV5SmQwaHFTV3NZY1ZPSVFBQUFadmgKZzJyWkFBQUVBd0JHTUVRQ0lFSk0vYnNwSU5LMExLNU1EODFZU0tQYkZTYThENGVvdkxsT0s0aFZKSlVjQWlCVQpCNkQvU3JWUmZtd1l6TmtDSXh2d0hjdWRKd0U5enZHRzJtbkU1Q2lVVndCL0FLWEplSkpkVjBZWGdvY04ySWxtCkMxeFZaSXQ5QUVEeTdBZG9VZEdJYVJuM0FBQUJtK0dEYnNZQUNBQUFCUUF2cTNlRUJBTUFTREJHQWlFQXV0SUMKVENOREV6U2x1OHFTU0xaVnNXNmdBVWZjUm5JWTluWU5pR0k3SERrQ0lRRHVZcE8xdUhmWU45MWYwblorU1FUYQplckduZm5odjZWNmpiaDZSdHJRUjZEQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFITUtRODJHOU9aWFJwRHdQCjhJVEFFMmZ6NE1WcmNpYnc3K1MzZkhCNm0xWll5YjZhOGdzNDE5RExHMVBsVlN3NmE2ZTlUdnVZd2RRVmt0YUkKSE1FWHczblVhNHNaWDI3Rnh6TkhTUEtvSFJrZFpaMlVkNlFPQlp5VUlNNjQ2bU9XeW5SSUJlOUtnVnFhRE1uNQpVMTBEd1htYUJMM0ZQWlZxdzFkeTliRG9BUVQ3TmFPQ0xzellFQmhjUUFDNDJkNXE5cEFHcUZrVytLd3pQcEdnClRHbnJPU3VxdDhVMEo0a1BSZThadEgrcXd2ckY5RTNoTDd0eHczSEMycVNtM2NXMlFDcVpNZUN3UXBMQzJRaEgKYUxsTFM3Q0g0R1hlTndraGdQeldTVHkwQmdhdUlkanZrR2pLUHdhTDArL1BDRlRGRGFrbjZnUXprVmpMNkloRwpMNFgvOEE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJUQ0NBdTJnQXdJQkFnSVFXZ0R5RXRqVXRJRHpra0ZYNmltREJUQU5CZ2txaGtpRzl3MEJBUXNGQURCUApNUXN3Q1FZRFZRUUdFd0pWVXpFcE1DY0dBMVVFQ2hNZ1NXNTBaWEp1WlhRZ1UyVmpkWEpwZEhrZ1VtVnpaV0Z5ClkyZ2dSM0p2ZFhBeEZUQVRCZ05WQkFNVERFbFRVa2NnVW05dmRDQllNVEFlRncweU5EQXpNVE13TURBd01EQmEKRncweU56QXpNVEl5TXpVNU5UbGFNRE14Q3pBSkJnTlZCQVlUQWxWVE1SWXdGQVlEVlFRS0V3MU1aWFFuY3lCRgpibU55ZVhCME1Rd3dDZ1lEVlFRREV3TlNNVE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUNsWjNDTjBGYUJaQlVYWWMyNUJ0U3RHWkNNSmxBM21CWmprbFRiMmN5RUJaUHMwK3dJRzZCZ1VVTkkKZlN2SFNKYWV0QzNhbmNnbk8xZWhuNnZ3MWc3VURqREtiNXV4MGRha25USStXRTQxYjBWWWFIRVgvRDdZWFlLZwpMN0pSYkxBYVhiaFp6alZseUl1aHJ4QTMvK09jWGNKSkZ6VC9qQ3VMamZDOGNTeVREQjBGeExySHphckpYbnpSCnlRSDNuQVAyL0FwZDlOcDc1dHQyUW5EcjlFMGkyZ0IzYjliSlh4ZjkyblV1cFZjTTl1cGN0dUJ6cFdqUG9YVGkKZFlKK0VKL0I5YUxyQWVrNHNRcEV6TlBDaWZWSk5ZSUtOTE1jNllqQ1IwNkNEZ28yOEVkUGl2RXBCSFhhemVHYQpYUDllblppVnVwcEQwRXFpRndVQkJERFRNck9QQWdNQkFBR2pnZmd3Z2ZVd0RnWURWUjBQQVFIL0JBUURBZ0dHCk1CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0RBVEFTQmdOVkhSTUJBZjhFQ0RBR0FRSC8KQWdFQU1CMEdBMVVkRGdRV0JCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekFmQmdOVkhTTUVHREFXZ0JSNQp0Rm5tZTdibDVBRnpnQWlJeUJwWTl1bWJiakF5QmdnckJnRUZCUWNCQVFRbU1DUXdJZ1lJS3dZQkJRVUhNQUtHCkZtaDBkSEE2THk5NE1TNXBMbXhsYm1OeUxtOXlaeTh3RXdZRFZSMGdCQXd3Q2pBSUJnWm5nUXdCQWdFd0p3WUQKVlIwZkJDQXdIakFjb0JxZ0dJWVdhSFIwY0RvdkwzZ3hMbU11YkdWdVkzSXViM0puTHpBTkJna3Foa2lHOXcwQgpBUXNGQUFPQ0FnRUFVVGRZVXFFaW16VzdUYnJPeXBMcUNmTDdWT3dZZi9RNzlPSDVjSExDWmVnZ2ZRaERjb25sCms3S2doOGIwdmkrL1h1V3U3Q044bi9VUGVnMXZvM0crdGFYaXJyeXR0aFFpbkFIR3djL1VkYk95Z0phOXp1QmMKVnlxb0gzQ1hUWERJblQrOGErYzNhRVZNSjJTdCtwU240ZWQrV2tEcDhpanNpanZFeUZ3RTQ3aHVsVzBMdHpqZwo5Zk9WNVBtcmcvenhXYlJ1TCtrMERCREhFSmVubkNzQWVuN2MzNVBteDdqcG1KL0h0Z1JoY256MHlqU0J2eUl3CjZMMVFJdXBrQ3YyU0JPRFQveEREM2dmUVF5S3Y2cm9WNEcyRWhmRXlBc1dwbW9qeGpDVUNHaXlnOTdGdkR0bS8KTksyTFNjOWx5Ykt4QjczSTIrUDJHM0NhV3B2dnBBaUhDVnUzMGpXOEdDeEtkZmhzWHRuSXkyaW1za1FxVloybQowUG14b2JiMjhUdWNyN3hCSzdDdHd2UHJiNzlvczd1MlhQM081ZjliL0g2NkdOeVJyZ2xSWGxyWWpJMW9HWUwvCmY0STFuL1NndXNkYTZXdkE2QzE5MGt4alUxNVkxMm1IVTQrQnh5UjljeDJoaEdTOWZBak1aS0pzczI4cXh2ejYKQXh1NENhRG1STlpwSy9wUXJYRjE3eVhDWGttRVdndlNPRVp5Nlo5cGNiTElWRUdja1YvaVZlcTBBT28ycGtnOQpwNFFSSXkwdEsyZGlSRU5MU0YyS3lzRndiWTZCMjZCRmVGczN2MXNZVlJoRlc5bkxrT3JRVnBvckNTMEt5Wm1mCndWRDg5cVNUbG5jdExjWm5JYXZqS3NLVXUxbkExaVUweVlNZFllcEtSN2xXYm53aGR4M2V3b2s9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBb0d5SHFIei84NEhHdmhvVUVWZEdva3hBV1ArU2R1Q3ZzVzMwOVJhUlJXdWx4WTVxCm0rTDdCN0krdUdaNCs0bUc5MThCeDRaVXF3enI3YWxiZnNSak5iOFZRN2VQYVNiMGhKQm9ZTDRLTXJFQmJsbXgKWUNGMndmZ1kva0dEYlZCdWFUWFAxem96Y04yc1lTVUJVYWR3Qlhnc0JHUlBWWFRsaXZ0Um1BQ3J5QlZUUitQMgpreStwbW0yT3daSnRJTzJsaHEzdGNQYVBOcEI1cGpqMVh2bC9jVTMzbFdCMENCd0xoLzFDeUJmVGdjRUtHcnQwCldmYzVwRmJHVXlzbHhaSWJnVVNrRG4wZnpBd1djMnhpK3NhVWxXL1RiVEZydldFZlIxWVF4Zk5lRlZBWGRWL3EKSno2RFdUSmp6ZEd3cjU2VThFMHhnL2ZOa2VKSFBLZWJQRmE1WjFTWHcrRzdTT1J5UTJ6eCszRlNseWt6WllXZgplOU9IL3FyZGgvcjhub2hWQnJ3c3JYVlJzeGdEMHdZUUtnN1dvdmhXY2Q3dEh1bzRhNTh1dFhZbVpXaDVYMVZ4Cnk2SThCaTVXR1VoeEtHSHk3cFlydU12bW5jMktlWUwvSisrZTMyK3QydTVqS1BONWl0bHBiS1JtNWNzYlRMUEgKclFaRnhJZWlxK2Z3RGxWcGFET2NxWGZyUDVDRmtJLzlxenBoaCtIVklDajNzVkp5S0lNS3NxR3BIZU8vTFF2egp5NlNkRjI0bGZsc2QvbjhuVDVuek5vdlR4M1hOdDZDbEdnVTdGR1M5YTJ0U0xLMmJmaGllSUNNdit1SDlseWdZClpLaFNNeVBrWm1LK3hZKzdPVGpadFZJeTgzWTM5OXdYc3Njb0NvdnBCMmVXcWRYK0Nyemt3K3FOTUNVQ0F3RUEKQVFLQ0FnQUE3MkVEREdkNWhlSWdyWW84WjZQVHdsb0Zxc2V4eGJHQWVVR2FSQjFvcUMzNUx0RlVRMGh2VFF5cwppbnhlQ3Zrc2EvTll0R0c5OVg5U2pWQXBOdi9WQ2w0WFhQU0xDbDBXZ0xqN0IyQ0wxeGhKQ21ETVRLV2lqODJsCmZjQkVYTm1uNTFaa3pNUUwvbDdJMml4ZHkzb05yaHVqa3VvYmQyajNIR3ZuVk9tcmF1Um5ZTjdKRU5nT1BHRSsKbzVuYlBVZGZ0NWZRdHI4eTlEaWhUV2V3dkFlUUk0SXo3ckgrY2h0bkdZVFFJY05yMkRJMDRhN1Y3Mmo0bWtEaApyeml6SkJ6ZzdnTit5aC9yVW82MjhZVEtMV29rVE5pUXBGOGFaWHlITCtzOUhDUUtQOE5EUGVIaGhLM0RVVlhmCmx6OU9ac0E3ZmxleGl6bzVoWFlnMW1GRFFzWWwzNjJHWUpFY2ZPaG42L1JnelVXZHAxdmwvTTVZS3BKdkEwY0MKU1NCbFg4KzJncElkcmZjcmtKSWFYcmxwRUI2ZEVoTVJZcWM1QkpNOUdlbXI5YnVyMVJBUFhLUlVBTnMxaXpFZQo5TTVCbnRQOHRFWGg3a2NQN1BMamE3RitQN0FqaGhRUnlwVzJiZDRCcjFUamloR1MvbEoyb0R0UjFQcFJhYnlYCkk2WVN1OVlPTnZXQWo1ZnV0Uk9BMkxFYTFTQ2dsWVU2cGo1VU9iQU5ZSkZOS3RsTkZGV29nbGpyZEFMWlZhdWgKSTJQRmF3VWhlWDhHTk5USFd4VTFwbW5mTEJYZG5hMkNzMTYzZ2dWdGRBRVpHYkduc1FYMW9vcDBNTDgzYysraQpMWUVmVk5TVzBMczJ6Q2tIOWRQY3g1L3I1d3RQcXNuYVVCMkdPbGVpNWc1ZFJUNUc2UUtDQVFFQXpOaXNLempkCjVEd3F5YXNDdm1OQzY1VjA3a1lvSFNnY0dKaGtzbXBWN1FuNnlJMFlndmx2QTFqaGtFbTIxVCt3WUJadzkvdTkKQTV5QnFUWTN5TnlWR2htamUvcWh1NTlpemdTM2RnY3IzbGt3cVFMRE9QSW5ZdSt6VEtFZUVDRUp4ZWNRd1RDegovUG5UUkJyQmlaS2s3ZDhwK29LWkhXNGZIWEdGWkgyVTluTGtiaktQc0xlTFZ4Um9Yb2Z0NEZIRndVSUtvZ0srCjM2NjU2ZWxsaC95bnFFUzl1YjhHME45dVlLNTZ1L0szenJBZGoxdGVRMUZsTDRyUkMram40VkUyUUMwNUZ1NUgKaWlYemFMMi94L0t0TkEzelpKa3NhL2I0OFZsNytMMUZUY0RUSGQyQk1NTmNMRDN4VER2bUN3cGdxMEtQNWJvRQpzSXovUVB1c1VtUlhDd0tDQVFFQXlId0tQNUIwWHNaTFUvOXRpbklQT3p5STZqblpJVEtYdFJxS1pabjlhUGtTCmRvMzliOFBPVG9ZZjBSQlBXZmxWVVI3YmoybzdLc3NLc20vZFBQTDhDMjR4VTZSTlM2bkY5S1c0L2RUdEN6dzcKdmRzVm9sK05NY1FUajQ1VUk1WjlEcEthMDdwOVNVNXMrQnNuSE1OMU5MZ21SMkV1aERmakNGakYyY0ZMM0d4dApwVy9Jb0FDU0NtUE9RdXFxYm9jOVZrLzBYMjZaK2ZMNFBER1FBK29xRkIxalFTb3VGbzNZOUxGeUwxQkRlbnc1CnFjR1lDNGoxelVFUnVUNTc0dUlHcUgvYjlaNUgwOER6bkw0ZzFMT3B0TjhkWloyT2pTd3VzOU0zWThYM2s4cGkKaWpZbkpaSmJ2VnpOUmF2ZGd3Smhid3VYc2pqbGtoa1h3TUtzb2RoVGp3S0NBUUVBcHVYU1FOVHdWTWlBeEJiRgpBWUcyUUdOaEJkRzdWU1ljM2gwcnpnRzlTSWZkQUJHVmF3RDNaZTdBdU9LV1NHQy92MG9KZU1KdVdjYm1EWXZUCkg2QTVDeTdnZUY3WDd4b0pVbm1kVUZpL2NVV1IwK0lnVlFGVy9kRDJjUFRFbmJlTlV1VFVUZEwwa3FTcGNNK3IKNS83R3lkZ05SOEdvSnNaV0s1TVdiNjJ4OUtuZlc3bHVRVGtLR2tUU1ZGTERpUVNXN3NKMEQxUFZXRUh2ejVrTgoxQ0lTSjVMNlVhQkdXVi94ZW13dUszdXlMb0JuVlNuSVAyak4zRkpweUI1VzdzbFFQakdhVmdpRjJSVGFvUGdZCmpUdzN5aldqbk03LzFtYytwTVdYc0MzbGpWZ1JxaitTeHJ3bEdSYk94cUgyNS8vb2l5Q01SVXV1RG5xU2JjdWYKdHZGeHlRS0NBUUVBaHdLeFRCa1ZwUFZZcVJwc1JEMkhjRmJWeFJacjJHVmZzTUJNenhzaWdseXBTRmxhZ0xlVgo2Vjk5Y2FiUUtVRTFhVW1raGpIOTRsV1Z3SkNBcHBqamp6Y0gxTkhpazcraTVadnN0bE43eG9Ncm9ERTNvbjlDCmNHOGcxUjMrSDNFcWluUEQvQzJzVFgrWTlvUWlsTVl6MmVyaExGU1BwTTZWLzNyNDBpblAwb0xhVy95cFdNYkoKa21HZjk0UmNmYzVwU2dUU0JxcE8ydm42blY2ckkxZkFPb2VIM2N4ditSUlJOSWVDNDhYamkwcTQ4azdDKzVHaQpKalZab0N3cDlhSk01WkFsS29VS3pkazB0U3Q4cElEUkdsTGVVeDRGYjZCL1d1NDBjT1pTVVo2TE9aUTZUSjBCClZzWjJIaU1kS3lxaFBzekp2V1YvaENHTjAydkdJYit5bFFLQ0FRRUF3am8ydURmU0d6UlZhcmJpVVdNQmtrcEQKVkJnL1lEYVdXYnY5Qm9VLzZhV1pQUUxheDBOQUUxdFJWelIrTmhEYTA3c3pUek1TZW8veGx3eExQTElsREVUZwpjSXRQZ1pnTnpXOUpwc2xhVmllRFFUQmU1S3NZRmw2NjF4eSthZ3I4L3FNd0dWWTl2NysvOER5eW5QUjR1YkE5CjFtRW0yWFo2TytzdEtrU1BZZDhXcmF1ODRhVWxSV2xpRWR1RGNnVk1GMEk4dGtOZ1FxaE1zN2FiWUlHemV0U1YKZUhhbXcyUmFKWjVYVFNmU2gvcG15ellwci9YZ1V1UjNLL3g4MHVyNlVyVmFYNFo3NXFxT2hldldvdXFQaU1VRgoxZFZLR1AzYmpjaVl4MXlydHphL1VLN1F6ZFRrN1RDcnZqelo3Skpob0FGNW93Rmo1SHZzMjdrRlRvTFM5UT09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==", "Store": "default" }, @@ -83,7 +83,7 @@ "domain": { "main": "wallabag.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDekNDQlBPZ0F3SUJBZ0lTQll0aGh5Q0M3TmgxV08zSnpzb0s4bzVRTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXdPVFF6V2hjTk1qWXdNakU1TWpBd09UUXlXakFpTVNBd0hnWURWUVFECkV4ZDNZV3hzWVdKaFp5NWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVAKQURDQ0Fnb0NnZ0lCQU5MNUtnb1NndzN0T1djTFlhSUloV0N0c1VzOWEvVjVtNDUxTTlGT3lDRGlqZXUxM3ZOTwpIbXdURWQvY3gzZFpieHV4dmNhQWhjMDJhTjJmNGU3aGJKN2lYQThWdERjL1VkMnphT3dwM2NQVHVDS2JvdllHCm1uT0kvcnJmeVc5Vmp3M3ExQnNya1dTWkI4VklEOERPMnVRb0V0NTFITURpYWNtTThTam1HTU9BUDYrS1VPZngKQzhsK2xGSC9NOVlMblJBTXU3T1BiK1Fvd0x3SUR2WFVHNWt0bm5ydzNjOFJNTVFVL0p4Q3piZWJHcS9mNG5MbApvOVJ2MFJ0MWFsKzBYQU04c0U1ZW43M2QrVVBERmtvd0JjTlBVa3o4VHVCU253dXhoZTJ6bklyVk8vYTBKS2pwCklJdHkyKzc4ck9TMys0bHpJTUZBZUtTT2pGSHA3ZEZMUUdLcGt5Ynlzb1dpd0lQYjZIR2RTU2xZVmlhWEkxM0kKVmI5WkpqUWRJckdYWU5HcFFxKzdLWUNINVU1UkwzWk5rQjhjZ0pPTzVGRXI5cEphdnhJUjlONzRMdEpybVdPQwp5RXhlZGM4NUNOS2o5TXJOWWwvUDR3MFh2a0pJTUNDM1FMcWpPMU1pQ213UVZKem8xUUdMcFBJNmVuMk1aYzBhCkxsU3Y2UFNBV3JsZ1M1dmxMZ29WdHRINkNPbmlEZC82M1piV3B0OXNPQmZBTEhiOWRXejNIWWNiTVF5anNrMysKMUdSMHFHYW85SUdWdDdYY2pRNCtXb3NyNmh4ZW0yR3d0TXRhTm1udjJnN3R6UGRkOUxVb1ZlWGhRZ0poNGxOZgpCVTh4SXlsdjJIbmxab2RTcVZkZUNlcW9QNnluZVhNNS9tQUs2bjljRlhZRjUyUi92MUtGQlpHekFnTUJBQUdqCmdnSW9NSUlDSkRBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0cKQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZMdHdVRzdjRUNvS2RFZGFuRkJubldFNQpBSllKTUI4R0ExVWRJd1FZTUJhQUZPZXJudzhzTTZCVDAxNVBlTWl5aEE0NzFwSXpNRE1HQ0NzR0FRVUZCd0VCCkJDY3dKVEFqQmdnckJnRUZCUWN3QW9ZWGFIUjBjRG92TDNJeE15NXBMbXhsYm1OeUxtOXlaeTh3SWdZRFZSMFIKQkJzd0dZSVhkMkZzYkdGaVlXY3VZWFJvWVd4cFlYQndjeTU0ZVhvd0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QgpBZ0V3TGdZRFZSMGZCQ2N3SlRBam9DR2dINFlkYUhSMGNEb3ZMM0l4TXk1akxteGxibU55TG05eVp5ODRNUzVqCmNtd3dnZ0VGQmdvckJnRUVBZFo1QWdRQ0JJSDJCSUh6QVBFQWRnRExPUGNWaVh5RW9VUmZXOEhkKzhsdThwcFoKelVjS2FRV0ZzTXNVd3hSWTV3QUFBWnFvUHdMQkFBQUVBd0JITUVVQ0lRQ2pUb3hxV0xxaGlkaXlVU0VrWis5TApOL3F1bXR1NDdDOUZydkh1RXQxek9nSWdTUjE1eWFlbmNaUG9JWkJ3V3hQZG1XNk5BeGFjT3pIY055L0JNTytCClhpSUFkd0NXbDJTL1ZWaVhyZmREaDJnM0NFSjM2ZkE2MWZhazh6WnVScVEvRDhxcHhnQUFBWnFvUHdMNkFBQUUKQXdCSU1FWUNJUUQ0NDAxUGkrYU5JaVdJdzZSYmtvdGpoMFhsdlVMcE9PZWt4ZUs2LzJDam9BSWhBTjFqV3ovcAphL3VNbWx6dEdreDlxMzJJM2wvNnJvdzl1VzhadnlFZEhmOHJNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUIvCko4MlRFMjFvYk0rN1l4d3N5WGNla2VuTEV2MDR0Q2k4RjBwRWxCUDZtSXd5dnh4eGJKRHN6ajkzaHRlckpiOTkKTEV0WFViRkgrdGhROVNNbStCUDZ5OEd6ejhSdGpNa21jYTc2MElzZG12NW0zN21ieVdGOFh1dU1kQWlvMDErSgpjR2ZYRzJ4MjVEVU01TEdoOURJL3ZOMUszenBhQU1FRTVGNk1qOG9IcHcyRkE5ZXZZMmQ0OTRuL3FVUEdIN0tyCmpNdjRpaXhvVG9XV1U2WUJOY3JhSlBOMlNVQW91MU9OQ2UrYXIwRFZGOXFzMmZoVy9iQVJGNDRhWTV5TVJpbEMKWDllUkM1ZkNKV3dkUzQ2OVl6WFdHZStoKzlKbThid0tzOHh1RjJOWmNQcXdVVWE4YmVHYVdGVW5Ma3pERndtMQowQk9lL3pnUEpJUzJmTlZuRUxFRgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJUQ0NBdTJnQXdJQkFnSVFXZ0R5RXRqVXRJRHpra0ZYNmltREJUQU5CZ2txaGtpRzl3MEJBUXNGQURCUApNUXN3Q1FZRFZRUUdFd0pWVXpFcE1DY0dBMVVFQ2hNZ1NXNTBaWEp1WlhRZ1UyVmpkWEpwZEhrZ1VtVnpaV0Z5ClkyZ2dSM0p2ZFhBeEZUQVRCZ05WQkFNVERFbFRVa2NnVW05dmRDQllNVEFlRncweU5EQXpNVE13TURBd01EQmEKRncweU56QXpNVEl5TXpVNU5UbGFNRE14Q3pBSkJnTlZCQVlUQWxWVE1SWXdGQVlEVlFRS0V3MU1aWFFuY3lCRgpibU55ZVhCME1Rd3dDZ1lEVlFRREV3TlNNVE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUNsWjNDTjBGYUJaQlVYWWMyNUJ0U3RHWkNNSmxBM21CWmprbFRiMmN5RUJaUHMwK3dJRzZCZ1VVTkkKZlN2SFNKYWV0QzNhbmNnbk8xZWhuNnZ3MWc3VURqREtiNXV4MGRha25USStXRTQxYjBWWWFIRVgvRDdZWFlLZwpMN0pSYkxBYVhiaFp6alZseUl1aHJ4QTMvK09jWGNKSkZ6VC9qQ3VMamZDOGNTeVREQjBGeExySHphckpYbnpSCnlRSDNuQVAyL0FwZDlOcDc1dHQyUW5EcjlFMGkyZ0IzYjliSlh4ZjkyblV1cFZjTTl1cGN0dUJ6cFdqUG9YVGkKZFlKK0VKL0I5YUxyQWVrNHNRcEV6TlBDaWZWSk5ZSUtOTE1jNllqQ1IwNkNEZ28yOEVkUGl2RXBCSFhhemVHYQpYUDllblppVnVwcEQwRXFpRndVQkJERFRNck9QQWdNQkFBR2pnZmd3Z2ZVd0RnWURWUjBQQVFIL0JBUURBZ0dHCk1CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0RBVEFTQmdOVkhSTUJBZjhFQ0RBR0FRSC8KQWdFQU1CMEdBMVVkRGdRV0JCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekFmQmdOVkhTTUVHREFXZ0JSNQp0Rm5tZTdibDVBRnpnQWlJeUJwWTl1bWJiakF5QmdnckJnRUZCUWNCQVFRbU1DUXdJZ1lJS3dZQkJRVUhNQUtHCkZtaDBkSEE2THk5NE1TNXBMbXhsYm1OeUxtOXlaeTh3RXdZRFZSMGdCQXd3Q2pBSUJnWm5nUXdCQWdFd0p3WUQKVlIwZkJDQXdIakFjb0JxZ0dJWVdhSFIwY0RvdkwzZ3hMbU11YkdWdVkzSXViM0puTHpBTkJna3Foa2lHOXcwQgpBUXNGQUFPQ0FnRUFVVGRZVXFFaW16VzdUYnJPeXBMcUNmTDdWT3dZZi9RNzlPSDVjSExDWmVnZ2ZRaERjb25sCms3S2doOGIwdmkrL1h1V3U3Q044bi9VUGVnMXZvM0crdGFYaXJyeXR0aFFpbkFIR3djL1VkYk95Z0phOXp1QmMKVnlxb0gzQ1hUWERJblQrOGErYzNhRVZNSjJTdCtwU240ZWQrV2tEcDhpanNpanZFeUZ3RTQ3aHVsVzBMdHpqZwo5Zk9WNVBtcmcvenhXYlJ1TCtrMERCREhFSmVubkNzQWVuN2MzNVBteDdqcG1KL0h0Z1JoY256MHlqU0J2eUl3CjZMMVFJdXBrQ3YyU0JPRFQveEREM2dmUVF5S3Y2cm9WNEcyRWhmRXlBc1dwbW9qeGpDVUNHaXlnOTdGdkR0bS8KTksyTFNjOWx5Ykt4QjczSTIrUDJHM0NhV3B2dnBBaUhDVnUzMGpXOEdDeEtkZmhzWHRuSXkyaW1za1FxVloybQowUG14b2JiMjhUdWNyN3hCSzdDdHd2UHJiNzlvczd1MlhQM081ZjliL0g2NkdOeVJyZ2xSWGxyWWpJMW9HWUwvCmY0STFuL1NndXNkYTZXdkE2QzE5MGt4alUxNVkxMm1IVTQrQnh5UjljeDJoaEdTOWZBak1aS0pzczI4cXh2ejYKQXh1NENhRG1STlpwSy9wUXJYRjE3eVhDWGttRVdndlNPRVp5Nlo5cGNiTElWRUdja1YvaVZlcTBBT28ycGtnOQpwNFFSSXkwdEsyZGlSRU5MU0YyS3lzRndiWTZCMjZCRmVGczN2MXNZVlJoRlc5bkxrT3JRVnBvckNTMEt5Wm1mCndWRDg5cVNUbG5jdExjWm5JYXZqS3NLVXUxbkExaVUweVlNZFllcEtSN2xXYm53aGR4M2V3b2s9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdFVENDQlBtZ0F3SUJBZ0lTQlMxQm84Ym9uaXRqS1ZhU2YreW1INGNWTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRJeE1UWXdOVFF6V2hjTk1qWXdOREl4TVRZd05UUXlXakFpTVNBd0hnWURWUVFECkV4ZDNZV3hzWVdKaFp5NWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVAKQURDQ0Fnb0NnZ0lCQU5MNUtnb1NndzN0T1djTFlhSUloV0N0c1VzOWEvVjVtNDUxTTlGT3lDRGlqZXUxM3ZOTwpIbXdURWQvY3gzZFpieHV4dmNhQWhjMDJhTjJmNGU3aGJKN2lYQThWdERjL1VkMnphT3dwM2NQVHVDS2JvdllHCm1uT0kvcnJmeVc5Vmp3M3ExQnNya1dTWkI4VklEOERPMnVRb0V0NTFITURpYWNtTThTam1HTU9BUDYrS1VPZngKQzhsK2xGSC9NOVlMblJBTXU3T1BiK1Fvd0x3SUR2WFVHNWt0bm5ydzNjOFJNTVFVL0p4Q3piZWJHcS9mNG5MbApvOVJ2MFJ0MWFsKzBYQU04c0U1ZW43M2QrVVBERmtvd0JjTlBVa3o4VHVCU253dXhoZTJ6bklyVk8vYTBKS2pwCklJdHkyKzc4ck9TMys0bHpJTUZBZUtTT2pGSHA3ZEZMUUdLcGt5Ynlzb1dpd0lQYjZIR2RTU2xZVmlhWEkxM0kKVmI5WkpqUWRJckdYWU5HcFFxKzdLWUNINVU1UkwzWk5rQjhjZ0pPTzVGRXI5cEphdnhJUjlONzRMdEpybVdPQwp5RXhlZGM4NUNOS2o5TXJOWWwvUDR3MFh2a0pJTUNDM1FMcWpPMU1pQ213UVZKem8xUUdMcFBJNmVuMk1aYzBhCkxsU3Y2UFNBV3JsZ1M1dmxMZ29WdHRINkNPbmlEZC82M1piV3B0OXNPQmZBTEhiOWRXejNIWWNiTVF5anNrMysKMUdSMHFHYW85SUdWdDdYY2pRNCtXb3NyNmh4ZW0yR3d0TXRhTm1udjJnN3R6UGRkOUxVb1ZlWGhRZ0poNGxOZgpCVTh4SXlsdjJIbmxab2RTcVZkZUNlcW9QNnluZVhNNS9tQUs2bjljRlhZRjUyUi92MUtGQlpHekFnTUJBQUdqCmdnSXVNSUlDS2pBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0cKQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZMdHdVRzdjRUNvS2RFZGFuRkJubldFNQpBSllKTUI4R0ExVWRJd1FZTUJhQUZPZXJudzhzTTZCVDAxNVBlTWl5aEE0NzFwSXpNRE1HQ0NzR0FRVUZCd0VCCkJDY3dKVEFqQmdnckJnRUZCUWN3QW9ZWGFIUjBjRG92TDNJeE15NXBMbXhsYm1OeUxtOXlaeTh3SWdZRFZSMFIKQkJzd0dZSVhkMkZzYkdGaVlXY3VZWFJvWVd4cFlYQndjeTU0ZVhvd0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QgpBZ0V3TGdZRFZSMGZCQ2N3SlRBam9DR2dINFlkYUhSMGNEb3ZMM0l4TXk1akxteGxibU55TG05eVp5OHlNaTVqCmNtd3dnZ0VMQmdvckJnRUVBZFo1QWdRQ0JJSDhCSUg1QVBjQWZnQnhmcFh6d2ppS2JiSGpoRWs5TWVGYXFXSUkKZGkxQ0FPQUZETkJudGFaaDRnQUFBWnZoZzQzd0FBZ0FBQVVBQjN0L1NRUURBRWN3UlFJZ1hkL3V4UGp2Wk16QQpIRHJoMWVaenU0VzQrOTdGRC9CNDlzMUZRVWxPcnNVQ0lRRE5RcmU2c3liK3lKMXMvRHJQQWF0OU9ZbS9hOWFxCjY3Y2ZkN1l5NzFJODBBQjFBRW1jbTJuZUhYenMvRGJlellka3ByaGJyd3FIZ0JuUlZWTDc2ZXNwM2ZqREFBQUIKbStHRG5XTUFBQVFEQUVZd1JBSWdNcnNIZWMxeXJhRlY2MWJMNWd4dXd0dEJaTE0rTFlJb09UYzRrY3F2T0EwQwpJSFNUVVB2dUsyRUQ4U1J6THVHbHNOK1VTN09GQ1B1blJ3OEk2WTd1QUxrdE1BMEdDU3FHU0liM0RRRUJDd1VBCkE0SUJBUUE5aWxKTllxQzhLejlVekZvWE5zY080RWVYUmtIR2tCMjZxUU9sYnFOdDF6TFN4TnZQM1N4Vk9OeTMKcTVFWGVHMmEyUlI4V2VxTkUwUWZZV0NSUGR2b0t2OVBWWXNUL3FVSSs4WWg3cFFxZ1lISDQ0V1lidE9TWlNKMQphZE9vRnhQVFpLVStUUXhYdGlQOFo5aC9ObGZ4dk9wcDExYm40L3IvZHdFQ0tTZ041eUpRdEpQSVNqdUV4NlplCkpHaUVrYjZoTVRYMUQ1UjVpcXhCR3c0TmhDRXJtckRUajZ6VG9nVVdNckRCS3kzbEhlNkxtT1h0akRMdE5YUEgKYmxKWWF3amxEVVF0aVpLQTFBZVpCdFQ0NzVVeHNhRVV1UU5PbDAzcVY4VTZEWk5tYWwya2hBYWlacDRWaTZDcQpzVEttY1IvYTRFbkg4eCs3TFNUdU9TWDlCdm9LCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQlRDQ0F1MmdBd0lCQWdJUVdnRHlFdGpVdElEemtrRlg2aW1EQlRBTkJna3Foa2lHOXcwQkFRc0ZBREJQCk1Rc3dDUVlEVlFRR0V3SlZVekVwTUNjR0ExVUVDaE1nU1c1MFpYSnVaWFFnVTJWamRYSnBkSGtnVW1WelpXRnkKWTJnZ1IzSnZkWEF4RlRBVEJnTlZCQU1UREVsVFVrY2dVbTl2ZENCWU1UQWVGdzB5TkRBek1UTXdNREF3TURCYQpGdzB5TnpBek1USXlNelU1TlRsYU1ETXhDekFKQmdOVkJBWVRBbFZUTVJZd0ZBWURWUVFLRXcxTVpYUW5jeUJGCmJtTnllWEIwTVF3d0NnWURWUVFERXdOU01UTXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUsKQW9JQkFRQ2xaM0NOMEZhQlpCVVhZYzI1QnRTdEdaQ01KbEEzbUJaamtsVGIyY3lFQlpQczArd0lHNkJnVVVOSQpmU3ZIU0phZXRDM2FuY2duTzFlaG42dncxZzdVRGpES2I1dXgwZGFrblRJK1dFNDFiMFZZYUhFWC9EN1lYWUtnCkw3SlJiTEFhWGJoWnpqVmx5SXVocnhBMy8rT2NYY0pKRnpUL2pDdUxqZkM4Y1N5VERCMEZ4THJIemFySlhuelIKeVFIM25BUDIvQXBkOU5wNzV0dDJRbkRyOUUwaTJnQjNiOWJKWHhmOTJuVXVwVmNNOXVwY3R1QnpwV2pQb1hUaQpkWUorRUovQjlhTHJBZWs0c1FwRXpOUENpZlZKTllJS05MTWM2WWpDUjA2Q0RnbzI4RWRQaXZFcEJIWGF6ZUdhClhQOWVuWmlWdXBwRDBFcWlGd1VCQkREVE1yT1BBZ01CQUFHamdmZ3dnZlV3RGdZRFZSMFBBUUgvQkFRREFnR0cKTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQ0JnZ3JCZ0VGQlFjREFUQVNCZ05WSFJNQkFmOEVDREFHQVFILwpBZ0VBTUIwR0ExVWREZ1FXQkJUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QWZCZ05WSFNNRUdEQVdnQlI1CnRGbm1lN2JsNUFGemdBaUl5QnBZOXVtYmJqQXlCZ2dyQmdFRkJRY0JBUVFtTUNRd0lnWUlLd1lCQlFVSE1BS0cKRm1oMGRIQTZMeTk0TVM1cExteGxibU55TG05eVp5OHdFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3SndZRApWUjBmQkNBd0hqQWNvQnFnR0lZV2FIUjBjRG92TDNneExtTXViR1Z1WTNJdWIzSm5MekFOQmdrcWhraUc5dzBCCkFRc0ZBQU9DQWdFQVVUZFlVcUVpbXpXN1Rick95cExxQ2ZMN1ZPd1lmL1E3OU9INWNITENaZWdnZlFoRGNvbmwKazdLZ2g4YjB2aSsvWHVXdTdDTjhuL1VQZWcxdm8zRyt0YVhpcnJ5dHRoUWluQUhHd2MvVWRiT3lnSmE5enVCYwpWeXFvSDNDWFRYREluVCs4YStjM2FFVk1KMlN0K3BTbjRlZCtXa0RwOGlqc2lqdkV5RndFNDdodWxXMEx0empnCjlmT1Y1UG1yZy96eFdiUnVMK2swREJESEVKZW5uQ3NBZW43YzM1UG14N2pwbUovSHRnUmhjbnoweWpTQnZ5SXcKNkwxUUl1cGtDdjJTQk9EVC94REQzZ2ZRUXlLdjZyb1Y0RzJFaGZFeUFzV3Btb2p4akNVQ0dpeWc5N0Z2RHRtLwpOSzJMU2M5bHliS3hCNzNJMitQMkczQ2FXcHZ2cEFpSENWdTMwalc4R0N4S2RmaHNYdG5JeTJpbXNrUXFWWjJtCjBQbXhvYmIyOFR1Y3I3eEJLN0N0d3ZQcmI3OW9zN3UyWFAzTzVmOWIvSDY2R055UnJnbFJYbHJZakkxb0dZTC8KZjRJMW4vU2d1c2RhNld2QTZDMTkwa3hqVTE1WTEybUhVNCtCeHlSOWN4MmhoR1M5ZkFqTVpLSnNzMjhxeHZ6NgpBeHU0Q2FEbVJOWnBLL3BRclhGMTd5WENYa21FV2d2U09FWnk2WjlwY2JMSVZFR2NrVi9pVmVxMEFPbzJwa2c5CnA0UVJJeTB0SzJkaVJFTkxTRjJLeXNGd2JZNkIyNkJGZUZzM3Yxc1lWUmhGVzluTGtPclFWcG9yQ1MwS3labWYKd1ZEODlxU1RsbmN0TGNabklhdmpLc0tVdTFuQTFpVTB5WU1kWWVwS1I3bFdibndoZHgzZXdvaz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBMHZrcUNoS0REZTA1Wnd0aG9naUZZSzJ4U3oxcjlYbWJqblV6MFU3SUlPS042N1hlCjgwNGViQk1SMzl6SGQxbHZHN0c5eG9DRnpUWm8zWi9oN3VGc251SmNEeFcwTno5UjNiTm83Q25kdzlPNElwdWkKOWdhYWM0ait1dC9KYjFXUERlclVHeXVSWkprSHhVZ1B3TTdhNUNnUzNuVWN3T0pweVl6eEtPWVl3NEEvcjRwUQo1L0VMeVg2VVVmOHoxZ3VkRUF5N3M0OXY1Q2pBdkFnTzlkUWJtUzJlZXZEZHp4RXd4QlQ4bkVMTnQ1c2FyOS9pCmN1V2oxRy9SRzNWcVg3UmNBenl3VGw2ZnZkMzVROE1XU2pBRncwOVNUUHhPNEZLZkM3R0Y3Yk9jaXRVNzlyUWsKcU9rZ2kzTGI3dnlzNUxmN2lYTWd3VUI0cEk2TVVlbnQwVXRBWXFtVEp2S3loYUxBZzl2b2NaMUpLVmhXSnBjagpYY2hWdjFrbU5CMGlzWmRnMGFsQ3I3c3BnSWZsVGxFdmRrMlFIeHlBazQ3a1VTdjJrbHEvRWhIMDN2Z3UwbXVaClk0TElURjUxenprSTBxUDB5czFpWDgvakRSZStRa2d3SUxkQXVxTTdVeUlLYkJCVW5PalZBWXVrOGpwNmZZeGwKelJvdVZLL285SUJhdVdCTG0rVXVDaFcyMGZvSTZlSU4zL3JkbHRhbTMydzRGOEFzZHYxMWJQY2RoeHN4REtPeQpUZjdVWkhTb1pxajBnWlczdGR5TkRqNWFpeXZxSEY2YlliQzB5MW8yYWUvYUR1M005MTMwdFNoVjVlRkNBbUhpClUxOEZUekVqS1cvWWVlVm1oMUtwVjE0SjZxZy9yS2Q1Y3puK1lBcnFmMXdWZGdYblpIKy9Vb1VGa2JNQ0F3RUEKQVFLQ0FnRUFzeHFPUXZER1M0dHA0UDM3aThoNkdzSTZNbXJaZlJNWktVNThpQ08rcUpSTThaOTd2OGhBOFhVYgpCcFp5eS9LajdibnVKMWV5djYyQ1J5dlZiYXY0UDhaaGF2ajgvcTRGdlJYemJCSjZ6eVd0Tzh3dkEzaEZwUEhYCmR5Ukc2UHFVc0xiOERIam5QS1Rod096Vld0VUJaUkpVT29EbndTUTF0TUt2ZFE0cVZjWkp5cWU4MmJ0OFN6bm4KaHRrRjA2QVdYYXJCcXNXSnN3T1o0OGRmay9qVzJTcXVVU2FzMTM1N2pPdFlMUHhWa3ByZGhCT29OZXlZTWVBZgpnSlVra2swV2xEVHdaQWZXeXlSbjJjd0QzMFYzandDSEdRNVZsQUR3UHNnZHI5ZDhmU3hiZEt3b056RjZ6SWZkCkNMMS90Y2d2aGRlMEpmdXFyK0RJWlQ0WUJFZERSelFYeE1zcnZ6aUZXekE2YlFvallGM0xaQ25IcGdsVUlJQ0EKa1NpT2cvRW5jU2QxYWxlaWVaTGhkZXl6cUVYUlpBMnVYWEJOYjlBcCtpZmlDaTNFTEpoS1ZCQXg3c0dOeDBOagozbW1kMDFqSkc0cXpZY05DckVWU2UrR21YYWpZZXZqeTB0RnZobllTek55bzNFNmFRRkRlQkEzM2RwQ3BBcmsrCmdHK0FIbjdwWURlUmtOYkdWQ3JET1pISXBiODI5NTdlQ2RVYXE4YytyUllFRldFVFZ5QnJJbXJZM2ozZG5QeEoKVHVCenZab0UwWVc1ZW5pM1JzUm9hYlFjcDI2VVZSZnRzTk56TFBWZjYyMmtvMGRmNURhL1l2aUkzMXhlYkIrVgo2UjVwNE5NSWFMU3pQRENoUVVMa3o4Z3dvZmxSVlQ4dU8zZmQrejFTYXRqSXdGNzJxWEVDZ2dFQkFQVGFtNk5SCnVRR2hRK041OHZObVZYUitrMFBvWUN2cHZkaEN5VXRvdHVRSWFyMllQMWJZczdzT1Z1NnZOZnRTNi9NL1V5VHoKa2MvWmlYblArMVR5NEFwWXgzZXdwTGt3WXloRGpNSjN0SkJYUitnN3Z4dVhDVHpDeGVXZEh6YzZNVzdKSG9hbgphS0g2dGQxVVYzdzRKRU15Q3VmeXZOM2cyVENSV3FuQU8zTjQrZWJMN2gyeXd3N0kyRmwvN0NpaGRLSzlQYkdoCjVLVE1PcmxhWUtSMU11K1VvaWczelZIRG16d1VUSlRiRnI1U2NQTGJSU1lNeEJXRlBrR3B5VE0zeEJTMm04T0gKaUtCNHhYTSs4VVFWaEtrR3dDMW1YbXZIblphSU80dzBjL3RDakVBTHdxZEhDcHkwM2tYKytkYzlnbDI5amJ3dQpabnJ5cFpwZm91RHd4QXNDZ2dFQkFOeVR1dVdDaldYUVdDU0tnRnF5VUhrSXh1TFFQZzVwb2VWTkhCRjF2K1htCjhvNG9EZC9KV2hiWW5DSEc3VGhzUjgxVEVseUU1ZTNyUDJVYjBtcEk2YzF6N0l1VzY5OTRTKzVMNkcyY21qWUgKMDQ1VnMzaEg0RWROTjQ4U1krSVdPaUZkbTFRcjdFMXFDT21qZmNqc0NmQXEvYTdrVmF3cWJIYkdDOXQ4eW5MTApJd0l1Sm1jajFiWU1lM2ZTeG9wNW5KbjlDV0JGWHJSSE1zNnBscTFodXhaMU5HNTEwODJ6ODZpcDZta2VVVU9kCmV2QTBpd2NZcGoyV01CNXFHL1gwZGNkVEd2Vk9Ib3pxQi9sTHNvdDVYa0lUVFhnZ3dxejljdU9Id3dTUk93RVoKaUZKUG5QZ2NYWS9nNlRPVU9OYnZBNCtTMEFqMkFVNGNVZjlHclhUbmlma0NnZ0VBY3haZG1VSk1SeXZaa1E0OAoxNUwrRDZkKzZLaE1xOWROMkZ4cjZQbnJIUHVuMEQzRFo3cXJuL3g1ZCs3NjNJcDVSUGc2eUYrRDVjSkdEKzltCkh1T1owc012M2w0MHpxYWp0TVVyWUN5THZseUgrK3c1UTJxV2VPekR2ODArWXVNRFlTTS9LZU4rRnNTVXZ0ZHAKMTRVNzVpbWJYcktGZTNTNElVL3c0V0R0a0xVSUlTY3hZTndwT3NYRWl5ekpmNytENXdveitVNHkvaExRZDFhMwpuaFZJUDd3SkRBWk9oMlA5anh1cmN6d1hVSlhIYVI4UFBYYzZvekxodEZOdHNway9uTXpJSWZ1T2lINjdzQk9oCnEzTEJ6QURVUzRLV1Z1cVljNnpNOEhXbkhpNkZaWVVobFNhYklsVVJOSzFJR1pkYnMxdnBSczQ0ZFFtZ05STkcKcDV3RFNRS0NBUUFwUHhyQTFpUFl1UmZ5WlUvUkplejBaUmJEelFyOXFQVVVLdEluMWF2M3NyTUNzQ3kvL3lmdwpnN3JXZWh0YjVLdWNrbjhwZTlSL0kvRnIxOE1HQ3ZKbGI5cjQwMVR5S2MyUkZ2SzBwSWNWdVdydS84bWFvVjRvCkZ5RmZpS0hTNGpNbWtCbCtxT1A4S2VyV3ZiTEV3cGF0S1d6Y3FtZjIxTXdKZmNrejF1Y0loa0hhbzRTYzNzK1UKeGtyRVFrN01FQ2VmaC9pYjN2enhteXErQ0dwYnE1M1Bla1UrcnB2WHFHSFUxVWszTk9zZlNMQjNnR3ZLL09vQgpORGQxU0lSSC90bVRWMUFBTlFaemRVUGVjekJFOG9JVXV3Vk9oRm5DL1hYaFpENnNlUGZlb2NhakZhNFZtMEJICnFsZ1JSQk5JNWRMMW93OXh6WWE2ODRMRnlKS2cvTGNKQW9JQkFDcXBUMVI5WkF1NWtlc3kxazhVK3FjUm1NN1gKNHk5UFA1Nm5YQWpKNmJncVJ2QlovZ3RYR2VGQVc2eFpsKy9BM3pxMHg1KzNpNGlLOEhmUDNrUzNPMkt2N2QyUwpIcHlRVjFsUTVmMnJwN2R2WFJjUDhaVi9kN0NrRDNWSldLamN3RnRkMEZqTW1qTm8zTnkyZmlqai85dTU2TC9ZClUxcTQxaEt3YnJnL1pVOW5YUmJPT2FhY0k4T1RQYmJ5V21xUWpjZGk3QUFSRGNTRDFyb3o4bWY0b1JoVVZZOHAKNGFNQmlYQUZaN21nSHB2b2R6SGd6ekVkVjJXUFBLWFJBRzdkQnJlVTdML0lYRnJmYS9uQm93N2F0RVZ4dFI5SwpjT3pRZE40bzluTEhGaXpmMHprKzlqdnA3TnRTQjBibGZtUTJqMjFlSit2azkvV2NKa3VJL24wNVFDaz0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -91,7 +91,7 @@ "domain": { "main": "radarr.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDRENDQlBDZ0F3SUJBZ0lTQmIyZDFSMEJhQWxyd3pUZ0tXR2NsTHZ2TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05NalV4TVRJeE1qQXdPVFV3V2hjTk1qWXdNakU1TWpBd09UUTVXakFnTVI0d0hBWURWUVFECkV4VnlZV1JoY25JdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUUMxcTZ4RUxFNFFGaDRsYjVodmVLWllqS0h6dHVuZXp0d1JrazdaR3VuWGU0K0wxbGxrMU9EVQpneDg1Q2l5ZFlqWTc1WUxRcnYxYUFuOVpkMldJc2dxMkVGZlBYbEZjM0ZFQUFoa20raHdsNHFwdHFIVGdYSHlXCkM3bm5lVytmbEJUYzM2ZFI1RnMwRUFJa0Z4U1hKQ3doN0cvTGd4TlVvQWdJc0tORGIzWVJKMkJvMlBvSUtZcUcKYVByK1RnbEdTSjFhTFV5MmhsOUtkbmdRbXlhNGhXaFZtYVhDTEdNa0ExMjE2TDBMNEFYWGl2Y3ZObEF5b01jTgptSGpQcGJ4NktCWlBxQmFBRXE0eTRFVHNCZDFWVWI2bXRvNjh2aXpKYnROcThSeDE4cnRkK1FsQmUwN3JQQnA3Cit4Q2hramg1aDhwQmcvazNCS3FxcXZsdHQ5STlNN0NxTlRqNmRzMFVRNGwvWEdZTVo1VFBHSzRLbWt6THR5NXMKeHg3ZlRNVEduWEZvZnJGR1FYdGRzQWhoUC94MEIxaUVFanhvRXExa21seWZYN2dycERmOGtmT0dCbWxQWnQ3TQpldGFvN1lrQk5NQ010dXVHNkszQW9IbllUZ0tubFZRZ2hYaGM4UDg0eVVDd0J4dis3b1cwK3V6dm4yMENvYVVrCjl6cFNSK0x3b3k5Ti9sK01rTi95UEJmc1g3amNlNVMrVWV3NlNsUDBvUEo1YVlTVnRWcDE1T0lNMTQ3akJBZTkKMTFkRWxqRFRYN0pzcHdDb2Y3SHdNM2pxNGd1TlpudUVIWnJDTis4dkM1SUU4bGZteDlDcjN6OUhLTUZIMldxSQpiQTJXWlBQY29xSjJmc0F4ODZZV09kK0grd2NsR2FhZ1dJU2RmbWhVRlA5UnlqVDJUYXFXQndJREFRQUJvNElDCkp6Q0NBaU13RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJReW5PVDNvSUY4eDNjUWRsMjVLNnFsbzZ2MAprekFmQmdOVkhTTUVHREFXZ0JRQXRTbnlMWTV2TWVpYlRLMTRQdnJjNlF6UjBqQXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRJdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZYSmhaR0Z5Y2k1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdgpCZ05WSFI4RUtEQW1NQ1NnSXFBZ2hoNW9kSFJ3T2k4dmNqRXlMbU11YkdWdVkzSXViM0puTHpFeE1pNWpjbXd3CmdnRUZCZ29yQmdFRUFkWjVBZ1FDQklIMkJJSHpBUEVBZGdCa0VjUnNwQkxzcDRrY29nSXVBTHlyVHlnSDFCNDEKSjZ2cS90VUR5WDNOOEFBQUFacW9QeC8xQUFBRUF3QkhNRVVDSVFDSFdHSEdtckZna3ZOekQvcis2UmwyVXF0YwpLbFNtdDdabDdwTFZuVmVsU1FJZ1hwcWJMc0tkUnprNHVGVVZSQyszUThTc3ZVTjVTU1RmWE5GUEk5RnFNbTRBCmR3QVpodFRIS0twdi9yb0RiM2dxVFFHUnFzNHRjakVQcnM1ZGNFRXRKVXpIMUFBQUFacW9QeWZRQUFBRUF3QkkKTUVZQ0lRRGZpSlQxRWZBdmpHZFlVZEhvS0toT1JhdTQ2YzNqM0hvL2NyR3pFcHpGYmdJaEFJMDFXOTlBVGw0aQpzTk10Rm5KU1RvYTdNUmJZRVZ2c3I4Y2lYcmk1Z0dyZE1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQTRqNGtUCnpPUVZ6YSs2T3NjMHBSd0JjTEtwc3loZk5PVVBId2txdzVDSitpbml3bVNHUjdPRHVyazBzRE55VWhJUXFsM2MKcmdNN2Z3NWs0M09oWXJlbWQxSmtZMlluUVR4SkhQTGRsTGFsU2dTMUF6WXFVanBkY1RHQUdVRzRKdkFZYWk5UQpDL3IxVldEdFVrOVZTckticHBuWFRsblk3cmpUcnhOQTkxakRoeUtYMitVZ2JQb1ZkUXcxY05UdGFXSk9GTytOCjZ4ZzJrSFRMWWtxU1UvS1hQcFR0SEdGM0EvM1JKT3F6aGdvYTh6ZUk0YmxQbVhxajJIUklCL2NCeW5kNGFsWWsKWVJHUFpuRGdxS1VVRlA5VFM4WlBHSHBSeWIyS2l3b2k2VzRyRlZlUDUwbzNlWWFvKzh2TlJ2dVZQS2U3VS9PNQphWjNRWFhKWVV1eGVIRjN2Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdEVENDQlBXZ0F3SUJBZ0lTQmRKWmV5U1IzenJBUHh3cGhOM05HYWFITUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXdOVFV5V2hjTk1qWXdOREl4TVRZd05UVXhXakFnTVI0d0hBWURWUVFECkV4VnlZV1JoY25JdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUUMxcTZ4RUxFNFFGaDRsYjVodmVLWllqS0h6dHVuZXp0d1JrazdaR3VuWGU0K0wxbGxrMU9EVQpneDg1Q2l5ZFlqWTc1WUxRcnYxYUFuOVpkMldJc2dxMkVGZlBYbEZjM0ZFQUFoa20raHdsNHFwdHFIVGdYSHlXCkM3bm5lVytmbEJUYzM2ZFI1RnMwRUFJa0Z4U1hKQ3doN0cvTGd4TlVvQWdJc0tORGIzWVJKMkJvMlBvSUtZcUcKYVByK1RnbEdTSjFhTFV5MmhsOUtkbmdRbXlhNGhXaFZtYVhDTEdNa0ExMjE2TDBMNEFYWGl2Y3ZObEF5b01jTgptSGpQcGJ4NktCWlBxQmFBRXE0eTRFVHNCZDFWVWI2bXRvNjh2aXpKYnROcThSeDE4cnRkK1FsQmUwN3JQQnA3Cit4Q2hramg1aDhwQmcvazNCS3FxcXZsdHQ5STlNN0NxTlRqNmRzMFVRNGwvWEdZTVo1VFBHSzRLbWt6THR5NXMKeHg3ZlRNVEduWEZvZnJGR1FYdGRzQWhoUC94MEIxaUVFanhvRXExa21seWZYN2dycERmOGtmT0dCbWxQWnQ3TQpldGFvN1lrQk5NQ010dXVHNkszQW9IbllUZ0tubFZRZ2hYaGM4UDg0eVVDd0J4dis3b1cwK3V6dm4yMENvYVVrCjl6cFNSK0x3b3k5Ti9sK01rTi95UEJmc1g3amNlNVMrVWV3NlNsUDBvUEo1YVlTVnRWcDE1T0lNMTQ3akJBZTkKMTFkRWxqRFRYN0pzcHdDb2Y3SHdNM2pxNGd1TlpudUVIWnJDTis4dkM1SUU4bGZteDlDcjN6OUhLTUZIMldxSQpiQTJXWlBQY29xSjJmc0F4ODZZV09kK0grd2NsR2FhZ1dJU2RmbWhVRlA5UnlqVDJUYXFXQndJREFRQUJvNElDCkxEQ0NBaWd3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJReW5PVDNvSUY4eDNjUWRsMjVLNnFsbzZ2MAprekFmQmdOVkhTTUVHREFXZ0JRQXRTbnlMWTV2TWVpYlRLMTRQdnJjNlF6UjBqQXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRJdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZYSmhaR0Z5Y2k1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdApCZ05WSFI4RUpqQWtNQ0tnSUtBZWhoeG9kSFJ3T2k4dmNqRXlMbU11YkdWdVkzSXViM0puTHpndVkzSnNNSUlCCkRBWUtLd1lCQkFIV2VRSUVBZ1NCL1FTQitnRDRBSGNBWkJIRWJLUVM3S2VKSEtJQ0xnQzhxMDhvQjlRZU5TZXIKNnY3VkE4bDl6ZkFBQUFHYjRZT3c5UUFBQkFNQVNEQkdBaUVBbk55cUNlWHVKWEkzdkZ2Q0Y0OERGWk4wclVNbQphcnpKYUlEYURsVXdFdUFDSVFDanZUbmloSDJYRWFWQnhLeTVuLzg1b3dmSUhXL0hNWFpVbVp5TUVOZHB6Z0I5CkFPTWpqZktOb29qZ3F1Q3M4UHFReVlYd3RyLzEwcVVuc0FIOEhFUll4TGJvQUFBQm0rR0RzK1FBQ0FBQUJRQXcKRVZqT0JBTUFSakJFQWlBYS9mZmxpK0p5YjRMYVdiVWplZlp2dE1rcWxzY2w0Z2lVMUkzU1duOWJtd0lnSTh5YgpMbVJqbzBYTTNKRGQwbmM1QTkycVFpdUFDeUN5bTlBcEhxVVZnNTh3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCCkFDdDZYaVhVQkppQUZuTGc3c29mVXZPSm02SHphbjBSdFY1T1psRFpBL0JxVDFZb1VRMGc5aTd2VmxYczlUOHkKT2pWTStTM0lERzAyQWNnL2x4U3dGYWIyUWFGa3djcy9WVkVveXFzRXI1Z1IwZ2VjaVBGMkpFU2pQbnVqajlxSgoxaXR5QjdORUovdnhTb2xYRnRWSDl4YnoxR0Yvc0tqOVd4VzJLWGF1TWZDZ29qdWNFSkg1NktkREtzdTNUSFY4CnVpRExRU1JKM0VaaXNLT0hURzBlVElJcFZBSlZRcFhMZ2l3eUlRY0kxNlNtaVBDYmREa0hkdlhQNGtWQjJXZGMKQ0RpQmxZMkFVaUEwdHFJOEdCN1QvZk5JWktwNld4ZlRqTFJ1N1ptdFIrQ2czRmJEZmQwSjhvZEpUeTl6MjFPbAphcDY1SHVjNFFQR1pESElxRUtpZTBlND0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCakNDQXU2Z0F3SUJBZ0lSQU1JU01rdHdxYlNSY2R4QTkrS0ZKand3RFFZSktvWklodmNOQVFFTEJRQXcKVHpFTE1Ba0dBMVVFQmhNQ1ZWTXhLVEFuQmdOVkJBb1RJRWx1ZEdWeWJtVjBJRk5sWTNWeWFYUjVJRkpsYzJWaApjbU5vSUVkeWIzVndNUlV3RXdZRFZRUURFd3hKVTFKSElGSnZiM1FnV0RFd0hoY05NalF3TXpFek1EQXdNREF3CldoY05NamN3TXpFeU1qTTFPVFU1V2pBek1Rc3dDUVlEVlFRR0V3SlZVekVXTUJRR0ExVUVDaE1OVEdWMEozTWcKUlc1amNubHdkREVNTUFvR0ExVUVBeE1EVWpFeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQgpDZ0tDQVFFQTJwZ29kSzIrbFA0NzRCN2k1VXQxcXl3U2YrMm5BekorTnBmczZER1BwUk9OQzVrdUhzMEJVVDFNCjVTaHVDVlV4cXFVaVhYTDBMUWZDVFVBODN3RWp1WGczOVJwbE1qVG1obkdkQk8rRUNGdTlBaHFaNjZZQkFKcHoKa0cyUG9nZWcwSmZUMmtWaGdUVTlGUG5Fd0Y5cTNBdVdHckNmNHlycXZTcldtTWViY2FzN2RBODgyN0pndmxwTApUaGpwMnlwelhJbGhaWjcrN1R5bXkwNXY1Sjc1QUVhei94bE5LbU96am1iR0dJVnd4MUJsYnp0MDVVaUREd2hZClhTMGpuVjZqL3VqYkFLSFM5T01aVGZMdWV2WW5udVhObkMyaThuK2NGNjN2RXpjNTBiVElMRUhXaHNEcDdDSDQKV1J0L3VUcDhuMXdCbldJRXdpaTlDcTA4eWhEc0d3SURBUUFCbzRINE1JSDFNQTRHQTFVZER3RUIvd1FFQXdJQgpoakFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdFd0VnWURWUjBUQVFIL0JBZ3dCZ0VCCi93SUJBREFkQmdOVkhRNEVGZ1FVQUxVcDhpMk9iekhvbTB5dGVENzYzT2tNMGRJd0h3WURWUjBqQkJnd0ZvQVUKZWJSWjVudTI1ZVFCYzRBSWlNZ2FXUGJwbTI0d01nWUlLd1lCQlFVSEFRRUVKakFrTUNJR0NDc0dBUVVGQnpBQwpoaFpvZEhSd09pOHZlREV1YVM1c1pXNWpjaTV2Y21jdk1CTUdBMVVkSUFRTU1Bb3dDQVlHWjRFTUFRSUJNQ2NHCkExVWRId1FnTUI0d0hLQWFvQmlHRm1oMGRIQTZMeTk0TVM1akxteGxibU55TG05eVp5OHdEUVlKS29aSWh2Y04KQVFFTEJRQURnZ0lCQUk5MTBBblBhblpJWlRLUzNyVkV5SVYyOUJXRWpBSy9kdXV6OGVMNWJvU29WcEhoa2t2Mwo0ZW9BZUVpUGRaTGo1RVo3RzJBcklLK2d6aFRsUlExcTRGS0dwUFBhRkJTcHFWL3hiVWI1VWxBWFFPbmtIbjNtCkZWaitxWXY4Ny9XZVkrQm00c04zT3g4Qmh5YVU3VUFRM0xlWjdOMVgwMXh4UWU0d0lBQUUzSlZMVUNpSG1aTCsKcW9DVXRnWUlGUGdjZzM1MFFNVUlXZ3hQWE5HRW5jVDkyMW5lN25sdUkwMlY4cExVbUNscVhPc0N3VUx3K1BWTwpaQ0I3cU9NeHhNQm9DVWVMMkxsNG9NcE9TcjVwSkNwTE4zdFJBMnM2UDFLTHM5VFNyVmhPays3TFgyOE5NVWxJCnVzUS9ueExKSUQwUmhBZUZ0UGp5T0NPc2NRQkE1MytOUmpTQ2FrN1A0QTVqWDdwcG1rY0pFQ0wrUzBpM2tYVlUKeTVNZTVCYnJVODk3M2paTnYvYXg2K1pLNlRNOGpXbWltTDZvZjZPclg3WlU2RTJXcWF6enNGckxHM28ya3lTYgp6bGhTZ0o4MUNsNHR2M1NiWWlZWG5KRXhLUXZ6ZjgzRFlvdG94M2YwZnd2N3hsbjFBMlpMcGxDYjBPK2wvQUswCllFMERTMkZQeFNBSGkwaXdNZlcybk5ISnJYY1kzTExIRDc3Z1JnamU0RXZldWJpMnh4YStObWsvaG1oTGRJRVQKaVZERmFub0NyTVZJcFE1OVhXSGt6ZEZtb0hYSEJWN29pYlZqR1NPN1VMU1E3TUoxTno1MXBodURKU2dBSVU3QQowenJMbk9yQWovZGZybEVXUmhDdkFnYnV3TFpYMUEyc2pOalhvUE9IYnNQaXkrbE8xS0Y4L1hZNwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBdGF1c1JDeE9FQlllSlcrWWIzaW1XSXloODdicDNzN2NFWkpPMlJycDEzdVBpOVpaClpOVGcxSU1mT1Fvc25XSTJPK1dDMEs3OVdnSi9XWGRsaUxJS3RoQlh6MTVSWE54UkFBSVpKdm9jSmVLcWJhaDAKNEZ4OGxndTU1M2x2bjVRVTNOK25VZVJiTkJBQ0pCY1VseVFzSWV4dnk0TVRWS0FJQ0xDalEyOTJFU2RnYU5qNgpDQ21LaG1qNi9rNEpSa2lkV2kxTXRvWmZTblo0RUpzbXVJVm9WWm1sd2l4akpBTmR0ZWk5QytBRjE0cjNMelpRCk1xREhEWmg0ejZXOGVpZ1dUNmdXZ0JLdU11QkU3QVhkVlZHK3ByYU92TDRzeVc3VGF2RWNkZks3WGZrSlFYdE8KNnp3YWUvc1FvWkk0ZVlmS1FZUDVOd1NxcXFyNWJiZlNQVE93cWpVNCtuYk5GRU9KZjF4bURHZVV6eGl1Q3BwTQp5N2N1Yk1jZTMwekV4cDF4YUg2eFJrRjdYYkFJWVQvOGRBZFloQkk4YUJLdFpKcGNuMSs0SzZRMy9KSHpoZ1pwClQyYmV6SHJXcU8ySkFUVEFqTGJyaHVpdHdLQjUyRTRDcDVWVUlJVjRYUEQvT01sQXNBY2IvdTZGdFByczc1OXQKQXFHbEpQYzZVa2ZpOEtNdlRmNWZqSkRmOGp3WDdGKzQzSHVVdmxIc09rcFQ5S0R5ZVdtRWxiVmFkZVRpRE5lTwo0d1FIdmRkWFJKWXcwMSt5YktjQXFIK3g4RE40NnVJTGpXWjdoQjJhd2pmdkx3dVNCUEpYNXNmUXE5OC9SeWpCClI5bHFpR3dObG1UejNLS2lkbjdBTWZPbUZqbmZoL3NISlJtbW9GaUVuWDVvVkJUL1VjbzA5azJxbGdjQ0F3RUEKQVFLQ0FnQjg0ckxkZW9kL1QzVVJ6eEUvTC9WS1VnTFRBeDdxWjlHbzBxY1pZQUw0ZXB4SFNPYlRCZlE0b3BySQpIMUprTHF1UnFVaXdKRnROa1FIeWdyMXRwdGJ1S1hYenU2YTY2MGxUZEIzT1NZa29FaFdPcElzVDRRQlVOV05xCjJIUC9nMUNFTmN0VDVHTTkrdk05MUEvM2hvcEFGOFVTWmR6WUE5c0Iva3Q5aEJYcDNPUE5yN3JSK1p5Y29YWkoKYzJPMHlSNUNhM21jeitxWnlhN24yNEJXd0g3a3VXYlZnS1gyajhuUHoxcUYyMDZveVlMN0ZaOHo3b3Buc2pUNgpxYmhUVVZObEZ1dkF4eGF4S3JLMmZhR1ZrVWc2V3F6czJ0NzI2aFMwSTJPcFFWL0VUZm9xNVpWdTZEWmNuRTdtCmd4b0hrVzFjZEZqUmxZZXRJek9zVlAxVnpUN1gyZit0VVFzS0p2T2E3L3dyYjkrQTJ0cFhuazZPNU9Qd1pvNDkKREwwQ1R3b29waDYrUnBOcEsxc2xhd2lyTE5XYVBPWStSM1U5RUJmMWplNmw1L05lRjRab3VNckE1dFE4cVBuZApjdE82Z1gybFRYQ01DNGVOMTdIZXhJL3RmbEc3aG5yc1hUTVl2M3hhZ3JkWnY3NlVYVktaWHpsWE9XbHM0VzRhCjRCYXUzZWRGSW9ZYUg5L3hFa2lhV1I1c1FoamxyU1ovNWNwNzRVZFgxenBHTHpSZW9hUFExZFJCbnYrQ2w0L1MKRGV4TDJ4VUpvQlF3dzA3RHQ2Ynpkdzc2QUZkem8veXJZNlhwYkc0U2JadnNWMFg5ZC9wakVEcVFDY2RxZ1JLYgpvaUpyM0t0bXd0ekUvV3JpVUhmVTEvbnFpM25Uc1E2ZGNveUl4WkkxYmpXTjFNQjlBUUtDQVFFQXluOGQ4UGxICjcvWTFkMk45UEhUdWc3TkQzZENCN21MWHJZd3ZZdmZmT2ZVenh3cm5CZlVuaG92Wml1MGlGUDVSMENaUjkwY1IKYlFnSGNtOFFvN2U5Y2IvakVoUEM5M3lWYTZNSzMyLy9ROE84alRGYmd1VTlyYmFDdHZNM0dqVkxVK01veEpBRAp1QmFwN2pkYkFXYUdFcXZQOUFSZTY3Q2FUK1FDZkpWOEJwR0czSUU0YzVpanRBWlJhZE1USWsrakg4Q3R3cUhICkMweFNtM3E4SitMUXFPd0tmYklwd2ZQSE5XbVB6RWt1S3F5c296bEszL2pVUlJmclg1bEhvRzlJN21JTC82NmwKemZkZUQrYXZlUTVoTjdLR0J1VkxsUjV4TkppdzVHcmltRHU0TDJrZFlmdjYwdVVNb2IzNnlSYjJ1MW9PNlRzWQpKb1JrOWlraGRMQ3FJUUtDQVFFQTVhdmpCTzF3L1NZS2UzQUJDcjNHQlUvem4zaDJmdm9sdkNQL2JSaUhsWm5CCmVuR0FYVVNHZm85MWpwRTZhZEFrMVdvd2ZHOE16TFBSNERjUE1ORHlXai9kRGhibG8za0Q5UUROdkxoYTVabHMKd0JJclBQRGt4NGlXZmJsOC9mUmpBQ0g1RGRJMGUvQ3FuZnc3RHZhL1NNVFRHMkZybnpqbDlyYXVvWW85VkxCTwp4VUErSDdpNGRjanZxYTZSdWlpSmErRDMyeXJLL0hzU3ZqVDFrY1Y3bXdBKys4RzVjYlpQU0RQTFRiTGJtaEppCkxwRlZXbkpuWVBFc3pEQmxwTnJSWEMybGE4V2grc0tYLzZpa1JzU0pvRXpNdFpjbzNCWW5DSTlOelhaSUtwY1gKZ25BeWNoSk10SzE5Z2xlSjRpbTBKTmpVdC95WTU3WnZvZ3dzRWNsTEp3S0NBUUVBdFhrNGJ4WW9aeUFDaUkxTAoxaHVCQ2R4bExPdkpGY2ZWUEQ0TzFhWUlrdHR4M0thanBnNHZydiswSlRJaFFpa3RUdHFZeUlBVFdPQkNORWJlCjVhb3NDRDRNbE0zTEE1ck9HaG1UQysxR0dnZlgrYjFMSXNLcEJQNDBwUnJRdmhjVy9BWHZLa0ZhWStkRHdTNHcKeTgrQ3hrYmQ1ZlRvMEZhRDVLY1ZwMnNjTEpMTkJ0NXpwZjBjY0tEYzQzYjdoZHRTK0lqbjhDNmx3RFZWTHV2TwpwZnc2UGJqVUtoTzZJb3lEY2hXNWZqM3pOdUZyRWhpdFJvMnNSb09LT0RHWkpHbTNOWlArNXRRdzJhWWYwU1pQCkNiRmVaTmtFRGpmK0JaU3pwWXhWczA4cTVYMVhzbjJFaktTVEE5K3I4MlBiMWMxVHIxR2xYVlhOYmU5bXY4amEKcDhZUG9RS0NBUUF4SzhhejFGMy9aTGlUeXR2K1A3ajRoRENGY05YMXczcDJ1RUpFU2g4bEVVRVNCT0RWbHdrdwphV2hpdUljSUJtOE1YZXE1aVZEMU5uNTFnWFE0SUZQeXJIK1lONkM4aWZrbDZDRWtDVmcwbGM5cG83b3NGdXIwCktUTUhBY0pYNEkyZGhxaDZwQWxtaTVVTHMrZTFBWERjbEg4WitwWi9CVUIrdklmUXYvYjNmYk92bVZ4emtDbTEKMWVveHF0VTZSTmwvQmpBcWRSUDJVQ2NvSDlCL2dBZEJuU0RlNTQvYlg0dkR5b3I1UEpTMWZNQVdkamtPM3pWdwoxTkdoZWE4WlIxdlJYMWh1SldiVGQvdncyVnNxWjRPTGxVV3lqd1ZKY1ZpMEJYSkR6ZElQaEQrZFJvWVdWQUttCklBcWg4RG50K0wyL3NjaUJCNHg0OTE4WkU0QVA0c2U3QW9JQkFDdWRwMTV6WFg3dTgyb0toN1VDVGlYaStJMHoKdDFCU2l3dE9xMGl4QTVnWUZmR3JWMDRuNUVuKytHR1V6SlZSTDdMWVNxV1BZWXpCK1M2R1lrd2hJNUlVeVovdQpDNHVWRmlGejVjeHJCUmp3b1kyYUoyNUxoS2kveHVPbFA2K1JJbEVqcXI0a2xQd2NQTTNyeisyOW1pbWNQeXJwCmx1YjhzTUV1S0U4anNaMmZNenBnbkRIRm9yWW95L0RmU3lWZVpqUkFNdlRwUGRSYVdPY3FvV2kwc2JaQW5zdUQKSllqR0dnMEFmRGRSNzRVNzNXWUZCUkhkYit0OVpaTDRwNG9XZnpJVUFtYit5VU9jMDFnMnZPVmZ1OWp0MEthTgpxVkdkTkRkcCtXMWxWbHZkcWVpVGhldE41RGgxbVhkM2pEZ0cyTkN5ejJYbzNQY2Y0K1ZxbDQ5L1U4ND0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -99,7 +99,7 @@ "domain": { "main": "sab.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdBVENDQk9tZ0F3SUJBZ0lTQlE4V2o3VkNueWZxUzRxYUZvK25NR3JzTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXdPVFUzV2hjTk1qWXdNakU1TWpBd09UVTJXakFkTVJzd0dRWURWUVFECkV4SnpZV0l1WVhSb1lXeHBZWEJ3Y3k1NGVYb3dnZ0lpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElDRHdBd2dnSUsKQW9JQ0FRQzcrNXpLTFpGQUtzdkVTbzg2eFMwWlZ6Qk4zTTdBdisvOG8yL3JkamVHall6ZUxKdHE5UzJZYVlBOApJOWFxbDZ5OTV6OGZRS1FKei83R1IwMTlQakY0NXY3dm41cFNpOFJWN0tsanMyajIyZklVdUFLY2NGKzV3QkhsClJnb0xDVGczNnJUVjVSTGJZdEJRN0ZodU9lSDFWVW53TTBUbllwYVpZdys2VEVtbGI0ME0zZDlqNkREUjB5NTkKN1lFRTdFUU5tcnUxODdhOXN3NWJiTXdDQzJRVHFHNlZaVS9YVFRiNlBJMXZTVlNNT2xVOUhaNTBPUmhVbzhLUApHNlhHdkhhWU1IaW1QMU8zOFprVk5BT1p2NnFLcGtNdG5jSG0vUUhWb0xEZlZDN2lOSnNEcFo3VmJnS3dlbVBaCmlNaFlsMlFnWlhHK003VUROQWlxZk02bUcxcWlqalFCempTa0UvWVdTNE5rdHB4dllkQWQyQTlIN0VKdmZEQkEKSjltWTVGRlprVFRYL2JJM1VvRXQyd0k1Sm1tRGN2MndMZTdiS1FGNVpDMEZZMjQxNUErSFhqZm5GVHpROEdHVgovSmtKRm1SOGd1b3g5L2cweExzcmtkSHlnR21jZHFLUGIwRW9UTXFzQjk0VWo3ZitKaS8zVk5BOWV1SmlMYk5OCnNLbkZSOE5qTjZhSGdFVGZ2OGRVd0pwd1I0bWRKZW1YMS9aZlFhS0Z3aU1tdFZMU0pDVVYwSlhkQmRFVWU1SmUKZjNmbFFSUlAwaGwxZWpVb20zWSs3cWpLcFRvZTA0NDFGbTdDRjBWb1h0U2NDdjNiTFUveEFYZUR1K1lGQkV5MApOanlYOFJscFhoK0dFQkFyZ3hGVjR5cHo2UVk5NjNVZFFSdXo2bUxiQUJTdHV1RjJLd0lEQVFBQm80SUNJekNDCkFoOHdEZ1lEVlIwUEFRSC9CQVFEQWdXZ01CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUJCZ2dyQmdFRkJRY0QKQWpBTUJnTlZIUk1CQWY4RUFqQUFNQjBHQTFVZERnUVdCQlN3aFBlUnBMNUpwMWFXdVM2blY0L0dDaDVEcnpBZgpCZ05WSFNNRUdEQVdnQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBekJnZ3JCZ0VGQlFjQkFRUW5NQ1V3Ckl3WUlLd1lCQlFVSE1BS0dGMmgwZEhBNkx5OXlNVE11YVM1c1pXNWpjaTV2Y21jdk1CMEdBMVVkRVFRV01CU0MKRW5OaFlpNWhkR2hoYkdsaGNIQnpMbmg1ZWpBVEJnTlZIU0FFRERBS01BZ0dCbWVCREFFQ0FUQXZCZ05WSFI4RQpLREFtTUNTZ0lxQWdoaDVvZEhSd09pOHZjakV6TG1NdWJHVnVZM0l1YjNKbkx6RXdPUzVqY213d2dnRUVCZ29yCkJnRUVBZFo1QWdRQ0JJSDFCSUh5QVBBQWR3QVpodFRIS0twdi9yb0RiM2dxVFFHUnFzNHRjakVQcnM1ZGNFRXQKSlV6SDFBQUFBWnFvUHpwaEFBQUVBd0JJTUVZQ0lRQ3FuYjhRYlN6elpkWlFHc1B4Z25RaEQ1RnZwZXpXMVFzZgp0TVBKZ21EbjB3SWhBSnhYK0x3cFVEY21jUGtsNUpsRE9pdXBTU0NyMWJINXhXaVlpcW81TFZQcUFIVUF5emozCkZZbDhoS0ZFWDF2QjNmdkpidkthV2MxSENta0ZoYkRMRk1NVVdPY0FBQUdhcUQ4NmRnQUFCQU1BUmpCRUFpQWkKQkh4cXVGR1cwcEJaQk14N0poTnZySWgxYzg1RXdvSTlqSkhLcWl4Slp3SWdiYk44UDg0SE1xaHVSOW1qK3FacApPTzgxWFZWbVNGVFphWTJlY2lIMUsrVXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBS0xUZXhMd3N1V0JaNmZNCkJjajArdm1sTGpBV1l1TCtwSUVPUEcvRWVqTm9mV05PUVVYWVk4YnZKSnZuZjlhVmluWlJDUGk0aW5iN0JEV3oKTUFYOWhaNVhUeW9ySnBvSUxEZUtMaG4xQ2h3RW83ZnU5VUJJQTc0TjQ2NUE4ck9vdTY5Y2Vrbk1WRXN3UzhZaQpEU01BWmlaRmxRblo1VlhiUEFDTTErNjd1d2doK0NGUUpkTVlIaUE1R3c5L3hKbGVqRGU3ZU5rYXdwelY5a1RTCmNRQVZuTCtwU1lkZmNlVGFvbk54clFxK1NVTW5xNVFDYVowNHN0b1UrT2JLaVVydmU4cmNPYS9lRkdOWDBOYWUKajhDOUhCTDF5bnVENUJ1WjdlOVhHSWtoancxY29TK0dpZDFraVVlZTlkK0oxcXRTME5SWkdmWS9oMmdXKzkrSwpDYmZ2b1lZPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJUQ0NBdTJnQXdJQkFnSVFXZ0R5RXRqVXRJRHpra0ZYNmltREJUQU5CZ2txaGtpRzl3MEJBUXNGQURCUApNUXN3Q1FZRFZRUUdFd0pWVXpFcE1DY0dBMVVFQ2hNZ1NXNTBaWEp1WlhRZ1UyVmpkWEpwZEhrZ1VtVnpaV0Z5ClkyZ2dSM0p2ZFhBeEZUQVRCZ05WQkFNVERFbFRVa2NnVW05dmRDQllNVEFlRncweU5EQXpNVE13TURBd01EQmEKRncweU56QXpNVEl5TXpVNU5UbGFNRE14Q3pBSkJnTlZCQVlUQWxWVE1SWXdGQVlEVlFRS0V3MU1aWFFuY3lCRgpibU55ZVhCME1Rd3dDZ1lEVlFRREV3TlNNVE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUNsWjNDTjBGYUJaQlVYWWMyNUJ0U3RHWkNNSmxBM21CWmprbFRiMmN5RUJaUHMwK3dJRzZCZ1VVTkkKZlN2SFNKYWV0QzNhbmNnbk8xZWhuNnZ3MWc3VURqREtiNXV4MGRha25USStXRTQxYjBWWWFIRVgvRDdZWFlLZwpMN0pSYkxBYVhiaFp6alZseUl1aHJ4QTMvK09jWGNKSkZ6VC9qQ3VMamZDOGNTeVREQjBGeExySHphckpYbnpSCnlRSDNuQVAyL0FwZDlOcDc1dHQyUW5EcjlFMGkyZ0IzYjliSlh4ZjkyblV1cFZjTTl1cGN0dUJ6cFdqUG9YVGkKZFlKK0VKL0I5YUxyQWVrNHNRcEV6TlBDaWZWSk5ZSUtOTE1jNllqQ1IwNkNEZ28yOEVkUGl2RXBCSFhhemVHYQpYUDllblppVnVwcEQwRXFpRndVQkJERFRNck9QQWdNQkFBR2pnZmd3Z2ZVd0RnWURWUjBQQVFIL0JBUURBZ0dHCk1CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0RBVEFTQmdOVkhSTUJBZjhFQ0RBR0FRSC8KQWdFQU1CMEdBMVVkRGdRV0JCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekFmQmdOVkhTTUVHREFXZ0JSNQp0Rm5tZTdibDVBRnpnQWlJeUJwWTl1bWJiakF5QmdnckJnRUZCUWNCQVFRbU1DUXdJZ1lJS3dZQkJRVUhNQUtHCkZtaDBkSEE2THk5NE1TNXBMbXhsYm1OeUxtOXlaeTh3RXdZRFZSMGdCQXd3Q2pBSUJnWm5nUXdCQWdFd0p3WUQKVlIwZkJDQXdIakFjb0JxZ0dJWVdhSFIwY0RvdkwzZ3hMbU11YkdWdVkzSXViM0puTHpBTkJna3Foa2lHOXcwQgpBUXNGQUFPQ0FnRUFVVGRZVXFFaW16VzdUYnJPeXBMcUNmTDdWT3dZZi9RNzlPSDVjSExDWmVnZ2ZRaERjb25sCms3S2doOGIwdmkrL1h1V3U3Q044bi9VUGVnMXZvM0crdGFYaXJyeXR0aFFpbkFIR3djL1VkYk95Z0phOXp1QmMKVnlxb0gzQ1hUWERJblQrOGErYzNhRVZNSjJTdCtwU240ZWQrV2tEcDhpanNpanZFeUZ3RTQ3aHVsVzBMdHpqZwo5Zk9WNVBtcmcvenhXYlJ1TCtrMERCREhFSmVubkNzQWVuN2MzNVBteDdqcG1KL0h0Z1JoY256MHlqU0J2eUl3CjZMMVFJdXBrQ3YyU0JPRFQveEREM2dmUVF5S3Y2cm9WNEcyRWhmRXlBc1dwbW9qeGpDVUNHaXlnOTdGdkR0bS8KTksyTFNjOWx5Ykt4QjczSTIrUDJHM0NhV3B2dnBBaUhDVnUzMGpXOEdDeEtkZmhzWHRuSXkyaW1za1FxVloybQowUG14b2JiMjhUdWNyN3hCSzdDdHd2UHJiNzlvczd1MlhQM081ZjliL0g2NkdOeVJyZ2xSWGxyWWpJMW9HWUwvCmY0STFuL1NndXNkYTZXdkE2QzE5MGt4alUxNVkxMm1IVTQrQnh5UjljeDJoaEdTOWZBak1aS0pzczI4cXh2ejYKQXh1NENhRG1STlpwSy9wUXJYRjE3eVhDWGttRVdndlNPRVp5Nlo5cGNiTElWRUdja1YvaVZlcTBBT28ycGtnOQpwNFFSSXkwdEsyZGlSRU5MU0YyS3lzRndiWTZCMjZCRmVGczN2MXNZVlJoRlc5bkxrT3JRVnBvckNTMEt5Wm1mCndWRDg5cVNUbG5jdExjWm5JYXZqS3NLVXUxbkExaVUweVlNZFllcEtSN2xXYm53aGR4M2V3b2s9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdBVENDQk9tZ0F3SUJBZ0lTQlZWdkt6NmhQQ0Z3K1R6bnZxbE9RRllpTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXdOakF4V2hjTk1qWXdOREl4TVRZd05qQXdXakFkTVJzd0dRWURWUVFECkV4SnpZV0l1WVhSb1lXeHBZWEJ3Y3k1NGVYb3dnZ0lpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElDRHdBd2dnSUsKQW9JQ0FRQzcrNXpLTFpGQUtzdkVTbzg2eFMwWlZ6Qk4zTTdBdisvOG8yL3JkamVHall6ZUxKdHE5UzJZYVlBOApJOWFxbDZ5OTV6OGZRS1FKei83R1IwMTlQakY0NXY3dm41cFNpOFJWN0tsanMyajIyZklVdUFLY2NGKzV3QkhsClJnb0xDVGczNnJUVjVSTGJZdEJRN0ZodU9lSDFWVW53TTBUbllwYVpZdys2VEVtbGI0ME0zZDlqNkREUjB5NTkKN1lFRTdFUU5tcnUxODdhOXN3NWJiTXdDQzJRVHFHNlZaVS9YVFRiNlBJMXZTVlNNT2xVOUhaNTBPUmhVbzhLUApHNlhHdkhhWU1IaW1QMU8zOFprVk5BT1p2NnFLcGtNdG5jSG0vUUhWb0xEZlZDN2lOSnNEcFo3VmJnS3dlbVBaCmlNaFlsMlFnWlhHK003VUROQWlxZk02bUcxcWlqalFCempTa0UvWVdTNE5rdHB4dllkQWQyQTlIN0VKdmZEQkEKSjltWTVGRlprVFRYL2JJM1VvRXQyd0k1Sm1tRGN2MndMZTdiS1FGNVpDMEZZMjQxNUErSFhqZm5GVHpROEdHVgovSmtKRm1SOGd1b3g5L2cweExzcmtkSHlnR21jZHFLUGIwRW9UTXFzQjk0VWo3ZitKaS8zVk5BOWV1SmlMYk5OCnNLbkZSOE5qTjZhSGdFVGZ2OGRVd0pwd1I0bWRKZW1YMS9aZlFhS0Z3aU1tdFZMU0pDVVYwSlhkQmRFVWU1SmUKZjNmbFFSUlAwaGwxZWpVb20zWSs3cWpLcFRvZTA0NDFGbTdDRjBWb1h0U2NDdjNiTFUveEFYZUR1K1lGQkV5MApOanlYOFJscFhoK0dFQkFyZ3hGVjR5cHo2UVk5NjNVZFFSdXo2bUxiQUJTdHV1RjJLd0lEQVFBQm80SUNJekNDCkFoOHdEZ1lEVlIwUEFRSC9CQVFEQWdXZ01CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUJCZ2dyQmdFRkJRY0QKQWpBTUJnTlZIUk1CQWY4RUFqQUFNQjBHQTFVZERnUVdCQlN3aFBlUnBMNUpwMWFXdVM2blY0L0dDaDVEcnpBZgpCZ05WSFNNRUdEQVdnQlFBdFNueUxZNXZNZWliVEsxNFB2cmM2UXpSMGpBekJnZ3JCZ0VGQlFjQkFRUW5NQ1V3Ckl3WUlLd1lCQlFVSE1BS0dGMmgwZEhBNkx5OXlNVEl1YVM1c1pXNWpjaTV2Y21jdk1CMEdBMVVkRVFRV01CU0MKRW5OaFlpNWhkR2hoYkdsaGNIQnpMbmg1ZWpBVEJnTlZIU0FFRERBS01BZ0dCbWVCREFFQ0FUQXVCZ05WSFI4RQpKekFsTUNPZ0lhQWZoaDFvZEhSd09pOHZjakV5TG1NdWJHVnVZM0l1YjNKbkx6TTFMbU55YkRDQ0FRVUdDaXNHCkFRUUIxbmtDQkFJRWdmWUVnZk1BOFFCMkFHUVJ4R3lrRXV5bmlSeWlBaTRBdkt0UEtBZlVIalVucStyKzFRUEoKZmMzd0FBQUJtK0dEMGxFQUFBUURBRWN3UlFJZ01mY2d5UjBHczdWclk2dFVpb2NFUDBYeXIvTjRtOXVhOCt0VgpVZ1pEQVdrQ0lRQytZYmFZWTBOeGN4ZHdJOXhyOHQ0TFRnQ29Tbk05alVjak5BcHVPZTVHUUFCM0FNczQ5eFdKCmZJU2hSRjlid2QzN3lXN3ltbG5OUndwcEJZV3d5eFRERkZqbkFBQUJtK0dEMG0wQUFBUURBRWd3UmdJaEFJY08KMXk0UFlGNy81K0x4Tnpma2VCM05FM1VmYlFHSVJJQ3ROZHR6Z0tFcEFpRUFtR242SzZmT1MwZ2ptY25Ua3d2cApuZlJidHNQMmZYQjJXQlJrRThCQUtyMHdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBQ3JzWmVqY0lQaGQ4NW1YCkpBNDdRamVSSWxNRzhyKzVDVVpTb3NzV0JocW1JRWZwcHVRNGdxNHJIVEI2bWhKRnVWbXFnSUVWWW9VOU5GbnYKc0RXZlJsZFFXbEdFdjI0VnlVSFVCaVJudGVjYTVBYnNSTEF5aGFlMk1PYU5pMGVISjhQbHQyb1RTLzNycHNYNgpmL2VoTVNKclVKZHRyNlRsZzl0NWJYQ3ZudlBFT2xVMy9jelBtM3I3eVY3b1EwaTlMcnZQNmtFcUYvSWdyb3pMCkhMZGhyNWVRbUQ3cW92Y005enRHekNyaDhHNC96aW5EM2lFOHlhR2tvQWpVRUN2NTRTc1ZBZ1djK0tVcFFqL2EKUmt2Ync1VTFCWjBIemdMeWs0R0RVdXptcDdlQU1vNWplcGh2SGV5WUNtSWJNbUpSQlJOYzRMa29na0srV0c5TwpQZUlGK0pVPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJqQ0NBdTZnQXdJQkFnSVJBTUlTTWt0d3FiU1JjZHhBOStLRkpqd3dEUVlKS29aSWh2Y05BUUVMQlFBdwpUekVMTUFrR0ExVUVCaE1DVlZNeEtUQW5CZ05WQkFvVElFbHVkR1Z5Ym1WMElGTmxZM1Z5YVhSNUlGSmxjMlZoCmNtTm9JRWR5YjNWd01SVXdFd1lEVlFRREV3eEpVMUpISUZKdmIzUWdXREV3SGhjTk1qUXdNekV6TURBd01EQXcKV2hjTk1qY3dNekV5TWpNMU9UVTVXakF6TVFzd0NRWURWUVFHRXdKVlV6RVdNQlFHQTFVRUNoTU5UR1YwSjNNZwpSVzVqY25sd2RERU1NQW9HQTFVRUF4TURVakV5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCCkNnS0NBUUVBMnBnb2RLMitsUDQ3NEI3aTVVdDFxeXdTZisybkF6SitOcGZzNkRHUHBST05DNWt1SHMwQlVUMU0KNVNodUNWVXhxcVVpWFhMMExRZkNUVUE4M3dFanVYZzM5UnBsTWpUbWhuR2RCTytFQ0Z1OUFocVo2NllCQUpwegprRzJQb2dlZzBKZlQya1ZoZ1RVOUZQbkV3RjlxM0F1V0dyQ2Y0eXJxdlNyV21NZWJjYXM3ZEE4ODI3Smd2bHBMClRoanAyeXB6WElsaFpaNys3VHlteTA1djVKNzVBRWF6L3hsTkttT3pqbWJHR0lWd3gxQmxienQwNVVpRER3aFkKWFMwam5WNmovdWpiQUtIUzlPTVpUZkx1ZXZZbm51WE5uQzJpOG4rY0Y2M3ZFemM1MGJUSUxFSFdoc0RwN0NINApXUnQvdVRwOG4xd0JuV0lFd2lpOUNxMDh5aERzR3dJREFRQUJvNEg0TUlIMU1BNEdBMVVkRHdFQi93UUVBd0lCCmhqQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBZ1lJS3dZQkJRVUhBd0V3RWdZRFZSMFRBUUgvQkFnd0JnRUIKL3dJQkFEQWRCZ05WSFE0RUZnUVVBTFVwOGkyT2J6SG9tMHl0ZUQ3NjNPa00wZEl3SHdZRFZSMGpCQmd3Rm9BVQplYlJaNW51MjVlUUJjNEFJaU1nYVdQYnBtMjR3TWdZSUt3WUJCUVVIQVFFRUpqQWtNQ0lHQ0NzR0FRVUZCekFDCmhoWm9kSFJ3T2k4dmVERXVhUzVzWlc1amNpNXZjbWN2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQk1DY0cKQTFVZEh3UWdNQjR3SEtBYW9CaUdGbWgwZEhBNkx5OTRNUzVqTG14bGJtTnlMbTl5Wnk4d0RRWUpLb1pJaHZjTgpBUUVMQlFBRGdnSUJBSTkxMEFuUGFuWklaVEtTM3JWRXlJVjI5QldFakFLL2R1dXo4ZUw1Ym9Tb1ZwSGhra3YzCjRlb0FlRWlQZFpMajVFWjdHMkFySUsrZ3poVGxSUTFxNEZLR3BQUGFGQlNwcVYveGJVYjVVbEFYUU9ua0huM20KRlZqK3FZdjg3L1dlWStCbTRzTjNPeDhCaHlhVTdVQVEzTGVaN04xWDAxeHhRZTR3SUFBRTNKVkxVQ2lIbVpMKwpxb0NVdGdZSUZQZ2NnMzUwUU1VSVdneFBYTkdFbmNUOTIxbmU3bmx1STAyVjhwTFVtQ2xxWE9zQ3dVTHcrUFZPClpDQjdxT014eE1Cb0NVZUwyTGw0b01wT1NyNXBKQ3BMTjN0UkEyczZQMUtMczlUU3JWaE9rKzdMWDI4Tk1VbEkKdXNRL254TEpJRDBSaEFlRnRQanlPQ09zY1FCQTUzK05SalNDYWs3UDRBNWpYN3BwbWtjSkVDTCtTMGkza1hWVQp5NU1lNUJiclU4OTczalpOdi9heDYrWks2VE04aldtaW1MNm9mNk9yWDdaVTZFMldxYXp6c0ZyTEczbzJreVNiCnpsaFNnSjgxQ2w0dHYzU2JZaVlYbkpFeEtRdnpmODNEWW90b3gzZjBmd3Y3eGxuMUEyWkxwbENiME8rbC9BSzAKWUUwRFMyRlB4U0FIaTBpd01mVzJuTkhKclhjWTNMTEhENzdnUmdqZTRFdmV1YmkyeHhhK05tay9obWhMZElFVAppVkRGYW5vQ3JNVklwUTU5WFdIa3pkRm1vSFhIQlY3b2liVmpHU083VUxTUTdNSjFOejUxcGh1REpTZ0FJVTdBCjB6ckxuT3JBai9kZnJsRVdSaEN2QWdidXdMWlgxQTJzak5qWG9QT0hic1BpeStsTzFLRjgvWFk3Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBdS91Y3lpMlJRQ3JMeEVxUE9zVXRHVmN3VGR6T3dML3YvS052NjNZM2hvMk0zaXliCmF2VXRtR21BUENQV3FwZXN2ZWMvSDBDa0NjLyt4a2ROZlQ0eGVPYis3NSthVW92RVZleXBZN05vOXRueUZMZ0MKbkhCZnVjQVI1VVlLQ3drNE4rcTAxZVVTMjJMUVVPeFliam5oOVZWSjhETkU1MktXbVdNUHVreEpwVytORE4zZgpZK2d3MGRNdWZlMkJCT3hFRFpxN3RmTzJ2Yk1PVzJ6TUFndGtFNmh1bFdWUDEwMDIranlOYjBsVWpEcFZQUjJlCmREa1lWS1BDanh1bHhyeDJtREI0cGo5VHQvR1pGVFFEbWIrcWlxWkRMWjNCNXYwQjFhQ3czMVF1NGpTYkE2V2UKMVc0Q3NIcGoyWWpJV0pka0lHVnh2ak8xQXpRSXFuek9waHRhb280MEFjNDBwQlAyRmt1RFpMYWNiMkhRSGRnUApSK3hDYjN3d1FDZlptT1JSV1pFMDEvMnlOMUtCTGRzQ09TWnBnM0w5c0MzdTJ5a0JlV1F0QldOdU5lUVBoMTQzCjV4VTgwUEJobGZ5WkNSWmtmSUxxTWZmNE5NUzdLNUhSOG9CcG5IYWlqMjlCS0V6S3JBZmVGSSszL2lZdjkxVFEKUFhyaVlpMnpUYkNweFVmRFl6ZW1oNEJFMzcvSFZNQ2FjRWVKblNYcGw5ZjJYMEdpaGNJakpyVlMwaVFsRmRDVgozUVhSRkh1U1huOTM1VUVVVDlJWmRYbzFLSnQyUHU2b3lxVTZIdE9PTlJadXdoZEZhRjdVbkFyOTJ5MVA4UUYzCmc3dm1CUVJNdERZOGwvRVphVjRmaGhBUUs0TVJWZU1xYytrR1BldDFIVUVicytwaTJ3QVVyYnJoZGlzQ0F3RUEKQVFLQ0FnRUFtRmY1WVFBOHpydmdGMXcxWjNPVWNRenY0S29xQkp1SWFqNHAzYkVZbnJyb2hzV3Z6cWFVSlFpYgpIQ0lQUG9GZFJTbTdSaUNrMEM3NFVzaEdURkd5MWtDZUtxUTE5Ti9BWmNJK0pNYXBNaVMrdzN1ODRmdFFHTUZICnYzOWJkRVlzZ1dSODJUdWtaSmRZSzd6ZWpiWHJJVi9WWkF5b3NyeDdRQ1BBQTBNQURFcXpETkppMEJ6RU04ZnAKemJSRTh6Qm1sbi9uMERXS3k0SHBDTDdMTm56MHhkbWloUUJ1REJaUGo4eXk4cFdESjRHK3dxRFdZV3BFQlpRUgpnTmp2S0hoanhFTEVCRGNlS2R4cUszelR6aTQrajg3ZWNvRi9PeXVmNlBrcFhsUmpDbitIZ1JVZisrZ0QxZkhhCktkbG9SQ09zeVhSdEVhL2w2b3FvMjBINlZ6T2o1dVcyZStZOVlZT251UjM4Mnc1RWEzM3BOZmllU0lnQ1FQNC8KMWRqOHRrbEJpUjVCWUhleUdsQkJWcmZEL21HbDF4QUpjakpxY3dYVkIvYUNhbjNSRU1RU1ZLL250N0JUTmhkWQpiZFZyNTRjVGZ2UkJBenJkby9MSVVDUk96aFVSeDQxSEpwRFNmd2FLcFNFUktkMjVmZzdzQjgySTZzN282djhyCk5FbFNSQjAyZDVMU1dNYmhWbm1TSnpHc3FaVzY0ZWM1eHR5bzZZTGhGSXk3ck1TSzJLeGhBMC9lQVJjaExRamQKbHd6TTNqRGZhVk9TNit0b0RkaTlkWmZhTlFLOUhYTmsweVZzRkJBT01Da2JwVUxuZUF5VzlqUFVMcXBneXFzRQpsTzVLOHNNQ1k3b0hLMXVTRHlDZHg1VE1nVThqYkp5WGpzVUxKUUFwTlJrRjBwUFk0OEVDZ2dFQkFOdXcyTDhICk1yanEzZHp0K3Vmc2ViN3FVck9meXpFR2U2ZlduQkhvMGM4aXBGWmRXN1IrSXZ3RUVtWTZNdmJnY0M4UkFkUlMKcDVidHpHMnVKQmgvOGFKSWs0RzVOaVYwVkpva2g0MWFzSTRWU1g2RG5qbTVEV0VPMU91UmdGZ3ZLa2dLeGU5RQpQcERYWTdHdThyNzRRWU5lZVNPbGc0RkxueENkcDVGdm8xUStFSGlJV1l2blE3cnR1cFVibTJpQWdsNExTRWp0ClFtZzJmL3VyUTBsMkN3K2YzZU4vbkhqdU1nMVhBVUVBczJpUEhuQ3dpdkUxM0hxdWdFVWNOV1N0VnBtZ1pOZFQKenZNWWhTcmlORmpaazVXRThUK1pYaGc5YTFreHc5b0ZpWSsvekcxdldiU2graGpjd1dRVmNmVVB6YzkxVUhBMQpIUFdiR0QzZnZKbHpvQmNDZ2dFQkFOc05NbytUZ3lwV0tIcXBwdnl4SlhwakRtdTJaTUZhRUNGUDNaTWg4ZmltCkhldmIyVk44a0FicitPYXNzYXhwT0tQbDRqdTBLTmw5WVJrbVRZZVJpVjdNUlN4eWVEYnpjdjQyamFlSVpWSHMKMTVlelBLZnFqeE5CU0NEcWo2enAvTTlSUGdkS09nTGFxZUFvL0tZZnU2dUYyQ1VoK01CaTdhVVlMVjVsTjI2RAp5OXQ5SXJCcHB5WVY4ZW9BZmtEK3U5WDJzSjh4Zm0wcjVtWGYxc1hKUjVxOVhRUkJVYTlQTjlUSjlha0cwUDV2CnRGRGl1czVQSEU5T1o0ZVVKK2tmeGFQclpDYmtzRXYvT3owazl4R3JzQy9OSlJ2SE92aE02elJZRG9ueXBVYUcKcUVGclBaU00zN0Y2cm1WMVlOVG1KY1A4TXFHQVVaSWRKVmlKeTVDb2N3MENnZ0VBT0YzY2pzN2EvY1VOSGJWVgpyaEhuZnN1Q1lxSDZNVjczZFMzRUozZ3o5TkJ2bDlVbVJWNGp2Y09Sc1BiM3dvMzlXcVlqY1FXd0NES0ZSQkx0CklmZ1oyRWlFeUVEc0dwb0padTgrZEU4emc1RUVwVmhCelkra1ZpWEhEWlhzZHpQS3htYzFOOW1ycitBRHJVQTAKK2ppYUhvbXJ6VENYV0NJOThyWndtd2tvditHWXVrUkpyWEt0MXhWTnpSb2pPcUhXVVNqVjZCZ3Y5S3NmRlVSdwo1RFZNU3pyNlpIZUdmeVNtWlBQUTE0dkZmR3RVSlJlMjNvS3lTaXZocjFtNGZWZFlJOXlhWXdFVzFScVNlRmxICmt4Qm9KSEhTc0QyNmZiK3NmbHNkWkNBTmxudGdpU2VMdmFQZGxtbDFtU2REY053WU0wVm5XUkxYbGxDdjNKZysKUEtVRkN3S0NBUUVBcDRnWmNsdkVobjJzcWR2VTNoQng5SCtNQ085UGNkMTYxcTlwYkYwYTNpdldXSXdsVThmQgpzN21IL0l4NXVyNGkxcDg3L3FPVVZucWc1NFkyNTRkMGc2OUEvSFJ6NHJzZzZMSTZkclpIbjNlL2o4TkNrYjVBClBON0Ixb0x1N2JWclovZmZzOTJlTG82a084KzlJeVREK0xQK0VyQS91b3d1NndScHRuYzlCT1lCNU5WNDBXbU0Kc0FFNnF0aER0MXZidHhIY0ZYVGFGNDdxd0dHSXRtNXh1RFE1enNaU1BmMGRXejQzQjFZeVExYVZsd05CRWdiSgpSUkpXOWdkbTJ0STA2MkJka2ExMzlEZTVTOU5ZcndnYlVRUFo3THZjS3dsUkhoQjIxaVJoS1daVml1c0ZCdmNUCkluOE1vSVk4VDdmUmpHbjNJek9ycjA5aFA2enJwckJlaFFLQ0FRQkxOWSs1c3RSWDY3Nkp1SXJERjBxZUJWWDMKQ09sY2UrTUdzbk40WWhTRTV1MGRKNXlKSzV5ek1WdjlHUTliVnVOdE9XK3l6YXNSTGdTcEtOTHBKQ1hCUEFkSwpVWGhteWxsWko0c0dPQmx1bXZTMDhlUlFuZWFpY2VFN1NFcnNwM1BLQ2pKN21CY1lUZTczMmlhSlRoUEcyWDJlCmtUZkVtM3kvRzRvMTZmVk5jSU9ZTHlXN3ArOGFrZlUxd1MxTHk4aUhRdzF2ZWcxa2FEbDhxelY0WVZwZXdHQXkKV2xCOVA4MldvMFdTQmYydG85WFBhWmV4b1BPTGpQbndCdjJEdGQ5Tzd2bkgwRzZsUkdiY1V5RkIxSHJVVHpZWAozK0F0VVdZVmRDS1Z2MmRvbGxEcFVTQnJkbDJNNll5dGdxZlZXWWlPQUprSVRLM2F5SWh5MVBuVFNJNksKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -107,7 +107,7 @@ "domain": { "main": "grocy.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCVENDQk8yZ0F3SUJBZ0lTQmZiNzU0K0syUDdCd2prTlQxZXo2ZGcxTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXhNREEwV2hjTk1qWXdNakU1TWpBeE1EQXpXakFmTVIwd0d3WURWUVFECkV4Um5jbTlqZVM1aGRHaGhiR2xoY0hCekxuaDVlakNDQWlJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dJUEFEQ0MKQWdvQ2dnSUJBT1JzZ3VqdSsxZlVFdnlmc3V3Q3k3MGRJQk1hdVNPZG1hMlhlRkJxRWE0eGNzRHc1UEhWV1BoLwoxVktRK09zWk0vQ2tZU3JtSklqZTd1M1RkSUpFak1XOXZKQ1NuV2JuNXNGbkJvMDRHL3FsZzIrTVZOT1ZaTFZKCkFLZnZKSkM4MHIxRC84VXVia2NidktWTEh2SCt1UEhvT29ZbVVWWm9SZGFoNnMwK05uLzExaEN1VE8zbkhTT3QKWlR5dU1kdGF6NnRjdTB6NlpoWG01VngxZWZ2QVNvN1dCeGRXeldSS1p2WnQ4NUc3dmV5NXR0VDlNNENlTUMzQQpReW9NeW5uZ0c2d3d0cVpLNFVtZGx6akVXT2hxVTdFaEZQMEFZbFl5T0MvTXlPOEhmRGVCazZyandQOGp4MlBVCjExZ2pEZ3gxYlhqaUllcW5JRHJxaUZOQnB2akdyaktzWUZtSDBrSUZsRDJPRHJlem04c3lQREFnaW5nOC9RQksKWXNaTnFxOUlEV2xFc2JSSXRsN1hZYWRJdGRMWlcrWit6RlNnTzRxQXpkc3p0K3JNZHVEYWZyMW1kRjgvZzhJKwpZeXdoY2RhVVBuU0RiWmdyT1BsT2xpdVFma3hmVXVMR0dlOC9QOHZoRGFTSDNQdWViSEl0MzdqQkVwZUtHck1UCkd2TFlhaTA3N2pudzEvTk56c1N0RjJ5M2Z4aks1NUxPbTM1a3pKTnl1VDZDZGhTanc0RG9MTFlUSmhDdWlwNFkKZUlVRUF2a1BtU1o1NytNNnNIMXhXUzYxVHArc3dBekpweGpFL1k5UDBNWUExeUg1VEduSWx5OVF6QVhqVm14dwo5OVJWa3JPTGtTTlQ4ZkxST2lYMWM0aFhCSXpyV2ZnaWg0S0htYzJjc2ZqMEJsTU1SL0s1QWdNQkFBR2pnZ0lsCk1JSUNJVEFPQmdOVkhROEJBZjhFQkFNQ0JhQXdIUVlEVlIwbEJCWXdGQVlJS3dZQkJRVUhBd0VHQ0NzR0FRVUYKQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3SFFZRFZSME9CQllFRkFMWWNTelBydmMwdThYOHplOUc4OGdsYXRVTQpNQjhHQTFVZEl3UVlNQmFBRk9lcm53OHNNNkJUMDE1UGVNaXloQTQ3MXBJek1ETUdDQ3NHQVFVRkJ3RUJCQ2N3CkpUQWpCZ2dyQmdFRkJRY3dBb1lYYUhSMGNEb3ZMM0l4TXk1cExteGxibU55TG05eVp5OHdId1lEVlIwUkJCZ3cKRm9JVVozSnZZM2t1WVhSb1lXeHBZWEJ3Y3k1NGVYb3dFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3TGdZRApWUjBmQkNjd0pUQWpvQ0dnSDRZZGFIUjBjRG92TDNJeE15NWpMbXhsYm1OeUxtOXlaeTgxTkM1amNtd3dnZ0VGCkJnb3JCZ0VFQWRaNUFnUUNCSUgyQklIekFQRUFkZ0FaaHRUSEtLcHYvcm9EYjNncVRRR1JxczR0Y2pFUHJzNWQKY0VFdEpVekgxQUFBQVpxb1AxZmhBQUFFQXdCSE1FVUNJQjF6TTNLMU5ZdzJlbGZ6MHpxM0NEQUV4UFJMcExFRQpxQ3JUWktyakwwM2JBaUVBZ0RRY2NZNUwvTFRtV2JCbGZJN0F3bWtrNWFPRyszQnBZYU9Vc09HRlE1UUFkd0FPClY1Uzg4NjZwUGpNYkxKa0hzL2VRMzV2Q1BYRXlKZDBocVNXc1ljVk9JUUFBQVpxb1AxZllBQUFFQXdCSU1FWUMKSVFDUkZYay94UVowUU5scGhDcThKczUrTXpSK0FDYmxBSytZV0NoTGFqSHJBd0loQUxvQ0RveXo5MkUvRHFSeQpGZjBKR3FwRFl2cUduRVpxd09rOXlUd2RhVnoyTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFBdDlLT2NwMVE5CjdrZ1VMZGh6NlU2QSt4eDRobXl1SDlVRGVTV2ZFUUFMUG00NDQrbndQWXVueFdkTWRTRkZxQTFpbEtOdzhZeHYKRXVIVERqMjVmZ0hQejBlWWdKaWJIT3pHZVc0ZWRtOFlOeXU4YzNFajBxOXBBc012VUpuaDRxNmNWbUNGUWF4bQpiZmtteDFZaXE3cHFnWnl2TktQTk5FZUJOM2t5OHRINXl2Z3d5T2NZSVc1MDVvelc1MFBJdUhQQWJLL0d1TlVGCnMrV1RyclZRK3dNSUVJbk1PSjA2OEF6YkpKLzc4M1JZMXJxYmxMWEZjVW5JdGNrRjNWaG5mMjZHalYwZzI1TmQKaE9hT01KbVZIWUxPMWN2cVczT0FJaHBXOVFkNFhCRGl2RysrZ3h1TmMxWmlzWUcvWkVkWk80QmhYSXV0YkVPVgp6Zm00b2s2WEVSSU0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDekNDQlBPZ0F3SUJBZ0lTQlp2T3VsQlZkRTdFazQwOE9FczU0Mkd0TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRJeE1UWXdOakE1V2hjTk1qWXdOREl4TVRZd05qQTRXakFmTVIwd0d3WURWUVFECkV4Um5jbTlqZVM1aGRHaGhiR2xoY0hCekxuaDVlakNDQWlJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dJUEFEQ0MKQWdvQ2dnSUJBT1JzZ3VqdSsxZlVFdnlmc3V3Q3k3MGRJQk1hdVNPZG1hMlhlRkJxRWE0eGNzRHc1UEhWV1BoLwoxVktRK09zWk0vQ2tZU3JtSklqZTd1M1RkSUpFak1XOXZKQ1NuV2JuNXNGbkJvMDRHL3FsZzIrTVZOT1ZaTFZKCkFLZnZKSkM4MHIxRC84VXVia2NidktWTEh2SCt1UEhvT29ZbVVWWm9SZGFoNnMwK05uLzExaEN1VE8zbkhTT3QKWlR5dU1kdGF6NnRjdTB6NlpoWG01VngxZWZ2QVNvN1dCeGRXeldSS1p2WnQ4NUc3dmV5NXR0VDlNNENlTUMzQQpReW9NeW5uZ0c2d3d0cVpLNFVtZGx6akVXT2hxVTdFaEZQMEFZbFl5T0MvTXlPOEhmRGVCazZyandQOGp4MlBVCjExZ2pEZ3gxYlhqaUllcW5JRHJxaUZOQnB2akdyaktzWUZtSDBrSUZsRDJPRHJlem04c3lQREFnaW5nOC9RQksKWXNaTnFxOUlEV2xFc2JSSXRsN1hZYWRJdGRMWlcrWit6RlNnTzRxQXpkc3p0K3JNZHVEYWZyMW1kRjgvZzhJKwpZeXdoY2RhVVBuU0RiWmdyT1BsT2xpdVFma3hmVXVMR0dlOC9QOHZoRGFTSDNQdWViSEl0MzdqQkVwZUtHck1UCkd2TFlhaTA3N2pudzEvTk56c1N0RjJ5M2Z4aks1NUxPbTM1a3pKTnl1VDZDZGhTanc0RG9MTFlUSmhDdWlwNFkKZUlVRUF2a1BtU1o1NytNNnNIMXhXUzYxVHArc3dBekpweGpFL1k5UDBNWUExeUg1VEduSWx5OVF6QVhqVm14dwo5OVJWa3JPTGtTTlQ4ZkxST2lYMWM0aFhCSXpyV2ZnaWg0S0htYzJjc2ZqMEJsTU1SL0s1QWdNQkFBR2pnZ0lyCk1JSUNKekFPQmdOVkhROEJBZjhFQkFNQ0JhQXdIUVlEVlIwbEJCWXdGQVlJS3dZQkJRVUhBd0VHQ0NzR0FRVUYKQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3SFFZRFZSME9CQllFRkFMWWNTelBydmMwdThYOHplOUc4OGdsYXRVTQpNQjhHQTFVZEl3UVlNQmFBRk9lcm53OHNNNkJUMDE1UGVNaXloQTQ3MXBJek1ETUdDQ3NHQVFVRkJ3RUJCQ2N3CkpUQWpCZ2dyQmdFRkJRY3dBb1lYYUhSMGNEb3ZMM0l4TXk1cExteGxibU55TG05eVp5OHdId1lEVlIwUkJCZ3cKRm9JVVozSnZZM2t1WVhSb1lXeHBZWEJ3Y3k1NGVYb3dFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3TGdZRApWUjBmQkNjd0pUQWpvQ0dnSDRZZGFIUjBjRG92TDNJeE15NWpMbXhsYm1OeUxtOXlaeTgwTmk1amNtd3dnZ0VMCkJnb3JCZ0VFQWRaNUFnUUNCSUg4QklINUFQY0FmZ0J4ZnBYendqaUtiYkhqaEVrOU1lRmFxV0lJZGkxQ0FPQUYKRE5CbnRhWmg0Z0FBQVp2aGcvT0FBQWdBQUFVQUIzdUFqUVFEQUVjd1JRSWdCMHRNU2FSZk5pNXBuUWx1N0VTMgpnTGhGeUh3UCs2eVd0VjA2Qm9JMXMyc0NJUUM2bVMwTDg4TDl6R3pES09kR2hiY1MvYnUzU3cvUG1FUjFVdUlCCjdUMXNOUUIxQUphWFpMOVZXSmV0OTBPSGFEY0lRbmZwOERyVjlxVHpObTVHcEQ4UHlxbkdBQUFCbStHRCt5Z0EKQUFRREFFWXdSQUlnR0VlZzVPZVBWbVdjSk9uUFNLVDJaN3NFWU1JYnVXbm5POXFEOWhCM2E2WUNJR01idkU5ZQpuUVpwMlFGKzVNUUZQQXQ3UDBoTEw3cmV2U0ZDR0tKZTRjcktNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUJtCkQ5aHkvSXNTWlo3dDFRcTR0WUdXR1Q2aE9ocm5vTHk5TXNSK3QwUkt5akEwM1lNQ2pITU9hUnZFZHdDYm9LcUoKaGl2Z1Vsa0ZQK1o4TGJXR2xPWUFzVGhWK3hoV1pZTFNmWGpRTVVLc3NwZXRzMXhnRExUd1VkQXdDajc1VlJMdwpWbkJubHh3SnRWOWdMbE5lQUprTlVNaEFoM3IyaWt4aUZ1dnhhRFhhZjhXVFB3dzEzWXB3c1lOa21BRGVRalJCCjBSbW1PZzFWaDlTYzlmNjdiQWM5dVVyVEVuTzRwRzMvdG1nNFFKNkxyNWNrZ2puWmhYSWpUV1FxaDQxVkc0OXYKL05zYlVZWGEvNWhrWWxOTkRYekNLVzV1RjNSbllJNjZqbVVlN01kV1BJUm1vQ0oyYVlOYVRraEpiVXg4MDNYeQp0eXpIU1RXa3RxS3FqdzA5RTVjVgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJUQ0NBdTJnQXdJQkFnSVFXZ0R5RXRqVXRJRHpra0ZYNmltREJUQU5CZ2txaGtpRzl3MEJBUXNGQURCUApNUXN3Q1FZRFZRUUdFd0pWVXpFcE1DY0dBMVVFQ2hNZ1NXNTBaWEp1WlhRZ1UyVmpkWEpwZEhrZ1VtVnpaV0Z5ClkyZ2dSM0p2ZFhBeEZUQVRCZ05WQkFNVERFbFRVa2NnVW05dmRDQllNVEFlRncweU5EQXpNVE13TURBd01EQmEKRncweU56QXpNVEl5TXpVNU5UbGFNRE14Q3pBSkJnTlZCQVlUQWxWVE1SWXdGQVlEVlFRS0V3MU1aWFFuY3lCRgpibU55ZVhCME1Rd3dDZ1lEVlFRREV3TlNNVE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUNsWjNDTjBGYUJaQlVYWWMyNUJ0U3RHWkNNSmxBM21CWmprbFRiMmN5RUJaUHMwK3dJRzZCZ1VVTkkKZlN2SFNKYWV0QzNhbmNnbk8xZWhuNnZ3MWc3VURqREtiNXV4MGRha25USStXRTQxYjBWWWFIRVgvRDdZWFlLZwpMN0pSYkxBYVhiaFp6alZseUl1aHJ4QTMvK09jWGNKSkZ6VC9qQ3VMamZDOGNTeVREQjBGeExySHphckpYbnpSCnlRSDNuQVAyL0FwZDlOcDc1dHQyUW5EcjlFMGkyZ0IzYjliSlh4ZjkyblV1cFZjTTl1cGN0dUJ6cFdqUG9YVGkKZFlKK0VKL0I5YUxyQWVrNHNRcEV6TlBDaWZWSk5ZSUtOTE1jNllqQ1IwNkNEZ28yOEVkUGl2RXBCSFhhemVHYQpYUDllblppVnVwcEQwRXFpRndVQkJERFRNck9QQWdNQkFBR2pnZmd3Z2ZVd0RnWURWUjBQQVFIL0JBUURBZ0dHCk1CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0RBVEFTQmdOVkhSTUJBZjhFQ0RBR0FRSC8KQWdFQU1CMEdBMVVkRGdRV0JCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekFmQmdOVkhTTUVHREFXZ0JSNQp0Rm5tZTdibDVBRnpnQWlJeUJwWTl1bWJiakF5QmdnckJnRUZCUWNCQVFRbU1DUXdJZ1lJS3dZQkJRVUhNQUtHCkZtaDBkSEE2THk5NE1TNXBMbXhsYm1OeUxtOXlaeTh3RXdZRFZSMGdCQXd3Q2pBSUJnWm5nUXdCQWdFd0p3WUQKVlIwZkJDQXdIakFjb0JxZ0dJWVdhSFIwY0RvdkwzZ3hMbU11YkdWdVkzSXViM0puTHpBTkJna3Foa2lHOXcwQgpBUXNGQUFPQ0FnRUFVVGRZVXFFaW16VzdUYnJPeXBMcUNmTDdWT3dZZi9RNzlPSDVjSExDWmVnZ2ZRaERjb25sCms3S2doOGIwdmkrL1h1V3U3Q044bi9VUGVnMXZvM0crdGFYaXJyeXR0aFFpbkFIR3djL1VkYk95Z0phOXp1QmMKVnlxb0gzQ1hUWERJblQrOGErYzNhRVZNSjJTdCtwU240ZWQrV2tEcDhpanNpanZFeUZ3RTQ3aHVsVzBMdHpqZwo5Zk9WNVBtcmcvenhXYlJ1TCtrMERCREhFSmVubkNzQWVuN2MzNVBteDdqcG1KL0h0Z1JoY256MHlqU0J2eUl3CjZMMVFJdXBrQ3YyU0JPRFQveEREM2dmUVF5S3Y2cm9WNEcyRWhmRXlBc1dwbW9qeGpDVUNHaXlnOTdGdkR0bS8KTksyTFNjOWx5Ykt4QjczSTIrUDJHM0NhV3B2dnBBaUhDVnUzMGpXOEdDeEtkZmhzWHRuSXkyaW1za1FxVloybQowUG14b2JiMjhUdWNyN3hCSzdDdHd2UHJiNzlvczd1MlhQM081ZjliL0g2NkdOeVJyZ2xSWGxyWWpJMW9HWUwvCmY0STFuL1NndXNkYTZXdkE2QzE5MGt4alUxNVkxMm1IVTQrQnh5UjljeDJoaEdTOWZBak1aS0pzczI4cXh2ejYKQXh1NENhRG1STlpwSy9wUXJYRjE3eVhDWGttRVdndlNPRVp5Nlo5cGNiTElWRUdja1YvaVZlcTBBT28ycGtnOQpwNFFSSXkwdEsyZGlSRU5MU0YyS3lzRndiWTZCMjZCRmVGczN2MXNZVlJoRlc5bkxrT3JRVnBvckNTMEt5Wm1mCndWRDg5cVNUbG5jdExjWm5JYXZqS3NLVXUxbkExaVUweVlNZFllcEtSN2xXYm53aGR4M2V3b2s9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKSndJQkFBS0NBZ0VBNUd5QzZPNzdWOVFTL0oreTdBTEx2UjBnRXhxNUk1MlpyWmQ0VUdvUnJqRnl3UERrCjhkVlkrSC9WVXBENDZ4a3o4S1JoS3VZa2lON3U3ZE4wZ2tTTXhiMjhrSktkWnVmbXdXY0dqVGdiK3FXRGI0eFUKMDVWa3RVa0FwKzhra0x6U3ZVUC94UzV1Unh1OHBVc2U4ZjY0OGVnNmhpWlJWbWhGMXFIcXpUNDJmL1hXRUs1TQo3ZWNkSTYxbFBLNHgyMXJQcTF5N1RQcG1GZWJsWEhWNSs4QktqdFlIRjFiTlpFcG05bTN6a2J1OTdMbTIxUDB6CmdKNHdMY0JES2d6S2VlQWJyREMycGtyaFNaMlhPTVJZNkdwVHNTRVUvUUJpVmpJNEw4ekk3d2Q4TjRHVHF1UEEKL3lQSFk5VFhXQ01PREhWdGVPSWg2cWNnT3VxSVUwR20rTWF1TXF4Z1dZZlNRZ1dVUFk0T3Q3T2J5ekk4TUNDSwplRHo5QUVwaXhrMnFyMGdOYVVTeHRFaTJYdGRocDBpMTB0bGI1bjdNVktBN2lvRE4yek8zNnN4MjROcCt2V1owClh6K0R3ajVqTENGeDFwUStkSU50bUNzNCtVNldLNUIrVEY5UzRzWVo3ejgveStFTnBJZmMrNTVzY2kzZnVNRVMKbDRvYXN4TWE4dGhxTFR2dU9mRFg4MDNPeEswWGJMZC9HTXJua3M2YmZtVE1rM0s1UG9KMkZLUERnT2dzdGhNbQpFSzZLbmhoNGhRUUMrUStaSm5udjR6cXdmWEZaTHJWT242ekFETW1uR01UOWowL1F4Z0RYSWZsTWFjaVhMMURNCkJlTldiSEQzMUZXU3M0dVJJMVB4OHRFNkpmVnppRmNFak90WitDS0hnb2Vaelp5eCtQUUdVd3hIOHJrQ0F3RUEKQVFLQ0FnQXhubENoZ0tnZ1gvVHY0MURlYTQwT08zRm9OUG5hZnJXUE84UHEwOStiVXlwMk50M0VtbStGSzErUApXK1oyU3pjNUlydm9zYTFsL2Vjd3lpb1kwZ015UVJEZzVyaENUa1dWNVdkSzdkRkdGUVlFQ1J1MENsT2gvWVdpCjlST2dUU1FKOE9keVVhK3F5cCtqMkRtVW41eFZEL2tHZ3ZSUUxMNWU3VFV2K0QrbWRDUlg0MFRhdU1WZnBwN0QKRzZQQTNtMFY4RUxQYWVVYkJOajF5SjhDekxabGFLQ0p0VlZRWDhrVjVyUnVCN1l0NGZtUk1wOHBaVE5aL05XYQpJTVVxekQrMm02NVJXUnF1L3dpR1VFQnYzQWpxQlNHbUE1dFkxZmZXaWtscmd0aTh4ZXpweGlkNlJLOWZSREN5CitJcG9zbWxoUk4zUk54U05ON3o5T05tb1dLQW1BTE52b1FxQ3hkcDdRN1hDd0M4QUxFcERpTE1qWEhwUzBEbjQKN0xyMU9LSldEbndqTUFpTW03d0J2MW0rdTBHUnBHUUZQV1dMeFlhMEszbnljQ2hud3NCazVOQlg3VkJGdE5MMgpwY0ZnNkpLVzFLMi9vR3IrWTA5MDlVb01iOU44anRUeTM3UmdpWDdncXdJUmpkSDhqSTdWTTllc2tSc3RpYnVXCkw5b3hQNk1oZElUS2lISVQ0U0ViRWZaRDhwUmtjQlQ1bG1QVnpBNVZsOStxaGs0R21pa1k1SG5ySEJ2MVZ6MG8KZXpaenhlWTBvQ0lOaUVjcmh4SGluMGk0ZFZtalZvMVU4Mk1CM2FER0tQWmhyWTZqZEgvYzRhbWVrNHVLNjFFSApyMHNGQ3JIREh0UDhJUnBGS1ZMQ2JzUHFFSVNvb3dRaHVmVnlHbWsvK0xGSHY0bDE4UUtDQVFFQTlGMzN1SUxCClppam96YlF2Vm5Yc1o4VkNjN3lLSmZhcEhDNVBCRW9LVXp4VUlFZSs5Y3BUV2JyOFk2ZmtUWlRDRWo4Ty9iWXoKdmdJbVgvcFZxRTlEY0tGZjdFd0JUZFZXZDhPbG4wL0xpY2d2WDNURmdSUG5RT1d5RVc1dXV0T0ZRajVTc3VFSgpjL0RIMVlMSHF6YlpXZXcvOVFKMGVIYXpwTWYzQXpOZ1dWSjlLTGNOWmE4TG01dXZib2lVZ3JRTnhacVE1aUtVClNZRjl6UU5pZ09ocE83YUtkNmNjWi85eklIeHJxay95SkZpaGZINU9ZNExEZXB1amNzdjF1SlBES1lEcEh5aXYKNE0zSFU2S3JENkticGh4NVZFemc5aW5SSXJJaGwvNjFHZUFJOVhVMnN1emNPT1R6R2ZOdlN1YUdPZVFBSHFpZQpQLzRjZzlmSFZ6SDlFd0tDQVFFQTcwdy9vbU0yOWFRaXl0Wkh6ckhFc1dPVkUxUTVERmxKK0t5MmR2dkRVWGlQClZrdEpNUXd2cXFzWndEdzNybDc0bFU1eWtOa0xkM0N2R3Z4RmVmMEltdGl5TUhxUjYzM2l1cGxHNkxTRWJKVi8Kb2c0dVE5QVNBeFVacS9iZis0amFhcFZPRDRNNVN4bW9nMmVTWllQUWh6Wm9SdWQ5THY0bW5kbVJHUzV2eGtMUAoyWDdJd0xIemo5aml0SjVlSk00d0FVZ2IxRTYydXFpVTcza2dYckVrQ3RidkE0ZE9PVk5BZllPeFZSMXVJZlNXCmJWR3ZzMWc5b01JZCtnUTNDem1WRTdxb3cvaVpnWVd5THZVZVM3TFpxTGF0Q2g1U1haQXZreHhJeUFnQzhlU2sKOTl2WWNIbWcyZnBXeG80d0NId3pIcEtYcWVqNzNOSjE1dzlrV01jR2d3S0NBUUJ5M2JEU0JIU1FadTUzc3hrRgpWVTBZd2pxb1dKbS9tcUNIWktVejZQSE5pbkFvOUZDcERMLzlUODNQc2wyNHNoSS9yWENJaGhyd1YrWmQremhFCmMyM0tCYkVuUzlyWkVVMGg0czk1Z1hLMWcybnhQdHlQL2lFWCttQ25uUGRqem9XM1M4Qm40U3dtV2FvMWpOSDYKZ3ovTDZ5ZHRMZ2c5ajk2RnVKRTk2ZXFDVWlvTzkyek92V2VCYjc4WkFBNS9HYy9YY1A1bmp4MlJKOU5RaVNURwpYM2tIM3BoY0FpdHlIenVvcTVPWWJSZnZTZEl1eU5oa0lsVnN6cmdZQUJPeS9aSWhjajBpcm1kdURveUJuZGMyCjlFS2g1SVNMd2MrRkpzYnR2am5ZVHB3bVc0OGFna3lCOHFEYUJaVFlQL3V5ZzRYWXRIbng3MlRqdzdqM3FIaEYKWG5RTkFvSUJBQmdNTjVEZ0c1UFA3TmNwZFlubC8zZzhJNjBQbDdRUC9Ra0tna091eFZBWXAzN3FqZTVwNVJobgpuV3plSUZKYnBPdU1PS01wektjeUljYTZkMWpzL3NKZzZIZEt1Z05LWVZDVE9yY0QvUkxVYTBFajM2NWM2Sko2CnVsdTNzWWFibUNlQjNaaGRmWko0ZjZERTljZFIyZERjdk5uelJYZEZmeWY1eDBVYWo0MERCZFE3azMwWjVQb2QKdDVxakY1N25RWmUvWVZ5U2xIWnBucDM2TkRDUDZLbFdOQ3JNbkNYU29mWjdGNFVRTWhNamUwSjlKUVVHNXhxUwpwMlNLcStWcTRmcGJsYjRyNjNGQ3VFZFR4cm1ndlpMZzJMN2RrVFZwMmY0VXA1UENpbGs0dXdOVmlvaXpFR0VYCmNVVCs0UURaU21IV0pYdWp1RHZXd3BaM3k0UEliSFVDZ2dFQVlzcVh4RUlpK09sOExSVkVGM293b3F0WlhZSTgKd0JSVklPa0hDa0VtUy9MdW1rMlZhQmlFU2lxRzhSNEFYaEFRT0F3SXM2cUtGNzBsb0VSVlZBdFF3ZmJwVUxLUwpMWTVCeWwweFdmTzdmSGlOOGN3Mjc5TWlaRWtjSUdYamFuSnhyN3lPR1A5U002UXZtM0JaYXdNcEQ2R0RUOWp0CkVZV0RHS3VxNG5teFZjNTV6MmE1OFlkWWExVENvcGhPSklQdzBveTJKdDNiZ3FQbk81eUZDUU9vdzRFRkYvQ3oKYjVFcnJFSTdpdTd2T00xelJmaUVxakNHU3BLd1dodFpDQVhlb3dlVjcrdEZwdXZxZlI4MjdmK2JNcXN5VjE1aQpDQmhXaldYNjdHcE10M2h0Q2Y5NmxvUmZDZGp1R2JzMWlxYVRvVmJFTForaTEzRzFQSTJ1RDI0TmdBPT0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -115,7 +115,7 @@ "domain": { "main": "unifi.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCVENDQk8yZ0F3SUJBZ0lTQlVpN0FZZ1lBdHlsdVpyUTJNaGtnN2RaTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXhNREV6V2hjTk1qWXdNakU1TWpBeE1ERXlXakFmTVIwd0d3WURWUVFECkV4UjFibWxtYVM1aGRHaGhiR2xoY0hCekxuaDVlakNDQWlJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dJUEFEQ0MKQWdvQ2dnSUJBT0h5RG9vSWR6KzhBY1M1MllBRXFRTEM1VVJXQXVqTURxNm82WEoxRXg3OXJ6cVJoMDZvaUo5cAozQnArL2FteGE1VjA3SzFHNzFucWNGWmV4MHp6Q0NBRjVMVXNQeHZXanh5c3lvbUNRcE00Y3pTU3JTRnN1QysyCkpuTFpMMk5FU2JlZDl4aStKbGxlSm9OSEQ3aTE5aFhPeUh6d2o1VnBBVnBPM0xoeGZmRXBKNFh4MG0wc1BLNFYKRUFGVDRvaVhHa3hSQVBCQzBZWE9pT21WTVhoQ0FmTmErbVlDYzl6V3lZRmZvSzJSajNTcmtCa25wQi9wSFQ1LwpaaVovMHduR1FDU1Y1dFFPdERRVTdkYmE3eW85NDlManBGL1dQL3FlVWVUczNFT1lxWHpoVXhaQ0l6ZEs1VkwwClJrNmdFelJZSUhzNitjcnNFWmxYMHBEVFBWYWxLSHExdDh4bWIwSmFQYlFJQWc1TThJOFVnVzVuZHV0MHBSQUkKVkc5dXFNZEl2R3I5dEY4TEhSbHRQYlJWYkJBWkNpSzlZNUxYYlViZi80QldNeXlMbXhXN2FXT0pyK0JrZm5tQgppSktMU1dXNVRldmxZcC9ZNGZOZUtMQitJM1pNaERpVkxRZC9DeUNnUG1adnByenJ5dVR2L0k3c2gzQm5mOTBXCkMyNjZOeUhWZG42SWkwS2o5RlgyTmljRmtJYXJlVGw3d0RIODBsSGRsekNBdWk1Tkc1U3NBb3JTZW1hUWxLQXoKUnQrd2FNS1M5QmJFVS9uWWgrVVdZRnRYbVBScFcwbUh1aG1wTlREdEQ0czFTYUVONGZUdlhJQ0V0ei9MRnJVSAozUkZaTDExYmZmSXA1MHR6SngxR3pEblF3bVBpT0RJaW9iMEJPSmV2WnZFZGtpSXhuZzdqQWdNQkFBR2pnZ0lsCk1JSUNJVEFPQmdOVkhROEJBZjhFQkFNQ0JhQXdIUVlEVlIwbEJCWXdGQVlJS3dZQkJRVUhBd0VHQ0NzR0FRVUYKQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3SFFZRFZSME9CQllFRkM0aXNDTFBSdVI4RTJSazR6RFBwak1CLzYvQQpNQjhHQTFVZEl3UVlNQmFBRk9lcm53OHNNNkJUMDE1UGVNaXloQTQ3MXBJek1ETUdDQ3NHQVFVRkJ3RUJCQ2N3CkpUQWpCZ2dyQmdFRkJRY3dBb1lYYUhSMGNEb3ZMM0l4TXk1cExteGxibU55TG05eVp5OHdId1lEVlIwUkJCZ3cKRm9JVWRXNXBabWt1WVhSb1lXeHBZWEJ3Y3k1NGVYb3dFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3TGdZRApWUjBmQkNjd0pUQWpvQ0dnSDRZZGFIUjBjRG92TDNJeE15NWpMbXhsYm1OeUxtOXlaeTg1TUM1amNtd3dnZ0VGCkJnb3JCZ0VFQWRaNUFnUUNCSUgyQklIekFQRUFkZ0JrRWNSc3BCTHNwNGtjb2dJdUFMeXJUeWdIMUI0MUo2dnEKL3RVRHlYM044QUFBQVpxb1AzcS9BQUFFQXdCSE1FVUNJRHVRWUlmOWo5YXdhemFwa2U5VjhENklIREdFY0ViUApuYUhBUHFSUmFreGNBaUVBOG50YU91NVFrY3hpUlIyNGd0SzlHZFJhSENtL216UmU1b1o1bDJFM1Nnc0Fkd0NXCmwyUy9WVmlYcmZkRGgyZzNDRUozNmZBNjFmYWs4elp1UnFRL0Q4cXB4Z0FBQVpxb1Azc1dBQUFFQXdCSU1FWUMKSVFEeUltaEhobHAycTZGelRGTlZ1bDRPdXgyckNGaWg3K3k0bCtkTzJPNGhud0loQU5pL3VRTmxBY3ZySUVzdwpWY0tBOGhrSFVmWkszaDhrTkRCbmx2Q0U3cjVrTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFBRy9DWmlGZHdTCmFLa3ZTemorSTJSZ0kwS1gvU0grZXNIUVdFUGJOMjhzOUpGV2g3OENUdkptdlk0cGc0a2dCa1VZZTB1RnA0dnEKU1NFbDdCZHh0VkVjMHJrcGtCQVJHUTVZRmRlOGtVKzlyZmlhamVXZzA0dGxxRWFNZXR5YUx5R1g0NUlCZ0ZHNApvNWU5eCtKNUM5MExFYkpzeERqZUwvMURpTFVhemFEUHRiQ251VzJVcVltNWxiNTBuT01mYU54WUlHdWpVdTNRCkpBK3NkQ0JjOUMvS3NqcE92RDB0Y09yRjJvTlQ4Mk1CT2EydG14dERPelRVZ3JXaEZvS0RhRDlRc1FrcEtpVU4KMUlreEp2SWN0M21ybW9HTXdpb1Y0dGlCMWw5eklkM0R0U2lmYVhPUGs2U25hVGpYeldTSkhRek4xd3BhTTZoQgpVaSt5RE9KU0oxMTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdEakNDQlBhZ0F3SUJBZ0lTQll4aHZTUjRDcWZ6VkM4K2N0a3ZZVFZtTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRJeE1UWXdOakUyV2hjTk1qWXdOREl4TVRZd05qRTFXakFmTVIwd0d3WURWUVFECkV4UjFibWxtYVM1aGRHaGhiR2xoY0hCekxuaDVlakNDQWlJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dJUEFEQ0MKQWdvQ2dnSUJBT0h5RG9vSWR6KzhBY1M1MllBRXFRTEM1VVJXQXVqTURxNm82WEoxRXg3OXJ6cVJoMDZvaUo5cAozQnArL2FteGE1VjA3SzFHNzFucWNGWmV4MHp6Q0NBRjVMVXNQeHZXanh5c3lvbUNRcE00Y3pTU3JTRnN1QysyCkpuTFpMMk5FU2JlZDl4aStKbGxlSm9OSEQ3aTE5aFhPeUh6d2o1VnBBVnBPM0xoeGZmRXBKNFh4MG0wc1BLNFYKRUFGVDRvaVhHa3hSQVBCQzBZWE9pT21WTVhoQ0FmTmErbVlDYzl6V3lZRmZvSzJSajNTcmtCa25wQi9wSFQ1LwpaaVovMHduR1FDU1Y1dFFPdERRVTdkYmE3eW85NDlManBGL1dQL3FlVWVUczNFT1lxWHpoVXhaQ0l6ZEs1VkwwClJrNmdFelJZSUhzNitjcnNFWmxYMHBEVFBWYWxLSHExdDh4bWIwSmFQYlFJQWc1TThJOFVnVzVuZHV0MHBSQUkKVkc5dXFNZEl2R3I5dEY4TEhSbHRQYlJWYkJBWkNpSzlZNUxYYlViZi80QldNeXlMbXhXN2FXT0pyK0JrZm5tQgppSktMU1dXNVRldmxZcC9ZNGZOZUtMQitJM1pNaERpVkxRZC9DeUNnUG1adnByenJ5dVR2L0k3c2gzQm5mOTBXCkMyNjZOeUhWZG42SWkwS2o5RlgyTmljRmtJYXJlVGw3d0RIODBsSGRsekNBdWk1Tkc1U3NBb3JTZW1hUWxLQXoKUnQrd2FNS1M5QmJFVS9uWWgrVVdZRnRYbVBScFcwbUh1aG1wTlREdEQ0czFTYUVONGZUdlhJQ0V0ei9MRnJVSAozUkZaTDExYmZmSXA1MHR6SngxR3pEblF3bVBpT0RJaW9iMEJPSmV2WnZFZGtpSXhuZzdqQWdNQkFBR2pnZ0l1Ck1JSUNLakFPQmdOVkhROEJBZjhFQkFNQ0JhQXdIUVlEVlIwbEJCWXdGQVlJS3dZQkJRVUhBd0VHQ0NzR0FRVUYKQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3SFFZRFZSME9CQllFRkM0aXNDTFBSdVI4RTJSazR6RFBwak1CLzYvQQpNQjhHQTFVZEl3UVlNQmFBRk9lcm53OHNNNkJUMDE1UGVNaXloQTQ3MXBJek1ETUdDQ3NHQVFVRkJ3RUJCQ2N3CkpUQWpCZ2dyQmdFRkJRY3dBb1lYYUhSMGNEb3ZMM0l4TXk1cExteGxibU55TG05eVp5OHdId1lEVlIwUkJCZ3cKRm9JVWRXNXBabWt1WVhSb1lXeHBZWEJ3Y3k1NGVYb3dFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3THdZRApWUjBmQkNnd0pqQWtvQ0tnSUlZZWFIUjBjRG92TDNJeE15NWpMbXhsYm1OeUxtOXlaeTh4TURNdVkzSnNNSUlCCkRRWUtLd1lCQkFIV2VRSUVBZ1NCL2dTQit3RDVBSGNBbHBka3YxVllsNjMzUTRkb053aENkK253T3RYMnBQTTIKYmtha1B3L0txY1lBQUFHYjRZUU1kUUFBQkFNQVNEQkdBaUVBa0lHWFhtb0Uxc25RWms5cjk3dmFyaHY5QzJLaworRmhId2x0MldOZzJIVThDSVFDQUFOckIrTzJMQjh0NStOa2xuWWdmQm8rR2QwQ2VIRC9BT0hhZ3dneWdWd0IrCkFLWEplSkpkVjBZWGdvY04ySWxtQzF4VlpJdDlBRUR5N0Fkb1VkR0lhUm4zQUFBQm0rR0VEdTRBQ0FBQUJRQXYKcTNxaEJBTUFSekJGQWlBZzNSTHU1WXRocHd4UmVKQ3NrclhtYVRaT0NGRGNjRWhPN1N1UGxaaVdJZ0loQU5jcgp0eXNOTHB0RHAzWElHYjBEcnpFZXQyVGFrMVFWUlBvTlJoL0d0TlZ5TUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCCkFRQVovV2MyUFgrcFFNVEFXeXROVlVVVHErc0huR1ZXWVkxRDArZzhsR3BZSUduYnViZ2d2YkxlNkxiYVEzRkIKNGtBdzJlRmIwRURzaEZTeWdBRTRPMHByTHNCYTVpRVpmRDB0Vm1NMGR4YW5US2Vrc2Y4RFlNNWpuSWFQTUlhVAphck5qR3QxV2JVL2RQR2tlYTg4Vi9sRWsxMHRDTnlsdWk3VTBSV1VWaU9qeG1QREYwTWhHQWZqbFJ1Zld2N1lTCmV4NCtxNVVpYUFjQUpIZy9NeDBpcVYzeVBOSE5JV3h3VC9TbEgrNnpVdVdjSW5Od1F0MmFVSjd4Nk9DdWd3YU0KNVJOU0w4Vk1pSE0xMFJSbVdtejg0RmpWWkRLOTAxYng4TEpHSE5yUUJ0anNML0h5STJMMCtiVnUvNzdUNkdDWQpBQjdHUWliTzlyN2NEai93RGVFSWdxOHMKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBNGZJT2lnaDNQN3dCeExuWmdBU3BBc0xsUkZZQzZNd09ycWpwY25VVEh2MnZPcEdIClRxaUluMm5jR243OXFiRnJsWFRzclVidldlcHdWbDdIVFBNSUlBWGt0U3cvRzlhUEhLektpWUpDa3poek5KS3QKSVd5NEw3WW1jdGt2WTBSSnQ1MzNHTDRtV1Y0bWcwY1B1TFgyRmM3SWZQQ1BsV2tCV2s3Y3VIRjk4U2tuaGZIUwpiU3c4cmhVUUFWUGlpSmNhVEZFQThFTFJoYzZJNlpVeGVFSUI4MXI2WmdKejNOYkpnVitnclpHUGRLdVFHU2VrCkgra2RQbjltSm4vVENjWkFKSlhtMUE2ME5CVHQxdHJ2S2ozajB1T2tYOVkvK3A1UjVPemNRNWlwZk9GVEZrSWoKTjBybFV2UkdUcUFUTkZnZ2V6cjV5dXdSbVZmU2tOTTlWcVVvZXJXM3pHWnZRbG85dEFnQ0RrendqeFNCYm1kMgo2M1NsRUFoVWIyNm94MGk4YXYyMFh3c2RHVzA5dEZWc0VCa0tJcjFqa3RkdFJ0Ly9nRll6TEl1YkZidHBZNG12CjRHUitlWUdJa290SlpibE42K1ZpbjlqaDgxNG9zSDRqZGt5RU9KVXRCMzhMSUtBK1ptK212T3ZLNU8vOGp1eUgKY0dkLzNSWUxicm8zSWRWMmZvaUxRcVAwVmZZMkp3V1FocXQ1T1h2QU1melNVZDJYTUlDNkxrMGJsS3dDaXRKNgpacENVb0RORzM3Qm93cEwwRnNSVCtkaUg1UlpnVzFlWTlHbGJTWWU2R2FrMU1PMFBpelZKb1EzaDlPOWNnSVMzClA4c1d0UWZkRVZrdlhWdDk4aW5uUzNNbkhVYk1PZERDWStJNE1pS2h2UUU0bDY5bThSMlNJakdlRHVNQ0F3RUEKQVFLQ0FnRUF5Z3paNzVudWViSTRxcUcvM0hsT1lrZkRHajhJVHdIYngxa0ptZThUOEV6UG5FSnppMld1OTArRgpJclNaUmx5QVpxQ3UzYTFuY1RMeXptbm5NK3JKUTBuQjRqbjFIWUhiYkxzZ1M2T093WFJqb1luaEJOamlSTmhRCnZiZDJad0MwSTExQmtJREtiblNCWURmMTJTbnZMRVZFaUdYZklLOU1KR1FOZ1dzTVF0S1lvM0ZDeVpvYmtWa0kKZlFkMHRzelpHWkgra3R4TjNhaDZTdGU5NjFxcnYrR0Z0aDlQV1JkQ0QwMWl0SlJNZ3ZyQTI1M1ZhU3ZmbVBuNApjVWt4Z2JZbHVoSEszNnRlZm95UXUrZ0FvL2ZBZWVCVUo5ZkNVdTJ0TWxpV0NHVEdmQVJMZHNZaUU5b0lCUXlvCnFyci9NWG4xWWYyMVR6K1g1VmJoMTl6dkowSitWTDg2M1lhNTZ0V2VGQWhJMXJ2UWJGUFJuVmVtazMwa2NCZkUKUUF3K1FUL1c3RU9hQ3ArQ3NjNDZBa2RORktPTnc2MHdnTU91N200Q21wbHdRTnVBQjZ6cXE4eHowd0ptUlVpUgpKOC9QN2VtN2lOZ0pHOUU2aXA1Y01PelhYTmpXUnRMNnJmTVlqK2lKVVVwdytHL1J3OGxWRjZER0pCOFMwMDFxCkJDT0JUNHV1NEVNSjcrNU5nc3JoOVhwVjN3K1VVbng5b0dzeGNFMG1WWjZXakE5akhTU3R4WGRrbGJSbW0zWkkKRmt3Wks4bUM2UWJHSGlEM1VTRUNWU3dvaHlRc05QZ1E0eVRwZW0wYlRUaEJiMFlQa3lFWnZJUWk0Q0JBQkhnTQpuNmFUdExmTlc5RytaUGI0WkgyRzRxL1I1aWNWMHVEdkpCNmN1dlBSTS9jSXlUNGhEc0VDZ2dFQkFQaE9WVXB4CmRHTGFOQ1RVcVQ0bnphemFCcHY5YzQ1cTNxSU9XOTdJT3VHUmFoMDZFaDNYWHZMbVllSGErOCtCNDhjbmxXYlgKb0gzc1NDV0s2TDJmQmZCcnVMcWorcklzTENKUHRrZkx5ZnRFd2lSdnh5OW1JK2JJRDVYdFBhT2NVdjRQTTNWSgpjbWZtaHFXMi96SE1jOFcvYTJLY3pvNHJYQXoxVzNxWmJFVCt1Qnl4eUl4Rlh0WjZCQUVpa3JZRVlJUlZ3OUJrCjlkVTdzK0d6QWpQRml1MEVRK21Oc25uL2cwSkVTRnhSUnQ0clNrNS83QkFYZ0w0ZitFaHpQK04ycDBGYU5zY0QKa1JjdVhiRFhBR0d5N1VDTXNXbURZd29kNzFJNVU3MkwrbzFVVDZ5amRvcWNkQjVKTUp0cmFEZ1hVVnQ2TjFRbgozWllmUzdzRFZmSVk0RkVDZ2dFQkFPanlXZVdjUDRYZGQvcStlNTdyWXJZRTA1R3hZbTA5RDlNeVRwVVZLU1FDCjRJcWY3VUhyNHlIMDZnTUx2dmwwRmY0K3A1OUtTa0V2NWV1S1p5S2s4Q2VWNHJDbFVXRWFhdDd0Y210RzVPSlkKcHZrYkZoN1llaUtHNDFEams4VVZrbHpkY0FqYXY5WWYxTjZXaGFtR2JLUytoUEw2K1ZRNmMyTnA5RlV5ZDJzcgp0Vk1mK1lUc3Q2M2ZFQjZRQ1RMOUt5ZHlqUml6ZzZZendtdVdnWXBUaThDQUt2TFhFVXpnays5TytwYnZmMllPCjkySVVTL1JiM3JaM1dLU3lXcUhSTXdqSXdxWEEyK2RjdFM5M2cyWkJMY21sV2l2ZGlhaHAwMkd0em1LYUNFN2QKbGpvNitFK0hMV1pyaU15TnorOWZYRG8ySWljeCtIS0hnQ3JUVy9LWWd2TUNnZ0VBWWtJdFFpNHZUa2JteDRSWQpETDZYaDBVbnhHYkJhYVFrd2FCSS9wbmhvdzEySG1heWNKaWZmQ05xcklPSmpnM3FZdzdvOGk5MTFSN0JWZ25vCkc5Rm4ra0hHY2lVZHVZLzlUdjZZTlVVUmdwc3M4RnBEU2lCektJb1drTSsyeXAyN3djbW1KVTJSTmtobEZBS2MKYmNwb0xlS1h6Z2diUE9zdm0va2o0Qm9DWERNb0RFTFdCNXdUOFcrTFVoK3FTdGpra0xtWHFVbXFkbDBQeThxWQpub0FYZjc5bVdHKzRKc3JUMkU5SkN5OG1paGc3YVdENXUweHhwOHJpNTFpaitaRWtrcG51ZjBhTURjNU5TUU5yCnBUMjI0UXBMMG1NcHVBRXNpUzhpVWltb1ZuRDhybVpwTEdUSkZvc0Q3eHpMdXhhUEhWSDV2eFdmZkI2YVMwRUEKcTdMb1lRS0NBUUVBc2tXK3JLMGVKQ2x3aDdHOVU4cmFlV2hLTGVhdDUrSGlPWVAzaGJwekNMODI3b0FrQjk0cApyalFMM3hiZktYTkEzWmsvbVBVMnpKcUdmL01rcU92SGF0UVhiNDZsTUFZU29kYmdTTjh4alZQQlBVVVFjYnpFCkE2WnRVdHRIbkgyOHpGc2ZRWGQvZHJSWHFaMVNYNEdqcFpTMGxHdWo0bVQxSjdEUHIxLzI2a3JCOHdLMlo1YnQKbngvbDZ5M2FERzZaMXcrZ2tiWFlXNXFqQU1sbkMrQ1NSRmtTQlZTNFJiaGRIcmkzcUVsVG0xeDYwRkd1S3kwZgp6VTZheFRoRmlpOWF1aTlDWDYydjNXa2l0RmZuZEpzUEdwSHo1endjL0lrNG56bHZpQ0JQbVdPVmM2enJtWmxmCkVsSGJtSWd6Q1FOV3hxbmxDMC8vems2S3RMdWFVNWVLSndLQ0FRRUFneUkzNDVGVGRzamVraXp0NTJlSlZQZFQKY09ES3dpYkZXa1cxcWlYQUszVHNCak1JVDFEVG5sTlNkUWVLT3BzeG9uK3dKaVlrcmNxNXU2bHBqN3Axd0JTYgpDaElyd3RKYVlHWmtEa2EzNWt4Rjk0cnU2bHJwWkg0Vi92R05YQ0hKM3hxK1lLTE9MNHV4aWRxaC9OV2RDZG1VCi9uMVZuclRqTjRYTXFTRnZ5bnZQSjd4Q3ZlYTZxUDAwekYxTVJjdy8yWkdGSE5BYjRUMWRiTXI3K05uZmlTWXIKSk5QUW5hVjRqU0VZUUlUZmJpcmZ6MXNyQnpLSUdWOGVlaWh0c3VXSDI3MXZIbUdVMzd3azhCRHcxT1NZYXNOVApBY1U2REhWUkcwZjd1VklGWGJQVjNOOVp4S1lMWCs0bGZuRFpDK0xkV3VXRzExNE9OOTlML2pWYlB4UmJqZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==", "Store": "default" }, @@ -123,7 +123,7 @@ "domain": { "main": "duplicati.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdERENDQlBTZ0F3SUJBZ0lTQmVOTzhvMW5sWkc3N2N1eVdSWVNndU1LTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXhNREU1V2hjTk1qWXdNakU1TWpBeE1ERTRXakFqTVNFd0h3WURWUVFECkV4aGtkWEJzYVdOaGRHa3VZWFJvWVd4cFlYQndjeTU0ZVhvd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUMKRHdBd2dnSUtBb0lDQVFEdGNsUjdDcDd4TGZQOE1HaWY3M2ZqMGExZWs3ZGJtODJ1aGtmTFdLSlpHREsraXppUAp4Qm13bHoxZXdtb2FWWkM1Tlo3S2NzeFNoYjhqMTM4Vml5OEF2YTQ1Qi9JSjFWOTdXRnY4Z2Y0NzI3WjFWZnJJCkZZWXNCdGVIZllVQVUwRGlIelJOSFZPZitudUNYcGVaN3hrVHoxSzArVTRHbWhaN1NrNC84N2Z2RjRuOHVQR1UKcDVDRjlGcnBOZkNCOEE3WUVxY0d2clRSOWY2eC9iaXNYYytyVFpBaXkyZThreFZML1NZVm1lRi9CUUVIelhjTApUZlBqSkN4L3pVdWVVcjdaVzdQYUg1cXhqTzhDcVZXeHpCamlGWWlPTllLbnBPdCs4ckhqVHlwYjNPb01UZlJWCm8yUjNFdDNEVWhBb0lqbXNCcFk2Y1V4bnovOVROVDROZTNMUW1Za1VicXNNdVpDOVJvMlRxdmFqd3o3NDVFeTcKckd2bWhRNm81M0EyU1NYOTlPcXJwdzZyUzVIenE5M21JK2hEampaQ3oxSTJGV29Qbi83V0FVSVVZR1VDWi9yWApPSGgxSGEvUGJOejZ6QXVjQjNVRXZuU2F3MHpOTU5LWkN4QkVObVFQWmxONEFUQm80TExqSjNSaUs1ODZtZkJUCmM5ejU0ZnI0NHFKQkRINE1FZFIvU3c1aCsyWHJKVzFXT0s3SXhVLzVPQmZ0V28yTEhwMXZVT2ErZ1NvV2IwRFUKODI1c0dFQThWTXFKTENjYkxJTTJTa2VxRCtYSWFZbExpUlFIajQ1THJXU0p0TkUwZHNrK0EvQ1o2LzZpUEkxQwphTkpwbWw5bTluOVgxcG9UWVQyZXBtWTJNWSt2c3UwTEIzVnF4V0xhUEsxY1FMSzRWU1pZNWdoS3BRSURBUUFCCm80SUNLRENDQWlRd0RnWURWUjBQQVFIL0JBUURBZ1dnTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQkJnZ3IKQmdFRkJRY0RBakFNQmdOVkhSTUJBZjhFQWpBQU1CMEdBMVVkRGdRV0JCUUVBcC9oc2k5MGFzRlpIVHVEQ1l0WAp5eEgrUERBZkJnTlZIU01FR0RBV2dCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekF6QmdnckJnRUZCUWNCCkFRUW5NQ1V3SXdZSUt3WUJCUVVITUFLR0YyaDBkSEE2THk5eU1UTXVhUzVzWlc1amNpNXZjbWN2TUNNR0ExVWQKRVFRY01CcUNHR1IxY0d4cFkyRjBhUzVoZEdoaGJHbGhjSEJ6TG5oNWVqQVRCZ05WSFNBRUREQUtNQWdHQm1lQgpEQUVDQVRBdUJnTlZIUjhFSnpBbE1DT2dJYUFmaGgxb2RIUndPaTh2Y2pFekxtTXViR1Z1WTNJdWIzSm5MekV4CkxtTnliRENDQVFRR0Npc0dBUVFCMW5rQ0JBSUVnZlVFZ2ZJQThBQjNBTXM0OXhXSmZJU2hSRjlid2QzN3lXN3kKbWxuTlJ3cHBCWVd3eXhUREZGam5BQUFCbXFnL2oxc0FBQVFEQUVnd1JnSWhBUDF4a0s1bzhIRU9vMi9zbjEzaQpUNUxjYUFobXNMdUpRZHZzM0hvZ25mcnRBaUVBL3MzQUcrdzZYNXI1RHhLRkZlbVcwRFpqb0xUUEFkNnNrNmFnClpjUE0yYUVBZFFDV2wyUy9WVmlYcmZkRGgyZzNDRUozNmZBNjFmYWs4elp1UnFRL0Q4cXB4Z0FBQVpxb1A0OTIKQUFBRUF3QkdNRVFDSUhFRFo0dlR5QlNNcEthSHZ5Skx6dGw4ME44Qnd1c2F3T0FKeHhMWHdXTWRBaUFHTUNlYQozYWk3VytJWklFdXpJRGVJdTc2cVpQRW01T29LcnE2S1djZ0hkekFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBClMvaHRYZm5taTZFLzNiNnJaTHloZS9pbjYyNlpoTjU2b3gwRVVSK1VkdHEwYi9wWmFVZUVzTDJva0lEQVcrazgKczZ6T1R0MW44QUhHUnRmeTVreWxzRy9vZmdydlNiU2pxQ3NNVDZnMDlTa2txWjRDQkRhVnJyWGZxbGJxU1hORgowdVMxQ2VFYW5XcHNBMDk5QWovdGZqRzNkYWVoVnBDeG9iTTB5Z1lDaEM3TVQ1SVZUbjV5NkdpbUNlU21VbmVYCjBHMVNLaGhEY1M5cU9OS0gzUnlkUlVqSVVrVXF2Qi9RNGNqMWhvRGF5VHIwZ3RvQ25ybmZ2cHVCcDNkNVlXQk0KTWxuNHYvYVcyYkJkc0tBbHBaMURtL1lnOUNQd3Z1eFJjcUI3T2htZS9Lb0hZdVVCMlJwNmF5V2ZvdmpoYkVWVQorbVNnWHprS3d5MU1JRzZvQjM3eEhRPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdGVENDQlAyZ0F3SUJBZ0lTQlpJWjcxN0dZZitNTXRYUGloV2VPUFBSTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRJeE1UWXdOakl6V2hjTk1qWXdOREl4TVRZd05qSXlXakFqTVNFd0h3WURWUVFECkV4aGtkWEJzYVdOaGRHa3VZWFJvWVd4cFlYQndjeTU0ZVhvd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUMKRHdBd2dnSUtBb0lDQVFEdGNsUjdDcDd4TGZQOE1HaWY3M2ZqMGExZWs3ZGJtODJ1aGtmTFdLSlpHREsraXppUAp4Qm13bHoxZXdtb2FWWkM1Tlo3S2NzeFNoYjhqMTM4Vml5OEF2YTQ1Qi9JSjFWOTdXRnY4Z2Y0NzI3WjFWZnJJCkZZWXNCdGVIZllVQVUwRGlIelJOSFZPZitudUNYcGVaN3hrVHoxSzArVTRHbWhaN1NrNC84N2Z2RjRuOHVQR1UKcDVDRjlGcnBOZkNCOEE3WUVxY0d2clRSOWY2eC9iaXNYYytyVFpBaXkyZThreFZML1NZVm1lRi9CUUVIelhjTApUZlBqSkN4L3pVdWVVcjdaVzdQYUg1cXhqTzhDcVZXeHpCamlGWWlPTllLbnBPdCs4ckhqVHlwYjNPb01UZlJWCm8yUjNFdDNEVWhBb0lqbXNCcFk2Y1V4bnovOVROVDROZTNMUW1Za1VicXNNdVpDOVJvMlRxdmFqd3o3NDVFeTcKckd2bWhRNm81M0EyU1NYOTlPcXJwdzZyUzVIenE5M21JK2hEampaQ3oxSTJGV29Qbi83V0FVSVVZR1VDWi9yWApPSGgxSGEvUGJOejZ6QXVjQjNVRXZuU2F3MHpOTU5LWkN4QkVObVFQWmxONEFUQm80TExqSjNSaUs1ODZtZkJUCmM5ejU0ZnI0NHFKQkRINE1FZFIvU3c1aCsyWHJKVzFXT0s3SXhVLzVPQmZ0V28yTEhwMXZVT2ErZ1NvV2IwRFUKODI1c0dFQThWTXFKTENjYkxJTTJTa2VxRCtYSWFZbExpUlFIajQ1THJXU0p0TkUwZHNrK0EvQ1o2LzZpUEkxQwphTkpwbWw5bTluOVgxcG9UWVQyZXBtWTJNWSt2c3UwTEIzVnF4V0xhUEsxY1FMSzRWU1pZNWdoS3BRSURBUUFCCm80SUNNVENDQWkwd0RnWURWUjBQQVFIL0JBUURBZ1dnTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQkJnZ3IKQmdFRkJRY0RBakFNQmdOVkhSTUJBZjhFQWpBQU1CMEdBMVVkRGdRV0JCUUVBcC9oc2k5MGFzRlpIVHVEQ1l0WAp5eEgrUERBZkJnTlZIU01FR0RBV2dCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekF6QmdnckJnRUZCUWNCCkFRUW5NQ1V3SXdZSUt3WUJCUVVITUFLR0YyaDBkSEE2THk5eU1UTXVhUzVzWlc1amNpNXZjbWN2TUNNR0ExVWQKRVFRY01CcUNHR1IxY0d4cFkyRjBhUzVoZEdoaGJHbGhjSEJ6TG5oNWVqQVRCZ05WSFNBRUREQUtNQWdHQm1lQgpEQUVDQVRBdUJnTlZIUjhFSnpBbE1DT2dJYUFmaGgxb2RIUndPaTh2Y2pFekxtTXViR1Z1WTNJdWIzSm5Memd5CkxtTnliRENDQVEwR0Npc0dBUVFCMW5rQ0JBSUVnZjRFZ2ZzQStRQjNBSmFYWkw5VldKZXQ5ME9IYURjSVFuZnAKOERyVjlxVHpObTVHcEQ4UHlxbkdBQUFCbStHRUtmVUFBQVFEQUVnd1JnSWhBT2tqVTVOOEl6ZTlCbGJoTDk2Mwo0MzQ3NWM1K2xMRDduZG1OZ2hmNFlKWldBaUVBczYrT0JybEdMOU1oaERROW1vQTJzOU9xN0RiOWNGbTcvWVNmCm5vQVpNSWNBZmdDbHlYaVNYVmRHRjRLSERkaUpaZ3RjVldTTGZRQkE4dXdIYUZIUmlHa1o5d0FBQVp2aGhDcEgKQUFnQUFBVUFMNnQ3WVFRREFFY3dSUUlnRG55S1FFZncvdzg2c0NYQlZuRHdRb2V4ZXY2aU43Wk9NR2tGSEZCZQpTK2tDSVFETUxveUdMUExiK2hCQldKSzFDNHMwYi9vR2ZPU2VSQ2M0RW9QbXZXK0N3akFOQmdrcWhraUc5dzBCCkFRc0ZBQU9DQVFFQVhRbnI4M1liNjZPNjZycUV2bGRYMWlZeVlmZXpSSjVnOHlzeG9tMDVxeXVjRXB6M29GT0IKQWZxVTh1N2ZrZ0w3dW5tZittV243QkpPU05Ubjdhd3YxM0hJM1BlQTZQeG5mc1pEL1R3TUg2aFJGYXhIY0xmTQpsaWtnNy9xOWU2amt6RkhZTTdqL0pIa21Wd0VDWXpqWW5xL3VwaVJVaGlaeEpNU08xZkFnUlp4UDNENVltYkJVCi9CelZkaEtidDFFc28ycE0rZTRyU3J0ZTU3VEttakVhem9SS0pPRDc4cDVDVTVwdGR3WHJEK1pHSGFycVVqNFUKaVNqNUJzQUptK2grb1U5VGpoVXQ3YkxpT3BTYXB4VGpiNDA0S2tUZkdMenJneFF6UkJoVk1qSUFEL3lFbm1tKwpSamk4MXNwY1VLOGVBb0Q2SHB2OHN0WGZQZ2tjeEZQbVZRPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBN1hKVWV3cWU4UzN6L0RCb24rOTM0OUd0WHBPM1c1dk5yb1pIeTFpaVdSZ3l2b3M0Cmo4UVpzSmM5WHNKcUdsV1F1VFdleW5MTVVvVy9JOWQvRllzdkFMMnVPUWZ5Q2RWZmUxaGIvSUgrTzl1MmRWWDYKeUJXR0xBYlhoMzJGQUZOQTRoODBUUjFUbi9wN2dsNlhtZThaRTg5U3RQbE9CcG9XZTBwT1AvTzM3eGVKL0xqeApsS2VRaGZSYTZUWHdnZkFPMkJLbkJyNjAwZlgrc2YyNHJGM1BxMDJRSXN0bnZKTVZTLzBtRlpuaGZ3VUJCODEzCkMwM3o0eVFzZjgxTG5sSysyVnV6MmgrYXNZenZBcWxWc2N3WTRoV0lqaldDcDZUcmZ2S3g0MDhxVzl6cURFMzAKVmFOa2R4TGR3MUlRS0NJNXJBYVdPbkZNWjgvL1V6VStEWHR5MEptSkZHNnJETG1RdlVhTms2cjJvOE0rK09STQp1NnhyNW9VT3FPZHdOa2tsL2ZUcXE2Y09xMHVSODZ2ZDVpUG9RNDQyUXM5U05oVnFENS8rMWdGQ0ZHQmxBbWY2CjF6aDRkUjJ2ejJ6Yytzd0xuQWQxQkw1MG1zTk16VERTbVFzUVJEWmtEMlpUZUFFd2FPQ3k0eWQwWWl1Zk9wbncKVTNQYytlSDYrT0tpUVF4K0RCSFVmMHNPWWZ0bDZ5VnRWaml1eU1WUCtUZ1g3VnFOaXg2ZGIxRG12b0VxRm05QQoxUE51YkJoQVBGVEtpU3duR3l5RE5rcEhxZy9seUdtSlM0a1VCNCtPUzYxa2liVFJOSGJKUGdQd21lditvanlOClFtalNhWnBmWnZaL1Y5YWFFMkU5bnFabU5qR1ByN0x0Q3dkMWFzVmkyanl0WEVDeXVGVW1XT1lJU3FVQ0F3RUEKQVFLQ0FnRUE1YWtiaFJhMHZObVJqMjdUQXo1L1cxN0dyUjk2emFSWXdHRW90OG0yM1MzR2h2M3BhMFJsQktTRAp1MCtYaUhrU1RkRkxFTTBRU3hFSjJ3VG42bEtBMTlxZTFKS1d6R1FRd2lDb2VBYlRlOW43RkdwZzhYM0FGSDFaCm9iY0tHVkp0QTBqak1XTVlLemYrbGc0ZjI4ZWpIY0g5WVFWeExubURIU1Mxb3ExOFRra2FNZEkvOTJSTEtRVTcKbVMyT3ZsOE9QSGR1RGR3TzBMVjU3M1pVVklNNEJad3p1VE83MW16OHdFN05zejd2R0FnakF3VDhDM2NPV2JmMwpRbld5bWlPMmJFMkNHNHROK0VVME9BTEkyL3RvWmVRbC9FWk5aUkRpcGhyZmE5aDZRL2ZjZUtJOW5VYzRPT09LCmt3eWdpL0R1anpDZnhVOG9jNUIraUdDSzhFZGl0L3RERHY1RXViTHRUS0J4L0ZCSXQ4ZjNOK3lKbGM4S1BuWEkKRFJPd3BGSkRSQVV1MUdpcXB5NjJPUmNhenZ0M3dQemFrVHhaajJoczdQZzRhQkNvTjRKb0lGL1FIbWorcVdneQp2ekxYaTFCZHV5VDNsUmFqSjVlS0pYMys4dXVjN1oxSHgxTmpPVUpSbWVzYU1za2VobWpaZm9yZjVidTcvTlJiCkpHeDI3UDA0YW5NTG9va090L1pmM1FrUzZUWHM1VnJzREloZFJEOGpIVUpDVmxRcWpTWVgwUW8vKzh6b1NOQ1EKVmtmWExYWklNYS9wVXRMTmNYeWV1QTlqak9vY2wrdXdTdExvRTJGdml3MzBLNU4xWkFTNkpVeS8rRUVxV3hSTgpiNUhOaDQ2MjJFUFZTd25wR055bzdLQTVvS3pQcDRRNG4vR2VTcVA4N2VHZ1BxWFh6bEVDZ2dFQkFQLzh6Nm1XClhoY2dObzUvWW5XYnZMdHpOaXhXdmZRNU1tYU00UC9MOW54cEJENDJnQTBTZ3Vlc2l6bmtjR2lDV3VsK252KzgKZ1dLZlVqYkxzUHZaTlBoektCNWJLT0gyKzl4ZWhBWnZCMkovdWdBN3VzdDlKOUFyTnVEWm54Y1oxSU1wZUhlTwpBU1hpSExNRDYvdXozdnMyck5WSWpVLy9SekJBRDVzKzdpUVc2Sm02ckFDQmQ4dkRiOWtralhuczJwWFJiRHQ0CjI5eFVBQmNTb01JZmVKNnhyZHlVSVZuZnRVbzFhbi9WeklTNzl0ZzFsS0luYjVpaE5XaWtldU8xb3lXWDl2c3gKMitsQ0RnVXBrS1k3ZGpwSHdPQi9ObTJqZ0JaQnJtTHJYSmw0NXBFbS9jcElwNU44bXVNeGRtbklyTlRKTlY1QworMWx1QWJvNk16ekxMVnNDZ2dFQkFPMTFTYkVNNVZYQ0g5TDFUNjdJdklxYVQrMEZzeTRrUllhSUdoVnV2dHZ3Cjg0cDJHUy83ckhyWWtPUUNZb2dFQ3dpcXVWbGpLTk11S2tGVE1hWk9udmlzbGxOeGxWT0hiTW5heFlXRUNweEkKalpQdk5saEJFbmJkS3pVbmc0T2dBVUphRnA3OWdHWFJwZzhpaHVxTUY5UTNGMXE0ZWFxU1BQbW1aRlEvNUNieQpoVTJHZ1p5RFlTak5VMkJoZFg5c2FWa1dJV0ZTTSs3S3NJQ1czelB3TDkwT0FLQnZJT25najlZNldjMnFHUldCCkxUOEVBU1UxZkl1bmE3VVE5c2VzdTdZcGUxK0dGMlFQMFkvcW9MZjFiN1ZucnRFU29YQVZLVFBUaGlVd3FINmMKTWcxZlI1UEdjT0xhWTluRmozUHFBN3BKeXJHTHA5eGRxaGRlTWxWNzUvOENnZ0VCQUpUVGtKQVNJZ1hqN3BRTwpMMW9jL3k4a0huek11WWRCc2JHNWVoNTlvSUpZTStWUG5rYjdXaXdEUHJhYnYxYWpZdU9aZ0N0Q2x4NlZiaUQ1CmI1NGNmQlZ1TGdib0RPN0N2MDh4akNTSmJJdXhvcHY4SGUrc2hmY2JDTDdWQnc5Ukx5SktmQVZXQkFqWVdzTWgKSnBPaDBhUFA5OC9RYklmejdKbDZ4UmdIRUVEZktNQW5yVlJsOFJZQVBBak1uWXdqVGpvSUZackYrMTB2WVJZSQorSG1qL21hVStuWGhrVHBGTzRzM1h3R1BkV1krT1pjZUg1bmV2NXpITE52M3RKS3F5WDFUeW4za1VPeGVRUFJ6ClkrdWhhbTBieG1FKzFKQU5uS3hUNTJVUFhUakU5NWV3U2FEUGVNM2doZFJNcjRGMDhEYU4vSDhmQmk3S0xDcnYKSjFiUzhUMENnZ0VBWHV3aDF5ckdpbStkZFNFbkIwR3JUT1MreW9zYXcza3dhY1VDV0VyNjlNVHZOZ3hicVRpOApEQ2VDVkFNNERCTkJyZWRCVEtBODg1NWl1ZFpkNUpOTkxTOGdzSjZaQ05qNy9mejhOSkZDQkpOa05Sek01cDZzCm1PTjBvRHo1YjZhSW1sT1U4MTEyOUR6SVd3aDhVa3BLUkVUNWl3UnZibVlqQmRFa0RpRzBQSFY2SURHQ29tUksKZEpzUGwxbWVOSi9MeFJiNXBRUE5Tc212b05ldXhmNWZ3OGdUTEE4QVl6Mm5nZ1cxWEdlQXUzMzE3bGpWZEdCYgpOeUJvQit1T0d1Zkw2ZGZQUDdKRXEzVS9XbjU2WE04NkpwUVo1KzNBcHlOdVl3OU5jcFJ1NXAzZHpFYW9RRVIxClg5blpUSGFURDgwZVRGdXZNU1lZcGhpekk4QTk4cm9qVlFLQ0FRQmJCU29GR3ZDSEtVTmIrOHlYdk8rdUVDc24KRVdzSnZUS3Irc2haT2xCS0FkbUdlRjF2Z24yZFh6UWJjaFJVaEcrdUNoYWU2enpsWlFkNWVDTXRRN0dxb3gvdwp2eFZScTUzSVZUSUlFT0NNYS9uRS9rWXk5RlBxbC85Nm9DdVdudGFNZHJaVG1yTmZZT0hCMXRZajhkVmNmc3h3ClB2NkZhRmhqa0czOFI3OWpGbXZOVm1RL0FSaTBEVnlQWlNvam9wK3Z0eHF1WlBLRDE1V2s2S3A4SC96VlpNSUsKdHNtN1N3dCtjYmZKMkVsR0ZWSGNTbjVYTXExZ3pKVGZkbGdZdEZGTUk5U2FWSk1PdFpUV3VJcXNvejJVS0J2WQoxUU9yRXBuY0FEMEd1Y0JyK2l6cWNSWjVIcERleDVrbjlMdFNxajJSVlNIZS9OQ0RoN1NFQjM0Y0R0SHcKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -131,7 +131,7 @@ "domain": { "main": "adguard.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCekNDQk8rZ0F3SUJBZ0lTQlNGTml1K0crV1RkRmxrcEJ5SlNOOFZlTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXhNREkzV2hjTk1qWXdNakU1TWpBeE1ESTJXakFoTVI4d0hRWURWUVFECkV4WmhaR2QxWVhKa0xtRjBhR0ZzYVdGd2NITXVlSGw2TUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEEKTUlJQ0NnS0NBZ0VBd3F6NU9vTjA3MzNhNS9DZDFiOEFZcmpjcXdHQ0R3NHZON1BoSTQzWGh0M0pHeHppV3FsdwpJM1JqNkMxS3o2Z2hGZWs0NW5WcktBT1ZRM2VmOEtsRlMzd0VaZjI3dStVRmh2djMwaDgrMXhpMkpYMGlCUFoyCjNuV3NlZTFVM1B3S2N5NDZsR2U2dXczZGpXRnJGdThnSyt6eUF5RG5xWm9mV3dTcVBJNTlPWXpIRXVOd0NnTjEKaG5PdDlLVnBydmlJWHdvVU13SG4zc3dNc1ZReTdQREpkMHozNzQwT2NMRG04RDVOeFZQWmdYdmVnOFpra21CZwo3OGRGUjBwME10ekRVbnlEbUcwakMwMzM0OXBVWEhOT2F5MjV5dEJqVTk1K2hPQ1NWTklsVEw1bEZKLzZuUFJGClMwTE02TzdoeVczbFBWZmd3UlBaSlhQTnZVeG1BQjZqMWJXckptelZ4SXdSQjRUenc2WUxNSHc5bHFkM09PaEkKMDhNOXRRZGFUMjNJdlB0STNKNlZiSTVDU0gwY2VxclV5YVFjK1g5Uy92Tks0N2Z5S2JDYnNSRVNSaGhQMVM2dQpBNmJJOHRyejRWREFWOEtPUWlGTVZlNmtJY2tzL2p0eFpBV2dRSEFRMVlYUFROU2g2UXkyMVlLbkdMck14UkhXCkN4Ny92MXBKY3hRYnRIQng4M0tYdDI4MDNpcGwvellFZjhjVXY2Qjk5V3VFUS84ZDgrK2lsMk5wbVY5RmZ1bS8KMGpNWFU2UzJ4ZWlvYlM5VW1wTjB6QTYzTFRCM3NNeFdvSHNzQ0g4TVlEM1FFK3pCVUtJVktpdHlSVlhSazFzbApIL29iN0Z1dmdhdG9Ta1EwRHZZN3JWekMvbzVpY1dqWGhlcTZIU3dkMlNNc0Eyc0w4bXBPK2tVQ0F3RUFBYU9DCkFpVXdnZ0loTUE0R0ExVWREd0VCL3dRRUF3SUZvREFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQVFZSUt3WUIKQlFVSEF3SXdEQVlEVlIwVEFRSC9CQUl3QURBZEJnTlZIUTRFRmdRVVFtVkJZdzF5UXhtWlNxS3JnSi9KMmVNNApxMW93SHdZRFZSMGpCQmd3Rm9BVTU2dWZEeXd6b0ZQVFhrOTR5TEtFRGp2V2tqTXdNd1lJS3dZQkJRVUhBUUVFCkp6QWxNQ01HQ0NzR0FRVUZCekFDaGhkb2RIUndPaTh2Y2pFekxta3ViR1Z1WTNJdWIzSm5MekFoQmdOVkhSRUUKR2pBWWdoWmhaR2QxWVhKa0xtRjBhR0ZzYVdGd2NITXVlSGw2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQgpNQzRHQTFVZEh3UW5NQ1V3STZBaG9CK0dIV2gwZEhBNkx5OXlNVE11WXk1c1pXNWpjaTV2Y21jdk9UVXVZM0pzCk1JSUJBd1lLS3dZQkJBSFdlUUlFQWdTQjlBU0I4UUR2QUhZQXl6ajNGWWw4aEtGRVgxdkIzZnZKYnZLYVdjMUgKQ21rRmhiRExGTU1VV09jQUFBR2FxRCt2SVFBQUJBTUFSekJGQWlFQXlsQnNvcHpzTzR0c1B4cXV1Zyt3dTROTwpNakhOZ0UwdzlLR29iam5FeUJBQ0lCc2pTV3pYb0tLR1VxbWh5MlMvRjgyZzc1RkZ6R3Y3d2lrT2p5QzQzcWlmCkFIVUFEbGVVdlBPdXFUNHpHeXlaQjdQM2tOK2J3ajF4TWlYZElha2xyR0hGVGlFQUFBR2FxRCt2REFBQUJBTUEKUmpCRUFpQUtDT1FrWUVyQXB5dnJsRFhZcFF2MnV3UEJ1VkM1OVFoNzhhUEpLeTg5K0FJZ1l5NjlmUXZ5K21tVgpieWdFYWlyamRkdHN6YXg4eEd0c1QvQ1BXVFFNMEJjd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFHcDFZNXh2CnhsRVNCYWJGcXpkN1FmV0tKeVlmMHN1QS95SGJXeCttK3MwbEY3WEdweXFNZlk0TDF5bXVxNWRwdWN4TTE5OEsKOGlwcHdiN2luUnRlN1cwTlV6dEVla1VxcEgwV3A3NTI3WWpDWjZzUEhXeXVDTDZqbjZ3UWsrdjlhek9OOWI0dAoraHRlL0VzR3h0Ynp4Ym5QckxEVmV2ZGJuNm5CTThVdDBDeFVKaHh5YTRJSlZCSklOMWhKc05oWlh5RHgyYjJvCm5zUHd0TCtlcFEyWFlKVm9BRmVWZ3c4SnlnaytJNnM1d1lYRUVxVlVVVHFSY3FaZ2ZKMHR4eVNrMEFjbEd2RXoKOEJDZGxHcnUrUWlZNWhUcTNsV2lVQ2pCL1lFZDZFN1pVMVc1N1lpWWF0V2pRRXVJTkRidld0VTRiYk8ySkk2SAoyQUc0MmtnVGJKNWNHdDA9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQlRDQ0F1MmdBd0lCQWdJUVdnRHlFdGpVdElEemtrRlg2aW1EQlRBTkJna3Foa2lHOXcwQkFRc0ZBREJQCk1Rc3dDUVlEVlFRR0V3SlZVekVwTUNjR0ExVUVDaE1nU1c1MFpYSnVaWFFnVTJWamRYSnBkSGtnVW1WelpXRnkKWTJnZ1IzSnZkWEF4RlRBVEJnTlZCQU1UREVsVFVrY2dVbTl2ZENCWU1UQWVGdzB5TkRBek1UTXdNREF3TURCYQpGdzB5TnpBek1USXlNelU1TlRsYU1ETXhDekFKQmdOVkJBWVRBbFZUTVJZd0ZBWURWUVFLRXcxTVpYUW5jeUJGCmJtTnllWEIwTVF3d0NnWURWUVFERXdOU01UTXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUsKQW9JQkFRQ2xaM0NOMEZhQlpCVVhZYzI1QnRTdEdaQ01KbEEzbUJaamtsVGIyY3lFQlpQczArd0lHNkJnVVVOSQpmU3ZIU0phZXRDM2FuY2duTzFlaG42dncxZzdVRGpES2I1dXgwZGFrblRJK1dFNDFiMFZZYUhFWC9EN1lYWUtnCkw3SlJiTEFhWGJoWnpqVmx5SXVocnhBMy8rT2NYY0pKRnpUL2pDdUxqZkM4Y1N5VERCMEZ4THJIemFySlhuelIKeVFIM25BUDIvQXBkOU5wNzV0dDJRbkRyOUUwaTJnQjNiOWJKWHhmOTJuVXVwVmNNOXVwY3R1QnpwV2pQb1hUaQpkWUorRUovQjlhTHJBZWs0c1FwRXpOUENpZlZKTllJS05MTWM2WWpDUjA2Q0RnbzI4RWRQaXZFcEJIWGF6ZUdhClhQOWVuWmlWdXBwRDBFcWlGd1VCQkREVE1yT1BBZ01CQUFHamdmZ3dnZlV3RGdZRFZSMFBBUUgvQkFRREFnR0cKTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQ0JnZ3JCZ0VGQlFjREFUQVNCZ05WSFJNQkFmOEVDREFHQVFILwpBZ0VBTUIwR0ExVWREZ1FXQkJUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QWZCZ05WSFNNRUdEQVdnQlI1CnRGbm1lN2JsNUFGemdBaUl5QnBZOXVtYmJqQXlCZ2dyQmdFRkJRY0JBUVFtTUNRd0lnWUlLd1lCQlFVSE1BS0cKRm1oMGRIQTZMeTk0TVM1cExteGxibU55TG05eVp5OHdFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3SndZRApWUjBmQkNBd0hqQWNvQnFnR0lZV2FIUjBjRG92TDNneExtTXViR1Z1WTNJdWIzSm5MekFOQmdrcWhraUc5dzBCCkFRc0ZBQU9DQWdFQVVUZFlVcUVpbXpXN1Rick95cExxQ2ZMN1ZPd1lmL1E3OU9INWNITENaZWdnZlFoRGNvbmwKazdLZ2g4YjB2aSsvWHVXdTdDTjhuL1VQZWcxdm8zRyt0YVhpcnJ5dHRoUWluQUhHd2MvVWRiT3lnSmE5enVCYwpWeXFvSDNDWFRYREluVCs4YStjM2FFVk1KMlN0K3BTbjRlZCtXa0RwOGlqc2lqdkV5RndFNDdodWxXMEx0empnCjlmT1Y1UG1yZy96eFdiUnVMK2swREJESEVKZW5uQ3NBZW43YzM1UG14N2pwbUovSHRnUmhjbnoweWpTQnZ5SXcKNkwxUUl1cGtDdjJTQk9EVC94REQzZ2ZRUXlLdjZyb1Y0RzJFaGZFeUFzV3Btb2p4akNVQ0dpeWc5N0Z2RHRtLwpOSzJMU2M5bHliS3hCNzNJMitQMkczQ2FXcHZ2cEFpSENWdTMwalc4R0N4S2RmaHNYdG5JeTJpbXNrUXFWWjJtCjBQbXhvYmIyOFR1Y3I3eEJLN0N0d3ZQcmI3OW9zN3UyWFAzTzVmOWIvSDY2R055UnJnbFJYbHJZakkxb0dZTC8KZjRJMW4vU2d1c2RhNld2QTZDMTkwa3hqVTE1WTEybUhVNCtCeHlSOWN4MmhoR1M5ZkFqTVpLSnNzMjhxeHZ6NgpBeHU0Q2FEbVJOWnBLL3BRclhGMTd5WENYa21FV2d2U09FWnk2WjlwY2JMSVZFR2NrVi9pVmVxMEFPbzJwa2c5CnA0UVJJeTB0SzJkaVJFTkxTRjJLeXNGd2JZNkIyNkJGZUZzM3Yxc1lWUmhGVzluTGtPclFWcG9yQ1MwS3labWYKd1ZEODlxU1RsbmN0TGNabklhdmpLc0tVdTFuQTFpVTB5WU1kWWVwS1I3bFdibndoZHgzZXdvaz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdEekNDQlBlZ0F3SUJBZ0lTQmNyendFZUZJeVNtRGJLdCt0Y3BVMkNxTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXdOak16V2hjTk1qWXdOREl4TVRZd05qTXlXakFoTVI4d0hRWURWUVFECkV4WmhaR2QxWVhKa0xtRjBhR0ZzYVdGd2NITXVlSGw2TUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEEKTUlJQ0NnS0NBZ0VBd3F6NU9vTjA3MzNhNS9DZDFiOEFZcmpjcXdHQ0R3NHZON1BoSTQzWGh0M0pHeHppV3FsdwpJM1JqNkMxS3o2Z2hGZWs0NW5WcktBT1ZRM2VmOEtsRlMzd0VaZjI3dStVRmh2djMwaDgrMXhpMkpYMGlCUFoyCjNuV3NlZTFVM1B3S2N5NDZsR2U2dXczZGpXRnJGdThnSyt6eUF5RG5xWm9mV3dTcVBJNTlPWXpIRXVOd0NnTjEKaG5PdDlLVnBydmlJWHdvVU13SG4zc3dNc1ZReTdQREpkMHozNzQwT2NMRG04RDVOeFZQWmdYdmVnOFpra21CZwo3OGRGUjBwME10ekRVbnlEbUcwakMwMzM0OXBVWEhOT2F5MjV5dEJqVTk1K2hPQ1NWTklsVEw1bEZKLzZuUFJGClMwTE02TzdoeVczbFBWZmd3UlBaSlhQTnZVeG1BQjZqMWJXckptelZ4SXdSQjRUenc2WUxNSHc5bHFkM09PaEkKMDhNOXRRZGFUMjNJdlB0STNKNlZiSTVDU0gwY2VxclV5YVFjK1g5Uy92Tks0N2Z5S2JDYnNSRVNSaGhQMVM2dQpBNmJJOHRyejRWREFWOEtPUWlGTVZlNmtJY2tzL2p0eFpBV2dRSEFRMVlYUFROU2g2UXkyMVlLbkdMck14UkhXCkN4Ny92MXBKY3hRYnRIQng4M0tYdDI4MDNpcGwvellFZjhjVXY2Qjk5V3VFUS84ZDgrK2lsMk5wbVY5RmZ1bS8KMGpNWFU2UzJ4ZWlvYlM5VW1wTjB6QTYzTFRCM3NNeFdvSHNzQ0g4TVlEM1FFK3pCVUtJVktpdHlSVlhSazFzbApIL29iN0Z1dmdhdG9Ta1EwRHZZN3JWekMvbzVpY1dqWGhlcTZIU3dkMlNNc0Eyc0w4bXBPK2tVQ0F3RUFBYU9DCkFpMHdnZ0lwTUE0R0ExVWREd0VCL3dRRUF3SUZvREFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQVFZSUt3WUIKQlFVSEF3SXdEQVlEVlIwVEFRSC9CQUl3QURBZEJnTlZIUTRFRmdRVVFtVkJZdzF5UXhtWlNxS3JnSi9KMmVNNApxMW93SHdZRFZSMGpCQmd3Rm9BVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdNd1lJS3dZQkJRVUhBUUVFCkp6QWxNQ01HQ0NzR0FRVUZCekFDaGhkb2RIUndPaTh2Y2pFeUxta3ViR1Z1WTNJdWIzSm5MekFoQmdOVkhSRUUKR2pBWWdoWmhaR2QxWVhKa0xtRjBhR0ZzYVdGd2NITXVlSGw2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQgpNQzRHQTFVZEh3UW5NQ1V3STZBaG9CK0dIV2gwZEhBNkx5OXlNVEl1WXk1c1pXNWpjaTV2Y21jdk5ETXVZM0pzCk1JSUJDd1lLS3dZQkJBSFdlUUlFQWdTQi9BU0IrUUQzQUhZQVpCSEViS1FTN0tlSkhLSUNMZ0M4cTA4b0I5UWUKTlNlcjZ2N1ZBOGw5emZBQUFBR2I0WVJPaHdBQUJBTUFSekJGQWlBUU9RL1lWSDhGOWRIMjQ2K3dybkU5dFM4dgptZytSWUk0dm56eE1VdXpDMVFJaEFORGh3RGE0YzQ0bEZtaTZmSVROeWorcGFKckY2ZS9JQ25PSlhIV2tVZmJmCkFIMEFwY2w0a2wxWFJoZUNodzNZaVdZTFhGVmtpMzBBUVBMc0IyaFIwWWhwR2ZjQUFBR2I0WVJSVmdBSUFBQUYKQUMrcmZCTUVBd0JHTUVRQ0lCWHFKdFl0ano2VWdjOWowTFBXVnhOaGF2ZjlReHdHV0dNcllaekRlblZBQWlBWApTWXBnS2NuWkxkbFA0QjJlaG16alhOVExUeWlESHhjenNqU29zTDBVNFRBTkJna3Foa2lHOXcwQkFRc0ZBQU9DCkFRRUFlS3ZNbWdoTTFvdVFWYmdiNlRKVDkrZExsejhoRytRNW5aWnRwR3RvMm54UVRKcnRjVi8yRFNEZE4zd3AKU2dobHdkN2NLVUZhbnRIcmZxTWNDZm1tSEFBeHhLeG9xQnJkMHZzcU5VM09xUjM4UWRxN25QemVFcGdVeDNpVwo2U1VNS3dqQmgzZTgydjZLektOVTY3TTVRVWlZYkJCMmh4aE1rVUMvMXdDd1E0MWRmK1Q0Z0JmZjJNUFdKQkpUCnA3VXZhZWxkcDFWaW9aNUVhRXRkY2ROUy9vMFBJWmNmR08zUEcrL2RUQ2RMc3kvU1JEV1haYTRmSzkrU3dlQzYKNjUvRXAvK2N4MFVjclVtclkvREQxYWxjMmU1aEdoMzQ2M2hySk9SR1pQSzJUZUlKemR1VTJTays1aTlnYS9NdwpoaFRWVFN3clBOWWd4R2FVU2thd21lSHRaQT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS3dJQkFBS0NBZ0VBd3F6NU9vTjA3MzNhNS9DZDFiOEFZcmpjcXdHQ0R3NHZON1BoSTQzWGh0M0pHeHppCldxbHdJM1JqNkMxS3o2Z2hGZWs0NW5WcktBT1ZRM2VmOEtsRlMzd0VaZjI3dStVRmh2djMwaDgrMXhpMkpYMGkKQlBaMjNuV3NlZTFVM1B3S2N5NDZsR2U2dXczZGpXRnJGdThnSyt6eUF5RG5xWm9mV3dTcVBJNTlPWXpIRXVOdwpDZ04xaG5PdDlLVnBydmlJWHdvVU13SG4zc3dNc1ZReTdQREpkMHozNzQwT2NMRG04RDVOeFZQWmdYdmVnOFprCmttQmc3OGRGUjBwME10ekRVbnlEbUcwakMwMzM0OXBVWEhOT2F5MjV5dEJqVTk1K2hPQ1NWTklsVEw1bEZKLzYKblBSRlMwTE02TzdoeVczbFBWZmd3UlBaSlhQTnZVeG1BQjZqMWJXckptelZ4SXdSQjRUenc2WUxNSHc5bHFkMwpPT2hJMDhNOXRRZGFUMjNJdlB0STNKNlZiSTVDU0gwY2VxclV5YVFjK1g5Uy92Tks0N2Z5S2JDYnNSRVNSaGhQCjFTNnVBNmJJOHRyejRWREFWOEtPUWlGTVZlNmtJY2tzL2p0eFpBV2dRSEFRMVlYUFROU2g2UXkyMVlLbkdMck0KeFJIV0N4Ny92MXBKY3hRYnRIQng4M0tYdDI4MDNpcGwvellFZjhjVXY2Qjk5V3VFUS84ZDgrK2lsMk5wbVY5RgpmdW0vMGpNWFU2UzJ4ZWlvYlM5VW1wTjB6QTYzTFRCM3NNeFdvSHNzQ0g4TVlEM1FFK3pCVUtJVktpdHlSVlhSCmsxc2xIL29iN0Z1dmdhdG9Ta1EwRHZZN3JWekMvbzVpY1dqWGhlcTZIU3dkMlNNc0Eyc0w4bXBPK2tVQ0F3RUEKQVFLQ0FnRUF0RGZwS1ZBVTZyaTU5RW45ODZnME5UQXBxRzFtOTRVTUZTY0MzeVVxUndIK2NJa1d5eE5jYXBZTwoveHNleklvNnhzdjNEdkhZVjF5cHk2RnNnU0JTdEFTRkZkNEU4M2FhM1ZGWkpENGtzSCtCNzhhZHZiWmthS0RMCklMeWkrVWlpYStwNTlIVHFtc3ZGTkdMZy9vUTBaaldkL1dOeTBzR0pFWHVLRlRGYm4vRkJRYTBuUlQzYWlMT0MKY0o3STdWL0s3eUNuZm1qZlBKUHRsQ1A4V1BpM3FTZXB4eXZ3R0ViTUk4K3BzMmxpUzhwZVBlTmxxMVJwcU0veQp4SUthZTVOL2hsY2FnL3RVbTl4OEJZVlMzNXNuRjNWbkwrZ21hN2ZuckI4eG1EQktzM2Iyb0ZkUmJBZCtOcVFLCmlnRExLT3dCY2Y1dVpJOTVVSUNhRUFvdnl5Q1NUV0NUOXhLb3YrUWFqOG44Z0FBL3M4dUJoeSsyQmV6cHBWT2EKVklVZXdEODY5YTRvK0lFMGdGNkRmL0RMYmtnT2t5ZUVFYTQwWG5xMWlIWlV4NGZZNkxzcXRoeENRWGc4cGFncwpLSWx3d2Z1bDl2Z1luS3RjcGtJNHpXa3dvRW9lSlRiTjAvSjZtM0pLL2g3SVVDa0FaNGxhK0ZWQUMwTW9DMWNQCkk3YjRlQVBzbmowQWxuaW9DanNhbjJYTlo5b1VkalN5alU0RzJzNjBzd2hVd3FleDN0dGQwaW5Mc3ZPMzBZbDAKUWhMZlAvNnVCMjBHd0FFd3Z3Sm5XUkRteHNTLzBoUEJyZnlsOXhPdjBmdVNvTDY5cXdDeTFJekJlODE2MTN1Vgo0dzlQZDRVZGRFWERhZ1pELzFtT0lrMVRvZGFTTWVDbndFV0hzMnRVbVkxM3dKbWtJV2tDZ2dFQkFQR3U4T3RoCkZGSjhYQjJtVlhFTW1WK3hMdDIyNDMrTDNFY3IvemVuN29zc21iUXlnOE5UcHdkWUtBdFJGemJTNUJhSTVkT2QKSGxtU2YySTlGSFBDM2xWR2lScmhHK3FOejduY1l4NFpLOVBWczdBaHdHZHgrWHdkVUhrTGtuN045RWFpL1NUYQorVTBnUkRXbURnM0lYNXA5NjZiS2c0M3VsUFVQZXZ5TkkyQzlZOUxGUnhkODM0Zk93eUo0QWRDZ3hDaUpJVXVjClVIcE9DTkFRZG4vQ241aC9zMlBUUHpOaldjWHYrbGFwLzBzM3JPSTFFaEtCRWFOU255NTAydlovZDlGNHRmaVUKU1F3M1Y2YXJCSnk2UlQrM1NPVFpIWHJtN29TTlVuK01LWkpJQjRwT29ib1U2Zm4zRjZWeFA0S2VPdVlTL01BWgplNGVTNUNxb3U2eHYxd3NDZ2dFQkFNNDFMS1JhSzZCUS96T1IwQU5TdnFrVVEzWURjNGhpOW5kNHFJRlRjeUZ2CkU5OGh1b2VqV3NzZzJqUms3dTJpOFh4TVpnYllFLythL2wyaWhxWG5SdU9VZ2VVenkyekxGaWhHNm5mWHBlSGgKMC9BeVYxeWhENjZCMjJPcXVpWmFhRXBTcFgrT1J1ZVpXaFduRGpDMkdoMm5kY1dJTlNGSnJIYjZIdU05eDZDRApSd2ZjTkZpL2lYdWxGWjZtQmMyMlhnaUZOcFF3Mjh4WDhDT1Z0OW03a1ZxSktibDJLVldXT3hHYmRMZi9SeTlZCkNGbU5vQlV5MFd0c3ozWGZRZWlNSmc2WFJacUhieDBjZEVwMHVxYlYzcXloeWtYSm5OZjRTK242SHU1VW5kUDAKZjRJQllMenVrOHk4RWlNamNlQVFLTE9ETW8rREV4NjNYMXp3b0tOV0JlOENnZ0VCQU53d0FoYXdiNDltOVpXZAp3U0lwMUdJMlR2aDRjM1AwdkUrcmFlNE85V21lekxvN2U0Z3RZbk55Z2FrdHkvU0sxbnNoWmlJUmQyRXI4eHBSCmc1eWo0V1BYeTNuTnRWMVFyZndyS2JKMlJGUE8wdEtaTFc0UmpMYmpEam41clJJU0dZZHhYeWlBeDdqWXVNd1gKNlozcy9BMEl3L1ZGYysyUGUrNTRtQmdYamkvSTNIVmVmcEtMbGl0bzJLZENwb1NvczQ0cXdVYmR0d1IycTlqRAo1dkluSXJnUlFDS21oMklPRmZBYjN2dXVEWVU5eUNpZktVUHFpMk05RndHQVBTMXVuSDhmZHNwdWJzN09iUERQCnhuZnp6THRzQk9GYVhWMW5uODdyNGttS0xTVzBzZ256OGF4UytZaGU4aEFzeVN2N2RMWEFmcjJWZWRIZXBqbW4KV0xTVmdGa0NnZ0VCQU1uUmhVVzk4dURQSlZiRnFUNzNaeDk0YzZZM0xvWVh4WDJjbTk4blc1RW5jOTE0MTJVVgpYakZjai9PanJhenJRMG9TUS9FQzNsL1d4SW5FSGVDV0FPMlFWYW1NRGRjRzFVTEtWWVRCak5zTStTOG5OaFcwCmxQS0lxYjVjUkNCeGI0eitZbmY3T2k1R0NzTVNZM01OWjNZS2hkdTB1YnRBcmdrc043clVwbUxVMlZvNkRRbW4KUE5uRTh1bjVOOGprYWhnUXVTQkV5WHF2dnBvMVdHRkRrTGw1Y1ZyUTZSZVpGMnJlS1ZoRUF0bTFZVWEwdEM3TApNK2ZkOFJZK1VmVlY1WkYyUUd0RGpsNkJrTmVtYzJBQ0JoUVRyVEtzWmxPQjhscW5zRW8yaXRuOWZDWXpUd2phCnY5RXJhTnozUGVhOEtmbTN1RzU1TE9kdE5XcHpIK1Y4dGdVQ2dnRUJBSUQrU0ZNWUptSFJSQXRkQ1JBU3JmcDYKS0tGcFBTRWMzd0hYKzh2LzhCQzZFSVFGTE5UNVZzRzFWTWFzSVN1VXRFdEZkMDl4WGd5ZGxia1BWcWZXQkFSMQpHTEY2TUlJQWNtRVB3SEFCR293bzZ4MEtFYitYSXN6U1IxY3FwQlo0ajltUzJXUVk3MWhVTnd1NlRKdnRFN2pvClhVQnJhbzBoMlM5RmJGR3ZDQWV6NDRyV2pLclhZakFmNUY5MGk4eFFsd3VOdjN0T2FRaDJlcWttdjFmR3ppYTIKTFlOWWxLOEU4Ui9XejFYMWhaSGd4SVB4TTBYclhzREJGSnVpeDY0U3U2b0tGbVFyNjN3b2trVEdVSURaREpiRwpGY3padGhnOHZFZ1FZN3Q0Rm5rM0J4OEJ1UmhZbkdUTVJLYm5YV25mOGs4V0FDeUhEdklxWG5VQUhGVVh5SVE9Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==", "Store": "default" }, @@ -139,7 +139,7 @@ "domain": { "main": "teedy.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdBekNDQk91Z0F3SUJBZ0lTQlY3QkpySDdhVTBYS0M1RDVmVWFQbjZ2TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05NalV4TVRJeE1qQXhNRE0xV2hjTk1qWXdNakU1TWpBeE1ETTBXakFmTVIwd0d3WURWUVFECkV4UjBaV1ZrZVM1aGRHaGhiR2xoY0hCekxuaDVlakNDQWlJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dJUEFEQ0MKQWdvQ2dnSUJBTll3aS9WNUY5U1JpazZrNlZvMkdWQkNFRmc2TldpOC9BSUlSTUJDc0FnZ3pqYTUwVXVUdzlSUwovcWtwbXdHM2svRHk5TGRvS3lSQm0zK0FBTGN4UUxhYTE1K0FINXMwVHhiZ0VXaWtrbGc4OGh5N1I1N0Q1VndyCjRkOEZUdFNiaXRROHhXWVVGbTNLRk9POThXSktlRGRKZ3kwbElhK2daUUpJeGZFS0RCRDYrOGZYMTJjZkhBK1AKVGVqbjg1dEJENjFzS01GMmlnMUxlY2tmZ3dZUGhmcDhTbUdkSWJTSkZXd3pWTGVUci9IMzBNVDF1Y2szZlRLYQo0UnlvclRUWENKM3gwcEQ1NG1KUkZCcWs2ZHVtTzVSTjFTaEpHeElBWmcxdjlremtHRDBQNzVzWFRTTjVGVklvCmkxNVVrcGJVRnBwVUtuS3NGVm1PSjJHRjRjNURLU2hiMGx5Q2cxN1FOWXpNbENQZlJWaUFJN1hNZlFrSU9rOXYKd01xSW4rQ1luYzdDWU8yMGlSQ3ZnMFUyUys1cjRhaFZ5TEliUSszNXBZV296RWVqRXRxbFdJREt4RFNPbzNFOAp6R1BGY2FKOFQvN2ZvUGZKVzlBdXFrWXNHd09VWDBMakdQbzQvN0dQNHZMTjVIeWtMcUJ6THVHSnMrMTdDV0lXCmdBeEtodWJSd2lJa2VsaG1kN1dqampoL1JvZFJobUFTQUhkMUM3bmQ0SlNISXNhdWJ6dVU2QWVMcWZHTzRxcXgKWmgvMC8xaXNaOWhPSVFpUzQyeldnb254aEdQZEU2Z0w0VnozTGx1NVhFbTR3ZU94UWRlREpQYWNGbTdiNStOVQpjNDYwMU01c0JaMmEzdGRMamF4K1lBbTJROWh2VEViZkR1bFUwTkpFZHJrWjhnWTBjNTVwQWdNQkFBR2pnZ0lqCk1JSUNIekFPQmdOVkhROEJBZjhFQkFNQ0JhQXdIUVlEVlIwbEJCWXdGQVlJS3dZQkJRVUhBd0VHQ0NzR0FRVUYKQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3SFFZRFZSME9CQllFRk10Ui95U04rd1VNdHgwR056YkVUaisrQUVFbgpNQjhHQTFVZEl3UVlNQmFBRkFDMUtmSXRqbTh4Nkp0TXJYZysrdHpwRE5IU01ETUdDQ3NHQVFVRkJ3RUJCQ2N3CkpUQWpCZ2dyQmdFRkJRY3dBb1lYYUhSMGNEb3ZMM0l4TWk1cExteGxibU55TG05eVp5OHdId1lEVlIwUkJCZ3cKRm9JVWRHVmxaSGt1WVhSb1lXeHBZWEJ3Y3k1NGVYb3dFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3TGdZRApWUjBmQkNjd0pUQWpvQ0dnSDRZZGFIUjBjRG92TDNJeE1pNWpMbXhsYm1OeUxtOXlaeTgwT0M1amNtd3dnZ0VECkJnb3JCZ0VFQWRaNUFnUUNCSUgwQklIeEFPOEFkZ0JKbkp0cDNoMTg3UHcyM3MySFpLYTRXNjhLaDRBWjBWVlMKKytucktkMzR3d0FBQVpxb1A4K3pBQUFFQXdCSE1FVUNJQ3d4SnVQeVZ2L1Y0UE14RE9XOFA3L0ZHL1N5YUpkeApCZ3FuSE5zZVlkVWdBaUVBMzh6elVuV2tLb0paWWtyci9YUmhCOHFEK2FmMmR4T3lGcGpuOEZLYXBzOEFkUURMCk9QY1ZpWHlFb1VSZlc4SGQrOGx1OHBwWnpVY0thUVdGc01zVXd4Ulk1d0FBQVpxb1A4KytBQUFFQXdCR01FUUMKSUZ1ZFdmUzc0M2J0V0RHUFFVaXU2VCttNXFEOG1FdkVwaFNqVm9IRC9JVW5BaUFqWlpSWjVHUUcreHdKNlR6UwpTeDY4NVlxbUdIYWN2RlJmeE9RdWJnUis1ekFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBZjl1MUFDZFRMY3pNCnBYTmRDajhmUUhIb3pBeFlPR3hqazFSWTQ0MHlrbFpKdjlUR0Y1Q1l4SHppVnp1NEQ1RUZFRGVXZGViRDBVMXYKWXprZjJiOHhCRGVnZllxcGZnQU45OFdtRnQ2Z2xDcU1pbU5tdExsRzZwWHZwdUk5UDlZY1R4S3JFdVBqYnJQSQoxaEU0V2Z2dVZjZlRBYWg2aHI5ZzZ6aktiNEk2eVBhZGQxZjdFekNKT2MwbFhLZGI3Zjh5K1VVdmF5K0RBZDFmCjdxT2NiL2FIeWZlWUhGcnFyaDhMSzhrME1ZM2hTcmRrTkkrYm5hRzdHb0NKL2VIempWczlPS3dtOTN6QnltMVgKT0JoazI0VVhKVW8rMnh2ZmlyeWZ3aHJLQTJnVWdPc1did3h2ekhreGU0OVRWeHIwNS9FenIwNWJOWjgrSXpnNQpqZm55c2dNSnFRPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCakNDQXU2Z0F3SUJBZ0lSQU1JU01rdHdxYlNSY2R4QTkrS0ZKand3RFFZSktvWklodmNOQVFFTEJRQXcKVHpFTE1Ba0dBMVVFQmhNQ1ZWTXhLVEFuQmdOVkJBb1RJRWx1ZEdWeWJtVjBJRk5sWTNWeWFYUjVJRkpsYzJWaApjbU5vSUVkeWIzVndNUlV3RXdZRFZRUURFd3hKVTFKSElGSnZiM1FnV0RFd0hoY05NalF3TXpFek1EQXdNREF3CldoY05NamN3TXpFeU1qTTFPVFU1V2pBek1Rc3dDUVlEVlFRR0V3SlZVekVXTUJRR0ExVUVDaE1OVEdWMEozTWcKUlc1amNubHdkREVNTUFvR0ExVUVBeE1EVWpFeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQgpDZ0tDQVFFQTJwZ29kSzIrbFA0NzRCN2k1VXQxcXl3U2YrMm5BekorTnBmczZER1BwUk9OQzVrdUhzMEJVVDFNCjVTaHVDVlV4cXFVaVhYTDBMUWZDVFVBODN3RWp1WGczOVJwbE1qVG1obkdkQk8rRUNGdTlBaHFaNjZZQkFKcHoKa0cyUG9nZWcwSmZUMmtWaGdUVTlGUG5Fd0Y5cTNBdVdHckNmNHlycXZTcldtTWViY2FzN2RBODgyN0pndmxwTApUaGpwMnlwelhJbGhaWjcrN1R5bXkwNXY1Sjc1QUVhei94bE5LbU96am1iR0dJVnd4MUJsYnp0MDVVaUREd2hZClhTMGpuVjZqL3VqYkFLSFM5T01aVGZMdWV2WW5udVhObkMyaThuK2NGNjN2RXpjNTBiVElMRUhXaHNEcDdDSDQKV1J0L3VUcDhuMXdCbldJRXdpaTlDcTA4eWhEc0d3SURBUUFCbzRINE1JSDFNQTRHQTFVZER3RUIvd1FFQXdJQgpoakFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdFd0VnWURWUjBUQVFIL0JBZ3dCZ0VCCi93SUJBREFkQmdOVkhRNEVGZ1FVQUxVcDhpMk9iekhvbTB5dGVENzYzT2tNMGRJd0h3WURWUjBqQkJnd0ZvQVUKZWJSWjVudTI1ZVFCYzRBSWlNZ2FXUGJwbTI0d01nWUlLd1lCQlFVSEFRRUVKakFrTUNJR0NDc0dBUVVGQnpBQwpoaFpvZEhSd09pOHZlREV1YVM1c1pXNWpjaTV2Y21jdk1CTUdBMVVkSUFRTU1Bb3dDQVlHWjRFTUFRSUJNQ2NHCkExVWRId1FnTUI0d0hLQWFvQmlHRm1oMGRIQTZMeTk0TVM1akxteGxibU55TG05eVp5OHdEUVlKS29aSWh2Y04KQVFFTEJRQURnZ0lCQUk5MTBBblBhblpJWlRLUzNyVkV5SVYyOUJXRWpBSy9kdXV6OGVMNWJvU29WcEhoa2t2Mwo0ZW9BZUVpUGRaTGo1RVo3RzJBcklLK2d6aFRsUlExcTRGS0dwUFBhRkJTcHFWL3hiVWI1VWxBWFFPbmtIbjNtCkZWaitxWXY4Ny9XZVkrQm00c04zT3g4Qmh5YVU3VUFRM0xlWjdOMVgwMXh4UWU0d0lBQUUzSlZMVUNpSG1aTCsKcW9DVXRnWUlGUGdjZzM1MFFNVUlXZ3hQWE5HRW5jVDkyMW5lN25sdUkwMlY4cExVbUNscVhPc0N3VUx3K1BWTwpaQ0I3cU9NeHhNQm9DVWVMMkxsNG9NcE9TcjVwSkNwTE4zdFJBMnM2UDFLTHM5VFNyVmhPays3TFgyOE5NVWxJCnVzUS9ueExKSUQwUmhBZUZ0UGp5T0NPc2NRQkE1MytOUmpTQ2FrN1A0QTVqWDdwcG1rY0pFQ0wrUzBpM2tYVlUKeTVNZTVCYnJVODk3M2paTnYvYXg2K1pLNlRNOGpXbWltTDZvZjZPclg3WlU2RTJXcWF6enNGckxHM28ya3lTYgp6bGhTZ0o4MUNsNHR2M1NiWWlZWG5KRXhLUXZ6ZjgzRFlvdG94M2YwZnd2N3hsbjFBMlpMcGxDYjBPK2wvQUswCllFMERTMkZQeFNBSGkwaXdNZlcybk5ISnJYY1kzTExIRDc3Z1JnamU0RXZldWJpMnh4YStObWsvaG1oTGRJRVQKaVZERmFub0NyTVZJcFE1OVhXSGt6ZEZtb0hYSEJWN29pYlZqR1NPN1VMU1E3TUoxTno1MXBodURKU2dBSVU3QQowenJMbk9yQWovZGZybEVXUmhDdkFnYnV3TFpYMUEyc2pOalhvUE9IYnNQaXkrbE8xS0Y4L1hZNwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdEVENDQlBXZ0F3SUJBZ0lTQlNXejRGZjE3S0lzcWRsY1JJMWc5c1ptTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRJeE1UWXdOak01V2hjTk1qWXdOREl4TVRZd05qTTRXakFmTVIwd0d3WURWUVFECkV4UjBaV1ZrZVM1aGRHaGhiR2xoY0hCekxuaDVlakNDQWlJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dJUEFEQ0MKQWdvQ2dnSUJBTll3aS9WNUY5U1JpazZrNlZvMkdWQkNFRmc2TldpOC9BSUlSTUJDc0FnZ3pqYTUwVXVUdzlSUwovcWtwbXdHM2svRHk5TGRvS3lSQm0zK0FBTGN4UUxhYTE1K0FINXMwVHhiZ0VXaWtrbGc4OGh5N1I1N0Q1VndyCjRkOEZUdFNiaXRROHhXWVVGbTNLRk9POThXSktlRGRKZ3kwbElhK2daUUpJeGZFS0RCRDYrOGZYMTJjZkhBK1AKVGVqbjg1dEJENjFzS01GMmlnMUxlY2tmZ3dZUGhmcDhTbUdkSWJTSkZXd3pWTGVUci9IMzBNVDF1Y2szZlRLYQo0UnlvclRUWENKM3gwcEQ1NG1KUkZCcWs2ZHVtTzVSTjFTaEpHeElBWmcxdjlremtHRDBQNzVzWFRTTjVGVklvCmkxNVVrcGJVRnBwVUtuS3NGVm1PSjJHRjRjNURLU2hiMGx5Q2cxN1FOWXpNbENQZlJWaUFJN1hNZlFrSU9rOXYKd01xSW4rQ1luYzdDWU8yMGlSQ3ZnMFUyUys1cjRhaFZ5TEliUSszNXBZV296RWVqRXRxbFdJREt4RFNPbzNFOAp6R1BGY2FKOFQvN2ZvUGZKVzlBdXFrWXNHd09VWDBMakdQbzQvN0dQNHZMTjVIeWtMcUJ6THVHSnMrMTdDV0lXCmdBeEtodWJSd2lJa2VsaG1kN1dqampoL1JvZFJobUFTQUhkMUM3bmQ0SlNISXNhdWJ6dVU2QWVMcWZHTzRxcXgKWmgvMC8xaXNaOWhPSVFpUzQyeldnb254aEdQZEU2Z0w0VnozTGx1NVhFbTR3ZU94UWRlREpQYWNGbTdiNStOVQpjNDYwMU01c0JaMmEzdGRMamF4K1lBbTJROWh2VEViZkR1bFUwTkpFZHJrWjhnWTBjNTVwQWdNQkFBR2pnZ0l0Ck1JSUNLVEFPQmdOVkhROEJBZjhFQkFNQ0JhQXdIUVlEVlIwbEJCWXdGQVlJS3dZQkJRVUhBd0VHQ0NzR0FRVUYKQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3SFFZRFZSME9CQllFRk10Ui95U04rd1VNdHgwR056YkVUaisrQUVFbgpNQjhHQTFVZEl3UVlNQmFBRk9lcm53OHNNNkJUMDE1UGVNaXloQTQ3MXBJek1ETUdDQ3NHQVFVRkJ3RUJCQ2N3CkpUQWpCZ2dyQmdFRkJRY3dBb1lYYUhSMGNEb3ZMM0l4TXk1cExteGxibU55TG05eVp5OHdId1lEVlIwUkJCZ3cKRm9JVWRHVmxaSGt1WVhSb1lXeHBZWEJ3Y3k1NGVYb3dFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3THdZRApWUjBmQkNnd0pqQWtvQ0tnSUlZZWFIUjBjRG92TDNJeE15NWpMbXhsYm1OeUxtOXlaeTh4TURNdVkzSnNNSUlCCkRBWUtLd1lCQkFIV2VRSUVBZ1NCL1FTQitnRDRBSFlBWkJIRWJLUVM3S2VKSEtJQ0xnQzhxMDhvQjlRZU5TZXIKNnY3VkE4bDl6ZkFBQUFHYjRZUm1mUUFBQkFNQVJ6QkZBaUFvbk4ybGJST3NycFE0YitReHpqdjl4NGZQN3ljLwowQnRudC9Zbno2VkdqZ0loQUtXQUR2cnh0WDdTcXc3ckJwbGJDZXpQcGhBUDgwRm5QNzUweEFOZXUxRlFBSDRBCnBjbDRrbDFYUmhlQ2h3M1lpV1lMWEZWa2kzMEFRUExzQjJoUjBZaHBHZmNBQUFHYjRZUm94d0FJQUFBRkFDK3IKZktNRUF3QkhNRVVDSVFDWnJoR0dXUDFnWWpVbGMvbFZWaVA2NElJZmVQRHZEbFdMRkdweDFRaWJ2d0lnWHIvUQpZU3Y4Y2ZDemNZdWNqWExKY3I4ZmhqMjVVMVNCcWNVak56cklUYkF3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCCkFFUjYyS2c5cDZKc2lTeW9OTTNta3B3Z3NKdlFQc1F4WTdXV3JUYVhzUy9Gd3hQUkQ2WkpheENVeWh3UTdBcnUKRjVOT2t3QXlDdlI0cUZHRGVxVUV0RlArZ1FkK3dYTml6WGcySjdWcEQvb1RkaE5QSkc0U1JzZDAremdiUG5JRQpMbXgyRWYxY0xPUS9MeGwxenNUMW5iaCtZOFZTVDBQNUVOUm01RUllZUJtWjVnWkxKeUxEN2lxK29OZURLU0IwCmJOOW1aNHVRMjhZM3o5Qnk1ZVRtWkx3T01rYlp3K2F2SWVGNWVYaUx4R1B2R1pLYzdiOENpaHNCYnZGME5ycGwKRkh0NHlVdkkrOEErM1cwQ21maHRBVlh6dCtxdjc0KzUyWWkwVzZqaHZHUWZXRWtmZ1oyQTJWTWJPeFk0YmNtNgp3eWRiQUNBbHlHYmREUEp0OWp5bmMwdz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBMWpDTDlYa1gxSkdLVHFUcFdqWVpVRUlRV0RvMWFMejhBZ2hFd0VLd0NDRE9Ocm5SClM1UEQxRkwrcVNtYkFiZVQ4UEwwdDJnckpFR2JmNEFBdHpGQXRwclhuNEFmbXpSUEZ1QVJhS1NTV0R6eUhMdEgKbnNQbFhDdmgzd1ZPMUp1SzFEekZaaFFXYmNvVTQ3M3hZa3A0TjBtRExTVWhyNkJsQWtqRjhRb01FUHI3eDlmWApaeDhjRDQ5TjZPZnptMEVQcld3b3dYYUtEVXQ1eVIrREJnK0YrbnhLWVowaHRJa1ZiRE5VdDVPdjhmZlF4UFc1CnlUZDlNcHJoSEtpdE5OY0luZkhTa1BuaVlsRVVHcVRwMjZZN2xFM1ZLRWtiRWdCbURXLzJUT1FZUFEvdm14ZE4KSTNrVlVpaUxYbFNTbHRRV21sUXFjcXdWV1k0bllZWGh6a01wS0Z2U1hJS0RYdEExak15VUk5OUZXSUFqdGN4OQpDUWc2VDIvQXlvaWY0SmlkenNKZzdiU0pFSytEUlRaTDdtdmhxRlhJc2h0RDdmbWxoYWpNUjZNUzJxVllnTXJFCk5JNmpjVHpNWThWeG9ueFAvdCtnOThsYjBDNnFSaXdiQTVSZlF1TVkramovc1kvaThzM2tmS1F1b0hNdTRZbXoKN1hzSlloYUFERXFHNXRIQ0lpUjZXR1ozdGFPT09IOUdoMUdHWUJJQWQzVUx1ZDNnbEljaXhxNXZPNVRvQjR1cAo4WTdpcXJGbUgvVC9XS3huMkU0aENKTGpiTmFDaWZHRVk5MFRxQXZoWFBjdVc3bGNTYmpCNDdGQjE0TWs5cHdXCmJ0dm40MVJ6anJUVXptd0ZuWnJlMTB1TnJINWdDYlpEMkc5TVJ0OE82VlRRMGtSMnVSbnlCalJ6bm1rQ0F3RUEKQVFLQ0FnRUFubytwekxzc1RRekJHcDh5c0xuRDI0cE1sMFBnTGYxWmdoZWs3Yjl3bVZQUDFPdVNhU1Ntb0JRZwp1aEkyMGZxWTVwSzFYdUVhcnVoeXVOeUZxeGduRkFkbEFJclUyd3pLVCtEb2dsTHlrNmZxaENLUVRwUXV3eUVwClFQU28rdk42dnN1T1JwY3dVMjU2TUc1NHQ0N3hsOXd2NDhmTlBEcTlEQWZib1NrUzdhOGZuVDNJRkdzUFZ1VjcKZzZQU3oyaEd0dGVQQkVsQXdiN1NGWFhpaFNZUXhQSW1Ea1ZJb21HcEhrU1J2cVR5WjJwUmZyMTZIOStZSzFKRQp1L2FTNHI4ZGZlOTdOaUFHMjBteVhGY2hXSjJqRlpMWTdjM1E0RzZ6SGRkNHVrdFJOa01KMmdKUjlLUzZoK3ZECjRMMHpGNzFDVGxWb1p5UEZXbHJHQklnY05abTZhTzhueG1FWUkycENIUlBSK0hDL1I4eTgrNFF5enZocHZNbjkKZ0ZOQ1hPeURLbllVb3BFTzlPMCtVUTI5OERaRnY4ajhwUU0wOWIxTExnNFY0UW9DVTRUd01wNGkxeDl4SFF1TApMb1gwa3Nsb3RFK0RKM3VabzNKcjBNZ04wSUlqQzAwZU9lZmMzMjJIM0xoc2xwMGhlaUF4TU9NQkZIZFpTeE1DCnlVREh0cWx3VWVpS0VsNUpaZ05Pdk1QdnNTNTgwamdzSHdPYkNrbWp6SXdxSlQ4RHVPQ2xuS201Y1VjZWFLMEgKTzJhQkZoNlF4b2tPdmJzU1FFVlBGdVkzSWV4bUdPVGNIT2l3VHlNVkQyRlpTWllGZUNYeUhaUWd3elQ5bmt5MQpNaEd4K0d5QnZZeHdnRmI5V3AwK1lhQWxha1U0L2VjSlgyR04vN0Q1TksrR1dwTzYya0VDZ2dFQkFQU3QvZWNVClRHQ1hVTXNLVXk4NW9XRXhLSGlDMHpMWmJFZ2JGQmhxdGUzRnAyUXJXOXdyWjNzZHZuN0xIS0kwbWdoVkp1TWcKZlVKUTFnRk95YUtFQTBZSnBvRHg2d2NOeFdTVngwV2JNVlV4azEreFZMTjZlQVJPUU1RdkVvWWRMcmZzUjF4Qwo3OVlkQ3lmcWJoMEZGdzBhWFUzV3dQNVhQNkhZS2JoMXVmK1lLT0Q0Wm9Tc2FNOVFRYWFGcWtRRzBRMlVEaDV5CnFFSVFlanFjY3dIMGowdmFLQjBodHdxakFzaFRGOGNUNUNBOGh2ZzJXeTk5bUdKR2tuYVp3TGhLMTd0RWZyTHMKQml4bFBlbkFzVlFJSjlvbmxUdHNSY0FDYWtFVCtURFpJdEZSL2dZMVRHQUVkeWg2b1FmTkFOclRGWEpqcGxLTApCeHZYamNLRTVVRDMyejBDZ2dFQkFPQVpiYWJHbm13Z29pd05QbDBPaFFPY1NlaG9IYXUxNnpnT1dKMjl2dGNxCjJxNkdKcExGRjlmMFVmNGNEQXBiWFBPcGkyNWZIOU1KNk5NdVRqSlo5aXVrRlRTSjErRnBrODBHbFZFeWU3ZDMKN0ZwNW1CTVJNcDNtWmkzOTY5MGY2OFVqVlNOK0dIQjVZZFQrdWZJR0Q0cmZUUy90cm9ydTgxZ3h5d29IN3ZPdgp0U0NwTldaTk5Xc1Y5NWVvb0owTnY3OHVtRktaRkhSVk5hSEgwQXhCVG1ib0cwQThENHA2Q1pLcVFlQU9OdHJ4CnU4bHM3bmlSVUFqWkdtSWdlcVNWZEhjVm9VUEowVHpTcFVnc1dBcjFHWk5IeUhpQXF6aU4rQ3FYMXRNaHpHbG8KSFdKN1FJc3RGMlNVdVpjYXZmRmQ0czJIdjNxdGRqdFdvNG53WmxFbGNwMENnZ0VBSldYbXRnZ3JPR1JJYkJCUwo4SmZ0YTY2WTBmcWxEMU9lTWxNNU9oWXRZbjlnZTNZSkgxamZBemxqb1h1b0Q3N2NnRU9Mb3hHWE02aXBYUi9PCnYvRlBrc2ZzMUM2bHpya3pINUdwR0tHRTQ5R2xCZTVUMU83Mkl5cFd5ZVdyL2lXOXUwejVCMGdQNG5raitHRGoKbmJubWNSRkRpNTgwZG11ZGhUNUYralM4VGkzU3FiZ3Q2ejl5OGFVQnM5TWdXQzkyaW8zRHJyRzF1QXRPczJDdwpUMjh5NjlRWFo0Ujh0cnA5dFdMRjhwNitzcEt0eW9oOFhZRGo1cm1FcjI0R3YrUm9udTMwTTZMUnVyMXF2aXkrCnJlcGxOUG54M0ZoTFBQTGhqTHJoenE2Um5NN2NkZFIxclFOaHR5VXZNY01LeTJlU0VwN2FrQ2xCMSthVmUxTFcKdTV4bXZRS0NBUUF6Wk9HRzNBbzlGZ2JiUDNaTDlTYUFPM21mdVRFRXprWFJwMGlmZElLdDZnQVpBbDhhVGVVMworNnBLTXJoNEw1ZlRzZEJ1VVphRTJjTHhtNjhIVVNacHY4bTFNTiszckhUZkVtRndLN20veTlzQ3JOdzVrem9lCmlGWnF1Yzg3K1RRakZBVlVqSGlpWXRRUyt4QTk5ekhkVVhUc1J3QStrS3B5VVlrVkZkaXhQbHkxenRpV1M2S3kKbW1rYitPcE0ybmhkS2h4NDVPNlI5M0REVjRYWktha0haTGZMTlhzQzhSWDg4dHNFdlgzTEhLRktncGIyUTYwdApPazBZc0FZd2RLNHZHV0RRb1JwQmJyWEZKWlpUZlA2T2ptbmxhT3pibllPS2tTUU5hN1RyZjVzdG1NS21xSUt5CjZJRGZySnhmSEg4RlQ5cVVFZkFKajhjVnZYSlpyZExwQW9JQkFHb2NWVnZMNHdZV1g3TUJhQzl6QmZtVWRNMngKRTB0WHd1SDZqTERSYTNYQnYrelFKSmhUZFF4VWZCRS9uZ1BNODM4aHFYR2x1YVk2ZVAvanVuL1B0RU9xclhlQQpCQmhmUDR6YzV4M1h1NSs3ZmNTNmxkQnNTbEVYdlp5dzlwS2lvbkRhaXU2dmYyWDByY09FWW13RWIyang4NURGCjhlT1MrMmUxSlhQK0UyUHJ0MWdvWjBjZ0YvcUl0R2g2WEtnY1hpQ0VwZjZkODhpK1d4czBCNDdvMENvS2xBaFoKWTkrcDBxSmVMSmIwSnY4ZWk2b2NobVAyZnkzYnBHRnB2NUhQNFBwdFNWNDB1WHRIVkRFV2Iremh4R1NWSWdPYQpmcy93Q3R0Y0t0ZVpxNHJGc0xMN2tIVUxzOW5OYjN3WjlaeDJwNUhTRTRzZVNVTzFWa0x3S1JJZ1NRTT0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -147,7 +147,7 @@ "domain": { "main": "metube.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCakNDQk82Z0F3SUJBZ0lTQlY5T1ltbW1vdDQ1RWlsK28vN0x6OVJlTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05NalV4TVRJeE1qQXhNRFF3V2hjTk1qWXdNakU1TWpBeE1ETTVXakFnTVI0d0hBWURWUVFECkV4VnRaWFIxWW1VdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUURabmw1bFFwdUxPZXc3UmtTbGJVUXZwTFpVTlJuSmV2cUIzejcvRXl5eFdIY2xudVdqK1lXNgpqUm0yb3EyMlVxUGVQUnF1VWRRMnRSTm1UZ2RUVWJ6VlZBVndNWXo5c2ZLVjYvS2M3TVBiRmx1bzloZWp3Sm1TCjRRajMxS3ZiejliMFIvVjUyY09OeXJwaGZHYzczL2UxWW9saks2TG5udW5pREdqcHdBaTBtVUdhVlgyRDNaaWgKTFhOUlU3Rzd4U2I0dW1IZUNsaVJjNXY4VElBc0o5OENEcVU5REViT0F4eTJqV21Fdng0ZDJzWS9XR1hBUlJOLwpZOTEydit5aHNibE41dGt0QW5KSzF2QWRra0xOVm9RTFIvZlpTakFTVForSzFIdXNXOHV6akJKQUVUSmlaODNiCkY2bVdVTThNaVJ6MTFXOE9UTFBRUmxDNW1Zbm9UK3FqNE5JcHpqdE1mMUIzKzYxRlZpeW1SdXpmNjE1L3dVc3YKcFhUZm4zVlVNaTFxdFhSWTVnLzlUVk5raGM4NDBlMFdSaklSQ2xPRng3ZlRQMTZuL21wdGVpS3RkYW10WFdhcwpzSkxtNmR6MHRvd01WajFEZ0dROEZOdkljdHIwK2JUNkI1a1haZG1mOVVUTlpMajJmczZVSTg3V2R6VlpMQXZWClZrT3I1anlLNkxHZDZtRkF6biszT0JON085TnlYd0htWW1zcXpUd29RczZURkVYOE12L0Vmb2hITkgyQTFnNGUKUElLMmxKZlhkdEJqdm0rZmVkUEw2c0lERDVsTDZVVFZVVlAwZ2NJUFdDNnhuUUdMZGlvMGxMcmdqTWFua3djeApyRHdudytXT2tCR3Njbzg3V1lxdnE4aThlbWM1MlhzNVZxZXhVVFNOdVI2YkZkcFhHUHdRWXdJREFRQUJvNElDCkpUQ0NBaUV3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJSUGM3T0RoR2hLZ1hmSVpBODc4c2R5WDBEawpWakFmQmdOVkhTTUVHREFXZ0JRQXRTbnlMWTV2TWVpYlRLMTRQdnJjNlF6UjBqQXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRJdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZXMWxkSFZpWlM1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdQpCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dmNqRXlMbU11YkdWdVkzSXViM0puTHprMUxtTnliRENDCkFRUUdDaXNHQVFRQjFua0NCQUlFZ2ZVRWdmSUE4QUIyQUJtRzFNY29xbS8rdWdOdmVDcE5BWkdxemkxeU1RK3UKemwxd1FTMGxUTWZVQUFBQm1xZy80akFBQUFRREFFY3dSUUlnSGZVdnhZRCs2QkF6ZFV3ZmVhZEFORlVseTRvcQpibENqQzVmRWdjZFN5YndDSVFEdmYvbXVzTmdZNlgxNndyZGRCaDZtWWczL29xTTVFY3dnZ1Z1YVRvd0ZaZ0IyCkFFbWNtMm5lSFh6cy9EYmV6WWRrcHJoYnJ3cUhnQm5SVlZMNzZlc3AzZmpEQUFBQm1xZy80akVBQUFRREFFY3cKUlFJaEFQa0JNTGgrTFo4ZlpsZU4wNXM3SElpd2lsNkg4aUdwQU9jZnpuWTlQY1FFQWlBL1VZN0JNeEt5U1dnMgp6Y3A3SWxCajgrcEtWUFZ0Mmt0T0R6cWpDd3BMTkRBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQXR4dTZnaDB4ClFqczNGSXplNDk2bmVoc0orRnRqRVk1QmxKcHNwMEN2UVYxRmxCeWtBV1JkWnM2ZmhBaEN6TzVBT3N0RWMvaTIKYTdsOGdqVStsZTZ6U3ZqNHZsL05MdDFJcER2dWpiTHhXUVhCR3V0N3JyNXJhYXBLK1Z0bkhKVFRnRDYwTzNQaQpsTDdoVkljWmlaRnc5T2NkNjRiWFNwNDhhM1VrcnRmVWFSYzJyTmxGNG10YzBpNmZoZHluWktVeWRQeXNNci9yCjdDbDNlbkdHSVFPMmpxaHMyQTdRZkE3amtSbURTa2NGbVJFbFRzTWoySENLOWdTanNLcDIzSG9JOGpWL0hTYmMKc2JVanF0UnU3NEVvQkhrQTFONWJvTDliam5nUWEzRytWbStXZmVFWWJYczRsTkN0c1hTYklGTmI2KzZnMFBJbgpKZ0FaNktteVdJZXB3Zz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdEekNDQlBlZ0F3SUJBZ0lTQmZQenQ0ZXE1S1hGOUltQ0xGSHNPcVZCTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRJeE1UWXdOalEyV2hjTk1qWXdOREl4TVRZd05qUTFXakFnTVI0d0hBWURWUVFECkV4VnRaWFIxWW1VdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUURabmw1bFFwdUxPZXc3UmtTbGJVUXZwTFpVTlJuSmV2cUIzejcvRXl5eFdIY2xudVdqK1lXNgpqUm0yb3EyMlVxUGVQUnF1VWRRMnRSTm1UZ2RUVWJ6VlZBVndNWXo5c2ZLVjYvS2M3TVBiRmx1bzloZWp3Sm1TCjRRajMxS3ZiejliMFIvVjUyY09OeXJwaGZHYzczL2UxWW9saks2TG5udW5pREdqcHdBaTBtVUdhVlgyRDNaaWgKTFhOUlU3Rzd4U2I0dW1IZUNsaVJjNXY4VElBc0o5OENEcVU5REViT0F4eTJqV21Fdng0ZDJzWS9XR1hBUlJOLwpZOTEydit5aHNibE41dGt0QW5KSzF2QWRra0xOVm9RTFIvZlpTakFTVForSzFIdXNXOHV6akJKQUVUSmlaODNiCkY2bVdVTThNaVJ6MTFXOE9UTFBRUmxDNW1Zbm9UK3FqNE5JcHpqdE1mMUIzKzYxRlZpeW1SdXpmNjE1L3dVc3YKcFhUZm4zVlVNaTFxdFhSWTVnLzlUVk5raGM4NDBlMFdSaklSQ2xPRng3ZlRQMTZuL21wdGVpS3RkYW10WFdhcwpzSkxtNmR6MHRvd01WajFEZ0dROEZOdkljdHIwK2JUNkI1a1haZG1mOVVUTlpMajJmczZVSTg3V2R6VlpMQXZWClZrT3I1anlLNkxHZDZtRkF6biszT0JON085TnlYd0htWW1zcXpUd29RczZURkVYOE12L0Vmb2hITkgyQTFnNGUKUElLMmxKZlhkdEJqdm0rZmVkUEw2c0lERDVsTDZVVFZVVlAwZ2NJUFdDNnhuUUdMZGlvMGxMcmdqTWFua3djeApyRHdudytXT2tCR3Njbzg3V1lxdnE4aThlbWM1MlhzNVZxZXhVVFNOdVI2YkZkcFhHUHdRWXdJREFRQUJvNElDCkxqQ0NBaW93RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJSUGM3T0RoR2hLZ1hmSVpBODc4c2R5WDBEawpWakFmQmdOVkhTTUVHREFXZ0JUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRNdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZXMWxkSFZpWlM1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdQpCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dmNqRXpMbU11YkdWdVkzSXViM0puTHpZMkxtTnliRENDCkFRMEdDaXNHQVFRQjFua0NCQUlFZ2Y0RWdmc0ErUUIzQUVtY20ybmVIWHpzL0RiZXpZZGtwcmhicndxSGdCblIKVlZMNzZlc3AzZmpEQUFBQm0rR0VnZElBQUFRREFFZ3dSZ0loQVBwZlI4MUdnSFpSem1aOFFYcjQzZ3c4VCt2NQpCNU1nbkxyRktrYngxSnBnQWlFQXBseTM0QzN2SllNOVA5MzRCaWtNOS96NVhWT1hOVlZHRVdmMVZObldwd0FBCmZnQWFpNTFwU2xlWXlKbWd5b2k5OUkvQXRGWmd6TU5nRFI5eDlHbi94OUdzb3dBQUFadmhoSVBFQUFnQUFBVUEKT29tQWxnUURBRWN3UlFJaEFPTElTaDVaLzNlQmhQVURFaU5iMU5MOWpKb3pJZFVUcXd3UmRUUS9ZUEJlQWlBcQpvdW5VQ1QrWmVlVlRzTG81S1gwVHFqajFob2dFTmZPcVkzc1liamVDNERBTkJna3Foa2lHOXcwQkFRc0ZBQU9DCkFRRUFDbEI2M0ViZ3c0MnJZNFhXRS80SVI4Z2hNME9PS2tSaG95VW04UXB4TzkrRHcyZzB6SzRKczJETTVrNkkKK2JOaDRvdFkzQk9SZFZ3b0JiZDlVOEdoUFBYa2NxdUl4VHUrZUhyQS93VUJyWnRjRGtWS0VPYnBkazJQV3hLMQphY3BiR005L0JjQ3pFVmpGUk55dVlneFR6NE55bGYwazZNMXJwZU13WmNFWEpBVUtFZTNlaDR1dEVKem53SVk2CjAxbE5rbG81dHdyUUp3MFRzM0lNaXI0WXpUMEZhS0lpeC9TblhUZmN1QW10NXIvem5PdlNHc2NyNUUvNUc1UGgKbU1kR2VPS0FKUUs3T0dwNWVxYndJak1aSXFybnQ3c1dKMnhWVjVHYkE4alZGclQ3cDJIRlk1b2xLdTVQYW5vcAozeWpxdzNIZExLc2w5RFJtM2EvSWVjaXcwdz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQlRDQ0F1MmdBd0lCQWdJUVdnRHlFdGpVdElEemtrRlg2aW1EQlRBTkJna3Foa2lHOXcwQkFRc0ZBREJQCk1Rc3dDUVlEVlFRR0V3SlZVekVwTUNjR0ExVUVDaE1nU1c1MFpYSnVaWFFnVTJWamRYSnBkSGtnVW1WelpXRnkKWTJnZ1IzSnZkWEF4RlRBVEJnTlZCQU1UREVsVFVrY2dVbTl2ZENCWU1UQWVGdzB5TkRBek1UTXdNREF3TURCYQpGdzB5TnpBek1USXlNelU1TlRsYU1ETXhDekFKQmdOVkJBWVRBbFZUTVJZd0ZBWURWUVFLRXcxTVpYUW5jeUJGCmJtTnllWEIwTVF3d0NnWURWUVFERXdOU01UTXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUsKQW9JQkFRQ2xaM0NOMEZhQlpCVVhZYzI1QnRTdEdaQ01KbEEzbUJaamtsVGIyY3lFQlpQczArd0lHNkJnVVVOSQpmU3ZIU0phZXRDM2FuY2duTzFlaG42dncxZzdVRGpES2I1dXgwZGFrblRJK1dFNDFiMFZZYUhFWC9EN1lYWUtnCkw3SlJiTEFhWGJoWnpqVmx5SXVocnhBMy8rT2NYY0pKRnpUL2pDdUxqZkM4Y1N5VERCMEZ4THJIemFySlhuelIKeVFIM25BUDIvQXBkOU5wNzV0dDJRbkRyOUUwaTJnQjNiOWJKWHhmOTJuVXVwVmNNOXVwY3R1QnpwV2pQb1hUaQpkWUorRUovQjlhTHJBZWs0c1FwRXpOUENpZlZKTllJS05MTWM2WWpDUjA2Q0RnbzI4RWRQaXZFcEJIWGF6ZUdhClhQOWVuWmlWdXBwRDBFcWlGd1VCQkREVE1yT1BBZ01CQUFHamdmZ3dnZlV3RGdZRFZSMFBBUUgvQkFRREFnR0cKTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQ0JnZ3JCZ0VGQlFjREFUQVNCZ05WSFJNQkFmOEVDREFHQVFILwpBZ0VBTUIwR0ExVWREZ1FXQkJUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QWZCZ05WSFNNRUdEQVdnQlI1CnRGbm1lN2JsNUFGemdBaUl5QnBZOXVtYmJqQXlCZ2dyQmdFRkJRY0JBUVFtTUNRd0lnWUlLd1lCQlFVSE1BS0cKRm1oMGRIQTZMeTk0TVM1cExteGxibU55TG05eVp5OHdFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3SndZRApWUjBmQkNBd0hqQWNvQnFnR0lZV2FIUjBjRG92TDNneExtTXViR1Z1WTNJdWIzSm5MekFOQmdrcWhraUc5dzBCCkFRc0ZBQU9DQWdFQVVUZFlVcUVpbXpXN1Rick95cExxQ2ZMN1ZPd1lmL1E3OU9INWNITENaZWdnZlFoRGNvbmwKazdLZ2g4YjB2aSsvWHVXdTdDTjhuL1VQZWcxdm8zRyt0YVhpcnJ5dHRoUWluQUhHd2MvVWRiT3lnSmE5enVCYwpWeXFvSDNDWFRYREluVCs4YStjM2FFVk1KMlN0K3BTbjRlZCtXa0RwOGlqc2lqdkV5RndFNDdodWxXMEx0empnCjlmT1Y1UG1yZy96eFdiUnVMK2swREJESEVKZW5uQ3NBZW43YzM1UG14N2pwbUovSHRnUmhjbnoweWpTQnZ5SXcKNkwxUUl1cGtDdjJTQk9EVC94REQzZ2ZRUXlLdjZyb1Y0RzJFaGZFeUFzV3Btb2p4akNVQ0dpeWc5N0Z2RHRtLwpOSzJMU2M5bHliS3hCNzNJMitQMkczQ2FXcHZ2cEFpSENWdTMwalc4R0N4S2RmaHNYdG5JeTJpbXNrUXFWWjJtCjBQbXhvYmIyOFR1Y3I3eEJLN0N0d3ZQcmI3OW9zN3UyWFAzTzVmOWIvSDY2R055UnJnbFJYbHJZakkxb0dZTC8KZjRJMW4vU2d1c2RhNld2QTZDMTkwa3hqVTE1WTEybUhVNCtCeHlSOWN4MmhoR1M5ZkFqTVpLSnNzMjhxeHZ6NgpBeHU0Q2FEbVJOWnBLL3BRclhGMTd5WENYa21FV2d2U09FWnk2WjlwY2JMSVZFR2NrVi9pVmVxMEFPbzJwa2c5CnA0UVJJeTB0SzJkaVJFTkxTRjJLeXNGd2JZNkIyNkJGZUZzM3Yxc1lWUmhGVzluTGtPclFWcG9yQ1MwS3labWYKd1ZEODlxU1RsbmN0TGNabklhdmpLc0tVdTFuQTFpVTB5WU1kWWVwS1I3bFdibndoZHgzZXdvaz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBMlo1ZVpVS2Jpem5zTzBaRXBXMUVMNlMyVkRVWnlYcjZnZDgrL3hNc3NWaDNKWjdsCm8vbUZ1bzBadHFLdHRsS2ozajBhcmxIVU5yVVRaazRIVTFHODFWUUZjREdNL2JIeWxldnluT3pEMnhaYnFQWVgKbzhDWmt1RUk5OVNyMjgvVzlFZjFlZG5EamNxNllYeG5POS8zdFdLSll5dWk1NTdwNGd4bzZjQUl0SmxCbWxWOQpnOTJZb1MxelVWT3h1OFVtK0xwaDNncFlrWE9iL0V5QUxDZmZBZzZsUFF4R3pnTWN0bzFwaEw4ZUhkckdQMWhsCndFVVRmMlBkZHIvc29iRzVUZWJaTFFKeVN0YndIWkpDelZhRUMwZjMyVW93RWsyZml0UjdyRnZMczR3U1FCRXkKWW1mTjJ4ZXBsbERQRElrYzlkVnZEa3l6MEVaUXVabUo2RS9xbytEU0tjNDdUSDlRZC91dFJWWXNwa2JzMyt0ZQpmOEZMTDZWMDM1OTFWREl0YXJWMFdPWVAvVTFUWklYUE9OSHRGa1l5RVFwVGhjZTMwejllcC81cWJYb2lyWFdwCnJWMW1yTENTNXVuYzlMYU1ERlk5UTRCa1BCVGJ5SExhOVBtMCtnZVpGMlhabi9WRXpXUzQ5bjdPbENQTzFuYzEKV1N3TDFWWkRxK1k4aXVpeG5lcGhRTTUvdHpnVGV6dlRjbDhCNW1KcktzMDhLRUxPa3hSRi9ETC94SDZJUnpSOQpnTllPSGp5Q3RwU1gxM2JRWTc1dm4zblR5K3JDQXcrWlMrbEUxVkZUOUlIQ0QxZ3VzWjBCaTNZcU5KUzY0SXpHCnA1TUhNYXc4SjhQbGpwQVJySEtQTzFtS3I2dkl2SHBuT2RsN09WYW5zVkUwamJrZW14WGFWeGo4RUdNQ0F3RUEKQVFLQ0FnRUFrN2wxeXJkVWIwWjZuaUl0Sno3dE1vcFZXd1JRNVB5ZVlOcnpJS1FiaXFmSytiYkxuR3dkNDIwMQpMMDF2TG4wYTBCb2Fxb3JSeS9GUG9mc0Y3Z0ZtZGtuN0J4WWI1M3VNZVVrYUFIeVkxM2h0OEZ4ZDM4TTJmUVpWCjJDWitJMUVMVWZnbkl2ZzRUMkIyOVFaRjdkY3poK1hEN1pZSmw4SEFjcnFKM1dPR2hWSWp2bWlhTTVHUnNwZnYKMkIxQVlYNkwzZnhud3hxeTFNbnQ4VzdjOHh4OXZoL0MrNVlCMm9jeVRwbmdMMFN0WlFiRjNPcGM2QS84RkZYdQpXRllnaEFMcEQ0RE5uRWcwM2FqYWhyaHFzSWt5U1pZcElVL0RJaW1mUzliQnZWYnpDSWJsUEtodjAyMHp5SzVmCmFMS2lXcGdaR0tneUl6cmVOVndHSUhlaHJoblI1UHljZVpKME16ZUxnM2tiQnJsbENnYVJhWGVjUEZydUtCVFYKSUVrOTRMRk9mWFFBRVdheVFUemN4Uk5jZG5KaXRvYTl5dldrRCsvdWFMY2Rmcm1OQnNDbFhpdFA2NUdTWU5CMAo2U1VQYzEzbXNQTEwya2d0SGd6ZlVUWERjS0FwSEpYQ3RnUldZTWJWSW1VVFBZaDl5Z3VXV3YyeXFxNDE4K2ZDCnMvaStIWmJpeEpONm5LZDZHcDF2MEpxRXMzSktYejlVQXJuekdzaXZGS0IyTjZuemhIdzdVZFlydEsrR1ZjR3IKZHVyYTMzbnFaNjYyRjlrRlgxMXgwc3JORVJ0SjJWT2xwMXRuVGRzM0x1NGw4V3AwbEJuQ0doSmZaVEJpUmFwSQpZb2E3Sll5S0JzV2hUV0s0bjVXdWMzb0F1aGhrbmUxVnZNTUxEQmtwWjFWL0R6Q3hwUUVDZ2dFQkFPcnhlcEdRCmJXcjZ3MG9wY1FoRTJacUNFUjRNNkVqb0F2dnQ4Y3ZkOUFwY2ZoMXZ1RFdNcVFrS29oVHF4Ym5IK0xLSStscFUKSDducVZHK1NQYVN4bjFpNHFjWld6THB3ck9xRnQxbklaTUxERzR3TVdZZmpRNFhOVVlEYUV3Z1FTYXNld2pzMgpSMGtGUjRnTHZNOWlvUnBrM3JhTG1iSWNKOC9tL3JpTFN6NnZrdHBPZnlnSmdkV1NzU3hTRlFnN0pJTmxKa0w0CjRMdVlwMFA1R3JxdVR0b00veDhwd3IvbkZKS3RmcDNUREFvWG1SY21YZHpKSDVSckE5SVdzeG9LS05DREw0TUQKdVM5ZUJBbnVXOGFjaUVndWJ2dUcwYTVPY0pkcnUrTk0rNUVwRDAwQ1FLaExjZ3k0cTdQQzZJZVh5eEFpbWxRTApUU0ozRlRRaGg0cms4MUVDZ2dFQkFPMGZaUDBtOHVZZmdXSk1MSkxqM2VwejFKaTJ6TEQrOEc1dk1RditudWZnCjNBSEdRKyt5cDBYUW1PcXhIRHV0WDZEa3lUeXZsbzA4bnE2ZUhlUmJmYUQveGM5Z0FQMlJ4SGJpZE1tMmF5TzkKem9nQzVWZ1RYMEJPVTNnZlVpZ0FJZ2NpRzZ5cFRTNGY0ODUzS2xXSzNzWUVQU1plSEVjUVpYNVFYUnFmTm0ybgplUUVTRUs0Y1ZoNUQ4VVRVU1A5U21qbXhpQ3BpZHJ6MytVSXNuQXhrNVMrOC9BWnRDNWMzaUt4ektUSklFcHowCm9MV1IzSkpzY3ZZcWhxWDIwQURXZWJId3l1R29PNGxwMHVETXdXSkZ1cFJUekhYbGJPOW5wdWhEZXg2MTM3RVEKNjk1SnpBa3ZaRFZVK1J5RXptUGxQRnpIbVNBQ3VkMi9JdElyM3ZwbjAzTUNnZ0VBT3BQQ2o1Q0c5MmxXVDZOTgpmMVpMT3U2Ni9kY1NBenQxb3dLTWl0dm9BTDFXNUZmNmdiOTBWY0RFOEpvb2VrMlZnRTRPdlg3RCtrS21rcnJQCmk4U05pajFnZHdjbFBFYmpsZ1dJMVdYVldZbnowRk16NzJHR2NGSGt4RSthOXlPNGVtWE0zNTZFMzN2bGZkSVAKWFZXbC9VS3hGS3B4dzZxcGNuaVJnY21aRlNRSlpVeTAvM0ovWUpTV2dBcG5IQXBDN0UvSDNtTFhCVzdtSlZoeQpoYUQ0SC8ybGprdUhOdm1TYzQrMlJmdGN3UmRwSUJCOHpwT0d3Q1orYVY4bmdKS1A0bzBTeDRPaUpHRTRlSkZwCmFIZVdzd2lBdTAyOThjdTAzc3dKcUg2RktvZ21QSGtYVGQ2aHJQSk9QUitYZ2xjaVZmK0tvdkcrWloxek4vQTAKTHprdVFRS0NBUUE1T1lKZHRiQ1k2TEdJejJsU2FidDhnVWVsTXpoaTNxT1hneTRLL3YvS1pmR3lXKzY1UWh3cwpOUk15VUZ2SDZ5ZFE1T1hMeDNSRjBZTmFFTDZXQlo1ajVGWVFuZEtmWHpaU21vUWt5ZWxCVHVVdzNjSUxaMkZ0ClczbTVXNVd3SVpnVXNKNk5KSzZEbXg2WERSc2lXY2s1Y0h4eGJmVFZFWmZzeStnc0xKQXVGbVNWWlk2dzloV3kKYUNNcHdURjhyS3Fia2NTU3RnQ0J5alpWU2Y2KzN2cVFjc00vcWNGS1ZSU2V5WXYvbm5VZmU4bnRCNjU3aDhDVwp0OXlXNE9HQjBrQzhPS2c5blNRQkhaRE92NXRMNUJnTEE4NHNCWm9zakk4ekxsWGdLM1E0ZnlUdEdGSXRSVXFoCnRFZ0tJZUxOS04xUVpyc0ZocUxrYU9RMlpIQURibHNSQW9JQkFDcS9HN3lxcEc1UHlYUHdHOHFwQlZhZUMyTXMKK241MVJMVVA0NTlLNjcxVnNBWHF3QXQzM29sNXFNb3ZnUW9adHVaK1JkeDg1NitLb3lCL2dFYTkzOHBxQ0E0egpnaGRxdW9yKzJyMnNpb20rMThRWWVzMENac0xWdUtRVXJtUFBnYXdwU29XNVQ3T0UrNWhXWTBlZ0lwY0h0RFk3CitZVk5LWGwzSEFVNjl4dklUeXRsZTFsR2FLNEdYQXlPdnBhZU81SDN4WXZrZDVJUGNmK25KWmlzcXo0SWM4ZnoKYm4xWjBsdCs5SUNHVTE1YTI5d2REekxKRFVzNlh4S1cvZng2bGtESU9kNC9LVmpPeGZmQlphVmdROXhhem1OWAp1VS9US2pjUlZVUnJjczJkMjRwTWRKZWt3YVRBd1lzdk5OU1FZSlBQeTJqRTNmOU9LTzJrUUVjY3R1bz0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -155,7 +155,7 @@ "domain": { "main": "qbittorrent.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdFRENDQlBpZ0F3SUJBZ0lTQlQwcldKZkIxeHA4Q2V3QlFNOFF4RUIvTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05NalV4TVRJeE1qQXhNRFE0V2hjTk1qWXdNakU1TWpBeE1EUTNXakFsTVNNd0lRWURWUVFECkV4cHhZbWwwZEc5eWNtVnVkQzVoZEdoaGJHbGhjSEJ6TG5oNWVqQ0NBaUl3RFFZSktvWklodmNOQVFFQkJRQUQKZ2dJUEFEQ0NBZ29DZ2dJQkFNUk5FNkpWTWFKRUxmNzRsM1QvMTlzSVo3UEJvMCtMREF4MTVKYjR6MFpHTEJkdgowT0QxbEhFNEJVVXcxSFhxd0g0OVpyVVRYaC94Rmc5N2szSkh0WmVZZjYvblBkRnc5YTBSL09yYkVzM0xnS1BqCmFGR3JyVkh4UnlwVmk2T3VNTHQ1RklhZE9CSTM1U1gzR0JKTm5nQUlYTnc4MlhiKzBZeVVNWVRVVk9wdWREeWUKTC82anFkL2ZkYTc4eEpmZnlpQktrMlZwUmwycGxWUGkrNm91Q2xITC9CTkliTDVvcmlVOU5XZlExZUxFcUFQTAo0aUp3MmQ1RGkxblNYeThPODk2V05GY2swYVdoNXlLRStGcHBFTXRlcHdXc2Zyc2xkL3h6eEI5OTRZdjVxVkp6CmdGNGcwVGt3NXdPMjBvM2tJTUhBQzlwMEFFN2tyNFVwUU94R2NRdDdOS1BpMGFvOXJmeXNmUllzdExvUjdOTTUKM1Q4U1ZRK3JIZkdKMGFFQXV3NGtpOUViK2Z0SEJLMmxJS3FQaFpPY2pzVVdLSHM4UW9VV2s2WnJZNnNMekJOZAp1Y0dRV2hPNHNUTnRFdHJnM3hNTDVYSCt2QkxOVWlTb1Y2Vlo2NjhoQ2JLWnBDRWZoVGUrUkVmeEZ3OXp4bkpjCjhIWmVrZXJwamNJU1E2SHUyZU1XMzlDQThadnRmaVhmQjlWbjhIRUFNUGV2dHMwQWdqTWhFaFBlcGZYYTZReXUKQWFySDRwNlhQbXpCRnFUbERWbTBYZnRTSGVQR3VlanpWOTNGK1JwTmlScUxQa2NQQ3MwOHMwaGFpVGdveUNqcwpjaVdldnNPUy9wYlpseG9VUXpCWmF2bEQzeTVuWEVJZ1Evbm9HdUhldUdtcU1uUTBCY0RBZFB2LzR6V3pBZ01CCkFBR2pnZ0lxTUlJQ0pqQU9CZ05WSFE4QkFmOEVCQU1DQmFBd0hRWURWUjBsQkJZd0ZBWUlLd1lCQlFVSEF3RUcKQ0NzR0FRVUZCd01DTUF3R0ExVWRFd0VCL3dRQ01BQXdIUVlEVlIwT0JCWUVGQnIrQUxPVzJtdVRlcE9hdUdsVgpPZ2lybm5ldU1COEdBMVVkSXdRWU1CYUFGQUMxS2ZJdGptOHg2SnRNclhnKyt0enBETkhTTURNR0NDc0dBUVVGCkJ3RUJCQ2N3SlRBakJnZ3JCZ0VGQlFjd0FvWVhhSFIwY0RvdkwzSXhNaTVwTG14bGJtTnlMbTl5Wnk4d0pRWUQKVlIwUkJCNHdISUlhY1dKcGRIUnZjbkpsYm5RdVlYUm9ZV3hwWVhCd2N5NTRlWG93RXdZRFZSMGdCQXd3Q2pBSQpCZ1puZ1F3QkFnRXdMd1lEVlIwZkJDZ3dKakFrb0NLZ0lJWWVhSFIwY0RvdkwzSXhNaTVqTG14bGJtTnlMbTl5Clp5OHhNamd1WTNKc01JSUJBd1lLS3dZQkJBSFdlUUlFQWdTQjlBU0I4UUR2QUhZQXl6ajNGWWw4aEtGRVgxdkIKM2Z2SmJ2S2FXYzFIQ21rRmhiRExGTU1VV09jQUFBR2FxRUFEQ2dBQUJBTUFSekJGQWlCNWxpdnRyVTY0UnduRwpYSllFK2J2SXQyRHlMNjAvWjNmc05jalhoRzJGb2dJaEFMTDEyOHhlZ0M2ZlhTcU96bGhadDR6V0xMeUo1SHBoCjZMY1lZdDJsQ1o2dEFIVUFEbGVVdlBPdXFUNHpHeXlaQjdQM2tOK2J3ajF4TWlYZElha2xyR0hGVGlFQUFBR2EKcUVBQzdRQUFCQU1BUmpCRUFpQW1aaEZpYTRTODdJZkJjSGNZbUVuMWd5clRhZndxU2NKOUUya1VEdkpUOEFJZwpEcy9BTWU4UWNING9yUTNFeUlzSjFiSjJpTW0veG1Jdkdzc3BoVmgrSjQ4d0RRWUpLb1pJaHZjTkFRRUxCUUFECmdnRUJBSk1iYSszTVFEODg4Q3EwaTlHa013RHA3Y3JZWTZFa0JqS2dSWG9aY1RVblpxeHc2bmljNVNXVVNXcDUKZkhiOG9FYkFRczBaNHpRT0pTam05MHo3NDBPdEIrc0lhZ0FnS0RFeVJDaUJQZVVSdFFrdEtWR200NXRzby94VQpVWmJRN0g3am1rTzgvNTNqM2R5UytCNUVVMFdEUzgxSEdmVWx6L08zdVBweXZoWUVBOFRYWUNVK3ltZkVDeDd0CmRDa0hjVjNrcElrRG8vMzZQeURWRUNiRmdBY201Q0xIdHNzR3hSSlQ0WFJvWjNySFhPTE1hVjF1cDFqMTJ4c0EKYTNqMjZiNnpITTdiMW5hWnpFQXJScXlGUXJGVW1tR0JHa0NXZGx3ZURKKzdJdDg1eVpDR0MzczhsR0FyK2RhZgp2NHdWWGZ4WmF3ZU5wVThhVzhIVXg0WEdZR0k9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdGekNDQlArZ0F3SUJBZ0lTQlhDbEE3b2R3azdjbUdzUE9BOXN3bk5PTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXdOalV4V2hjTk1qWXdOREl4TVRZd05qVXdXakFsTVNNd0lRWURWUVFECkV4cHhZbWwwZEc5eWNtVnVkQzVoZEdoaGJHbGhjSEJ6TG5oNWVqQ0NBaUl3RFFZSktvWklodmNOQVFFQkJRQUQKZ2dJUEFEQ0NBZ29DZ2dJQkFNUk5FNkpWTWFKRUxmNzRsM1QvMTlzSVo3UEJvMCtMREF4MTVKYjR6MFpHTEJkdgowT0QxbEhFNEJVVXcxSFhxd0g0OVpyVVRYaC94Rmc5N2szSkh0WmVZZjYvblBkRnc5YTBSL09yYkVzM0xnS1BqCmFGR3JyVkh4UnlwVmk2T3VNTHQ1RklhZE9CSTM1U1gzR0JKTm5nQUlYTnc4MlhiKzBZeVVNWVRVVk9wdWREeWUKTC82anFkL2ZkYTc4eEpmZnlpQktrMlZwUmwycGxWUGkrNm91Q2xITC9CTkliTDVvcmlVOU5XZlExZUxFcUFQTAo0aUp3MmQ1RGkxblNYeThPODk2V05GY2swYVdoNXlLRStGcHBFTXRlcHdXc2Zyc2xkL3h6eEI5OTRZdjVxVkp6CmdGNGcwVGt3NXdPMjBvM2tJTUhBQzlwMEFFN2tyNFVwUU94R2NRdDdOS1BpMGFvOXJmeXNmUllzdExvUjdOTTUKM1Q4U1ZRK3JIZkdKMGFFQXV3NGtpOUViK2Z0SEJLMmxJS3FQaFpPY2pzVVdLSHM4UW9VV2s2WnJZNnNMekJOZAp1Y0dRV2hPNHNUTnRFdHJnM3hNTDVYSCt2QkxOVWlTb1Y2Vlo2NjhoQ2JLWnBDRWZoVGUrUkVmeEZ3OXp4bkpjCjhIWmVrZXJwamNJU1E2SHUyZU1XMzlDQThadnRmaVhmQjlWbjhIRUFNUGV2dHMwQWdqTWhFaFBlcGZYYTZReXUKQWFySDRwNlhQbXpCRnFUbERWbTBYZnRTSGVQR3VlanpWOTNGK1JwTmlScUxQa2NQQ3MwOHMwaGFpVGdveUNqcwpjaVdldnNPUy9wYlpseG9VUXpCWmF2bEQzeTVuWEVJZ1Evbm9HdUhldUdtcU1uUTBCY0RBZFB2LzR6V3pBZ01CCkFBR2pnZ0l4TUlJQ0xUQU9CZ05WSFE4QkFmOEVCQU1DQmFBd0hRWURWUjBsQkJZd0ZBWUlLd1lCQlFVSEF3RUcKQ0NzR0FRVUZCd01DTUF3R0ExVWRFd0VCL3dRQ01BQXdIUVlEVlIwT0JCWUVGQnIrQUxPVzJtdVRlcE9hdUdsVgpPZ2lybm5ldU1COEdBMVVkSXdRWU1CYUFGQUMxS2ZJdGptOHg2SnRNclhnKyt0enBETkhTTURNR0NDc0dBUVVGCkJ3RUJCQ2N3SlRBakJnZ3JCZ0VGQlFjd0FvWVhhSFIwY0RvdkwzSXhNaTVwTG14bGJtTnlMbTl5Wnk4d0pRWUQKVlIwUkJCNHdISUlhY1dKcGRIUnZjbkpsYm5RdVlYUm9ZV3hwWVhCd2N5NTRlWG93RXdZRFZSMGdCQXd3Q2pBSQpCZ1puZ1F3QkFnRXdMZ1lEVlIwZkJDY3dKVEFqb0NHZ0g0WWRhSFIwY0RvdkwzSXhNaTVqTG14bGJtTnlMbTl5Clp5ODNPUzVqY213d2dnRUxCZ29yQmdFRUFkWjVBZ1FDQklIOEJJSDVBUGNBZFFBT1Y1Uzg4NjZwUGpNYkxKa0gKcy9lUTM1dkNQWEV5SmQwaHFTV3NZY1ZPSVFBQUFadmhoSlR0QUFBRUF3QkdNRVFDSUJuOERkZkNTbHNZWW44aApLQlhyOVlkblkwdVphTTdQREVrRko3S2srb2VEQWlBQ0owN1RKSU5sQ1RvM3kxZXRvWE9ibGlKUDFlWThBWHVrCkRVcWIwbWgvY3dCK0FCcUxuV2xLVjVqSW1hREtpTDMwajhDMFZtRE13MkFOSDNIMGFmL0gwYXlqQUFBQm0rR0UKbDB3QUNBQUFCUUE2aVlLQ0JBTUFSekJGQWlCd3NOQityNnM4bUpVdkUrOHdvTGQvUUJvYk15L0JHSXh2T3RPNwpuZjlPR1FJaEFMd3Z6Z0Fqd0d0VzU0RU1tSFRvSUdLUnI3aWNLVGNOVVRzeEQ1OTNGblJlTUEwR0NTcUdTSWIzCkRRRUJDd1VBQTRJQkFRQndKZlU2SWdHYkNtaDFKMFU3QlpaT0lBMHVRMTM5N0o1TjBQcDYzZUplQzJJeURZOUQKaFJTMXViNDdtL2ZiRjVKK0drMzVyT2Qwa0hHQW5JTWFqZk02NlBsbXFOVzUwcWdjaW8ySURvNG5zZzFjRzFXUgo4RVliTlNaczNzYlk1VHU0emZyakIrK3FDYXJtRFlBOXBpSXlQaGRmL09uTllQMk9Sbkc3Snd6S1pFOGRaUFZqCkVYKzhjMFFJaWxWNHlRbmFteWg0dWk5UWphUXRhZC9BTXZUem5KNTc2R2tpNmJDbU9IZ09xOGNMZzd5ZlRZUzMKTFFDdklxdFg4cyt1bGZVNzM3Qzd6ekRTUXdQOWRmd3NUcmxHQnVjSFdENnpvckJIcGJVR25oRUpnU3IrREhybwppM3FqcXdIeG0wVzR6eXM0d3F1UUpoRnhISTZuWm9nWkhpUFIKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCakNDQXU2Z0F3SUJBZ0lSQU1JU01rdHdxYlNSY2R4QTkrS0ZKand3RFFZSktvWklodmNOQVFFTEJRQXcKVHpFTE1Ba0dBMVVFQmhNQ1ZWTXhLVEFuQmdOVkJBb1RJRWx1ZEdWeWJtVjBJRk5sWTNWeWFYUjVJRkpsYzJWaApjbU5vSUVkeWIzVndNUlV3RXdZRFZRUURFd3hKVTFKSElGSnZiM1FnV0RFd0hoY05NalF3TXpFek1EQXdNREF3CldoY05NamN3TXpFeU1qTTFPVFU1V2pBek1Rc3dDUVlEVlFRR0V3SlZVekVXTUJRR0ExVUVDaE1OVEdWMEozTWcKUlc1amNubHdkREVNTUFvR0ExVUVBeE1EVWpFeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQgpDZ0tDQVFFQTJwZ29kSzIrbFA0NzRCN2k1VXQxcXl3U2YrMm5BekorTnBmczZER1BwUk9OQzVrdUhzMEJVVDFNCjVTaHVDVlV4cXFVaVhYTDBMUWZDVFVBODN3RWp1WGczOVJwbE1qVG1obkdkQk8rRUNGdTlBaHFaNjZZQkFKcHoKa0cyUG9nZWcwSmZUMmtWaGdUVTlGUG5Fd0Y5cTNBdVdHckNmNHlycXZTcldtTWViY2FzN2RBODgyN0pndmxwTApUaGpwMnlwelhJbGhaWjcrN1R5bXkwNXY1Sjc1QUVhei94bE5LbU96am1iR0dJVnd4MUJsYnp0MDVVaUREd2hZClhTMGpuVjZqL3VqYkFLSFM5T01aVGZMdWV2WW5udVhObkMyaThuK2NGNjN2RXpjNTBiVElMRUhXaHNEcDdDSDQKV1J0L3VUcDhuMXdCbldJRXdpaTlDcTA4eWhEc0d3SURBUUFCbzRINE1JSDFNQTRHQTFVZER3RUIvd1FFQXdJQgpoakFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdFd0VnWURWUjBUQVFIL0JBZ3dCZ0VCCi93SUJBREFkQmdOVkhRNEVGZ1FVQUxVcDhpMk9iekhvbTB5dGVENzYzT2tNMGRJd0h3WURWUjBqQkJnd0ZvQVUKZWJSWjVudTI1ZVFCYzRBSWlNZ2FXUGJwbTI0d01nWUlLd1lCQlFVSEFRRUVKakFrTUNJR0NDc0dBUVVGQnpBQwpoaFpvZEhSd09pOHZlREV1YVM1c1pXNWpjaTV2Y21jdk1CTUdBMVVkSUFRTU1Bb3dDQVlHWjRFTUFRSUJNQ2NHCkExVWRId1FnTUI0d0hLQWFvQmlHRm1oMGRIQTZMeTk0TVM1akxteGxibU55TG05eVp5OHdEUVlKS29aSWh2Y04KQVFFTEJRQURnZ0lCQUk5MTBBblBhblpJWlRLUzNyVkV5SVYyOUJXRWpBSy9kdXV6OGVMNWJvU29WcEhoa2t2Mwo0ZW9BZUVpUGRaTGo1RVo3RzJBcklLK2d6aFRsUlExcTRGS0dwUFBhRkJTcHFWL3hiVWI1VWxBWFFPbmtIbjNtCkZWaitxWXY4Ny9XZVkrQm00c04zT3g4Qmh5YVU3VUFRM0xlWjdOMVgwMXh4UWU0d0lBQUUzSlZMVUNpSG1aTCsKcW9DVXRnWUlGUGdjZzM1MFFNVUlXZ3hQWE5HRW5jVDkyMW5lN25sdUkwMlY4cExVbUNscVhPc0N3VUx3K1BWTwpaQ0I3cU9NeHhNQm9DVWVMMkxsNG9NcE9TcjVwSkNwTE4zdFJBMnM2UDFLTHM5VFNyVmhPays3TFgyOE5NVWxJCnVzUS9ueExKSUQwUmhBZUZ0UGp5T0NPc2NRQkE1MytOUmpTQ2FrN1A0QTVqWDdwcG1rY0pFQ0wrUzBpM2tYVlUKeTVNZTVCYnJVODk3M2paTnYvYXg2K1pLNlRNOGpXbWltTDZvZjZPclg3WlU2RTJXcWF6enNGckxHM28ya3lTYgp6bGhTZ0o4MUNsNHR2M1NiWWlZWG5KRXhLUXZ6ZjgzRFlvdG94M2YwZnd2N3hsbjFBMlpMcGxDYjBPK2wvQUswCllFMERTMkZQeFNBSGkwaXdNZlcybk5ISnJYY1kzTExIRDc3Z1JnamU0RXZldWJpMnh4YStObWsvaG1oTGRJRVQKaVZERmFub0NyTVZJcFE1OVhXSGt6ZEZtb0hYSEJWN29pYlZqR1NPN1VMU1E3TUoxTno1MXBodURKU2dBSVU3QQowenJMbk9yQWovZGZybEVXUmhDdkFnYnV3TFpYMUEyc2pOalhvUE9IYnNQaXkrbE8xS0Y4L1hZNwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBeEUwVG9sVXhva1F0L3ZpWGRQL1gyd2huczhHalQ0c01ESFhrbHZqUFJrWXNGMi9RCjRQV1VjVGdGUlREVWRlckFmajFtdFJOZUgvRVdEM3VUY2tlMWw1aC9yK2M5MFhEMXJSSDg2dHNTemN1QW8rTm8KVWF1dFVmRkhLbFdMbzY0d3Uza1VocDA0RWpmbEpmY1lFazJlQUFoYzNEelpkdjdSakpReGhOUlU2bTUwUEo0dgovcU9wMzk5MXJ2ekVsOS9LSUVxVFpXbEdYYW1WVStMN3FpNEtVY3Y4RTBoc3ZtaXVKVDAxWjlEVjRzU29BOHZpCkluRFoza09MV2RKZkx3N3ozcFkwVnlUUnBhSG5Jb1Q0V21rUXkxNm5CYXgrdXlWMy9IUEVIMzNoaS9tcFVuT0EKWGlEUk9URG5BN2JTamVRZ3djQUwyblFBVHVTdmhTbEE3RVp4QzNzMG8rTFJxajJ0L0t4OUZpeTB1aEhzMHpuZApQeEpWRDZzZDhZblJvUUM3RGlTTDBSdjUrMGNFcmFVZ3FvK0ZrNXlPeFJZb2V6eENoUmFUcG10anF3dk1FMTI1CndaQmFFN2l4TTIwUzJ1RGZFd3ZsY2Y2OEVzMVNKS2hYcFZucnJ5RUpzcG1rSVIrRk43NUVSL0VYRDNQR2NsencKZGw2UjZ1bU53aEpEb2U3WjR4YmYwSUR4bSsxK0pkOEgxV2Z3Y1FBdzk2KzJ6UUNDTXlFU0U5Nmw5ZHJwREs0Qgpxc2ZpbnBjK2JNRVdwT1VOV2JSZCsxSWQ0OGE1NlBOWDNjWDVHazJKR29zK1J3OEt6VHl6U0ZxSk9DaklLT3h5CkpaNit3NUwrbHRtWEdoUkRNRmxxK1VQZkxtZGNRaUJEK2VnYTRkNjRhYW95ZERRRndNQjArLy9qTmJNQ0F3RUEKQVFLQ0FnRUF2cnhoeW9iYkhsNy9EbEwvMzFoRXBmZnB3NWp3RlBiM2N4Z09UNzljcjF5NXRPQVo1cXZZVzVaaQpVSk9jclNLM2ZUSXVITjIveEd1ZDB0ZHhNa2FKSk02eHF2cVdiMjVCMkxPMHU0SzRKNnlIeHpiTWd5YTcxdllJCi94SjJCMG5XNGlKSkZtK25MdFNPM0MvV2ZOcGNIbzRCcEtHZmIrY3pOMVE3TldTWFNkNmZKTk5Uc1NuWGdzYisKODFONXRsUmxjckRqdlZMb1kxUEcyK2FlUUFKU1ZwNU14WFBHN2RDSy9YWVc4VlBTcjNBRURRUkxLc25hZUFQTApZREJ2K2lxZVBQWlh6eURnYi83N3RlZmI1UVZYb3pQS09GSWVKYnZIZFU0TEQ4cGhvSCtxelltYS9sc0cwSG82Cnpib1RwbmsyZHV3aTJGV0VneVBqaEJETW00ZnFoOWkvb2FSWUJOdWZkazZHNlkxT1RrVDVjK1lWOGdvaGora1oKNk0vVDZOOEdrMVJyT2IzQWVzNGs4VjR4aUJqbllkaHRVbjhYOGhRV2pIeUdmTHlBcGV2aVNXVlBLQUZSNnlNVQpmTGVyam5qMXpsRVR4aWduVWN2WTBWOW9RcG5kbWhFTVNPcDViYWF6UDFOYkJ4SG54Yk80bVJjbUNGTEJGM0JLClZuT2V5aUVoT29CWEZLU3hPWno3NDlOdUxjRytrYVhqcTJsbDBkRjNKL1ZQN0lidnd5ZDFhNkxIVFEwWlh1dVAKNGxTaG9FYzVxbENqUkxJOWVxOVYvZGpaQWhpYklWLytCY28yZG9kTEppdDNpRlpzY05rSGJ0c3ZSQWRTN1NEdgpvYlRnRDRUUmxGS01NQnduYVk1cFJCTFBhU3I4T0M0Ui9UUzY2TG8zRXUzNHcwdE1qMkVDZ2dFQkFOOXJSQmJMCkhnVDA4Z1c5bFhUUkJaYjhYb0ltL1pYSWdvUGVUNEZaclpLb3hLWnJlaW1FYUwzV1AxRSttSklzT2h1bjlHVzMKR1J0NCt5K1QvNjkyTlh5b0RoUkt6aWQwVUI5dGxIOG90Z2pNTjJ4QmhVQ00yR3hsRk95Z1dyS0ZSeEgxNUdPMgpqWG5zRWRUQnFZdy8reWdvcUVmZzdrczdRTWtCcXFwYUo4dFhuRmVXaUlYc05lZG5lZVdyamRLMHpXU0hlclMwCmRZcTA0WGhCeGV4bTlZOUlJNldrZnVySGkxT2t4YlRGQ0VUT2NRa3NXREFEb2xNZFV1K1VjREtFZ3ZudkwvRHEKLzN3UHh0R1dFUHd0K1BXUHpnMDh6bm4reEhWTEkwZEZOWW5RTW9neXFVK2F6MkM3LzNGQXpZMDNqc1NGMndaZQpZUEl2NHFCV3JKMzdwc01DZ2dFQkFPRHRjQUdodmNlUjYvTU14U0RwclRrRGhCcktIR05kUXhSQ0RyVUxFZXROClA5Z2t3dHhHYmdLYWQzOUMxSmFDNVI3Y2VMd0MyelFGYnN0SW91WWVIaGt0Rys4ZVFzY21pd3NFSkt2cEZQK2QKYUYrL1hJZ3A0N1FHUEI1MThaNXNGRWFzd0xaQUVldHc0Y3pVTnRyWU93b3J3Ukh3eG9CaVFRQ1prbk9EWTl2NgpCODBjLzhlQjJvRFBZUU5ITjV4enJiaVB6bUp3WVhVSXhvY1kyRThONzBmODdXd0JBNGdrVldkdzFReDg0WmFrClRKclJRckVEd0VmTkhOYnVYUlV6aDJQZ2xXOUoxMTVMS1VFeWM1cFZpb3BDY3pjdFZkemVvTjBrWXllNjd4czEKK3h4Mm5ETC81NnI5dWpMalRTNmR5NVBTcGFQejNGNlBidzlxZFg1THBsRUNnZ0VCQU1LN1dkT01JcFFyY3kreAp1S3ppNnI1WkpYN0h3VXRtUXV2eFB0YjlkUjVaWDEyMlcvb0g0TXRtRERZaUd4Vjgyd0R6K1Q4V3dobUI3MTNlCjM0THR3MXp0bGFmMk00Mk1BYklDN3VXT2RHdGlwQVFGYjhGOWdiMm90UDR5SGh0dnN5eGlhRGpKQ3JMMEllNlIKQmRpcWc1elRJeW5UVVovYyszQzN0U3RaL1VsdENXWUdYT1J0cCtZVCtObElHQXRKYjZScHVYZjd1bCsxbkxnVwpqQTZyQnVsbDlUd1JEbFpRcW8yekZtZWpQTHZNUEJYRXd2REdtaHRiZWNnOFZ6YVE3U0F2YkZmT1cvU2tRNlMxCjZnUURoZlZ5N0NQNWxmWWJLdDBaS3B5YUpEb0ViNmJxa1V4RElQR3RxczNwcjcrZ1p4Mi9sZElOUE82YThpclMKb1EzcUk4VUNnZ0VBQ3pMbk03MlkxRm5vbElaYlBrTkVNNldBSzFGS3pvdXpMa3dIclczcXEzdUNKVUhYVGQ1WAoxZHRZL2NZWERaTmcwd09KSTF0RkRMY0VpQ3lLcDhoeUdURE14a0FNZFJ2dktsSS9mU3V5dHZOZ1lmd0dJR1Z0CmgrWVRralN2SGdNbGswdEFvUkpaa2c1aHY3QUZOeW95N2xPMVhpNU53OUNnaWVZYmk1TE1Jd1MwNUxwLzViQUsKY0FWalFDV0ltRXFPS0xWSVFsQjBHYjZoRzlMWjJqM0lYeDR4dUFIbzZodGRBVFIxOXhRMHF5cHRBZnhQUkw3NgpFTmtlaVhqK3UzS0FXREd6WHdJZkxmdXlCeVA2NjRFOHo1dDFYeGJyd241M0pldU00RXFIWXlSeDV6M2trd2w0CndHTzNwSmI2bmNxUGUwR3VxNVlWcjhPV2RQOEk4SXZWc1FLQ0FRQWVhQUUyZ0RHM01mS1pFWmUrMVk1ZmMrMXYKTkxLU1htcUFVRDBDMGV6TjhKY2ppNDRIUVVwYmh5MmgxRS9GMFJDSUxYS0pNWVU5dmpETnN3MzJNcVBkQy8rVwpydkdXb0tidzd2TVB5SGs5UTlkTVpnTUV5em5QQmxxc3hUTHFnM3dGV2V1RlAyNytqd0RQN0lyQmZFR2tnSW5zCmtJVlBON2NYUDNRWlZ0SCswTENJenRCNU9SMzRnTVg0ZGE4MENZKzB6ZjA3Yjh6b01SZTNZT1FqN1QvS25iT0kKNzdBdEhZQi9NNHlDNXpnQmRodS81aEVjUXJ6QWkzMCticFJhOU9ENkx1STA1VnpGOEltUUpDY1NPMXkvUjhCbApZUVoxVFF5VTNOb0tRVDBKaW9mK3dhNzJaVjZoS2hBSlIrQ2tsbHNUNGFIRTlaRDh0N3o5Wkh1NGZ0UVkKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -163,7 +163,7 @@ "domain": { "main": "overseerr.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDekNDQlBPZ0F3SUJBZ0lTQldDYVhFaGU0WTdBaWoyVXFzV2o3LzI5TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05NalV4TVRJeE1qQXhNRFUyV2hjTk1qWXdNakU1TWpBeE1EVTFXakFqTVNFd0h3WURWUVFECkV4aHZkbVZ5YzJWbGNuSXVZWFJvWVd4cFlYQndjeTU0ZVhvd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUMKRHdBd2dnSUtBb0lDQVFDb045bmU1NUdmbko1YWE1alF6VUY2YVVadENaYW1jaDRFY2FaTC96YlVNSUFxMGlEQwp3bldERDk5VExjUHJ4Zitqc0tVTGdDZFNHbmFETXdrajNRellveFpMV0JLazl6aFVESlBVVUFlU1E0ckMrN21DCmVKWHpzWnZheFpseTJ0TGxKbDdteEtRb2tUU29xaTdnaFlocXUva3JhRUhJY1NRNGhhRSt5SEdkeWp5WjBtOXgKTEJvQjZrY2xwYVNJN2Zta2xMM0tCMkhybWxJOE5scVEwb05kNnBiaUFrVkllZHVCVnM2RnNyRGZQWkN5NElwZgpZVHMrOXdkVkhwelZGVTA3MG1zRUNWdmZScHlKaStadmthbGx2eVo0NFpkcVFRb0xpeTJaN2Y3WmZmMzdiWUFqClhKa1Bwb1QxVkJiWVRqd2FVWHZxODZJYXNrQ0hTTCs0MXI0b2c4Zk9YTWRnbm9QejF4RHJDTG5wcVA2TGhUZmoKNms2SXF3OXdiamVoaWc5dk5VM0xuUkw4Y2g2MzRyRHZRUjZLTUdzY2MyWVN2dThna3BZWWtzT0tQRjdIbG5FagpJYU9TY3lYOXpMRksxMnc2VmhoTHVGb2NsMElMemJRVUhVZFByVWttOTNEM1A0Y0NxNUFyS1UzLzdPQWZ5THF6CktvSHJDNUkvdWNtK0hvaDN3UCtCWVFUVTBxUkpGOE9lcXRjWWZOK0l3V1pQcXlBOEE5OUZTd2dMbUpMRWd1L3kKMXBnTDczSGY1alRQMmsrZnNPbG1sT05kamw5UUhDTlNhWnRCR0lmbTdsUkJ0REJZS3YwOWE3TUhZS0lRK25SdQpnbjdXMm05TlZUYmdWWGdlS1NEM3dTamErOHBPWmZoa0ZZOWZFVGh2dEJPN2x5NGxid21kY0wvdG1RSURBUUFCCm80SUNKekNDQWlNd0RnWURWUjBQQVFIL0JBUURBZ1dnTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQkJnZ3IKQmdFRkJRY0RBakFNQmdOVkhSTUJBZjhFQWpBQU1CMEdBMVVkRGdRV0JCU0V2V3hjM0Iwc1Z6M0l5d1VXQzdzTApnMnNQVmpBZkJnTlZIU01FR0RBV2dCUUF0U255TFk1dk1laWJUSzE0UHZyYzZRelIwakF6QmdnckJnRUZCUWNCCkFRUW5NQ1V3SXdZSUt3WUJCUVVITUFLR0YyaDBkSEE2THk5eU1USXVhUzVzWlc1amNpNXZjbWN2TUNNR0ExVWQKRVFRY01CcUNHRzkyWlhKelpXVnljaTVoZEdoaGJHbGhjSEJ6TG5oNWVqQVRCZ05WSFNBRUREQUtNQWdHQm1lQgpEQUVDQVRBdUJnTlZIUjhFSnpBbE1DT2dJYUFmaGgxb2RIUndPaTh2Y2pFeUxtTXViR1Z1WTNJdWIzSm5Mell5CkxtTnliRENDQVFNR0Npc0dBUVFCMW5rQ0JBSUVnZlFFZ2ZFQTd3QjFBRW1jbTJuZUhYenMvRGJlellka3ByaGIKcndxSGdCblJWVkw3NmVzcDNmakRBQUFCbXFoQUlTb0FBQVFEQUVZd1JBSWdVeXBpZ1lSMXBrZlVMcTByRVB2Qgo0N1dCOElwb1lrU0ZQTFlxeDJPeE5FZ0NJQ0k5eC84bDE3elZVRVU4Mll4dFBqOFhSMExkYzcyR0xLUlJNT1J5CmlLSEhBSFlBRGxlVXZQT3VxVDR6R3l5WkI3UDNrTitid2oxeE1pWGRJYWtsckdIRlRpRUFBQUdhcUVBaElnQUEKQkFNQVJ6QkZBaUI3d0Z4OXkvZkJ0R2lUN21Ta3JJd0d0Y2hKRlBma0lNenpEMmtKVFZWRDhRSWhBTzBpNjZkRgpIa2pFTjlOdFF2RDZ3WHVMQkNwZi9KYTcrQVdoU21zWTFMOE1NQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUURRCmlLZ1drbEJHNVVXV2pHS2s0TnA2MVRLSWhxOCtMQVh2Vlowek42bS8vQnNQZWliWXVXa3ljQ05TbmdOQiswUjAKUGtGbHJ6UGFEMUYycms3NU9jZWtkZ3hhYVp1cEg0TFAzTk15cFo4TVFVbVFUa0M1VkpsV1BtZ2JDdXZEMlJvZApkS3ZlbDhnYlF2bVRzampNaVhDaDJjemlOU0NwL01VVENWbW0zWlRIUjNBWms3dWU3UFV0SGVTS0w4LzZCb2J5CmZiaVlQb3Z3MlR5Q1U4TnlLelB3UlNEY2dRMzRNNW9Pay9zT1AxL2h0emRVelVzVk02SEJlVm82VHBnNzlrVkEKR0tMN2ZISzgyYStoQW14K1dFbkxrK3JXblFNb3lOU2F4ZFVvVUJKQjUwckZjNzJETVZOSGdjbG41aFpsNDAycQppalBpcXhIZVp5MzdNSloyMUwxOQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJqQ0NBdTZnQXdJQkFnSVJBTUlTTWt0d3FiU1JjZHhBOStLRkpqd3dEUVlKS29aSWh2Y05BUUVMQlFBdwpUekVMTUFrR0ExVUVCaE1DVlZNeEtUQW5CZ05WQkFvVElFbHVkR1Z5Ym1WMElGTmxZM1Z5YVhSNUlGSmxjMlZoCmNtTm9JRWR5YjNWd01SVXdFd1lEVlFRREV3eEpVMUpISUZKdmIzUWdXREV3SGhjTk1qUXdNekV6TURBd01EQXcKV2hjTk1qY3dNekV5TWpNMU9UVTVXakF6TVFzd0NRWURWUVFHRXdKVlV6RVdNQlFHQTFVRUNoTU5UR1YwSjNNZwpSVzVqY25sd2RERU1NQW9HQTFVRUF4TURVakV5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCCkNnS0NBUUVBMnBnb2RLMitsUDQ3NEI3aTVVdDFxeXdTZisybkF6SitOcGZzNkRHUHBST05DNWt1SHMwQlVUMU0KNVNodUNWVXhxcVVpWFhMMExRZkNUVUE4M3dFanVYZzM5UnBsTWpUbWhuR2RCTytFQ0Z1OUFocVo2NllCQUpwegprRzJQb2dlZzBKZlQya1ZoZ1RVOUZQbkV3RjlxM0F1V0dyQ2Y0eXJxdlNyV21NZWJjYXM3ZEE4ODI3Smd2bHBMClRoanAyeXB6WElsaFpaNys3VHlteTA1djVKNzVBRWF6L3hsTkttT3pqbWJHR0lWd3gxQmxienQwNVVpRER3aFkKWFMwam5WNmovdWpiQUtIUzlPTVpUZkx1ZXZZbm51WE5uQzJpOG4rY0Y2M3ZFemM1MGJUSUxFSFdoc0RwN0NINApXUnQvdVRwOG4xd0JuV0lFd2lpOUNxMDh5aERzR3dJREFRQUJvNEg0TUlIMU1BNEdBMVVkRHdFQi93UUVBd0lCCmhqQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBZ1lJS3dZQkJRVUhBd0V3RWdZRFZSMFRBUUgvQkFnd0JnRUIKL3dJQkFEQWRCZ05WSFE0RUZnUVVBTFVwOGkyT2J6SG9tMHl0ZUQ3NjNPa00wZEl3SHdZRFZSMGpCQmd3Rm9BVQplYlJaNW51MjVlUUJjNEFJaU1nYVdQYnBtMjR3TWdZSUt3WUJCUVVIQVFFRUpqQWtNQ0lHQ0NzR0FRVUZCekFDCmhoWm9kSFJ3T2k4dmVERXVhUzVzWlc1amNpNXZjbWN2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQk1DY0cKQTFVZEh3UWdNQjR3SEtBYW9CaUdGbWgwZEhBNkx5OTRNUzVqTG14bGJtTnlMbTl5Wnk4d0RRWUpLb1pJaHZjTgpBUUVMQlFBRGdnSUJBSTkxMEFuUGFuWklaVEtTM3JWRXlJVjI5QldFakFLL2R1dXo4ZUw1Ym9Tb1ZwSGhra3YzCjRlb0FlRWlQZFpMajVFWjdHMkFySUsrZ3poVGxSUTFxNEZLR3BQUGFGQlNwcVYveGJVYjVVbEFYUU9ua0huM20KRlZqK3FZdjg3L1dlWStCbTRzTjNPeDhCaHlhVTdVQVEzTGVaN04xWDAxeHhRZTR3SUFBRTNKVkxVQ2lIbVpMKwpxb0NVdGdZSUZQZ2NnMzUwUU1VSVdneFBYTkdFbmNUOTIxbmU3bmx1STAyVjhwTFVtQ2xxWE9zQ3dVTHcrUFZPClpDQjdxT014eE1Cb0NVZUwyTGw0b01wT1NyNXBKQ3BMTjN0UkEyczZQMUtMczlUU3JWaE9rKzdMWDI4Tk1VbEkKdXNRL254TEpJRDBSaEFlRnRQanlPQ09zY1FCQTUzK05SalNDYWs3UDRBNWpYN3BwbWtjSkVDTCtTMGkza1hWVQp5NU1lNUJiclU4OTczalpOdi9heDYrWks2VE04aldtaW1MNm9mNk9yWDdaVTZFMldxYXp6c0ZyTEczbzJreVNiCnpsaFNnSjgxQ2w0dHYzU2JZaVlYbkpFeEtRdnpmODNEWW90b3gzZjBmd3Y3eGxuMUEyWkxwbENiME8rbC9BSzAKWUUwRFMyRlB4U0FIaTBpd01mVzJuTkhKclhjWTNMTEhENzdnUmdqZTRFdmV1YmkyeHhhK05tay9obWhMZElFVAppVkRGYW5vQ3JNVklwUTU5WFdIa3pkRm1vSFhIQlY3b2liVmpHU083VUxTUTdNSjFOejUxcGh1REpTZ0FJVTdBCjB6ckxuT3JBai9kZnJsRVdSaEN2QWdidXdMWlgxQTJzak5qWG9QT0hic1BpeStsTzFLRjgvWFk3Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdERENDQlBTZ0F3SUJBZ0lTQmI4ZUM4VmNLdUpzSnFKakttbG0ySUVWTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXdOalU0V2hjTk1qWXdOREl4TVRZd05qVTNXakFqTVNFd0h3WURWUVFECkV4aHZkbVZ5YzJWbGNuSXVZWFJvWVd4cFlYQndjeTU0ZVhvd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUMKRHdBd2dnSUtBb0lDQVFDb045bmU1NUdmbko1YWE1alF6VUY2YVVadENaYW1jaDRFY2FaTC96YlVNSUFxMGlEQwp3bldERDk5VExjUHJ4Zitqc0tVTGdDZFNHbmFETXdrajNRellveFpMV0JLazl6aFVESlBVVUFlU1E0ckMrN21DCmVKWHpzWnZheFpseTJ0TGxKbDdteEtRb2tUU29xaTdnaFlocXUva3JhRUhJY1NRNGhhRSt5SEdkeWp5WjBtOXgKTEJvQjZrY2xwYVNJN2Zta2xMM0tCMkhybWxJOE5scVEwb05kNnBiaUFrVkllZHVCVnM2RnNyRGZQWkN5NElwZgpZVHMrOXdkVkhwelZGVTA3MG1zRUNWdmZScHlKaStadmthbGx2eVo0NFpkcVFRb0xpeTJaN2Y3WmZmMzdiWUFqClhKa1Bwb1QxVkJiWVRqd2FVWHZxODZJYXNrQ0hTTCs0MXI0b2c4Zk9YTWRnbm9QejF4RHJDTG5wcVA2TGhUZmoKNms2SXF3OXdiamVoaWc5dk5VM0xuUkw4Y2g2MzRyRHZRUjZLTUdzY2MyWVN2dThna3BZWWtzT0tQRjdIbG5FagpJYU9TY3lYOXpMRksxMnc2VmhoTHVGb2NsMElMemJRVUhVZFByVWttOTNEM1A0Y0NxNUFyS1UzLzdPQWZ5THF6CktvSHJDNUkvdWNtK0hvaDN3UCtCWVFUVTBxUkpGOE9lcXRjWWZOK0l3V1pQcXlBOEE5OUZTd2dMbUpMRWd1L3kKMXBnTDczSGY1alRQMmsrZnNPbG1sT05kamw5UUhDTlNhWnRCR0lmbTdsUkJ0REJZS3YwOWE3TUhZS0lRK25SdQpnbjdXMm05TlZUYmdWWGdlS1NEM3dTamErOHBPWmZoa0ZZOWZFVGh2dEJPN2x5NGxid21kY0wvdG1RSURBUUFCCm80SUNLRENDQWlRd0RnWURWUjBQQVFIL0JBUURBZ1dnTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQkJnZ3IKQmdFRkJRY0RBakFNQmdOVkhSTUJBZjhFQWpBQU1CMEdBMVVkRGdRV0JCU0V2V3hjM0Iwc1Z6M0l5d1VXQzdzTApnMnNQVmpBZkJnTlZIU01FR0RBV2dCUUF0U255TFk1dk1laWJUSzE0UHZyYzZRelIwakF6QmdnckJnRUZCUWNCCkFRUW5NQ1V3SXdZSUt3WUJCUVVITUFLR0YyaDBkSEE2THk5eU1USXVhUzVzWlc1amNpNXZjbWN2TUNNR0ExVWQKRVFRY01CcUNHRzkyWlhKelpXVnljaTVoZEdoaGJHbGhjSEJ6TG5oNWVqQVRCZ05WSFNBRUREQUtNQWdHQm1lQgpEQUVDQVRBdUJnTlZIUjhFSnpBbE1DT2dJYUFmaGgxb2RIUndPaTh2Y2pFeUxtTXViR1Z1WTNJdWIzSm5Mekl5CkxtTnliRENDQVFRR0Npc0dBUVFCMW5rQ0JBSUVnZlVFZ2ZJQThBQjFBTXM0OXhXSmZJU2hSRjlid2QzN3lXN3kKbWxuTlJ3cHBCWVd3eXhUREZGam5BQUFCbStHRXNCa0FBQVFEQUVZd1JBSWdSbWlIMXlFT2hUNkppeHovMjdzbgo3WHlibTBsTlpSNzFWMjBlU29PaVVwSUNJRit4RUxCY2U4cHdlbnRQT3p1ckRuTFM2am9Ga0NxZ3dnMi9hS2ZsCjBBalpBSGNBU1p5YmFkNGRmT3o4TnQ3TmgyU211RnV2Q29lQUdkRlZVdnZwNnluZCtNTUFBQUdiNFlTd0R3QUEKQkFNQVNEQkdBaUVBMVI4R00vcFI2SUNoQkk0SFlPWHJuWVl1WU1pTHdQWVByS1kxd05VVUloMENJUURUM3dKNwprRzFsSkVYc0dsWEwramVCZ2hKNnJnMXZ3MnhvREdOWEg5RlYvREFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBCnQ3R2dOUE1KNGtyYzJJbVEwR25qZlVHYVlDOXRGQXF3VDk3ZWxsOWVMTWduSlA2T09zQWZqV0txeFYxaGRmT3YKUURXNXdZK3IxU0hPcXJ3eXUxeGphZjBwYWFHRnUwMitUWnRja1dPcFhGdk1QN0JHKzFQY3pVb25tc0lPQ1FlRApVY0dTSWgzUlFKKzdBRmFCeWtKc016eVkrUHZucVAyQlVTUkczeEtPVDEvTy93WlJ6QjFMNnVrUXFHZ0xwemlUCkdMVUFwS2xLSkNEb2lSUk5tNTlFR25hUlRjRnR0eG9VcU5YaVd5N1IxazdIRmQxcThvMkEzR2RiUk1kVEE2QjcKSDEveFJPTHkvTHI5dUJ2NWhyWHVMbWZIU09Sdkh4UmxlQzk0NmRtcXhDQ3l2Y1lmcWU3cHk1OExnMWxKV2JiagpuTEVybjZzNERjaCtNSk5FcEVJdnhBPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCakNDQXU2Z0F3SUJBZ0lSQU1JU01rdHdxYlNSY2R4QTkrS0ZKand3RFFZSktvWklodmNOQVFFTEJRQXcKVHpFTE1Ba0dBMVVFQmhNQ1ZWTXhLVEFuQmdOVkJBb1RJRWx1ZEdWeWJtVjBJRk5sWTNWeWFYUjVJRkpsYzJWaApjbU5vSUVkeWIzVndNUlV3RXdZRFZRUURFd3hKVTFKSElGSnZiM1FnV0RFd0hoY05NalF3TXpFek1EQXdNREF3CldoY05NamN3TXpFeU1qTTFPVFU1V2pBek1Rc3dDUVlEVlFRR0V3SlZVekVXTUJRR0ExVUVDaE1OVEdWMEozTWcKUlc1amNubHdkREVNTUFvR0ExVUVBeE1EVWpFeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQgpDZ0tDQVFFQTJwZ29kSzIrbFA0NzRCN2k1VXQxcXl3U2YrMm5BekorTnBmczZER1BwUk9OQzVrdUhzMEJVVDFNCjVTaHVDVlV4cXFVaVhYTDBMUWZDVFVBODN3RWp1WGczOVJwbE1qVG1obkdkQk8rRUNGdTlBaHFaNjZZQkFKcHoKa0cyUG9nZWcwSmZUMmtWaGdUVTlGUG5Fd0Y5cTNBdVdHckNmNHlycXZTcldtTWViY2FzN2RBODgyN0pndmxwTApUaGpwMnlwelhJbGhaWjcrN1R5bXkwNXY1Sjc1QUVhei94bE5LbU96am1iR0dJVnd4MUJsYnp0MDVVaUREd2hZClhTMGpuVjZqL3VqYkFLSFM5T01aVGZMdWV2WW5udVhObkMyaThuK2NGNjN2RXpjNTBiVElMRUhXaHNEcDdDSDQKV1J0L3VUcDhuMXdCbldJRXdpaTlDcTA4eWhEc0d3SURBUUFCbzRINE1JSDFNQTRHQTFVZER3RUIvd1FFQXdJQgpoakFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdFd0VnWURWUjBUQVFIL0JBZ3dCZ0VCCi93SUJBREFkQmdOVkhRNEVGZ1FVQUxVcDhpMk9iekhvbTB5dGVENzYzT2tNMGRJd0h3WURWUjBqQkJnd0ZvQVUKZWJSWjVudTI1ZVFCYzRBSWlNZ2FXUGJwbTI0d01nWUlLd1lCQlFVSEFRRUVKakFrTUNJR0NDc0dBUVVGQnpBQwpoaFpvZEhSd09pOHZlREV1YVM1c1pXNWpjaTV2Y21jdk1CTUdBMVVkSUFRTU1Bb3dDQVlHWjRFTUFRSUJNQ2NHCkExVWRId1FnTUI0d0hLQWFvQmlHRm1oMGRIQTZMeTk0TVM1akxteGxibU55TG05eVp5OHdEUVlKS29aSWh2Y04KQVFFTEJRQURnZ0lCQUk5MTBBblBhblpJWlRLUzNyVkV5SVYyOUJXRWpBSy9kdXV6OGVMNWJvU29WcEhoa2t2Mwo0ZW9BZUVpUGRaTGo1RVo3RzJBcklLK2d6aFRsUlExcTRGS0dwUFBhRkJTcHFWL3hiVWI1VWxBWFFPbmtIbjNtCkZWaitxWXY4Ny9XZVkrQm00c04zT3g4Qmh5YVU3VUFRM0xlWjdOMVgwMXh4UWU0d0lBQUUzSlZMVUNpSG1aTCsKcW9DVXRnWUlGUGdjZzM1MFFNVUlXZ3hQWE5HRW5jVDkyMW5lN25sdUkwMlY4cExVbUNscVhPc0N3VUx3K1BWTwpaQ0I3cU9NeHhNQm9DVWVMMkxsNG9NcE9TcjVwSkNwTE4zdFJBMnM2UDFLTHM5VFNyVmhPays3TFgyOE5NVWxJCnVzUS9ueExKSUQwUmhBZUZ0UGp5T0NPc2NRQkE1MytOUmpTQ2FrN1A0QTVqWDdwcG1rY0pFQ0wrUzBpM2tYVlUKeTVNZTVCYnJVODk3M2paTnYvYXg2K1pLNlRNOGpXbWltTDZvZjZPclg3WlU2RTJXcWF6enNGckxHM28ya3lTYgp6bGhTZ0o4MUNsNHR2M1NiWWlZWG5KRXhLUXZ6ZjgzRFlvdG94M2YwZnd2N3hsbjFBMlpMcGxDYjBPK2wvQUswCllFMERTMkZQeFNBSGkwaXdNZlcybk5ISnJYY1kzTExIRDc3Z1JnamU0RXZldWJpMnh4YStObWsvaG1oTGRJRVQKaVZERmFub0NyTVZJcFE1OVhXSGt6ZEZtb0hYSEJWN29pYlZqR1NPN1VMU1E3TUoxTno1MXBodURKU2dBSVU3QQowenJMbk9yQWovZGZybEVXUmhDdkFnYnV3TFpYMUEyc2pOalhvUE9IYnNQaXkrbE8xS0Y4L1hZNwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBcURmWjN1ZVJuNXllV211WTBNMUJlbWxHYlFtV3BuSWVCSEdtUy84MjFEQ0FLdElnCndzSjFndy9mVXkzRDY4WC9vN0NsQzRBblVocDJnek1KSTkwTTJLTVdTMWdTcFBjNFZBeVQxRkFIa2tPS3d2dTUKZ25pVjg3R2Iyc1daY3RyUzVTWmU1c1NrS0pFMHFLb3U0SVdJYXJ2NUsyaEJ5SEVrT0lXaFBzaHhuY284bWRKdgpjU3dhQWVwSEphV2tpTzM1cEpTOXlnZGg2NXBTUERaYWtOS0RYZXFXNGdKRlNIbmJnVmJPaGJLdzN6MlFzdUNLClgyRTdQdmNIVlI2YzFSVk5POUpyQkFsYjMwYWNpWXZtYjVHcFpiOG1lT0dYYWtFS0M0c3RtZTMrMlgzOSsyMkEKSTF5WkQ2YUU5VlFXMkU0OEdsRjc2dk9pR3JKQWgwaS91TmErS0lQSHpsekhZSjZEODljUTZ3aTU2YWoraTRVMwo0K3BPaUtzUGNHNDNvWW9QYnpWTnk1MFMvSElldCtLdzcwRWVpakJySEhObUVyN3ZJSktXR0pMRGlqeGV4NVp4Ckl5R2prbk1sL2N5eFN0ZHNPbFlZUzdoYUhKZENDODIwRkIxSFQ2MUpKdmR3OXorSEFxdVFLeWxOLyt6Z0g4aTYKc3lxQjZ3dVNQN25Kdmg2SWQ4RC9nV0VFMU5La1NSZkRucXJYR0h6ZmlNRm1UNnNnUEFQZlJVc0lDNWlTeElMdgo4dGFZQys5eDMrWTB6OXBQbjdEcFpwVGpYWTVmVUJ3alVtbWJRUmlINXU1VVFiUXdXQ3I5UFd1ekIyQ2lFUHAwCmJvSisxdHB2VFZVMjRGVjRIaWtnOThFbzJ2dktUbVg0WkJXUFh4RTRiN1FUdTVjdUpXOEpuWEMvN1prQ0F3RUEKQVFLQ0FnRUFuWmdsZnhVSGNyY3lDNWYrQkxBbkJkMlc0eFEybFIwWVRpV0RISE92RkQrVDg0b0VzekduRWZCTwowd2h2SW5YT3Q3WUlDYXc0S2swc2RtSGIwRU9KZzNQV3NTT0Q1QlRRS3IzVnlQUnBBM2hQaWJoMjVXcS9ZUjBsCjNHRi9Ed0UrenZ1UnNUVE1iazBMUG5DaGxpckQwT3JsMXVySHBsZUpEWUx6dTNQaUxXZUlPcnZSTi8rUEpmZ3MKUzNMUm9JOENjRlFCTWtLVVZEdXhpME9JdVdEZlBaOUhWOW0wdXQrZTY1ODl3RGZXU0c3UEh5WUp2SzNFNllwWQp6ai90d2h0QXppaWxwWlIzQThpTllyYzBYWlhqVTdVdS85U3BIQnh1b3IzekxPQ3cvMlZ3Q3B0ZGpzTnppaHdCCk9DMWRjYXhwMW1ZOFo3TjBUUHB1UmMrNy9oa0E4RU1XeGNkS1NiQ0hiVDl5N3hlTk10TFM3ZlNyY0Q3Y0dKdjkKMjd3WmdHRkFrMmVTZVhWemduRGNXMjkwNTdmVmYwbE53aHNvVlc3eUpicnAxRXVIU1JRc0lxVzNzdTl0TVFKagpVcEtjTXphYkU0cG9Vc1NxVGZJUE5RWVduNzVVUHhXSzJtVy9CUzhjZGx3MlpTT28wT2l1RUFsM20zWXNKRDJGCnVTVVFPVXQ4Z3FDSHhyRi9zb01QejFmVXBlWWk5bFkzM2hsNVNFVGtHMHdjOHRlNDMrV1NEQzQvaDJrTDd3Q3YKRzFiYTRpNDFWcmwra0tmUytZNDlscEp4Z2g0MTVRVGlOR0lqOXoyZG9wWGpNU1ExSlRwM0VzWGNJMmp6Tk96OApleTZHVm9EcXN5SlVlclVuUmVrVnFXZmlERW9VaytYTmh1Z1ZpUkswVU5UNU4xK2N6WGtDZ2dFQkFNeWFVQk54CkZ4UTE5alVBeDMvUEhtS01Ra201cnNaTTBDb3N4b1Z4NTRPbmF0VDU4RXczOG04QWx2TDVDcmY2ZG1iVkZZczAKSC9Da0JCRUo0MG9KUEUrcWFEK2RtaTBjV3Rodmx4S2Zja0xaeUJWMGZLTExaenJTSk9pdmlXY3M4d0VOSCtldAp6aTNTVDl2WkF6OEVTODYwZGN6TDA1QzFpZWEvdS9UamFtSXNmYkpiUE1lRzdwSnJVanZlbWw3cUFmcUxYekh1Ck1QandTcFFHeUFMS29QODBJNG45QTgvRWErTk9OaytBcVorNEFpOTdCYXFBeGU4aGdNOVFqci9HS1pPTit1bDgKaU8rTGJ3OVRsd3dOMGVoRUgwbTU4NVJ4YUhKcEY5V1lDVnFtNUs5UndyQ0FkQnptc0RPdlVYZ2JWM1M5M1dzdApFZlR5MUdYajVWOVNGaWNDZ2dFQkFOSjVzenNSbGhLUFQ3UEIrWXUzeGphYWNZL0hOQ09EWnpzYU9EQ21VZUpQCm5VV1gxeTRUNjR4VEo4UlA3dlRYd3hxY3NUeCtHUm9IdnUzb0xKOWRIUGZxWDJHb1F0RzRkUmI4M0xNTnFScFcKV0tVK0Y4TmE2WU1Ld3ZrVk9weG04Um1pY0lPMThHNE54UmlZY0FmcXEybjhLWENiSXlmOUp4c0dMQmo4SFpFTwpOTndXdVhVZGhFNUZ2eEJoYVVtUUJiZTdLQXVqMTdBK0lxY29UbjlXU3hlbDJvQ1JZSE9wZ1NnMVFmbnlGRHFMClVkTk1aWG16aUpUcHR5NzRIdTl3TVZtN3R6K0JuWTlES3YwSXkwSjVaZDhlaVlwT2hJeHhCbDRsSE54ZWhEbnUKTDQ1eEdOS0IwQXlscnBGZWo4cXdXcm1ORXFIbzk3eHhuMHp2WmFpRjlqOENnZ0VCQUs4UUhoSDBncVhGWWl1Sgp4aWtpZzhJWWRxTjBZQW5HTVpyVWd1d3RRTVZTRzBPdHM2RFRnZmplVFVvS010U21WbWE0VGQyMHROdUd5di8xCk1PZnBMUlNSSHUvSG51S1lUMWEvYkVqLzZwa3VsRmRmTzBGanZxa0NvNWdBa2hXWXpUZUtEbEdDVWxhOGk1MzEKZWlTU1BYYll5NjUyZkVobVBGOFdrUEVCSU1adGdRTjVzM0Naa0VueDBBUHYvSy9YaytmWEZwVzNVMm04MkdMOQp4bWMxRHpvdFYzYzY2T2IrRHI0SDdzcHBzVGs3RFl1b3ZIbGVBMzRQY1pKeFFDTHdvQ1JqcUZ2ZE5hR1k4V2J3Cnc5NEplU0ErSVhOSXl4U3BVSkFNUWR0OVlndVJuend2UGVFZGw3d2Uyb2J1ckV1VFFXcGZCalFzOVI5Y0lzWW4Kajl2V2RhTUNnZ0VBYWR2disydVM4VzdIQllBd1JNZC9tQU1CenZEQUZvU0dyVUU0dGE5UlMrUURFL2VVc0lZdwpXSG1TYkxoUFZUSVgzUkNtUytpWU0zRmw1RDU4QXdOUUNKa0d0QlZ1MWhCU1ErZVdFVEJ6dHQxcTVHRmdqazd4ClY0bFlHdk5FY1ZtTk5mbHZZYTltWjlQaEo4ZXp3U2VVWTFBQ2Y3Sm5janR2S2JabkE0SDZWUFN5UFdmb2l6RDMKVkc3YjlCOHFWMmRxbU1nM0VmT3NEZWFTZzBSUWh0Y2VHWnkvVXg3TFJpRWc1dG95ZnNYMHlxVTcyR3g2TlVYSgpFaXlpaDZzZjFBbTNxSXd6Vkd1YWxXMlE5NGN1eEJaTzJIT0JkZUNiNWc4S3h0c2ZzdTZPenB3dnF4TFRDejFqCktKbEVQYlV6MlJ2dDVabEFuOUtPbDJjR1dpbW1GYWFhL1FLQ0FRQUhZa2NJL2dYRk54RlI2dVVaa2JlQkdxV3UKZEkraW9yZHdQbFVwOG9yZW15MVZJTnl0bU1LYjhKOU4yOHBNZzZpVGJHL1RRQ0JnMlE2a2ZVbGxta3dQRW9wNQptVjBvOGFpcUhmR2g5YmR3Vk1QcUpGRUV4Y2RHd1NzZTcyMTF1THk0SDNHck1ZelFzMHJTdUtPNFFHYmtsV1hkCmdnZU53dHgwSCszUXMySmhTN1FYUXhLOTFRdGE0UHk3di9KVDhzaVhvZDk2WjNnWWwvZjU5c0txdUdIWVd3VHkKbkc2SXVRWkdINUh4djFXYWZtUHg0NFdTUUNmQkJuVW1HQlhtZktpeHdWUm5DRCtzU3ZLRUd1blViSVBmUVM5bAozemdLdmRESFppdUthamlQQjVsb1FrYmtBUFYralFQaDlBd3ZXcjJKM09pcEQ2TUh6WGVIcERQQitFZE0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -171,7 +171,7 @@ "domain": { "main": "fireflyiii.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdEakNDQlBhZ0F3SUJBZ0lTQlgvWHpFSkxWalFxV2tlUzV1eVBic1NaTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05NalV4TVRJeE1qQXhNVEF5V2hjTk1qWXdNakU1TWpBeE1UQXhXakFrTVNJd0lBWURWUVFECkV4bG1hWEpsWm14NWFXbHBMbUYwYUdGc2FXRndjSE11ZUhsNk1JSUNJakFOQmdrcWhraUc5dzBCQVFFRkFBT0MKQWc4QU1JSUNDZ0tDQWdFQTVheGxZLzkzWEtzMFhuOVJZY2YyaXdaanczZEMwTEJLdGpydHNEMVVSTkF3cGp1egpoTHJyS1Ruc09UTTNjUSsxRVJPeTdoSFg5cXNZeUZUSFZFSGx4czZhdjY0bDRPR1A2NEhtMWpiOXdiRTA1QkZFClM2dU1kQmhOUTNXSlUzb2ozeFFtamZaenVJUm51RzJwU1lIdWlSdUMvQkxWR0s1L2g3U0gwTFNuSmtlQjgzWXAKZTJla2tqandzYlcvSEprdmdRL05xTTd2ZW9XR2hjcjJ0endtOWpmT3B0aDFTUk10dHJqeFcvdHJ1aUFuanpUbwpoUm9UWFgxTmlXYmhqK2x3VkllNUtPRHdnOW12S1dReThkOUVCTWErRGIwYzArYUtmYnVGU0gyVEZmVGc0VjlxCndnSC9LdG5QaWNEWnkveHZGWFM1OEQrNHlDMWxKSlU3dERFS0VDbGdWd1dxa1V1Nm92bU5XNHgvYlM5dWROMGEKWFpSYnpKU3U0cDhXVk9PRWdJQ0tGSGFTOFZPcTJJVWtvNjd0NDdjNTVCQWpBcytPYTFMRS9QYUozaGpLV1plcQpwUUlGTWNCN280UGlkMndtVHhST1NuT2l4NGdUOXVqM3A0cW00aGFYenQ4NGwyRW1UMkVjdXVndTNKTEdZWnRUCmJVcVcwUUxFVi9KeEpGNFQyNGl3d21NWnAzbXFpY3RjOXd5by90czlLZmh2VDR4RHczQkpYUDN0NENkSDY0TUUKM2xzdzJvOWhtczNTUXlBTlJ6a1N1dTM5QzVHbjAwVHU3d1B4S0U2ZnVLR0trbHlKRmN5MlNUVkxoVEVMdGZvegpoVTJ0UDB6a1VKOFlLRkY1N01ldzVZeFhtYWZoVXJJZmV1TkR0cSsyV08zcldqbENRdlQvZW4zU2ZaRUNBd0VBCkFhT0NBaWt3Z2dJbE1BNEdBMVVkRHdFQi93UUVBd0lGb0RBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFRWUkKS3dZQkJRVUhBd0l3REFZRFZSMFRBUUgvQkFJd0FEQWRCZ05WSFE0RUZnUVVNZ05PVGQ1MXU1UnR5MWJZNDFUawpDYVhIWkdBd0h3WURWUjBqQkJnd0ZvQVVBTFVwOGkyT2J6SG9tMHl0ZUQ3NjNPa00wZEl3TXdZSUt3WUJCUVVICkFRRUVKekFsTUNNR0NDc0dBUVVGQnpBQ2hoZG9kSFJ3T2k4dmNqRXlMbWt1YkdWdVkzSXViM0puTHpBa0JnTlYKSFJFRUhUQWJnaGxtYVhKbFpteDVhV2xwTG1GMGFHRnNhV0Z3Y0hNdWVIbDZNQk1HQTFVZElBUU1NQW93Q0FZRwpaNEVNQVFJQk1DNEdBMVVkSHdRbk1DVXdJNkFob0IrR0hXaDBkSEE2THk5eU1USXVZeTVzWlc1amNpNXZjbWN2Ck1qWXVZM0pzTUlJQkJBWUtLd1lCQkFIV2VRSUVBZ1NCOVFTQjhnRHdBSFlBR1liVXh5aXFiLzY2QTI5NEtrMEIKa2FyT0xYSXhENjdPWFhCQkxTVk14OVFBQUFHYXFFQTZmUUFBQkFNQVJ6QkZBaUVBbEI3MkM2d3V0ay9ud0N1aApmMHdrdHB5S1ZlMXhOYWlvNEZ0ZTZTRFJTUnNDSUhRMm0xSk5wbzNkcFNBekVQS2dEZkhweWo2VDdnV0tRUHlTCmVSUjBCZ0JRQUhZQWxwZGt2MVZZbDYzM1E0ZG9Od2hDZCtud090WDJwUE0yYmtha1B3L0txY1lBQUFHYXFFQTYKM1FBQUJBTUFSekJGQWlBWmYrN05tWks0VDFiMTdJUHdNQkpmbEdTYjlIQUJSaDNJcGt6WktMTmhGZ0loQU9NZQpTalJsa08yWXVhZEtxWWxXQitjZXd4RWFZTkIvcWlJdXN0bFVJNWtVTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCCkFRQXdUdGU1TTk5MFNiT2ZaVStEKzZGaVdib3JVRnNRcis3NFVIRTZ3U2ZianZGR2ZZaCtta3FqQmdab1E5cCsKZGNuUEdBa2hRZ00rK0orMGxCODRCNWRROHF3OXRvVFFjeEp3c0FGYWIyRjdpRSswM0x2eEtuZGVQOWp2MUhNMQpoNUplZUdkK2FwbTFueWNxazFDMmhRUXBGRHoxSWZ2dXhmSFN5UWU1dHptT2djdllMak5zRlY2Z2V4czdWQ3NRCnFSYy9RUGYrblg1SG5FRkhjUy9nb0V1OWFvKzZvNFptWDlNS1dWWjhTcmxGRlhMQnMzNEtSN3dnNlo5UEVWMXcKUXZhdDJYU0EvdVpiV2dmcTBreWR4L0ZjN09JVUV5b2RZd3ZqM3RlSDZ2VGR2NWNhOXFEYk1Gck9oN2F0a0tWbgpqdTU4ajVvMTkwUGpuRWtMWVllaXhyVmkKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCakNDQXU2Z0F3SUJBZ0lSQU1JU01rdHdxYlNSY2R4QTkrS0ZKand3RFFZSktvWklodmNOQVFFTEJRQXcKVHpFTE1Ba0dBMVVFQmhNQ1ZWTXhLVEFuQmdOVkJBb1RJRWx1ZEdWeWJtVjBJRk5sWTNWeWFYUjVJRkpsYzJWaApjbU5vSUVkeWIzVndNUlV3RXdZRFZRUURFd3hKVTFKSElGSnZiM1FnV0RFd0hoY05NalF3TXpFek1EQXdNREF3CldoY05NamN3TXpFeU1qTTFPVFU1V2pBek1Rc3dDUVlEVlFRR0V3SlZVekVXTUJRR0ExVUVDaE1OVEdWMEozTWcKUlc1amNubHdkREVNTUFvR0ExVUVBeE1EVWpFeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQgpDZ0tDQVFFQTJwZ29kSzIrbFA0NzRCN2k1VXQxcXl3U2YrMm5BekorTnBmczZER1BwUk9OQzVrdUhzMEJVVDFNCjVTaHVDVlV4cXFVaVhYTDBMUWZDVFVBODN3RWp1WGczOVJwbE1qVG1obkdkQk8rRUNGdTlBaHFaNjZZQkFKcHoKa0cyUG9nZWcwSmZUMmtWaGdUVTlGUG5Fd0Y5cTNBdVdHckNmNHlycXZTcldtTWViY2FzN2RBODgyN0pndmxwTApUaGpwMnlwelhJbGhaWjcrN1R5bXkwNXY1Sjc1QUVhei94bE5LbU96am1iR0dJVnd4MUJsYnp0MDVVaUREd2hZClhTMGpuVjZqL3VqYkFLSFM5T01aVGZMdWV2WW5udVhObkMyaThuK2NGNjN2RXpjNTBiVElMRUhXaHNEcDdDSDQKV1J0L3VUcDhuMXdCbldJRXdpaTlDcTA4eWhEc0d3SURBUUFCbzRINE1JSDFNQTRHQTFVZER3RUIvd1FFQXdJQgpoakFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdFd0VnWURWUjBUQVFIL0JBZ3dCZ0VCCi93SUJBREFkQmdOVkhRNEVGZ1FVQUxVcDhpMk9iekhvbTB5dGVENzYzT2tNMGRJd0h3WURWUjBqQkJnd0ZvQVUKZWJSWjVudTI1ZVFCYzRBSWlNZ2FXUGJwbTI0d01nWUlLd1lCQlFVSEFRRUVKakFrTUNJR0NDc0dBUVVGQnpBQwpoaFpvZEhSd09pOHZlREV1YVM1c1pXNWpjaTV2Y21jdk1CTUdBMVVkSUFRTU1Bb3dDQVlHWjRFTUFRSUJNQ2NHCkExVWRId1FnTUI0d0hLQWFvQmlHRm1oMGRIQTZMeTk0TVM1akxteGxibU55TG05eVp5OHdEUVlKS29aSWh2Y04KQVFFTEJRQURnZ0lCQUk5MTBBblBhblpJWlRLUzNyVkV5SVYyOUJXRWpBSy9kdXV6OGVMNWJvU29WcEhoa2t2Mwo0ZW9BZUVpUGRaTGo1RVo3RzJBcklLK2d6aFRsUlExcTRGS0dwUFBhRkJTcHFWL3hiVWI1VWxBWFFPbmtIbjNtCkZWaitxWXY4Ny9XZVkrQm00c04zT3g4Qmh5YVU3VUFRM0xlWjdOMVgwMXh4UWU0d0lBQUUzSlZMVUNpSG1aTCsKcW9DVXRnWUlGUGdjZzM1MFFNVUlXZ3hQWE5HRW5jVDkyMW5lN25sdUkwMlY4cExVbUNscVhPc0N3VUx3K1BWTwpaQ0I3cU9NeHhNQm9DVWVMMkxsNG9NcE9TcjVwSkNwTE4zdFJBMnM2UDFLTHM5VFNyVmhPays3TFgyOE5NVWxJCnVzUS9ueExKSUQwUmhBZUZ0UGp5T0NPc2NRQkE1MytOUmpTQ2FrN1A0QTVqWDdwcG1rY0pFQ0wrUzBpM2tYVlUKeTVNZTVCYnJVODk3M2paTnYvYXg2K1pLNlRNOGpXbWltTDZvZjZPclg3WlU2RTJXcWF6enNGckxHM28ya3lTYgp6bGhTZ0o4MUNsNHR2M1NiWWlZWG5KRXhLUXZ6ZjgzRFlvdG94M2YwZnd2N3hsbjFBMlpMcGxDYjBPK2wvQUswCllFMERTMkZQeFNBSGkwaXdNZlcybk5ISnJYY1kzTExIRDc3Z1JnamU0RXZldWJpMnh4YStObWsvaG1oTGRJRVQKaVZERmFub0NyTVZJcFE1OVhXSGt6ZEZtb0hYSEJWN29pYlZqR1NPN1VMU1E3TUoxTno1MXBodURKU2dBSVU3QQowenJMbk9yQWovZGZybEVXUmhDdkFnYnV3TFpYMUEyc2pOalhvUE9IYnNQaXkrbE8xS0Y4L1hZNwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdGekNDQlArZ0F3SUJBZ0lTQmY4M0diaU84a0lhWU9yYmMyeXhVRERmTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRJeE1UWXdOekEwV2hjTk1qWXdOREl4TVRZd056QXpXakFrTVNJd0lBWURWUVFECkV4bG1hWEpsWm14NWFXbHBMbUYwYUdGc2FXRndjSE11ZUhsNk1JSUNJakFOQmdrcWhraUc5dzBCQVFFRkFBT0MKQWc4QU1JSUNDZ0tDQWdFQTVheGxZLzkzWEtzMFhuOVJZY2YyaXdaanczZEMwTEJLdGpydHNEMVVSTkF3cGp1egpoTHJyS1Ruc09UTTNjUSsxRVJPeTdoSFg5cXNZeUZUSFZFSGx4czZhdjY0bDRPR1A2NEhtMWpiOXdiRTA1QkZFClM2dU1kQmhOUTNXSlUzb2ozeFFtamZaenVJUm51RzJwU1lIdWlSdUMvQkxWR0s1L2g3U0gwTFNuSmtlQjgzWXAKZTJla2tqandzYlcvSEprdmdRL05xTTd2ZW9XR2hjcjJ0endtOWpmT3B0aDFTUk10dHJqeFcvdHJ1aUFuanpUbwpoUm9UWFgxTmlXYmhqK2x3VkllNUtPRHdnOW12S1dReThkOUVCTWErRGIwYzArYUtmYnVGU0gyVEZmVGc0VjlxCndnSC9LdG5QaWNEWnkveHZGWFM1OEQrNHlDMWxKSlU3dERFS0VDbGdWd1dxa1V1Nm92bU5XNHgvYlM5dWROMGEKWFpSYnpKU3U0cDhXVk9PRWdJQ0tGSGFTOFZPcTJJVWtvNjd0NDdjNTVCQWpBcytPYTFMRS9QYUozaGpLV1plcQpwUUlGTWNCN280UGlkMndtVHhST1NuT2l4NGdUOXVqM3A0cW00aGFYenQ4NGwyRW1UMkVjdXVndTNKTEdZWnRUCmJVcVcwUUxFVi9KeEpGNFQyNGl3d21NWnAzbXFpY3RjOXd5by90czlLZmh2VDR4RHczQkpYUDN0NENkSDY0TUUKM2xzdzJvOWhtczNTUXlBTlJ6a1N1dTM5QzVHbjAwVHU3d1B4S0U2ZnVLR0trbHlKRmN5MlNUVkxoVEVMdGZvegpoVTJ0UDB6a1VKOFlLRkY1N01ldzVZeFhtYWZoVXJJZmV1TkR0cSsyV08zcldqbENRdlQvZW4zU2ZaRUNBd0VBCkFhT0NBakl3Z2dJdU1BNEdBMVVkRHdFQi93UUVBd0lGb0RBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFRWUkKS3dZQkJRVUhBd0l3REFZRFZSMFRBUUgvQkFJd0FEQWRCZ05WSFE0RUZnUVVNZ05PVGQ1MXU1UnR5MWJZNDFUawpDYVhIWkdBd0h3WURWUjBqQkJnd0ZvQVU1NnVmRHl3em9GUFRYazk0eUxLRURqdldrak13TXdZSUt3WUJCUVVICkFRRUVKekFsTUNNR0NDc0dBUVVGQnpBQ2hoZG9kSFJ3T2k4dmNqRXpMbWt1YkdWdVkzSXViM0puTHpBa0JnTlYKSFJFRUhUQWJnaGxtYVhKbFpteDVhV2xwTG1GMGFHRnNhV0Z3Y0hNdWVIbDZNQk1HQTFVZElBUU1NQW93Q0FZRwpaNEVNQVFJQk1DNEdBMVVkSHdRbk1DVXdJNkFob0IrR0hXaDBkSEE2THk5eU1UTXVZeTVzWlc1amNpNXZjbWN2Ck9UWXVZM0pzTUlJQkRRWUtLd1lCQkFIV2VRSUVBZ1NCL2dTQit3RDVBSGNBRm9NdHEvQ3BKUThQOERxbFJmL0kKdjhnajBJZEw5Z1FwSi9qbkh6TVQ5Zm9BQUFHYjRZVExIZ0FBQkFNQVNEQkdBaUVBL1Nab1JuRXdhSHNUUHhPZQp3SzdXWS9WNzlLUXEwMVo0Vm43cWh6VTRYcmdDSVFDYWljMUFQbms3Z0Q0azdZWXMxT21KaUdtbDljeVdhU3dBCmlHTzd0VVR6ZkFCK0FIRitsZlBDT0lwdHNlT0VTVDB4NFZxcFlnaDJMVUlBNEFVTTBHZTFwbUhpQUFBQm0rR0UKMHZBQUNBQUFCUUFIZTRQNEJBTUFSekJGQWlBN1lRb3E0N1I3ekZOQXR3b1NESU9WTmZoL0c2bndyVlkyU1JITgpZc0FaV1FJaEFKaTNoanVEUmNWRXFycDdmSlRNZ1Y4aUxFRko0YWZNL1lXRXhQblNGVThjTUEwR0NTcUdTSWIzCkRRRUJDd1VBQTRJQkFRQ05YcVVENlZwOFNJbmhRRVo5QXp3VDZpUUVSSkx0UUg4WTdGZ2lZVXg1Nis3aUErMDcKNHVyeWlnekg1UVh6aWlnN1ZmUmIrNXlXZW9ZNnhUaW1BZVRWLzNpRVJZeVFHMG1rS0I5SzBta3ltRnZzVXBTRgpnRHpPYnJkdVdpMjEvZEVUSmowdEs2cSt6cE9CTDRkRHlISURQK09GVEdlekF5enErY0FTdW9PZ0JYQXhFeUhvCmNqaVJabU12NitTTkJ6RUxBQTROSzh5S1pQOGJTN1F1d3JyYXZ2SitUZDM5eW94eHczWU5PL3NLNk1yc09JYXoKZGpMTUtvVTllNkNBQjBocVZrenZmVGRUeENTZnJpT1ZxVno3WDgrU01tMHIyOHEwbWVXclNKSzkrQ2g1MEExdgpwai9CSUdZRW5rVGViWmlhaVcyWXJ2RmtoWmkyVkNoa1NTckgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBNWF4bFkvOTNYS3MwWG45UlljZjJpd1pqdzNkQzBMQkt0anJ0c0QxVVJOQXdwanV6CmhMcnJLVG5zT1RNM2NRKzFFUk95N2hIWDlxc1l5RlRIVkVIbHhzNmF2NjRsNE9HUDY0SG0xamI5d2JFMDVCRkUKUzZ1TWRCaE5RM1dKVTNvajN4UW1qZlp6dUlSbnVHMnBTWUh1aVJ1Qy9CTFZHSzUvaDdTSDBMU25Ka2VCODNZcAplMmVra2pqd3NiVy9ISmt2Z1EvTnFNN3Zlb1dHaGNyMnR6d205amZPcHRoMVNSTXR0cmp4Vy90cnVpQW5qelRvCmhSb1RYWDFOaVdiaGorbHdWSWU1S09Ed2c5bXZLV1F5OGQ5RUJNYStEYjBjMCthS2ZidUZTSDJURmZUZzRWOXEKd2dIL0t0blBpY0RaeS94dkZYUzU4RCs0eUMxbEpKVTd0REVLRUNsZ1Z3V3FrVXU2b3ZtTlc0eC9iUzl1ZE4wYQpYWlJiekpTdTRwOFdWT09FZ0lDS0ZIYVM4Vk9xMklVa282N3Q0N2M1NUJBakFzK09hMUxFL1BhSjNoaktXWmVxCnBRSUZNY0I3bzRQaWQyd21UeFJPU25PaXg0Z1Q5dWozcDRxbTRoYVh6dDg0bDJFbVQyRWN1dWd1M0pMR1ladFQKYlVxVzBRTEVWL0p4SkY0VDI0aXd3bU1acDNtcWljdGM5d3lvL3RzOUtmaHZUNHhEdzNCSlhQM3Q0Q2RINjRNRQozbHN3Mm85aG1zM1NReUFOUnprU3V1MzlDNUduMDBUdTd3UHhLRTZmdUtHS2tseUpGY3kyU1RWTGhURUx0Zm96CmhVMnRQMHprVUo4WUtGRjU3TWV3NVl4WG1hZmhVcklmZXVORHRxKzJXTzNyV2psQ1F2VC9lbjNTZlpFQ0F3RUEKQVFLQ0FnQUphYjFtRWN4VWtmZTlmNzVZSVpmckxzSGIrd0ZVQ0VXbm5sYXJpSGZ4c2c2c1lYb0VFSjBldlc3LwpFU2hPaS9SQjFPcmFjd1RFNlZKRXM2VFB3VHVub0VRYll3bk9ZN0JBV0x5YlB2bTdmSVhNYXlDL2NUSjZkNXlECkRVZ3BrYkh5cktLLzRyL3ZhZzNPTTBCaThONVQ1RHJFRmdtQnozVU9uTW1NTmpzN2lHYTlFYlMxaUJQb29rakwKSDhYTGFFUFlLRXVuaFlPdkk5WFZtZkh1cEpwOE1PRlpXVG5GV3ZIZXNVbkRHVlRhOWdKcERpUVJnSFlXdU5INgp0YXE4K1RaUFlKaW9Jai81UjJ5MFo1VG04TjJheklKeGtiU2l3cW9lYVJjWFYzNDF3aW1OVXhuUEJjSHRnYXZOCjI0ZVJvckR5MGl2a3V0Zlo3SEpldzNjRTlaV1I3QjRsdkxCODBqT0hGUWgxbWFMWW5FSlIvL3ZlS3FrcXB3VEgKb1VselFMUnF6U0wvbWJ3T0h5RUxjWGkvMXU3MTc3ckVmRXh0aDZvb1prTlVlTytyRmlEdnFCT3g1VVdCbVR5SQplWlVTaGZ3T3hYenExVkJEVmQ1ZEI1R2RPNTF2Y0VBUU9JRlpkVGQ0UFhWeWVIT0dyM3hWYU9FcEhMUkt0SzcwCjFZaEVreU5jTi9zc2Jha08yS3VwOHlhYkdPaWozWGgwWlp2SjNKV2RhSGkycDRLcUhhT0RqaDY0SnI1SzFKbW4KVWtHV1RuL3ZIUkFFK2NnTTgyakRiVUpwUVhNVzlTMkVwQmtmWTRTcEphbG01OHlHQ3R4THBGUENsTm9HY2xHYgpqZjUweDhoNXpUK2UzZWlMR00rb3NJWW5uYXVSc2dTZmNIOXJnMkhsU0lPOVgrOTFnUUtDQVFFQStQZXU5UndvCjUwRFVHZk1BUENtNnM4cyt4ak5wSGlmeDluR2duRmFqR2E4NGNyU05vOGIrTURLWmZNeE9JQWhTOHNxMGpqdnQKLzZpSFU5STBGRFdRUE8wRWJlMTJpdHM5eU4ydUtRc01BbjVKS2h0elhXREhWODhva2R2UTV0WWIyZ3ZWQ1F1UgpBdjNtTGhzRG9CZTFuUnM5d2d0ZHpBUk9FbDljN3Q0enZtS1lOU3dDUnczaHJxTEx1VGRuVHZwcTltQWdRMWhRCjJVQTA0aFlVTWZpK2NkVXYvRUMrcjBHRGdSTVgzc1UrM0trSTFtcDhyUWw5dzg0QXpSMlpVNXlycWJRa3E4Vy8KUzNQWm9YZldJSHJvY2tEcS9zZWhpSk52T0p4WWkrWVNxazNNdEtzaitFRCtsNUdZSktPTUpmcG5zUGJMVnlUKwpKNTB4cHhLclZCTFp1UUtDQVFFQTdDa3h6VDhvUjNmNFgrNjllUldnUk5kcWV2MCtMalpsd0duOXcxeFV3SVk0CjJOeUNYbzF3MVdWU0M1RTBPdkxUYXZlbHg1VHc5NU9KbWxQdUIzeUZ1ckhrYVViUGNoTCs4OHJIK2d6NUlienIKUllqSFBsK3M0RHpuc3V6ZXVDWGhWWkN5VFBqTWpueUdkMGNiam0zR2FSWDl6TlpES2k5eVF5ZWx3dGwxV2IzbgpzNlhoQWNvbTEvR1NWM3FOc0w2MDNFRlF6VWZYOStCNzNkMzRobkpuUVdXb0hrZ0JhaUVoeWRRa1pWYUtwQU1RCnU1RmRpTGR3Z0JzZjIxWDByWEFXY28wOVEvSGI5dmFzT0xtNXI2YXhBbTNwL2xaME16aGc2b2ZXa0c0Ky9vdmEKNS85MGJFNHJuUnNxYlpJSDZ1djNXYVNKZXF3TnBnQ0FOSG12dmZoT21RS0NBUUVBemtDNjg1cDVsR01UazgvSgpVUTRzK3dnVW9EUTFFR045UTNJTTRaZXdsUFdoS1AzRkhYb2NXS2VDbW0zVEJ4eCtRMStFeHhTRTdiaWJLK2pICmRqcU5uTHVxWUx0SjZtMEl1V0JWQ1BGNjZKSGdZUDdPeXZ3RENRNjRpR1Yzb2RTY3pEM2pKaFFyOVRPTVBvUG8Kcy9jUVlQQVJjTERqNnNGaVFEdzZqRFVPM3RsbFNSK0ZYNEh6aGk2ZDRYb3hucTg4YjVGaENRbWdLT3JWSkx1dgp6VnBKdzVvZW43YXZnaGNmTDQ0Mnh6blhBdzBTSWplancrSktDeTJkWWsvMEZ0MkRKUnIxQ2t6UFZsM0tYTWNmCllGY1NQSnpsVVY3bXhuT0Z2M3RlcTc5VmxUclFySmZmTzZuMGdIS0FmVkgwSi81VGFycDU2RjdnSXNkS1BDUHUKUmI4OEdRS0NBUUFVWDhGeUtaNjUrN21yM1Jidm1WUUlYR1ZOVXdmSVNOMGlhb0tBRmpraG12TFFrc1dVanJOTApWY0JzU3d5c2dVS0lHZkZ0ZElZTmRlY0xMMjU3cXR5R3JNNDkzdVFLdldUTmQ1TWxHWFZzMmJXYWZDQmtXekM0Cjc4ZzFnWVg5Y1JjdG9Kd2hVOTJoOVZCTWZnLzhpNi93WlB0T2JyWEFyL00xby9nREJXdkFZRWZiRWRhRnB3RU8KNUVKeDFacmZ3clFyeEY3S053YUUxaE1ab3dyTDNwYlY1NFZIaDRMSHV6QUZENDVNUjlrU0tVbUtSUkpDdDBDMwpiSitrOXBkelZ4WTRyOEszVitoWU9CUEhtUTVSL3htS1VoMDcyZzJRVmE3V3pQMVAzSk1HdHQ0ZDRjWVRpZkx0ClRPaXVKMGtUbFdQemtlUmlkdkYrZnRDUXRtYlpCdEVSQW9JQkFRREVkazlFVFNtNzBZRkJ1Z3FIUzdSUU9ZVnMKN0VaazFqYVFKUXZ0Uy9OZGIxMmlDR0MrTWtUWFpBSVVJWlp5SGQ3aTRJem9QZVRyUEg5dExYODRpRkE2eTJoRQoybE5pVjV5WHIra25jdzlqQ3RhNWRpbmxDenpac0RZWW1DQXV0cEE0bktzRys1czhpYlNxSTdpU0M0ZSt2cTVoClFrenhrdEZmS0FzMDhkNFdaaFBRUWxDbEdRaHdUWjRONnRwMU5hRVgxcU1CQnE0L1NWRFdPZkRyK0lBYVFsYkkKNnlEWWQ5OFNIZGlJR1pxVVdhRlQrdWlrQ3EvMHpSLzZkRmJESXVsYUh6NXVodUZCQzlUcWtwdUpydG5sMGJidwpmb1NqZHo4TmtVZG1rVlNRNDZEb2ExZ0hQYjFrQlBranFzY3VaUDYyT0VTYlBTd2pQeGJTZTk0YTdQK1kKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -179,7 +179,7 @@ "domain": { "main": "changedetection.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdHRENDQlFDZ0F3SUJBZ0lTQmUzWkpNOERBcXA1VjlDdmJGUkJJOEhNTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXhNVEV4V2hjTk1qWXdNakU1TWpBeE1URXdXakFwTVNjd0pRWURWUVFECkV4NWphR0Z1WjJWa1pYUmxZM1JwYjI0dVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUIKQVFVQUE0SUNEd0F3Z2dJS0FvSUNBUURYY2RSOEJmc1hxT3RlV2tJdTVpa0VISFQyekg1YWpPZERFVmtTSHVBZQovMDUzQnJxSVB4L0ZiMmtpNUJLakFPNzBOSERXVC91OXlEaDFUZm5uN2pqaHRzY2p6cXlVd2p3dFZySEFzbzBiCnlxaGdkc25LM2d0eTZWTXhrTUk1N2NkSDIza2pHVTlhVy8xVTRBelUyM3FYV3B3am5xV1grSFNBVFc1UGxtZ3cKQnhCV3NCbWxoaStuQkI4YUlxUnpVclFLUFBwUCtxYjZkaFZ3Qm5hZ0ZiejJhWEh2TVI1cVZCekVHQTlBc3dFYwpVZFNQSFBRbUY5akNrUDZPc3pkRDg3dDEvbUNHelovVUY5MWdiSW04emR6ME5jWFFRSmM2Y3doTnJJSWV6OExlCnJ5NUsxNXRvQ08rdDVINGlpWkQzbGs2Mm55dXQyRWlBWHo0SmdnKzNPbkZiYzVHd3drY0hIMVg1RnhSYTkrZWEKR1NOdWhHTFRza3VHb1JzM0xPQ3IzUm1hRmFLeFpaNGNCRm5tZGpLclNPaklOWmNZU2orcHFrTm1LQzhIOXpzUgpwNExuNU1rcm5aSmxtcWNiZEh1d3FCYnBlM2dzRG93ZkdRNG5QSzc5Umh3dFdIQ0pNVVVlSEx6K2xPK0w5aStvClVqajJ1TTNFNHhGZFVDbGpHUmlycVpzVURYcDBkNHIwakNGSjFjTkdWZERNTld1aDl4bk5lWUcvNmw1R2NJYnYKWUIxOFlJMmtuTkswWDc1cWlxcVQzQ1d2LzFNeVd3SDRzUXRkQ2E1b1JZRllRai8xRnJMVWcvcWkvbVFUTGNYcwoxeGdtMGVlb2owbUc2REZkckpyZE5DNldRblRTUExuMkFwc2NoT3VEZndOM0xheHR1N0Zja1M1TDlUQUZvcllUClB3SURBUUFCbzRJQ0xqQ0NBaW93RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUYKQndNQkJnZ3JCZ0VGQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJRNXU5V1BWVjZXeENvcgpFRVZQTG40RmR4ZjlqVEFmQmdOVkhTTUVHREFXZ0JUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QXpCZ2dyCkJnRUZCUWNCQVFRbk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRNdWFTNXNaVzVqY2k1dmNtY3YKTUNrR0ExVWRFUVFpTUNDQ0htTm9ZVzVuWldSbGRHVmpkR2x2Ymk1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVgpIU0FFRERBS01BZ0dCbWVCREFFQ0FUQXVCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dmNqRXpMbU11CmJHVnVZM0l1YjNKbkx6YzNMbU55YkRDQ0FRUUdDaXNHQVFRQjFua0NCQUlFZ2ZVRWdmSUE4QUIyQUdRUnhHeWsKRXV5bmlSeWlBaTRBdkt0UEtBZlVIalVucStyKzFRUEpmYzN3QUFBQm1xaEFYRkFBQUFRREFFY3dSUUloQUs3eApOY3QrcjF6Zm1xSDZQWXVRUjA2RXo4bDZUblRlOEkvTG5lcm4xekltQWlCUmV2UVJCSmFkYUJ1Nmt2WElyR3RJClR4dVdicjViU3RRVUhUdWt6RS9rd3dCMkFNczQ5eFdKZklTaFJGOWJ3ZDM3eVc3eW1sbk5Sd3BwQllXd3l4VEQKRkZqbkFBQUJtcWhBWEdZQUFBUURBRWN3UlFJaEFMNzRwWTN5clVUS01VNWh5SFh5UlJjVE1BSHlvUldFQk5OagpkODFBM2IxY0FpQjVJcUNlMTJxOGNSTEhZN3UzZHRCM1FaVHYzZWh3MDJkQmhtNi9wWjZHYWpBTkJna3Foa2lHCjl3MEJBUXNGQUFPQ0FRRUFPQ25wSXE2NkNVNGNVMUpnTGprZ0ZldWxTWnlFR0lxYTZ3REZHS3ZYM1pRbU5MMHgKNFQ3aUdsZTdtS1pnaHFVZ1RqK1NOTHIrb21TcDhiTk5yT3JySVJWTFJFSFplWkc5Z3ZPWVlqUXNoNUtodks2UQp1c1ZrbGYveVF3amNvaG5LU0lvQ2FhSlRNOUFmaGhDUGNlc2dSRmpydVc5bmZRdWp1Q1Zjam5mUUl4S082NDR6CjhRQ3NHbVdiVjBpWFgzc2Jsd2xnYUp4eWFvZnIvL1J0ZDdXOGVyTUFNbjQrY1VBYWdxZSt3OFNJRUhLdkRGZGQKNFhlNldCLzVQdHFSbHVlWjY1SzZGSWRUb1orOGhzdG5HRWhpdWFlQkxGamVsUlNGTlIvOUpvU0VuVlYyREk4cQowRTFWUW4yL1c0VkJBQjljNlBXM0RyZlkvL1I0TTZhc1ordWRidz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQlRDQ0F1MmdBd0lCQWdJUVdnRHlFdGpVdElEemtrRlg2aW1EQlRBTkJna3Foa2lHOXcwQkFRc0ZBREJQCk1Rc3dDUVlEVlFRR0V3SlZVekVwTUNjR0ExVUVDaE1nU1c1MFpYSnVaWFFnVTJWamRYSnBkSGtnVW1WelpXRnkKWTJnZ1IzSnZkWEF4RlRBVEJnTlZCQU1UREVsVFVrY2dVbTl2ZENCWU1UQWVGdzB5TkRBek1UTXdNREF3TURCYQpGdzB5TnpBek1USXlNelU1TlRsYU1ETXhDekFKQmdOVkJBWVRBbFZUTVJZd0ZBWURWUVFLRXcxTVpYUW5jeUJGCmJtTnllWEIwTVF3d0NnWURWUVFERXdOU01UTXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUsKQW9JQkFRQ2xaM0NOMEZhQlpCVVhZYzI1QnRTdEdaQ01KbEEzbUJaamtsVGIyY3lFQlpQczArd0lHNkJnVVVOSQpmU3ZIU0phZXRDM2FuY2duTzFlaG42dncxZzdVRGpES2I1dXgwZGFrblRJK1dFNDFiMFZZYUhFWC9EN1lYWUtnCkw3SlJiTEFhWGJoWnpqVmx5SXVocnhBMy8rT2NYY0pKRnpUL2pDdUxqZkM4Y1N5VERCMEZ4THJIemFySlhuelIKeVFIM25BUDIvQXBkOU5wNzV0dDJRbkRyOUUwaTJnQjNiOWJKWHhmOTJuVXVwVmNNOXVwY3R1QnpwV2pQb1hUaQpkWUorRUovQjlhTHJBZWs0c1FwRXpOUENpZlZKTllJS05MTWM2WWpDUjA2Q0RnbzI4RWRQaXZFcEJIWGF6ZUdhClhQOWVuWmlWdXBwRDBFcWlGd1VCQkREVE1yT1BBZ01CQUFHamdmZ3dnZlV3RGdZRFZSMFBBUUgvQkFRREFnR0cKTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQ0JnZ3JCZ0VGQlFjREFUQVNCZ05WSFJNQkFmOEVDREFHQVFILwpBZ0VBTUIwR0ExVWREZ1FXQkJUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QWZCZ05WSFNNRUdEQVdnQlI1CnRGbm1lN2JsNUFGemdBaUl5QnBZOXVtYmJqQXlCZ2dyQmdFRkJRY0JBUVFtTUNRd0lnWUlLd1lCQlFVSE1BS0cKRm1oMGRIQTZMeTk0TVM1cExteGxibU55TG05eVp5OHdFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3SndZRApWUjBmQkNBd0hqQWNvQnFnR0lZV2FIUjBjRG92TDNneExtTXViR1Z1WTNJdWIzSm5MekFOQmdrcWhraUc5dzBCCkFRc0ZBQU9DQWdFQVVUZFlVcUVpbXpXN1Rick95cExxQ2ZMN1ZPd1lmL1E3OU9INWNITENaZWdnZlFoRGNvbmwKazdLZ2g4YjB2aSsvWHVXdTdDTjhuL1VQZWcxdm8zRyt0YVhpcnJ5dHRoUWluQUhHd2MvVWRiT3lnSmE5enVCYwpWeXFvSDNDWFRYREluVCs4YStjM2FFVk1KMlN0K3BTbjRlZCtXa0RwOGlqc2lqdkV5RndFNDdodWxXMEx0empnCjlmT1Y1UG1yZy96eFdiUnVMK2swREJESEVKZW5uQ3NBZW43YzM1UG14N2pwbUovSHRnUmhjbnoweWpTQnZ5SXcKNkwxUUl1cGtDdjJTQk9EVC94REQzZ2ZRUXlLdjZyb1Y0RzJFaGZFeUFzV3Btb2p4akNVQ0dpeWc5N0Z2RHRtLwpOSzJMU2M5bHliS3hCNzNJMitQMkczQ2FXcHZ2cEFpSENWdTMwalc4R0N4S2RmaHNYdG5JeTJpbXNrUXFWWjJtCjBQbXhvYmIyOFR1Y3I3eEJLN0N0d3ZQcmI3OW9zN3UyWFAzTzVmOWIvSDY2R055UnJnbFJYbHJZakkxb0dZTC8KZjRJMW4vU2d1c2RhNld2QTZDMTkwa3hqVTE1WTEybUhVNCtCeHlSOWN4MmhoR1M5ZkFqTVpLSnNzMjhxeHZ6NgpBeHU0Q2FEbVJOWnBLL3BRclhGMTd5WENYa21FV2d2U09FWnk2WjlwY2JMSVZFR2NrVi9pVmVxMEFPbzJwa2c5CnA0UVJJeTB0SzJkaVJFTkxTRjJLeXNGd2JZNkIyNkJGZUZzM3Yxc1lWUmhGVzluTGtPclFWcG9yQ1MwS3labWYKd1ZEODlxU1RsbmN0TGNabklhdmpLc0tVdTFuQTFpVTB5WU1kWWVwS1I3bFdibndoZHgzZXdvaz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdGakNDQlA2Z0F3SUJBZ0lTQmFKV2IrdFRybExEcDZJMm9DNFpva3RTTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXdOekV5V2hjTk1qWXdOREl4TVRZd056RXhXakFwTVNjd0pRWURWUVFECkV4NWphR0Z1WjJWa1pYUmxZM1JwYjI0dVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUIKQVFVQUE0SUNEd0F3Z2dJS0FvSUNBUURYY2RSOEJmc1hxT3RlV2tJdTVpa0VISFQyekg1YWpPZERFVmtTSHVBZQovMDUzQnJxSVB4L0ZiMmtpNUJLakFPNzBOSERXVC91OXlEaDFUZm5uN2pqaHRzY2p6cXlVd2p3dFZySEFzbzBiCnlxaGdkc25LM2d0eTZWTXhrTUk1N2NkSDIza2pHVTlhVy8xVTRBelUyM3FYV3B3am5xV1grSFNBVFc1UGxtZ3cKQnhCV3NCbWxoaStuQkI4YUlxUnpVclFLUFBwUCtxYjZkaFZ3Qm5hZ0ZiejJhWEh2TVI1cVZCekVHQTlBc3dFYwpVZFNQSFBRbUY5akNrUDZPc3pkRDg3dDEvbUNHelovVUY5MWdiSW04emR6ME5jWFFRSmM2Y3doTnJJSWV6OExlCnJ5NUsxNXRvQ08rdDVINGlpWkQzbGs2Mm55dXQyRWlBWHo0SmdnKzNPbkZiYzVHd3drY0hIMVg1RnhSYTkrZWEKR1NOdWhHTFRza3VHb1JzM0xPQ3IzUm1hRmFLeFpaNGNCRm5tZGpLclNPaklOWmNZU2orcHFrTm1LQzhIOXpzUgpwNExuNU1rcm5aSmxtcWNiZEh1d3FCYnBlM2dzRG93ZkdRNG5QSzc5Umh3dFdIQ0pNVVVlSEx6K2xPK0w5aStvClVqajJ1TTNFNHhGZFVDbGpHUmlycVpzVURYcDBkNHIwakNGSjFjTkdWZERNTld1aDl4bk5lWUcvNmw1R2NJYnYKWUIxOFlJMmtuTkswWDc1cWlxcVQzQ1d2LzFNeVd3SDRzUXRkQ2E1b1JZRllRai8xRnJMVWcvcWkvbVFUTGNYcwoxeGdtMGVlb2owbUc2REZkckpyZE5DNldRblRTUExuMkFwc2NoT3VEZndOM0xheHR1N0Zja1M1TDlUQUZvcllUClB3SURBUUFCbzRJQ0xEQ0NBaWd3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUYKQndNQkJnZ3JCZ0VGQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJRNXU5V1BWVjZXeENvcgpFRVZQTG40RmR4ZjlqVEFmQmdOVkhTTUVHREFXZ0JRQXRTbnlMWTV2TWVpYlRLMTRQdnJjNlF6UjBqQXpCZ2dyCkJnRUZCUWNCQVFRbk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRJdWFTNXNaVzVqY2k1dmNtY3YKTUNrR0ExVWRFUVFpTUNDQ0htTm9ZVzVuWldSbGRHVmpkR2x2Ymk1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVgpIU0FFRERBS01BZ0dCbWVCREFFQ0FUQXVCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dmNqRXlMbU11CmJHVnVZM0l1YjNKbkx6Z3pMbU55YkRDQ0FRSUdDaXNHQVFRQjFua0NCQUlFZ2ZNRWdmQUE3Z0IxQUVtY20ybmUKSFh6cy9EYmV6WWRrcHJoYnJ3cUhnQm5SVlZMNzZlc3AzZmpEQUFBQm0rR0U2WThBQUFRREFFWXdSQUlnWTlWOQppb0o2ZDdTdXVhazNoNXVkNmRQL2xLUXMxakFVbmxnZjhUSURlM1VDSUVlbVJua0V1dy9OUHJ0YjI0WU0zNHU5CjNWT3JJc0h6dWNSRzhqQjN5OVREQUhVQUZvTXRxL0NwSlE4UDhEcWxSZi9JdjhnajBJZEw5Z1FwSi9qbkh6TVQKOWZvQUFBR2I0WVRwcXdBQUJBTUFSakJFQWlCZkhhMmdHTk40RHZLR3hEejRsRnU3OFFlM0U5a2xZeFhFTFVUbApEUWtBZmdJZ1J1MXh5c2Q3MWFRVS9Wazd3TnFlY0RqekgyY3FtOGV4Uk5HVEdURjY5WDB3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dFQkFLZmFDNXRGS2JMVTB3L3pVcE52TDQwenhjWTJJaEk3THNFRG9jc3AzTWUxSGlTYk1Rd2YKdWk1cGF4MGpCMGFlUVQ1SDBCRTB4eVMwSmk3SitWbHN6aVNuOHFGSFVuTDFBRHU1Y1pPMk1TZGVmU3cyOTNEbwpkQlY1Sy8wUjB0RlJQdm1PblFXeHBBN3JKbTRrejVndi9lZCtvVmRJZU9NTWh0Ui9LaUxPZ3F2N1hZQ0x3MlIyCm8xUDVwelg5aVlXV0wxbGxlZUh2L3RFbkp1b0dFQ1FNTjlyWnVHd25wZmpVdWNiK0xsd0d6aFZycDhRWFkrVE4KbXI2VTFEMHA1bFgxUkl1S1JMWlc1U0d6a2RQR3U3MDZMckx1eVgrWmxoTElhZnBDVXlhUVQyenhxOWJPVEIvKwpDUWZrS21PUlpLd3dwQldQeTJoQUtONHYrN1ZCck9uZEFDST0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCakNDQXU2Z0F3SUJBZ0lSQU1JU01rdHdxYlNSY2R4QTkrS0ZKand3RFFZSktvWklodmNOQVFFTEJRQXcKVHpFTE1Ba0dBMVVFQmhNQ1ZWTXhLVEFuQmdOVkJBb1RJRWx1ZEdWeWJtVjBJRk5sWTNWeWFYUjVJRkpsYzJWaApjbU5vSUVkeWIzVndNUlV3RXdZRFZRUURFd3hKVTFKSElGSnZiM1FnV0RFd0hoY05NalF3TXpFek1EQXdNREF3CldoY05NamN3TXpFeU1qTTFPVFU1V2pBek1Rc3dDUVlEVlFRR0V3SlZVekVXTUJRR0ExVUVDaE1OVEdWMEozTWcKUlc1amNubHdkREVNTUFvR0ExVUVBeE1EVWpFeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQgpDZ0tDQVFFQTJwZ29kSzIrbFA0NzRCN2k1VXQxcXl3U2YrMm5BekorTnBmczZER1BwUk9OQzVrdUhzMEJVVDFNCjVTaHVDVlV4cXFVaVhYTDBMUWZDVFVBODN3RWp1WGczOVJwbE1qVG1obkdkQk8rRUNGdTlBaHFaNjZZQkFKcHoKa0cyUG9nZWcwSmZUMmtWaGdUVTlGUG5Fd0Y5cTNBdVdHckNmNHlycXZTcldtTWViY2FzN2RBODgyN0pndmxwTApUaGpwMnlwelhJbGhaWjcrN1R5bXkwNXY1Sjc1QUVhei94bE5LbU96am1iR0dJVnd4MUJsYnp0MDVVaUREd2hZClhTMGpuVjZqL3VqYkFLSFM5T01aVGZMdWV2WW5udVhObkMyaThuK2NGNjN2RXpjNTBiVElMRUhXaHNEcDdDSDQKV1J0L3VUcDhuMXdCbldJRXdpaTlDcTA4eWhEc0d3SURBUUFCbzRINE1JSDFNQTRHQTFVZER3RUIvd1FFQXdJQgpoakFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdFd0VnWURWUjBUQVFIL0JBZ3dCZ0VCCi93SUJBREFkQmdOVkhRNEVGZ1FVQUxVcDhpMk9iekhvbTB5dGVENzYzT2tNMGRJd0h3WURWUjBqQkJnd0ZvQVUKZWJSWjVudTI1ZVFCYzRBSWlNZ2FXUGJwbTI0d01nWUlLd1lCQlFVSEFRRUVKakFrTUNJR0NDc0dBUVVGQnpBQwpoaFpvZEhSd09pOHZlREV1YVM1c1pXNWpjaTV2Y21jdk1CTUdBMVVkSUFRTU1Bb3dDQVlHWjRFTUFRSUJNQ2NHCkExVWRId1FnTUI0d0hLQWFvQmlHRm1oMGRIQTZMeTk0TVM1akxteGxibU55TG05eVp5OHdEUVlKS29aSWh2Y04KQVFFTEJRQURnZ0lCQUk5MTBBblBhblpJWlRLUzNyVkV5SVYyOUJXRWpBSy9kdXV6OGVMNWJvU29WcEhoa2t2Mwo0ZW9BZUVpUGRaTGo1RVo3RzJBcklLK2d6aFRsUlExcTRGS0dwUFBhRkJTcHFWL3hiVWI1VWxBWFFPbmtIbjNtCkZWaitxWXY4Ny9XZVkrQm00c04zT3g4Qmh5YVU3VUFRM0xlWjdOMVgwMXh4UWU0d0lBQUUzSlZMVUNpSG1aTCsKcW9DVXRnWUlGUGdjZzM1MFFNVUlXZ3hQWE5HRW5jVDkyMW5lN25sdUkwMlY4cExVbUNscVhPc0N3VUx3K1BWTwpaQ0I3cU9NeHhNQm9DVWVMMkxsNG9NcE9TcjVwSkNwTE4zdFJBMnM2UDFLTHM5VFNyVmhPays3TFgyOE5NVWxJCnVzUS9ueExKSUQwUmhBZUZ0UGp5T0NPc2NRQkE1MytOUmpTQ2FrN1A0QTVqWDdwcG1rY0pFQ0wrUzBpM2tYVlUKeTVNZTVCYnJVODk3M2paTnYvYXg2K1pLNlRNOGpXbWltTDZvZjZPclg3WlU2RTJXcWF6enNGckxHM28ya3lTYgp6bGhTZ0o4MUNsNHR2M1NiWWlZWG5KRXhLUXZ6ZjgzRFlvdG94M2YwZnd2N3hsbjFBMlpMcGxDYjBPK2wvQUswCllFMERTMkZQeFNBSGkwaXdNZlcybk5ISnJYY1kzTExIRDc3Z1JnamU0RXZldWJpMnh4YStObWsvaG1oTGRJRVQKaVZERmFub0NyTVZJcFE1OVhXSGt6ZEZtb0hYSEJWN29pYlZqR1NPN1VMU1E3TUoxTno1MXBodURKU2dBSVU3QQowenJMbk9yQWovZGZybEVXUmhDdkFnYnV3TFpYMUEyc2pOalhvUE9IYnNQaXkrbE8xS0Y4L1hZNwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBMTNIVWZBWDdGNmpyWGxwQ0x1WXBCQngwOXN4K1dvem5ReEZaRWg3Z0h2OU9kd2E2CmlEOGZ4VzlwSXVRU293RHU5RFJ3MWsvN3ZjZzRkVTM1NSs0NDRiYkhJODZzbE1JOExWYXh3TEtORzhxb1lIYkoKeXQ0TGN1bFRNWkRDT2UzSFI5dDVJeGxQV2x2OVZPQU0xTnQ2bDFxY0k1NmxsL2gwZ0UxdVQ1Wm9NQWNRVnJBWgpwWVl2cHdRZkdpS2tjMUswQ2p6NlQvcW0rbllWY0FaMm9CVzg5bWx4N3pFZWFsUWN4QmdQUUxNQkhGSFVqeHowCkpoZll3cEQranJNM1EvTzdkZjVnaHMyZjFCZmRZR3lKdk0zYzlEWEYwRUNYT25NSVRheUNIcy9DM3E4dVN0ZWIKYUFqdnJlUitJb21ROTVaT3RwOHJyZGhJZ0Y4K0NZSVB0enB4VzNPUnNNSkhCeDlWK1JjVVd2Zm5taGtqYm9SaQowN0pMaHFFYk55emdxOTBabWhXaXNXV2VIQVJaNW5ZeXEwam95RFdYR0VvL3FhcERaaWd2Qi9jN0VhZUM1K1RKCks1MlNaWnFuRzNSN3NLZ1c2WHQ0TEE2TUh4a09Kenl1L1VZY0xWaHdpVEZGSGh5OC9wVHZpL1l2cUZJNDlyak4KeE9NUlhWQXBZeGtZcTZtYkZBMTZkSGVLOUl3aFNkWERSbFhRekRWcm9mY1p6WG1CditwZVJuQ0c3MkFkZkdDTgpwSnpTdEYrK2FvcXFrOXdsci85VE1sc0IrTEVMWFFtdWFFV0JXRUkvOVJheTFJUDZvdjVrRXkzRjdOY1lKdEhuCnFJOUpodWd4WGF5YTNUUXVsa0owMGp5NTlnS2JISVRyZzM4RGR5MnNiYnV4WEpFdVMvVXdCYUsyRXo4Q0F3RUEKQVFLQ0FnQnF4aDlvMkEzNVM5NWFoS0VJWFVrMm9HUFhiTUd5WHVLK2VucUtZSUx5MmRVcGFFeEorZjdrK3JKQQplSWhFQU5Kc2RSRDNKZXk5d2QwNVJjdjFCanRxb2d0UDA3MzBlODhYS1VBdklFNk8xNEZiVFlQMDV0Y0Z2RjFlCjB6OXZOa2p0Yy9nMVRQWG04bkE3QUU5YnJ1cXkyRlZKMGZaL3VzTUNVMTI0VS9LTzJ2RmVCU2l3d0RBZHRnMDAKQnJjNThHTUtMKzVlZFBzTVpqbDVxN3BlM0djcU9GZ2ZFMWpmbVpBb0gwUnY3RWRBb2MyV24rTGdmakVQUEl6cwpiQ1dYcDlQZ1JwSFFQVmhZNVByeUx0aVVtZkpIbGQ3VHR5ODc2SWJVK0FvRSt6SzQ2bGttL25RbXUwY09CNC83CnpmSHF3ck9BRHFLM0pkbkl4V3NaaXp2K3N4ZzZNZHBtL2JSZjYxa2lxZ0FXQWNQbWtubWQ3Z0JYMGNXN2R0S0MKeWlzRGZhQmtGU0VOMmgxSkZkZitIeUJWTUFuSGR3UHczTks2dkdHK3JtUXB1eE1IWStGR3RHN3o3bzRYWGg1YQpzZVZOU2lwMkpZMlZNVUlRbU9ick5hU0JITThFRGhQR05RRkZzYUVLd1p0RTNFeW9lcDFpTjhnK3RTRkg2Wmo4CnhHaDZlLzF3Z0p1MFRYRnpuc0VOSmZOWUlyZEhFQ3ZUQ1ZGeDY0UWE5NEhocEZEY2RvTXVGRnNHeXlmNjVRT08KTld3bmpnWXdBQ2JJYWxKOVBaRVAzaFB2OTRHaW1hcXNGUHBDQ3A4K2dOQVFnMEh2V1d1RjR6U1ZDR0paVUh5QgpFNElsU1dQSkRuTERjWHIzNW5BSWxkVk9BOXA1d0o4eHkvVjVFWHdldXAvZW00NVVBUUtDQVFFQTVyVzVoQ3lNCldZcXFEenVyV3U5eldTWUlyVFlyTTcrNklhbC9NQWdKeWNmVkZYR2JkRktxU3ZGTDVnNWN0QlpVZ3hoajZnZFMKOS9OZGJxRG03SnJhTSt1MFFIYlZHY0VnNHBhUnV2bzcvNWlJV1UxZGYxbFA2SnNWamJUREVUZEpBM2tZdHBQVQpWMWkwNkhQNUZRYStBWFFoMWwxQnBZcDVwTnlmSzNiWWxDVStiNkN3eXI0dFI3SjVPcnZHcWNVQU1TZENQMjI2CjZpNy9ud0VlbHZOM2hyUE0vRzRGRGRKcVZCMzV4QjVETHhUSFFWLzFZOW5Kb1kxZzFYVUhJcXdoVmF4OEltTW8KNWhZTGZtcVpHd1UwU05MRkFQTUsvblk0U2d6NEFVandtYnRjK1pHK3lrNTlRSlVTVkVlanFpblMrVDUrbGNtMwo4R29MUDdiWS9HRWpqd0tDQVFFQTd3KzZCQ0ZPNDV4Sk5IZVZIYVhjN1NLWXVtOXpJa0VKMEV1dkw2OXFBK2RTCkVwQWwzc3VMalVNZVNrbzdTS2tueGhQMGJ0SUJWQUxsQ1BzbUY0T3lXa3ozY1hTUzBIbXoyYkRBbEc0S212QmgKQWRxa3MxV1p3a3d4L28zWTF6SFByRXhHeTFmTEFtQUhVZU93TkFCRlR2VUhxbDFyVE9tSGhqZUhhckMyek9LeAprS09nQ2xPMHVrNndoTlNRNXJEci9VN3hGSFBkbmtoYjhsc3hJaEdTQlkyM1JzdHJ6akRyWEptN1BDQWpVcW9GCk1Va3RNWFdPQlFuY0RacmdhbExkYkpqNTF3RU1yb2R6cjBiRlZYSGg5TFlnNFdTcE1RME5KU2lMNFVUZG9iRmcKUEE2Umhabk9QNUNqL3ZoV0xNNlFFT3dtUzY0WkdPZ3hKUGJVNmhOOVVRS0NBUUJWU2pFL0w4ampBV1JGSldYLwp4QzM4Y3hjYUVjQis3UTQraTQ2OWp2c3ZZWFRnN0pMdnVlL0NyTm5HUHVEK29wS3p0RHlidEFGME1NQUZ1ZTRrCjRrcHdqMTZmeGs2WnF0QWhkRkNEc3lhakl4eWxCdmpkcjRMZkZ4WXN3UHFzVHFmclpNVkNHZnlTSGZValNseDIKN1hzb3htb0wrWVhmVVFZUGNKQlhYU1JNQUVqSXM3c24rSTU4eHZvU1FJRDlHaHNzRUx0by80UHVOMW5BeW9VbwpnUEZiRnZWZERMOUprTlJHTEo2OVpnS29VU0lvaFBVTzZPQ2xuTUtEcHpQd0dYcHBWYzYrVjdJeS9VdGFmTVlGCk96Tk5DTDVUejRYczlIOXl3TUNlbVB4NW1NNlNaTk1IcjJTV2o0V3JLcURTczR1UElROWpDS083ZVRpWFlWMXUKVCtyNUFvSUJBUURkTjN0VnVSRE1WT0gwK0RkM2dQV0lSbng0QVF2VWhjUzBDR1VyUmpKZlBGNVpLU1N5SHo2YQowS0lsOHIwYlJ0UzBXZURWNytVa3ZhejllNUpMTGlZTG82OVNRS0plNGsvSVFPUmtOZFFBZmpIMlNrSWdaVFRzCmRCL0xRNjJGck9WVXRoeklyQXdDdmFQb1pqNjJVQTNTdTdHRk4vOUQ0OUh5SkU1ZUx2cHBhOWtPVkN1VGd0UDUKbHptSElVQ1pDTnpId1pZYTdBRUhLRVJWWjRkMjFEV0FpQnd5R2FrLzIwcmduSzJEUE9ZUzU1djRlSk9tY2ZhaQp1UFgxYlB6L3hvQjVyckY3QU5DZ2JGMWpzNlNGcGVXRzBrWm83QUlZanRBOE0ySUZhZm1CVjZjS3pCeGpPZWwrCkxyVmpDcUNMdy9YU2d3UUpBaWpkUUhmQmtkdUNZOWlSQW9JQkFDQTFyOHg5VG1xQnN5eGFxWUt6S2ZYdUpFYVkKTW5Tb3E4RDhHSi80OXZueWlTNDFIWE04akhobWN2bW9GaGlZdTRhS3M2SjdlVUhlSTh1WUkvNTA2d2IvRzR1SQphWk1zQkU1M012QUlIRmdMN1poSlN5TVFiMmlnUWd1dDYzNlNMd2lmM2QrOFplK1pCMDUwZktWYVVMVHpvRytRCkNwa01FMmY0WG5XMDJreThTR2FMbXcyMVY0SjEwYWVzSFB3M1pZaFZCNEhiTzhNVU9uOE5HdzJjYi8vU0M1NkkKdkFjdjFhbzFUVU1oYmowM21TeWJ5WFE5NHhaVnBXZnN4Y0w3WVk3emM0bTA0ZmZPc3d2OU1McEVQNVQ4ZUNBQgptYVBYRGNaQWp2RUxNMDNVeXNLcjVOOHZjUEVMbHIrWFF5NlFFV0xZdkE4a3lHOTkvd0tHNk81bUJaND0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -187,7 +187,7 @@ "domain": { "main": "resume.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCekNDQk8rZ0F3SUJBZ0lTQlFxM2JnTGZpVTJtVFlaMDRnNUhFWmJNTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXhNVEU1V2hjTk1qWXdNakU1TWpBeE1URTRXakFnTVI0d0hBWURWUVFECkV4VnlaWE4xYldVdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUURXS3Y3RWYrR21USVRaVEsvRXVHSWxBV3hKaDVQUnZPUzdBTHFhcE1ld2I0Ym83OWdPSExpYgo0dFd4VmQ4YXFzQThFM2Nmcks4Q1VlTzNmeGtLelI3RWZVcThuTzdBbG5LQVFJb1JkdEpQRGt1Y3ZnQmlTalhoCjdHbWhGRXJCZ25VMFFpdHBLemF3cTkraENSSko5RCt4YlFzVExFTDNJU04rVWtKYllJMW1WcllLdGRwTllmNVkKZEtBVnUwWnhYMCt2MElpcHNCR0R1QnF2cUNhK2xiaGR5QXhEZEVzeXNZYzFIb0djTlBxM1M2OTlPMk9QOFB5eApLT1dBNTNyQksramZ5RFl0NnZPbkxKWG1saysrTGV2bWptTW5HakZZQWtQT0tyTXpDN3dadU1DeHFnbkdTUUk1CkxIZU5QRGczVU9wMlZOUzV6M0hrN0VJcGJkWDVYS0tzczNCK0lUN1JEaTB4b3lVL2Z6QXNlMEZFTFJ6RGZVZG4KcXVpUW9XRW40TDI1citGZkcvVTVxeThtSE00bzdrQ3lwQmpaZHQ4STExcGFwRzN0Mi9qc3MwY3lDT2dPeU9iNAo1WE9SdkhsVUR3TTZjbHZZY0d2aXFvV2VlOFRUMkI4YUl6dUNXczFTTzdkTHZ6Z3licEJJakRwNGhCeU44Mk1lCi9zUGlDMitGUFhHc0JkWWZLRGltY1YyVThmcjIyb0JURjI2eDhOa1EzdzFsMDVNWnhkSzR5WFloUXNCalJ1RXQKTmZUMk9PWDhIL3p4WU9LYkZ2c214Yk9ZSXQwdWxnRTVHL0tiSFJGcjIzc2t5VktlM0s1VkxlNjdoejZJekEyUApyWHRUcHRFUTJyTThBaTBYQzBUTXQyUEM5UG5QSnYxZGtsMGEwZXFjbmdRS3cxNlZBeHNLcFFJREFRQUJvNElDCkpqQ0NBaUl3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJSeTRRZURIUkk1NkRHeTR6c2NrV2c3NXE2NwpwVEFmQmdOVkhTTUVHREFXZ0JUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRNdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZYSmxjM1Z0WlM1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdQpCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dmNqRXpMbU11YkdWdVkzSXViM0puTHpjM0xtTnliRENDCkFRVUdDaXNHQVFRQjFua0NCQUlFZ2ZZRWdmTUE4UUIyQUJtRzFNY29xbS8rdWdOdmVDcE5BWkdxemkxeU1RK3UKemwxd1FTMGxUTWZVQUFBQm1xaEFlWm9BQUFRREFFY3dSUUloQU9LYjdDNWg2TllJY08vV0gyRmZtK1oyRGFBYwo0dlpOY05mMkVROWFVMGxrQWlBZ091MlF4UWJtWWFYaUJPWW95ZFA2MGZac1BiVGt2MmYwdktlcWtVZFE2d0IzCkFNczQ5eFdKZklTaFJGOWJ3ZDM3eVc3eW1sbk5Sd3BwQllXd3l4VERGRmpuQUFBQm1xaEFlYmNBQUFRREFFZ3cKUmdJaEFOSnZHdEMxdWYwNzB0VVV4WFE3VzA3ak9KY1MvNHpNYlZqK0g5YmlCSGxTQWlFQWdpQzZMWSs5RlBoYwpqdW1vcGYvTEkxT3Qzb2ZmSmNOODQ4a3lTQ2RwYmlrd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFDVE5LZE0rCnFvVlVYWktyS1BRQmFSWkFOV2hneWxXZ1BOaDEvUzRjaXp5enJMSERpMm5iNU9EODdsSFp0ZXFBVDJuUGRvSmIKSmpadFJxb3VMWlBGTUQ3UnQxQW0vdnZ6TFdnN05uTzJxcnFBR3lwTXZFeXFGMjIraXVRTDd0cEc5LzZNQXVUSApiU05iUnVZcVQ4Nkh3M1JEZkozTGp2R3FpRmsxMk83dTRES3dmSGhyTUdvMVdpdkwraThicTBSQmFuMUxxa0pzCjB0NFRBUGw5LzV3USttYzArQVNYRHdWbTJOc3o4OUh6akhESXEzREVrZXh4TTgrUlFJdlFxWUJ4Yzc0ZjgzSmEKRktlOVFZSDBESG9RWkVZOUgrYVpSbFZUd1R2T2REWWdqN2VQYk1ld25ybEtVQVVkM2FwUGFuVDg1UkNFQTQ5cgpvam1YT1JYd0lBN3M1UGM9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQlRDQ0F1MmdBd0lCQWdJUVdnRHlFdGpVdElEemtrRlg2aW1EQlRBTkJna3Foa2lHOXcwQkFRc0ZBREJQCk1Rc3dDUVlEVlFRR0V3SlZVekVwTUNjR0ExVUVDaE1nU1c1MFpYSnVaWFFnVTJWamRYSnBkSGtnVW1WelpXRnkKWTJnZ1IzSnZkWEF4RlRBVEJnTlZCQU1UREVsVFVrY2dVbTl2ZENCWU1UQWVGdzB5TkRBek1UTXdNREF3TURCYQpGdzB5TnpBek1USXlNelU1TlRsYU1ETXhDekFKQmdOVkJBWVRBbFZUTVJZd0ZBWURWUVFLRXcxTVpYUW5jeUJGCmJtTnllWEIwTVF3d0NnWURWUVFERXdOU01UTXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUsKQW9JQkFRQ2xaM0NOMEZhQlpCVVhZYzI1QnRTdEdaQ01KbEEzbUJaamtsVGIyY3lFQlpQczArd0lHNkJnVVVOSQpmU3ZIU0phZXRDM2FuY2duTzFlaG42dncxZzdVRGpES2I1dXgwZGFrblRJK1dFNDFiMFZZYUhFWC9EN1lYWUtnCkw3SlJiTEFhWGJoWnpqVmx5SXVocnhBMy8rT2NYY0pKRnpUL2pDdUxqZkM4Y1N5VERCMEZ4THJIemFySlhuelIKeVFIM25BUDIvQXBkOU5wNzV0dDJRbkRyOUUwaTJnQjNiOWJKWHhmOTJuVXVwVmNNOXVwY3R1QnpwV2pQb1hUaQpkWUorRUovQjlhTHJBZWs0c1FwRXpOUENpZlZKTllJS05MTWM2WWpDUjA2Q0RnbzI4RWRQaXZFcEJIWGF6ZUdhClhQOWVuWmlWdXBwRDBFcWlGd1VCQkREVE1yT1BBZ01CQUFHamdmZ3dnZlV3RGdZRFZSMFBBUUgvQkFRREFnR0cKTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQ0JnZ3JCZ0VGQlFjREFUQVNCZ05WSFJNQkFmOEVDREFHQVFILwpBZ0VBTUIwR0ExVWREZ1FXQkJUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QWZCZ05WSFNNRUdEQVdnQlI1CnRGbm1lN2JsNUFGemdBaUl5QnBZOXVtYmJqQXlCZ2dyQmdFRkJRY0JBUVFtTUNRd0lnWUlLd1lCQlFVSE1BS0cKRm1oMGRIQTZMeTk0TVM1cExteGxibU55TG05eVp5OHdFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3SndZRApWUjBmQkNBd0hqQWNvQnFnR0lZV2FIUjBjRG92TDNneExtTXViR1Z1WTNJdWIzSm5MekFOQmdrcWhraUc5dzBCCkFRc0ZBQU9DQWdFQVVUZFlVcUVpbXpXN1Rick95cExxQ2ZMN1ZPd1lmL1E3OU9INWNITENaZWdnZlFoRGNvbmwKazdLZ2g4YjB2aSsvWHVXdTdDTjhuL1VQZWcxdm8zRyt0YVhpcnJ5dHRoUWluQUhHd2MvVWRiT3lnSmE5enVCYwpWeXFvSDNDWFRYREluVCs4YStjM2FFVk1KMlN0K3BTbjRlZCtXa0RwOGlqc2lqdkV5RndFNDdodWxXMEx0empnCjlmT1Y1UG1yZy96eFdiUnVMK2swREJESEVKZW5uQ3NBZW43YzM1UG14N2pwbUovSHRnUmhjbnoweWpTQnZ5SXcKNkwxUUl1cGtDdjJTQk9EVC94REQzZ2ZRUXlLdjZyb1Y0RzJFaGZFeUFzV3Btb2p4akNVQ0dpeWc5N0Z2RHRtLwpOSzJMU2M5bHliS3hCNzNJMitQMkczQ2FXcHZ2cEFpSENWdTMwalc4R0N4S2RmaHNYdG5JeTJpbXNrUXFWWjJtCjBQbXhvYmIyOFR1Y3I3eEJLN0N0d3ZQcmI3OW9zN3UyWFAzTzVmOWIvSDY2R055UnJnbFJYbHJZakkxb0dZTC8KZjRJMW4vU2d1c2RhNld2QTZDMTkwa3hqVTE1WTEybUhVNCtCeHlSOWN4MmhoR1M5ZkFqTVpLSnNzMjhxeHZ6NgpBeHU0Q2FEbVJOWnBLL3BRclhGMTd5WENYa21FV2d2U09FWnk2WjlwY2JMSVZFR2NrVi9pVmVxMEFPbzJwa2c5CnA0UVJJeTB0SzJkaVJFTkxTRjJLeXNGd2JZNkIyNkJGZUZzM3Yxc1lWUmhGVzluTGtPclFWcG9yQ1MwS3labWYKd1ZEODlxU1RsbmN0TGNabklhdmpLc0tVdTFuQTFpVTB5WU1kWWVwS1I3bFdibndoZHgzZXdvaz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdEakNDQlBhZ0F3SUJBZ0lTQlJiaEZwYmd5SmVTR0ZPaUlCY2wrUUpZTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRJeE1UWXdOekl3V2hjTk1qWXdOREl4TVRZd056RTVXakFnTVI0d0hBWURWUVFECkV4VnlaWE4xYldVdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUURXS3Y3RWYrR21USVRaVEsvRXVHSWxBV3hKaDVQUnZPUzdBTHFhcE1ld2I0Ym83OWdPSExpYgo0dFd4VmQ4YXFzQThFM2Nmcks4Q1VlTzNmeGtLelI3RWZVcThuTzdBbG5LQVFJb1JkdEpQRGt1Y3ZnQmlTalhoCjdHbWhGRXJCZ25VMFFpdHBLemF3cTkraENSSko5RCt4YlFzVExFTDNJU04rVWtKYllJMW1WcllLdGRwTllmNVkKZEtBVnUwWnhYMCt2MElpcHNCR0R1QnF2cUNhK2xiaGR5QXhEZEVzeXNZYzFIb0djTlBxM1M2OTlPMk9QOFB5eApLT1dBNTNyQksramZ5RFl0NnZPbkxKWG1saysrTGV2bWptTW5HakZZQWtQT0tyTXpDN3dadU1DeHFnbkdTUUk1CkxIZU5QRGczVU9wMlZOUzV6M0hrN0VJcGJkWDVYS0tzczNCK0lUN1JEaTB4b3lVL2Z6QXNlMEZFTFJ6RGZVZG4KcXVpUW9XRW40TDI1citGZkcvVTVxeThtSE00bzdrQ3lwQmpaZHQ4STExcGFwRzN0Mi9qc3MwY3lDT2dPeU9iNAo1WE9SdkhsVUR3TTZjbHZZY0d2aXFvV2VlOFRUMkI4YUl6dUNXczFTTzdkTHZ6Z3licEJJakRwNGhCeU44Mk1lCi9zUGlDMitGUFhHc0JkWWZLRGltY1YyVThmcjIyb0JURjI2eDhOa1EzdzFsMDVNWnhkSzR5WFloUXNCalJ1RXQKTmZUMk9PWDhIL3p4WU9LYkZ2c214Yk9ZSXQwdWxnRTVHL0tiSFJGcjIzc2t5VktlM0s1VkxlNjdoejZJekEyUApyWHRUcHRFUTJyTThBaTBYQzBUTXQyUEM5UG5QSnYxZGtsMGEwZXFjbmdRS3cxNlZBeHNLcFFJREFRQUJvNElDCkxUQ0NBaWt3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJSeTRRZURIUkk1NkRHeTR6c2NrV2c3NXE2NwpwVEFmQmdOVkhTTUVHREFXZ0JUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRNdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZYSmxjM1Z0WlM1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdQpCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dmNqRXpMbU11YkdWdVkzSXViM0puTHpnNUxtTnliRENDCkFRd0dDaXNHQVFRQjFua0NCQUlFZ2YwRWdmb0ErQUIzQUE1WGxMenpycWsrTXhzc21RZXo5NURmbThJOWNUSWwKM1NHcEpheGh4VTRoQUFBQm0rR0ZCMWtBQUFRREFFZ3dSZ0loQUx1V1NTZUgrUlJNSjB2Tmt1RzRGZllVb0Q0QQpEMENIM2J1aXhyUGF2SE9lQWlFQW0wbkdMVjhpaDA1Mjduak5OQVR1VkptSUkyK1E4dGw4c3FzWlJGN0laREVBCmZRQnhmcFh6d2ppS2JiSGpoRWs5TWVGYXFXSUlkaTFDQU9BRkROQm50YVpoNGdBQUFadmhoUWdRQUFnQUFBVUEKQjN1RXlRUURBRVl3UkFJZ0RNVC9oTDl2SXI0NkFhUkNBdWpSdm5SRFRoVzluZ2x4ZTN0M2JnQzl2YmtDSUQ1cwo2Z2NtV0JJVFFPMnpyUDNXcVNUQSt1NEIraTVJU3psSk5mZmhmN3gvTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCCkFRQWtOa0d2UFJCYjA4dHI3eXNreHBhZVM0Q1FiM1NtL1VvVDc5dS9IcUVIdFJXbVEyQTlhYk9XZE9wc1lLUHEKN2U1TU41eHpWQTZUUXlFWFVub1pHUWVkTkYvNmo4WDlLODdVN3RRUkw5RmNJRXVjTE9FUzJ1eDRVU1VSb3h5NgpNZ0IrSVptUVJkMEczR3prZThXanFNaHl6OElIbzZTZ2tXZzFpSEs4aytodTZQQUEyd1YrMXFMS3piWGNDWnpvCko4dlpncmY0SWZEVVgwbGNMMHlXMVp0d3p3dkhlazZ5TDFzeVJ5VDJoVGZwSHF4dWxLNG1DUGtaSi9ESVYzQUEKa2lEWEJqUmFMS0FxTzNDd2RJNEtmcXlBc0NmN2diRFNyMDNyM0wrcmRnR0J4SE5kRldmOFdvY3FxcytKaG4yMApUcys2WEpteFhSL2J1eFREdUx4S2htVWEKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBMWlyK3hIL2hwa3lFMlV5dnhMaGlKUUZzU1llVDBiemt1d0M2bXFUSHNHK0c2Ty9ZCkRoeTRtK0xWc1ZYZkdxckFQQk4zSDZ5dkFsSGp0MzhaQ3MwZXhIMUt2Snp1d0paeWdFQ0tFWGJTVHc1TG5MNEEKWWtvMTRleHBvUlJLd1lKMU5FSXJhU3Myc0t2Zm9Ra1NTZlEvc1cwTEV5eEM5eUVqZmxKQ1cyQ05abGEyQ3JYYQpUV0grV0hTZ0ZidEdjVjlQcjlDSXFiQVJnN2dhcjZnbXZwVzRYY2dNUTNSTE1yR0hOUjZCbkRUNnQwdXZmVHRqCmovRDhzU2psZ09kNndTdm8zOGcyTGVyenB5eVY1cFpQdmkzcjVvNWpKeG94V0FKRHppcXpNd3U4R2JqQXNhb0oKeGtrQ09TeDNqVHc0TjFEcWRsVFV1Yzl4NU94Q0tXM1YrVnlpckxOd2ZpRSswUTR0TWFNbFAzOHdMSHRCUkMwYwp3MzFIWjZyb2tLRmhKK0M5dWEvaFh4djFPYXN2Smh6T0tPNUFzcVFZMlhiZkNOZGFXcVJ0N2R2NDdMTkhNZ2pvCkRzam0rT1Z6a2J4NVZBOERPbkpiMkhCcjRxcUZubnZFMDlnZkdpTTdnbHJOVWp1M1M3ODRNbTZRU0l3NmVJUWMKamZOakh2N0Q0Z3R2aFQxeHJBWFdIeWc0cG5GZGxQSDY5dHFBVXhkdXNmRFpFTjhOWmRPVEdjWFN1TWwySVVMQQpZMGJoTFRYMDlqamwvQi84OFdEaW14YjdKc1d6bUNMZExwWUJPUnZ5bXgwUmE5dDdKTWxTbnR5dVZTM3V1NGMrCmlNd05qNjE3VTZiUkVOcXpQQUl0Rnd0RXpMZGp3dlQ1enliOVhaSmRHdEhxbko0RUNzTmVsUU1iQ3FVQ0F3RUEKQVFLQ0FnRUFrV0Q0TmR6MUNOVHliU3RRT1VKTVpRQlZTSWgrd0NYd1FqeVpidllpRTFOeGlkZWRtdDdHTmhOQgpxYkkzMHp0TGFMeHg1WTlyOFRBeld0RXM1NWNicHBmQ1RzeGNpV0RXOHRaY29zUTh1S3RraWs2enBnVG9GS2ROCmdLbHNvWFQwS0hndVRhS202a0NSZWhmVlVWdzZqQzhRRUlEQUtFOVhiNTFaSy93Ym4vZUdkVGpDcWpxMTA4ZS8KRDJGanpQdTg5UVNpY0VWemJpMWYrQk0xMGJPQ1JpN1FuRTFwNmt4MkVvblZ3M3AzSWt0L0lZeFo1bERZeDAyUwpsUEVNOCtuaGwxNnA0SHVYejhoRkxSU2xwdHczUVBjd3VVOWZaWFdNSDN2K3pzek5iOHhwQ1hENlY1NGhvenZiCkg0VmNSN2htbjlLdjREMi8rM3lnNE15TkxrdENwS2huYzAwOFluY1NpL3J3M01zRXZ4Q3dhYXpsM3dIQUlkbTUKa3o5LzRWcFFYbTZRdmhOck1HNEdLZVlUTXhsTEswVEU1YXVWU2tYOVJ1OXJ3YXllUFRZTm5CQ2JOeDVFUk1DVgp3MTZzMXc4R2lHMzV6TG82Wm9VRHZZaDJSSi9SUDBKVGxpQWVsQ3V6c243TysyVVp0ODVWREdzS3BMU3VaNkZSCjM4NUUrQUx1NDhaWDR3cEd4dVlHKzBibStFa3QxdE5VYjVXa2I1c05ZdVdoK0d4S0NlbmtObC9ReDZMdks3QWIKTUJQbXpUdGUyWHJzUUQyVXFjdmNNZFg4QlNFSGw3S0M5QytSTXpqMHVFMUVOa3E2Wm8yVTkrTENsaHpCeVdDbQpxcWN4aUE2ZVg1RHJNdGFWSUdKcDlvQ3VLYmJFZG9QZE1CSFpKbWlrT3pCU05tRmNuTFVDZ2dFQkFQaVpOZ1FKCitJanlkbng0UjFMbmFsMjBhYitIS0p1c3laNjc2MXZFVHdJMllzdGk4QzV5Uzhidy9wTGVncHdqUytzZjk2ejAKcUhtSmhQSitkL3B1TFZNV05PeThsVk5DTG1YdFE2SDVsMGNaVHFoaGZ0aFVPS3N5azBBbGVySkNTaSsxK1M4VgoxR2psVkZrTFYzYXRhaExsUWpBY1hCVUlFOFlsTDJ5K2FUK0xXWmROSVFyMXlkbGFpUVFZRlFSbklKQW5adXhLClJnTFZ1Rlo5TXh1VE93dERkeVdCdTQ1c3hDcFphekN4RDUyYmVSY0wrRHhMZU1RYUFWdmlMSG4yQTdwcThYNkkKN01aODNUUnhVNTV4WEpjMTZtc09iU0dHUDM4NUpCa0QzMkV3Y3hBeWI2d0tQOUtKbW9rQnpvRElBTk5GYUJnVwo2S1RweFIwcW1ZWEthQWNDZ2dFQkFOeUxXOUJDV25GVEZ1cEZqUjkxeVdMNE9XTUovWGdvYS92OERKQ0pFR1lpCmhEY2RxQWRXQ0pwSjFpVmJ6RytIdnl0ZTJWbVNJMDNRcXhXMVlUNUdyYjRINXFZbVBVeWhGY01QNXFXU2dSMEcKWnpWV2o4YzZDdmJCSkRIWXdxSUtHQTA5UkxHcjVua2FTYWFnNWpOYU9xMklYWVY5TUlVcEVIV1hja1EvODVFcgpUdnBOV0ZyelN4a3dlM2dkQ3E1TFBRZUcvVzl4Q2svcTFTQWNhNmxMdmNlQ0NOK09SQlBSNDNFV3Q0WjNlVWxCClpTeGZDS3pYUFZwMGdNYmR3ZXgySlZIUkFWcmdIQmVsZklGMHFFNFpiSWZEVlZhZHhhbk4yR0FkZk5UdWhaWlEKdkxFMnRBdHRJSFFIRS9NSFVCNkJTb21RNWt3anJXejNNWlNFWnpGb1ZQTUNnZ0VBWk8xVzE3YndsekRRMStIQgpHekJtcDVwcVlGN1FKcnUwczJRWnZvenBncjF2eUtEbllBUDVMZENEbWo4S0NiZnV4NHVYOHpqMCtUclNwZHlnCmV5U2w5QmlNN2h2MkIvSlRnZ0FjdURMcnJ1cmdXMDRSd0dRWkNiQWp4aVF4TnhQZ3FKUVprWHNzWEZYV3M3disKQzJtR0todTNqbTdGRjZqSzFtUWNaK3E2TWhreUMxSTkrd1FrcWNDdTVlR2REc2VMbWRyVlYxTWtMMXh6VlhISgpBUVg2TDYxNVB0bjN1bkFBQ0MxN2JpNUVaN2xLSlFnd0JOS2pPZ0pRME92M0lLQzNqTVNFUE5uOFB1MU1wVkRwCklPZG5MdUN0eGo3NklXVXVmRWxIbFh4VUFWSTVOTGMxVFVSdit0cnd5WFRaVU1GaVRHUGVTZ0ZxL0NFSWJMbngKMERhSG13S0NBUUFuNFg5eDBuM2VYa01YakFvdjlURzhsdHh4djEyNWU3M0RMRm50VFF2TkhGTENVTGVRMUFycwpNNHZvNTRlNVoxZTNkUWhpdlIxck5kK3FKa2wyWkh1SWtJOHgzbHBaWUF1NllVYTVEQndTN3BSOVBiRDBPdGUrCnRVQmhUeXdxOXg1UVRwTDhlZlJNVStlYm5SN2pqRjV1QU9uQWVObnNTbmV5ZS9kcXhoRzZYNVdCaDdrQmdWdEUKSzlNMzdqQi9RaFhBSmJYd2tBVm9YRE84QWNlcUxvc2I1N1RKRUVYWk82d2dTQlpaMTRMMEwwSW5XdXdMclVSbgo5Z2RQYnN4aGdSL1FnclgzQSsyd2pQbE53NVdud2NzeFphNHA0by9hMitGVHlDRkpzL1F1TVYxZHdtR2VhMVppCkJPR2pvZC9vRkVNeFN5V0tBUzJjTmJzZWV5N1o3VjduQW9JQkFFQ1k3QzBJN0VMTkwwZ2wwYk1lKytJMnR4aDQKVW1VUTY1RlM5aU8xTnV6bDkzcUJhTUxncTZOMXByZFRsSW52OGQ0cGtBbmdQbElwVHUzeWZ2cTZXLzVoWHRzTAowcFQ0Y0cvL01JcCt0NlV1d2szdmpkR2xIeVI4U2NSUmZxMWR4NDE1ZWJsRSs4TkZ3Ri9YNU5jL3JpTk9LeVNUCjlwR2VTTmJkNk9HQTAwVG42dndBazk5Zm8xR3BSWGEyeEtRODVxeWhYRENtekk4VllRNHNLeTRLV1pJQ0NvdFAKUzNNNll3c3pCNnR5SEVIQTNRdWNCZVBXcXY2SDZWR09MWkVMMlJOeHUvMjJtV040MXdoc3d2L1NvV2NsVVFwYwpxWTNHOXYrQlIvL2d2WVJWZytBT2JWNkJEaFkreFloM2l6VHZva2lwczBUbWNtL013Rk1BbEFJWnRiVT0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -195,7 +195,7 @@ "domain": { "main": "code-server.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdFVENDQlBtZ0F3SUJBZ0lTQlVTV25NYWdYeWFFVFRybEEwby9UTGRPTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXhNVEl6V2hjTk1qWXdNakU1TWpBeE1USXlXakFsTVNNd0lRWURWUVFECkV4cGpiMlJsTFhObGNuWmxjaTVoZEdoaGJHbGhjSEJ6TG5oNWVqQ0NBaUl3RFFZSktvWklodmNOQVFFQkJRQUQKZ2dJUEFEQ0NBZ29DZ2dJQkFOUGpJNWdIZXB2NWwzTC9CdHNFYTN4TlExTnNEVlRhU1phVEs4K1I2ckpVVkRhMQpHMVBJRlBRYWgwOUQ1NXRFc1NSeDhZR2lYWVRhRzJUSGtaNlJsTW5tbFVWYlh0Z3UySlFlT1c3SkFka3NnUkMxCmJ1WDdCaEViOG15eVl0cWI0WWhoVVQ4WWdIUjVnak5TRlZzaEJKN09VaDVHMUF1QWM5VlNaZzJ3QjFSaUExSmwKZi9CZ1Q5SW5mN21zTlpTV0kvOHQ2NE1IMnVpU1pORTgwSFJORm5LZHNlS2IzMVlkUEJUcFBxZXZHU1U0bVhBYgppQjV2WWY4Z0xRWU50VytyUWhPYmRBZC9uUS9Md0ZmODNJbFErV1N4YjlINUZLQThoT1F2VHhTeGZwYzNZcXlVCnZDR21jeWoyYWRnQUZac1lVRDhWMCtMVERBejE3Skl2Yk1QVG9qeGt3NG53TXBScE81NVRxWHRrWU43UUNoSXkKV0drT0NtS2UwUkkxYkRxd1pmSFlFbTRhenpTeU5sZFVGWi9CdzdlQVBudXJWbzRydmg2UDdTdW9OZTIvWm1negpTWVZjRjdrTG81S01zZEpNNlJnd2EyeHd4cnRyeGYwaEE1OXdkZjNHTmZFQ2k0ZGVoamVtRmI4Y1RxZ0JVcGRECkVvOUlKYVFHRmhUUUNHb0hUTXRUZUg3S2QraGV0TUQ0L2tsT1hGQnJCenRxWHZlR2FIbnB5RGhiVnVhYjBlRGUKS0JlbGpwVmovNUVMcXdXUE90RzM3bjZZNXY3MSs1a2xNTW1HTUpxaWZWcEtHQVE3MlNzYWMya0VFd1NBNUxxNwpsbFI1UnBqOENnaVVJYXhrbkZVR2pYbkhxYTNUbWx0bXovZm5SYnJjQ2VFRGZNU2QwZFZ6eWFFbUtPb3BBZ01CCkFBR2pnZ0lyTUlJQ0p6QU9CZ05WSFE4QkFmOEVCQU1DQmFBd0hRWURWUjBsQkJZd0ZBWUlLd1lCQlFVSEF3RUcKQ0NzR0FRVUZCd01DTUF3R0ExVWRFd0VCL3dRQ01BQXdIUVlEVlIwT0JCWUVGRERpc290cG5zeGxKVThwbytpMApvbmxHOEEyMU1COEdBMVVkSXdRWU1CYUFGT2Vybnc4c002QlQwMTVQZU1peWhBNDcxcEl6TURNR0NDc0dBUVVGCkJ3RUJCQ2N3SlRBakJnZ3JCZ0VGQlFjd0FvWVhhSFIwY0RvdkwzSXhNeTVwTG14bGJtTnlMbTl5Wnk4d0pRWUQKVlIwUkJCNHdISUlhWTI5a1pTMXpaWEoyWlhJdVlYUm9ZV3hwWVhCd2N5NTRlWG93RXdZRFZSMGdCQXd3Q2pBSQpCZ1puZ1F3QkFnRXdMZ1lEVlIwZkJDY3dKVEFqb0NHZ0g0WWRhSFIwY0RvdkwzSXhNeTVqTG14bGJtTnlMbTl5Clp5ODNPUzVqY213d2dnRUZCZ29yQmdFRUFkWjVBZ1FDQklIMkJJSHpBUEVBZHdETE9QY1ZpWHlFb1VSZlc4SGQKKzhsdThwcFp6VWNLYVFXRnNNc1V3eFJZNXdBQUFacW9RSXJHQUFBRUF3QklNRVlDSVFDNFdudEU5ZEgwQklSSwo5TjgrcjJ1Vk1BRnhZMU53RGpRdTV4Y0IzcmtoMlFJaEFKYVpEaFJ5b2FoUDliZDM4dE5hcTNsZDNjN0E0Tko3CjdvQWlmYlk4a0huL0FIWUFscGRrdjFWWWw2MzNRNGRvTndoQ2QrbndPdFgycFBNMmJrYWtQdy9LcWNZQUFBR2EKcUVDS3RRQUFCQU1BUnpCRkFpQk42dDJpUU1HMzRKU0RVZitkMlowdjlJWUg1ZTZDaXZFZ0tBKytsbFRUQ2dJaApBS2k0ZFNuRjhPR0x4MkljZWkycGJ5dXA3UlJQaVMzZWp3UmhkZkpCNUNhRE1BMEdDU3FHU0liM0RRRUJDd1VBCkE0SUJBUUFreUVNenoxQUJXRUtWeVEza2xoajhQbzdRRjBMVnFUQWlYdEE0cmNtZ0RQQVVjcWQzdmVYRWNJbUgKeFAvMVBoZkxKTlRVd1Qxdm43UFFnMnlpSS9UK3lxd0N3UzFYYVF1M2RQeHdOcTI5ZXVmYWpTUkJhdGJYT3dTOQp0UElQczk2WE9vMUJXRmc0QmdtZDEzaXNvT3RBZjkwNG5Od1lxc1QvRjdwQmJyaHpvU1NVdGhmTWFGVzZLL082CjlDc3M2bXQyV0ZTYjlLbUFNUGNyc09yUEVRVUdFeExFL0gvVUt0bUFVaTVKUnFDUy9aOCtvcWNJaUlobUtmeEIKcFJnSWlFejFKamR5ejNrQmZsVkZ1TjRXa3MyN0h1ODBiWjVmSjFKRDZNQy9NaHlVM0xUYVZxZWxBcE9PYm5BMQprcVVPbmtGSHpTL0p3NTlWN2dnOFhHWkFTT3NKCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQlRDQ0F1MmdBd0lCQWdJUVdnRHlFdGpVdElEemtrRlg2aW1EQlRBTkJna3Foa2lHOXcwQkFRc0ZBREJQCk1Rc3dDUVlEVlFRR0V3SlZVekVwTUNjR0ExVUVDaE1nU1c1MFpYSnVaWFFnVTJWamRYSnBkSGtnVW1WelpXRnkKWTJnZ1IzSnZkWEF4RlRBVEJnTlZCQU1UREVsVFVrY2dVbTl2ZENCWU1UQWVGdzB5TkRBek1UTXdNREF3TURCYQpGdzB5TnpBek1USXlNelU1TlRsYU1ETXhDekFKQmdOVkJBWVRBbFZUTVJZd0ZBWURWUVFLRXcxTVpYUW5jeUJGCmJtTnllWEIwTVF3d0NnWURWUVFERXdOU01UTXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUsKQW9JQkFRQ2xaM0NOMEZhQlpCVVhZYzI1QnRTdEdaQ01KbEEzbUJaamtsVGIyY3lFQlpQczArd0lHNkJnVVVOSQpmU3ZIU0phZXRDM2FuY2duTzFlaG42dncxZzdVRGpES2I1dXgwZGFrblRJK1dFNDFiMFZZYUhFWC9EN1lYWUtnCkw3SlJiTEFhWGJoWnpqVmx5SXVocnhBMy8rT2NYY0pKRnpUL2pDdUxqZkM4Y1N5VERCMEZ4THJIemFySlhuelIKeVFIM25BUDIvQXBkOU5wNzV0dDJRbkRyOUUwaTJnQjNiOWJKWHhmOTJuVXVwVmNNOXVwY3R1QnpwV2pQb1hUaQpkWUorRUovQjlhTHJBZWs0c1FwRXpOUENpZlZKTllJS05MTWM2WWpDUjA2Q0RnbzI4RWRQaXZFcEJIWGF6ZUdhClhQOWVuWmlWdXBwRDBFcWlGd1VCQkREVE1yT1BBZ01CQUFHamdmZ3dnZlV3RGdZRFZSMFBBUUgvQkFRREFnR0cKTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQ0JnZ3JCZ0VGQlFjREFUQVNCZ05WSFJNQkFmOEVDREFHQVFILwpBZ0VBTUIwR0ExVWREZ1FXQkJUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QWZCZ05WSFNNRUdEQVdnQlI1CnRGbm1lN2JsNUFGemdBaUl5QnBZOXVtYmJqQXlCZ2dyQmdFRkJRY0JBUVFtTUNRd0lnWUlLd1lCQlFVSE1BS0cKRm1oMGRIQTZMeTk0TVM1cExteGxibU55TG05eVp5OHdFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3SndZRApWUjBmQkNBd0hqQWNvQnFnR0lZV2FIUjBjRG92TDNneExtTXViR1Z1WTNJdWIzSm5MekFOQmdrcWhraUc5dzBCCkFRc0ZBQU9DQWdFQVVUZFlVcUVpbXpXN1Rick95cExxQ2ZMN1ZPd1lmL1E3OU9INWNITENaZWdnZlFoRGNvbmwKazdLZ2g4YjB2aSsvWHVXdTdDTjhuL1VQZWcxdm8zRyt0YVhpcnJ5dHRoUWluQUhHd2MvVWRiT3lnSmE5enVCYwpWeXFvSDNDWFRYREluVCs4YStjM2FFVk1KMlN0K3BTbjRlZCtXa0RwOGlqc2lqdkV5RndFNDdodWxXMEx0empnCjlmT1Y1UG1yZy96eFdiUnVMK2swREJESEVKZW5uQ3NBZW43YzM1UG14N2pwbUovSHRnUmhjbnoweWpTQnZ5SXcKNkwxUUl1cGtDdjJTQk9EVC94REQzZ2ZRUXlLdjZyb1Y0RzJFaGZFeUFzV3Btb2p4akNVQ0dpeWc5N0Z2RHRtLwpOSzJMU2M5bHliS3hCNzNJMitQMkczQ2FXcHZ2cEFpSENWdTMwalc4R0N4S2RmaHNYdG5JeTJpbXNrUXFWWjJtCjBQbXhvYmIyOFR1Y3I3eEJLN0N0d3ZQcmI3OW9zN3UyWFAzTzVmOWIvSDY2R055UnJnbFJYbHJZakkxb0dZTC8KZjRJMW4vU2d1c2RhNld2QTZDMTkwa3hqVTE1WTEybUhVNCtCeHlSOWN4MmhoR1M5ZkFqTVpLSnNzMjhxeHZ6NgpBeHU0Q2FEbVJOWnBLL3BRclhGMTd5WENYa21FV2d2U09FWnk2WjlwY2JMSVZFR2NrVi9pVmVxMEFPbzJwa2c5CnA0UVJJeTB0SzJkaVJFTkxTRjJLeXNGd2JZNkIyNkJGZUZzM3Yxc1lWUmhGVzluTGtPclFWcG9yQ1MwS3labWYKd1ZEODlxU1RsbmN0TGNabklhdmpLc0tVdTFuQTFpVTB5WU1kWWVwS1I3bFdibndoZHgzZXdvaz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdEakNDQlBhZ0F3SUJBZ0lTQmFFMG10NmhYWkVZWXRJN2QzN0NwRnJjTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXdOekkzV2hjTk1qWXdOREl4TVRZd056STJXakFsTVNNd0lRWURWUVFECkV4cGpiMlJsTFhObGNuWmxjaTVoZEdoaGJHbGhjSEJ6TG5oNWVqQ0NBaUl3RFFZSktvWklodmNOQVFFQkJRQUQKZ2dJUEFEQ0NBZ29DZ2dJQkFOUGpJNWdIZXB2NWwzTC9CdHNFYTN4TlExTnNEVlRhU1phVEs4K1I2ckpVVkRhMQpHMVBJRlBRYWgwOUQ1NXRFc1NSeDhZR2lYWVRhRzJUSGtaNlJsTW5tbFVWYlh0Z3UySlFlT1c3SkFka3NnUkMxCmJ1WDdCaEViOG15eVl0cWI0WWhoVVQ4WWdIUjVnak5TRlZzaEJKN09VaDVHMUF1QWM5VlNaZzJ3QjFSaUExSmwKZi9CZ1Q5SW5mN21zTlpTV0kvOHQ2NE1IMnVpU1pORTgwSFJORm5LZHNlS2IzMVlkUEJUcFBxZXZHU1U0bVhBYgppQjV2WWY4Z0xRWU50VytyUWhPYmRBZC9uUS9Md0ZmODNJbFErV1N4YjlINUZLQThoT1F2VHhTeGZwYzNZcXlVCnZDR21jeWoyYWRnQUZac1lVRDhWMCtMVERBejE3Skl2Yk1QVG9qeGt3NG53TXBScE81NVRxWHRrWU43UUNoSXkKV0drT0NtS2UwUkkxYkRxd1pmSFlFbTRhenpTeU5sZFVGWi9CdzdlQVBudXJWbzRydmg2UDdTdW9OZTIvWm1negpTWVZjRjdrTG81S01zZEpNNlJnd2EyeHd4cnRyeGYwaEE1OXdkZjNHTmZFQ2k0ZGVoamVtRmI4Y1RxZ0JVcGRECkVvOUlKYVFHRmhUUUNHb0hUTXRUZUg3S2QraGV0TUQ0L2tsT1hGQnJCenRxWHZlR2FIbnB5RGhiVnVhYjBlRGUKS0JlbGpwVmovNUVMcXdXUE90RzM3bjZZNXY3MSs1a2xNTW1HTUpxaWZWcEtHQVE3MlNzYWMya0VFd1NBNUxxNwpsbFI1UnBqOENnaVVJYXhrbkZVR2pYbkhxYTNUbWx0bXovZm5SYnJjQ2VFRGZNU2QwZFZ6eWFFbUtPb3BBZ01CCkFBR2pnZ0lvTUlJQ0pEQU9CZ05WSFE4QkFmOEVCQU1DQmFBd0hRWURWUjBsQkJZd0ZBWUlLd1lCQlFVSEF3RUcKQ0NzR0FRVUZCd01DTUF3R0ExVWRFd0VCL3dRQ01BQXdIUVlEVlIwT0JCWUVGRERpc290cG5zeGxKVThwbytpMApvbmxHOEEyMU1COEdBMVVkSXdRWU1CYUFGQUMxS2ZJdGptOHg2SnRNclhnKyt0enBETkhTTURNR0NDc0dBUVVGCkJ3RUJCQ2N3SlRBakJnZ3JCZ0VGQlFjd0FvWVhhSFIwY0RvdkwzSXhNaTVwTG14bGJtTnlMbTl5Wnk4d0pRWUQKVlIwUkJCNHdISUlhWTI5a1pTMXpaWEoyWlhJdVlYUm9ZV3hwWVhCd2N5NTRlWG93RXdZRFZSMGdCQXd3Q2pBSQpCZ1puZ1F3QkFnRXdMZ1lEVlIwZkJDY3dKVEFqb0NHZ0g0WWRhSFIwY0RvdkwzSXhNaTVqTG14bGJtTnlMbTl5Clp5ODVNeTVqY213d2dnRUNCZ29yQmdFRUFkWjVBZ1FDQklIekJJSHdBTzRBZFFCa0VjUnNwQkxzcDRrY29nSXUKQUx5clR5Z0gxQjQxSjZ2cS90VUR5WDNOOEFBQUFadmhoU1EzQUFBRUF3QkdNRVFDSUg0Zzd5Vng4b2NYZHNjbgoyQ1dobEhEY3A4RUsxVWpXZ3ZoRnd5RVQ0WHdqQWlCcGFOaWZVeENHQzVVZVlzZDU0U0FUZ3cwOGh2ZDN2K24yCmxRa1JTeTljRndCMUFORnVxYVZvQjM1bU5hQS9ONlhkdkFPbFBFRVNGTlNJR1BYcE1iTWp5NVVFQUFBQm0rR0YKSlIwQUFBUURBRVl3UkFJZ0gxSGhkWmhrM1MzNHFKekJtYktWNk5pQVZ3ODZBR2lrOTV0RThUSEthN2dDSUJuUApSTW5qVkM2Q2VmeGRJMTJ6ZUtuRnRGUTlqVHZ3YlpzdGFSRHM1cXcwTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCCkFRQnZnL244alNVK3A2aHkwNm8waHduL3BDOFl0Rm9sdkZ3QjZEUGFvTlpEcDFXbnRTcDl5V3ZHZUxVK2djanAKckZMMGR6MS9HSUVJU2pCbEJyb1ZRNW5PUjFDRVdZazZNenpQM09OaVBxRzNndDNXa2wwYUlWdnNLbUhQUXNpOQpENXlEYkgyZFFxeUF5UThUMkR2eDcwUk5ybGV3UXZSQnVTam9YN1RwV1cwM3ExV0hyWjNHVXV2ejZnRmRvVGdXCnRTUzZGelJobW9IaWI2VStVTXY1ODVhNXFKUHFWSGZqSENwdmZGUjNnMFJOU1NDbmFnajl0MEUwbmtHM1BwTGwKV1FvTnlITjEzNkdRb2RvZGVzZ2VhY0hRSUNLZmpjYWdNLzhXYjh6SXZ0anppbjNaQWZHQnMxMUcyelY2anAwbgpqMEthbXMybVVveVRQdkNHUXllbHJhOHEKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCakNDQXU2Z0F3SUJBZ0lSQU1JU01rdHdxYlNSY2R4QTkrS0ZKand3RFFZSktvWklodmNOQVFFTEJRQXcKVHpFTE1Ba0dBMVVFQmhNQ1ZWTXhLVEFuQmdOVkJBb1RJRWx1ZEdWeWJtVjBJRk5sWTNWeWFYUjVJRkpsYzJWaApjbU5vSUVkeWIzVndNUlV3RXdZRFZRUURFd3hKVTFKSElGSnZiM1FnV0RFd0hoY05NalF3TXpFek1EQXdNREF3CldoY05NamN3TXpFeU1qTTFPVFU1V2pBek1Rc3dDUVlEVlFRR0V3SlZVekVXTUJRR0ExVUVDaE1OVEdWMEozTWcKUlc1amNubHdkREVNTUFvR0ExVUVBeE1EVWpFeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQgpDZ0tDQVFFQTJwZ29kSzIrbFA0NzRCN2k1VXQxcXl3U2YrMm5BekorTnBmczZER1BwUk9OQzVrdUhzMEJVVDFNCjVTaHVDVlV4cXFVaVhYTDBMUWZDVFVBODN3RWp1WGczOVJwbE1qVG1obkdkQk8rRUNGdTlBaHFaNjZZQkFKcHoKa0cyUG9nZWcwSmZUMmtWaGdUVTlGUG5Fd0Y5cTNBdVdHckNmNHlycXZTcldtTWViY2FzN2RBODgyN0pndmxwTApUaGpwMnlwelhJbGhaWjcrN1R5bXkwNXY1Sjc1QUVhei94bE5LbU96am1iR0dJVnd4MUJsYnp0MDVVaUREd2hZClhTMGpuVjZqL3VqYkFLSFM5T01aVGZMdWV2WW5udVhObkMyaThuK2NGNjN2RXpjNTBiVElMRUhXaHNEcDdDSDQKV1J0L3VUcDhuMXdCbldJRXdpaTlDcTA4eWhEc0d3SURBUUFCbzRINE1JSDFNQTRHQTFVZER3RUIvd1FFQXdJQgpoakFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdFd0VnWURWUjBUQVFIL0JBZ3dCZ0VCCi93SUJBREFkQmdOVkhRNEVGZ1FVQUxVcDhpMk9iekhvbTB5dGVENzYzT2tNMGRJd0h3WURWUjBqQkJnd0ZvQVUKZWJSWjVudTI1ZVFCYzRBSWlNZ2FXUGJwbTI0d01nWUlLd1lCQlFVSEFRRUVKakFrTUNJR0NDc0dBUVVGQnpBQwpoaFpvZEhSd09pOHZlREV1YVM1c1pXNWpjaTV2Y21jdk1CTUdBMVVkSUFRTU1Bb3dDQVlHWjRFTUFRSUJNQ2NHCkExVWRId1FnTUI0d0hLQWFvQmlHRm1oMGRIQTZMeTk0TVM1akxteGxibU55TG05eVp5OHdEUVlKS29aSWh2Y04KQVFFTEJRQURnZ0lCQUk5MTBBblBhblpJWlRLUzNyVkV5SVYyOUJXRWpBSy9kdXV6OGVMNWJvU29WcEhoa2t2Mwo0ZW9BZUVpUGRaTGo1RVo3RzJBcklLK2d6aFRsUlExcTRGS0dwUFBhRkJTcHFWL3hiVWI1VWxBWFFPbmtIbjNtCkZWaitxWXY4Ny9XZVkrQm00c04zT3g4Qmh5YVU3VUFRM0xlWjdOMVgwMXh4UWU0d0lBQUUzSlZMVUNpSG1aTCsKcW9DVXRnWUlGUGdjZzM1MFFNVUlXZ3hQWE5HRW5jVDkyMW5lN25sdUkwMlY4cExVbUNscVhPc0N3VUx3K1BWTwpaQ0I3cU9NeHhNQm9DVWVMMkxsNG9NcE9TcjVwSkNwTE4zdFJBMnM2UDFLTHM5VFNyVmhPays3TFgyOE5NVWxJCnVzUS9ueExKSUQwUmhBZUZ0UGp5T0NPc2NRQkE1MytOUmpTQ2FrN1A0QTVqWDdwcG1rY0pFQ0wrUzBpM2tYVlUKeTVNZTVCYnJVODk3M2paTnYvYXg2K1pLNlRNOGpXbWltTDZvZjZPclg3WlU2RTJXcWF6enNGckxHM28ya3lTYgp6bGhTZ0o4MUNsNHR2M1NiWWlZWG5KRXhLUXZ6ZjgzRFlvdG94M2YwZnd2N3hsbjFBMlpMcGxDYjBPK2wvQUswCllFMERTMkZQeFNBSGkwaXdNZlcybk5ISnJYY1kzTExIRDc3Z1JnamU0RXZldWJpMnh4YStObWsvaG1oTGRJRVQKaVZERmFub0NyTVZJcFE1OVhXSGt6ZEZtb0hYSEJWN29pYlZqR1NPN1VMU1E3TUoxTno1MXBodURKU2dBSVU3QQowenJMbk9yQWovZGZybEVXUmhDdkFnYnV3TFpYMUEyc2pOalhvUE9IYnNQaXkrbE8xS0Y4L1hZNwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBMCtNam1BZDZtL21YY3Y4RzJ3UnJmRTFEVTJ3TlZOcEpscE1yejVIcXNsUlVOclViClU4Z1U5QnFIVDBQbm0wU3hKSEh4Z2FKZGhOb2JaTWVSbnBHVXllYVZSVnRlMkM3WWxCNDVic2tCMlN5QkVMVnUKNWZzR0VSdnliTEppMnB2aGlHRlJQeGlBZEhtQ00xSVZXeUVFbnM1U0hrYlVDNEJ6MVZKbURiQUhWR0lEVW1WLwo4R0JQMGlkL3VhdzFsSllqL3kzcmd3ZmE2SkprMFR6UWRFMFdjcDJ4NHB2ZlZoMDhGT2srcDY4WkpUaVpjQnVJCkhtOWgveUF0QmcyMWI2dENFNXQwQjMrZEQ4dkFWL3pjaVZENVpMRnYwZmtVb0R5RTVDOVBGTEYrbHpkaXJKUzgKSWFaektQWnAyQUFWbXhoUVB4WFQ0dE1NRFBYc2tpOXN3OU9pUEdURGlmQXlsR2s3bmxPcGUyUmczdEFLRWpKWQphUTRLWXA3UkVqVnNPckJsOGRnU2JoclBOTEkyVjFRVm44SER0NEErZTZ0V2ppdStIby90SzZnMTdiOW1hRE5KCmhWd1h1UXVqa295eDBrenBHREJyYkhER3UydkYvU0VEbjNCMS9jWTE4UUtMaDE2R042WVZ2eHhPcUFGU2wwTVMKajBnbHBBWVdGTkFJYWdkTXkxTjRmc3AzNkY2MHdQaitTVTVjVUdzSE8ycGU5NFpvZWVuSU9GdFc1cHZSNE40bwpGNldPbFdQL2tRdXJCWTg2MGJmdWZwam0vdlg3bVNVd3lZWXdtcUo5V2tvWUJEdlpLeHB6YVFRVEJJRGt1cnVXClZIbEdtUHdLQ0pRaHJHU2NWUWFOZWNlcHJkT2FXMmJQOStkRnV0d0o0UU44eEozUjFYUEpvU1lvNmlrQ0F3RUEKQVFLQ0FnRUF6VlpHalROYVA4T09ZSFFER2NiYnZ6ZEU4cGc1QnkwUHVXdGdQcVRDMUJUakU2MUpFVlZKOFJHdwpaVUdDTnJkSUQvQ1lRYSt1ZjJ1NnRseXNvd1drTWxGU0FVZTl6elQrei9QR1pyVkhKRVo3d1V5Q2J6OW9Mclp0CnBhYnVJN3FDd3Q3RWxLZlMvSTB3ZnptaDFwRlYzK3hFS25FclZ3WWh1dTVDVml0cnZ2dkpDbFd3dWFzc1Q1WFYKc29MUDNmSHVhb0greFJtY3JGd0tkYmRBc0NSd2g1eUk0Zmw2WXdLcjBmd0RxdzhHQ0Vza2J6OVBGMmVMaVdtTwpHRnE2cE1CTHBhSzF1L3FRbzlrcHlsc1RBY1BHSEMzVUZxRVN1d0pMS3JNcUtQeWxtRGVsV1dnK05VSVFRZmNpCnRaL0hVR2tzZ3laTkUzakJLZUk5WTZHdi9zcWVZYk00UU1uRUsvYTJsblVsNWdmQmRRRE1tQlQrK1IzR3grbksKb0pVSXJ0RTF4RXhsQzZEYXNiYVV2OW9TdmtLTUk0Y0hWeFM3OG43ay9MUFF0N0trOHgxdHQxYjk3OW9oY0daRwprbDUrUWpQTVhhRC9YUFNQUHZ5MDdpQ2phUEc1SitvVlNPaHFSbSt4SnovbytYWmZqeFJHNTh4OWJuck91cVlhCnpSNWFhOGFkM0V0dFNxYkEzTCtLVzNSMlI5S0VHRDRsNStHNEVmNkRzd0lzTDFRT0V6R1pjT1Nvb1VOOTNGbU0KTUlWSWdPNmlJeUE3VDg2RnY3bC8rTk9qUVJUQkJaWmpJSmRMeTZ4SGRpWi9YdUdpMFZPN29XZUlpQzVjbkM3RApMVm1DWmM4T0toRUpNVVRuZ1VHMjBlU2VNWXdqSkVuUkJvS2Fsd1VqaFcxM0NFQmRLb0VDZ2dFQkFPWkRSWjhTCllnVDl4UzE1VzRTNkUyTDRYenpYKzdFR0tLUnRkeDFjVjJ0bUFiT0grdU1tdUcwK1VIbkQxY1ppRk00K1Z6cXQKU29WWGdJejA5WTh1bmlNdVducDFMQnVvQ0FuWkV5U3lHQ3lCTUlsd1NzVE5vcnM0eFowaXJkenhJVit0UlhwLwpJREpGRE8wQlVXQ2xvNmhHMzFEWVlXQmM2dWhSK25IeXh5TFd1SzFqeU81NEk4ODdJemx3b1h1cW82Rkh0a3o4CmRSNXVmdGtsUFNvajNBUWIrL1VTRnA5Z0xUeFlMaG4vcFdkb1R2WnpTN3ZBTjVlQkZRMEVmc0tkZ3FUSnBSTXIKNnpReXByRGtKU3NvZFZwdlVxYVphN2c4Y04yWGUyalAvVE5YSG96Q0ZiR2ZoUFZwWGQzRnFNOGJoQThzVVVoOQptVWVaVU9GTkF2MjNKaEVDZ2dFQkFPdVNFaVExODcvWTZZOUM2bFY5YlhKc2RQeTBXUExIL2RIMVA4Z2JLSkpMCng0MU14RVRqMUIyUjZhN0JtaHRrY3QrTm1rM3BYRytleit6Kytob1hEMjRxODA0cFQzZjd5YWtXNGZxcE9DUWsKNkVOejJxZEl6cXNVQU4wQmFkV2wyYmNOWWxSTzhyUCtTc3F2ZDc2QWVUQnhrSHkwVXgvMDJLNmZmcENBNjJQawpiN3NXU1Q3TXlNVmc1VFQ3eitUZGZxYU05QmlrQi9yOEphM1pYTnVCekZKM2lCOENBdlZjT2I4bU12dlNxcjJxCnZGN2FtbjRJMVQ3LzBDdFR1UElmTDg2dkVwSDB6ZTZKdlZqM2ZldEVBYnREaFZkRVAxWUYySGtQK0VLK09YRm0KaE04NTZRRmF3MHA3ZzJxZm53TCtEQUZrd01weFB4U3JkVExsQWpCT2lwa0NnZ0VCQUliS2dvcm4yL0ZJREpEZQpKYkRBckhDWExFa1Z0Z1Nlc2xQdXNIZkRnbmtnTVliQzV4N3BuN1J6Y2ZDVnJ5SitiK2Q3bnR4K2JNMDV0OHJMCjZxTnlpcWZWanFsNHhlVTZxOW4zOUxqYWVFUTFMQkNJWjN4bFZBbDg1bEZoNTUwYW1vckRoNVI1cm9NKzRKNHMKMDFKY0pEMXhuM0JYK2tqS204aDdsTHYzZnBMcVZ4bEkvR3A4Y1pueDZHRExpZncybTZyaHE5bk5QMUlkSkt4QQpuRmw2dkdTN2JQYTlLL2tIOS9NSE81V0VqWExISU5Jc0UvMUlQRUs0RVhhWlZ3cmQ0WWhOY2hDUytSQ0pSZ0x1CnlzTkUzODJjdFNsSlRrRi9RQ0szZGtxWTFvT2pVQUxkNm8wYjhGMG8zUVhobXp3Qnc0Q09WTmEyajIvV1UvNVAKY3B6TEJjRUNnZ0VBWStlVkRncGJqNWRjcGtkSXZtenRSOE83Y1pqQ3lHUU12MGgxZmxZV1JNVWlva2hXVEtrYQp3bGVwZFZYaUY0L29MK3NMNzlMeVF0eGxiaXRNd2xmWlVXMmh0aHBLKzZXckJxMFB0WkNpb0tHT1oxenc5RlVxCllOK2c1aG05V3NCMXJ1NWNMMGswSVNYTmJsd3dPbmlkN08rY3lXWm9nbnNDa2p4T0h0YXQvYlZadFV4a1Q5L2wKbmQvVUZUNWVFci9sQUpseXhDaDh3ZkxCd0JNWkVIYmh3bSt6S1FOZllkTjFJaDMvTFZGUTNCTld4QnVOdmJuZApSbFNUWW15bFdQbmsrcERCSFdsbkZLMFJ3bk5qMGEwTDF2RngwV3ErT2F0TS9UcktuUE96eE9Zbm1RTUVVSEMvCnRnemYxUTVSRDZIU1VaejdMbUFNMHFWTWxRTU9oSklxc1FLQ0FRRUEzb2tLekVwNitMY0N0S2lBRTZkbmtVaVUKSnNkT0dHdzFLT1JDdE94WVpaTVVYbW5RNUlBWVEzbzRQQVo2OU04cXdOUjRVaTVleWNpWmRaMEV5VFVqNW9JYwpNdkxrWWJVOTQ0NlZBaDRlZTZQTTZva0NWdEY5SjdpOXFzbUZFeXFaMStjd2Nqemd5cjA0TTlSekkrVnNpZ2JxCjVNSmgzVVZ2UE8zVUdHU0dnR094TithTEVvRTROK1pIUFlaYTRGRXpnTWtVaXh2bVAxUmt6QWNScS9RQXovblAKWVFlZitZZUxEWmNPY2hsc3hyc2psVjYrN05zTXlML1UrNDRLZ2I1NWZwQVBQY2ZsaXJmMXE1cDZEM0l4aWUzLwpGUkcrVU9DN29RTW1TWm1HMmd5RlNkRHptOGFldWpxb1VDVlF4YndManF4YVFRQXpwaUdDcjNlRS8xeTlGdz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==", "Store": "default" }, @@ -203,7 +203,7 @@ "domain": { "main": "audiobookshelf.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdGVENDQlAyZ0F3SUJBZ0lTQmNKVDZrbHVYMHIveC8vUENhRmRlaU0rTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXhNVEk0V2hjTk1qWXdNakU1TWpBeE1USTNXakFvTVNZd0pBWURWUVFECkV4MWhkV1JwYjJKdmIydHphR1ZzWmk1aGRHaGhiR2xoY0hCekxuaDVlakNDQWlJd0RRWUpLb1pJaHZjTkFRRUIKQlFBRGdnSVBBRENDQWdvQ2dnSUJBTStJbS9neEVKRS96NzVLbGJTZ2lhT2dENlBGSlg2ZWVtTWx3cCtka0tqdwp2WkplVmxUWms0ejg4dlVTdFlab3Z2dXI2aENmTTBPbm85dG95R1EwZlFwd0tPRlNoU0FKcFY0TkJsRmFKVmlLCklVVEN6MC82dXpLYTQwT0tCVTJhNDZid2NKd29OTjFaZENLcmpoVC9VWVQxNWhuMHk0aXZnb1hJT2xkS1ltWTMKN0pXeWVLTmhhYm9iRkQ4czhxUVBZalp3dkpZWHIxZEFDcThNaXExREFzK2l4TnJOc1BBdzhSU25JSjN0Z2xlQwp0Um90aXh3cm5LL2E4L3Rqc0FRUXc5NWxDUEVWWFlwVnhMU3hXK29UZHIwNFFxZUdVWmJRQjlYWWVWSzZDazVICnM1Q1BESDVlb3FCbjdMRFZKbEo4bjliakNXUWk5dWdVUTJwWTZXeUF3bDgvZzJZWTd4eG5WRkpmOVpHZjRrTWcKc1p6ZGZZYU1oT2lmai95ZXBOVTRXL01TNzNXNnEvTG5RUkMwNEhKZDI5bnluTDZEczdKVGFXcmN2dURmSWxXcwp1Nm5NeEZTak9xeUpxdTBQNjRzclJzWkxzOEVQZXVIK2E5L3BLZWdUY0hWZWl3SDdSclZTaWp2Wm5HK2x6OGo1CmFwNU13aWhLSzNmR2xxQkJOLzEwY3ZtUkZwL2dEaHYrRjRhTTdUZzFsVzlPZWlkbW1makEwbW1iWU5WZ3EzdW4KbVBiUFF5SzJ3U1dDclJBTkF6bmR6VnZ6ZzZjYndHVmYxdXNRS00wZW9QR3NseXhGT28xTHpSUkcveXZpMlNiQgpCZHJCWVkrS0RVM0ZEMitkcHE2bUxuSEhXWGNSVU9kakhWTGZRWjYzUkpWQ29MZmh6SVRnQzA4MjNtTkwxT09YCkFnTUJBQUdqZ2dJc01JSUNLREFPQmdOVkhROEJBZjhFQkFNQ0JhQXdIUVlEVlIwbEJCWXdGQVlJS3dZQkJRVUgKQXdFR0NDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3SFFZRFZSME9CQllFRkxaU21XaU16TUpTeGl5VQo1THlNRkYzbTd3anlNQjhHQTFVZEl3UVlNQmFBRk9lcm53OHNNNkJUMDE1UGVNaXloQTQ3MXBJek1ETUdDQ3NHCkFRVUZCd0VCQkNjd0pUQWpCZ2dyQmdFRkJRY3dBb1lYYUhSMGNEb3ZMM0l4TXk1cExteGxibU55TG05eVp5OHcKS0FZRFZSMFJCQ0V3SDRJZFlYVmthVzlpYjI5cmMyaGxiR1l1WVhSb1lXeHBZWEJ3Y3k1NGVYb3dFd1lEVlIwZwpCQXd3Q2pBSUJnWm5nUXdCQWdFd0xnWURWUjBmQkNjd0pUQWpvQ0dnSDRZZGFIUjBjRG92TDNJeE15NWpMbXhsCmJtTnlMbTl5Wnk4Mk15NWpjbXd3Z2dFREJnb3JCZ0VFQWRaNUFnUUNCSUgwQklIeEFPOEFkUUFaaHRUSEtLcHYKL3JvRGIzZ3FUUUdScXM0dGNqRVByczVkY0VFdEpVekgxQUFBQVpxb1FKNGlBQUFFQXdCR01FUUNJQkRXLzBWZwpNaWc0TXZycnhVaFk1SEFmcC9UbnJBTDhwNkdnUVlvTEpsTGNBaUJHS0xuK0VnVU1ML0JaV3Exa2ZOYklXSmtKClNTWm01ai9maHlYTFFvRU9kQUIyQU1zNDl4V0pmSVNoUkY5YndkMzd5Vzd5bWxuTlJ3cHBCWVd3eXhUREZGam4KQUFBQm1xaEFua29BQUFRREFFY3dSUUlnUHUvMkZ3aHRLOW5Lb0hXdnN2NVkvTTc5VGNZNzlkdXJPZnIwc3JxYgowdjRDSVFDRVhLU3kzQXhCMnBsTTRpbkZJazVsWnNESlJlQzlackFhZkoySmp1VHpNakFOQmdrcWhraUc5dzBCCkFRc0ZBQU9DQVFFQVVQSUV2SjBzdjVyWklNc09jWkljMmRGMzMyNFF3d0pEeTNjNi9rVDR5UmdMTW1FRS95RzgKWFM3M1o0YUpDZjFxYmg2MWR5ak1BbTFxaFg1eUg0YnNSRnF3MVk5dmNCKzE0MHYzNGt2SlViUFlFRmdvS3pCRgpSV3NGYW5zcFRoMWtrRnVac3hRbUZPd2ZFakVZR2xUVzIrSjdtWFVqOVo2cllINUU5dkZlcmgxTGxrQkhzWEFNClJOeklva1FKUndtK0gwRkJ5a2lRdTJKYVNPWTFucWxtWXhyK2QzVWdReXc3UXIyNlFyN3ZJUVNDMFNVbWd6NmoKdVBCYUZYYlBTNmN3QUNKMGVpNDEvd0R2ZDlwUWIyNGdmN3hCYjRWZlBYdVBWQnhWYmdZaXF0UTE5OExEL3lrTAo3dVVRSDRWU2NXbjBlNE81VnlNV2t4aklKOXZuZkZYV0xBPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdIakNDQlFhZ0F3SUJBZ0lTQlZhdUdXWVQ5bVdxZ1pkVENJbUxRQmVrTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXdOek15V2hjTk1qWXdOREl4TVRZd056TXhXakFvTVNZd0pBWURWUVFECkV4MWhkV1JwYjJKdmIydHphR1ZzWmk1aGRHaGhiR2xoY0hCekxuaDVlakNDQWlJd0RRWUpLb1pJaHZjTkFRRUIKQlFBRGdnSVBBRENDQWdvQ2dnSUJBTStJbS9neEVKRS96NzVLbGJTZ2lhT2dENlBGSlg2ZWVtTWx3cCtka0tqdwp2WkplVmxUWms0ejg4dlVTdFlab3Z2dXI2aENmTTBPbm85dG95R1EwZlFwd0tPRlNoU0FKcFY0TkJsRmFKVmlLCklVVEN6MC82dXpLYTQwT0tCVTJhNDZid2NKd29OTjFaZENLcmpoVC9VWVQxNWhuMHk0aXZnb1hJT2xkS1ltWTMKN0pXeWVLTmhhYm9iRkQ4czhxUVBZalp3dkpZWHIxZEFDcThNaXExREFzK2l4TnJOc1BBdzhSU25JSjN0Z2xlQwp0Um90aXh3cm5LL2E4L3Rqc0FRUXc5NWxDUEVWWFlwVnhMU3hXK29UZHIwNFFxZUdVWmJRQjlYWWVWSzZDazVICnM1Q1BESDVlb3FCbjdMRFZKbEo4bjliakNXUWk5dWdVUTJwWTZXeUF3bDgvZzJZWTd4eG5WRkpmOVpHZjRrTWcKc1p6ZGZZYU1oT2lmai95ZXBOVTRXL01TNzNXNnEvTG5RUkMwNEhKZDI5bnluTDZEczdKVGFXcmN2dURmSWxXcwp1Nm5NeEZTak9xeUpxdTBQNjRzclJzWkxzOEVQZXVIK2E5L3BLZWdUY0hWZWl3SDdSclZTaWp2Wm5HK2x6OGo1CmFwNU13aWhLSzNmR2xxQkJOLzEwY3ZtUkZwL2dEaHYrRjRhTTdUZzFsVzlPZWlkbW1makEwbW1iWU5WZ3EzdW4KbVBiUFF5SzJ3U1dDclJBTkF6bmR6VnZ6ZzZjYndHVmYxdXNRS00wZW9QR3NseXhGT28xTHpSUkcveXZpMlNiQgpCZHJCWVkrS0RVM0ZEMitkcHE2bUxuSEhXWGNSVU9kakhWTGZRWjYzUkpWQ29MZmh6SVRnQzA4MjNtTkwxT09YCkFnTUJBQUdqZ2dJMU1JSUNNVEFPQmdOVkhROEJBZjhFQkFNQ0JhQXdIUVlEVlIwbEJCWXdGQVlJS3dZQkJRVUgKQXdFR0NDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3SFFZRFZSME9CQllFRkxaU21XaU16TUpTeGl5VQo1THlNRkYzbTd3anlNQjhHQTFVZEl3UVlNQmFBRkFDMUtmSXRqbTh4Nkp0TXJYZysrdHpwRE5IU01ETUdDQ3NHCkFRVUZCd0VCQkNjd0pUQWpCZ2dyQmdFRkJRY3dBb1lYYUhSMGNEb3ZMM0l4TWk1cExteGxibU55TG05eVp5OHcKS0FZRFZSMFJCQ0V3SDRJZFlYVmthVzlpYjI5cmMyaGxiR1l1WVhSb1lXeHBZWEJ3Y3k1NGVYb3dFd1lEVlIwZwpCQXd3Q2pBSUJnWm5nUXdCQWdFd0xnWURWUjBmQkNjd0pUQWpvQ0dnSDRZZGFIUjBjRG92TDNJeE1pNWpMbXhsCmJtTnlMbTl5Wnk4ek55NWpjbXd3Z2dFTUJnb3JCZ0VFQWRaNUFnUUNCSUg5QklINkFQZ0FmUUJ4ZnBYendqaUsKYmJIamhFazlNZUZhcVdJSWRpMUNBT0FGRE5CbnRhWmg0Z0FBQVp2aGhUVmdBQWdBQUFVQUIzdUZYQVFEQUVZdwpSQUlnTnE4M3dMZWZTSWFPODZKMWhrRS9JNjRYcUkrZDIyQjFncGh3UVVqNTV6b0NJQTZYVzJQTzVwWjZZT1AwClBPWURUd3FCSlc0UTZHNUJBcUxrS00yU0pOdTNBSGNBMFc2cHBXZ0hmbVkxb0Q4M3BkMjhBNlU4UVJJVTFJZ1kKOWVreHN5UExsUVFBQUFHYjRZVTF4QUFBQkFNQVNEQkdBaUVBK2w3dFJOMTNvdVF5VzAwT0tMVFRPSHFkQzdCNApsMU1sUk5CcllXa0xVY0VDSVFETy9HZ0tXQ05lYlQwUmhmajZ3VFJGZ0JYTlpkbEV5RDZFbW40Y3BsUWpuakFOCkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQUdEQWRITzdIMUZIQm9kMEtVSmN2bFlBdWZuSXd2elBFQkhYaWY0MlkKOXlsV2hMYUkxMVV1eFBaL1h4by9nOXJwTS9PelRxOXRYMzdlTk44RkxaMlJjYVJLVFZiV09mZVFCZDROTm5kegpBM1VYU0p5M1kveU9UUm4vd2dOVlRnNjgzVkRqdkFYR3VoQ3o4aWdxVS9xS2RMQTJmUnpOS3ZIa2xjN1VTMnlzCjdyZk0ydldtbVRvcHpLVk5PMFpLSWk4djZIL1RFT3l1UzdlNkFRSURmNHBPZk83ZDg2RXpZbVZacjhqR1dJOTYKdDU5SzY3WlRmOFhwZzN2RDMzdGlqRHVKSG9qZCsvSVdNT3JqRk5pYTFqeGp3MkVhc00wQXdUZExUS3VrU3YyNApVZWFNTldKSXVseDhxNUdSNnYrKzRXc2JjTmZWdUt5UnhoZGhsZHd1M0Nka1F3PT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCakNDQXU2Z0F3SUJBZ0lSQU1JU01rdHdxYlNSY2R4QTkrS0ZKand3RFFZSktvWklodmNOQVFFTEJRQXcKVHpFTE1Ba0dBMVVFQmhNQ1ZWTXhLVEFuQmdOVkJBb1RJRWx1ZEdWeWJtVjBJRk5sWTNWeWFYUjVJRkpsYzJWaApjbU5vSUVkeWIzVndNUlV3RXdZRFZRUURFd3hKVTFKSElGSnZiM1FnV0RFd0hoY05NalF3TXpFek1EQXdNREF3CldoY05NamN3TXpFeU1qTTFPVFU1V2pBek1Rc3dDUVlEVlFRR0V3SlZVekVXTUJRR0ExVUVDaE1OVEdWMEozTWcKUlc1amNubHdkREVNTUFvR0ExVUVBeE1EVWpFeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQgpDZ0tDQVFFQTJwZ29kSzIrbFA0NzRCN2k1VXQxcXl3U2YrMm5BekorTnBmczZER1BwUk9OQzVrdUhzMEJVVDFNCjVTaHVDVlV4cXFVaVhYTDBMUWZDVFVBODN3RWp1WGczOVJwbE1qVG1obkdkQk8rRUNGdTlBaHFaNjZZQkFKcHoKa0cyUG9nZWcwSmZUMmtWaGdUVTlGUG5Fd0Y5cTNBdVdHckNmNHlycXZTcldtTWViY2FzN2RBODgyN0pndmxwTApUaGpwMnlwelhJbGhaWjcrN1R5bXkwNXY1Sjc1QUVhei94bE5LbU96am1iR0dJVnd4MUJsYnp0MDVVaUREd2hZClhTMGpuVjZqL3VqYkFLSFM5T01aVGZMdWV2WW5udVhObkMyaThuK2NGNjN2RXpjNTBiVElMRUhXaHNEcDdDSDQKV1J0L3VUcDhuMXdCbldJRXdpaTlDcTA4eWhEc0d3SURBUUFCbzRINE1JSDFNQTRHQTFVZER3RUIvd1FFQXdJQgpoakFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdFd0VnWURWUjBUQVFIL0JBZ3dCZ0VCCi93SUJBREFkQmdOVkhRNEVGZ1FVQUxVcDhpMk9iekhvbTB5dGVENzYzT2tNMGRJd0h3WURWUjBqQkJnd0ZvQVUKZWJSWjVudTI1ZVFCYzRBSWlNZ2FXUGJwbTI0d01nWUlLd1lCQlFVSEFRRUVKakFrTUNJR0NDc0dBUVVGQnpBQwpoaFpvZEhSd09pOHZlREV1YVM1c1pXNWpjaTV2Y21jdk1CTUdBMVVkSUFRTU1Bb3dDQVlHWjRFTUFRSUJNQ2NHCkExVWRId1FnTUI0d0hLQWFvQmlHRm1oMGRIQTZMeTk0TVM1akxteGxibU55TG05eVp5OHdEUVlKS29aSWh2Y04KQVFFTEJRQURnZ0lCQUk5MTBBblBhblpJWlRLUzNyVkV5SVYyOUJXRWpBSy9kdXV6OGVMNWJvU29WcEhoa2t2Mwo0ZW9BZUVpUGRaTGo1RVo3RzJBcklLK2d6aFRsUlExcTRGS0dwUFBhRkJTcHFWL3hiVWI1VWxBWFFPbmtIbjNtCkZWaitxWXY4Ny9XZVkrQm00c04zT3g4Qmh5YVU3VUFRM0xlWjdOMVgwMXh4UWU0d0lBQUUzSlZMVUNpSG1aTCsKcW9DVXRnWUlGUGdjZzM1MFFNVUlXZ3hQWE5HRW5jVDkyMW5lN25sdUkwMlY4cExVbUNscVhPc0N3VUx3K1BWTwpaQ0I3cU9NeHhNQm9DVWVMMkxsNG9NcE9TcjVwSkNwTE4zdFJBMnM2UDFLTHM5VFNyVmhPays3TFgyOE5NVWxJCnVzUS9ueExKSUQwUmhBZUZ0UGp5T0NPc2NRQkE1MytOUmpTQ2FrN1A0QTVqWDdwcG1rY0pFQ0wrUzBpM2tYVlUKeTVNZTVCYnJVODk3M2paTnYvYXg2K1pLNlRNOGpXbWltTDZvZjZPclg3WlU2RTJXcWF6enNGckxHM28ya3lTYgp6bGhTZ0o4MUNsNHR2M1NiWWlZWG5KRXhLUXZ6ZjgzRFlvdG94M2YwZnd2N3hsbjFBMlpMcGxDYjBPK2wvQUswCllFMERTMkZQeFNBSGkwaXdNZlcybk5ISnJYY1kzTExIRDc3Z1JnamU0RXZldWJpMnh4YStObWsvaG1oTGRJRVQKaVZERmFub0NyTVZJcFE1OVhXSGt6ZEZtb0hYSEJWN29pYlZqR1NPN1VMU1E3TUoxTno1MXBodURKU2dBSVU3QQowenJMbk9yQWovZGZybEVXUmhDdkFnYnV3TFpYMUEyc2pOalhvUE9IYnNQaXkrbE8xS0Y4L1hZNwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBejRpYitERVFrVC9QdmtxVnRLQ0pvNkFQbzhVbGZwNTZZeVhDbjUyUXFQQzlrbDVXClZObVRqUHp5OVJLMWhtaSsrNnZxRUo4elE2ZWoyMmpJWkRSOUNuQW80VktGSUFtbFhnMEdVVm9sV0lvaFJNTFAKVC9xN01wcmpRNG9GVFpyanB2QnduQ2cwM1ZsMElxdU9GUDlSaFBYbUdmVExpSytDaGNnNlYwcGlaamZzbGJKNApvMkZwdWhzVVB5enlwQTlpTm5DOGxoZXZWMEFLcnd5S3JVTUN6NkxFMnMydzhERHhGS2NnbmUyQ1Y0SzFHaTJMCkhDdWNyOXJ6KzJPd0JCREQzbVVJOFJWZGlsWEV0TEZiNmhOMnZUaENwNFpSbHRBSDFkaDVVcm9LVGtlemtJOE0KZmw2aW9HZnNzTlVtVW55ZjF1TUpaQ0wyNkJSRGFsanBiSURDWHorRFpoanZIR2RVVWwvMWtaL2lReUN4bk4xOQpob3lFNkorUC9KNmsxVGhiOHhMdmRicXI4dWRCRUxUZ2NsM2IyZktjdm9PenNsTnBhdHkrNE44aVZheTdxY3pFClZLTTZySW1xN1Evcml5dEd4a3V6d1E5NjRmNXIzK2twNkJOd2RWNkxBZnRHdFZLS085bWNiNlhQeVBscW5rekMKS0VvcmQ4YVdvRUUzL1hSeStaRVduK0FPRy80WGhvenRPRFdWYjA1NkoyYVorTURTYVp0ZzFXQ3JlNmVZOXM5RApJcmJCSllLdEVBMERPZDNOVy9PRHB4dkFaVi9XNnhBb3pSNmc4YXlYTEVVNmpVdk5GRWIvSytMWkpzRUYyc0ZoCmo0b05UY1VQYjUybXJxWXVjY2RaZHhGUTUyTWRVdDlCbnJkRWxVS2d0K0hNaE9BTFR6YmVZMHZVNDVjQ0F3RUEKQVFLQ0FnQlk1M0hCYWV0cC9jY1dBc2VOSUhTMkpyeHNjT2syQzlmc0gySDNsTDFDMGhhejNEdnBqMmVaTDBjNQpXM0Z1Q2ZNK3h3KzNYU3ZONE1QZUcwNDFOeE1WNUtSdW1qWXpXazZBTXQ0dy9ZZ2dITlJScTQ2NStYUTJJb29YCkJjcHR5MXVZeVVuRWE2ang1ZjlOVnVhLzhmeFBGRFFsakd1Z3UyY1R2b25YbVNMOEhScjVxZ0hxSTdIeUt1V0sKaHN2UElsUDFkR2dsZURJQ0U0cEFJUVJMWXZpU1VHMDZPb0dBODhaakRaRjRkaVd2TFd3OXNhTDFSMjJSSENBRwo0bGFsOXpTaFVmRDVyaWhyT1lEUjAyVEhxdHprQkhUeFpTWVFrRCs3Q1VnMyswQ3M5aVJqV2hTRkVpOWl2Z0owClltdFBUTm9BYVRROXRJakhOTjhJY054V1FmYUJwMlFodXJMeWxvaTd0V0N2ckZ0UnhqNHM0Yk9ibU5OZEtOK08KZS9kRzI5eXZIV3VnRTl3U1JZclJ0OHJNZkNRNDg5UkJ0aGdDTWlwcmtUMmQ3cm5EZVhnY0Z2ZHZHb1dMb1VmZgpqenJIL3NIakMzNzUxZERYUWtJQ25lOGlOVkhRSGppeTNkbGtoTUQ3S09LbUlxU0tjTWdXdWxyWW1oS05kMUl2CnBFT2FjTkJtVSszK1QyWlRML1Z5cDU5RC9ZOHFvSnkwd0lZZS93dDR1Y2xjcElIQ0MrcU4zbjd0TUt6VnZGbFcKMVkvNEFkS3ZLS3IrT1ZBdWFwTDR4b2NkSFNyMmEvV3ZEVDFOU3lRSlRZd3VwZ0RIM1gvKzFEb29NTW1nelgzWApKclF3aEk0SzNVRS9uOGJkdEF1akJKa1hTL013Zm51QUVDOVpJOTFpbnc1ZUk0bW9TUUtDQVFFQTJudlkwOUxECllYZkVabXovTDFpSUNkOUNvYzJvUUVKc0I3eGVLZlIvV3k0WU1LUVJvd2Mrek5sWC9GV01aOXV4YTAycXlsYWcKMENkTThKYlhoWUI1KzZyRjF3eUtsVHJwSU8yNEpPYU1BcTBMZHFhZjFuRFNxUVZIL0xvOWNWN1UzL0gyU2dodgpaSmRNSkF2Slp5UVFjNFozajVYcDE5a2lMbzhIazIzQ1JEUm9CRkI1WUlOOVlYTXFGQjVuSHZZTmttZnhPbExKClI5ZCtLT2xxZTZlS21yb3dDdGlDY3FIUnJmekVTSkd3Si94V3kwUk5xUGl4NnBQcWhhczB1U3kwVUlFVTJzanoKU3dvYTVuS0doWGlQNWVQT2c0WkNtWmZodnVtaDl1T3VnSmlQWUJadzlrWnUyVjNacmdIRFVUNlZHZ01hcWlRawppVHQyeG90V1MvOVQ4d0tDQVFFQTh5dHAzVmlOM0IxTEVtQ3JWM1pmQmpvQ2VuMkRmaG4yNmlqWWY3NFdiUC9NClN5UCtyRGUvQlh5VkNPMEw2K2pBSE9kc1FzZm9ETFF6TlQrQmUzdVBGZWtYc0NGaFRYTEYwV2V0WVhjQW55c24KQW9QK29SNjdEMlZtYTR5bkdhRXFVYjcxbFpOWVErd1AxYTZSR0xSZm1OeWlFaUlXSGRIWGMxdkhNbTcrcnhDbApsdFo5Q2FTNnV3VFVJZWp4ME9iUVdqV0dJN2VPWnkrU1Z1YVJQU0hjL2lFZGIvLzZ6b0RrRlM3Q0FjajExRklKCmVlUjhOdEtiNzBwSTJIanl1dVNnekFPYnVaYXB3OFB5SFJHTjhCUnhSR3BxOWoyWDY3RC9GY0w5ZVA1Q1hnRlgKWHpXT21XWlJBcTYvNTFmeTZpTFBrY3YrbjVYN1FtUVVVeG1WcXRNdXpRS0NBUUJCYzVLTU9ucC9pM0tSd0p0ZAo0cWEyVm1UT3RoNXVTYmUxUlkvci82dmJjOTZaUzcxZzJuM012bHVtWXpaeHNwWGU4R0IyeHliYjFMb3U1UEZoCnRCQlcvVnpSUkplTGh4OXAxdTB3V01TZTFKbzNqRWtiNDZhb0xjWFlCeTc2OUk3UEc5eE5aMk4vZmZlNFlMT1EKSzNTbU55VkFKWWZ0T3NZTHJwdDFaZzhwZ1kyYnBVUUhUcnpUNGIwOFU3Tk95aVZjczdqSFlSK2RYd2dUVjRHbgowNVFwTUJmT1YvZ1VRVGZnYUhXZ3k4dzYzbFJlQm5OQmFHZGNQNzJsRjVudTAxNmRNMTQ5QUxBcHpiZ3JTeW5UCmVEK2JmZmhTM0hpOUxJdmJOb0JueHVOeThNRWE1djRtT1FsaUlzUmdaWFRPdFBIVDNoUXgzaXYzMUpHTGZ4aDIKSWVKVEFvSUJBUURVUXdZaS8rUzh5aGs0em9kaVRtSitOZTdwNjF2M25FU0xlK0lZQjk3ZGdLQmN5dXZJZXRUVQp2ajM5ejZYRFpLVWwxZUVMbmlKeHpHNlN3WCtPUVhuU0gyamRCeFkvbTdzUG9wZVc1MkQwajU5NnM2dDJDelF3CktVd3cvMUx4clZ3YWhUMHNOclVxZlFvSmRWc1VuSWFDRWIyclpITzN6ZTlxdENkNlg2Y1RPODIva0RVUFVPcnEKeXprODdIRUE4Q25aUkxWMXdnbWRDc3FMN3JIREVpY3M4YzBYY2ZRRmhEOFVPbitCUFdGUTE5ZUx2aVdyV1VaaQpwNDVVMzZiSit6NWRONTBjY0daNkN6WHhwOXdsUUVMcS9KV25vblpWZDJnREgvVlFRMm05VXlCb2JJQ3dhTDY0ClA4QWwrZ0NCM3FjZjFsaktCd3FQbG5xalcwYnBHWFRWQW9JQkFBNFYycWdPMnJDZHNXcXQydXdWWnAvWUp0WXgKdlpOODdpS0hhWFYzOGhkWVZVd2tvYTFSNjJEKy9xTVBZaUVBVFhPZUJQbzlWdTN0eUhjQWV3VWhVOU9JV2hXOQpYdStaRU1HcGg1STR3VDhVMHJNQ0U2bUZvYVZrelhhRDhOejZoMHZ1OCsvZDhBNVhFN2p0cHlEcnEzV0pmN3JiCnlVTEhEUnh6cXdFOTZOQzFWdzlyTkU5NUdBRlc2M1poRGdpcXM0WFNpdFRiS3Q0TGtIN1diQ3ZZRlNLam5jU1YKdnhncnZ6WGluUDlzV2V3Yk9NWkZacXlLY2pIQU5zajNVdzJmMHdOTU9ReGlONzBNdENJZS9KSVBwRFVPWDM2YQpLZFNqSkpma25teVVYR25uMDg2YVhqOXdIaTVwdjZldjUySEZlV0lkcU1OT3VBcGNrd3VmUkxFZk9jQT0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -211,7 +211,7 @@ "domain": { "main": "heimdall.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDekNDQlBPZ0F3SUJBZ0lTQlhiYlRHeWxOQXc0OTFvaW92TStoTHIyTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXhNVE15V2hjTk1qWXdNakU1TWpBeE1UTXhXakFpTVNBd0hnWURWUVFECkV4ZG9aV2x0WkdGc2JDNWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVAKQURDQ0Fnb0NnZ0lCQU1RSTlHaUFJcWdDNXFHTGhQMU1EUlVCalN0UDNaTEc1UlhUQU5mNnBDeGtJZGdVcVpvSgo0YmVLTStBWittaVBuT1FVMit0UktPbFZwNFlYUlRpQ1VoeTc2Q0FoRmZmcGFCYTE1QXBIeFV2bVY2TWRFUzhuCmVFQlcyQ1Qrb2RnTUxuSWZpS0RBNHdGUFVXcXkwL0Jtd1RpMm9zaUFKUnhGZi9PWGpYUUthZ1hUQnN5NHRQRVQKZ0J4ZytpUk5FbXdYUGJ3QlhYalZrUE5PYkRiOEJpaTF5M0xaWTR3VmlmbnpLcUpNUE0xb3NDbmZaRER6N2RKcwpBYzB6eEdDakczbVpGUkJQN21jcXBiSnBzUjFTVUxsdTkrWmtJeDdDVVZPZ0FLL2s3KzNjb1Aydmd4VFdaYXo4CnVUWk05bkxEelhqRmtJakxXRXB1TTZ1R1VSTDI4ZFFndzZUcHFyZ1I1WFpaRE03M2VoNXU0ZlRUUDNrMkw4MkcKQXlhQVM3aGVuTFptZFlDVlBRMTNUbUxCOXB3eHF2NEVBMHdtQVJBN1BjQ0dSRDd3UU1ZR25MVUZ3cXM3UERCRQpVeXFVS25aMFRodGorYXZsWTMrcXJGUnFzdzkxMlhheUIxMUNucGdDQ200eThnSHQ4NlNqZTBMQXVROXBteG9qCkJHMXdsM2lRVlNlblJuSmpVRHYrSWNWZmF6S0dGczYwYncvTVExcDZWZGNJeGEyUXhUWmFBL3h2ZTdMak1INGIKNmJqRXhlMW01SmF3SFNlYzE4TWxWYXFXNVlwc3dsdG9TRDRvTXl3ZTJCZ0ltZ2t3YlVaOVNUUEZ5dkgvaVE4SQpRQWFaSVROV1lXU1dqeUVyd2tyR2pnTXhjWlZaaGFpMWgxR0ZjT0xYR3g5QTZhQVAzaE1hamJVUEFnTUJBQUdqCmdnSW9NSUlDSkRBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0cKQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZQUkIwbXNQY3NkbGwxamIvVXFlRTVyUApDR1dSTUI4R0ExVWRJd1FZTUJhQUZPZXJudzhzTTZCVDAxNVBlTWl5aEE0NzFwSXpNRE1HQ0NzR0FRVUZCd0VCCkJDY3dKVEFqQmdnckJnRUZCUWN3QW9ZWGFIUjBjRG92TDNJeE15NXBMbXhsYm1OeUxtOXlaeTh3SWdZRFZSMFIKQkJzd0dZSVhhR1ZwYldSaGJHd3VZWFJvWVd4cFlYQndjeTU0ZVhvd0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QgpBZ0V3THdZRFZSMGZCQ2d3SmpBa29DS2dJSVllYUhSMGNEb3ZMM0l4TXk1akxteGxibU55TG05eVp5OHhNVGt1ClkzSnNNSUlCQkFZS0t3WUJCQUhXZVFJRUFnU0I5UVNCOGdEd0FIWUFHWWJVeHlpcWIvNjZBMjk0S2swQmthck8KTFhJeEQ2N09YWEJCTFNWTXg5UUFBQUdhcUVDdDh3QUFCQU1BUnpCRkFpQU1KYUFET0hTMkROM045STQ2QURLOQpQaGgrMGJON2M0QjlYYVI4MWk2ekFBSWhBUENOU3diTkdybXNUWE8yRHNCWGtIU29ZNTRndGZLQlZKd2ZoL0U5CjFzbFJBSFlBbHBka3YxVllsNjMzUTRkb053aENkK253T3RYMnBQTTJia2FrUHcvS3FjWUFBQUdhcUVDdVBnQUEKQkFNQVJ6QkZBaUFxT3YyOUMxd3FHMyt1ckR3dDFlVWRDdUM3WUxBalkxVmZrWmNEb09uOSt3SWhBTkQzeE9TbQpKelpubTlxWWtIWStqY2JpT0I3SmV1MnRNVTh4U0Vub0VZRVdNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUJzCkVPaVlza21FVXY1cEV2Ryt4TmlXM2lRRGkwa0pjRTlLL2Uxd01EdTY2aDB6dGU3U1ljV1JGeSt1SkhuUytad2EKMVNLeVR3Z0dDeTY0UVVxNDdRNmlRdlVTWjJDM0hpTTVXQXBVR1o2eDJZeXIvclR1eURVQ3ZUVE5BbEJPRTZkNwp2eHMwcEQ4dkRLSTNNMTNQYllTalU3V3R3bUw0SitVRnhOd0poTHhtTUdEcDlQb0RiMlc3TEc0cWJKNGtKcnlyCklxUEJmTUczWjFsM2lGanpUUUd4WFcrOTlYN2tpbDRBMFBMNy9xa3llYndKejFjV1FSS21PUUJQaDBTNSsxMDEKSHc4cXJyQUR5d3pQS2FhV2RmNXRlQys4RjF5M1k3YmZ2RVV5bWtPWFl1RnBPeXZ0RXo2NUY3OFl1RVpKQy9ibwpQbDdGSWxXaWtkNDdrV3FPL1dCbgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJUQ0NBdTJnQXdJQkFnSVFXZ0R5RXRqVXRJRHpra0ZYNmltREJUQU5CZ2txaGtpRzl3MEJBUXNGQURCUApNUXN3Q1FZRFZRUUdFd0pWVXpFcE1DY0dBMVVFQ2hNZ1NXNTBaWEp1WlhRZ1UyVmpkWEpwZEhrZ1VtVnpaV0Z5ClkyZ2dSM0p2ZFhBeEZUQVRCZ05WQkFNVERFbFRVa2NnVW05dmRDQllNVEFlRncweU5EQXpNVE13TURBd01EQmEKRncweU56QXpNVEl5TXpVNU5UbGFNRE14Q3pBSkJnTlZCQVlUQWxWVE1SWXdGQVlEVlFRS0V3MU1aWFFuY3lCRgpibU55ZVhCME1Rd3dDZ1lEVlFRREV3TlNNVE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUNsWjNDTjBGYUJaQlVYWWMyNUJ0U3RHWkNNSmxBM21CWmprbFRiMmN5RUJaUHMwK3dJRzZCZ1VVTkkKZlN2SFNKYWV0QzNhbmNnbk8xZWhuNnZ3MWc3VURqREtiNXV4MGRha25USStXRTQxYjBWWWFIRVgvRDdZWFlLZwpMN0pSYkxBYVhiaFp6alZseUl1aHJ4QTMvK09jWGNKSkZ6VC9qQ3VMamZDOGNTeVREQjBGeExySHphckpYbnpSCnlRSDNuQVAyL0FwZDlOcDc1dHQyUW5EcjlFMGkyZ0IzYjliSlh4ZjkyblV1cFZjTTl1cGN0dUJ6cFdqUG9YVGkKZFlKK0VKL0I5YUxyQWVrNHNRcEV6TlBDaWZWSk5ZSUtOTE1jNllqQ1IwNkNEZ28yOEVkUGl2RXBCSFhhemVHYQpYUDllblppVnVwcEQwRXFpRndVQkJERFRNck9QQWdNQkFBR2pnZmd3Z2ZVd0RnWURWUjBQQVFIL0JBUURBZ0dHCk1CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0RBVEFTQmdOVkhSTUJBZjhFQ0RBR0FRSC8KQWdFQU1CMEdBMVVkRGdRV0JCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekFmQmdOVkhTTUVHREFXZ0JSNQp0Rm5tZTdibDVBRnpnQWlJeUJwWTl1bWJiakF5QmdnckJnRUZCUWNCQVFRbU1DUXdJZ1lJS3dZQkJRVUhNQUtHCkZtaDBkSEE2THk5NE1TNXBMbXhsYm1OeUxtOXlaeTh3RXdZRFZSMGdCQXd3Q2pBSUJnWm5nUXdCQWdFd0p3WUQKVlIwZkJDQXdIakFjb0JxZ0dJWVdhSFIwY0RvdkwzZ3hMbU11YkdWdVkzSXViM0puTHpBTkJna3Foa2lHOXcwQgpBUXNGQUFPQ0FnRUFVVGRZVXFFaW16VzdUYnJPeXBMcUNmTDdWT3dZZi9RNzlPSDVjSExDWmVnZ2ZRaERjb25sCms3S2doOGIwdmkrL1h1V3U3Q044bi9VUGVnMXZvM0crdGFYaXJyeXR0aFFpbkFIR3djL1VkYk95Z0phOXp1QmMKVnlxb0gzQ1hUWERJblQrOGErYzNhRVZNSjJTdCtwU240ZWQrV2tEcDhpanNpanZFeUZ3RTQ3aHVsVzBMdHpqZwo5Zk9WNVBtcmcvenhXYlJ1TCtrMERCREhFSmVubkNzQWVuN2MzNVBteDdqcG1KL0h0Z1JoY256MHlqU0J2eUl3CjZMMVFJdXBrQ3YyU0JPRFQveEREM2dmUVF5S3Y2cm9WNEcyRWhmRXlBc1dwbW9qeGpDVUNHaXlnOTdGdkR0bS8KTksyTFNjOWx5Ykt4QjczSTIrUDJHM0NhV3B2dnBBaUhDVnUzMGpXOEdDeEtkZmhzWHRuSXkyaW1za1FxVloybQowUG14b2JiMjhUdWNyN3hCSzdDdHd2UHJiNzlvczd1MlhQM081ZjliL0g2NkdOeVJyZ2xSWGxyWWpJMW9HWUwvCmY0STFuL1NndXNkYTZXdkE2QzE5MGt4alUxNVkxMm1IVTQrQnh5UjljeDJoaEdTOWZBak1aS0pzczI4cXh2ejYKQXh1NENhRG1STlpwSy9wUXJYRjE3eVhDWGttRVdndlNPRVp5Nlo5cGNiTElWRUdja1YvaVZlcTBBT28ycGtnOQpwNFFSSXkwdEsyZGlSRU5MU0YyS3lzRndiWTZCMjZCRmVGczN2MXNZVlJoRlc5bkxrT3JRVnBvckNTMEt5Wm1mCndWRDg5cVNUbG5jdExjWm5JYXZqS3NLVXUxbkExaVUweVlNZFllcEtSN2xXYm53aGR4M2V3b2s9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDekNDQlBPZ0F3SUJBZ0lTQlVUc0E4N1pBM3drTHFEaVlDV25LU2ZJTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXdOek0zV2hjTk1qWXdOREl4TVRZd056TTJXakFpTVNBd0hnWURWUVFECkV4ZG9aV2x0WkdGc2JDNWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVAKQURDQ0Fnb0NnZ0lCQU1RSTlHaUFJcWdDNXFHTGhQMU1EUlVCalN0UDNaTEc1UlhUQU5mNnBDeGtJZGdVcVpvSgo0YmVLTStBWittaVBuT1FVMit0UktPbFZwNFlYUlRpQ1VoeTc2Q0FoRmZmcGFCYTE1QXBIeFV2bVY2TWRFUzhuCmVFQlcyQ1Qrb2RnTUxuSWZpS0RBNHdGUFVXcXkwL0Jtd1RpMm9zaUFKUnhGZi9PWGpYUUthZ1hUQnN5NHRQRVQKZ0J4ZytpUk5FbXdYUGJ3QlhYalZrUE5PYkRiOEJpaTF5M0xaWTR3VmlmbnpLcUpNUE0xb3NDbmZaRER6N2RKcwpBYzB6eEdDakczbVpGUkJQN21jcXBiSnBzUjFTVUxsdTkrWmtJeDdDVVZPZ0FLL2s3KzNjb1Aydmd4VFdaYXo4CnVUWk05bkxEelhqRmtJakxXRXB1TTZ1R1VSTDI4ZFFndzZUcHFyZ1I1WFpaRE03M2VoNXU0ZlRUUDNrMkw4MkcKQXlhQVM3aGVuTFptZFlDVlBRMTNUbUxCOXB3eHF2NEVBMHdtQVJBN1BjQ0dSRDd3UU1ZR25MVUZ3cXM3UERCRQpVeXFVS25aMFRodGorYXZsWTMrcXJGUnFzdzkxMlhheUIxMUNucGdDQ200eThnSHQ4NlNqZTBMQXVROXBteG9qCkJHMXdsM2lRVlNlblJuSmpVRHYrSWNWZmF6S0dGczYwYncvTVExcDZWZGNJeGEyUXhUWmFBL3h2ZTdMak1INGIKNmJqRXhlMW01SmF3SFNlYzE4TWxWYXFXNVlwc3dsdG9TRDRvTXl3ZTJCZ0ltZ2t3YlVaOVNUUEZ5dkgvaVE4SQpRQWFaSVROV1lXU1dqeUVyd2tyR2pnTXhjWlZaaGFpMWgxR0ZjT0xYR3g5QTZhQVAzaE1hamJVUEFnTUJBQUdqCmdnSW9NSUlDSkRBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0cKQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZQUkIwbXNQY3NkbGwxamIvVXFlRTVyUApDR1dSTUI4R0ExVWRJd1FZTUJhQUZBQzFLZkl0am04eDZKdE1yWGcrK3R6cEROSFNNRE1HQ0NzR0FRVUZCd0VCCkJDY3dKVEFqQmdnckJnRUZCUWN3QW9ZWGFIUjBjRG92TDNJeE1pNXBMbXhsYm1OeUxtOXlaeTh3SWdZRFZSMFIKQkJzd0dZSVhhR1ZwYldSaGJHd3VZWFJvWVd4cFlYQndjeTU0ZVhvd0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QgpBZ0V3TGdZRFZSMGZCQ2N3SlRBam9DR2dINFlkYUhSMGNEb3ZMM0l4TWk1akxteGxibU55TG05eVp5ODNNeTVqCmNtd3dnZ0VGQmdvckJnRUVBZFo1QWdRQ0JJSDJCSUh6QVBFQWRnQVdneTJyOEtrbER3L3dPcVZGLzhpL3lDUFEKaDB2MkJDa24rT2NmTXhQMStnQUFBWnZoaFVrdUFBQUVBd0JITUVVQ0lEeXJJeU1iUmFnWStFK0h2ZnFWcUlZWgpldUxzSUttZEMzV3lZZ2gvU3VOdEFpRUErdWU2YlliZGtDSUpZc1JiRTNucXNqU1NMNnRFdlVZTUJ0cUZLck5ICnN1WUFkd0NXbDJTL1ZWaVhyZmREaDJnM0NFSjM2ZkE2MWZhazh6WnVScVEvRDhxcHhnQUFBWnZoaFVsWEFBQUUKQXdCSU1FWUNJUUNRNWRyTFAxVjRkQ1JoQWZyaWxxMSt0cGpqSHY5R1ptU0UzcEx3TjR0R21BSWhBSTVLbVpSQwpoY2Q1TlA2Z1lhdXVpdjRacmNtRWlMSnZTQkRlUjY4SUpnRFRNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUNjClhDaTdtY2YrVXF4SmdFVjBnVVVBUzR5dFhhVlpTZ2lTY0ZiNCtSSkp5TEgxMG5ZQTF5MlNVQ29vVUVnWnN1aEEKUzhnaEpPaFIwR3cxckx6SU1abFhjbkM5ZG9qOHkwL3hqdFlYZ3JMQzFrdHp3UldxbjR1SExRZFF0bEtsY3pZSQozdWxSYjNmWU92MnBkdWRhcE1OelZkMEJNZG5ZWXZCOUVBNFR0Z20wMnl5cVB6WHN2TGlHaVFRVmhXdGtvODlZCnYyWXBMN2xWaXBveWVKV0FreHpiTFdGaHJlaldCT2xVVWxZRCtXWlI1NFZXWWRvdlNoV282TWN4VHpjYy9EZjcKcTFZd2EzQlBpZWwwRFZLaUozNUtIV245OWJiYzJLbVRUNDFtL002akR3SzBzZmRDOHFxd0VXdDd0M1l6bktRaApZeVhtMFpGeGN6aU1udGZudGZ2aQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJqQ0NBdTZnQXdJQkFnSVJBTUlTTWt0d3FiU1JjZHhBOStLRkpqd3dEUVlKS29aSWh2Y05BUUVMQlFBdwpUekVMTUFrR0ExVUVCaE1DVlZNeEtUQW5CZ05WQkFvVElFbHVkR1Z5Ym1WMElGTmxZM1Z5YVhSNUlGSmxjMlZoCmNtTm9JRWR5YjNWd01SVXdFd1lEVlFRREV3eEpVMUpISUZKdmIzUWdXREV3SGhjTk1qUXdNekV6TURBd01EQXcKV2hjTk1qY3dNekV5TWpNMU9UVTVXakF6TVFzd0NRWURWUVFHRXdKVlV6RVdNQlFHQTFVRUNoTU5UR1YwSjNNZwpSVzVqY25sd2RERU1NQW9HQTFVRUF4TURVakV5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCCkNnS0NBUUVBMnBnb2RLMitsUDQ3NEI3aTVVdDFxeXdTZisybkF6SitOcGZzNkRHUHBST05DNWt1SHMwQlVUMU0KNVNodUNWVXhxcVVpWFhMMExRZkNUVUE4M3dFanVYZzM5UnBsTWpUbWhuR2RCTytFQ0Z1OUFocVo2NllCQUpwegprRzJQb2dlZzBKZlQya1ZoZ1RVOUZQbkV3RjlxM0F1V0dyQ2Y0eXJxdlNyV21NZWJjYXM3ZEE4ODI3Smd2bHBMClRoanAyeXB6WElsaFpaNys3VHlteTA1djVKNzVBRWF6L3hsTkttT3pqbWJHR0lWd3gxQmxienQwNVVpRER3aFkKWFMwam5WNmovdWpiQUtIUzlPTVpUZkx1ZXZZbm51WE5uQzJpOG4rY0Y2M3ZFemM1MGJUSUxFSFdoc0RwN0NINApXUnQvdVRwOG4xd0JuV0lFd2lpOUNxMDh5aERzR3dJREFRQUJvNEg0TUlIMU1BNEdBMVVkRHdFQi93UUVBd0lCCmhqQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBZ1lJS3dZQkJRVUhBd0V3RWdZRFZSMFRBUUgvQkFnd0JnRUIKL3dJQkFEQWRCZ05WSFE0RUZnUVVBTFVwOGkyT2J6SG9tMHl0ZUQ3NjNPa00wZEl3SHdZRFZSMGpCQmd3Rm9BVQplYlJaNW51MjVlUUJjNEFJaU1nYVdQYnBtMjR3TWdZSUt3WUJCUVVIQVFFRUpqQWtNQ0lHQ0NzR0FRVUZCekFDCmhoWm9kSFJ3T2k4dmVERXVhUzVzWlc1amNpNXZjbWN2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQk1DY0cKQTFVZEh3UWdNQjR3SEtBYW9CaUdGbWgwZEhBNkx5OTRNUzVqTG14bGJtTnlMbTl5Wnk4d0RRWUpLb1pJaHZjTgpBUUVMQlFBRGdnSUJBSTkxMEFuUGFuWklaVEtTM3JWRXlJVjI5QldFakFLL2R1dXo4ZUw1Ym9Tb1ZwSGhra3YzCjRlb0FlRWlQZFpMajVFWjdHMkFySUsrZ3poVGxSUTFxNEZLR3BQUGFGQlNwcVYveGJVYjVVbEFYUU9ua0huM20KRlZqK3FZdjg3L1dlWStCbTRzTjNPeDhCaHlhVTdVQVEzTGVaN04xWDAxeHhRZTR3SUFBRTNKVkxVQ2lIbVpMKwpxb0NVdGdZSUZQZ2NnMzUwUU1VSVdneFBYTkdFbmNUOTIxbmU3bmx1STAyVjhwTFVtQ2xxWE9zQ3dVTHcrUFZPClpDQjdxT014eE1Cb0NVZUwyTGw0b01wT1NyNXBKQ3BMTjN0UkEyczZQMUtMczlUU3JWaE9rKzdMWDI4Tk1VbEkKdXNRL254TEpJRDBSaEFlRnRQanlPQ09zY1FCQTUzK05SalNDYWs3UDRBNWpYN3BwbWtjSkVDTCtTMGkza1hWVQp5NU1lNUJiclU4OTczalpOdi9heDYrWks2VE04aldtaW1MNm9mNk9yWDdaVTZFMldxYXp6c0ZyTEczbzJreVNiCnpsaFNnSjgxQ2w0dHYzU2JZaVlYbkpFeEtRdnpmODNEWW90b3gzZjBmd3Y3eGxuMUEyWkxwbENiME8rbC9BSzAKWUUwRFMyRlB4U0FIaTBpd01mVzJuTkhKclhjWTNMTEhENzdnUmdqZTRFdmV1YmkyeHhhK05tay9obWhMZElFVAppVkRGYW5vQ3JNVklwUTU5WFdIa3pkRm1vSFhIQlY3b2liVmpHU083VUxTUTdNSjFOejUxcGh1REpTZ0FJVTdBCjB6ckxuT3JBai9kZnJsRVdSaEN2QWdidXdMWlgxQTJzak5qWG9QT0hic1BpeStsTzFLRjgvWFk3Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeEFqMGFJQWlxQUxtb1l1RS9Vd05GUUdOSzAvZGtzYmxGZE1BMS9xa0xHUWgyQlNwCm1nbmh0NG96NEJuNmFJK2M1QlRiNjFFbzZWV25oaGRGT0lKU0hMdm9JQ0VWOStsb0ZyWGtDa2ZGUytaWG94MFIKTHlkNFFGYllKUDZoMkF3dWNoK0lvTURqQVU5UmFyTFQ4R2JCT0xhaXlJQWxIRVYvODVlTmRBcHFCZE1HekxpMAo4Uk9BSEdENkpFMFNiQmM5dkFGZGVOV1E4MDVzTnZ3R0tMWExjdGxqakJXSitmTXFva3c4eldpd0tkOWtNUFB0CjBtd0J6VFBFWUtNYmVaa1ZFRS91WnlxbHNtbXhIVkpRdVc3MzVtUWpIc0pSVTZBQXIrVHY3ZHlnL2ErREZOWmwKclB5NU5rejJjc1BOZU1XUWlNdFlTbTR6cTRaUkV2YngxQ0REcE9tcXVCSGxkbGtNenZkNkhtN2g5Tk0vZVRZdgp6WVlESm9CTHVGNmN0bVoxZ0pVOURYZE9Zc0gybkRHcS9nUURUQ1lCRURzOXdJWkVQdkJBeGdhY3RRWENxenM4Ck1FUlRLcFFxZG5ST0cyUDVxK1ZqZjZxc1ZHcXpEM1haZHJJSFhVS2VtQUlLYmpMeUFlM3pwS043UXNDNUQybWIKR2lNRWJYQ1hlSkJWSjZkR2NtTlFPLzRoeFY5ck1vWVd6clJ2RDh4RFducFYxd2pGclpERk5sb0QvRzk3c3VNdwpmaHZwdU1URjdXYmtsckFkSjV6WHd5VlZxcGJsaW16Q1cyaElQaWd6TEI3WUdBaWFDVEJ0Um4xSk04WEs4ZitKCkR3aEFCcGtoTTFaaFpKYVBJU3ZDU3NhT0F6RnhsVm1GcUxXSFVZVnc0dGNiSDBEcG9BL2VFeHFOdFE4Q0F3RUEKQVFLQ0FnRUFzejRJMDZBTmtCZU83emlWc2RDZXlZMHdtZUNkbFA0ZEt0WlNtQ2lKZ2psUUpMWEgyWnVkY2VlQQp4VENib0kxbmc3aDYyTy9OZTRRZzk5OUJJSWt3TVN1eTgrV3NvNUFiNTJBS2tVZk1ZempLK3M2eURxNkZLamI5CnpOMng5OHd6ajQrN3FsaVRkM2doMW5DS2p1NDFUL2pXWUlPaTZ2VzFKM0owR1IwSWtpakF0K0ZQT0hwL0VmT3QKNUJGQWZlckdQS2YyNG14TDY5dlI0SGlSM1JsVVc3L2ZZSSsxS0FDcUE5bTNZbzJOUGN3UFhSODhYY0Q1Nkxtagpua1NrODRzQUVua3pYOHREMUIwRm4reksrTEk1SXNSK3hEb2lpRmJ0S2VjblpoTHNkT2pNN3ZtVjRCVDMrR2xvCmtjanNqN2Y5RHNiM0JKODh5V0czc2FKdnZXanoyTFNRQUh4SXZjZDRTK3R5UGxENkpTT3NMRXlEQkpBeTlnRG8KUWJDMFRSRXBtRk4zTW5SYkc1MmloOXVnSDZnMStYSi9RVkFXNlRUekdXSXlsbmRFa2IxQUhUdHg4VW1QUUxDUgp0ejhhbHdXNHZEcmppNldQaXdxOHlsUlkvTUUxSndVSW8xZjBrcEpuMUdRQkY4U0tJWUJucGdsUnhlVXh0QWQvCkxWVnZIeW9kZlZkZDVKNWY4YlFvTmFsS0NQNm1oYlVQMXNiZ0xmMjdDam5FOTNDRlhveGFKeEVYN2w1VTFkNmEKRTBiK1AyZTRyTW9qZXVWWVhobDRCZnpEZ1pJK3R4YnZjU2VjNEJFeExXcHhHUURMK0ljaFRrMU9FMnpOZ3dZMwpYd3FxcG8wT3kwZzRkZkR6M0dnTHEvU1dWTzJPSXhUNzU3WTdicVRsUStlRlcyWFRDeEVDZ2dFQkFPMytwZkpFClZ0aFRzSU8zN1VDNy9LbFY3VWZlYjU2bCtxVkVrR2dQNktCbWxGeFRrZlZkcG4valVFYk5IWjRySXhuTSswL2sKNTNTcnBVRWdxUXhRc29DYk5jTW9QMmliRTFNeU1LN3Ayb0hiSDZYc09LMm41UXV2RmNWL1krdnJmUEg4U0VwWgoxbUVGSGtBUzN4SzR5RnRSNWpvN2RUK0VwMDRCSUZDUXZ2YVRXK1VmL2VOeHZwVTNQalllMFY3aTJTclQwb0ljClhpeERwbnNkNGtFNmFTU1Q5OGtaS3V0QmFZdGxDWTgvejNJd290ZStsWWpNWHdzT0tZQXF5UUhXczBxWUtobzIKN21JRlR0UUZ3RWtXUWJaS0tuZHBUNkl2NjE4MStEQ0RMQkYwUFZTQXJrOWhMT2hnbTljWE5Zak9nWmEwck5vYQpBaVprWkdCcjhIMlFOQWtDZ2dFQkFOTGRwelVnT1RkTENGVUQ5bjRvMEd1eW9lemdkQjQyT3RSOGRtWmd1WWpWCjU1Qyt4UlNHSWUrMUxMcm5RdUhibjB0aXNpbXdpRk5oc1hoYlN0MlJDZ2tkLzQ0ckhrL1NMTzV5ZnNpZUowSHgKMWZMSUpIeHJxUkM1anZscHJMN2RIUFVVUFUxU2UrQkFucjZZM2tCalh4Q2IxSS85TkU0TFFTRWlSV296VmthNAp5Z3NkK3E0WGFHM3N4Y2NxMEdzSy94Y1ZoSVBCNGVXVTh2OXN3STVhZnJLZ0x2TGdoMFZOeTJua3ExTm4xSUhOCndja1pwdmlkK1lSMVlkRm02amxMVW9hcVBOcVlnam1TWHhWMmtaK3g1MldYZ25wMjN1a2JhbHhGQUNodHFuSlQKMVAvVWVudXJtQzU4RXJvVllLNVk0ZmI4R2lpdnUrcENJOUJBSkpMSlZsY0NnZ0VCQU1vRmdqb1BkcVMxRGI0Ugp6OHhHaHVmN0w2cjFEMHpkV2RFV1RYcDRIcUNoMHNnNGpFcDZ6NDM1bURneGZ6VzNLbG1KWGI3bzhPeGhrNnFnCkhiOTlkTGlraDlOOGc2NjVESU52dEZHVjRzeWVBOVJsbTRzVlhPRTVJMEw5cXdVbFpXOUlGdGsrUHpNbUZCS1IKc2xnREVOZ3J3a0dtSFJYbzlkZktMdk1VbTNWVml3a0l5Z3hhamt1OWxBcCt5SDFDRk5RODhKRlBvVVR6dkFzQQpTQUhVb2xIUlpPR0lncDBtYm9CTUtQdzNUMUdBSllyN2xaV0UzaHpWVGJjbEduRjhIYjl4UVRQMWN3OHpzRUZjCkRHZytBMVBJeXhtSUJIZ0pNMFFqM09UWlEvd2c3cnFmYk5lbkJtYlBNeG8yOGxPSjhBak1uM21YNEVGVXNMd0UKaENVaDFua0NnZ0VCQUtObERDOFhkQjZMYnI1cDNyUXRyaXIxOVpGVzc4T0ZaQnJKQXZvYjAwamI3NTd5cEVaZQpGYWZvYk91N1RkRXozSUNPenQyTkpHWHdHcFBYc2ZCMGRpRlFkSGxXb2h0YUVtVUdwWVdSUDN4VEIrVWovMW5HCkZ2Q1Z5TnN0YnFWTE15Z1pjZE1icWsrLzR3SnY5REJTa0JTUG02dWptY2NyNDJEb2JIOTVuazRZM0w2MmtVd2IKYVZsY2tuamRqVGlWQWN1Q2FmZXE0ZitEWnJSVU1mVmMzRFpQOTNGT1dLTjBQNzRqYWpxc0J6ZzZGd0pjZFV6TApKTkRtSUZFaC9UYytUWWw2R3NPTVQ4U0t6bEVVV28welRzb2pHQUVMWVhtaU84Mlp6aUNGc2dEN1F0Nm1aKzZ5CnJhNi9oOGRYejEzcUU5Yk56UHRnQ1MzaDZGeHpoNk9TamVzQ2dnRUFFRTZ5czA4WTd0ekswR2EraW9aTndZRkYKT1grYmxkUmJiTlNmL3h5WWg4bklpbG5RZnFjUEl6cW9rODZaVjFWUkpjaHlFUTVjQnhabE9HSkxWalNSM1NNcgpSVEREcGxuNmlvbGhseUNhK3YwbmlQZHNwb1JaNUxZS2tXdmhudUNjelNHZEtSQTdEV2paTGdVT3Z4UE5Pd2tUCmpMSXB2M2dUaHQ4emNXVnpQY2NoODF4Z1BndE1kdnhud2RnWUsxRkg3UW5vM2lqRmlrK0kzeVNRUUNUZmUwTjIKRFRRdHVtWFJGUHYyUWE5b1c4R0Y3WE1jamt2eEJnVmViNXFETjdEamxGd245ckorbGlyMVluWXpSQy9jL2NRNwpnd1ZTTmY1RDQyTklrUjdYMTFUMnNZMHV3VlJNUHVQOFhHRU1sOWJvVE91RnFPcVJ3bVNpSzdaeUlzbitZZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==", "Store": "default" }, @@ -219,7 +219,7 @@ "domain": { "main": "freshrss.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDekNDQlBPZ0F3SUJBZ0lTQlJ1QjNWelRHWkNkbCtSN2w0aVZtb3JQTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05NalV4TVRJeE1qQXhNVE01V2hjTk1qWXdNakU1TWpBeE1UTTRXakFpTVNBd0hnWURWUVFECkV4ZG1jbVZ6YUhKemN5NWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVAKQURDQ0Fnb0NnZ0lCQU5QbTRlVGtsZHcrUzc5ekw0MGRycVFMYXZQMXE2azZNRFJnemVSNUVCYklER2Z2UTlTbQpBZE9PYWk2QU9XeGhQNEdWRUxEQi9ta1JDM2lZbllmbVhIelpqNlpGZmM4aEttQlIyWHpsMlh5YTZSdURBMWEvCkZNWTRwMEVIQ1Y4cVVDUm4xTTFYRFh4dVBPanRJNjRJTTBrOFJrS3I5UGdXaEdLRTdyTlVjc1RaOURRVlVORXoKK1c1THFkQkJjcVlTdFF2MXhRT0lxUzE2Vkt2OHBBNWNWb3Z1YVNpVWs4elNTaFZ5RjJMeWRVdm8wSUJhN3F6VApyWThvSklTSlFQTnArVnJNM21WOHlWU3ZmRWRKcmZOV1RWdnloRHQwT1VZUkl0RExXZ3hueTFPaThMdGl0Qm5sCktFcVAzVE5KeXBabmZFUUdObGJITXo1Mm1uZkovanVzZGNjQ1g0SEliOVRHaUJQYi9uQWNCZ2QzSmJkYWhodlAKYjhuTm5Xd3ZQa2ZFSGpLSm41TFlhTlJsM1lxUDBFckVYMlBGOUFaVG95cWJiUlgzTWNOZWMrMDVDZU16TWdHWgovODNBNUFBS1ptdElFbjBUQnpXQ3VVSjNybWt2b2U5N2Fod2liZ05IYVR5TUNlSjZvUWZxOFo5QTVGZ0xSWjZsClZySmxSeGJtaEkrU3RBV1Q1TWhJQzJXTGNaSktwd3dEdGx4TUQ0bW9HQzV6LzUwWTdtSm90dk11ekxiL3Fsb3AKMkllWW41Z1lxckNJUkNXQXpxZWxyeTROYkRuNUtwTnpWZnNIc2hkSU05ZXZ4dkx3NVFmV0pzU3NnaTFla0tGRApka0JLUjZKQnFKa3FUZkh1emU1a0srNlRCUlFjOHBwbks0ZEtrVU4xV0JZaTFaY3E2WHJEbkpjL0FnTUJBQUdqCmdnSW9NSUlDSkRBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0cKQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZNSmdQQkU5S1Zvb3VRNzdnS0VURjZtVwpXSDNlTUI4R0ExVWRJd1FZTUJhQUZBQzFLZkl0am04eDZKdE1yWGcrK3R6cEROSFNNRE1HQ0NzR0FRVUZCd0VCCkJDY3dKVEFqQmdnckJnRUZCUWN3QW9ZWGFIUjBjRG92TDNJeE1pNXBMbXhsYm1OeUxtOXlaeTh3SWdZRFZSMFIKQkJzd0dZSVhabkpsYzJoeWMzTXVZWFJvWVd4cFlYQndjeTU0ZVhvd0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QgpBZ0V3TGdZRFZSMGZCQ2N3SlRBam9DR2dINFlkYUhSMGNEb3ZMM0l4TWk1akxteGxibU55TG05eVp5ODRNQzVqCmNtd3dnZ0VGQmdvckJnRUVBZFo1QWdRQ0JJSDJCSUh6QVBFQWRnQkpuSnRwM2gxODdQdzIzczJIWkthNFc2OEsKaDRBWjBWVlMrK25yS2QzNHd3QUFBWnFvUU1zVkFBQUVBd0JITUVVQ0lCN0x6UUsxQW1VVGdRWUtJWWpvUi94MQp2UFJwTkRxOVlDbWdNUWNqRExqOEFpRUE5OWxlRkhZeXZvamxOL3pydHVlMkozdzU2QWlKNW1tczBIV3htK0JFCmRNZ0Fkd0RMT1BjVmlYeUVvVVJmVzhIZCs4bHU4cHBaelVjS2FRV0ZzTXNVd3hSWTV3QUFBWnFvUU1zcUFBQUUKQXdCSU1FWUNJUURDcTZCQTlEL1lFQzFOeHBDUjUydm50Vmt3aHZZOEJUNXhNc2FGeEo0M1VnSWhBSzc2YmNROAp2ZWdVczNJOHE1c3ppLzF2N2oxemFHVkVZNnVsV2lWUWpLSGVNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUFrCm1rY2szbENRek5Ed3JMTXVVOEZvY0krR2VmYzQ0M1hqendhVmtNYzZ1V1NGM2RGOTBSN3c2UGNtODVnTThxdTAKZmJzcm5saXhPeit1Wm9Tbkd5b3lNU3lSSjJvcjNIdUozS0tvalhRZkVyaWxZalJUUDJFUDZyS2w0U01iMGlSZApkL2hna0VaZDBSZzRESGdYb25TU0FXVW5tajlRVVBoWE5VaEhWayt5cEFlVndlRHpMUFN0cnE1MWFmbzRKQld6CjQvbGV2NGErOHJaVVd3TlRYaENYOTRSWjVTOEpDUmplU3dlVjZXRWFvc2NBOHduS1BJSmZXVTBuSi9UQi96YnkKMm5zSmZRVmJ6a0FyMlYzNHZYaUVZYjlHZkcxeDZDeHRSRTJjdFpHZHJZN3dWelBIR3JyN0Iwb0t5YmEwSU5lMAoxT1dPRmtINERZVWM3QlZSTGhaRQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJqQ0NBdTZnQXdJQkFnSVJBTUlTTWt0d3FiU1JjZHhBOStLRkpqd3dEUVlKS29aSWh2Y05BUUVMQlFBdwpUekVMTUFrR0ExVUVCaE1DVlZNeEtUQW5CZ05WQkFvVElFbHVkR1Z5Ym1WMElGTmxZM1Z5YVhSNUlGSmxjMlZoCmNtTm9JRWR5YjNWd01SVXdFd1lEVlFRREV3eEpVMUpISUZKdmIzUWdXREV3SGhjTk1qUXdNekV6TURBd01EQXcKV2hjTk1qY3dNekV5TWpNMU9UVTVXakF6TVFzd0NRWURWUVFHRXdKVlV6RVdNQlFHQTFVRUNoTU5UR1YwSjNNZwpSVzVqY25sd2RERU1NQW9HQTFVRUF4TURVakV5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCCkNnS0NBUUVBMnBnb2RLMitsUDQ3NEI3aTVVdDFxeXdTZisybkF6SitOcGZzNkRHUHBST05DNWt1SHMwQlVUMU0KNVNodUNWVXhxcVVpWFhMMExRZkNUVUE4M3dFanVYZzM5UnBsTWpUbWhuR2RCTytFQ0Z1OUFocVo2NllCQUpwegprRzJQb2dlZzBKZlQya1ZoZ1RVOUZQbkV3RjlxM0F1V0dyQ2Y0eXJxdlNyV21NZWJjYXM3ZEE4ODI3Smd2bHBMClRoanAyeXB6WElsaFpaNys3VHlteTA1djVKNzVBRWF6L3hsTkttT3pqbWJHR0lWd3gxQmxienQwNVVpRER3aFkKWFMwam5WNmovdWpiQUtIUzlPTVpUZkx1ZXZZbm51WE5uQzJpOG4rY0Y2M3ZFemM1MGJUSUxFSFdoc0RwN0NINApXUnQvdVRwOG4xd0JuV0lFd2lpOUNxMDh5aERzR3dJREFRQUJvNEg0TUlIMU1BNEdBMVVkRHdFQi93UUVBd0lCCmhqQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBZ1lJS3dZQkJRVUhBd0V3RWdZRFZSMFRBUUgvQkFnd0JnRUIKL3dJQkFEQWRCZ05WSFE0RUZnUVVBTFVwOGkyT2J6SG9tMHl0ZUQ3NjNPa00wZEl3SHdZRFZSMGpCQmd3Rm9BVQplYlJaNW51MjVlUUJjNEFJaU1nYVdQYnBtMjR3TWdZSUt3WUJCUVVIQVFFRUpqQWtNQ0lHQ0NzR0FRVUZCekFDCmhoWm9kSFJ3T2k4dmVERXVhUzVzWlc1amNpNXZjbWN2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQk1DY0cKQTFVZEh3UWdNQjR3SEtBYW9CaUdGbWgwZEhBNkx5OTRNUzVqTG14bGJtTnlMbTl5Wnk4d0RRWUpLb1pJaHZjTgpBUUVMQlFBRGdnSUJBSTkxMEFuUGFuWklaVEtTM3JWRXlJVjI5QldFakFLL2R1dXo4ZUw1Ym9Tb1ZwSGhra3YzCjRlb0FlRWlQZFpMajVFWjdHMkFySUsrZ3poVGxSUTFxNEZLR3BQUGFGQlNwcVYveGJVYjVVbEFYUU9ua0huM20KRlZqK3FZdjg3L1dlWStCbTRzTjNPeDhCaHlhVTdVQVEzTGVaN04xWDAxeHhRZTR3SUFBRTNKVkxVQ2lIbVpMKwpxb0NVdGdZSUZQZ2NnMzUwUU1VSVdneFBYTkdFbmNUOTIxbmU3bmx1STAyVjhwTFVtQ2xxWE9zQ3dVTHcrUFZPClpDQjdxT014eE1Cb0NVZUwyTGw0b01wT1NyNXBKQ3BMTjN0UkEyczZQMUtMczlUU3JWaE9rKzdMWDI4Tk1VbEkKdXNRL254TEpJRDBSaEFlRnRQanlPQ09zY1FCQTUzK05SalNDYWs3UDRBNWpYN3BwbWtjSkVDTCtTMGkza1hWVQp5NU1lNUJiclU4OTczalpOdi9heDYrWks2VE04aldtaW1MNm9mNk9yWDdaVTZFMldxYXp6c0ZyTEczbzJreVNiCnpsaFNnSjgxQ2w0dHYzU2JZaVlYbkpFeEtRdnpmODNEWW90b3gzZjBmd3Y3eGxuMUEyWkxwbENiME8rbC9BSzAKWUUwRFMyRlB4U0FIaTBpd01mVzJuTkhKclhjWTNMTEhENzdnUmdqZTRFdmV1YmkyeHhhK05tay9obWhMZElFVAppVkRGYW5vQ3JNVklwUTU5WFdIa3pkRm1vSFhIQlY3b2liVmpHU083VUxTUTdNSjFOejUxcGh1REpTZ0FJVTdBCjB6ckxuT3JBai9kZnJsRVdSaEN2QWdidXdMWlgxQTJzak5qWG9QT0hic1BpeStsTzFLRjgvWFk3Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDVENDQlBHZ0F3SUJBZ0lTQlpaWnJZbTIrSWl4SU1yblAwcW9HR0NyTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXdOelF4V2hjTk1qWXdOREl4TVRZd056UXdXakFpTVNBd0hnWURWUVFECkV4ZG1jbVZ6YUhKemN5NWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVAKQURDQ0Fnb0NnZ0lCQU5QbTRlVGtsZHcrUzc5ekw0MGRycVFMYXZQMXE2azZNRFJnemVSNUVCYklER2Z2UTlTbQpBZE9PYWk2QU9XeGhQNEdWRUxEQi9ta1JDM2lZbllmbVhIelpqNlpGZmM4aEttQlIyWHpsMlh5YTZSdURBMWEvCkZNWTRwMEVIQ1Y4cVVDUm4xTTFYRFh4dVBPanRJNjRJTTBrOFJrS3I5UGdXaEdLRTdyTlVjc1RaOURRVlVORXoKK1c1THFkQkJjcVlTdFF2MXhRT0lxUzE2Vkt2OHBBNWNWb3Z1YVNpVWs4elNTaFZ5RjJMeWRVdm8wSUJhN3F6VApyWThvSklTSlFQTnArVnJNM21WOHlWU3ZmRWRKcmZOV1RWdnloRHQwT1VZUkl0RExXZ3hueTFPaThMdGl0Qm5sCktFcVAzVE5KeXBabmZFUUdObGJITXo1Mm1uZkovanVzZGNjQ1g0SEliOVRHaUJQYi9uQWNCZ2QzSmJkYWhodlAKYjhuTm5Xd3ZQa2ZFSGpLSm41TFlhTlJsM1lxUDBFckVYMlBGOUFaVG95cWJiUlgzTWNOZWMrMDVDZU16TWdHWgovODNBNUFBS1ptdElFbjBUQnpXQ3VVSjNybWt2b2U5N2Fod2liZ05IYVR5TUNlSjZvUWZxOFo5QTVGZ0xSWjZsClZySmxSeGJtaEkrU3RBV1Q1TWhJQzJXTGNaSktwd3dEdGx4TUQ0bW9HQzV6LzUwWTdtSm90dk11ekxiL3Fsb3AKMkllWW41Z1lxckNJUkNXQXpxZWxyeTROYkRuNUtwTnpWZnNIc2hkSU05ZXZ4dkx3NVFmV0pzU3NnaTFla0tGRApka0JLUjZKQnFKa3FUZkh1emU1a0srNlRCUlFjOHBwbks0ZEtrVU4xV0JZaTFaY3E2WHJEbkpjL0FnTUJBQUdqCmdnSW1NSUlDSWpBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0cKQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZNSmdQQkU5S1Zvb3VRNzdnS0VURjZtVwpXSDNlTUI4R0ExVWRJd1FZTUJhQUZBQzFLZkl0am04eDZKdE1yWGcrK3R6cEROSFNNRE1HQ0NzR0FRVUZCd0VCCkJDY3dKVEFqQmdnckJnRUZCUWN3QW9ZWGFIUjBjRG92TDNJeE1pNXBMbXhsYm1OeUxtOXlaeTh3SWdZRFZSMFIKQkJzd0dZSVhabkpsYzJoeWMzTXVZWFJvWVd4cFlYQndjeTU0ZVhvd0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QgpBZ0V3TGdZRFZSMGZCQ2N3SlRBam9DR2dINFlkYUhSMGNEb3ZMM0l4TWk1akxteGxibU55TG05eVp5ODBOQzVqCmNtd3dnZ0VEQmdvckJnRUVBZFo1QWdRQ0JJSDBCSUh4QU84QWRnQU9WNVM4ODY2cFBqTWJMSmtIcy9lUTM1dkMKUFhFeUpkMGhxU1dzWWNWT0lRQUFBWnZoaFZuWkFBQUVBd0JITUVVQ0lBZ2tnSTJscW45OGg4T2diUHlJck4yTQpaTExkQzB6cFFRaHRSSVgwQ0JzaEFpRUFpVEJheS82T0gyV1dVSWVqVUxNQUZJZ0lrVXNIc2l4MkJMMlZ2VVNsCnpmOEFkUURSYnFtbGFBZCtaaldnUHplbDNid0RwVHhCRWhUVWlCajE2VEd6STh1VkJBQUFBWnZoaFZxMkFBQUUKQXdCR01FUUNJRnJ3NnlUYTA1cmFQcW95bHMxZjh1aWcwRkFlaXdNSGpaMXRqOXVsUHdvS0FpQnB2NU9RUWovRQppQm5wSkJOUUxxOVdkN3BKZkdMTlcvTUZjVXphYmp4Rm1qQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUEyVGdVCkRxU1FVZEZoQlFWN2JRZ2lhUktTV3U2cnFEbVJ2OXRoaGE1TWljZU1kNkk3Ni9wemg4UW5BOGw2cHdKRzl2K0gKV3QzWXBTanV1UWRjM3UxM1pmREkwdWhnTVJLQWwzbG5PSVYvNlhjVVd0ZitEbUlJQUlXK0RyTjJBK0xna0oxdApXNUhiTGxSNFJlRDhmM0IwYUpLNmtPaDN5LzVTQ2FTS0hOY1VHVnZVNmRoZzRmWmhFVkpHUjhRd0hNYTliTW16CjErenl2R1h1SnJkQjZpZFRoUXllL2NoV1VsN0tnVS9UL2plVHNOeURwUGhYSW1BSzB6U3ArVzVKcExBRjBtNDMKZEhNYU80dktWcUpjakhHblFMMU9IcUErbG8zZzA4TllXZnB1S2V0QlNiY1NLYjJ2ZUtLTGNEdVZtd0diUzhuZQp3dmNLNTl1MFZPN2R4L0c2c0E9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJqQ0NBdTZnQXdJQkFnSVJBTUlTTWt0d3FiU1JjZHhBOStLRkpqd3dEUVlKS29aSWh2Y05BUUVMQlFBdwpUekVMTUFrR0ExVUVCaE1DVlZNeEtUQW5CZ05WQkFvVElFbHVkR1Z5Ym1WMElGTmxZM1Z5YVhSNUlGSmxjMlZoCmNtTm9JRWR5YjNWd01SVXdFd1lEVlFRREV3eEpVMUpISUZKdmIzUWdXREV3SGhjTk1qUXdNekV6TURBd01EQXcKV2hjTk1qY3dNekV5TWpNMU9UVTVXakF6TVFzd0NRWURWUVFHRXdKVlV6RVdNQlFHQTFVRUNoTU5UR1YwSjNNZwpSVzVqY25sd2RERU1NQW9HQTFVRUF4TURVakV5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCCkNnS0NBUUVBMnBnb2RLMitsUDQ3NEI3aTVVdDFxeXdTZisybkF6SitOcGZzNkRHUHBST05DNWt1SHMwQlVUMU0KNVNodUNWVXhxcVVpWFhMMExRZkNUVUE4M3dFanVYZzM5UnBsTWpUbWhuR2RCTytFQ0Z1OUFocVo2NllCQUpwegprRzJQb2dlZzBKZlQya1ZoZ1RVOUZQbkV3RjlxM0F1V0dyQ2Y0eXJxdlNyV21NZWJjYXM3ZEE4ODI3Smd2bHBMClRoanAyeXB6WElsaFpaNys3VHlteTA1djVKNzVBRWF6L3hsTkttT3pqbWJHR0lWd3gxQmxienQwNVVpRER3aFkKWFMwam5WNmovdWpiQUtIUzlPTVpUZkx1ZXZZbm51WE5uQzJpOG4rY0Y2M3ZFemM1MGJUSUxFSFdoc0RwN0NINApXUnQvdVRwOG4xd0JuV0lFd2lpOUNxMDh5aERzR3dJREFRQUJvNEg0TUlIMU1BNEdBMVVkRHdFQi93UUVBd0lCCmhqQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBZ1lJS3dZQkJRVUhBd0V3RWdZRFZSMFRBUUgvQkFnd0JnRUIKL3dJQkFEQWRCZ05WSFE0RUZnUVVBTFVwOGkyT2J6SG9tMHl0ZUQ3NjNPa00wZEl3SHdZRFZSMGpCQmd3Rm9BVQplYlJaNW51MjVlUUJjNEFJaU1nYVdQYnBtMjR3TWdZSUt3WUJCUVVIQVFFRUpqQWtNQ0lHQ0NzR0FRVUZCekFDCmhoWm9kSFJ3T2k4dmVERXVhUzVzWlc1amNpNXZjbWN2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQk1DY0cKQTFVZEh3UWdNQjR3SEtBYW9CaUdGbWgwZEhBNkx5OTRNUzVqTG14bGJtTnlMbTl5Wnk4d0RRWUpLb1pJaHZjTgpBUUVMQlFBRGdnSUJBSTkxMEFuUGFuWklaVEtTM3JWRXlJVjI5QldFakFLL2R1dXo4ZUw1Ym9Tb1ZwSGhra3YzCjRlb0FlRWlQZFpMajVFWjdHMkFySUsrZ3poVGxSUTFxNEZLR3BQUGFGQlNwcVYveGJVYjVVbEFYUU9ua0huM20KRlZqK3FZdjg3L1dlWStCbTRzTjNPeDhCaHlhVTdVQVEzTGVaN04xWDAxeHhRZTR3SUFBRTNKVkxVQ2lIbVpMKwpxb0NVdGdZSUZQZ2NnMzUwUU1VSVdneFBYTkdFbmNUOTIxbmU3bmx1STAyVjhwTFVtQ2xxWE9zQ3dVTHcrUFZPClpDQjdxT014eE1Cb0NVZUwyTGw0b01wT1NyNXBKQ3BMTjN0UkEyczZQMUtMczlUU3JWaE9rKzdMWDI4Tk1VbEkKdXNRL254TEpJRDBSaEFlRnRQanlPQ09zY1FCQTUzK05SalNDYWs3UDRBNWpYN3BwbWtjSkVDTCtTMGkza1hWVQp5NU1lNUJiclU4OTczalpOdi9heDYrWks2VE04aldtaW1MNm9mNk9yWDdaVTZFMldxYXp6c0ZyTEczbzJreVNiCnpsaFNnSjgxQ2w0dHYzU2JZaVlYbkpFeEtRdnpmODNEWW90b3gzZjBmd3Y3eGxuMUEyWkxwbENiME8rbC9BSzAKWUUwRFMyRlB4U0FIaTBpd01mVzJuTkhKclhjWTNMTEhENzdnUmdqZTRFdmV1YmkyeHhhK05tay9obWhMZElFVAppVkRGYW5vQ3JNVklwUTU5WFdIa3pkRm1vSFhIQlY3b2liVmpHU083VUxTUTdNSjFOejUxcGh1REpTZ0FJVTdBCjB6ckxuT3JBai9kZnJsRVdSaEN2QWdidXdMWlgxQTJzak5qWG9QT0hic1BpeStsTzFLRjgvWFk3Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBMCtiaDVPU1YzRDVMdjNNdmpSMnVwQXRxOC9XcnFUb3dOR0RONUhrUUZzZ01aKzlECjFLWUIwNDVxTG9BNWJHRS9nWlVRc01IK2FSRUxlSmlkaCtaY2ZObVBwa1Y5enlFcVlGSFpmT1haZkpycEc0TUQKVnI4VXhqaW5RUWNKWHlwUUpHZlV6VmNOZkc0ODZPMGpyZ2d6U1R4R1FxdjArQmFFWW9UdXMxUnl4Tm4wTkJWUQowVFA1Ymt1cDBFRnlwaEsxQy9YRkE0aXBMWHBVcS95a0RseFdpKzVwS0pTVHpOSktGWElYWXZKMVMralFnRnJ1CnJOT3RqeWdraElsQTgybjVXc3plWlh6SlZLOThSMG10ODFaTlcvS0VPM1E1UmhFaTBNdGFER2ZMVTZMd3UySzAKR2VVb1NvL2RNMG5LbG1kOFJBWTJWc2N6UG5hYWQ4bitPNngxeHdKZmdjaHYxTWFJRTl2K2NCd0dCM2NsdDFxRwpHODl2eWMyZGJDOCtSOFFlTW9tZmt0aG8xR1hkaW8vUVNzUmZZOFgwQmxPaktwdHRGZmN4dzE1ejdUa0o0ek15CkFabi96Y0RrQUFwbWEwZ1NmUk1ITllLNVFuZXVhUytoNzN0cUhDSnVBMGRwUEl3SjRucWhCK3J4bjBEa1dBdEYKbnFWV3NtVkhGdWFFajVLMEJaUGt5RWdMWll0eGtrcW5EQU8yWEV3UGlhZ1lMblAvblJqdVltaTI4eTdNdHYrcQpXaW5ZaDVpZm1CaXFzSWhFSllET3A2V3ZMZzFzT2ZrcWszTlYrd2V5RjBnejE2L0c4dkRsQjlZbXhLeUNMVjZRCm9VTjJRRXBIb2tHb21TcE44ZTdON21RcjdwTUZGQnp5bW1jcmgwcVJRM1ZZRmlMVmx5cnBlc09jbHo4Q0F3RUEKQVFLQ0FnRUF0UHdpL2lQNmwxVWh6MUFyVWdVREQ1dXM2dGR1bWFoWVdiUkF4cDVjRG9rb2gzRUZaMCt1aWFtKwpxUjdkYk9NV29hL1d4Skc4b0xKdE1NQnc5QXpkKzhpNmQ1SXM1VWQzY1RNWFppVFBBQzB6WWtzaEErdEtiQThoClUxb1dPQkRreUdOaWowdUYrandSakFSWEVDSnk0MTgyeDJVbFl1dWdnS0QzVzNXS1hQV25MUUR6dU9zQ1pLRDkKVmlGQU1mWVNhamVzNE5yTlhFbDZuamEzVElpelp1cm5LRURXaC84b1JXN2Y2S1FiYVExZFgvUEtuUlJpemIzRQppdXJMN2RzYW5lSVRKVzFTYkNGQ0xZVVJySitPalRUeW1mRW5wZCttODl4cmVlTUE5OXRZYjBQYmZhNkxIandICit2RlF0ZXVIYUhaQjNSWmdmejQvcW9aOHZTME1uYkpabitCSXcxYjdlbzlQblFFRnU5SnViNy9GSld0OUplV0IKbVJXWGpQbDg3emdjaXpYRkxPYzlQeWVQTUpEQ1Joa2FaTzJZdThCWW9uK0JSVHh1RlU1bFRPeXBLeG1QRXZSMApwc255Ukx4ZXl4L04zTjBKd3M4SW5YeDdiMG9JTWtxcE9BN25CakEyN1FXNDBjRFY5OXJMYWpiSldVSTlVWlNOCnlFNmhhdmppcGRXSkg0cmc0NXVRS1RrZHU2RFd6NE4xdURNcEMvOUlvK2lmWEFYSkFSd280MXVUbTFFY2ZTOHIKNjkzSTBWZFhyQjJIbmRSODQ3Z005RXZWZjVUeEliOU9ITlZoS05QTWxVdk1SYnVvc2dJY0k2Tlp1N0ZGUHhGcgpPZmtiTlk3YmQwOXFMMHlhU0VDWFZHRGhSa0hBdC8zdGhBL1RhdnRoWG9rcE5senlvYWtDZ2dFQkFPc0NDQ3RrCkxsbUZaOWtTVTB2VmJ6NU5VK0NMaUxSaHVjaTIwUmZMbmU4S0o4Q1BNL3cybjNhTzVCN0psZXpsT2x5YWdDREYKeThpQk0wOWhta3NyZ0kyMnFuTVF4MnlhN3lpL2ZabEJhUVFiRm93d2xjNlM4MHpQVWJ4c25qcDNLOGpZaURDRwpnc0JwcFQ1VFhmbVYrekR4VVNrQkJqVllmZzFGSEtCckFqc3RaSTZuR0ttTC9oQjh3ZmVBZGQ2RnNNOTBpL0xJCjJGeUdFV0VKejhmYkQ4amgzZkNibzFYRDluT2dhbEJxMng5YWdyc1l4ejg3VnFjeGI2bzRKeHd6QmVXSXhTYUoKOHF3T2R4ckpKbzdJbDVuWDJDVGFrK3JkN0ZZYVNIQUJEUlJFSTM4djBrUis4SlQ3OGoxMU83azNjWjU5K1lYZwpjbU5uc0NlSVJnU0NUWXNDZ2dFQkFPYlVldlF5LzFTbktLdmttTTVuSFp4ekh6bkRZR1dQQ1lrWmFoVFh1dDBmCm1jTFNmcDNzQjBNaERRVlFtRWFyQ3kzZGFlOUhqMnFxMnh6OGl1YzVwMFJWRTdsUGNYbjFLMWJicmpQby9QSzkKT1VQUm5PTU1OK0tHdjRHZW9JNDRXVlI4bWpodnJnRUFuRHVUc00zNWJDVEF0L3MrNUdMclc2ZEJVaUlFTWlHOQpNa09QSzlJanF0WVh5Sk42RHQ1WmdUalpNUm5URXdzSlh4TlREMjdoUXppQXVRUFVhOVJTMk40QzhDUndNRGhMCjdVQVdybnIwNTE3RFBpUkNWbzg3UWdDWTdBa2hyOEcwamdBZEZ1dmNJOTRPV2UzbVRDZE5iVHAwMFpVNWNVUlgKQ3RvaTFDVzkrVitxM21CME96NS9nenhnQ25RL0tIMDFXenlEUFVuOE81MENnZ0VCQUtLU3VFWVVPc0F4T3FMLwpPMkpWbDJ4WklESlJOTlBjV3lLUDNkd0JQeE56U2dhNnlqS3JNdXRZZEZVY0RUeGhZMXRXZ2xhcG5venBYQzZKCkRhejh2aVRLL2VVMThVK2ZhdDBjZzIyMncwaFUyT2RJWVFvVHZINGhXYURvM3hrQkFlZ2lheXh1a1JzOHVsU0EKWloxWWRQbnBwc1NmOGNTTG9EL2IxSzdnK0IwcURNdG1xdmYzWVYzVWdIYVFobm5Xc0hjRFlDRW5jZzJuclhRYwp6b0dxZUtQMkpJdmpqejJ3bjloalc4aWY4MUFnVkJuTVRXSGYwZFU5ck1ycnA1cXBiV1habE5GUlV2QlYzVzFKClJBUTRuaStPRXZlRHdob1RSZ0JXbEUvdldqWHY0VUtHT1lhcTdoR1NyWVI0aWtWYUpwNkc5VXY0OWdqd1hQc3MKR1l2YS9Ic0NnZ0VCQU9UWENmNUhBTE1mOVVaVW50a2hpVTJ0SSt2VU1pRDlLV3J0OHlrdXBtYktDVm9IN05jTApSRGZjOEZld2l3YWtVN1RvcVRrN0xJZUhVeXJ0ZzVld3BJOHQrUnZpRXBIaDZWRjNBTUVkM29lWDZNbS9hVlgrCnF2aTh0ZWIvS0JWVzc5aStudllNWWVsRWZaN2kwSW1qR1A5bXYvOHBYcXBpd3I2U0Y2YjVtZW13ODcvZWxJY0UKTFQySzNxSzJnejhVWlBQQy90YW5WMTI5c0xBcnpFVVV0ZHV5WWJuV1FnQ0JFZGNuK29ObFphaXFQVThvTFZwZwpxWEJkQjZKUzBoVzFuYjJSM1k5QUFrcDdnYnZER3hKQmNKMlloTGRCZFlZUlVKUi9jN2dJOXEzVnpVQnMvdjFiCjFYcHVuMy9vTzBPK2pwQ3dkaXpBNEpjZzZvNlhYWStYckZFQ2dnRUFMMzRlNnhzelg2d3JvZW44c1NEa3k5NlIKL2NGaVZkWlF0eVJhS3VUWkZLdEQ4Rkp2T1RZK1N2TCsrVUwzQzNsQkNkbnloSUt4aDh2L2prWW1hTjZmTDRoZgp2azV2Z0NkbEpNNUZtcXVBRGt0K3JBWWUwM1M2bnQ1emF1STIzZnlwVGxPOVA0UzB0cmU2enNRRzR1ZGovci9NClVaVVAxeWJ0THQvWk4zMUNiRjhHTWRkdkJPb3doZURQY3JWUDBpUlRxc05uNGtjWWxVa3VMWVY3bTI5enpPcDgKOEMzRzFDekp5T3RDbjF4bFZqd1kvRVpjZ3kvTjlUam42bDVWNjFlYlV0cE40WGRYLzRjbXlHNXcvbFJFVjZSTgpGTDBmR2g1YUxMMUxNb1Y2aUpjNndPMVlvNVIvdit1NTJyZUtsVFpGYmR1NFhUS0VBbWszSW51eWkrcHIzQT09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==", "Store": "default" }, @@ -227,7 +227,7 @@ "domain": { "main": "prometheus.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdEekNDQlBlZ0F3SUJBZ0lTQlpiV3gzM3BGUzF2OTNaVmVCbGhsS2tsTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXhNVFExV2hjTk1qWXdNakU1TWpBeE1UUTBXakFrTVNJd0lBWURWUVFECkV4bHdjbTl0WlhSb1pYVnpMbUYwYUdGc2FXRndjSE11ZUhsNk1JSUNJakFOQmdrcWhraUc5dzBCQVFFRkFBT0MKQWc4QU1JSUNDZ0tDQWdFQXoyOE8rL05pNSszalB3UHVNZ3NOQzV0Z0xUSGpEenZaY1liZmduYnVHcndIY1p5UQpzMVlSanMzSkZXN0J3Q0pld3hGY2Jaa1g5cWNqN0ZFUFViZ0NNRSs0cmk0QmJCU3dDZWhyYnJVZTdoQVZ3dkVGCmtIK3JJTGExbUdXRE53RVhsU3dXNVB3cjhMdFBjSFVVWkhIRHU2NjRsOFlXVkUvOHZiMXJ6cGFWdHNMakUwT0gKb0pzanNzbGMxc3AxZks4QUU4bU91SXRRSjAycUFINkQ4RDNFTTVmeDBjQk16ZjQ5cEFRL1ZQZjNrU3JDdE50OQpTV2V3SWlMMU04R000MCtQckNUb0JFWURJRW94SzNVcithd2g0VlpwbUxRNDYxcmpEeWt3RTRUbTVaZmMzNStECmtYTEY3VW52ckRCUXhZdUZ5enZvYmpCd2RlUXV0VCtJcjVoM1RvMEVVbFdubVQ1NDZpeExxZlp4OXpvZjhrcy8KK25IWTRjTTRKbTlGMXAwU0NyM00yYXBDV2hHZk1qRHJURE1wZmplVWNPeEpvbXJzN01TOFRlZnhJNnFtcHBjaQpva1FMeFVYUUEyN1M4V0NoMS9kSmR2alpXYzNOSVlkdHJhV2xxWUxpdFcyQlJESUtGTlc2aElCRVF2bksrS3AvCkhObkVDLytPdnRycm9MRHFIRm5Ealh3eWNSdEI2Y3hwWTBybUpES0dteDVVdzZwSURGRHdWUEpnMW8vTCtudGUKb0N4cEpObXgza0luQXJ6Qi9sWXQzS05zajJBeU40VEJPUmJBQkZ5cXRISGh0b2lUejBsY2NYQTRYK0Z4TkgxTAp3c1VMNk9BQk0rUmdQKzl6ZTlKZDhBK1lKWGhDUWhBNHBNZ3hsYUZtV0wwN0xtT0JYd3FrMmNLV1gra0NBd0VBCkFhT0NBaW93Z2dJbU1BNEdBMVVkRHdFQi93UUVBd0lGb0RBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFRWUkKS3dZQkJRVUhBd0l3REFZRFZSMFRBUUgvQkFJd0FEQWRCZ05WSFE0RUZnUVVkZGtxNWxMeTNNZkpYTkRaWjYzMwo5NytUcEY4d0h3WURWUjBqQkJnd0ZvQVU1NnVmRHl3em9GUFRYazk0eUxLRURqdldrak13TXdZSUt3WUJCUVVICkFRRUVKekFsTUNNR0NDc0dBUVVGQnpBQ2hoZG9kSFJ3T2k4dmNqRXpMbWt1YkdWdVkzSXViM0puTHpBa0JnTlYKSFJFRUhUQWJnaGx3Y205dFpYUm9aWFZ6TG1GMGFHRnNhV0Z3Y0hNdWVIbDZNQk1HQTFVZElBUU1NQW93Q0FZRwpaNEVNQVFJQk1DNEdBMVVkSHdRbk1DVXdJNkFob0IrR0hXaDBkSEE2THk5eU1UTXVZeTVzWlc1amNpNXZjbWN2Ck16Z3VZM0pzTUlJQkJRWUtLd1lCQkFIV2VRSUVBZ1NCOWdTQjh3RHhBSGNBWkJIRWJLUVM3S2VKSEtJQ0xnQzgKcTA4b0I5UWVOU2VyNnY3VkE4bDl6ZkFBQUFHYXFFRGdTQUFBQkFNQVNEQkdBaUVBcGhGclJRMDdUZk1HUjBwKwoxRXRwMklTMHYzVHZDeUkyanU3T2N1Zyt1cm9DSVFDSWdLWjlXZkZpRDV4UTFhdUtmZ05DQ1Ixd2lEMzY2VFNqCkQrMTU1RTdWYXdCMkFBNVhsTHp6cnFrK014c3NtUWV6OTVEZm04STljVElsM1NHcEpheGh4VTRoQUFBQm1xaEEKNEVvQUFBUURBRWN3UlFJaEFPbHNBK2NjN3c3L0J2L3c2T1FmOER3dG9YTG41a0FCM0dBZGlXdW5Hb1RTQWlBTgpWT0JGVEdwTlJpbkJxb0lMdjY4ZEV4K0NUK3dWbGNBbW9aOHIranIzV2pBTkJna3Foa2lHOXcwQkFRc0ZBQU9DCkFRRUFFTXN2S2RNdFA2YlJmNHdYK1kvYm14QStNWXNiWDV4L1VjcHRGRGxmVnB3bzdpQ3hoY3FHcEMveVl3eHYKazFMdmxkWlhTOFdydkROSUlsVkRkRlRnKzJSMWppRkdkWDhoMlE5d0hUZElIejJQNHNRR3NwVWdBMjNzblQxcQowd3VVSzRwZ0NHdE80MlNsbThudGFScURMWko4V0ZqVSt6K1YrbWpCTjRWMWl0WnJwREwvTFlkKythdllpdXhCCnF6ck4yTTdCVDE4S0U2d3pudmsra1k2azdZTW1YaWg3ZERUeUFmMFVNUng2MUlIODRGTnpuVitsaEY2MlVtSGYKSUZsU1ZJYjF0M3BFZXZrSHJRNDg2ejVkc1F3VlRUSis0L1J0VTdJWjVVemgwMVczUzJmWnZUSVNCbmdJNUdRRgpTZVFEaGpwMEsrdXV4aFF4YStlUys5c1h0QT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQlRDQ0F1MmdBd0lCQWdJUVdnRHlFdGpVdElEemtrRlg2aW1EQlRBTkJna3Foa2lHOXcwQkFRc0ZBREJQCk1Rc3dDUVlEVlFRR0V3SlZVekVwTUNjR0ExVUVDaE1nU1c1MFpYSnVaWFFnVTJWamRYSnBkSGtnVW1WelpXRnkKWTJnZ1IzSnZkWEF4RlRBVEJnTlZCQU1UREVsVFVrY2dVbTl2ZENCWU1UQWVGdzB5TkRBek1UTXdNREF3TURCYQpGdzB5TnpBek1USXlNelU1TlRsYU1ETXhDekFKQmdOVkJBWVRBbFZUTVJZd0ZBWURWUVFLRXcxTVpYUW5jeUJGCmJtTnllWEIwTVF3d0NnWURWUVFERXdOU01UTXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUsKQW9JQkFRQ2xaM0NOMEZhQlpCVVhZYzI1QnRTdEdaQ01KbEEzbUJaamtsVGIyY3lFQlpQczArd0lHNkJnVVVOSQpmU3ZIU0phZXRDM2FuY2duTzFlaG42dncxZzdVRGpES2I1dXgwZGFrblRJK1dFNDFiMFZZYUhFWC9EN1lYWUtnCkw3SlJiTEFhWGJoWnpqVmx5SXVocnhBMy8rT2NYY0pKRnpUL2pDdUxqZkM4Y1N5VERCMEZ4THJIemFySlhuelIKeVFIM25BUDIvQXBkOU5wNzV0dDJRbkRyOUUwaTJnQjNiOWJKWHhmOTJuVXVwVmNNOXVwY3R1QnpwV2pQb1hUaQpkWUorRUovQjlhTHJBZWs0c1FwRXpOUENpZlZKTllJS05MTWM2WWpDUjA2Q0RnbzI4RWRQaXZFcEJIWGF6ZUdhClhQOWVuWmlWdXBwRDBFcWlGd1VCQkREVE1yT1BBZ01CQUFHamdmZ3dnZlV3RGdZRFZSMFBBUUgvQkFRREFnR0cKTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQ0JnZ3JCZ0VGQlFjREFUQVNCZ05WSFJNQkFmOEVDREFHQVFILwpBZ0VBTUIwR0ExVWREZ1FXQkJUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QWZCZ05WSFNNRUdEQVdnQlI1CnRGbm1lN2JsNUFGemdBaUl5QnBZOXVtYmJqQXlCZ2dyQmdFRkJRY0JBUVFtTUNRd0lnWUlLd1lCQlFVSE1BS0cKRm1oMGRIQTZMeTk0TVM1cExteGxibU55TG05eVp5OHdFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3SndZRApWUjBmQkNBd0hqQWNvQnFnR0lZV2FIUjBjRG92TDNneExtTXViR1Z1WTNJdWIzSm5MekFOQmdrcWhraUc5dzBCCkFRc0ZBQU9DQWdFQVVUZFlVcUVpbXpXN1Rick95cExxQ2ZMN1ZPd1lmL1E3OU9INWNITENaZWdnZlFoRGNvbmwKazdLZ2g4YjB2aSsvWHVXdTdDTjhuL1VQZWcxdm8zRyt0YVhpcnJ5dHRoUWluQUhHd2MvVWRiT3lnSmE5enVCYwpWeXFvSDNDWFRYREluVCs4YStjM2FFVk1KMlN0K3BTbjRlZCtXa0RwOGlqc2lqdkV5RndFNDdodWxXMEx0empnCjlmT1Y1UG1yZy96eFdiUnVMK2swREJESEVKZW5uQ3NBZW43YzM1UG14N2pwbUovSHRnUmhjbnoweWpTQnZ5SXcKNkwxUUl1cGtDdjJTQk9EVC94REQzZ2ZRUXlLdjZyb1Y0RzJFaGZFeUFzV3Btb2p4akNVQ0dpeWc5N0Z2RHRtLwpOSzJMU2M5bHliS3hCNzNJMitQMkczQ2FXcHZ2cEFpSENWdTMwalc4R0N4S2RmaHNYdG5JeTJpbXNrUXFWWjJtCjBQbXhvYmIyOFR1Y3I3eEJLN0N0d3ZQcmI3OW9zN3UyWFAzTzVmOWIvSDY2R055UnJnbFJYbHJZakkxb0dZTC8KZjRJMW4vU2d1c2RhNld2QTZDMTkwa3hqVTE1WTEybUhVNCtCeHlSOWN4MmhoR1M5ZkFqTVpLSnNzMjhxeHZ6NgpBeHU0Q2FEbVJOWnBLL3BRclhGMTd5WENYa21FV2d2U09FWnk2WjlwY2JMSVZFR2NrVi9pVmVxMEFPbzJwa2c5CnA0UVJJeTB0SzJkaVJFTkxTRjJLeXNGd2JZNkIyNkJGZUZzM3Yxc1lWUmhGVzluTGtPclFWcG9yQ1MwS3labWYKd1ZEODlxU1RsbmN0TGNabklhdmpLc0tVdTFuQTFpVTB5WU1kWWVwS1I3bFdibndoZHgzZXdvaz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdGVENDQlAyZ0F3SUJBZ0lTQmViamt1cjRoUmtwMFEzZ0pnMjFOL3F0TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXdOelV3V2hjTk1qWXdOREl4TVRZd056UTVXakFrTVNJd0lBWURWUVFECkV4bHdjbTl0WlhSb1pYVnpMbUYwYUdGc2FXRndjSE11ZUhsNk1JSUNJakFOQmdrcWhraUc5dzBCQVFFRkFBT0MKQWc4QU1JSUNDZ0tDQWdFQXoyOE8rL05pNSszalB3UHVNZ3NOQzV0Z0xUSGpEenZaY1liZmduYnVHcndIY1p5UQpzMVlSanMzSkZXN0J3Q0pld3hGY2Jaa1g5cWNqN0ZFUFViZ0NNRSs0cmk0QmJCU3dDZWhyYnJVZTdoQVZ3dkVGCmtIK3JJTGExbUdXRE53RVhsU3dXNVB3cjhMdFBjSFVVWkhIRHU2NjRsOFlXVkUvOHZiMXJ6cGFWdHNMakUwT0gKb0pzanNzbGMxc3AxZks4QUU4bU91SXRRSjAycUFINkQ4RDNFTTVmeDBjQk16ZjQ5cEFRL1ZQZjNrU3JDdE50OQpTV2V3SWlMMU04R000MCtQckNUb0JFWURJRW94SzNVcithd2g0VlpwbUxRNDYxcmpEeWt3RTRUbTVaZmMzNStECmtYTEY3VW52ckRCUXhZdUZ5enZvYmpCd2RlUXV0VCtJcjVoM1RvMEVVbFdubVQ1NDZpeExxZlp4OXpvZjhrcy8KK25IWTRjTTRKbTlGMXAwU0NyM00yYXBDV2hHZk1qRHJURE1wZmplVWNPeEpvbXJzN01TOFRlZnhJNnFtcHBjaQpva1FMeFVYUUEyN1M4V0NoMS9kSmR2alpXYzNOSVlkdHJhV2xxWUxpdFcyQlJESUtGTlc2aElCRVF2bksrS3AvCkhObkVDLytPdnRycm9MRHFIRm5Ealh3eWNSdEI2Y3hwWTBybUpES0dteDVVdzZwSURGRHdWUEpnMW8vTCtudGUKb0N4cEpObXgza0luQXJ6Qi9sWXQzS05zajJBeU40VEJPUmJBQkZ5cXRISGh0b2lUejBsY2NYQTRYK0Z4TkgxTAp3c1VMNk9BQk0rUmdQKzl6ZTlKZDhBK1lKWGhDUWhBNHBNZ3hsYUZtV0wwN0xtT0JYd3FrMmNLV1gra0NBd0VBCkFhT0NBakF3Z2dJc01BNEdBMVVkRHdFQi93UUVBd0lGb0RBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFRWUkKS3dZQkJRVUhBd0l3REFZRFZSMFRBUUgvQkFJd0FEQWRCZ05WSFE0RUZnUVVkZGtxNWxMeTNNZkpYTkRaWjYzMwo5NytUcEY4d0h3WURWUjBqQkJnd0ZvQVVBTFVwOGkyT2J6SG9tMHl0ZUQ3NjNPa00wZEl3TXdZSUt3WUJCUVVICkFRRUVKekFsTUNNR0NDc0dBUVVGQnpBQ2hoZG9kSFJ3T2k4dmNqRXlMbWt1YkdWdVkzSXViM0puTHpBa0JnTlYKSFJFRUhUQWJnaGx3Y205dFpYUm9aWFZ6TG1GMGFHRnNhV0Z3Y0hNdWVIbDZNQk1HQTFVZElBUU1NQW93Q0FZRwpaNEVNQVFJQk1DNEdBMVVkSHdRbk1DVXdJNkFob0IrR0hXaDBkSEE2THk5eU1USXVZeTVzWlc1amNpNXZjbWN2Ck5EWXVZM0pzTUlJQkN3WUtLd1lCQkFIV2VRSUVBZ1NCL0FTQitRRDNBSFlBRGxlVXZQT3VxVDR6R3l5WkI3UDMKa04rYndqMXhNaVhkSWFrbHJHSEZUaUVBQUFHYjRZVjlnQUFBQkFNQVJ6QkZBaUVBdlM0MkhhV1B4dE1NWURYcAp6UzR4d3YyRVB4MVI5N1hOQ3E3NGlaY3dQazhDSUVzZjd4NWY1VzY0ZEtrVW9CVDdDS3l0UEJrbS90WnVCZFpIClplWVlHUEc0QUgwQWNYNlY4OEk0aW0yeDQ0UkpQVEhoV3FsaUNIWXRRZ0RnQlF6UVo3V21ZZUlBQUFHYjRZVisKQ0FBSUFBQUZBQWQ3aGxVRUF3QkdNRVFDSUdNRCtJbmpMSDNwQ1UrQ3FNNHJWQkF1RVhFOXhlSGFxSVVDR0k3TgpLd0gyQWlCanhEUFkvdm9sZVpwb3VsQ2lDL0VDbWFHamhwVlY4YjFhRjNBWSthRDJVekFOQmdrcWhraUc5dzBCCkFRc0ZBQU9DQVFFQWp0VjBwYkJDcndmZE9hZElMUGU1cnRBYk1vLzY4S25KeHc4RHBneUxhSzRFckFFcU5GQWYKZjNsTDVyOUhIclJDUGg2RHVzS25iMkoxOVBPMU1tWGswTWovU2Rza3pXQW15K2dnODB2ekpGczlQd3dCUWlLUgpnZ2NSU1RpbE4rZDVDeUtwdzhlekZCUnVRT1ptNHVIS0k0ZlZQVnRhTFFITWt0dW5KZFBJRTJZbGxxR0h6eDlsCmVkN0p1WGV6aVBNOXdsa09SNzhpdldaaUNaejk1bjdDc01RV2lJQ1YxbDRmWHYweGtrQmNaTmt6bTc2azdVdEsKU1JkMzdCY0hKUWc5ejd3QTl6TUdLNHFMQ3U0VnE5SG54Tm9VVy81cFZoQ1UySmRnM2w0VmtXR3FFWWRuYnE2bwp0ZjBlc0RqcXJzcXBHcTlzajg2aU1HMFBaOVphM0Q2bXdBPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCakNDQXU2Z0F3SUJBZ0lSQU1JU01rdHdxYlNSY2R4QTkrS0ZKand3RFFZSktvWklodmNOQVFFTEJRQXcKVHpFTE1Ba0dBMVVFQmhNQ1ZWTXhLVEFuQmdOVkJBb1RJRWx1ZEdWeWJtVjBJRk5sWTNWeWFYUjVJRkpsYzJWaApjbU5vSUVkeWIzVndNUlV3RXdZRFZRUURFd3hKVTFKSElGSnZiM1FnV0RFd0hoY05NalF3TXpFek1EQXdNREF3CldoY05NamN3TXpFeU1qTTFPVFU1V2pBek1Rc3dDUVlEVlFRR0V3SlZVekVXTUJRR0ExVUVDaE1OVEdWMEozTWcKUlc1amNubHdkREVNTUFvR0ExVUVBeE1EVWpFeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQgpDZ0tDQVFFQTJwZ29kSzIrbFA0NzRCN2k1VXQxcXl3U2YrMm5BekorTnBmczZER1BwUk9OQzVrdUhzMEJVVDFNCjVTaHVDVlV4cXFVaVhYTDBMUWZDVFVBODN3RWp1WGczOVJwbE1qVG1obkdkQk8rRUNGdTlBaHFaNjZZQkFKcHoKa0cyUG9nZWcwSmZUMmtWaGdUVTlGUG5Fd0Y5cTNBdVdHckNmNHlycXZTcldtTWViY2FzN2RBODgyN0pndmxwTApUaGpwMnlwelhJbGhaWjcrN1R5bXkwNXY1Sjc1QUVhei94bE5LbU96am1iR0dJVnd4MUJsYnp0MDVVaUREd2hZClhTMGpuVjZqL3VqYkFLSFM5T01aVGZMdWV2WW5udVhObkMyaThuK2NGNjN2RXpjNTBiVElMRUhXaHNEcDdDSDQKV1J0L3VUcDhuMXdCbldJRXdpaTlDcTA4eWhEc0d3SURBUUFCbzRINE1JSDFNQTRHQTFVZER3RUIvd1FFQXdJQgpoakFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdFd0VnWURWUjBUQVFIL0JBZ3dCZ0VCCi93SUJBREFkQmdOVkhRNEVGZ1FVQUxVcDhpMk9iekhvbTB5dGVENzYzT2tNMGRJd0h3WURWUjBqQkJnd0ZvQVUKZWJSWjVudTI1ZVFCYzRBSWlNZ2FXUGJwbTI0d01nWUlLd1lCQlFVSEFRRUVKakFrTUNJR0NDc0dBUVVGQnpBQwpoaFpvZEhSd09pOHZlREV1YVM1c1pXNWpjaTV2Y21jdk1CTUdBMVVkSUFRTU1Bb3dDQVlHWjRFTUFRSUJNQ2NHCkExVWRId1FnTUI0d0hLQWFvQmlHRm1oMGRIQTZMeTk0TVM1akxteGxibU55TG05eVp5OHdEUVlKS29aSWh2Y04KQVFFTEJRQURnZ0lCQUk5MTBBblBhblpJWlRLUzNyVkV5SVYyOUJXRWpBSy9kdXV6OGVMNWJvU29WcEhoa2t2Mwo0ZW9BZUVpUGRaTGo1RVo3RzJBcklLK2d6aFRsUlExcTRGS0dwUFBhRkJTcHFWL3hiVWI1VWxBWFFPbmtIbjNtCkZWaitxWXY4Ny9XZVkrQm00c04zT3g4Qmh5YVU3VUFRM0xlWjdOMVgwMXh4UWU0d0lBQUUzSlZMVUNpSG1aTCsKcW9DVXRnWUlGUGdjZzM1MFFNVUlXZ3hQWE5HRW5jVDkyMW5lN25sdUkwMlY4cExVbUNscVhPc0N3VUx3K1BWTwpaQ0I3cU9NeHhNQm9DVWVMMkxsNG9NcE9TcjVwSkNwTE4zdFJBMnM2UDFLTHM5VFNyVmhPays3TFgyOE5NVWxJCnVzUS9ueExKSUQwUmhBZUZ0UGp5T0NPc2NRQkE1MytOUmpTQ2FrN1A0QTVqWDdwcG1rY0pFQ0wrUzBpM2tYVlUKeTVNZTVCYnJVODk3M2paTnYvYXg2K1pLNlRNOGpXbWltTDZvZjZPclg3WlU2RTJXcWF6enNGckxHM28ya3lTYgp6bGhTZ0o4MUNsNHR2M1NiWWlZWG5KRXhLUXZ6ZjgzRFlvdG94M2YwZnd2N3hsbjFBMlpMcGxDYjBPK2wvQUswCllFMERTMkZQeFNBSGkwaXdNZlcybk5ISnJYY1kzTExIRDc3Z1JnamU0RXZldWJpMnh4YStObWsvaG1oTGRJRVQKaVZERmFub0NyTVZJcFE1OVhXSGt6ZEZtb0hYSEJWN29pYlZqR1NPN1VMU1E3TUoxTno1MXBodURKU2dBSVU3QQowenJMbk9yQWovZGZybEVXUmhDdkFnYnV3TFpYMUEyc2pOalhvUE9IYnNQaXkrbE8xS0Y4L1hZNwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBejI4TysvTmk1KzNqUHdQdU1nc05DNXRnTFRIakR6dlpjWWJmZ25idUdyd0hjWnlRCnMxWVJqczNKRlc3QndDSmV3eEZjYlprWDlxY2o3RkVQVWJnQ01FKzRyaTRCYkJTd0NlaHJiclVlN2hBVnd2RUYKa0grcklMYTFtR1dETndFWGxTd1c1UHdyOEx0UGNIVVVaSEhEdTY2NGw4WVdWRS84dmIxcnpwYVZ0c0xqRTBPSApvSnNqc3NsYzFzcDFmSzhBRThtT3VJdFFKMDJxQUg2RDhEM0VNNWZ4MGNCTXpmNDlwQVEvVlBmM2tTckN0TnQ5ClNXZXdJaUwxTThHTTQwK1ByQ1RvQkVZRElFb3hLM1VyK2F3aDRWWnBtTFE0NjFyakR5a3dFNFRtNVpmYzM1K0QKa1hMRjdVbnZyREJReFl1Rnl6dm9iakJ3ZGVRdXRUK0lyNWgzVG8wRVVsV25tVDU0Nml4THFmWng5em9mOGtzLworbkhZNGNNNEptOUYxcDBTQ3IzTTJhcENXaEdmTWpEclRETXBmamVVY094Sm9tcnM3TVM4VGVmeEk2cW1wcGNpCm9rUUx4VVhRQTI3UzhXQ2gxL2RKZHZqWldjM05JWWR0cmFXbHFZTGl0VzJCUkRJS0ZOVzZoSUJFUXZuSytLcC8KSE5uRUMvK092dHJyb0xEcUhGbkRqWHd5Y1J0QjZjeHBZMHJtSkRLR214NVV3NnBJREZEd1ZQSmcxby9MK250ZQpvQ3hwSk5teDNrSW5BcnpCL2xZdDNLTnNqMkF5TjRUQk9SYkFCRnlxdEhIaHRvaVR6MGxjY1hBNFgrRnhOSDFMCndzVUw2T0FCTStSZ1ArOXplOUpkOEErWUpYaENRaEE0cE1neGxhRm1XTDA3TG1PQlh3cWsyY0tXWCtrQ0F3RUEKQVFLQ0FnQUJsc0l3bjk2a0ZDaG5kU28vNitHL3N3TDdsYVE5bTZIQXd0MjNiQjNLeXFIcjl0ME00cDNqMENPNApMRThEbjcvR0VyMzRnUEcwQy9lMGViSjZWOFI4aGovTjVjQlJDWitIaytZdXhPaGx2bTNNUG5oaWNQZm9tajJ0CjJ5azBKS2YvbG9UZVlDZ2VBZkZMMVRuQXd6WlNtN1lDUTV3c0xTaXNjMlQrQWgxSGR4cXlMUlErNExGWFR6K00KemFRMHZrcHIzR0ZoZkgreXJWK2QvVm9aWHYrL3ZXdzJ4UmhSZzU4SlFKY1RtWXFsN0FQdHlyaWM5VlJlRHBKKwpRUDlKUm5TOVJ0TVlKVWtrMkN5a1BwT0ZxQkhpWGYwVkZGeFRRVEQ0RHNLMWc1RVpOUjZWLyt6TUVtcjl0RkZICnFsOFVCRXVVRVBObzFLb24zUVdXa2RRRU5GREZuN3NqSWs4K0ZxUU0ydjVjN3FUMk1nM2RBNXRPeW5HSTJoVjgKUy8vZzlpZWhyWjh2QTBZMThDazdXZ3l1UUNybks3TDBwRy9FcTNzT083aVZxMTNZVjNaSGp1dXpteFpiMEVzOApQZy9FRHZUTnJsVGdtcDNHSlZmcGdrNC9EKzF1TlMya1hrMkpTMU9zdGNhdlNIYm9teWcxRk9ob2NpSmxzTGgwClFVUXdyc2ZvZzF4c0NGVGp6T3BXVEMwVDhLbVAyaFZMZGZrTENpRW9Tai8xZnRBVHRjT1hDRThSckxlZEJQeUoKTHJsS3lPT3dwNDdkQ1VWZ05LY08zd0JNQ0MxZXdjZjBweVNib2hPUGVEMnI1czdDbGpQN2NLVm1FWlRqejBGeQowdTVVS0ZYMTlYMlJVcnpoMlZwbHZISzhmNGVOL2lOcmdGV2lpZy9hMEVYUnBWbWcyUUtDQVFFQTV3L0JKV09FCmt5a3hVMkVwZDVDZ25OS0I4S3dDMHk4dVZPQlpFQXF5cWFOMEZ3ZExqY2E4aEd6UmpXa2NCWWVuZEViekNZNDUKYkZ5VU96c0NLcWxSdUZxRERKMlRVRmYycCtjV1F2bGRxR0JibmxLZnVZenNGYjZxM1dqK0M5aC9yWjZVWHpJLwpRU2lRUlRKMWJndDRubkNCRmVYZ05JeG9YWVRvbE9sNURaWXFWOVNFaW9kd3pWdnpmREc0VE1DcC9jOCs3OXRRCkxjcElCc1JKYnU5K3lwN1ViRDEvWWFkU09XOFpzQmZYQmtsZWdRaTFRcEo3N1ptWEdyeTg2NlhIMWRoeVVMZE4KL3VSMndrNW9xb0VkdEN3UmdXRStjRlpJMm5rdWU1dHRZRUc4YS9Eb2t5TEpVVUNHN2tJTHlvRkMrbEs2bDgrRgpEZ25jTlV4S0JoOW9Pd0tDQVFFQTVkSjMrUCtMQ2hmaUlicWFmL1JKMjN6VWs0ZUdpUlFoeHVkcXM4dDZvSVFYCmlzdFozSisyM0Nkb0pRV2ExbG5ERTgvZUVYQmtSeDVDdVFZeVJDaFo4d0FrK0FkVzlzZSsvRG8vSDV0TStoeHgKa2N1RzdvZzNGK1pBZjA1eFRBbEZEM3BxaEtzRWdESVNuUlJFaW5tRStBR2N2N0lMYWFITTRUTW9BbmQ0dklaSQpEYkltSXl4MnR1RkRrTXA2SzBiZlcraU1mY1Z0eWVlZjMva3R6Qk0rV25FVHdJczFUS1pyVHVUWldMT2c2VG1mCk1qUW1TalFZaUdQVmEzWXdjOUpkbU5FRVg4SDdEcStUeU1TRy80T05LT1ozVVNsak1Zc1pVV0krVk0xeVdSUUYKQ05XcWhJTlc3c2tVZEZYOHpyN1lhek5yUm4rZFA5ajZHVnVwcUcrNkt3S0NBUUVBdkd6NGtVanFvQ2VEZGY5UwpGWkwzcDJ0elU1U3lhUTJjdHRLTlRxdXFydlFBZzVjTFlmNmpWVXA0U04xaVlKQVRXcHRSTG9XeEJsRXBBSFJLCmZBZkFBSnF2SythRWI0eU1OTGdhUzF1WHFPdUxTejBOeS83RHQ2ZlpKdDJyN25VTENjYThNRFdGcDlrd2JYMk0KamNVRkJBK3k5T3lWUGNVU2h0RVA2Zi9MRysxTmNucDM2NUF2eVFnbk15eElveTZxY2JSRUdzMjZRTjBvaDN3aQpkamtRS0tRRmpvOUlCWmF4VXV6ckFkTXZJbzFLWitkMkNXZnpiL3RFWWlWdjJxdENuM3ozSENPZmt6RTBONWhCCmVtbjRreWtzelZsRDFkQkhjUUpKaWJ0aUlwRDQydjJHYkJaK0hhaUZZRjZ6eHR4S2htQllrZHhGSVFHaGRrVlUKU0ZIc2FRS0NBUUJoRG5KbU1KMXFaTTIyQ3RWR3BrY3VyMWdpK2NBaVVlTTEyZk5nL05UTHh4MGVHMlRXM0loZwpEekJYT2plNndHdTNDVGt5U2pHL0t4Tm9paXBlU0dBOFZGcEllT2tNRFMwbDNmOWNmTHlVZjhDaW5yNWNMQ0NBCk1sZ1lxMnNEZm9LdzE3VDJWRGJ4WUxRbHJES0ovR25nUnVZSXVzdEJEL2l6UG1SdUxrQko5YmVtT1E4TUdiSUUKNTdzZUFiUjRaRlRkdnFiZVVxdGI4anE5WHNFdGh3NzFLUDM3ZVk3SDBSeE9WQzFKM1lwZUZGeWIyaFExa0N5dwpKT0V6b2RVeWhLdk1ackVmTTQrd0V3d3BaSDNTbUo3Ym9BRFJ3TlhJVFlNaXNJZThUb3MwL1ZSbTk3MHNlejhTClZzOFJsbUxPZVNCeW5XTjNnVnRLWkhxeWpOaG9iczdEQW9JQkFRREpRVXZLV2Fhd0JlWng1Vm1iUzMwUWMyb1AKc0hKODhFOE5qUFlzbncxUkJObE9BMnNzMXV0QlpOSzNpeDRacDlnVGNITVI5M2FCUlpidThDS3g5R29vVWgrSQpLMVRxbjhYejB1V1labUp1VVpDT1JkK0ZrKzl2YnVPR2N1VVNnN3dIMGV6ekpBMDc3ajg5QS9iLzF1S0dKTENoCll1TGpCdUZnSFNJOU44eVZkNit5RlNLNzNPRDZBQ0JHek01Vjh3amhpU280RXlLZ3BQM1hWVFBhbm5FSDFSM0YKa1BCS3NleFEwZFVNaWJ3UzcvajloRWpzYmx6TjJHNjQzRlM0NUhZNU1MUmtRUENpclhrL0UxYVM0MDMyd3FCQQo4TTZ5QWw3STlPcExYTUFmZjhmS1hsZHhid1FNUlptSEtMM05ieFh0UkhkcWUrdlhYVzR1VTZXQzYyT2IKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -235,7 +235,7 @@ "domain": { "main": "grafana.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCakNDQk82Z0F3SUJBZ0lTQlVqT1RQSXBFN2xQeFpUSXRTU2N2RDBOTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05NalV4TVRJeE1qQXhNVFV5V2hjTk1qWXdNakU1TWpBeE1UVXhXakFoTVI4d0hRWURWUVFECkV4Wm5jbUZtWVc1aExtRjBhR0ZzYVdGd2NITXVlSGw2TUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEEKTUlJQ0NnS0NBZ0VBemFNaVNoQVpYSFVSa1ZKdGVUelFCTzAvSW5xemZRZHNyWGJIVWlEeGdwaTBQVmVWWHk1egpYR3FsVzNBYldUN2E4WDBLbHoyWXFRTWphcFYrTW1TWC9UajdZQmFvdHZxR0NTSHVnRzlGUjdxTVRNbVB2RWdMCi9EMWZrblV4VUZ0Zjd1TUF5VE5WTVVvK1ROZ2s4WC9YajlWbFZFMkMzajc4eSsxd2daQUxqRGpIYnd0VCt5SmEKdktEQ0R2cGZITTFiZHJBZkQyS3owLy8rNjhSUjBTeC9pUHlpYVB6NmpBSXA4SENWbU85cjM1RitCbkJxdVNhaQpPeVJ6V20rclROa05JVjdFamNKS0pZTng3MS9odko4L0diQ0FwM2RRTTE5ZG5xUVhUN3BIbm1RRWZ5OE14QWNuCm9KYVpsRHRWc2lsd2VxZ3E1NEJtL1AyNHBjQTZ1OXBhSGlDNjBPbzhiSFhCMk50cURMRUw0R09PVlBxVklQb1cKaE1rVWg0aEg0aktYZ1gwcE9iZmNLTG11bDVyeHpScnJyVnYxcXZ0alNpOEUzNFhqNk43ZGFRdVZ3cDJWREpJaQpBMVpRK0ZTT0k5bFEzYW5uUDZ1ZDgzeUxGZzJVSEdVTzBDNzMrTWFYd0p2RjJhTVIrYjZNTGNUTHhMZGhNQWxTCnpUa1dXNEFUdWowUlZpOHFyVjRwUHhQRmZIdkZ6eUFad3RzTk9DMVNaOXJQU1pQOTBGTEplVTh4ZFA5c1AvOGsKWkI4VWt5VGlyZEEwZHlqbXp1NXAzc0haT3hEaHdiV25qNzVBSjRydTRhTnpxYWZBTEJMYy9hQ1hvL3FwWmpPbgpqS2ZHZ2xYdUpYc0ZHK1lZa0ZEOEF4ejZ0Si9KUDNLY2hiTThQdmRuaHg4cDY5RkRWdENuTHJFQ0F3RUFBYU9DCkFpUXdnZ0lnTUE0R0ExVWREd0VCL3dRRUF3SUZvREFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQVFZSUt3WUIKQlFVSEF3SXdEQVlEVlIwVEFRSC9CQUl3QURBZEJnTlZIUTRFRmdRVUhrRmhNRFNIaVpFanQvdldhME1QbjRXUQpacjB3SHdZRFZSMGpCQmd3Rm9BVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdNd1lJS3dZQkJRVUhBUUVFCkp6QWxNQ01HQ0NzR0FRVUZCekFDaGhkb2RIUndPaTh2Y2pFeUxta3ViR1Z1WTNJdWIzSm5MekFoQmdOVkhSRUUKR2pBWWdoWm5jbUZtWVc1aExtRjBhR0ZzYVdGd2NITXVlSGw2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQgpNQzRHQTFVZEh3UW5NQ1V3STZBaG9CK0dIV2gwZEhBNkx5OXlNVEl1WXk1c1pXNWpjaTV2Y21jdk1UUXVZM0pzCk1JSUJBZ1lLS3dZQkJBSFdlUUlFQWdTQjh3U0I4QUR1QUhVQVpCSEViS1FTN0tlSkhLSUNMZ0M4cTA4b0I5UWUKTlNlcjZ2N1ZBOGw5emZBQUFBR2FxRUQ4QUFBQUJBTUFSakJFQWlBaVpmMGx3cEpkR1hidUMvcjFabndxYkw3Ygp3NDhNajhDWXdmRTRxZmg3MHdJZ0wvekhDWWJ4bWR3eWFJdDJiZ0JNb1E1NlBNeHBaT1BsRVVWVDVhbVRURDBBCmRRQVpodFRIS0twdi9yb0RiM2dxVFFHUnFzNHRjakVQcnM1ZGNFRXRKVXpIMUFBQUFacW9RUHdMQUFBRUF3QkcKTUVRQ0lGcEc0aVpZS3drWVh4a3FESEJVelNkWE5RWDk5bzdwaVBibHdqSmlYRmtLQWlCdGl1K1ZETUdSak94aAowTWN4Zy84bVVjdG14OFpQWU1sSWE4Q1dxRzlZUFRBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQWJOYy9ENGN4CklBZjhOMVdESkcyL3ZlRWYySWZxb2ZEZkpYZDlwRWsxTUJsZmluYlpPRnhsWDljallqSEpDWFpveVhTZDBCdnUKdnNTTnp1Q2wzRWxwUkFRQmxtZWs5UXcxYTdDQWg0OUgvNkc0U3U1MmVzS3NHWjFWZmhjRWFxQlBFZGNnNi9EUApnK1Z1S2pxVmR5QUc3RENlK05oSk43cGxJYlI2R0ZlMWJwZFhhcjlpTzdQRFNHWlJ3anpCMk9TT2N6bDZYMEtPCmdUdEp4NXJDdEh6cnZudVFvU01tcTBZeTJ5bi81MjFaZG93dHk4SUFpOWhSK1RTdU1STmZIUThhQWFOZXJMdUUKUVk4aW1KRmJnWHVYelRpSERraytkQnJwRUo3V1V5THpQYjcvRzZaY25Eem9tRlA4bFRRaVRROUllMm53UUNJbApPOGwzY1hINTdXQ3Z3QT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdFRENDQlBpZ0F3SUJBZ0lTQmJFdUNLMTF2V2tRSlkvbkVpanRiREp1TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXdOelU0V2hjTk1qWXdOREl4TVRZd056VTNXakFoTVI4d0hRWURWUVFECkV4Wm5jbUZtWVc1aExtRjBhR0ZzYVdGd2NITXVlSGw2TUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEEKTUlJQ0NnS0NBZ0VBemFNaVNoQVpYSFVSa1ZKdGVUelFCTzAvSW5xemZRZHNyWGJIVWlEeGdwaTBQVmVWWHk1egpYR3FsVzNBYldUN2E4WDBLbHoyWXFRTWphcFYrTW1TWC9UajdZQmFvdHZxR0NTSHVnRzlGUjdxTVRNbVB2RWdMCi9EMWZrblV4VUZ0Zjd1TUF5VE5WTVVvK1ROZ2s4WC9YajlWbFZFMkMzajc4eSsxd2daQUxqRGpIYnd0VCt5SmEKdktEQ0R2cGZITTFiZHJBZkQyS3owLy8rNjhSUjBTeC9pUHlpYVB6NmpBSXA4SENWbU85cjM1RitCbkJxdVNhaQpPeVJ6V20rclROa05JVjdFamNKS0pZTng3MS9odko4L0diQ0FwM2RRTTE5ZG5xUVhUN3BIbm1RRWZ5OE14QWNuCm9KYVpsRHRWc2lsd2VxZ3E1NEJtL1AyNHBjQTZ1OXBhSGlDNjBPbzhiSFhCMk50cURMRUw0R09PVlBxVklQb1cKaE1rVWg0aEg0aktYZ1gwcE9iZmNLTG11bDVyeHpScnJyVnYxcXZ0alNpOEUzNFhqNk43ZGFRdVZ3cDJWREpJaQpBMVpRK0ZTT0k5bFEzYW5uUDZ1ZDgzeUxGZzJVSEdVTzBDNzMrTWFYd0p2RjJhTVIrYjZNTGNUTHhMZGhNQWxTCnpUa1dXNEFUdWowUlZpOHFyVjRwUHhQRmZIdkZ6eUFad3RzTk9DMVNaOXJQU1pQOTBGTEplVTh4ZFA5c1AvOGsKWkI4VWt5VGlyZEEwZHlqbXp1NXAzc0haT3hEaHdiV25qNzVBSjRydTRhTnpxYWZBTEJMYy9hQ1hvL3FwWmpPbgpqS2ZHZ2xYdUpYc0ZHK1lZa0ZEOEF4ejZ0Si9KUDNLY2hiTThQdmRuaHg4cDY5RkRWdENuTHJFQ0F3RUFBYU9DCkFpNHdnZ0lxTUE0R0ExVWREd0VCL3dRRUF3SUZvREFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQVFZSUt3WUIKQlFVSEF3SXdEQVlEVlIwVEFRSC9CQUl3QURBZEJnTlZIUTRFRmdRVUhrRmhNRFNIaVpFanQvdldhME1QbjRXUQpacjB3SHdZRFZSMGpCQmd3Rm9BVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdNd1lJS3dZQkJRVUhBUUVFCkp6QWxNQ01HQ0NzR0FRVUZCekFDaGhkb2RIUndPaTh2Y2pFeUxta3ViR1Z1WTNJdWIzSm5MekFoQmdOVkhSRUUKR2pBWWdoWm5jbUZtWVc1aExtRjBhR0ZzYVdGd2NITXVlSGw2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQgpNQzhHQTFVZEh3UW9NQ1l3SktBaW9DQ0dIbWgwZEhBNkx5OXlNVEl1WXk1c1pXNWpjaTV2Y21jdk1URXhMbU55CmJEQ0NBUXNHQ2lzR0FRUUIxbmtDQkFJRWdmd0VnZmtBOXdCOUFCcUxuV2xLVjVqSW1hREtpTDMwajhDMFZtRE0KdzJBTkgzSDBhZi9IMGF5akFBQUJtK0dGblFVQUNBQUFCUUE2aVpsb0JBTUFSakJFQWlBdWRqNEJZTVpOWjAwRAoyTzBEZTdSNFBYQW1STk1yd25rOXNVcFg0LzUyOVFJZ0ZEYUk3QjFrSjlVQ1dTUkFDTmhkd21UaFdMUjdVU3VoCllFcVNBYmZtUklrQWRnQU9WNVM4ODY2cFBqTWJMSmtIcy9lUTM1dkNQWEV5SmQwaHFTV3NZY1ZPSVFBQUFadmgKaGF2eUFBQUVBd0JITUVVQ0lCWmJNTkhOMEZJRVRlQnNPdTdPRzVtQTRXZXU0NUhHZnY2V0dBTXhIVFFNQWlFQQpsU1A4Q1V2Y3lqczlBS1JEd3lmL2E4cS8vNGExU2dsMW93ZWdiS1V4SkxRd0RRWUpLb1pJaHZjTkFRRUxCUUFECmdnRUJBR0dMTnRuMEF0SEw2bWJNbUFEMEZBVTQ0QkYyKy9CclpIZ0EzTW5LRWZHYXowejFjaFEyd1VTeHJDZEUKVDAyNW9kdGlYRmVKTE1ZRC9DZVpra3RraDNaenV5NjlQLzY1a1NrZlZlSWFNYUhuelozOGFtZWcyanBZQW9HdgoyUDdFallqSkMxQlFYaXorNXVPUUNYd080MFBWVGxOT21jdnlNOW1NUXk1bCtYS1FueFVySjZIQnZVQ1RvNEpZClFhckFIanpBOUR1MG55UmZqUjBoVmt4bjdVNVJPUVZ3ZVV0S2NsZ0FpaTQ3WUxnUlhaUlovWE5USGZvZW1NMEwKVzJJZ3lyNE1aRHRUazlVMGxYaTVxd1lzaHIyZ0c4Ny8wUFIwZkY3ZmZBUmZVYVNMQWl0T3l0SWU3NGwyY2RaOQpBUXpSSm05KzRJSWhsZjJQVXd0VUh2ejN0Slk9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBemFNaVNoQVpYSFVSa1ZKdGVUelFCTzAvSW5xemZRZHNyWGJIVWlEeGdwaTBQVmVWClh5NXpYR3FsVzNBYldUN2E4WDBLbHoyWXFRTWphcFYrTW1TWC9UajdZQmFvdHZxR0NTSHVnRzlGUjdxTVRNbVAKdkVnTC9EMWZrblV4VUZ0Zjd1TUF5VE5WTVVvK1ROZ2s4WC9YajlWbFZFMkMzajc4eSsxd2daQUxqRGpIYnd0VAoreUphdktEQ0R2cGZITTFiZHJBZkQyS3owLy8rNjhSUjBTeC9pUHlpYVB6NmpBSXA4SENWbU85cjM1RitCbkJxCnVTYWlPeVJ6V20rclROa05JVjdFamNKS0pZTng3MS9odko4L0diQ0FwM2RRTTE5ZG5xUVhUN3BIbm1RRWZ5OE0KeEFjbm9KYVpsRHRWc2lsd2VxZ3E1NEJtL1AyNHBjQTZ1OXBhSGlDNjBPbzhiSFhCMk50cURMRUw0R09PVlBxVgpJUG9XaE1rVWg0aEg0aktYZ1gwcE9iZmNLTG11bDVyeHpScnJyVnYxcXZ0alNpOEUzNFhqNk43ZGFRdVZ3cDJWCkRKSWlBMVpRK0ZTT0k5bFEzYW5uUDZ1ZDgzeUxGZzJVSEdVTzBDNzMrTWFYd0p2RjJhTVIrYjZNTGNUTHhMZGgKTUFsU3pUa1dXNEFUdWowUlZpOHFyVjRwUHhQRmZIdkZ6eUFad3RzTk9DMVNaOXJQU1pQOTBGTEplVTh4ZFA5cwpQLzhrWkI4VWt5VGlyZEEwZHlqbXp1NXAzc0haT3hEaHdiV25qNzVBSjRydTRhTnpxYWZBTEJMYy9hQ1hvL3FwClpqT25qS2ZHZ2xYdUpYc0ZHK1lZa0ZEOEF4ejZ0Si9KUDNLY2hiTThQdmRuaHg4cDY5RkRWdENuTHJFQ0F3RUEKQVFLQ0FnQjh5LzA2VDJ6a3hKTmx5MDF1MzI0ckgwUktpNGEwWVRZZVM5Q0pVajdma0FjS2wwV3Fud2taMUFzSQpaQS9rNkpWOUt2S3JlSkZXT1BaY2I5OUhlKzhWbVdoTkYxTkt3TjFwVzNOZjlLZHA4WmZGM2lsaURhTmdjR3E0CituQjBJUkFtYlJPRUI2Z3pJcWlPZ0RwamFiK0xwZWs1OFZSenhtd3E0cTE5bzhxdVRhTVREQi9xY0IzN0RlRFgKc0REYXpQSXVKSktsQnJTMSswMWREaWJOT0NFcUpJLzRBVmVZY3BPN1BNZzlLVWdoUlMzamdJUDBXN0xuQzZjSwpBbTFHVlE5MzZnaUZNNTFHQ1BDellsQWY1ZEVvcVFwYkY3alBoSmZQZUN4QmtYNTNiS0dpQWc3UVJMdFM1VExOClYva1pCN2NnYVVDb2dDK0FhQWFRYVFuOENYYlliQU9rTGphdG8xUEJBYU1UdEx3bEswclJnVFR0RlVDNHpESTgKOWFlemRXWDc0bEZkOGlXVE5yRmx2NTZMU2VTSkYzakxOcFIwN2lsT2Z1UmF3STQrdHQvMFd5dXI2MzNhQzVFcApzRGlRWHRtM0hCSkI4UCtNU1lNc3F5Z0ZXSjZKQzkzcU5YdGNRN25OdjZjRmNQSVA0OUtYTUROTmlaNjdkbmVXCjFnZFJLUDJ3UWFjUVY0RUNtL1NXSUlrWU40b3RoY3hKL3FiR1FSYSsxNnIrU3FtRVdObDVEWGdnT2xJNUlvTVkKT3UvZVNHQUE3U3FJNDZLQ2kxZERHME1TS0xNbVVlZ00yM25LaTROTllOeGpwV2ozV2JxU0d0SVMrNzY0MFRlRApBZm5uc0xZbnliWTkzTW1zbkthTGpYUm9abkZsSlppelB1UUhyd1lxbUxOV0NmQ09KUUtDQVFFQXozZlRzay9SCkRVRFpXZ3g2TTZKek5kcmR1bHJLRkFpRE1LL0RtcWUvaTAvTTNZZ0tCblNHL0lnSmozUWVoanRxa0w4MW96MmYKcFc1bWNiejBzVFJpM1ZlUzVaUzBSMW5mck9Gb0dtQ2VqeG56MTYvL1VOa1kvNWs5U0J0cXd0RFZvU0VMcWtmYwo0SFdmWjZPZ1dUVmU2T0wwNEk0cUV1ZlBvQlluN1ZXWDJDaFdqZHVtSXhQQ2VMK1pXTjBLVWZhM0dSRXppTnRrCmhXQWFvYXdlWmtKUlBJM2RZK25YZHZPRllBQnE2aUpiQkZMRTZjMGJtUVU5SFV4TmQ2ejFhTHdlV2JUNVNNMmgKOXY1THBGRnBkR0xLMVQzWk50VWwvVTFWUG04MnBzQUMwM2o4NGpXMHczVVhiUE16b3N5VDFqTnZJTnhoWFFsVwpwNDNKOFVjYmp3Ulp1d0tDQVFFQS9iMnJDQWZzdFR6VzY2YS9OS1hZeG03NE9DeExCMDZiL1NHb09Edkd1NVdoCmVyaVJpYXMwNGZHOWhVWkwxZElrbEtoUFNHRTRWaXZaQUVJQW5VTmlHWlBOdU1sVEt1YzBlS3ZiOEFwUEhnOHoKUTJmK3dIZ3BFSmJZa2RpWVM2T3ZOK1k0Q3NaNlVFNUJQUlNOZDdNREtibFVYTGE2NFllWUVReFJ5ZXBuVUlVcwpRSnF3allpWXpEcWZCalVVOHVNTnR2REpxSktvbEY3a21oMHZvMUh6djNlbWtxQTN4QmUrMHF1SWRqbGhWY0FNCjlKTkhuRnB0cVk4eWhIWE41RXE5OWhqUHdxR0hVUkxadDBvL3ZYQ0UrTEN1QjUrM2wzenBncll3RzJrMlF6cUgKVFBkZm92bjloV2w4WGVic0dYazZLTTIwdTlLK3BMRTZMaHkrZWVHTWd3S0NBUUVBZ2NlUFlhZVVPaG9xM0syWgpjOXRXL29WZTFrZ2N5Tk5hWFlaVmNkVWxlTnYrWjBYR0g2dWRGVE56NTR6WDIxZ25uVXcvSFZKYkgzMGtFRm9ICkp5S0NCYnZXWkU3VlJ4enRVcFBlTDBIcGJkTHFPaTRhSkZUcDBsbmxmOG5HeXY4ZjQ1OXNVS1NMZ3MyUlhaOTUKbXRSTC9wcWFYQzRTRzZsdXM5R29RRXFlcGRUMTc5OUsyZjV1VkdKbVpyUSsxRzdrc29XVUd6UkNlVHhZN0hGaQp3czBSVERQaUhiSVYybzhUQzY2M01xY3pFRTFHYUlxcGpOcytFNm03ZS9WeHZvYU81Y2JUZWJ0SWFkMUJMQlRSClJzRFY2UGE3ZmhWdm9qaFI3ckJiRzR4Wk9EZ2kyTTZIdVF6eURuRkVCNzY1YS9EWXYxR2NoanBsUG9MdnBFSzYKOW9mZUtRS0NBUUJmSzdXcnBIVkhJUk9uZlhwMy84Q0g1UFZhOUZvTDJwTXRaV05YL0N1MURoRnNHekFUUjlEawo4aXZZZ2g1Tmk2MUd5TDQ3OHFNVHh3eDBTVTA3cnh0clpvR2h6bmxRUFRuMERObklkY1ZwQytCNVp0Y3BUNmh2ClhYVExkMGJnRC92WFpwVWNqWWN3K2JrRWRPSCt4SGpxUEdZRkJGQ2g2SjdEdmpBcklLMHhpVkdveFp4MDZZZ08KQ2VxOWhFbGdOSU5mVzM3M3FGSnNuQTc0TXZ3OE1LL1EzOHJ0Y2dTWW15TnFsd1h1K2VTbEtneHg2NC9QZUNkcgprcGNyRVpoeENRdW84M054bCs1T0hWamxvNGEyd2k1TnJNOEpjd0dFWTBpZVMwRk45cTl3bGRKTHJ2a0RBdXJ4CkVEaWlhOHVnWGxUUEd5Q3YxZ0xGZU9mT2hkOTNqWDZMQW9JQkFRQ0Q0YlU0dDVnYUpBWWo1UjBldHpNZm91RWEKRWhoZjcrNmJvVzZLV3UyTVZubUsxcmJqWENlM0tLV3d4bnpVdVorcjI3bjBCcFZ2cFZZMnRIeE81cC9TK3J3WgpjbUp2QXBtL2tDTGRIUFN0ZmgrRzJuZFhadjFjZzB0cUp2RDhrdFNQWWJBUXFNTVEyQXVmRkJOMGFLZStKeXlXCnpNNGg2MzR6azhldGdoSnB4Y1hXcTJzNldtYTg0SmtKZmZESlpUMExCWHBnUjRWS2pyN01Lb2FURWM1c2wydUIKVlVrVHczbDNLRGFWa0MxcG85OFlRY0Fuc1lWNDBzTXdJZEtsMGpsS2FIY0FhbVhRdWp5bHdBTTMzeTNudmQzeApEWTBXZHYySytGcm50MnJuR2t1eXBLRDZJV3BjUW40K2JGRzQ0RlltZHJ3eTJUcnF4RjREczNhdlNkSk4KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -243,7 +243,7 @@ "domain": { "main": "snapdrop.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDakNDQlBLZ0F3SUJBZ0lTQlN0S0N5Nkxtb2RDQ29LVi8zbEMzUG1yTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05NalV4TVRJeE1qQXhNVFU0V2hjTk1qWXdNakU1TWpBeE1UVTNXakFpTVNBd0hnWURWUVFECkV4ZHpibUZ3WkhKdmNDNWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVAKQURDQ0Fnb0NnZ0lCQU01TlEwUGxxaXNZeFppZWtZSmVCWllvYXplVTZRRmUxdHRpWHY1RWU3aGNxV0dDUFJGNQpidU1oRlZtRldhUStqQjNKd1M2VWFFbld4cVVpMzNyL1hsRDA0MlBrVjA2ZXJHeDR1eHBTT0dQV01UUnJ5QlJuCkxyQyt2T3A3NUtVY2ZxbVZrcHFqUXBwMnBpYXVPRitRRWpManZxdFA4NkxqbThKZk9zR05zMm9hZXBycXVjVWkKUXNUYnV1cVFQSWpJNm82NWZLY1hZbTBJY1g2c00vbGErUDZBV0tLNDBiUU9PUlpUT1BFV2FoNFlvQURGSWRwdwphbm9nN0NWS2RHRFRFcWxCZU5TbTVxdFIzTC9od3FBZ3VNV2FMeFRYdm9oS0gyZFladEhSVUNuN01BTlVZQUhTCkRUL09wS1ZBQys4ajB4TTBXdmNqYUt4ZUQ1RVhaTFFrZmZCa3ZGdEV5YXBsU2tRQ05TRlNTM1g0cDNyYmVMNXkKS3EyTkdiOC9EbldnYlNiLzJFb1dYS291V3d4VFpLaXFsM1NIZWJxZ2NTemFpM0d1WVBBdGl3cDY0TVVGenZZeApzQWNXS1BJQnZwRkFtRTNOK3pnZVJsVjYzVExjbEl6MEdudWJqU2tpRVVWMTN0M0FBVjU0MTJPWGxvT2hncjNXCitDSmdCNFdhTTAwMjhBbUg1bWF0S0VKWXdHN0NHQzNxMERUK3NEQkJUU0FyaUJsMVZjNGswVjJ1QXdKR0hja2oKdWY4emVhMlFkZDRCd2w1L2haYTRGOVZoRmdWTnBYZEVjVCtnZnNIcWo2c0JIWjdUQU01RitSdmplLzFGZ25VVwo3cEIySzlySlZneGNOcWoyVEVmemllbFBmWUFIcURpcERzdmFnVGxyN0MzRHQzRFpWTFpQQUZJZkFnTUJBQUdqCmdnSW5NSUlDSXpBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0cKQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZCMFZid28rSzFkNVR6MDQ2cjdwZzdBWgpGNVhpTUI4R0ExVWRJd1FZTUJhQUZBQzFLZkl0am04eDZKdE1yWGcrK3R6cEROSFNNRE1HQ0NzR0FRVUZCd0VCCkJDY3dKVEFqQmdnckJnRUZCUWN3QW9ZWGFIUjBjRG92TDNJeE1pNXBMbXhsYm1OeUxtOXlaeTh3SWdZRFZSMFIKQkJzd0dZSVhjMjVoY0dSeWIzQXVZWFJvWVd4cFlYQndjeTU0ZVhvd0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QgpBZ0V3TGdZRFZSMGZCQ2N3SlRBam9DR2dINFlkYUhSMGNEb3ZMM0l4TWk1akxteGxibU55TG05eVp5ODBOQzVqCmNtd3dnZ0VFQmdvckJnRUVBZFo1QWdRQ0JJSDFCSUh5QVBBQWR3QVpodFRIS0twdi9yb0RiM2dxVFFHUnFzNHQKY2pFUHJzNWRjRUV0SlV6SDFBQUFBWnFvUVJLTEFBQUVBd0JJTUVZQ0lRQzFsRDl3TVVBSG51M0R2ZzNzSHVMZQpJYkZJb0gxRzVyMzZtU25xNzdEQlJBSWhBT01oYVRZMHpJbjcycDRpanZrcXMxYy95QkUzRGcvaDhLY3pUbDNoCnhTTWJBSFVBU1p5YmFkNGRmT3o4TnQ3TmgyU211RnV2Q29lQUdkRlZVdnZwNnluZCtNTUFBQUdhcUVFU2pBQUEKQkFNQVJqQkVBaUJtZ2ZvanlMMFhyRUtMS0MyUlZ6UUpvUXJIRHhDdzY1aVc2N25WUXJjRWFBSWdYNE5EOEkvVApNWnlJdW5BU1ZsS0NwVjBvUTlya2NOb1FJZHkxSDNlSXExTXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBQ2diClhkNENYU2RKQjliWlJ5aDZMWC92K1JFejBpamh4K2JiRHJZK1JRM3NvRHFTTUcxc3U0a3lleXdwYWJjcUlNcE8KbjB0WTNwUTNqUDRMQS84VUYralF2ZFNpRXFQYkVSOCtxMk5nQmRVeVd1OC9Td1lZMm1abFZNdmxJQjZCY2xRVgpRaG01NEZSOXVPTWthVDEzUnV4MnZQUmtUUWlpcCtJOThUbDM3empFdENhVzlGcnk4NUdJZVFoT1Bvc01ZbVBFCmVNeXdHRUN5SW8rWTF5MUxUZ240UlpEczE0UURFZnVMa2VBT3VoVDBYSFIvVmVYb1ZHdk9GR2NCN1dXMXI4cDgKdnhOaTNReFptdXN2NTRnMHZKcUw5WlJKcVExSWY5MkRzaVg0NkRmeDAySjUrZkxZR3VDY05hQ0hiQmVVVVk1bAo1ZTcxNGtMSWkrSU15Y25PU3BRPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJqQ0NBdTZnQXdJQkFnSVJBTUlTTWt0d3FiU1JjZHhBOStLRkpqd3dEUVlKS29aSWh2Y05BUUVMQlFBdwpUekVMTUFrR0ExVUVCaE1DVlZNeEtUQW5CZ05WQkFvVElFbHVkR1Z5Ym1WMElGTmxZM1Z5YVhSNUlGSmxjMlZoCmNtTm9JRWR5YjNWd01SVXdFd1lEVlFRREV3eEpVMUpISUZKdmIzUWdXREV3SGhjTk1qUXdNekV6TURBd01EQXcKV2hjTk1qY3dNekV5TWpNMU9UVTVXakF6TVFzd0NRWURWUVFHRXdKVlV6RVdNQlFHQTFVRUNoTU5UR1YwSjNNZwpSVzVqY25sd2RERU1NQW9HQTFVRUF4TURVakV5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCCkNnS0NBUUVBMnBnb2RLMitsUDQ3NEI3aTVVdDFxeXdTZisybkF6SitOcGZzNkRHUHBST05DNWt1SHMwQlVUMU0KNVNodUNWVXhxcVVpWFhMMExRZkNUVUE4M3dFanVYZzM5UnBsTWpUbWhuR2RCTytFQ0Z1OUFocVo2NllCQUpwegprRzJQb2dlZzBKZlQya1ZoZ1RVOUZQbkV3RjlxM0F1V0dyQ2Y0eXJxdlNyV21NZWJjYXM3ZEE4ODI3Smd2bHBMClRoanAyeXB6WElsaFpaNys3VHlteTA1djVKNzVBRWF6L3hsTkttT3pqbWJHR0lWd3gxQmxienQwNVVpRER3aFkKWFMwam5WNmovdWpiQUtIUzlPTVpUZkx1ZXZZbm51WE5uQzJpOG4rY0Y2M3ZFemM1MGJUSUxFSFdoc0RwN0NINApXUnQvdVRwOG4xd0JuV0lFd2lpOUNxMDh5aERzR3dJREFRQUJvNEg0TUlIMU1BNEdBMVVkRHdFQi93UUVBd0lCCmhqQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBZ1lJS3dZQkJRVUhBd0V3RWdZRFZSMFRBUUgvQkFnd0JnRUIKL3dJQkFEQWRCZ05WSFE0RUZnUVVBTFVwOGkyT2J6SG9tMHl0ZUQ3NjNPa00wZEl3SHdZRFZSMGpCQmd3Rm9BVQplYlJaNW51MjVlUUJjNEFJaU1nYVdQYnBtMjR3TWdZSUt3WUJCUVVIQVFFRUpqQWtNQ0lHQ0NzR0FRVUZCekFDCmhoWm9kSFJ3T2k4dmVERXVhUzVzWlc1amNpNXZjbWN2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQk1DY0cKQTFVZEh3UWdNQjR3SEtBYW9CaUdGbWgwZEhBNkx5OTRNUzVqTG14bGJtTnlMbTl5Wnk4d0RRWUpLb1pJaHZjTgpBUUVMQlFBRGdnSUJBSTkxMEFuUGFuWklaVEtTM3JWRXlJVjI5QldFakFLL2R1dXo4ZUw1Ym9Tb1ZwSGhra3YzCjRlb0FlRWlQZFpMajVFWjdHMkFySUsrZ3poVGxSUTFxNEZLR3BQUGFGQlNwcVYveGJVYjVVbEFYUU9ua0huM20KRlZqK3FZdjg3L1dlWStCbTRzTjNPeDhCaHlhVTdVQVEzTGVaN04xWDAxeHhRZTR3SUFBRTNKVkxVQ2lIbVpMKwpxb0NVdGdZSUZQZ2NnMzUwUU1VSVdneFBYTkdFbmNUOTIxbmU3bmx1STAyVjhwTFVtQ2xxWE9zQ3dVTHcrUFZPClpDQjdxT014eE1Cb0NVZUwyTGw0b01wT1NyNXBKQ3BMTjN0UkEyczZQMUtMczlUU3JWaE9rKzdMWDI4Tk1VbEkKdXNRL254TEpJRDBSaEFlRnRQanlPQ09zY1FCQTUzK05SalNDYWs3UDRBNWpYN3BwbWtjSkVDTCtTMGkza1hWVQp5NU1lNUJiclU4OTczalpOdi9heDYrWks2VE04aldtaW1MNm9mNk9yWDdaVTZFMldxYXp6c0ZyTEczbzJreVNiCnpsaFNnSjgxQ2w0dHYzU2JZaVlYbkpFeEtRdnpmODNEWW90b3gzZjBmd3Y3eGxuMUEyWkxwbENiME8rbC9BSzAKWUUwRFMyRlB4U0FIaTBpd01mVzJuTkhKclhjWTNMTEhENzdnUmdqZTRFdmV1YmkyeHhhK05tay9obWhMZElFVAppVkRGYW5vQ3JNVklwUTU5WFdIa3pkRm1vSFhIQlY3b2liVmpHU083VUxTUTdNSjFOejUxcGh1REpTZ0FJVTdBCjB6ckxuT3JBai9kZnJsRVdSaEN2QWdidXdMWlgxQTJzak5qWG9QT0hic1BpeStsTzFLRjgvWFk3Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDekNDQlBPZ0F3SUJBZ0lTQmJicXNZbFFwS05yV3JDMkNueWd6WnBYTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXdPREEzV2hjTk1qWXdOREl4TVRZd09EQTJXakFpTVNBd0hnWURWUVFECkV4ZHpibUZ3WkhKdmNDNWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVAKQURDQ0Fnb0NnZ0lCQU01TlEwUGxxaXNZeFppZWtZSmVCWllvYXplVTZRRmUxdHRpWHY1RWU3aGNxV0dDUFJGNQpidU1oRlZtRldhUStqQjNKd1M2VWFFbld4cVVpMzNyL1hsRDA0MlBrVjA2ZXJHeDR1eHBTT0dQV01UUnJ5QlJuCkxyQyt2T3A3NUtVY2ZxbVZrcHFqUXBwMnBpYXVPRitRRWpManZxdFA4NkxqbThKZk9zR05zMm9hZXBycXVjVWkKUXNUYnV1cVFQSWpJNm82NWZLY1hZbTBJY1g2c00vbGErUDZBV0tLNDBiUU9PUlpUT1BFV2FoNFlvQURGSWRwdwphbm9nN0NWS2RHRFRFcWxCZU5TbTVxdFIzTC9od3FBZ3VNV2FMeFRYdm9oS0gyZFladEhSVUNuN01BTlVZQUhTCkRUL09wS1ZBQys4ajB4TTBXdmNqYUt4ZUQ1RVhaTFFrZmZCa3ZGdEV5YXBsU2tRQ05TRlNTM1g0cDNyYmVMNXkKS3EyTkdiOC9EbldnYlNiLzJFb1dYS291V3d4VFpLaXFsM1NIZWJxZ2NTemFpM0d1WVBBdGl3cDY0TVVGenZZeApzQWNXS1BJQnZwRkFtRTNOK3pnZVJsVjYzVExjbEl6MEdudWJqU2tpRVVWMTN0M0FBVjU0MTJPWGxvT2hncjNXCitDSmdCNFdhTTAwMjhBbUg1bWF0S0VKWXdHN0NHQzNxMERUK3NEQkJUU0FyaUJsMVZjNGswVjJ1QXdKR0hja2oKdWY4emVhMlFkZDRCd2w1L2haYTRGOVZoRmdWTnBYZEVjVCtnZnNIcWo2c0JIWjdUQU01RitSdmplLzFGZ25VVwo3cEIySzlySlZneGNOcWoyVEVmemllbFBmWUFIcURpcERzdmFnVGxyN0MzRHQzRFpWTFpQQUZJZkFnTUJBQUdqCmdnSW9NSUlDSkRBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0cKQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZCMFZid28rSzFkNVR6MDQ2cjdwZzdBWgpGNVhpTUI4R0ExVWRJd1FZTUJhQUZBQzFLZkl0am04eDZKdE1yWGcrK3R6cEROSFNNRE1HQ0NzR0FRVUZCd0VCCkJDY3dKVEFqQmdnckJnRUZCUWN3QW9ZWGFIUjBjRG92TDNJeE1pNXBMbXhsYm1OeUxtOXlaeTh3SWdZRFZSMFIKQkJzd0dZSVhjMjVoY0dSeWIzQXVZWFJvWVd4cFlYQndjeTU0ZVhvd0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QgpBZ0V3TGdZRFZSMGZCQ2N3SlRBam9DR2dINFlkYUhSMGNEb3ZMM0l4TWk1akxteGxibU55TG05eVp5ODRPQzVqCmNtd3dnZ0VGQmdvckJnRUVBZFo1QWdRQ0JJSDJCSUh6QVBFQWRnQkpuSnRwM2gxODdQdzIzczJIWkthNFc2OEsKaDRBWjBWVlMrK25yS2QzNHd3QUFBWnZoaGNFekFBQUVBd0JITUVVQ0lBYUhvQXhqRXFGWlRqV0RqMWsyTHZCRwpWK0xzcGl3MTEvQ0lWOVNpNjdmNEFpRUFuYmN1WU5xLzhOS3hMS3RuZjJXWGo3QWpOaFJuemtjcSt5ME5DUGszClJoOEFkd0RMT1BjVmlYeUVvVVJmVzhIZCs4bHU4cHBaelVjS2FRV0ZzTXNVd3hSWTV3QUFBWnZoaGNGTUFBQUUKQXdCSU1FWUNJUUNVSUhBZ3ZWeHVZbTZjNGJWZ01OcC9NUWNZSGlRZkJSdmhWMSszQnR1R3d3SWhBTmZOelYyNQpQTG15eTFscVBiRCtwbUpvZkl5WmZ4dkJwUCs1TVBZYmlCTG5NQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUJkClp6NzFDdS80TWdoN2N4endsMkFYc0I3RlZaYm9lT3N1MEN6SnFmRlJyd0FNSzlhUnJWb3lja3ZJYllhYzJJVUkKTWh6ZEpaZHc4Zlp0czlPdlRPYUNyTWNITzR2UVpmVENaRy9LNGh6bHRXanRNMURuRUIwUnd2LzMrTUloUFBXUwp4REhYNVZBdVBIbVJKS250eVJPRVRaQTU3OWRwRGlEL1ZhTVNCQjZJNldiNG0wR0ZkTVpwVW5RMVlpbWFLNGI3CmVxbUpSQnBhb2tDZHRZR0hvZFhpc3Vua0cvL0ZqWHFiMmtzR0pHcEQzLy9Bajk3OXR6VEYvSEJWak9aUGpURzgKcjRjZGtkNjhLaW93MmhrTGZPWGRMN3MySjgrMURmVndYMnRzQlZ0bEJFcDJmYXkzRGRrbVVXcGtuVklRYU10YQpUTDY0TUkzZGpDTVV0clJ3QVphNAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJqQ0NBdTZnQXdJQkFnSVJBTUlTTWt0d3FiU1JjZHhBOStLRkpqd3dEUVlKS29aSWh2Y05BUUVMQlFBdwpUekVMTUFrR0ExVUVCaE1DVlZNeEtUQW5CZ05WQkFvVElFbHVkR1Z5Ym1WMElGTmxZM1Z5YVhSNUlGSmxjMlZoCmNtTm9JRWR5YjNWd01SVXdFd1lEVlFRREV3eEpVMUpISUZKdmIzUWdXREV3SGhjTk1qUXdNekV6TURBd01EQXcKV2hjTk1qY3dNekV5TWpNMU9UVTVXakF6TVFzd0NRWURWUVFHRXdKVlV6RVdNQlFHQTFVRUNoTU5UR1YwSjNNZwpSVzVqY25sd2RERU1NQW9HQTFVRUF4TURVakV5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCCkNnS0NBUUVBMnBnb2RLMitsUDQ3NEI3aTVVdDFxeXdTZisybkF6SitOcGZzNkRHUHBST05DNWt1SHMwQlVUMU0KNVNodUNWVXhxcVVpWFhMMExRZkNUVUE4M3dFanVYZzM5UnBsTWpUbWhuR2RCTytFQ0Z1OUFocVo2NllCQUpwegprRzJQb2dlZzBKZlQya1ZoZ1RVOUZQbkV3RjlxM0F1V0dyQ2Y0eXJxdlNyV21NZWJjYXM3ZEE4ODI3Smd2bHBMClRoanAyeXB6WElsaFpaNys3VHlteTA1djVKNzVBRWF6L3hsTkttT3pqbWJHR0lWd3gxQmxienQwNVVpRER3aFkKWFMwam5WNmovdWpiQUtIUzlPTVpUZkx1ZXZZbm51WE5uQzJpOG4rY0Y2M3ZFemM1MGJUSUxFSFdoc0RwN0NINApXUnQvdVRwOG4xd0JuV0lFd2lpOUNxMDh5aERzR3dJREFRQUJvNEg0TUlIMU1BNEdBMVVkRHdFQi93UUVBd0lCCmhqQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBZ1lJS3dZQkJRVUhBd0V3RWdZRFZSMFRBUUgvQkFnd0JnRUIKL3dJQkFEQWRCZ05WSFE0RUZnUVVBTFVwOGkyT2J6SG9tMHl0ZUQ3NjNPa00wZEl3SHdZRFZSMGpCQmd3Rm9BVQplYlJaNW51MjVlUUJjNEFJaU1nYVdQYnBtMjR3TWdZSUt3WUJCUVVIQVFFRUpqQWtNQ0lHQ0NzR0FRVUZCekFDCmhoWm9kSFJ3T2k4dmVERXVhUzVzWlc1amNpNXZjbWN2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQk1DY0cKQTFVZEh3UWdNQjR3SEtBYW9CaUdGbWgwZEhBNkx5OTRNUzVqTG14bGJtTnlMbTl5Wnk4d0RRWUpLb1pJaHZjTgpBUUVMQlFBRGdnSUJBSTkxMEFuUGFuWklaVEtTM3JWRXlJVjI5QldFakFLL2R1dXo4ZUw1Ym9Tb1ZwSGhra3YzCjRlb0FlRWlQZFpMajVFWjdHMkFySUsrZ3poVGxSUTFxNEZLR3BQUGFGQlNwcVYveGJVYjVVbEFYUU9ua0huM20KRlZqK3FZdjg3L1dlWStCbTRzTjNPeDhCaHlhVTdVQVEzTGVaN04xWDAxeHhRZTR3SUFBRTNKVkxVQ2lIbVpMKwpxb0NVdGdZSUZQZ2NnMzUwUU1VSVdneFBYTkdFbmNUOTIxbmU3bmx1STAyVjhwTFVtQ2xxWE9zQ3dVTHcrUFZPClpDQjdxT014eE1Cb0NVZUwyTGw0b01wT1NyNXBKQ3BMTjN0UkEyczZQMUtMczlUU3JWaE9rKzdMWDI4Tk1VbEkKdXNRL254TEpJRDBSaEFlRnRQanlPQ09zY1FCQTUzK05SalNDYWs3UDRBNWpYN3BwbWtjSkVDTCtTMGkza1hWVQp5NU1lNUJiclU4OTczalpOdi9heDYrWks2VE04aldtaW1MNm9mNk9yWDdaVTZFMldxYXp6c0ZyTEczbzJreVNiCnpsaFNnSjgxQ2w0dHYzU2JZaVlYbkpFeEtRdnpmODNEWW90b3gzZjBmd3Y3eGxuMUEyWkxwbENiME8rbC9BSzAKWUUwRFMyRlB4U0FIaTBpd01mVzJuTkhKclhjWTNMTEhENzdnUmdqZTRFdmV1YmkyeHhhK05tay9obWhMZElFVAppVkRGYW5vQ3JNVklwUTU5WFdIa3pkRm1vSFhIQlY3b2liVmpHU083VUxTUTdNSjFOejUxcGh1REpTZ0FJVTdBCjB6ckxuT3JBai9kZnJsRVdSaEN2QWdidXdMWlgxQTJzak5qWG9QT0hic1BpeStsTzFLRjgvWFk3Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKSndJQkFBS0NBZ0VBemsxRFErV3FLeGpGbUo2UmdsNEZsaWhyTjVUcEFWN1cyMkplL2tSN3VGeXBZWUk5CkVYbHU0eUVWV1lWWnBENk1IY25CTHBSb1NkYkdwU0xmZXY5ZVVQVGpZK1JYVHA2c2JIaTdHbEk0WTlZeE5HdkkKRkdjdXNMNjg2bnZrcFJ4K3FaV1NtcU5DbW5hbUpxNDRYNUFTTXVPK3EwL3pvdU9id2w4NndZMnphaHA2bXVxNQp4U0pDeE51NjZwQThpTWpxanJsOHB4ZGliUWh4ZnF3eitWcjQvb0JZb3JqUnRBNDVGbE00OFJacUhoaWdBTVVoCjJuQnFlaURzSlVwMFlOTVNxVUY0MUtibXExSGN2K0hDb0NDNHhab3ZGTmUraUVvZloxaG0wZEZRS2Zzd0ExUmcKQWRJTlA4NmtwVUFMN3lQVEV6UmE5eU5vckY0UGtSZGt0Q1I5OEdTOFcwVEpxbVZLUkFJMUlWSkxkZmluZXR0NAp2bklxclkwWnZ6OE9kYUJ0SnYvWVNoWmNxaTViREZOa3FLcVhkSWQ1dXFCeExOcUxjYTVnOEMyTENucmd4UVhPCjlqR3dCeFlvOGdHK2tVQ1lUYzM3T0I1R1ZYcmRNdHlValBRYWU1dU5LU0lSUlhYZTNjQUJYbmpYWTVlV2c2R0MKdmRiNEltQUhoWm96VFRid0NZZm1acTBvUWxqQWJzSVlMZXJRTlA2d01FRk5JQ3VJR1hWVnppVFJYYTREQWtZZAp5U081L3pONXJaQjEzZ0hDWG4rRmxyZ1gxV0VXQlUybGQwUnhQNkIrd2VxUHF3RWRudE1BemtYNUcrTjcvVVdDCmRSYnVrSFlyMnNsV0RGdzJxUFpNUi9PSjZVOTlnQWVvT0trT3k5cUJPV3ZzTGNPM2NObFV0azhBVWg4Q0F3RUEKQVFLQ0FnQjhxVytHTGRmZ1p2MndOZEdUeDZEMGxjUUVPRFY4b0lTUTJTYXgyMHd2b2I2d3IzU2JoSmVmSkRTMApmY0luWDZ4bnE2elNxdGRDRjBpK0xRNkNVcUg1cGFGcWtXYTRtV1Z6dnBqQlZRSENRb0pGUFFRUVlERjBtQzJzCk8rVjBhSDJabUVxWXF5THFGOXhhNzFnZFZ2L0lSSnJKQm0wZzl3eitMWEZoMkhDY0l4Z0hXT09jM2hFZXgvQngKSVd1UzlHWFlqUGxvTnRkQkw2TDFlcldGYnBXYnBJN3E5V2V5dUEyREVoTU1qQkRmMHQyTTJaS1ZYdXpZaytCZQp3RmtHMFVVcmhlYXdDWkxGMzVmWFUySzZSRXVqRElKNnc4dmNxMzNDZzBiT2J2OVQvdmVLYTRnQVVaK3orUGpBCjZxekxld2huU0hIWGVVd2RMRkdYeVYwUEJpWWE4ZHdnQ0hpNXprSzZ4MnVQUlMyVWwxVmUwelJlOTJibXFDQloKWHVOSXNBYW9rUHdkZzlUczFSdVFFR3BqemNKR2V2clVOSzlkbDF1TXZ2QXd5OWlOZDYzckdYei81UDVzM2xUSQo4TmlmRHVYQVdRdWxIcEVvMkJnaXhOWXVoMzVDZWxrSFVuQ0lHd0kwMXhIQk5wVG43YmRLemNvQllwZUtBS0ErCmlSRmtiVFZod2hrYkluZ1BiQjRTY1d0d05YZG4ycHcrTmlXZzk0K2poUU43QTdqMlJQUnNQZmRIRkd4a05kMVoKcDFRQVZocVFwUkJ2dkpNUGxjZ2xHam5JdlpVemxWNVp2RlpEOUVXSExmZjlBM284ZDhaVnZxOU5hUkc3aC9CNQpoSFozalMyUklGR2MrOVl5Tm84bkZucjNZd012aFNyYmQvYWFTSXZkNVlMNThnOVRNUUtDQVFFQTRkY3p2S1ZPCjRZYkFUS2NZN0JJSXI4T3hET0lIMkY2bk9aang4Y2FoektHbjdvcFdBZzdqdjJxWnlrc2lFNUJYQW0wMFl0ekIKMzVTVUVpOFlZNVlJU1ZsaE55bCtkR3k4bFl5c3pLcTdGMVZjQnFUVzlOb3JMK1VLMkpWWHZkSjc0NThKSWRIOQpiczlrSEdSZGxQbU1KeUF6N3hjUDZVd0hjbDZXNU14V3gzbCtjZ1hiMTZiYlh1Ry9GMC9GV1BpeGhXMy9kTG9uCmFLZzNmWTJuR2JLaTZhUUNyRVV6M1NFRmlRWmloQlBrc1IxbjV3T2g0TlNRQjR4VVNqTkRsTHorUENzb1l1QUgKZUlMNG0vZGtLTUpUTmNaVi9WY1Y1SmVpY3hOa0RYSFFBenZ0VzVVQThuYko0b1lNNHJCUnh1dG5FZzVtU3pLVgpyM2Evb2RGSTJxc2l2UUtDQVFFQTZkb1dsQmlhZ25SWWdDN21RQUJ6cmJIVXZhdWEyQzJ6UU1hbFRqdXFFb0RICkphWlg0NFZ0dXRDY0NWL3ZCc3Vkdk9SbUxqL0pCTUhCRDMvS21maGNqTnhhRTJaMUlMVTRGa3pyUnpGKzJDRUoKbWRyQk83QmF5d0llWS9KMjNhTXIvc0duRWVWT3M2U1J0NGhRMmdCUnBsUHhrY2lUdDl0NHpWbUJHcUpJVWs5cQpQTFdMNzRrNWl5MlpWN2VUNmVBZGtlei9uYlYxU0Q0UzRycEJDUC80N2JNUXpuU3RQMVhIOE14RmE0YmNpUUhuCkJPVDFjU1d3YTFlamxBVjNQaG04MjFKN0VOSDJZOGxqemNiMGQ0blAzZWNCVXNPZWNPN0NnbVFTOGRSMmM0QnoKcUQ5WHhyVUtiTFpOL1dnSWFFN1g2UWE1YUU5MkZSRDA5RG9qZTZSa0N3S0NBUUJsYVpLVThwSmlXWFUrdG9aTgpjNmVzN2E0eWY4bFFFdWo2eDBCVjlvRXZkNlFHVE41a1hEVk8vbHFDNll3cXh0VWJoTmhTVUpsS2dkaWY5Yi80CjhDVldjcWxoOE9NVStzTVFVTFJEejZMbHpuSGRsZVhrMjVjckVhbjJLZEhWcm8vdFhidm5FUG5CNmFVbHpyZnIKTHNnTnhic3NjT20zTkduZnBMUVRsK0tiL21XV1pDVWRTSk1YbnoyRkJWQTBMTERpbnN0b3FqTUtId2VUL0tqOQp0Q2JOemRWWmNGWGl4WEpMM3E4Y2FpWjJsaUxUTE9GaktYQm53MDhTWnNUQkpNRHhXZHZ2MG5Qb1hMK3dvYjI3ClE4L0R4UVZXRnVZQTJVcWNiQ2V3bGR2M3A5QmxJSnJsUmd4UUNTditHM2tOWHlYUWlPRE1nYkdQc2o1Sk5zYUYKVXZYdEFvSUJBRStGbUJQNFllSm15Z21jNlROdWMrZm5CeDhRa2ZGZGFRMW4vNktnNjI2cldBMVhpWitYS2Y5VApIUnliQU45Z3NsMGZsaGU0SFJWL0JiWE5rUW5XeVRJbFpJUWdYVWdvRjlDTmk1eUVHa3hJdjhrUCtKSGhvSjVVCk5CMXN3RHNTVjgyajhMcEhMZ0lzdmxpWkJGVjlza1pMV1dSbnZzUFE0RDJFYUVDMFdyK1N2ZCt6Sk1qcDh5VisKOWh3OEV4Sis0YzlUdG9EY3llc3RJS0wxRDFTT0p3bzkwRU5FcmYxUm9GSWtSSjhTRjBDSDR4Vm8vb1hoZVNLbgpoTHE3T1JkbkRTL1Axb1did0p1aVNrd1prZHhzZ3NGRTR0QlFNVHJhRms3YzFReGpZWHhaZS9zRXYwYVZIZHhtCkNoTllJelBGUytxMEhLeDZDUCtVNnBkNmhjSnYzbzBDZ2dFQUNjTVhENENBbithSmc2SFNTc294RXVVclBwUEEKRURxanVOaWpVT29XRENhOE1wWFB1VDlpdWhLL1RIaG9GaXphb003c1owbEY4WUhJeFVrblBaQk1GWXpMRTZ0Qgp0S3c3bE1pV3p3UzdGSU1KWFpaamIvakF5dTJCL0szWG9mV0V3akl1RTlsc0NqekFsNUJ5N2JIUXZ6QmFwb2lGCjRiVUlEbG5GUXI2QWtsY09YVDhBOG02eGRKUDZUZGhkVVMxengzZ1poeXZ3cWpFRUFDVTBqM0NRZ2Q4VVNab2wKaU8zSGxNeTlpL0p3SEtFWlBHRys2N05ocStsSzY1QWZVMU5yVVlDZDNUc0lDT2cxOCt2d0hDekZmeW1EUXdlbApneEpoVEpBOXFvaDZpb1J4NUhIYlVNS0t1cXU2QmtTRG5ROUNFSVFIWEZaYXFack5aVzgyaW9ZaHZ3PT0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -251,7 +251,7 @@ "domain": { "main": "syncthing.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDekNDQlBPZ0F3SUJBZ0lTQmVqNktjRUxzM3ZZY24vWTlCVGY0Z3RqTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXhNakExV2hjTk1qWXdNakU1TWpBeE1qQTBXakFqTVNFd0h3WURWUVFECkV4aHplVzVqZEdocGJtY3VZWFJvWVd4cFlYQndjeTU0ZVhvd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUMKRHdBd2dnSUtBb0lDQVFDOVd0VWgrRkQ0VW90TmpSVXVMMXdnUG9uNE1kUlhTUEZzN2svK1dxZFdBWmQ0Z2lkcwpybzlFbE1BMjlqNFdsdWl6Q1REOG5WWHl3Vzh6Y0p4cm5RZ0lLQytNK3VKcjJpajFIV2lQM3docG5RM3ZIZUMxCkM3bi9SaHlhK0JwM0xOTmcvbWFrTU9SbUhVSllRVjdka2JnaXZVOUNCOWJ0VmhkQkhwdk1pTWl0VjdoSEJwZVUKSWNzTDlQbS9SdHFHZkIzTGJjQ3NRN3FMSi9ZSVlJVEtYQUxZcmlidTJBZnJxaHRhM1pvaE5VSUlUMC9JdVhWWgpQNmNocEc2d0ptOHFCZ2dqdHZJaXhtUWZCQ2YycFFGRHZFc2JmNVRQcnpiUDdVWDJIQW9QMHhmS2diNmVRMkovCllsOFMraXFEYVNHWHJhSm9wR3pDT2FuSVgvWW1XMFo0clBSMXRpMEZkWlVDOCs3dDdYSHQrenhRWnFOQk9GOGMKSFlnWmMrTlIrQ3B1U1o3NlZ2ME0xK2hSMHdYR2RCeFJJeTJGdjd4QnRMbnlsbCs2QkRyWEY1azFoSWh6ZklmTgpRZzVuN2FsOUFYUC8yS2laVUV5VW4vdGlXSk0vN242Y1NZS09PU0t3KzFWTmJ4OWxkdzlCOVpYaDJXZEpWSkFqCkhjaWd5cEVoWGp5cXByVFJrcnJva3ZybkVSYmtLZWFUbklnSTVQR1ZnK1MvdXQ0eHVuYTJoSlZyUGRsZHZnU3QKemNObnNmRnFiZ1A2Vy84eFVCQ3lScFptM3Z3aXBUSktmYTNXQW1ZMlRtZDF2bjA2aXVRRnhKL01rTXcrd1BSTwozQitneXo3NjV5SU5pTnVLVWovK01ncERZNVV2Z1REeE91T0p4cldwN0h5SGZkbzFGTEdMWVV5UFZRSURBUUFCCm80SUNKekNDQWlNd0RnWURWUjBQQVFIL0JBUURBZ1dnTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQkJnZ3IKQmdFRkJRY0RBakFNQmdOVkhSTUJBZjhFQWpBQU1CMEdBMVVkRGdRV0JCVE5ZREhWZzk5Y2s1SHlGNVBoZnNmMgpBUThuaERBZkJnTlZIU01FR0RBV2dCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekF6QmdnckJnRUZCUWNCCkFRUW5NQ1V3SXdZSUt3WUJCUVVITUFLR0YyaDBkSEE2THk5eU1UTXVhUzVzWlc1amNpNXZjbWN2TUNNR0ExVWQKRVFRY01CcUNHSE41Ym1OMGFHbHVaeTVoZEdoaGJHbGhjSEJ6TG5oNWVqQVRCZ05WSFNBRUREQUtNQWdHQm1lQgpEQUVDQVRBdkJnTlZIUjhFS0RBbU1DU2dJcUFnaGg1b2RIUndPaTh2Y2pFekxtTXViR1Z1WTNJdWIzSm5MekV3Ck1DNWpjbXd3Z2dFQ0Jnb3JCZ0VFQWRaNUFnUUNCSUh6QklId0FPNEFkUUJrRWNSc3BCTHNwNGtjb2dJdUFMeXIKVHlnSDFCNDFKNnZxL3RVRHlYM044QUFBQVpxb1FUQldBQUFFQXdCR01FUUNJRDAveWd2eEVDYkZHSXdVVmZBaQpFNzZhaEtydVBzK1U4YWpHcndmRHN3eVZBaUFhRlVxMzBoMHJRR0pQMXhVa25vMHBJalB0Nk95RUNEaGJlZkR4CkY1V0x3UUIxQUJtRzFNY29xbS8rdWdOdmVDcE5BWkdxemkxeU1RK3V6bDF3UVMwbFRNZlVBQUFCbXFoQk1HRUEKQUFRREFFWXdSQUlnWm9TbGtDSy9Jdlc3TWtIaG5ML3QweXNvWnVWajBBYmo2bTkxbCtaZkFmNENJRURLUDNJSApweDNaTXVOTS8veTFkTWJmR0h4WUdNdmRIVFVSQWJaZFFVdVNNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUJKCmJVbEJkYjc5cG9HTkR6VkRmYUFtZE43eHh2ZklPbHhIc0VWOFh6MkxZQ3VES04ySkxuT01hZGZEODYrR2d0S2QKWnR3SnZkaFNMa01nTUZrNGpDL1dIV3d3Q1JIK3RjZFhmdk1saThCMmQySHhNM0hIVVBKbVErSEk5YmRuU1pWaQp5dmpzUHFrNjZ0UzFnM1BHK1pBcHV2L3JLakxEVzJPb0kvNzFFMlowZzlxWGEyUEErbzZZYnc4anluTXJGSnZKCkVkRTdSVUszWWVDRGVFazRNejUzSXpCVk1peEZZMWg2cU5mRi9IV1FpblNXbGtvOVJ4b2lOc21aSmpxcUd4MlIKY2JWNURVMXdnTTJ1aFJnNEVzSFhHeHhQN3pqUW9UWVJJVnBCRVJERldiaDIyK2VER3JJeVRseDJsN0gzVFVGMgp1b2ZDa1JWeFVKekRoUjU2bDR1RgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJUQ0NBdTJnQXdJQkFnSVFXZ0R5RXRqVXRJRHpra0ZYNmltREJUQU5CZ2txaGtpRzl3MEJBUXNGQURCUApNUXN3Q1FZRFZRUUdFd0pWVXpFcE1DY0dBMVVFQ2hNZ1NXNTBaWEp1WlhRZ1UyVmpkWEpwZEhrZ1VtVnpaV0Z5ClkyZ2dSM0p2ZFhBeEZUQVRCZ05WQkFNVERFbFRVa2NnVW05dmRDQllNVEFlRncweU5EQXpNVE13TURBd01EQmEKRncweU56QXpNVEl5TXpVNU5UbGFNRE14Q3pBSkJnTlZCQVlUQWxWVE1SWXdGQVlEVlFRS0V3MU1aWFFuY3lCRgpibU55ZVhCME1Rd3dDZ1lEVlFRREV3TlNNVE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUNsWjNDTjBGYUJaQlVYWWMyNUJ0U3RHWkNNSmxBM21CWmprbFRiMmN5RUJaUHMwK3dJRzZCZ1VVTkkKZlN2SFNKYWV0QzNhbmNnbk8xZWhuNnZ3MWc3VURqREtiNXV4MGRha25USStXRTQxYjBWWWFIRVgvRDdZWFlLZwpMN0pSYkxBYVhiaFp6alZseUl1aHJ4QTMvK09jWGNKSkZ6VC9qQ3VMamZDOGNTeVREQjBGeExySHphckpYbnpSCnlRSDNuQVAyL0FwZDlOcDc1dHQyUW5EcjlFMGkyZ0IzYjliSlh4ZjkyblV1cFZjTTl1cGN0dUJ6cFdqUG9YVGkKZFlKK0VKL0I5YUxyQWVrNHNRcEV6TlBDaWZWSk5ZSUtOTE1jNllqQ1IwNkNEZ28yOEVkUGl2RXBCSFhhemVHYQpYUDllblppVnVwcEQwRXFpRndVQkJERFRNck9QQWdNQkFBR2pnZmd3Z2ZVd0RnWURWUjBQQVFIL0JBUURBZ0dHCk1CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0RBVEFTQmdOVkhSTUJBZjhFQ0RBR0FRSC8KQWdFQU1CMEdBMVVkRGdRV0JCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekFmQmdOVkhTTUVHREFXZ0JSNQp0Rm5tZTdibDVBRnpnQWlJeUJwWTl1bWJiakF5QmdnckJnRUZCUWNCQVFRbU1DUXdJZ1lJS3dZQkJRVUhNQUtHCkZtaDBkSEE2THk5NE1TNXBMbXhsYm1OeUxtOXlaeTh3RXdZRFZSMGdCQXd3Q2pBSUJnWm5nUXdCQWdFd0p3WUQKVlIwZkJDQXdIakFjb0JxZ0dJWVdhSFIwY0RvdkwzZ3hMbU11YkdWdVkzSXViM0puTHpBTkJna3Foa2lHOXcwQgpBUXNGQUFPQ0FnRUFVVGRZVXFFaW16VzdUYnJPeXBMcUNmTDdWT3dZZi9RNzlPSDVjSExDWmVnZ2ZRaERjb25sCms3S2doOGIwdmkrL1h1V3U3Q044bi9VUGVnMXZvM0crdGFYaXJyeXR0aFFpbkFIR3djL1VkYk95Z0phOXp1QmMKVnlxb0gzQ1hUWERJblQrOGErYzNhRVZNSjJTdCtwU240ZWQrV2tEcDhpanNpanZFeUZ3RTQ3aHVsVzBMdHpqZwo5Zk9WNVBtcmcvenhXYlJ1TCtrMERCREhFSmVubkNzQWVuN2MzNVBteDdqcG1KL0h0Z1JoY256MHlqU0J2eUl3CjZMMVFJdXBrQ3YyU0JPRFQveEREM2dmUVF5S3Y2cm9WNEcyRWhmRXlBc1dwbW9qeGpDVUNHaXlnOTdGdkR0bS8KTksyTFNjOWx5Ykt4QjczSTIrUDJHM0NhV3B2dnBBaUhDVnUzMGpXOEdDeEtkZmhzWHRuSXkyaW1za1FxVloybQowUG14b2JiMjhUdWNyN3hCSzdDdHd2UHJiNzlvczd1MlhQM081ZjliL0g2NkdOeVJyZ2xSWGxyWWpJMW9HWUwvCmY0STFuL1NndXNkYTZXdkE2QzE5MGt4alUxNVkxMm1IVTQrQnh5UjljeDJoaEdTOWZBak1aS0pzczI4cXh2ejYKQXh1NENhRG1STlpwSy9wUXJYRjE3eVhDWGttRVdndlNPRVp5Nlo5cGNiTElWRUdja1YvaVZlcTBBT28ycGtnOQpwNFFSSXkwdEsyZGlSRU5MU0YyS3lzRndiWTZCMjZCRmVGczN2MXNZVlJoRlc5bkxrT3JRVnBvckNTMEt5Wm1mCndWRDg5cVNUbG5jdExjWm5JYXZqS3NLVXUxbkExaVUweVlNZFllcEtSN2xXYm53aGR4M2V3b2s9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdERENDQlBTZ0F3SUJBZ0lTQlhleEQ4bkhDdlFsM0hOaVMrYzJBTVNaTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRJeE1UWXdPREV6V2hjTk1qWXdOREl4TVRZd09ERXlXakFqTVNFd0h3WURWUVFECkV4aHplVzVqZEdocGJtY3VZWFJvWVd4cFlYQndjeTU0ZVhvd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUMKRHdBd2dnSUtBb0lDQVFDOVd0VWgrRkQ0VW90TmpSVXVMMXdnUG9uNE1kUlhTUEZzN2svK1dxZFdBWmQ0Z2lkcwpybzlFbE1BMjlqNFdsdWl6Q1REOG5WWHl3Vzh6Y0p4cm5RZ0lLQytNK3VKcjJpajFIV2lQM3docG5RM3ZIZUMxCkM3bi9SaHlhK0JwM0xOTmcvbWFrTU9SbUhVSllRVjdka2JnaXZVOUNCOWJ0VmhkQkhwdk1pTWl0VjdoSEJwZVUKSWNzTDlQbS9SdHFHZkIzTGJjQ3NRN3FMSi9ZSVlJVEtYQUxZcmlidTJBZnJxaHRhM1pvaE5VSUlUMC9JdVhWWgpQNmNocEc2d0ptOHFCZ2dqdHZJaXhtUWZCQ2YycFFGRHZFc2JmNVRQcnpiUDdVWDJIQW9QMHhmS2diNmVRMkovCllsOFMraXFEYVNHWHJhSm9wR3pDT2FuSVgvWW1XMFo0clBSMXRpMEZkWlVDOCs3dDdYSHQrenhRWnFOQk9GOGMKSFlnWmMrTlIrQ3B1U1o3NlZ2ME0xK2hSMHdYR2RCeFJJeTJGdjd4QnRMbnlsbCs2QkRyWEY1azFoSWh6ZklmTgpRZzVuN2FsOUFYUC8yS2laVUV5VW4vdGlXSk0vN242Y1NZS09PU0t3KzFWTmJ4OWxkdzlCOVpYaDJXZEpWSkFqCkhjaWd5cEVoWGp5cXByVFJrcnJva3ZybkVSYmtLZWFUbklnSTVQR1ZnK1MvdXQ0eHVuYTJoSlZyUGRsZHZnU3QKemNObnNmRnFiZ1A2Vy84eFVCQ3lScFptM3Z3aXBUSktmYTNXQW1ZMlRtZDF2bjA2aXVRRnhKL01rTXcrd1BSTwozQitneXo3NjV5SU5pTnVLVWovK01ncERZNVV2Z1REeE91T0p4cldwN0h5SGZkbzFGTEdMWVV5UFZRSURBUUFCCm80SUNLRENDQWlRd0RnWURWUjBQQVFIL0JBUURBZ1dnTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQkJnZ3IKQmdFRkJRY0RBakFNQmdOVkhSTUJBZjhFQWpBQU1CMEdBMVVkRGdRV0JCVE5ZREhWZzk5Y2s1SHlGNVBoZnNmMgpBUThuaERBZkJnTlZIU01FR0RBV2dCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekF6QmdnckJnRUZCUWNCCkFRUW5NQ1V3SXdZSUt3WUJCUVVITUFLR0YyaDBkSEE2THk5eU1UTXVhUzVzWlc1amNpNXZjbWN2TUNNR0ExVWQKRVFRY01CcUNHSE41Ym1OMGFHbHVaeTVoZEdoaGJHbGhjSEJ6TG5oNWVqQVRCZ05WSFNBRUREQUtNQWdHQm1lQgpEQUVDQVRBdUJnTlZIUjhFSnpBbE1DT2dJYUFmaGgxb2RIUndPaTh2Y2pFekxtTXViR1Z1WTNJdWIzSm5MekkyCkxtTnliRENDQVFRR0Npc0dBUVFCMW5rQ0JBSUVnZlVFZ2ZJQThBQjJBQmFETGF2d3FTVVBEL0E2cFVYL3lML0kKSTlDSFMvWUVLU2Y0NXg4ekUvWDZBQUFCbStHRjEwd0FBQVFEQUVjd1JRSWdYZytPSzJ1MmxLbVVabFZnUTVFWgpSbVRsc0Q1YmZIbUZSZUw1YjM5QUlCY0NJUUMwU0V2eW4rdVJGdVhqWVo4WnIrRFhkWlFsTnRvaElUeTRCT2xvCmsxUWRRZ0IyQUphWFpMOVZXSmV0OTBPSGFEY0lRbmZwOERyVjlxVHpObTVHcEQ4UHlxbkdBQUFCbStHRjEzMEEKQUFRREFFY3dSUUlnSkoyNklrRjZRRGZyUUZuN3pzNjBCZTArNFdsc3lxRkN5dE5ZNWtpeVc2SUNJUUNmdllreAovVmZkazU2OE93SkZkeWJvOFh4K3B6ZDNTbXM3NFZYditDRlFRekFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBCmZrTzJVRkl0cE1zQWlwbVNtSmRUdTdSc0orMHVlMmtSN1g4MVpXdkI5cGJjQlcyT0tpOUdaV3B0L05GODYvWXUKeWtURVdNeFQ1d2hKdDVqR1Roc1FUY2hZcVNjNnZpLzYxUWJvNlZpYUhqM0x6ME5NYTVqRDFDbXhGQ0daK3kvMgp0cVk1d0wxRk5BeXpuSTcxR2E4aFRQNnBxZFhLRmVwcS9PVUprN3JQR2E3ckd1UDdxa2Z1S2xzUnY2UHJvN2xjCnBXRGFsVjBzTHFQd1o1TW5EZkorcVFLMFpxSzFMWWxtRzVtSXhKNTFkQ2w0cTNwUUNqVmNNQUIvMGFVRkVXVVcKaVNiRWJpYU9Hdk5VMHV3bnpwN01EWUx4VmF0WWd0a1NqdDJSZjA5M1AzVFJ1UnVmMXI3YjRGZCtZWjYyMGx3MgpEZkFkTktrcVBuR0dBZms5TjZGaXlnPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBdlZyVklmaFErRktMVFkwVkxpOWNJRDZKK0RIVVYwanhiTzVQL2xxblZnR1hlSUluCmJLNlBSSlRBTnZZK0ZwYm9zd2t3L0oxVjhzRnZNM0NjYTUwSUNDZ3ZqUHJpYTlvbzlSMW9qOThJYVowTjd4M2cKdFF1NS8wWWNtdmdhZHl6VFlQNW1wRERrWmgxQ1dFRmUzWkc0SXIxUFFnZlc3VllYUVI2YnpJaklyVmU0UndhWApsQ0hMQy9UNXYwYmFobndkeTIzQXJFTzZpeWYyQ0dDRXlsd0MySzRtN3RnSDY2b2JXdDJhSVRWQ0NFOVB5TGwxCldUK25JYVJ1c0NadktnWUlJN2J5SXNaa0h3UW45cVVCUTd4TEczK1V6NjgyeisxRjlod0tEOU1YeW9HK25rTmkKZjJKZkV2b3FnMmtobDYyaWFLUnN3am1weUYvMkpsdEdlS3owZGJZdEJYV1ZBdlB1N2UxeDdmczhVR2FqUVRoZgpIQjJJR1hQalVmZ3Fia21lK2xiOUROZm9VZE1GeG5RY1VTTXRoYis4UWJTNThwWmZ1Z1E2MXhlWk5ZU0ljM3lICnpVSU9aKzJwZlFGei85aW9tVkJNbEovN1lsaVRQKzUrbkVtQ2pqa2lzUHRWVFc4ZlpYY1BRZldWNGRsblNWU1EKSXgzSW9NcVJJVjQ4cXFhMDBaSzY2Skw2NXhFVzVDbm1rNXlJQ09UeGxZUGt2N3JlTWJwMnRvU1ZhejNaWGI0RQpyYzNEWjdIeGFtNEQrbHYvTVZBUXNrYVdadDc4SXFVeVNuMnQxZ0ptTms1bmRiNTlPb3JrQmNTZnpKRE1Qc0QwClR0d2ZvTXMrK3VjaURZamJpbEkvL2pJS1EyT1ZMNEV3OFRyamljYTFxZXg4aDMzYU5SU3hpMkZNajFVQ0F3RUEKQVFLQ0FnRUFvNHQ4WWlheTZJZUN3YXlGQ3FybEN3UjQ3ZUU3NFZlakRjNlhVTHpEb3NrbEpuUmowTDdFQnh2agpHSlY5OHN6TWx6WHRGWUplNVppa2p1MUliTG5vWWdNemJyU1NNMHp0NnlkSFZGdnlUQ1hXRHh6akkvdkkzZTZVCmJsU3pweE1VVHNYcnFReUJlS0QwMkgwOWptbDVmS2U5ZU82RWQrRFBuUEx1NWEyT2hna3BwRTdSUktRYlYyeHkKK1A0ZForSnphV3lWNlRObVB5SjRvYXViaFp3SzZWTWhWVkZKSmdaNk1mVU1WbnBGV2lBR2JQdWhtMEFhL2plagpVb2tmb2xBclg0MTNmUW1WR0NUaXoyaWN1d0E2YnJtMnNkcEhvVGJ5SWlyOWxjVmcyd3RNdEN6SE9mYWczeWNxCjZPMDRrbVRwelMrV3IvcFY1amJieHkwMnBLdmRSd0Rnd0MyVE1VYVNrVWlxUlN1WGUzeUFqWHlxYzcrdm1mcloKODJzQkE2dHE2NTRpVnhuRko0bFdNbzZ1Zk9iY1JwZ0JiRks2R0N5YWxaUnRzT3B2ck9hRjNpTE54UlFiWTZjeQovaGZKZ2RQck1NcHMrRHNWSWg3bHRBSXlnU3ZwMU1jQm1VaGh6RWlwN21TaUtuakFyQlZhY3FCdTRRQk01L2FvClJVQVd2eFhRQTBrQ3lDT2Z3MlN4SFRhSHZqenk0R0cvcDhCanI4VTNnRUlHNDlXZGhUR1pnQ3F6QnFZaUxOTmoKRk1zbDJJZHpsYWdSK1dINjFvNWRwVTRHejkwT0toVWp6TWtTWmpuK0s5MXc3U0tTaTBhQjJoY2kxa1JxZXZXcQppdVk3TTczbEVZWVVUcFFhY0hvekpuMm1KUWhGUVlBQU5GOGFmaFpsR0NubU1uemJ0VkVDZ2dFQkFPbVBWVGxNCjR3QzEwNjdCRWQ0ZDFKdVk2M1ArMVB3d2NUMG1TOXp4MUNDd2Flb2xRR24zZm5kNXlTc0pjVC9rdFExNEJhNGsKcm5IUTBKbDNKazF1dlhsVXgralNmdXJNc1hOaTdsaW14RjRza1JQRmU5NWczdDZpNkxkU29QS1YyaFJvSUk4TQpMN3l0WTQyZ0xkMmk5OE56R293K09hb3YvbHNhL3JLY014Q2tjbjc3VGhnYldFM0c1QUhFOERWelpoM2ZFbU4zCkxSbThmS3U5ZTlzZFBXYTFDckdMdkhSUi9pejVuZ0QvVy9naUJ0aWVualAxU0puS2VtZ21laWtwWS9KS0pqaXEKYzM5cHBjazU4Vlc3WjQ1MHNVL0dxRXlHQmR6M1dDWEJBZGJocG9wbFZ2VkY4Y2dnU0JCTzhaZVRsdUFnZW5RcQpndHdWbmttWmtoQVRobWNDZ2dFQkFNK01PZW1YcktIMStBNmdUSEtxb3JUQXFUL3F3bTBTbEdTK09jVE01WlBmCkxHWEN2RXJLSDdtT1NaSExEb21SWHJsdUtyK2U3bmk5U1VQMm9LdWdWUWRNd2tjVHIyZ1BqSFdtaWtUVnVrVGIKLytPdFJpQ1NzV2lBRTAzS3NZVGNkSWg4MW5YMzNqNEJGeG80d2FqYndURWRUWUZoUTZ4Tk5yQ1dKL3pILzdLQgpwbFRVUFZhMTZ1VnllUURvRzFKenlVN0pyRFhRU3R3bGYrYURFMWxOekZZSkJJamQ5RjJDZWZCSUkxZFF3M09zCnNqaFBwVHRlVHFnOU0xSUgzSXE1eDlERUZGNVNTNmdBQ09yL2NBdlVXNklxMUhGMnJROFFIcGZ0TjJiOUxUcnYKdFJlNzRORmdZanJJUG9zbHdQcXlscjNWeEdVWVlFWmNIMVBkcnlzUFR1TUNnZ0VCQU41ZW5saXc4SXhUa2RpWApiK2lYWkQ1RXlTQW1aeWc1QXdlaWQ2WkVCS0NlOWloOUVTZ1RBTERHSGhkQXBUZWREQmhueHBpM3lmTUpTaUpqClErK0RXUmkwOUtTaURUNkdad2tpRHlZT21YWEVYdGlCTk45VVFiMmRRNDZQT0RmZkhzUkJJNGF1cHFDd1FOR3QKeVIxMU5RbzhnL0UwcVhoMHUycUllQ2tiK0s2R3M1QmN1a3pQZERLUkE3TC9pMmlJbDVnbk0vM0prUUlvNkZZbgpVVTRjTjhLYTZqU0NnNG9JS3NVdFlCYzVDWnBrNHpuSlEzemFzeVhobHN1a25yaWo5TW5SZVRTSWJQREphSlArCis5eVJVaFphMmhySFhLT0hFdnYvNzBmNnpFS0hreVcvT0p6TDNGaWJDNkdqVi9mbUNFY2FCUnluQVBLRURyR3EKYWx1dUMwOENnZ0VBQUpYN3Y5NE92YkpORGZXRDRicjdsSmtLb1VTUFlmRndlOHhScTIyTXBGczM2OTJkM0hRdgpuTDE3RmE5R0RqdGIwaGd1aExYMUpHQWNhZFd6WkdpaWRNL1JxSk8wcGcyTkx2UFdaaFZZWGtOa3VJYlBzTjNaCkpGdGdNcE1FNTBRY0RCcVdIR1VqdW5jVVVwMmdabEtnZS93Q01RQk9TWms2TTB0cE4zeDFDMUwwWGo3dklXU0kKRWplOWdiUW1CNWlPRSt2YjBaY1I3d2NvRWtXQ2Mza1Z2NVJzNzluNGk1OEhxeGI1Q3BFT3pDL0xuUDhVajFOWAowMy9BdWxXTldOTG5ibjV2TkVqMUw3YzRUem1EWG5VdUFRb3Y2VllWYlBwMXE2WWV4dXFtQ3dtTU1GSDJjNERiCkppRlVrOTM2YW5yQWxDNmJURkhDUzlDTXdoYlpITDBCVXdLQ0FRRUFrWi90L21qajdlakhGZzh5VlJHUmVVY1EKOWwrMUh1eUp6MjIrQmVWL1laQzdVVnNpV0JNVUV4YU9ZRDJmMEJTK21YSkZBbXp1U0xtM1dDL296cVhlRW5tbApwZkVraVlhbXdZSHNEVXR6MFlQUDhmK1JCenFOdGpkaWZQcjhQNzhXbVlKYWNVYmpxek1wNmpYSEdjbXU0TDBWCkxESXhxVFUvMzRJM1cwZWRVZndRb1ozeldidGVXS1JHRW9xYmoyZ0V1bWkrSHl0d0Y4bFduazhrVjJvVThDR2QKd3lOUkVzNVo4M0pqTk1ad01mbXZjcFdSRWJicG8zZmtKTVFmZmFhUng3WTF6L3hYRXRJbXBCU1plZEpubmNPQgpGQW16U3U0dmplNTFITTVVR3BzbUs2dVJTWnhMSGpjNDVZM3hNcG1aM0FCRkRhNitDSStsZTJ2NVBEU1A5QT09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==", "Store": "default" }, @@ -259,7 +259,7 @@ "domain": { "main": "vrising.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDRENDQlBDZ0F3SUJBZ0lTQlNVNWxtODRjZHRMYUdYS2RVYzBzcklsTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05NalV4TVRJeE1qQXhNakV4V2hjTk1qWXdNakU1TWpBeE1qRXdXakFoTVI4d0hRWURWUVFECkV4WjJjbWx6YVc1bkxtRjBhR0ZzYVdGd2NITXVlSGw2TUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEEKTUlJQ0NnS0NBZ0VBd0FMeDV5Z1NQZXg2emJjdkFtQVgzT3U3WFNrMnlacFRna2RhREFjUVBsbGVBdzVRTVluLwp2SWtjcC94VmFnb3RleGZDMk5lb01WbFdHU3I5V2d1Y3FPdDM2THhrSC9wVXRKTWs3ak1OeVZYVjY4a1N5OVFTCkFscE5YSkVpY0RBVWxhWmZXUDhzNzk4MFhkWjdqejlhVWZzQm1pa2VQaVVrS2JBbS9hNUtjWlBqVmFtMExZWksKYTJEYzZUSlFlZFV0b2djM1o4UVZuMXhFSUl0N2RSOWRZNUxBZmpUV0E0c21NeEE3SWo5eXpMaVh3U1lQL3B2VwpNVktFRGZORWpHSDRsWU9vM0tUM3dSRUpqZ3dBVWo0cTJGTEpGYkFZdmY4Y0ZMbDZHMDh4WGhabG5IWENHNlVsCk95bGlIZTZuZjJwQVZIVkc2RXNmaGR0Q2RHdmFPWFJsczh0SEFuYWMwQjlFbkpCektHcVM5Q3dTUzh0Z1o1eVcKcGpTclkyc2FOYVN0cHVEZSs5WFA0Q0NEdE04RkhmOVhDa0tTa2RLSGVJRWxkcUN2b3lYZVU4L2dxVTcwd3FnVgpOLzdVc3VKUklZNk0wbFVFTUtPZzN3d244aHRJbTlNM3BqbnRtNkJ4UFNicXFiRXdYM0JMaXlYdmdqZ0pzSFVYCmVURDRyREpBR2Q1WHpDREMwcUExeFNzM0Y1WFhtVk5uYXgzVHpVZ2YyY1o2SVBNa3I0Tkp5YWhtekQ4elUyTEcKdlNkbFVFR0prL09BN01SOFZiWHdoUHVUaUhjd3lhTm55Q1NyTjVyeERsR2JJU1FPWnVhZm1oM0N3SHQ3NGRtRQpUR29oTnIyYUhrSmRrbDFlRnE5OG96Y0plZUMyVys3bFlWdjBNemxFbWltdnJ4MDk1cmhWQjBNQ0F3RUFBYU9DCkFpWXdnZ0lpTUE0R0ExVWREd0VCL3dRRUF3SUZvREFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQVFZSUt3WUIKQlFVSEF3SXdEQVlEVlIwVEFRSC9CQUl3QURBZEJnTlZIUTRFRmdRVStiLytXRDhSZ3FDVkZuaDlPU2RiTG1CNAo5aHN3SHdZRFZSMGpCQmd3Rm9BVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdNd1lJS3dZQkJRVUhBUUVFCkp6QWxNQ01HQ0NzR0FRVUZCekFDaGhkb2RIUndPaTh2Y2pFeUxta3ViR1Z1WTNJdWIzSm5MekFoQmdOVkhSRUUKR2pBWWdoWjJjbWx6YVc1bkxtRjBhR0ZzYVdGd2NITXVlSGw2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQgpNQzRHQTFVZEh3UW5NQ1V3STZBaG9CK0dIV2gwZEhBNkx5OXlNVEl1WXk1c1pXNWpjaTV2Y21jdk16Z3VZM0pzCk1JSUJCQVlLS3dZQkJBSFdlUUlFQWdTQjlRU0I4Z0R3QUhjQVpCSEViS1FTN0tlSkhLSUNMZ0M4cTA4b0I5UWUKTlNlcjZ2N1ZBOGw5emZBQUFBR2FxRUZJQndBQUJBTUFTREJHQWlFQXc3dVdPVHlPOE5NcVV3V1R6eSthcWY5VQpWUEZmTnR5K3NScUZrNmVDVGY4Q0lRQ1FQWjZsU0dLd1RqUjlPV3lRamRCUnVvbEl6MUJVTjExWjJ6NkMzMFk4CmRRQjFBTXM0OXhXSmZJU2hSRjlid2QzN3lXN3ltbG5OUndwcEJZV3d5eFRERkZqbkFBQUJtcWhCU0JzQUFBUUQKQUVZd1JBSWdJMjR4TkRBQXJORHk3V2V5V3UzeUdRbmhHNk9JK1hHemk1S3JJbEdWL2xzQ0lGWklLSVNjblBzbAp5R0V3MEM5N0l5RkMyRThsTk5tMTYzTE5ZeVVVYlpXZE1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQytWYUFECkU0ZllsTEFXWSttNTZ5ZDhWVzg0ZFptR0l6dmxLY3YvL1FjMEhlNldLd1JWZEQ3aWVLQkU0M3hjVS9qYU1VMzUKZW1GSkFISkZmNzRJUys2eGVJWEpDNW5MaEhNcDF5WURLOTNleFlxaklpVzRZWE1ObmxZcXVaOUN3c2hqYTc1bwp1RFl3OWhFWklNMjQ2cEJ5djFkUzNMd3R5d1R2VTdNWldESTdvTy9YSERaSVp5TjNQZ2dwRzh5WTU3K2lwZ0FQCm9FNmkzL3V0VjAxYzRVeXdaTHlyV1o2T1JUUnZmNTEwRzlDcHN1MDcxUlowZVBUVGFlYXNwYXYyaDBKU3FveHoKTVY1bE94YWNJUnN5K29rVElBOG9zOGtBQ3pYMGtBMXozeHdBbzlZV1htU0RLazN1dy9aWXg2MEhKTUNld3QzKwpPOHoxWnBSR3ZlTkUwMDhRCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDRENDQlBDZ0F3SUJBZ0lTQlNwdlViNy9ENjBLZzJjY1lqRm9YZ0RhTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXdPREU1V2hjTk1qWXdOREl4TVRZd09ERTRXakFoTVI4d0hRWURWUVFECkV4WjJjbWx6YVc1bkxtRjBhR0ZzYVdGd2NITXVlSGw2TUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEEKTUlJQ0NnS0NBZ0VBd0FMeDV5Z1NQZXg2emJjdkFtQVgzT3U3WFNrMnlacFRna2RhREFjUVBsbGVBdzVRTVluLwp2SWtjcC94VmFnb3RleGZDMk5lb01WbFdHU3I5V2d1Y3FPdDM2THhrSC9wVXRKTWs3ak1OeVZYVjY4a1N5OVFTCkFscE5YSkVpY0RBVWxhWmZXUDhzNzk4MFhkWjdqejlhVWZzQm1pa2VQaVVrS2JBbS9hNUtjWlBqVmFtMExZWksKYTJEYzZUSlFlZFV0b2djM1o4UVZuMXhFSUl0N2RSOWRZNUxBZmpUV0E0c21NeEE3SWo5eXpMaVh3U1lQL3B2VwpNVktFRGZORWpHSDRsWU9vM0tUM3dSRUpqZ3dBVWo0cTJGTEpGYkFZdmY4Y0ZMbDZHMDh4WGhabG5IWENHNlVsCk95bGlIZTZuZjJwQVZIVkc2RXNmaGR0Q2RHdmFPWFJsczh0SEFuYWMwQjlFbkpCektHcVM5Q3dTUzh0Z1o1eVcKcGpTclkyc2FOYVN0cHVEZSs5WFA0Q0NEdE04RkhmOVhDa0tTa2RLSGVJRWxkcUN2b3lYZVU4L2dxVTcwd3FnVgpOLzdVc3VKUklZNk0wbFVFTUtPZzN3d244aHRJbTlNM3BqbnRtNkJ4UFNicXFiRXdYM0JMaXlYdmdqZ0pzSFVYCmVURDRyREpBR2Q1WHpDREMwcUExeFNzM0Y1WFhtVk5uYXgzVHpVZ2YyY1o2SVBNa3I0Tkp5YWhtekQ4elUyTEcKdlNkbFVFR0prL09BN01SOFZiWHdoUHVUaUhjd3lhTm55Q1NyTjVyeERsR2JJU1FPWnVhZm1oM0N3SHQ3NGRtRQpUR29oTnIyYUhrSmRrbDFlRnE5OG96Y0plZUMyVys3bFlWdjBNemxFbWltdnJ4MDk1cmhWQjBNQ0F3RUFBYU9DCkFpWXdnZ0lpTUE0R0ExVWREd0VCL3dRRUF3SUZvREFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQVFZSUt3WUIKQlFVSEF3SXdEQVlEVlIwVEFRSC9CQUl3QURBZEJnTlZIUTRFRmdRVStiLytXRDhSZ3FDVkZuaDlPU2RiTG1CNAo5aHN3SHdZRFZSMGpCQmd3Rm9BVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdNd1lJS3dZQkJRVUhBUUVFCkp6QWxNQ01HQ0NzR0FRVUZCekFDaGhkb2RIUndPaTh2Y2pFeUxta3ViR1Z1WTNJdWIzSm5MekFoQmdOVkhSRUUKR2pBWWdoWjJjbWx6YVc1bkxtRjBhR0ZzYVdGd2NITXVlSGw2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQgpNQzRHQTFVZEh3UW5NQ1V3STZBaG9CK0dIV2gwZEhBNkx5OXlNVEl1WXk1c1pXNWpjaTV2Y21jdk9URXVZM0pzCk1JSUJCQVlLS3dZQkJBSFdlUUlFQWdTQjlRU0I4Z0R3QUhZQVNaeWJhZDRkZk96OE50N05oMlNtdUZ1dkNvZUEKR2RGVlV2dnA2eW5kK01NQUFBR2I0WVh3WVFBQUJBTUFSekJGQWlCOXo4cTFScE5NT2lFd092eVBadUdNM2todQpVc2NFTjZEYWhvVzk2b3VyTEFJaEFJRWdiTGY0VWgxUk1GSS9scW52V29yeTZmTS9uVDlmTjJpYmRsaUMxanpjCkFIWUFEbGVVdlBPdXFUNHpHeXlaQjdQM2tOK2J3ajF4TWlYZElha2xyR0hGVGlFQUFBR2I0WVh3WEFBQUJBTUEKUnpCRkFpQWxaam0wMVprMytqN2hFSkQvS0Y0NW5CMkhTQVcvQzdVbGx6U1hIUUQzamdJaEFMbnNGamcvQUlTeQpuTnJCZWYxQnVUdTUwSW83cmtJeXRXSUEvMTA4YnFzNE1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQjM5T1BiCitmWE45emJwWXR2ckdXVEM0SSsvTWYvY3d3NDlXWWNsamEyWFdHeVlBSG54aXZXWm1TM21rUVBML3IxVWhyMEsKOUpwQzRYbkJlcDlXSTVHU1IyQmVjS1FNeUJkRHZkbWFPMk5adzRRVDlLL2pHYVVxMisza2I2WE13M1kwT1Q1egpKZk05aXE3Qlo3RS9TNHFTOStxby9iWUpZVklNaWJkSENZNHJwVHRVaTFGOFE2QVllS0VYWnZKMUtVS2M3WnJCCkZta2FFdmRXbUlxRVVHSGVJZ2RGSmUreG95bm9qaXVINFpxQTN4d0V2ck9BNmFPdDZPNUdqZkFxYkhHcURST1oKaTFiait3MjYzcURFK28rM1cxSmFCbnZhU2V2V2J2UU8yNkdLOXI5M2ZsT1d0WXdxc3pubklJVFNaU05hQjZxbgpMR01oSUsvblhIQVhRNmFXCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBd0FMeDV5Z1NQZXg2emJjdkFtQVgzT3U3WFNrMnlacFRna2RhREFjUVBsbGVBdzVRCk1Zbi92SWtjcC94VmFnb3RleGZDMk5lb01WbFdHU3I5V2d1Y3FPdDM2THhrSC9wVXRKTWs3ak1OeVZYVjY4a1MKeTlRU0FscE5YSkVpY0RBVWxhWmZXUDhzNzk4MFhkWjdqejlhVWZzQm1pa2VQaVVrS2JBbS9hNUtjWlBqVmFtMApMWVpLYTJEYzZUSlFlZFV0b2djM1o4UVZuMXhFSUl0N2RSOWRZNUxBZmpUV0E0c21NeEE3SWo5eXpMaVh3U1lQCi9wdldNVktFRGZORWpHSDRsWU9vM0tUM3dSRUpqZ3dBVWo0cTJGTEpGYkFZdmY4Y0ZMbDZHMDh4WGhabG5IWEMKRzZVbE95bGlIZTZuZjJwQVZIVkc2RXNmaGR0Q2RHdmFPWFJsczh0SEFuYWMwQjlFbkpCektHcVM5Q3dTUzh0ZwpaNXlXcGpTclkyc2FOYVN0cHVEZSs5WFA0Q0NEdE04RkhmOVhDa0tTa2RLSGVJRWxkcUN2b3lYZVU4L2dxVTcwCndxZ1ZOLzdVc3VKUklZNk0wbFVFTUtPZzN3d244aHRJbTlNM3BqbnRtNkJ4UFNicXFiRXdYM0JMaXlYdmdqZ0oKc0hVWGVURDRyREpBR2Q1WHpDREMwcUExeFNzM0Y1WFhtVk5uYXgzVHpVZ2YyY1o2SVBNa3I0Tkp5YWhtekQ4egpVMkxHdlNkbFVFR0prL09BN01SOFZiWHdoUHVUaUhjd3lhTm55Q1NyTjVyeERsR2JJU1FPWnVhZm1oM0N3SHQ3CjRkbUVUR29oTnIyYUhrSmRrbDFlRnE5OG96Y0plZUMyVys3bFlWdjBNemxFbWltdnJ4MDk1cmhWQjBNQ0F3RUEKQVFLQ0FnQjhQZXVVN1NMUW1zSGpkcEtlY050QUFmQ2NtVnh3R3NIS1hLenhkMmlWVDNJN2UvbDc5SlZidzBTZApsZk1XeURzaG1RQmxHellqcUhERG5FT1BEbEJ5Sk5yVDU0TEtCa3JsQlFreWNDcU5pbEwvWEg0akViZ05lYXp4CkpxQW9BNVJ1T05jZFdSQVVybExPSFVpYUtoNGhTYytCbHZXUXRLdXZwZUcwNkNBWFdlQVJ2OXRzVWFhNTBGVmgKTjBOSGNoOHk1b1I5U2kzTGpnSXZKTkhmdVVuT2NsakgwUnhoOHBubkZLdU92NHRpMkZhcGpoMXZYQnErazJ3TApNc3U2SW5LZEhESVpnMDBreWdkcXVHMUV5aUVqRkg0MDRGdENKVjVnTXB2R0svbi9yWEpXU1FRdXF5OXFGcDc4ClN6NXFmYS9lZG54Sk5zTFE5RTBOMC9QQ2xZUndNVFI1WGQ1M1FacncwQjZYL21kVnlrWlg2QVAxUlJLMmx5MEwKOVBJWnRib0JJbjRzS2gvbys4cnlndjNGNi9Ed21qZFUwbFZDRmR5MmV1bmR0UW45cElySmR3ZDhSVWhEbTRMOApyL3BYZ1hkYVdRRmJJQzdubWtiWFh0TTZOQ29ZV1d5Qm9WbllqVldUb2dnSjNnemQ5c1d0WUsxOSs2T2t3Zi8xCnIxdkg1cDlnNUEybHEyMHBOS1pFMUNmZ2c2bFd6Z21PL3ByQzJaRVduMUZMNXJJZWlVamFkTlRZNTN6dWxCY08KYVZnR1NjWTJzMTZmWlhJUE83ckovaFU4dFcxODlOalN6VzV6enltSUdaVkI2RUIyODJIL2ZuSm9ES05udXZodgpqK1krQTNjOU43ek9ubVdCK3UwdXBEZVFKR1dnMDMydFdzNWUwUEhvZG5ISFJyVElJUUtDQVFFQTJnUG02S21mClE0aHdGNmdKSVZtdW11Z0RqMWxrRTJNRlVneDI1NkVVdzBZZmdrUmx6SDB0V0kyMVB6RHp3dUpJYi9pM0JkWW8KQWhDWEtJaVUwQjRpQ3RYL1R3NHF2dUsySFBteXVlZjg2ZU5mMllCQmNnb25rK0ZBdms3RXdmRW54NW9nLzdhNwptZnorbnFzYmFWRUVtY2pyUFhQSjR0bUszYkNKSlJKSWJKNnlwcC9aSFlTLzV3ajRhckR1Mjh3VHg3NjhyL3JJCjNFM01SVGNPU0lXMGc2U3laQnZHZVVVZXFVUHJSKzY3Tll1MHIvMnlhOUliR2xUK00wZ0VnMmhuT0RmdFc1aUUKVktINHVKbUF1cXRiK2NtbnZhdXRraXFjZmlJL2N2bnpocU9EajVYVnRSN213dkc3U3FHNDlaVlVJcU5Cb0NqbwovWTRRWUhhbDlWQnJPUUtDQVFFQTRYY3oxUytwV3FRazk3ZG5zc3orT2J6OVIwVFY5cDA5WEtQenFVbXZ5VjRGCmcySjh4cnhjZXNrdHUzWXRZNTVBV1VXcmpwV3Y2Sm4xdjJqcUpQbCtER3ROYTBxSVBBdFNselk5cCtFWlhoTFEKNk1LMGZtME5LWXBiT0FubmNYUUNTR3pLbE1kWFR6SElWMjF4M3V6dU1ObmlYWU5CT2UvSmc3cStOQlY0UnUwSQpIbE1RN1ZpWndDZ2Z6ay9GNDdkV1g4WjdoOWpBU0w5UXpTQ1pEai8yeXpMZkcxYzNqSEZYNFJDb1BFdzJZeWtBCkpSTjNiTldMV1grME1UTVhZU2lTYkkzbkdKNGpBMnkxVUZmRXFHdVZxZ1cxWEJDUkFzK1YxQVEzQUxMOWpoZXMKZFFjaHYzdE5jZGNMTmNGQXh6aFUxclRyNVhiZEJDL2J6ZXZ2VEJRNld3S0NBUUFadVg0a2srY3orOFJtTmpDbAptOFJyaU5icXNqeUp3UlJlb3hQZ3J2UVpPb3Y3UGdEWkNTZ3htNzc0THRtRWRGamh4WElySVNMbFkzbkNrYU1sCmozaXEyS2RnZDZaNWtaeTFmSTBuUElWdVA2TU9zZ0NHNlVYVVFDNzRoYWpYelpISkRwbTRNcUtlUCtqM1plODkKRlE4NjZpYy93QXJoVnBQNUpweDRJRmtsWC9CcWtzLzJtTFJnR1lIZWJQUXlRVGxRUjJSU1M0QXA1cEFrMXFNNwowWE1FV1ltbklGUGgrVkx0M0JMR0VSaEw4Q2tvM3dHUGtXSWJVRTRTVlB3YldWVmNuOVRGQ3hFS1AzWnVxY1l6CndJYUF5ZGVlSE1URlMzdmRza0xVV1VQdjdobFc5dklaaGdUcW1jVmt3QUpvRCsrMmlwYnl4QUVCOGlKaWozMXoKbmNLWkFvSUJBUUNWdWxXZm83RXgwb1FDUmJnRjA0Q1kwMXJYODJ5c0E2djJVNkxDcjM2Zm1XTEw1Nkc1VU9tUgpXUHlYMjFrMUtLalBJQ2RYM3l3Y3FmRzdGVzg0OHI2MGZLWEROSkhZWGlTUTZxSnpWRmRHVS9TTVBwRWl6RVRMCmEyZzhoTWRBWHF3TmNNSHZuNW5wcThQQjI1cWRVbmF6MWw0dmY3VFhSdGhxTkorUGN4cVc3MTVPMVJjT3A2SWoKTEFKRFBsTEtjTHhaaWpRSytQUm8yelJMcFBRL3RGYXVockFITmhwYm1BR21JeXUyTDE2RzUzbURKYlJQZ0ZpMApMTXg3UjlTazN3NnVMR1psd002N3ZYdURTV1g5K3NRL1R0OHJyb3krY3lDcTFjbTVHeVNyTWltQzVpT1JSODhjClpKUzdOQVZTeDZQL21kSjJaa05NUG9RWDhqRE9NemkxQW9JQkFRQ2tBYVlzelNEQUFxc2lxaStLNTBsUGVSNmkKYVlVWVI4SEdmRkJRbkJtMVBGcStjRkVLQVR5TmRCcFRUeUE0VElYOXNaT2luNjdCcVl4U3lFUWFPMEpnZ1N0SwpiSmxpTWJhN1hnV2V0WEVONDlZK3pLenh3eFpUSHRHeUI1ekVKc2VTZ09Hd1picHp3NUdBZFNjYmV3MDVpaE9XCjdEZmM1RmZCZy9uR0dod0ZmanEwaVROQXFEV0syeVNlQmE3YUo1Z09jOFl6VExCYTB0WWlqRXpBN0dVUUVlY1YKaDRiRWx0NUNwd3hzbmRjdkk3VzNEZ3h0UW9HKzhweWVRRWFWM203RzA0cGhmcFdEMXJ2Vkp2S2JZTFdvSXBadQozamlaNVdwUVlpRWhvRENkL2RveVdVRkdpdVl0K1Zna29qK29LdGhKa2xGVUFhdXpEcm5mWUVPd1JpdTUKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -267,7 +267,7 @@ "domain": { "main": "mealie.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCakNDQk82Z0F3SUJBZ0lTQmJLTHdpb3dhVENLQ0h3WWMwMWNRYmc0TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXhNakU0V2hjTk1qWXdNakU1TWpBeE1qRTNXakFnTVI0d0hBWURWUVFECkV4VnRaV0ZzYVdVdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUUM1eWtBNGgvWGg1L1B0a2lpQnBoTXF5Z2tHZCswSjdCMDhwMG0wSGJpWnhOYzFaZFpkUkFxNAptVGJZSUZVeDZpU3FWa3Q4M0RtU1Rhb2J0Wk5abnYxS3V3c2FPdmVHZUJrSDFLQk1CMUlGK05adS82VkwzaUlSCjA2ejRzY0pYd3dzcDR2NENuVS8zbDJLejgyTHBpa21rZkxaNHVGYmtrTkRzRUlaL3pUYjhhZDFJc2RaQjd3angKOXNTU2FhYzBZVlBYR25NdkFPQ0FzSGlrTHkrek1EbVNmT1p6ZWxrYWZURWgzSEVvRlZhZGhEWDVMbWN6VXBJRAp0RHVadCtGR3BuMEliMUpQeXFBeXdBT3RMc1JPUlRGMjNWTUxyVkI0YWdzMTlXa2lCYWNkUEJDa3J6Z2ZkTSsyCkN0MWtOK0dYWEFnS0lIZElDUyt3anYrQ3lBTDRlYmZTU0dQRTc2YkFISFlUOWxCamZEMnhBVFBrSzl6RFJUcWEKS1JvUHgydW9iOFZjdE42RnlyS2lXQXA2RGNEcUwyWWthWSs4UXlmazhQb3pCSE9nK1BkdHhabDNlQS8yaXV4TwpKWS9VZlZVdzVlZ3QvcmhpNE4wemc2SjU3cTlRQ1VhTWRMaTVHd05sL3lMSmdTL0lBK2hKMy93Q014ZDJxRDEzCjZnS2taTFJTejYya25nWFlJQVptM3F5ampMQnZ1dzdUeUY4SkN0dUFqVk0za1hoYzFma2JFM2JmRmlDZXhSQUQKZFEyWWVFZXZQdExKWlZPclhBS1R4TXl0Vi9vVEhjaFNhWmFsQjJ6bmFoL2JPODZmN29ZcW95VWlOVDJzQ3FyRQpaN3dzTFNNZmdxWHY1bE5NTjBuRDlMU0lSdzdkaXZtR0ludXdIMGdqR3dlUEk2ZXJQSjYxVXdJREFRQUJvNElDCkpUQ0NBaUV3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJST2NDNVN4OGhoSzNmMTdEaDkzREZqUGwrYQppekFmQmdOVkhTTUVHREFXZ0JUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRNdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZXMWxZV3hwWlM1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdQpCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dmNqRXpMbU11YkdWdVkzSXViM0puTHpVM0xtTnliRENDCkFRUUdDaXNHQVFRQjFua0NCQUlFZ2ZVRWdmSUE4QUIyQUJtRzFNY29xbS8rdWdOdmVDcE5BWkdxemkxeU1RK3UKemwxd1FTMGxUTWZVQUFBQm1xaEJZY3dBQUFRREFFY3dSUUlnWVhBcjI5Y1BweWpxcXg4MWtOb0pITGNDcFRuWgpFVmdWQnZpK2tmclRucEFDSVFDaFdXbUx2eUprOWJUVndvYkZSWkEwem1TTEs5UnpmVkUvbS80dExIYkFDZ0IyCkFNczQ5eFdKZklTaFJGOWJ3ZDM3eVc3eW1sbk5Sd3BwQllXd3l4VERGRmpuQUFBQm1xaEJZZW9BQUFRREFFY3cKUlFJaEFPdE00RHhwMkdZVnZQNXZTQlE1ZFBQZXQ0aUttRzFqbHZBdDZGdVY1dzhDQWlCVnRYZmE3ZHExZ2o4ZQpRTHovUzl3cFN1eVZWZC9HWStqUEpKcnFXUlQwdFRBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQUI1bWh4cGlmCjBMU1dmWHBGNGNOQXBOd0QrQlVMdTNDc1l1OHpLbVZtRWQzRmhocWxxOXJIdWxtNXI4ekVKQjBiK1FnT3llczQKb3dzZ1FjRGxLQjBCS0ZrZ2VhbC93emVGYVFmM1ZEeTQwWHJTVXVDODYvSFNsM1JTR1RjTDAxNnZYeW12WC9rOAorSWxLMDg2WHBMVEJwTzRpNTlrQlVCOEljZm1IWWNEdkNWQ1VvZzZoWVBMQURkU0ZkQTV2clBSNmtYL1pLL2dZCldueHdGQnBYcC80SkZOZFoxQjY5a3lRcG1adVpQdHZCWFhCWXlicTl3QlNTTHJ3S3BaSGxmaStKMFJCNGdUWnAKYWkyWWRxNWhyUFdlYVYzVlhRcXRBMW9IUGgvQUdTeE81NzIrTWZYQThEc2ZaN3QxajhjZmR0NDJPOFhwUTM3SwowaEs3dWJMSTVSdWFPZz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQlRDQ0F1MmdBd0lCQWdJUVdnRHlFdGpVdElEemtrRlg2aW1EQlRBTkJna3Foa2lHOXcwQkFRc0ZBREJQCk1Rc3dDUVlEVlFRR0V3SlZVekVwTUNjR0ExVUVDaE1nU1c1MFpYSnVaWFFnVTJWamRYSnBkSGtnVW1WelpXRnkKWTJnZ1IzSnZkWEF4RlRBVEJnTlZCQU1UREVsVFVrY2dVbTl2ZENCWU1UQWVGdzB5TkRBek1UTXdNREF3TURCYQpGdzB5TnpBek1USXlNelU1TlRsYU1ETXhDekFKQmdOVkJBWVRBbFZUTVJZd0ZBWURWUVFLRXcxTVpYUW5jeUJGCmJtTnllWEIwTVF3d0NnWURWUVFERXdOU01UTXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUsKQW9JQkFRQ2xaM0NOMEZhQlpCVVhZYzI1QnRTdEdaQ01KbEEzbUJaamtsVGIyY3lFQlpQczArd0lHNkJnVVVOSQpmU3ZIU0phZXRDM2FuY2duTzFlaG42dncxZzdVRGpES2I1dXgwZGFrblRJK1dFNDFiMFZZYUhFWC9EN1lYWUtnCkw3SlJiTEFhWGJoWnpqVmx5SXVocnhBMy8rT2NYY0pKRnpUL2pDdUxqZkM4Y1N5VERCMEZ4THJIemFySlhuelIKeVFIM25BUDIvQXBkOU5wNzV0dDJRbkRyOUUwaTJnQjNiOWJKWHhmOTJuVXVwVmNNOXVwY3R1QnpwV2pQb1hUaQpkWUorRUovQjlhTHJBZWs0c1FwRXpOUENpZlZKTllJS05MTWM2WWpDUjA2Q0RnbzI4RWRQaXZFcEJIWGF6ZUdhClhQOWVuWmlWdXBwRDBFcWlGd1VCQkREVE1yT1BBZ01CQUFHamdmZ3dnZlV3RGdZRFZSMFBBUUgvQkFRREFnR0cKTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQ0JnZ3JCZ0VGQlFjREFUQVNCZ05WSFJNQkFmOEVDREFHQVFILwpBZ0VBTUIwR0ExVWREZ1FXQkJUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QWZCZ05WSFNNRUdEQVdnQlI1CnRGbm1lN2JsNUFGemdBaUl5QnBZOXVtYmJqQXlCZ2dyQmdFRkJRY0JBUVFtTUNRd0lnWUlLd1lCQlFVSE1BS0cKRm1oMGRIQTZMeTk0TVM1cExteGxibU55TG05eVp5OHdFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3SndZRApWUjBmQkNBd0hqQWNvQnFnR0lZV2FIUjBjRG92TDNneExtTXViR1Z1WTNJdWIzSm5MekFOQmdrcWhraUc5dzBCCkFRc0ZBQU9DQWdFQVVUZFlVcUVpbXpXN1Rick95cExxQ2ZMN1ZPd1lmL1E3OU9INWNITENaZWdnZlFoRGNvbmwKazdLZ2g4YjB2aSsvWHVXdTdDTjhuL1VQZWcxdm8zRyt0YVhpcnJ5dHRoUWluQUhHd2MvVWRiT3lnSmE5enVCYwpWeXFvSDNDWFRYREluVCs4YStjM2FFVk1KMlN0K3BTbjRlZCtXa0RwOGlqc2lqdkV5RndFNDdodWxXMEx0empnCjlmT1Y1UG1yZy96eFdiUnVMK2swREJESEVKZW5uQ3NBZW43YzM1UG14N2pwbUovSHRnUmhjbnoweWpTQnZ5SXcKNkwxUUl1cGtDdjJTQk9EVC94REQzZ2ZRUXlLdjZyb1Y0RzJFaGZFeUFzV3Btb2p4akNVQ0dpeWc5N0Z2RHRtLwpOSzJMU2M5bHliS3hCNzNJMitQMkczQ2FXcHZ2cEFpSENWdTMwalc4R0N4S2RmaHNYdG5JeTJpbXNrUXFWWjJtCjBQbXhvYmIyOFR1Y3I3eEJLN0N0d3ZQcmI3OW9zN3UyWFAzTzVmOWIvSDY2R055UnJnbFJYbHJZakkxb0dZTC8KZjRJMW4vU2d1c2RhNld2QTZDMTkwa3hqVTE1WTEybUhVNCtCeHlSOWN4MmhoR1M5ZkFqTVpLSnNzMjhxeHZ6NgpBeHU0Q2FEbVJOWnBLL3BRclhGMTd5WENYa21FV2d2U09FWnk2WjlwY2JMSVZFR2NrVi9pVmVxMEFPbzJwa2c5CnA0UVJJeTB0SzJkaVJFTkxTRjJLeXNGd2JZNkIyNkJGZUZzM3Yxc1lWUmhGVzluTGtPclFWcG9yQ1MwS3labWYKd1ZEODlxU1RsbmN0TGNabklhdmpLc0tVdTFuQTFpVTB5WU1kWWVwS1I3bFdibndoZHgzZXdvaz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdEVENDQlBXZ0F3SUJBZ0lTQlZpUnNna094aDZ2L1FlbnpZVndnVHVtTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXdPREk0V2hjTk1qWXdOREl4TVRZd09ESTNXakFnTVI0d0hBWURWUVFECkV4VnRaV0ZzYVdVdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUUM1eWtBNGgvWGg1L1B0a2lpQnBoTXF5Z2tHZCswSjdCMDhwMG0wSGJpWnhOYzFaZFpkUkFxNAptVGJZSUZVeDZpU3FWa3Q4M0RtU1Rhb2J0Wk5abnYxS3V3c2FPdmVHZUJrSDFLQk1CMUlGK05adS82VkwzaUlSCjA2ejRzY0pYd3dzcDR2NENuVS8zbDJLejgyTHBpa21rZkxaNHVGYmtrTkRzRUlaL3pUYjhhZDFJc2RaQjd3angKOXNTU2FhYzBZVlBYR25NdkFPQ0FzSGlrTHkrek1EbVNmT1p6ZWxrYWZURWgzSEVvRlZhZGhEWDVMbWN6VXBJRAp0RHVadCtGR3BuMEliMUpQeXFBeXdBT3RMc1JPUlRGMjNWTUxyVkI0YWdzMTlXa2lCYWNkUEJDa3J6Z2ZkTSsyCkN0MWtOK0dYWEFnS0lIZElDUyt3anYrQ3lBTDRlYmZTU0dQRTc2YkFISFlUOWxCamZEMnhBVFBrSzl6RFJUcWEKS1JvUHgydW9iOFZjdE42RnlyS2lXQXA2RGNEcUwyWWthWSs4UXlmazhQb3pCSE9nK1BkdHhabDNlQS8yaXV4TwpKWS9VZlZVdzVlZ3QvcmhpNE4wemc2SjU3cTlRQ1VhTWRMaTVHd05sL3lMSmdTL0lBK2hKMy93Q014ZDJxRDEzCjZnS2taTFJTejYya25nWFlJQVptM3F5ampMQnZ1dzdUeUY4SkN0dUFqVk0za1hoYzFma2JFM2JmRmlDZXhSQUQKZFEyWWVFZXZQdExKWlZPclhBS1R4TXl0Vi9vVEhjaFNhWmFsQjJ6bmFoL2JPODZmN29ZcW95VWlOVDJzQ3FyRQpaN3dzTFNNZmdxWHY1bE5NTjBuRDlMU0lSdzdkaXZtR0ludXdIMGdqR3dlUEk2ZXJQSjYxVXdJREFRQUJvNElDCkxEQ0NBaWd3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJST2NDNVN4OGhoSzNmMTdEaDkzREZqUGwrYQppekFmQmdOVkhTTUVHREFXZ0JRQXRTbnlMWTV2TWVpYlRLMTRQdnJjNlF6UjBqQXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRJdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZXMWxZV3hwWlM1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdQpCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dmNqRXlMbU11YkdWdVkzSXViM0puTHpNNUxtTnliRENDCkFRc0dDaXNHQVFRQjFua0NCQUlFZ2Z3RWdma0E5d0I5QUhGK2xmUENPSXB0c2VPRVNUMHg0VnFwWWdoMkxVSUEKNEFVTTBHZTFwbUhpQUFBQm0rR0dFbmdBQ0FBQUJRQUhlNGhSQkFNQVJqQkVBaUJybXRUeGlMbzJISmVvWGlqQgpsYW9nU2REdGNDT3RSbDVuSm9nZU1ReGlUQUlnS2s4OC9GbGdQNmRTbWhERWovVDl2NThoWjRGb0crNUxNeFNTClArQ0crcUlBZGdCa0VjUnNwQkxzcDRrY29nSXVBTHlyVHlnSDFCNDFKNnZxL3RVRHlYM044QUFBQVp2aGhobU4KQUFBRUF3QkhNRVVDSUdpOUVBalp5M2hCUEV5Ym0vUDdxcUdreWZJVzFaMktLT1pJYmtLMGI4QmtBaUVBdzdkRQpCU2ZtWjhYMWpkTFU5Q00rTzdkclk5QUU3MlgwdkttSU8rd0FkV2t3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCCkFNNjduZjFJYUJtMFhNaHdNMEtGRkd5YXg0YTNtaitDc0p1aXMvbElJTTRETFlpaXpqd2VqWXFwNElZbk03UGYKbWk5MHJzNUQ0MVpsdU1PQ0pyMytEaXI5NDdnQ1dtbC9BeHh0aTNtVElsQzk0cW9HeWhhMURhclJ5MFd2RnBRYQpkVHMzT2kvQ24wU1lWSk13enM3OHpoenZpWGZObVIrZXZPRURDaXhiMktPWDNBL3pPRm5HdTdPYXR3WUJiMXJ3ClNSTjJ3a0lSL0ZCUkxyQ3c4TjVEd3BTNWNXZzBvU3lKNXlpQkVwNCsyRCtJNHF1SlFmUFcwSndHWW4vVjNGMEsKY1V3N0VrSTdueHZId0lpRkpnL1BKREFEK2ZoWkdqbjcvVHYzT2xSTkNhcGpLNXVpQ2o2WmhXQms4Sm0wSW92Ywp3ZGdZU1M5eVNpUzRUUENzeHcrOUtKRT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCakNDQXU2Z0F3SUJBZ0lSQU1JU01rdHdxYlNSY2R4QTkrS0ZKand3RFFZSktvWklodmNOQVFFTEJRQXcKVHpFTE1Ba0dBMVVFQmhNQ1ZWTXhLVEFuQmdOVkJBb1RJRWx1ZEdWeWJtVjBJRk5sWTNWeWFYUjVJRkpsYzJWaApjbU5vSUVkeWIzVndNUlV3RXdZRFZRUURFd3hKVTFKSElGSnZiM1FnV0RFd0hoY05NalF3TXpFek1EQXdNREF3CldoY05NamN3TXpFeU1qTTFPVFU1V2pBek1Rc3dDUVlEVlFRR0V3SlZVekVXTUJRR0ExVUVDaE1OVEdWMEozTWcKUlc1amNubHdkREVNTUFvR0ExVUVBeE1EVWpFeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQgpDZ0tDQVFFQTJwZ29kSzIrbFA0NzRCN2k1VXQxcXl3U2YrMm5BekorTnBmczZER1BwUk9OQzVrdUhzMEJVVDFNCjVTaHVDVlV4cXFVaVhYTDBMUWZDVFVBODN3RWp1WGczOVJwbE1qVG1obkdkQk8rRUNGdTlBaHFaNjZZQkFKcHoKa0cyUG9nZWcwSmZUMmtWaGdUVTlGUG5Fd0Y5cTNBdVdHckNmNHlycXZTcldtTWViY2FzN2RBODgyN0pndmxwTApUaGpwMnlwelhJbGhaWjcrN1R5bXkwNXY1Sjc1QUVhei94bE5LbU96am1iR0dJVnd4MUJsYnp0MDVVaUREd2hZClhTMGpuVjZqL3VqYkFLSFM5T01aVGZMdWV2WW5udVhObkMyaThuK2NGNjN2RXpjNTBiVElMRUhXaHNEcDdDSDQKV1J0L3VUcDhuMXdCbldJRXdpaTlDcTA4eWhEc0d3SURBUUFCbzRINE1JSDFNQTRHQTFVZER3RUIvd1FFQXdJQgpoakFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdFd0VnWURWUjBUQVFIL0JBZ3dCZ0VCCi93SUJBREFkQmdOVkhRNEVGZ1FVQUxVcDhpMk9iekhvbTB5dGVENzYzT2tNMGRJd0h3WURWUjBqQkJnd0ZvQVUKZWJSWjVudTI1ZVFCYzRBSWlNZ2FXUGJwbTI0d01nWUlLd1lCQlFVSEFRRUVKakFrTUNJR0NDc0dBUVVGQnpBQwpoaFpvZEhSd09pOHZlREV1YVM1c1pXNWpjaTV2Y21jdk1CTUdBMVVkSUFRTU1Bb3dDQVlHWjRFTUFRSUJNQ2NHCkExVWRId1FnTUI0d0hLQWFvQmlHRm1oMGRIQTZMeTk0TVM1akxteGxibU55TG05eVp5OHdEUVlKS29aSWh2Y04KQVFFTEJRQURnZ0lCQUk5MTBBblBhblpJWlRLUzNyVkV5SVYyOUJXRWpBSy9kdXV6OGVMNWJvU29WcEhoa2t2Mwo0ZW9BZUVpUGRaTGo1RVo3RzJBcklLK2d6aFRsUlExcTRGS0dwUFBhRkJTcHFWL3hiVWI1VWxBWFFPbmtIbjNtCkZWaitxWXY4Ny9XZVkrQm00c04zT3g4Qmh5YVU3VUFRM0xlWjdOMVgwMXh4UWU0d0lBQUUzSlZMVUNpSG1aTCsKcW9DVXRnWUlGUGdjZzM1MFFNVUlXZ3hQWE5HRW5jVDkyMW5lN25sdUkwMlY4cExVbUNscVhPc0N3VUx3K1BWTwpaQ0I3cU9NeHhNQm9DVWVMMkxsNG9NcE9TcjVwSkNwTE4zdFJBMnM2UDFLTHM5VFNyVmhPays3TFgyOE5NVWxJCnVzUS9ueExKSUQwUmhBZUZ0UGp5T0NPc2NRQkE1MytOUmpTQ2FrN1A0QTVqWDdwcG1rY0pFQ0wrUzBpM2tYVlUKeTVNZTVCYnJVODk3M2paTnYvYXg2K1pLNlRNOGpXbWltTDZvZjZPclg3WlU2RTJXcWF6enNGckxHM28ya3lTYgp6bGhTZ0o4MUNsNHR2M1NiWWlZWG5KRXhLUXZ6ZjgzRFlvdG94M2YwZnd2N3hsbjFBMlpMcGxDYjBPK2wvQUswCllFMERTMkZQeFNBSGkwaXdNZlcybk5ISnJYY1kzTExIRDc3Z1JnamU0RXZldWJpMnh4YStObWsvaG1oTGRJRVQKaVZERmFub0NyTVZJcFE1OVhXSGt6ZEZtb0hYSEJWN29pYlZqR1NPN1VMU1E3TUoxTno1MXBodURKU2dBSVU3QQowenJMbk9yQWovZGZybEVXUmhDdkFnYnV3TFpYMUEyc2pOalhvUE9IYnNQaXkrbE8xS0Y4L1hZNwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBdWNwQU9JZjE0ZWZ6N1pJb2dhWVRLc29KQm5mdENld2RQS2RKdEIyNG1jVFhOV1hXClhVUUt1SmsyMkNCVk1lb2txbFpMZk53NWtrMnFHN1dUV1o3OVNyc0xHanIzaG5nWkI5U2dUQWRTQmZqV2J2K2wKUzk0aUVkT3MrTEhDVjhNTEtlTCtBcDFQOTVkaXMvTmk2WXBKcEh5MmVMaFc1SkRRN0JDR2Y4MDIvR25kU0xIVwpRZThJOGZiRWttbW5OR0ZUMXhwekx3RGdnTEI0cEM4dnN6QTVrbnptYzNwWkduMHhJZHh4S0JWV25ZUTErUzVuCk0xS1NBN1E3bWJmaFJxWjlDRzlTVDhxZ01zQURyUzdFVGtVeGR0MVRDNjFRZUdvTE5mVnBJZ1duSFR3UXBLODQKSDNUUHRncmRaRGZobDF3SUNpQjNTQWt2c0k3L2dzZ0MrSG0zMGtoanhPK213QngyRS9aUVkzdzlzUUV6NUN2Ywp3MFU2bWlrYUQ4ZHJxRy9GWExUZWhjcXlvbGdLZWczQTZpOW1KR21QdkVNbjVQRDZNd1J6b1BqM2JjV1pkM2dQCjlvcnNUaVdQMUgxVk1PWG9MZjY0WXVEZE00T2llZTZ2VUFsR2pIUzR1UnNEWmY4aXlZRXZ5QVBvU2QvOEFqTVgKZHFnOWQrb0NwR1MwVXMrdHBKNEYyQ0FHWnQ2c280eXdiN3NPMDhoZkNRcmJnSTFUTjVGNFhOWDVHeE4yM3hZZwpuc1VRQTNVTm1IaEhyejdTeVdWVHExd0NrOFRNclZmNkV4M0lVbW1XcFFkczUyb2YyenZPbis2R0txTWxJalU5CnJBcXF4R2U4TEMwakg0S2w3K1pUVERkSncvUzBpRWNPM1lyNWhpSjdzQjlJSXhzSGp5T25xenlldFZNQ0F3RUEKQVFLQ0FnQUlpZWNSc2czMjUvWXFBUUdqazhKbHdRdFJKTW5jSHVIcEc3Y2pkQW83NXZRTkhEVVI3RUtoNFVqSAovaFJzU3RxTWlaTEdsa2gvRk5xd2sxUEdWcXhGZHZzM3BXWWk0L29paGY4bi8xNGhzQ0lLeiswRTQ1eWxQUmxDCkJNbHR4eVVJTThxQXpFSVVtdnlLVUxGSEVuZjMrMU5Ya1FGTlYrcUNMdkEvaDJyemh0b0lzVU9ybkJUSktoSTIKdUd4YTErNUdnSXl5cUZPcEZuTTArSVkwc2c2elVOSTJsSFRyNXIwUFZWWk9CVTBKeUQzQ3lnTXNOS3RKU0V0RQo4VktGTUxtbVhaZG0yMlVwYi9HN1Q5N3R5ZmhRQWpRQzRXQkZhSHBEYkpmOFhFNGw1ZERPQU0rUGdvclpUdjZGCjBKdXBuUzB4YWZTUmR2cWVIclJYaW1HNGtiK0U4bTBMM2VsTXZvbFA4Z2YzNjA2aFk1RWdaeURVWllRd1JJbDAKUkpaSFIyV05yb2VTczhHSHpYb0JMMmpvVmI3M3M4QVRoVzYxVFdFckIwc0tBdkpPcmxuVHc5NUhhZ1RxVlp3dQozMjFFcS96VW01UEQyQ3BoSDgzT3I0S2k4cmZTN3o1cXhGTlFqK0svcW43N1dTZ3dzemRVMm1DWGdJUUQrMlo5ClpXWENvOUtMbGtXWnFLaHJzTEJiSVZuVTJrNWlnTWxqNmdyaXMzVXNMZkw1ZDFqQ3R5WGxVZnBxTEZxczFwSGoKeXYvRTlrTHZWT0t1SSswellEYWlYNWVWMnJHVnBMcVBISE5HNmtiaGRNanhzV1hIMUNYNllHRUlheFZKdC9hbQo2NkdzUDRyb2daeStwcUZHeFV1WEltU08xWFQrOWpHZ1I3d2lFRCtLTEJxaDZaQm53UUtDQVFFQXc4MlhSdEh2CnZldTlMYUljRURFQWxGbmplUms1cGlXUWtValVzZmsvR2VobHpTbU9uTjhEcnVDWEl0d29rSWRHaVE2dURkVTQKOGtRSXp3SnR0bmpvVmR3RCs4MjNKZUFnNHJFVE91M1JyRmwvRUtjUDNnckRlbGFtdVhsNk51TE9kM2lsQXJaWgpTZ05zS2xJQlZ1RzkzSUxFZldsOFFYeDI3U29zS2pGS1pBVFMySmxVbW1QeGpOcGhOVDNlK2FoQ2l3TE1aR1hICjFtVElSQW92bXZKUWw5ZUJNdU5rVXFhbGF1aCtuUGhtR1NPNG15TUJqM0R0a0VwaTkvcWx0eVlMdUlBTVJVNlAKMlhQckQ2N2RWWmFZUmNmMDZ6bk52NEZJbXVYOUZibndwelBmSUlGblZCL0ZKY1d4WCtOU0hVaGFFR2UyTXJ6NQpWNVdyd1BRMzUvMmhHUUtDQVFFQTh1aVkxdmZ5Q21Sa0dVTUZoMTduVUd1RGtRQnU1M0pnNTVDUlEzZUZ3RFErCitQQmJNQy9LUXdTYVlndmYvaDlXclMvZEg3Y1NVY3VNYkFDTzRrRXdEQldxRTdhVVhOdzE0c2lkbUdlMEhJZ3MKV0hLYkYxOFR0OHNhZllNajVvMXJIVzdTN1VtVEVLSkszLzJUcXdaam0zQmxWMkpZSTlIMTBYVjRQUGFlNU8zaQpYRVZzTmo1NS9DVGpXQXUweCt6SnZ1WTA0UW1MK3BqSzFIakQrME1oaGh3WTRqM2xOOTB5YXM0MCtwL2MzUEEwCmdKVzMyejVxUCtXdTBXSGxqc3huZVBtMmE0L3lkZ0JHTnN5WWxPYWcwZEpBenFlcThwKzU2SzdYaGpFWS90L2YKYnE0c3JNWkRtcmRqSkxzL3lIcTlwZXFoRTBQMHNmaFAzZ3IrQmVYN1N3S0NBUUVBaUVWT2NsaHJuT2N6TzA0bQpiOUpheitTYlhzMkNoTEtDSWNycFZJL2VMYjdERXYxSUpyOURSZk5DM0YwUzBqdURpS0d4MnlpNVFFcS9RcXN6CkJocXh3QWVtc2htaXpIWm5ETDRtWHczaXJpdC9ObXkrcTA4Y2FzbGhzWlhzeThRZjQ2QVFYNG5mTEphak1mVHUKdjdQT09taThMWGc3cFN2bGJQdTd6d1dNKzMwcjdOa1J1MzJ4UDlGQWRCaUNWWWlYL3oxTVdOZEpORm5oMHhDdgp2d3ZEc1ZtbnJtMzVoVmc3cWVMek0zWGhRTC9PbkJISjVUVzM4SU1FekFjaVRBdnJmbFdIdExpUGZzeWhITUliCmdwU1RsNFVwWEloWFBGL1MweE1iaDRKb0RVWVpsUHJhbWY2ZWE4Smh4eFZqTWNRSUFvRGJtZ1pSRm5heEdWSWUKa3BPL0NRS0NBUUFkZWk1NS85TEdnaEpIb29OOFB2OFJHa3I0QUxaMHJjT210anQ2bFhtTXJvcHB5VGszcXNULwp4d0k1SGJuTDY5K24ycVFaNGl4OThwYVMwS3FHT0dUdFFuL0dMcVRvYyt5eUhhaEtRMk52QnZOaXRGMnZ3MkR3Ckw5eUNHTFQxbUhuRU01dXpJZmVQMERJSDVvelI5MCtGSUdtYjVocE9GbitmTUlNcjJyM0RpRDZzOWR2QTVXb0cKT0MvQ2tvRVl0ZHB4cVJ3SHB4SHVrallpL0pqRDJBeXNhcUoyYWc1ejdncmRQVExlcXlHeFNoRUUvYVkzRytibQo1Q2VIenpwOVRyN0x4bm5scWExQnRwek9yNXRnam5BN3Bpa3BLdDJxM2NsQXZGNzVNT0lZby9CSVRTaXN1czZmCmF0dkVMRmo4S2pEemZucVhqT3FYNGt0RzVjeVh5S1hyQW9JQkFCQlNHRlhZc1QyallocjlLcTFXMnoyTGRHOGkKUGxmQmxLcnNuVWh0OU15YjV1VWl2dXFQbVB0NGlsM1Y0SjQ1bzdoV2JxcFNPckRmam0ySmJGemRKY2VnRjluUQo4Rks3TCswMEswR0JNb2VJNzBTSnBQVmJNQlVqRGhoT29NeklrZ2VxY2tVMVVuRWJ1dThqUnRacFFSU1dXNWhoCktPM2c2TlFxWlRzSytVakU0aHBrQUdGNmkyQ1FmM2hadmVOTWJLUmdOaUREZ1hpU1kySWNRRWx4TTl5MUE0QUYKLzg0cVdWYlowUXlOWjJRdzlLZlpVNXRvTmxncHdMRGZ2UXdRZXpWQlRoTEdGWUpGYWp0K1J6NTVETTFLQ2lNTApEdVk4UE45L0ZhYytxa1kvdEhnMEF0ZHBxdlNmTzlzMFJiK3BrU1JCcDZleW5IOGVJZ0VrUTNWL1c5QT0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -275,7 +275,7 @@ "domain": { "main": "home.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdBakNDQk9xZ0F3SUJBZ0lTQmVMU0YyR04rQXY2dlc2U3FxcGQ5cUZYTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05NalV4TVRJeE1qQXhNakl5V2hjTk1qWXdNakU1TWpBeE1qSXhXakFlTVJ3d0dnWURWUVFECkV4Tm9iMjFsTG1GMGFHRnNhV0Z3Y0hNdWVIbDZNSUlDSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUMKQ2dLQ0FnRUF2c3p5aEtMNjEwK2w3MTRpaStLb2o4VkhlaGZUaG4xSHpBS0l2VEkxQi9RZEllWkNiUmFlQkNwYQovcCtJUjZQWEVxSDFxMFh6Q2wvazNxVmYzZmsvTjlTVGhxNDMwLzJPWXFGVjZkdmVjcm8vc0FhekVlRkdUb1ZSCnVwaTBWUER1L3ZzbnNaR3FIME1XUzJJYWtwOUFWU2xGVGJ0R1gxS0FpSjduQ3pwR3pIV1ozcW5oeXkyTXUvRzIKbjE1a1pJTFNBbEc3SmtBbVpUR2xKZVdEZWEwb1NKWDc3YjVkYU1EcXp4YzZRV0dWUXFrQVlwMUw0OE1MNCtUVApraVpvcURPcFc1dXk0dnE2ZmVPelN1SDNtdEZ4RTVqRkR3VXZwL2Y0Q1R6UlZtU21hdjFmUHc1Z0tMNzdvYTBPCnY0OThaZ0k3RUFSYlU2Y0c4OEphd0REOXdFWmt6eHJxOUd1c1pMdUlIclY1WWx6cmFzTXVwMzFRMzN4V1hsZW8KNW1MUHRybjNCRmlhSXdXd3BlaUxhbjNMWW9RenhTWkx1dDZ3TjkwZFk4UjBNdmRmMW41Q0N6WDJoYmdieS9QTApLZTEwWlppY1FuMHRtckc5OXVIajM3YzVOK05DSDN2dXB3dWhRQlJwbmNnbnRxcXhQaHMyOXhUM0hvRWVFYkhXCitiMW1kdUxobkphelJRYUdtRTc3eGFMUXJWRDJmM1g2S004R1BFakkwRmxOYitvWUhsUkR3TE1PWXNkNFBDem0KM1VsVzdvaks1MDVQV3I2RHIwZ0J3d3ZmWFhsNDArcmJLUzVSSWI0QWRqMEMzWHdVZ09uYUgxYVBvRUZ1ZGJYaApYVzE4TFBKbGpmeFFGSDdsUy80N09NaHFwYU5LL1ozT2tDdi92dnJ3ZzVaY0JJbldhMGtDQXdFQUFhT0NBaU13CmdnSWZNQTRHQTFVZER3RUIvd1FFQXdJRm9EQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBUVlJS3dZQkJRVUgKQXdJd0RBWURWUjBUQVFIL0JBSXdBREFkQmdOVkhRNEVGZ1FVRE9NUndLTHBvR2cza3czdGw3M2FqNjlObHcwdwpId1lEVlIwakJCZ3dGb0FVQUxVcDhpMk9iekhvbTB5dGVENzYzT2tNMGRJd013WUlLd1lCQlFVSEFRRUVKekFsCk1DTUdDQ3NHQVFVRkJ6QUNoaGRvZEhSd09pOHZjakV5TG1rdWJHVnVZM0l1YjNKbkx6QWVCZ05WSFJFRUZ6QVYKZ2hOb2IyMWxMbUYwYUdGc2FXRndjSE11ZUhsNk1CTUdBMVVkSUFRTU1Bb3dDQVlHWjRFTUFRSUJNQzRHQTFVZApId1FuTUNVd0k2QWhvQitHSFdoMGRIQTZMeTl5TVRJdVl5NXNaVzVqY2k1dmNtY3ZPRGd1WTNKc01JSUJCQVlLCkt3WUJCQUhXZVFJRUFnU0I5UVNCOGdEd0FIWUF5emozRllsOGhLRkVYMXZCM2Z2SmJ2S2FXYzFIQ21rRmhiREwKRk1NVVdPY0FBQUdhcUVGeXZRQUFCQU1BUnpCRkFpQVJnTEVqZEs2OHFsVktzbHZENkM2QkRXUm9CcCtSVFJ0QgpsajlSaDFRRUl3SWhBSlJJdWxCa3R4OFNOcHVHTWFIbW9QOFprNm1mYU9vR0xzenJaNm00eGluakFIWUFscGRrCnYxVllsNjMzUTRkb053aENkK253T3RYMnBQTTJia2FrUHcvS3FjWUFBQUdhcUVGeS9RQUFCQU1BUnpCRkFpRUEKNk9EWExKck9WeTQ4bEp2b3VEVzQ0blF1TXAwMGlwTG5FVFEwa0M3VzQ4b0NJSGpWZFlPK2tpUlFKQ05IeCtxUgptTHZHdXYreHQ2MVpFdTVUTFdSVkUzZFRNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUIvUDFjNHhhRUx5aGN1Cm16RENlYS8wMkZWTU1udVN3S3BORzFaWm9FeUZ6M2Zsam50UUhhM0ZVR09lWUZXTHFISVNxL0IwUFB3QUJVdkcKbnZqZDYxQUFVOGxRZ1JMK2x5bXpnclJMM1lJWWg2aVJWVW9IbytNWjFPMGt5UzQzenJpSTUvWXhnWUJHMXkwbQp4TForV0tIdStUNEJkRnNDUUlyNmJYR3dZNHRpMjRBcTdaVW1SNG4zTVdGQWpNcmI5bDRoWFkybUZVMHNQY0QxCk9oUmpwdnc0Sy8rR2xKMUUzUnYvZ2Q3N2pjRDF4Mk1tdlZZTy9Fb3pRQzdxcVU3SkZUTlFwejg2SFBrSTNtOEsKMVRkZ0xqa200Rmc2VGlXamNjSE5jR01XMFVlK1ZFS2Vja21GaUpJWTJlUEpWZnY0Vi9ha3JQYWFqdkYwMm1EbgpLdG5xUUY5YgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJqQ0NBdTZnQXdJQkFnSVJBTUlTTWt0d3FiU1JjZHhBOStLRkpqd3dEUVlKS29aSWh2Y05BUUVMQlFBdwpUekVMTUFrR0ExVUVCaE1DVlZNeEtUQW5CZ05WQkFvVElFbHVkR1Z5Ym1WMElGTmxZM1Z5YVhSNUlGSmxjMlZoCmNtTm9JRWR5YjNWd01SVXdFd1lEVlFRREV3eEpVMUpISUZKdmIzUWdXREV3SGhjTk1qUXdNekV6TURBd01EQXcKV2hjTk1qY3dNekV5TWpNMU9UVTVXakF6TVFzd0NRWURWUVFHRXdKVlV6RVdNQlFHQTFVRUNoTU5UR1YwSjNNZwpSVzVqY25sd2RERU1NQW9HQTFVRUF4TURVakV5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCCkNnS0NBUUVBMnBnb2RLMitsUDQ3NEI3aTVVdDFxeXdTZisybkF6SitOcGZzNkRHUHBST05DNWt1SHMwQlVUMU0KNVNodUNWVXhxcVVpWFhMMExRZkNUVUE4M3dFanVYZzM5UnBsTWpUbWhuR2RCTytFQ0Z1OUFocVo2NllCQUpwegprRzJQb2dlZzBKZlQya1ZoZ1RVOUZQbkV3RjlxM0F1V0dyQ2Y0eXJxdlNyV21NZWJjYXM3ZEE4ODI3Smd2bHBMClRoanAyeXB6WElsaFpaNys3VHlteTA1djVKNzVBRWF6L3hsTkttT3pqbWJHR0lWd3gxQmxienQwNVVpRER3aFkKWFMwam5WNmovdWpiQUtIUzlPTVpUZkx1ZXZZbm51WE5uQzJpOG4rY0Y2M3ZFemM1MGJUSUxFSFdoc0RwN0NINApXUnQvdVRwOG4xd0JuV0lFd2lpOUNxMDh5aERzR3dJREFRQUJvNEg0TUlIMU1BNEdBMVVkRHdFQi93UUVBd0lCCmhqQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBZ1lJS3dZQkJRVUhBd0V3RWdZRFZSMFRBUUgvQkFnd0JnRUIKL3dJQkFEQWRCZ05WSFE0RUZnUVVBTFVwOGkyT2J6SG9tMHl0ZUQ3NjNPa00wZEl3SHdZRFZSMGpCQmd3Rm9BVQplYlJaNW51MjVlUUJjNEFJaU1nYVdQYnBtMjR3TWdZSUt3WUJCUVVIQVFFRUpqQWtNQ0lHQ0NzR0FRVUZCekFDCmhoWm9kSFJ3T2k4dmVERXVhUzVzWlc1amNpNXZjbWN2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQk1DY0cKQTFVZEh3UWdNQjR3SEtBYW9CaUdGbWgwZEhBNkx5OTRNUzVqTG14bGJtTnlMbTl5Wnk4d0RRWUpLb1pJaHZjTgpBUUVMQlFBRGdnSUJBSTkxMEFuUGFuWklaVEtTM3JWRXlJVjI5QldFakFLL2R1dXo4ZUw1Ym9Tb1ZwSGhra3YzCjRlb0FlRWlQZFpMajVFWjdHMkFySUsrZ3poVGxSUTFxNEZLR3BQUGFGQlNwcVYveGJVYjVVbEFYUU9ua0huM20KRlZqK3FZdjg3L1dlWStCbTRzTjNPeDhCaHlhVTdVQVEzTGVaN04xWDAxeHhRZTR3SUFBRTNKVkxVQ2lIbVpMKwpxb0NVdGdZSUZQZ2NnMzUwUU1VSVdneFBYTkdFbmNUOTIxbmU3bmx1STAyVjhwTFVtQ2xxWE9zQ3dVTHcrUFZPClpDQjdxT014eE1Cb0NVZUwyTGw0b01wT1NyNXBKQ3BMTjN0UkEyczZQMUtMczlUU3JWaE9rKzdMWDI4Tk1VbEkKdXNRL254TEpJRDBSaEFlRnRQanlPQ09zY1FCQTUzK05SalNDYWs3UDRBNWpYN3BwbWtjSkVDTCtTMGkza1hWVQp5NU1lNUJiclU4OTczalpOdi9heDYrWks2VE04aldtaW1MNm9mNk9yWDdaVTZFMldxYXp6c0ZyTEczbzJreVNiCnpsaFNnSjgxQ2w0dHYzU2JZaVlYbkpFeEtRdnpmODNEWW90b3gzZjBmd3Y3eGxuMUEyWkxwbENiME8rbC9BSzAKWUUwRFMyRlB4U0FIaTBpd01mVzJuTkhKclhjWTNMTEhENzdnUmdqZTRFdmV1YmkyeHhhK05tay9obWhMZElFVAppVkRGYW5vQ3JNVklwUTU5WFdIa3pkRm1vSFhIQlY3b2liVmpHU083VUxTUTdNSjFOejUxcGh1REpTZ0FJVTdBCjB6ckxuT3JBai9kZnJsRVdSaEN2QWdidXdMWlgxQTJzak5qWG9QT0hic1BpeStsTzFLRjgvWFk3Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDVENDQlBHZ0F3SUJBZ0lTQlFWOW4wMkZGWnh5RXBxYzE4OUFXeFZkTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRJeE1UWXdPRE01V2hjTk1qWXdOREl4TVRZd09ETTRXakFlTVJ3d0dnWURWUVFECkV4Tm9iMjFsTG1GMGFHRnNhV0Z3Y0hNdWVIbDZNSUlDSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUMKQ2dLQ0FnRUF2c3p5aEtMNjEwK2w3MTRpaStLb2o4VkhlaGZUaG4xSHpBS0l2VEkxQi9RZEllWkNiUmFlQkNwYQovcCtJUjZQWEVxSDFxMFh6Q2wvazNxVmYzZmsvTjlTVGhxNDMwLzJPWXFGVjZkdmVjcm8vc0FhekVlRkdUb1ZSCnVwaTBWUER1L3ZzbnNaR3FIME1XUzJJYWtwOUFWU2xGVGJ0R1gxS0FpSjduQ3pwR3pIV1ozcW5oeXkyTXUvRzIKbjE1a1pJTFNBbEc3SmtBbVpUR2xKZVdEZWEwb1NKWDc3YjVkYU1EcXp4YzZRV0dWUXFrQVlwMUw0OE1MNCtUVApraVpvcURPcFc1dXk0dnE2ZmVPelN1SDNtdEZ4RTVqRkR3VXZwL2Y0Q1R6UlZtU21hdjFmUHc1Z0tMNzdvYTBPCnY0OThaZ0k3RUFSYlU2Y0c4OEphd0REOXdFWmt6eHJxOUd1c1pMdUlIclY1WWx6cmFzTXVwMzFRMzN4V1hsZW8KNW1MUHRybjNCRmlhSXdXd3BlaUxhbjNMWW9RenhTWkx1dDZ3TjkwZFk4UjBNdmRmMW41Q0N6WDJoYmdieS9QTApLZTEwWlppY1FuMHRtckc5OXVIajM3YzVOK05DSDN2dXB3dWhRQlJwbmNnbnRxcXhQaHMyOXhUM0hvRWVFYkhXCitiMW1kdUxobkphelJRYUdtRTc3eGFMUXJWRDJmM1g2S004R1BFakkwRmxOYitvWUhsUkR3TE1PWXNkNFBDem0KM1VsVzdvaks1MDVQV3I2RHIwZ0J3d3ZmWFhsNDArcmJLUzVSSWI0QWRqMEMzWHdVZ09uYUgxYVBvRUZ1ZGJYaApYVzE4TFBKbGpmeFFGSDdsUy80N09NaHFwYU5LL1ozT2tDdi92dnJ3ZzVaY0JJbldhMGtDQXdFQUFhT0NBaW93CmdnSW1NQTRHQTFVZER3RUIvd1FFQXdJRm9EQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBUVlJS3dZQkJRVUgKQXdJd0RBWURWUjBUQVFIL0JBSXdBREFkQmdOVkhRNEVGZ1FVRE9NUndLTHBvR2cza3czdGw3M2FqNjlObHcwdwpId1lEVlIwakJCZ3dGb0FVNTZ1ZkR5d3pvRlBUWGs5NHlMS0VEanZXa2pNd013WUlLd1lCQlFVSEFRRUVKekFsCk1DTUdDQ3NHQVFVRkJ6QUNoaGRvZEhSd09pOHZjakV6TG1rdWJHVnVZM0l1YjNKbkx6QWVCZ05WSFJFRUZ6QVYKZ2hOb2IyMWxMbUYwYUdGc2FXRndjSE11ZUhsNk1CTUdBMVVkSUFRTU1Bb3dDQVlHWjRFTUFRSUJNQzRHQTFVZApId1FuTUNVd0k2QWhvQitHSFdoMGRIQTZMeTl5TVRNdVl5NXNaVzVqY2k1dmNtY3ZPVFF1WTNKc01JSUJDd1lLCkt3WUJCQUhXZVFJRUFnU0IvQVNCK1FEM0FIWUFEbGVVdlBPdXFUNHpHeXlaQjdQM2tOK2J3ajF4TWlYZElha2wKckdIRlRpRUFBQUdiNFlZOEl3QUFCQU1BUnpCRkFpRUEvZk9ON2tsWHlDaVQvZm11bGlTdFVRekFENk0wMlFvYgpyM2lWV1JTbkxkRUNJSHAzMEpsMjdYbVlUVFVuYVlRTHV3cnV1T1ZHWmxnQi9XQmk4cjIyQmlRNEFIMEFjWDZWCjg4STRpbTJ4NDRSSlBUSGhXcWxpQ0hZdFFnRGdCUXpRWjdXbVllSUFBQUdiNFlZOHFBQUlBQUFGQUFkN2lPTUUKQXdCR01FUUNJRWphY1pwK2hSZGVHVkFyN3RSWmx3dEJkRjB0MWxhTkZVRlpRd3g2R2oxOUFpQit3R3JQblJMcgpRTXROOWRPbk43L0d4c2Y0dzY4Umh3RStlVHdFaE5lSklUQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFaQ3lxCmsyemNMNVBEUndZbXdUOG5MSnpFYXFSRW9YWFNXc1FpTnQ3UlNhTWhWamFUNmVMd0VROUdlK3VXdERjZExyM0YKYnNpK3FCVTVnZEk2ZWJEWFQ2TlkxZGlTV2NPMFVDTEZRSjlvL1FMNU9UNjkrM0ZOcHFXdWpoc2Z2NWtqYk9QSAp5MnRwdnFmWkJ4eUtMUzREL2NDdTE1N1ZMWFQ4c2hMSC83VDRENTgyNE5tRHFLWHViTzZSMnMxWmh5OUp5NDhSCk1wajVHenFuTkNpWFlGd1N4cjJjdWFHS0xKcGk2TnQxY0wvYlE4M1NGREIyZmY5ZWV4ak91WWQ5K2VWREtwTG4Kd0F2RlY0S3BLMWUrQzBoSTByTGI5OUh5bDIrUUZZRUhLMXJIN1E2WkVYek14YmU2bTcraDZiV3ltbXlQZW4vbApIWFU5c3hGOXdRdmpWT3dYbFE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJUQ0NBdTJnQXdJQkFnSVFXZ0R5RXRqVXRJRHpra0ZYNmltREJUQU5CZ2txaGtpRzl3MEJBUXNGQURCUApNUXN3Q1FZRFZRUUdFd0pWVXpFcE1DY0dBMVVFQ2hNZ1NXNTBaWEp1WlhRZ1UyVmpkWEpwZEhrZ1VtVnpaV0Z5ClkyZ2dSM0p2ZFhBeEZUQVRCZ05WQkFNVERFbFRVa2NnVW05dmRDQllNVEFlRncweU5EQXpNVE13TURBd01EQmEKRncweU56QXpNVEl5TXpVNU5UbGFNRE14Q3pBSkJnTlZCQVlUQWxWVE1SWXdGQVlEVlFRS0V3MU1aWFFuY3lCRgpibU55ZVhCME1Rd3dDZ1lEVlFRREV3TlNNVE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUNsWjNDTjBGYUJaQlVYWWMyNUJ0U3RHWkNNSmxBM21CWmprbFRiMmN5RUJaUHMwK3dJRzZCZ1VVTkkKZlN2SFNKYWV0QzNhbmNnbk8xZWhuNnZ3MWc3VURqREtiNXV4MGRha25USStXRTQxYjBWWWFIRVgvRDdZWFlLZwpMN0pSYkxBYVhiaFp6alZseUl1aHJ4QTMvK09jWGNKSkZ6VC9qQ3VMamZDOGNTeVREQjBGeExySHphckpYbnpSCnlRSDNuQVAyL0FwZDlOcDc1dHQyUW5EcjlFMGkyZ0IzYjliSlh4ZjkyblV1cFZjTTl1cGN0dUJ6cFdqUG9YVGkKZFlKK0VKL0I5YUxyQWVrNHNRcEV6TlBDaWZWSk5ZSUtOTE1jNllqQ1IwNkNEZ28yOEVkUGl2RXBCSFhhemVHYQpYUDllblppVnVwcEQwRXFpRndVQkJERFRNck9QQWdNQkFBR2pnZmd3Z2ZVd0RnWURWUjBQQVFIL0JBUURBZ0dHCk1CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0RBVEFTQmdOVkhSTUJBZjhFQ0RBR0FRSC8KQWdFQU1CMEdBMVVkRGdRV0JCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekFmQmdOVkhTTUVHREFXZ0JSNQp0Rm5tZTdibDVBRnpnQWlJeUJwWTl1bWJiakF5QmdnckJnRUZCUWNCQVFRbU1DUXdJZ1lJS3dZQkJRVUhNQUtHCkZtaDBkSEE2THk5NE1TNXBMbXhsYm1OeUxtOXlaeTh3RXdZRFZSMGdCQXd3Q2pBSUJnWm5nUXdCQWdFd0p3WUQKVlIwZkJDQXdIakFjb0JxZ0dJWVdhSFIwY0RvdkwzZ3hMbU11YkdWdVkzSXViM0puTHpBTkJna3Foa2lHOXcwQgpBUXNGQUFPQ0FnRUFVVGRZVXFFaW16VzdUYnJPeXBMcUNmTDdWT3dZZi9RNzlPSDVjSExDWmVnZ2ZRaERjb25sCms3S2doOGIwdmkrL1h1V3U3Q044bi9VUGVnMXZvM0crdGFYaXJyeXR0aFFpbkFIR3djL1VkYk95Z0phOXp1QmMKVnlxb0gzQ1hUWERJblQrOGErYzNhRVZNSjJTdCtwU240ZWQrV2tEcDhpanNpanZFeUZ3RTQ3aHVsVzBMdHpqZwo5Zk9WNVBtcmcvenhXYlJ1TCtrMERCREhFSmVubkNzQWVuN2MzNVBteDdqcG1KL0h0Z1JoY256MHlqU0J2eUl3CjZMMVFJdXBrQ3YyU0JPRFQveEREM2dmUVF5S3Y2cm9WNEcyRWhmRXlBc1dwbW9qeGpDVUNHaXlnOTdGdkR0bS8KTksyTFNjOWx5Ykt4QjczSTIrUDJHM0NhV3B2dnBBaUhDVnUzMGpXOEdDeEtkZmhzWHRuSXkyaW1za1FxVloybQowUG14b2JiMjhUdWNyN3hCSzdDdHd2UHJiNzlvczd1MlhQM081ZjliL0g2NkdOeVJyZ2xSWGxyWWpJMW9HWUwvCmY0STFuL1NndXNkYTZXdkE2QzE5MGt4alUxNVkxMm1IVTQrQnh5UjljeDJoaEdTOWZBak1aS0pzczI4cXh2ejYKQXh1NENhRG1STlpwSy9wUXJYRjE3eVhDWGttRVdndlNPRVp5Nlo5cGNiTElWRUdja1YvaVZlcTBBT28ycGtnOQpwNFFSSXkwdEsyZGlSRU5MU0YyS3lzRndiWTZCMjZCRmVGczN2MXNZVlJoRlc5bkxrT3JRVnBvckNTMEt5Wm1mCndWRDg5cVNUbG5jdExjWm5JYXZqS3NLVXUxbkExaVUweVlNZFllcEtSN2xXYm53aGR4M2V3b2s9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKSndJQkFBS0NBZ0VBdnN6eWhLTDYxMCtsNzE0aWkrS29qOFZIZWhmVGhuMUh6QUtJdlRJMUIvUWRJZVpDCmJSYWVCQ3BhL3ArSVI2UFhFcUgxcTBYekNsL2szcVZmM2ZrL045U1RocTQzMC8yT1lxRlY2ZHZlY3JvL3NBYXoKRWVGR1RvVlJ1cGkwVlBEdS92c25zWkdxSDBNV1MySWFrcDlBVlNsRlRidEdYMUtBaUo3bkN6cEd6SFdaM3FuaAp5eTJNdS9HMm4xNWtaSUxTQWxHN0prQW1aVEdsSmVXRGVhMG9TSlg3N2I1ZGFNRHF6eGM2UVdHVlFxa0FZcDFMCjQ4TUw0K1RUa2lab3FET3BXNXV5NHZxNmZlT3pTdUgzbXRGeEU1akZEd1V2cC9mNENUelJWbVNtYXYxZlB3NWcKS0w3N29hME92NDk4WmdJN0VBUmJVNmNHODhKYXdERDl3RVprenhycTlHdXNaTHVJSHJWNVlsenJhc011cDMxUQozM3hXWGxlbzVtTFB0cm4zQkZpYUl3V3dwZWlMYW4zTFlvUXp4U1pMdXQ2d045MGRZOFIwTXZkZjFuNUNDelgyCmhiZ2J5L1BMS2UxMFpaaWNRbjB0bXJHOTl1SGozN2M1TitOQ0gzdnVwd3VoUUJScG5jZ250cXF4UGhzMjl4VDMKSG9FZUViSFcrYjFtZHVMaG5KYXpSUWFHbUU3N3hhTFFyVkQyZjNYNktNOEdQRWpJMEZsTmIrb1lIbFJEd0xNTwpZc2Q0UEN6bTNVbFc3b2pLNTA1UFdyNkRyMGdCd3d2ZlhYbDQwK3JiS1M1UkliNEFkajBDM1h3VWdPbmFIMWFQCm9FRnVkYlhoWFcxOExQSmxqZnhRRkg3bFMvNDdPTWhxcGFOSy9aM09rQ3YvdnZyd2c1WmNCSW5XYTBrQ0F3RUEKQVFLQ0FnQTFQdHA2KzBTSEs1b0NCOElhU1lHQ3hhb2h2MTV2VEt6cG1OZHgvUDNobjFVMTdaMGg5a3JZbkwxUwpDMUVydE9SRE5lRnFENVk0a2ZRNzBlakQrRmVWREFTemRCRHVYdmNLUFQzTmltYzBteGRFMTBuSHRwYzVPR2xMCmFtd0F2RS9sNWs3NGRjOEU5R0xYWEtSUHdKTmljS2IvZjBDdlAwWFJXbzdkaWtEUnRBdmhvSVQ3ZjFXajZWdHUKZEJnT0dKZmt2OHc3YTNHTGtlUWxoRHhCaTNvUGI1T2prQmxmTDE4WHRjS3pGamxpSmVtT201amZFY0pTc2J2OQpNQ3pLcThnYVlZUDFaY1QvZHJqRkwvUTZSektJSm56dnFTSFlmUkhCK2kvdExSOW9BaGMvY0pLVExHRHFpSEh5Ck1XZWt6QUNSZ3JXOXpZSGFLcVhLdHFGSnRCdFRXUkszSXB3NEFob0VPVU1OaG4raC9YVnpxdThSNlJHN3hjY3cKREtidDk0NWtkMVo0ZThRdDRNbTVzaEpXU0VwR2NvaExObWFvNDZvL2FzVVZqQ2FkTEJSZWpjYkpZUlRnQjQzcApZQ2RPaURwNGRxNkJMaURSUlpxTDRIWFd3Vlo0MXcrRWNJY2xjeEx2L2FKZXJQeHg5U2ZZU3ptQWZ3aUZwRjBlCkR4SGt5bHArTE0rTmxtdUlmVjZwVEU3TFh4dXFmaGNuMFdYdEpBeHdZa3ZsU2tYK3ZudDdwVzVIaUtZRFhBbGkKak1Fd0oyK2FKc2czT1h3K3hCM25Obmg0Wm43dHd2QTJ1cXZNVnIxeGpRN3hPRW5BVCt5ZXFDRHdnNnp0aWFCMwpjYVlGMnJ4R083Smo4QllLM3dLenY5TVB1ZUowZHN0d1hhYjRRTFJIOGloNWVpcEhBUUtDQVFFQTUzRld3QjNQCi9qQ3RPWEw5T0thbHJNVkhqdUExVS9zRGx0ZFJPeWM2ekhkUGRUUGtBSlhWQzdxRitGQWJmaTBtdm01K2J1NUMKMkVGYXZGZ1JOU1A3YmthZWF4TzN0NGt2bWlxbTFvWnlTcGoyNEMrU2U3NTJUYllSNTgzSWJLZmM1eXJ4YTgwMQpEUlRLa2RyN1d4M2o0ckxrMERvRUw1clY0RzlaYlFzSi9EYVZEcEdkMWJGcHFlNVBtcFJrQThDWHpwQVdJN3l0ClhMRUE1bE81SlVLUFBOSUUzUURITmo4UTBIZlRhN3NEaGZzdTFkSnJIRzEwTk1tTjcyMm0xTGtpaHlkMTlESEEKaTRMa3BndGJkNUs3dUpPc0dCRWZzKzh2RVFpY29YRlBuVEJFWm54TnJtTEJXQnEvTkhjeCtRUlBTZGRyS29GNQpPQmRjamhXb25tMVlZUUtDQVFFQTB3dW1FL3k3aVVHdnlJdWN0RGR2KzBjL1FZRTlhTU9tNkFhMG5BaVZDRXlMCnBEYzBBQ2VFUGFSalRLcFJhalpJckg5YngveE8vWUpJUWhFRGI5ZWtxSk03bW5Nc0xkMXdrdTc3b284UTNDU3YKQlhFbU9nZUVhSUppVHpoKzI2bEc0b2VPSnBvVWJvNndrd2NzZ09hcWp0UEF0RVlFSC9tcndlbTJndU9DeWlhMwp3WDg0ZjcrMkdZbWNBZjNITHE1NGlBWGR3RGVYaTRlOS8zcHd5d2Yyc2J4QktkUkNyeXVYZWhrVjlTRGxPS1l1CmpFMm5DRW8yd2ordGNUZW5XRU1PUTc3OG1uemxrRnhWcU5JYVN3TTlGZUlRNmxHbExPK3paWWszNmYyUzdQUDkKVjJQR0c2SjhCVlJvc0lsWDJsZEc4R2NVaDQ1MGRoZXl1Smhqc1hiYjZRS0NBUUFuTExzSFY4UjkvUlZGRlI2aAplU3V2MjlDcDhXOTFZSmFSOEs0eU9naXMxVUVnMElDMlRLWThEdjFnTTRjRHkzYTBZeFdKaDFEUE0vaTh5cGRYCkRGa2hxRmhtUFhjcVhORXU0aXROUW9LVDkrSkp2aU9vU0d2VDZZNk1VdnVxMEpzR2tmRTlVd1c0eWgwanBSSkkKc1AyQ3dNOFVJODNUbFB6QXVYaEVpY3JONHh0RjFRWUhScmxnNXhLWVVxZS9MdGxEUUlaTzFEL3Y0WklLYW45NwpQQkhzdEl2WU1LcUhseE1zaGl2R0gyaVFSQjBBV2xhQkFGSGNJWVdoMGtpYjF4NXVEQkxlRzVIQXk0NFNRUGZoCmZIZkQzVk1TMjhzbTlNUmR1THh5WXpDYnBiRGVQQW9XQzJjNGw0Wm54Z2t5WWpWZGhWWUJZdHIyMEpWOUExT0EKUlhmaEFvSUJBQzh5SzdITWt5UGV6TERNaC83Rlp3V0txVnE4ekQ3aGdqSGhUZ0tXNkwweVlRZ1lVRWk0alpvNwphUGw4SFRqamF0MG9uaDNiRHM4aWs0WXl4OUg3SjVlTFZZajB1S3lKR09QRERnTU1lM2kvdTJROEtaQlFuZ3ZCCkhMc2FwMFA0VnlIUnJyaHpQSjU4eW9BVzJwejQrS3Q0TDJBaFNFcmVTc3JTdVQ0TUl2T1NOUVhRclpIa0RaVW8KY1BzQkJjb3F1a214QmlZMlNHMnJyWkcwa0FUWGd4TzhSZFpVNFpUSzZ0VWpSd1hLbFhoVnNaTXV5bXZRTE83RAp6c1hDN0dtUWxXQVJGZXgyZ2VBR3hpRTYyeVpyVXYzUjBIYVdTNW9CQU4xMEVrMEJxQm5WZHBKVWZia3dYUXZVCkZKVm1JWDl5aFNxOTRwbHVBaDFtcjFFWXd6S3NvZ0VDZ2dFQUE0a1g5NXNTem1nbHgvRllnMWY5QWl2QTZtY2oKUUtQTGFONXB2Nk1ENHhMZE9sdkU5STIyUzdtWGJJb1BFLzdQamV2OS93NDUvV2VPd09BQ3l0WFhnREkwd01EcwpDRlE4amRzaE5IYlBEQlFnUXU0TW1vOHVnZE5jbVFnWFRTeTJOcU9lL21RR1JrTUk2S2F2bHg4L0ErT1ZOMTZHCnAvVXQvY280emk5eUxFL3FXNDUxWW8rbWQzZ0JiZitwa0dDellMaXArOHNwVEtNRnRtTlVvcW1KWGI2NGk5Z3gKNFNvMkJlSHYyYTlYSDBZV0xiWTFaQ1J1UGN4ZHdRVWkrUC96ZFFzeHA3MENPQ3JINTdMditzM29aaVpNQ3gwZQpjYU52YnAvbmFsdEc3ZUlNeUZhQmFnL0xzcjJlRW1MaDgxdHRtRGhzbUVHNEV5Tk1JK1B2eTV3dWtBPT0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -283,7 +283,7 @@ "domain": { "main": "homeassistant.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdGRENDQlB5Z0F3SUJBZ0lTQmM2amtkWHUrL1pWN0hnbXpoQnRFb1lqTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05NalV4TVRJeE1qQXhNak14V2hjTk1qWXdNakU1TWpBeE1qTXdXakFuTVNVd0l3WURWUVFECkV4eG9iMjFsWVhOemFYTjBZVzUwTG1GMGFHRnNhV0Z3Y0hNdWVIbDZNSUlDSWpBTkJna3Foa2lHOXcwQkFRRUYKQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFueHNLUllhRUR0dkozaUJlNTA0UUphV0thUlNYMHBIZWRPR0J2MXhYVTU5QQp5TkRkNFNub2tXR3FpTUlaaTlKZGpRMWNjN05qRjlIRWxhZnVXdVRTKzMyTldEWEgwamYrYjBhYkRZSHlDY2gyCjNvV1dBZ0hvOFluc3pHeTl1SFlDbzIyVlhYYi9sV3NNUXlIQ0hHdjdaY3NrQzQycTBaWW1tb05zc2FoOWlQd04KNVRzTDBTUlJJV1l6M1FOTXBKeFF0V2hEbWRPaWNoL3pMLy9sdFAza1J2TDhuMlc3WmNNOWJoQXd3SUZUYzcySAorZnB2VlhCQWpLYklmOHFid2J4ZFRidTgyTTBSZk9MNGM3cmF2NE0yOEdsTUJlTGhjSXRZcE1ncmxxQWF6UzcrCjBVVWhMR0tBWUtMZnhRUysxeTdnbWZ2eXNpc1dJZWdEMFRUdGlZRDY2ZXpneVJNSGorTUdMWnF4ZHBoc2h0TkcKMk1Hc05yQVFXcFlHcWtldXMrRHl0bVViMkFSZ1RKU3lSd04zN2lTTDZmRkJUVSt3bCtIL0R4V0FtTTg0SVdsNwp6bk52ZnhxRHB6M1NtaFJXaVExaDhDK09ONmFCb0JyZHlBS1VtRVZkTW5NNktxdHFVQ2ZjcGVNbGRaUkVvM095CmE3a244R1k4K0pBeUVQdTh1emRSY3JCWHc5V2dtUG56endnaUZla0xNbVhIL0x2UXlGRkNzazRjU25JM1krTUIKaE9wZWNTVjBVSnhUdVhPTXQvNUE2QjRXSFdQOFdONDdQVzJCNkhHS295NnREeGhEMUtKL2VpRmlnUVdzVWtsRwpBd1RuK0pCckFaWkI5L2N6QVpjb285cXhlOGNrUGN3aXFyRkVFd3A5OXA2NGlqTm5hOTNobjMrczlRZ0phS1VDCkF3RUFBYU9DQWl3d2dnSW9NQTRHQTFVZER3RUIvd1FFQXdJRm9EQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0QKQVFZSUt3WUJCUVVIQXdJd0RBWURWUjBUQVFIL0JBSXdBREFkQmdOVkhRNEVGZ1FVcThWa0lYTUU5MFRkdEFzTgorNGpJM1N4NHhBa3dId1lEVlIwakJCZ3dGb0FVQUxVcDhpMk9iekhvbTB5dGVENzYzT2tNMGRJd013WUlLd1lCCkJRVUhBUUVFSnpBbE1DTUdDQ3NHQVFVRkJ6QUNoaGRvZEhSd09pOHZjakV5TG1rdWJHVnVZM0l1YjNKbkx6QW4KQmdOVkhSRUVJREFlZ2h4b2IyMWxZWE56YVhOMFlXNTBMbUYwYUdGc2FXRndjSE11ZUhsNk1CTUdBMVVkSUFRTQpNQW93Q0FZR1o0RU1BUUlCTUM0R0ExVWRId1FuTUNVd0k2QWhvQitHSFdoMGRIQTZMeTl5TVRJdVl5NXNaVzVqCmNpNXZjbWN2TXpZdVkzSnNNSUlCQkFZS0t3WUJCQUhXZVFJRUFnU0I5UVNCOGdEd0FIWUFHWWJVeHlpcWIvNjYKQTI5NEtrMEJrYXJPTFhJeEQ2N09YWEJCTFNWTXg5UUFBQUdhcUVHVitnQUFCQU1BUnpCRkFpQWQ3YlFXNVBZWgpEY29UTk1LaXV3MGFKZ0wySlF6K2h4VzZGUWN2M2tBZUV3SWhBTmVrTDROM1loWGVqb3VySEh4Z2tMNTlwb3Z1Cjlndm45UzkwNFJkb254UGNBSFlBU1p5YmFkNGRmT3o4TnQ3TmgyU211RnV2Q29lQUdkRlZVdnZwNnluZCtNTUEKQUFHYXFFR1Yrd0FBQkFNQVJ6QkZBaUVBNkxvSk9KbGQ0NytjdjRxcktYOUFvRTIxdGsrZ0NTdHlrSlhVeHVGZwpieWNDSUdwR1FLN2VaYVA0RGJjcWN3blNCd0NPNHQzNHg0VElBRXhsQmJPNXo1QWVNQTBHQ1NxR1NJYjNEUUVCCkN3VUFBNElCQVFBTFN0Sm5CY3BOb3hXa3VuSU44UmhEWDdJK2lJR0xVWVVMdDBhUGJQQUwzejVNSGNCYkZveDIKYmhnc3RLb0FNZlBZdlArZjYwNGp1OGpVYnA3WlNWT3hZOG02Wkd2QkpDMC85NnJVL3dVRHZlVkU1cFFsWVNzbApyV0YrcGlIQW5nVVJkQWF6bWNXZE5nS2dqYmxtUkVlckF4QmwweUJNQkRWZXE4R2tqdUNnSjJUM1FlSkNDZTNBClhjQkEyQm5jc1NjOUpRVFRGR2kxRzRxNFlwQWkzUm10bWxjUlJoaG1OQVp0bjdHeVlxVkJEOGZLRkgzRCtXQUUKc1hRY2FxOGcxVVVUdmZLYWgwd3Y3OWJRbXdYTGFnUHRDSnJhcUJQU3FuV3M1bWlKN3NoaWdhYnRURmxBZU0vRgpsR29JdkNTeVFZekFXOFovRVVSTytoZXFGaTdVOEU3egotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJqQ0NBdTZnQXdJQkFnSVJBTUlTTWt0d3FiU1JjZHhBOStLRkpqd3dEUVlKS29aSWh2Y05BUUVMQlFBdwpUekVMTUFrR0ExVUVCaE1DVlZNeEtUQW5CZ05WQkFvVElFbHVkR1Z5Ym1WMElGTmxZM1Z5YVhSNUlGSmxjMlZoCmNtTm9JRWR5YjNWd01SVXdFd1lEVlFRREV3eEpVMUpISUZKdmIzUWdXREV3SGhjTk1qUXdNekV6TURBd01EQXcKV2hjTk1qY3dNekV5TWpNMU9UVTVXakF6TVFzd0NRWURWUVFHRXdKVlV6RVdNQlFHQTFVRUNoTU5UR1YwSjNNZwpSVzVqY25sd2RERU1NQW9HQTFVRUF4TURVakV5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCCkNnS0NBUUVBMnBnb2RLMitsUDQ3NEI3aTVVdDFxeXdTZisybkF6SitOcGZzNkRHUHBST05DNWt1SHMwQlVUMU0KNVNodUNWVXhxcVVpWFhMMExRZkNUVUE4M3dFanVYZzM5UnBsTWpUbWhuR2RCTytFQ0Z1OUFocVo2NllCQUpwegprRzJQb2dlZzBKZlQya1ZoZ1RVOUZQbkV3RjlxM0F1V0dyQ2Y0eXJxdlNyV21NZWJjYXM3ZEE4ODI3Smd2bHBMClRoanAyeXB6WElsaFpaNys3VHlteTA1djVKNzVBRWF6L3hsTkttT3pqbWJHR0lWd3gxQmxienQwNVVpRER3aFkKWFMwam5WNmovdWpiQUtIUzlPTVpUZkx1ZXZZbm51WE5uQzJpOG4rY0Y2M3ZFemM1MGJUSUxFSFdoc0RwN0NINApXUnQvdVRwOG4xd0JuV0lFd2lpOUNxMDh5aERzR3dJREFRQUJvNEg0TUlIMU1BNEdBMVVkRHdFQi93UUVBd0lCCmhqQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBZ1lJS3dZQkJRVUhBd0V3RWdZRFZSMFRBUUgvQkFnd0JnRUIKL3dJQkFEQWRCZ05WSFE0RUZnUVVBTFVwOGkyT2J6SG9tMHl0ZUQ3NjNPa00wZEl3SHdZRFZSMGpCQmd3Rm9BVQplYlJaNW51MjVlUUJjNEFJaU1nYVdQYnBtMjR3TWdZSUt3WUJCUVVIQVFFRUpqQWtNQ0lHQ0NzR0FRVUZCekFDCmhoWm9kSFJ3T2k4dmVERXVhUzVzWlc1amNpNXZjbWN2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQk1DY0cKQTFVZEh3UWdNQjR3SEtBYW9CaUdGbWgwZEhBNkx5OTRNUzVqTG14bGJtTnlMbTl5Wnk4d0RRWUpLb1pJaHZjTgpBUUVMQlFBRGdnSUJBSTkxMEFuUGFuWklaVEtTM3JWRXlJVjI5QldFakFLL2R1dXo4ZUw1Ym9Tb1ZwSGhra3YzCjRlb0FlRWlQZFpMajVFWjdHMkFySUsrZ3poVGxSUTFxNEZLR3BQUGFGQlNwcVYveGJVYjVVbEFYUU9ua0huM20KRlZqK3FZdjg3L1dlWStCbTRzTjNPeDhCaHlhVTdVQVEzTGVaN04xWDAxeHhRZTR3SUFBRTNKVkxVQ2lIbVpMKwpxb0NVdGdZSUZQZ2NnMzUwUU1VSVdneFBYTkdFbmNUOTIxbmU3bmx1STAyVjhwTFVtQ2xxWE9zQ3dVTHcrUFZPClpDQjdxT014eE1Cb0NVZUwyTGw0b01wT1NyNXBKQ3BMTjN0UkEyczZQMUtMczlUU3JWaE9rKzdMWDI4Tk1VbEkKdXNRL254TEpJRDBSaEFlRnRQanlPQ09zY1FCQTUzK05SalNDYWs3UDRBNWpYN3BwbWtjSkVDTCtTMGkza1hWVQp5NU1lNUJiclU4OTczalpOdi9heDYrWks2VE04aldtaW1MNm9mNk9yWDdaVTZFMldxYXp6c0ZyTEczbzJreVNiCnpsaFNnSjgxQ2w0dHYzU2JZaVlYbkpFeEtRdnpmODNEWW90b3gzZjBmd3Y3eGxuMUEyWkxwbENiME8rbC9BSzAKWUUwRFMyRlB4U0FIaTBpd01mVzJuTkhKclhjWTNMTEhENzdnUmdqZTRFdmV1YmkyeHhhK05tay9obWhMZElFVAppVkRGYW5vQ3JNVklwUTU5WFdIa3pkRm1vSFhIQlY3b2liVmpHU083VUxTUTdNSjFOejUxcGh1REpTZ0FJVTdBCjB6ckxuT3JBai9kZnJsRVdSaEN2QWdidXdMWlgxQTJzak5qWG9QT0hic1BpeStsTzFLRjgvWFk3Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdFekNDQlB1Z0F3SUJBZ0lTQldHdFM0bEtLR2ltMlRRM3g0WjIyR3U2TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRJeE1UWXdPRFEyV2hjTk1qWXdOREl4TVRZd09EUTFXakFuTVNVd0l3WURWUVFECkV4eG9iMjFsWVhOemFYTjBZVzUwTG1GMGFHRnNhV0Z3Y0hNdWVIbDZNSUlDSWpBTkJna3Foa2lHOXcwQkFRRUYKQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFueHNLUllhRUR0dkozaUJlNTA0UUphV0thUlNYMHBIZWRPR0J2MXhYVTU5QQp5TkRkNFNub2tXR3FpTUlaaTlKZGpRMWNjN05qRjlIRWxhZnVXdVRTKzMyTldEWEgwamYrYjBhYkRZSHlDY2gyCjNvV1dBZ0hvOFluc3pHeTl1SFlDbzIyVlhYYi9sV3NNUXlIQ0hHdjdaY3NrQzQycTBaWW1tb05zc2FoOWlQd04KNVRzTDBTUlJJV1l6M1FOTXBKeFF0V2hEbWRPaWNoL3pMLy9sdFAza1J2TDhuMlc3WmNNOWJoQXd3SUZUYzcySAorZnB2VlhCQWpLYklmOHFid2J4ZFRidTgyTTBSZk9MNGM3cmF2NE0yOEdsTUJlTGhjSXRZcE1ncmxxQWF6UzcrCjBVVWhMR0tBWUtMZnhRUysxeTdnbWZ2eXNpc1dJZWdEMFRUdGlZRDY2ZXpneVJNSGorTUdMWnF4ZHBoc2h0TkcKMk1Hc05yQVFXcFlHcWtldXMrRHl0bVViMkFSZ1RKU3lSd04zN2lTTDZmRkJUVSt3bCtIL0R4V0FtTTg0SVdsNwp6bk52ZnhxRHB6M1NtaFJXaVExaDhDK09ONmFCb0JyZHlBS1VtRVZkTW5NNktxdHFVQ2ZjcGVNbGRaUkVvM095CmE3a244R1k4K0pBeUVQdTh1emRSY3JCWHc5V2dtUG56endnaUZla0xNbVhIL0x2UXlGRkNzazRjU25JM1krTUIKaE9wZWNTVjBVSnhUdVhPTXQvNUE2QjRXSFdQOFdONDdQVzJCNkhHS295NnREeGhEMUtKL2VpRmlnUVdzVWtsRwpBd1RuK0pCckFaWkI5L2N6QVpjb285cXhlOGNrUGN3aXFyRkVFd3A5OXA2NGlqTm5hOTNobjMrczlRZ0phS1VDCkF3RUFBYU9DQWlzd2dnSW5NQTRHQTFVZER3RUIvd1FFQXdJRm9EQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0QKQVFZSUt3WUJCUVVIQXdJd0RBWURWUjBUQVFIL0JBSXdBREFkQmdOVkhRNEVGZ1FVcThWa0lYTUU5MFRkdEFzTgorNGpJM1N4NHhBa3dId1lEVlIwakJCZ3dGb0FVNTZ1ZkR5d3pvRlBUWGs5NHlMS0VEanZXa2pNd013WUlLd1lCCkJRVUhBUUVFSnpBbE1DTUdDQ3NHQVFVRkJ6QUNoaGRvZEhSd09pOHZjakV6TG1rdWJHVnVZM0l1YjNKbkx6QW4KQmdOVkhSRUVJREFlZ2h4b2IyMWxZWE56YVhOMFlXNTBMbUYwYUdGc2FXRndjSE11ZUhsNk1CTUdBMVVkSUFRTQpNQW93Q0FZR1o0RU1BUUlCTUM0R0ExVWRId1FuTUNVd0k2QWhvQitHSFdoMGRIQTZMeTl5TVRNdVl5NXNaVzVqCmNpNXZjbWN2TlRrdVkzSnNNSUlCQXdZS0t3WUJCQUhXZVFJRUFnU0I5QVNCOFFEdkFIWUFaQkhFYktRUzdLZUoKSEtJQ0xnQzhxMDhvQjlRZU5TZXI2djdWQThsOXpmQUFBQUdiNFlaWVBBQUFCQU1BUnpCRkFpRUEzMk8wRmVQYQp5dTBZc1M2eGxXd2I0Z2xxYWxZRW1TbXBGempzejNFb3BDUUNJRFBxQndzQUZqUjhHSUw4UHI5SDBnRUp0STlHCmF5dXNDMElnS3NqdC82YWJBSFVBRGxlVXZQT3VxVDR6R3l5WkI3UDNrTitid2oxeE1pWGRJYWtsckdIRlRpRUEKQUFHYjRZWllQZ0FBQkFNQVJqQkVBaUJuMkdnQ0pSd2VYczNDK3ZuWVNlUUJpQ2UyL29HNnRWMWJKdXRmbEdZdwpCQUlnYVhIRlFZczZtNHl2WmRqSi9CMEZVZ3A1c09pQVhoR0MzRHhPWUNJSGVxd3dEUVlKS29aSWh2Y05BUUVMCkJRQURnZ0VCQUdVQU16cDVHaDlab1BBWHRXNnhUcmo4QzRQUDRFcnltMnppYWZQbGNpSDNmVWdmQXdodmgrWk4KUzgvMlJQYkNmN0E2Rll5TVU1dVZFZWNWOG1aSGtwYi9hcHJNQ2JqR3ZvZ3QxWEo5eWZWa21hV0RBRGJOVmZmUwpKZjZCM3I2dE1SVUhhekI3ZFFvRWRRbjZDdGNjVXUxSjgvOXY0NVZxeFZnUHIxVERJQXlSWUtGa1BtRXA4aXZQCk1ZTmV1VStVckhoVnVUZll4c0VOOXBSLzJPRUcrbmxOakpTLzZ3Sld2SVVsbTFCRjVnRXJMcXJvbGRRMGFJL3gKOTJmcHNFSjQvOUtEb3VLamt2b2c5NVVsTHhDOWw1bFdIQkh2L3QrbEtNQndWcVpKcU56OFMvck9hbnlNY1h6QQpoU3NNNXJpVkhEcFNpZWU4aytLY2tuKzNFNlRUSzlFPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJUQ0NBdTJnQXdJQkFnSVFXZ0R5RXRqVXRJRHpra0ZYNmltREJUQU5CZ2txaGtpRzl3MEJBUXNGQURCUApNUXN3Q1FZRFZRUUdFd0pWVXpFcE1DY0dBMVVFQ2hNZ1NXNTBaWEp1WlhRZ1UyVmpkWEpwZEhrZ1VtVnpaV0Z5ClkyZ2dSM0p2ZFhBeEZUQVRCZ05WQkFNVERFbFRVa2NnVW05dmRDQllNVEFlRncweU5EQXpNVE13TURBd01EQmEKRncweU56QXpNVEl5TXpVNU5UbGFNRE14Q3pBSkJnTlZCQVlUQWxWVE1SWXdGQVlEVlFRS0V3MU1aWFFuY3lCRgpibU55ZVhCME1Rd3dDZ1lEVlFRREV3TlNNVE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUNsWjNDTjBGYUJaQlVYWWMyNUJ0U3RHWkNNSmxBM21CWmprbFRiMmN5RUJaUHMwK3dJRzZCZ1VVTkkKZlN2SFNKYWV0QzNhbmNnbk8xZWhuNnZ3MWc3VURqREtiNXV4MGRha25USStXRTQxYjBWWWFIRVgvRDdZWFlLZwpMN0pSYkxBYVhiaFp6alZseUl1aHJ4QTMvK09jWGNKSkZ6VC9qQ3VMamZDOGNTeVREQjBGeExySHphckpYbnpSCnlRSDNuQVAyL0FwZDlOcDc1dHQyUW5EcjlFMGkyZ0IzYjliSlh4ZjkyblV1cFZjTTl1cGN0dUJ6cFdqUG9YVGkKZFlKK0VKL0I5YUxyQWVrNHNRcEV6TlBDaWZWSk5ZSUtOTE1jNllqQ1IwNkNEZ28yOEVkUGl2RXBCSFhhemVHYQpYUDllblppVnVwcEQwRXFpRndVQkJERFRNck9QQWdNQkFBR2pnZmd3Z2ZVd0RnWURWUjBQQVFIL0JBUURBZ0dHCk1CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0RBVEFTQmdOVkhSTUJBZjhFQ0RBR0FRSC8KQWdFQU1CMEdBMVVkRGdRV0JCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekFmQmdOVkhTTUVHREFXZ0JSNQp0Rm5tZTdibDVBRnpnQWlJeUJwWTl1bWJiakF5QmdnckJnRUZCUWNCQVFRbU1DUXdJZ1lJS3dZQkJRVUhNQUtHCkZtaDBkSEE2THk5NE1TNXBMbXhsYm1OeUxtOXlaeTh3RXdZRFZSMGdCQXd3Q2pBSUJnWm5nUXdCQWdFd0p3WUQKVlIwZkJDQXdIakFjb0JxZ0dJWVdhSFIwY0RvdkwzZ3hMbU11YkdWdVkzSXViM0puTHpBTkJna3Foa2lHOXcwQgpBUXNGQUFPQ0FnRUFVVGRZVXFFaW16VzdUYnJPeXBMcUNmTDdWT3dZZi9RNzlPSDVjSExDWmVnZ2ZRaERjb25sCms3S2doOGIwdmkrL1h1V3U3Q044bi9VUGVnMXZvM0crdGFYaXJyeXR0aFFpbkFIR3djL1VkYk95Z0phOXp1QmMKVnlxb0gzQ1hUWERJblQrOGErYzNhRVZNSjJTdCtwU240ZWQrV2tEcDhpanNpanZFeUZ3RTQ3aHVsVzBMdHpqZwo5Zk9WNVBtcmcvenhXYlJ1TCtrMERCREhFSmVubkNzQWVuN2MzNVBteDdqcG1KL0h0Z1JoY256MHlqU0J2eUl3CjZMMVFJdXBrQ3YyU0JPRFQveEREM2dmUVF5S3Y2cm9WNEcyRWhmRXlBc1dwbW9qeGpDVUNHaXlnOTdGdkR0bS8KTksyTFNjOWx5Ykt4QjczSTIrUDJHM0NhV3B2dnBBaUhDVnUzMGpXOEdDeEtkZmhzWHRuSXkyaW1za1FxVloybQowUG14b2JiMjhUdWNyN3hCSzdDdHd2UHJiNzlvczd1MlhQM081ZjliL0g2NkdOeVJyZ2xSWGxyWWpJMW9HWUwvCmY0STFuL1NndXNkYTZXdkE2QzE5MGt4alUxNVkxMm1IVTQrQnh5UjljeDJoaEdTOWZBak1aS0pzczI4cXh2ejYKQXh1NENhRG1STlpwSy9wUXJYRjE3eVhDWGttRVdndlNPRVp5Nlo5cGNiTElWRUdja1YvaVZlcTBBT28ycGtnOQpwNFFSSXkwdEsyZGlSRU5MU0YyS3lzRndiWTZCMjZCRmVGczN2MXNZVlJoRlc5bkxrT3JRVnBvckNTMEt5Wm1mCndWRDg5cVNUbG5jdExjWm5JYXZqS3NLVXUxbkExaVUweVlNZFllcEtSN2xXYm53aGR4M2V3b2s9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBbnhzS1JZYUVEdHZKM2lCZTUwNFFKYVdLYVJTWDBwSGVkT0dCdjF4WFU1OUF5TkRkCjRTbm9rV0dxaU1JWmk5SmRqUTFjYzdOakY5SEVsYWZ1V3VUUyszMk5XRFhIMGpmK2IwYWJEWUh5Q2NoMjNvV1cKQWdIbzhZbnN6R3k5dUhZQ28yMlZYWGIvbFdzTVF5SENIR3Y3WmNza0M0MnEwWlltbW9Oc3NhaDlpUHdONVRzTAowU1JSSVdZejNRTk1wSnhRdFdoRG1kT2ljaC96TC8vbHRQM2tSdkw4bjJXN1pjTTliaEF3d0lGVGM3MkgrZnB2ClZYQkFqS2JJZjhxYndieGRUYnU4Mk0wUmZPTDRjN3JhdjRNMjhHbE1CZUxoY0l0WXBNZ3JscUFhelM3KzBVVWgKTEdLQVlLTGZ4UVMrMXk3Z21mdnlzaXNXSWVnRDBUVHRpWUQ2NmV6Z3lSTUhqK01HTFpxeGRwaHNodE5HMk1HcwpOckFRV3BZR3FrZXVzK0R5dG1VYjJBUmdUSlN5UndOMzdpU0w2ZkZCVFUrd2wrSC9EeFdBbU04NElXbDd6bk52CmZ4cURwejNTbWhSV2lRMWg4QytPTjZhQm9CcmR5QUtVbUVWZE1uTTZLcXRxVUNmY3BlTWxkWlJFbzNPeWE3a24KOEdZOCtKQXlFUHU4dXpkUmNyQlh3OVdnbVBuenp3Z2lGZWtMTW1YSC9MdlF5RkZDc2s0Y1NuSTNZK01CaE9wZQpjU1YwVUp4VHVYT010LzVBNkI0V0hXUDhXTjQ3UFcyQjZIR0tveTZ0RHhoRDFLSi9laUZpZ1FXc1VrbEdBd1RuCitKQnJBWlpCOS9jekFaY29vOXF4ZThja1Bjd2lxckZFRXdwOTlwNjRpak5uYTkzaG4zK3M5UWdKYUtVQ0F3RUEKQVFLQ0FnRUFrYmJkQ0dHeXpqeml1MmxnSVd6d0F0cUNVY3lIWTFVdXJGTGZWbGVHcnRJYUxoQ0VOTFFDQ0N1dgpXRUtUek9kandFdnRVUldJZW9jbUNIM2RJU2VTUnJ0czJNMmdiTm5WVHlvVjFTQWVnSEUwMUlUNXBtc0RZVHNWClFQK1NIYjhPbVloQ0ZIQm9rUHFTSjJWaWRrODYxYlpmRTZteU9QTFA5aERKV2tmYWVMdUhLbHFTYnY5WXdrTHMKMnN3cnhGSlk1RnRTRmk2cUJ1VlYvcTdaUEpLT0g2Qm9WcitBQ2ludU43L2lObHY3QnZRYzlZY3pzY2IxaHhzMApZejAydXc3OVVMVFF0cW5SQzFSL2dOWXZndGYwVitmSHRWaGRhWXBsSzcwYmxuNlpMVE9PTWpDaXVoaVlSR2pHCmtaVFFCeGtxb0R3THdMc1BNUXhoZXBlRHVMd0Vqd2pXNUZ1RGtIeWRwY1A2WG0vbXR4ZlMwcDBMaTU1TDNnVngKZ05La0xjSGtlVUtaZmNScVRYdm9ITG14R3ZobzFEdERaTFFUaGgxU2hrSjk3SXdrNkxTOUNoTUFGQjBjeHN6YwpCN3lUYXl6aHlHL3JCNGdVMmszOTBpRVFXTHFEdytodjd2eXdwVTRjTXlSZkppT1dQa3R2NmptS1BqWFByN3dYCnJKMWpWN3dhRlhPZjJrZyt5MTR4SFMrZ3Zsd3JLSGx4VHBOT1NOd3pEWlZESDZjRHF4RGpacml1SlBWL0hHdDkKNTV2b09FOG1FVm85bTkzN3M5VXlEOUVkQWtGWDhIc0JIcDEyb3FHdnNDVHZpYkNWWHBFTEZ6R05jZmJ6ZGF3TwpMQVVQUE40TC9LVlpIeThIUWFvUkVPc2t5elpmZ0pBYTNVVGkxcGVCb09tN3RuM2I5NEVDZ2dFQkFOTDJFbXZ6CkRYNnRBQmV1dlJycFJaOGF2RkRpM3RXVGsxOHFKV0Z0d2pjZlUzM0x0Z2d1SHNGRnN5MHNySVdOVTRqLzY0QzkKV1REcXZyWHljWlh2QzhPTG9UNnE5SStWUHdLUHpoZjZ1Ni9mZTQwTlVZV1hCZVFxK0V6ckhqNzBMeGEzNGc3dQpHQWNERkVWdjJNdUxYVlNPSG1JMWtIcTlWakFHaDlOejdLR3BrcHZjTXk5b1kreFl4cUFmZXBLcnVZeFBvQzZXCmZrR0V6VWdxV1BNZCtQdHZmdXlUSHBuWTRvUFQxTVMrMlBKOFhWUVR5b0xkTHZIay9wMU0vVDJzRjd4RG9TNFQKNFVrd1VjcldjZWhUMkI3VkZkaXQ5Sncxa0Qyblo1MktiZklqWmZxNVhwQ1VKSTU5YjEzdHMvbjNQMEdYU1p6UApCdThpS2RPV29ZVCtLR0VDZ2dFQkFNRVMxdU1abCtya2h5VmZXR2FtbG1HY0RIanFUVFpvaXZlblQxbDhZdEtKCksvSk5HVUUxNHNpVVd5ZGM0OWNxN1BCT3VVSnY5Qmd2N0prVlNuTVZ6aFdYenFmVUpJZ2UrWjJpTk1xVEtCMDEKUUJXNGpycjlheSsvL3BmSVRtU1ZTS2s2THU2bzNmc0xwU2dacTlaRnhnUzlUdUcyVTR6NVp4VUljNktSTHFPQQpWSjFGRDQ4aTJEblluK1hZalY2TURJWTVNdEI0QUZ0eThIdCttY0hLM1pSMkpNUythLzBYSCszM1JEeC9qYUJoCndSclNUVHZwZk1Idjc4UWV0VnVJMjYzcHA2ZDdzZ1duclg2QUZwcVA5VHhSWTRVaXZoRS9udjU3TnVyRmUyejkKVUdXb1pVK2RXUGc3R3hKSEZFVU9yVyttMXhneVI1cVM0TlpoM0lwOEZzVUNnZ0VBSk4rTDRzQnQ2R2xXcmMwRwpFckVaVVREOEgyczRKYjZRc0w2T0lCUnVNUEpSeHBnWHJpQlprZENiKzlabUpVWEpoeFdzVlNsRGNMQm5PeWd3ClFGT3pDNi9aTkRudld6VnIrUWVucnp0TkdQV0lBK1NERGtXU2F3b3pza1lhV0VpWC9uR1BtcXAxR3F5b0cyYnMKVHMrQ05haE5tVDdoalFLUkVQM2pPY3QyWGQ5azE4ZEtUd3dCQXl1Vk5DR3NhL3lHQndkWDZTeTJ6cjdtbnFtQQpPS1pSZ2FsQVZ4dHo2dElrN1lQV0dibDk5QXhXeDc1WjFEdlMyOGI1MWdiQjhNaW1zV3BrdnNnTXhaMGpmcit5CjB6ZnNlNThsSFdWeWJ1ZFIyZVRyMEhhRXR5RUd6eWNkWjBudGhkWlk0K01MWlRLWkpON0xxQlByazFxMlV0eHUKU08rZm9RS0NBUUFSSkpZVjVnRGFKMTVra0JtdVM1NVFubVZ4R3dTdUR3dy92d2hKbnNTN2d0aDNGQ2RvNWRyMApDbEFwcDVMSFdSVmVwTzdJR2w2bkF5SlQyVk1aOHRhd2ppRVlQN3JhcHoxc3BLbGhUejJoa2tmVlplU3ViNi9qCnRuMXBocXlITzhZTzJJNndQQ2d4a1RBaDVsMmVrZVZxS0ZEbnM2T3BnYitJVzQ3QTRYa3RwVWhlQ25LK044N1IKSEEzZWY2TFZ3VU9mYTFhNnNkeitRYTllbDdnWlArVDZ1SjY5SlZjN1NxRllKTHRYVDlBSWJJV1QxeFpxZW1uTQpZbng4Z21tQjdoM3JURExKcVM3K1Y0d05EbHh6YnRMTWYwR0I0YnJVbHp5THhlN3pXNE9CQXVEdmxjc2hEWXlICnhkKzZlTHN4QW9PZHhVZVY2MmoyTFpKdkZwTlpiSGt0QW9JQkFEak5zdWJHVGtXajVBb0FKeGE0c1gwM3RDcHEKSm5yZVc0Z0tPRURBSTNwb2oxeUpEWnZMSjQ0Mit1SURLZDZleGtBMjdzTk0vT1dBUUxXRDFrREZaYjNhUkZoYQpBUk5qc2FSVEdmRlVVdXNwdTRtMFpHNUNsMTdDdzlCZ3ZyZHoxZlhUazdTUHJMbnR4emdhb1hteVByV3doRFloClpPTU82ZjFCcjNQNnF4b1JNTHR4Y1Jta3VUZ3dqWWN6K2Ixak5SQzcwcXJWRTVtSW04U2VYek90dDhQVytuL0QKVGVHbFd4QmJ5NUkvSmt3RkNlU3E3OWRGcmxKR3FIbWxVSGh3YzA5RkgzaU55Rk9raXJCY2p1VGkrdVBkYkNLTApNR3BzOHhFK0xGd2ZiWGVuQmNYdFl4U3lOU21NUVhuYWRqWkg1blQ1dVBHZXpXTzBDWEJGa0tEZWpxaz0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -291,7 +291,7 @@ "domain": { "main": "wg.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUYvVENDQk9XZ0F3SUJBZ0lTQmNONmYzM01BQmtHQSs5ZUw4aklFVXduTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXhNak00V2hjTk1qWXdNakU1TWpBeE1qTTNXakFjTVJvd0dBWURWUVFECkV4RjNaeTVoZEdoaGJHbGhjSEJ6TG5oNWVqQ0NBaUl3RFFZSktvWklodmNOQVFFQkJRQURnZ0lQQURDQ0Fnb0MKZ2dJQkFLUUlLYUw5bVZKcHZpWWowckx2d1lNQ0FIVkRDUVRLOC9QWUZuMkExcHFweVNLQit0dkNwOWNXTTBIbApSaEVucUtkN2pqbEJ6OC9XMEdqNnhITGhJeFNNTFBKaE5HeTVKd1E4bU50Tm51MGczY2tBR29jVjF5K2J3SWJCCkRLZlphOHdwWWJHZS9LVUVKcG81Wk5UZmVCbVp5Y0Z3bTRsdVRsRjZsVDVBdkdCbWRYeENqT1FxbjVRbmFncEkKa2ZrYXZyMXdvb243a3hKNm9aeWd5OHVjTXdmMENsSUoxQjlkbjM2Z1d5Qm9ERWVHUkxDVU1YQ0NWWnQwWVpjdgp0RCt3Z09rN21Ya3U0U0h6YmFtTndtRUNLdi91THdFWGIrK0VhZjdtQmMxMUlNQVNGb2pxM1R2RDRCenZ2bHdGCjZ6QVc1enlCRGpVSjhEa0RmbVprME1URktvcjl4RytLc1NWQzFSTXMrVDJFb01nZ2ErLzJsMUVJTDJqbVdLenYKdGd5cFREcE9teVMrL0k5bFh4dmYwa285NFZZTkcvZHBhcWp6VWVsVnhKajNUdnlTbW9vN0p2Y2wvSXpTTWJ3OQprM0ZCYi9LT2luVWVRYTJUVW5HZ1RFVkNSS3c3RnBKUXIwYzNtTUExZ2hLenZzWU90eUJiaGFjeDZsaEJ2akowCjZmNS8xb2Y5OUllL29uc2tCdnpaUEF6N0w0SlFOSW9VTjVSOG5RUW9TNGlEU04xVVJLTWZBNEMzMUJ1WHRZWWQKSXJteXA4REdDQldqM1VLblV3NERYUEc4ci9ZZDZXTW0wN1QvakkxZ3VMcTZZLzBtVlhnVGJVU1lQU1h6Y0NpawpGSHVBZWZ1WndNelJNdXp1aDU3UXB0eFlZMXRzMlZEWm15SCt4SGdKekNoLzYrWi9BZ01CQUFHamdnSWdNSUlDCkhEQU9CZ05WSFE4QkFmOEVCQU1DQmFBd0hRWURWUjBsQkJZd0ZBWUlLd1lCQlFVSEF3RUdDQ3NHQVFVRkJ3TUMKTUF3R0ExVWRFd0VCL3dRQ01BQXdIUVlEVlIwT0JCWUVGTWc0WmFUcWhZeG9pVmlGRGdGRElyT25IeHFMTUI4RwpBMVVkSXdRWU1CYUFGT2Vybnc4c002QlQwMTVQZU1peWhBNDcxcEl6TURNR0NDc0dBUVVGQndFQkJDY3dKVEFqCkJnZ3JCZ0VGQlFjd0FvWVhhSFIwY0RvdkwzSXhNeTVwTG14bGJtTnlMbTl5Wnk4d0hBWURWUjBSQkJVd0U0SVIKZDJjdVlYUm9ZV3hwWVhCd2N5NTRlWG93RXdZRFZSMGdCQXd3Q2pBSUJnWm5nUXdCQWdFd0xnWURWUjBmQkNjdwpKVEFqb0NHZ0g0WWRhSFIwY0RvdkwzSXhNeTVqTG14bGJtTnlMbTl5Wnk4ME1DNWpjbXd3Z2dFREJnb3JCZ0VFCkFkWjVBZ1FDQklIMEJJSHhBTzhBZGdBWmh0VEhLS3B2L3JvRGIzZ3FUUUdScXM0dGNqRVByczVkY0VFdEpVekgKMUFBQUFacW9RYThjQUFBRUF3QkhNRVVDSUNMTGFYQ2U2OWVTKzBDTGgxU052WmR2QkEzNmIxbjlYVjFTZ25MawppL1JZQWlFQWh4ZE1DNllyRitWUytiUDgyVFFMSHFsSlkrQmhLTm4waEU3TEVnNWE4cjRBZFFCSm5KdHAzaDE4CjdQdzIzczJIWkthNFc2OEtoNEFaMFZWUysrbnJLZDM0d3dBQUFacW9RYThjQUFBRUF3QkdNRVFDSUhETUlsbisKd0ZLc1hYQWxOQ3ZITVAxL1YrZGt3THpxSElDTmVEWUViTklxQWlCYlE1cDJaRHZFbG5oOVhQb3lNZDh5K3V6YgpiU0VRdDRGd1dWc3dEa0ZQMERBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQUtpRk85YlBJYWE5UGFlWmEwbStvCms5VzZUZHF6L1drSzAzWXNPYjZuL2pubXJER0FrelZzcTlyODdXMWVNVHN4dU9RSUVIdmEwY2lvNCt1WDRTOWIKRGxQNzM1dEYwNUs5dzdlSFduNGFHTy9HU1FLQ25HMERkMzFld2QvQkprN2N4L2FFeGJnenlyMjBCWXdDNDhrNQowT0J4VnBZbmNjczhNWnZrMVA1ZDNmTm9jSVc2QlZJTlh4OFQ1Vnc1WEdReXJJWlU5elFxOER0MzlJUXJHdS9wCnRyZTdYNHdXZGpacWw1US9LNklsT0xJTkNMRUxNbzB4ZkN2Q0lSb2pwZ3gvWHhSSU5vUktBVmpLTUl5UTAyTjMKZ25na3dleXB2UXlwT2tvVXNDY1dWb3pyRXo3RERCclg5NlJveHh2RmRlV0RmckZqQjRFN25wKzhSK2laS1BNSQpJZz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQlRDQ0F1MmdBd0lCQWdJUVdnRHlFdGpVdElEemtrRlg2aW1EQlRBTkJna3Foa2lHOXcwQkFRc0ZBREJQCk1Rc3dDUVlEVlFRR0V3SlZVekVwTUNjR0ExVUVDaE1nU1c1MFpYSnVaWFFnVTJWamRYSnBkSGtnVW1WelpXRnkKWTJnZ1IzSnZkWEF4RlRBVEJnTlZCQU1UREVsVFVrY2dVbTl2ZENCWU1UQWVGdzB5TkRBek1UTXdNREF3TURCYQpGdzB5TnpBek1USXlNelU1TlRsYU1ETXhDekFKQmdOVkJBWVRBbFZUTVJZd0ZBWURWUVFLRXcxTVpYUW5jeUJGCmJtTnllWEIwTVF3d0NnWURWUVFERXdOU01UTXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUsKQW9JQkFRQ2xaM0NOMEZhQlpCVVhZYzI1QnRTdEdaQ01KbEEzbUJaamtsVGIyY3lFQlpQczArd0lHNkJnVVVOSQpmU3ZIU0phZXRDM2FuY2duTzFlaG42dncxZzdVRGpES2I1dXgwZGFrblRJK1dFNDFiMFZZYUhFWC9EN1lYWUtnCkw3SlJiTEFhWGJoWnpqVmx5SXVocnhBMy8rT2NYY0pKRnpUL2pDdUxqZkM4Y1N5VERCMEZ4THJIemFySlhuelIKeVFIM25BUDIvQXBkOU5wNzV0dDJRbkRyOUUwaTJnQjNiOWJKWHhmOTJuVXVwVmNNOXVwY3R1QnpwV2pQb1hUaQpkWUorRUovQjlhTHJBZWs0c1FwRXpOUENpZlZKTllJS05MTWM2WWpDUjA2Q0RnbzI4RWRQaXZFcEJIWGF6ZUdhClhQOWVuWmlWdXBwRDBFcWlGd1VCQkREVE1yT1BBZ01CQUFHamdmZ3dnZlV3RGdZRFZSMFBBUUgvQkFRREFnR0cKTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQ0JnZ3JCZ0VGQlFjREFUQVNCZ05WSFJNQkFmOEVDREFHQVFILwpBZ0VBTUIwR0ExVWREZ1FXQkJUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QWZCZ05WSFNNRUdEQVdnQlI1CnRGbm1lN2JsNUFGemdBaUl5QnBZOXVtYmJqQXlCZ2dyQmdFRkJRY0JBUVFtTUNRd0lnWUlLd1lCQlFVSE1BS0cKRm1oMGRIQTZMeTk0TVM1cExteGxibU55TG05eVp5OHdFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3SndZRApWUjBmQkNBd0hqQWNvQnFnR0lZV2FIUjBjRG92TDNneExtTXViR1Z1WTNJdWIzSm5MekFOQmdrcWhraUc5dzBCCkFRc0ZBQU9DQWdFQVVUZFlVcUVpbXpXN1Rick95cExxQ2ZMN1ZPd1lmL1E3OU9INWNITENaZWdnZlFoRGNvbmwKazdLZ2g4YjB2aSsvWHVXdTdDTjhuL1VQZWcxdm8zRyt0YVhpcnJ5dHRoUWluQUhHd2MvVWRiT3lnSmE5enVCYwpWeXFvSDNDWFRYREluVCs4YStjM2FFVk1KMlN0K3BTbjRlZCtXa0RwOGlqc2lqdkV5RndFNDdodWxXMEx0empnCjlmT1Y1UG1yZy96eFdiUnVMK2swREJESEVKZW5uQ3NBZW43YzM1UG14N2pwbUovSHRnUmhjbnoweWpTQnZ5SXcKNkwxUUl1cGtDdjJTQk9EVC94REQzZ2ZRUXlLdjZyb1Y0RzJFaGZFeUFzV3Btb2p4akNVQ0dpeWc5N0Z2RHRtLwpOSzJMU2M5bHliS3hCNzNJMitQMkczQ2FXcHZ2cEFpSENWdTMwalc4R0N4S2RmaHNYdG5JeTJpbXNrUXFWWjJtCjBQbXhvYmIyOFR1Y3I3eEJLN0N0d3ZQcmI3OW9zN3UyWFAzTzVmOWIvSDY2R055UnJnbFJYbHJZakkxb0dZTC8KZjRJMW4vU2d1c2RhNld2QTZDMTkwa3hqVTE1WTEybUhVNCtCeHlSOWN4MmhoR1M5ZkFqTVpLSnNzMjhxeHZ6NgpBeHU0Q2FEbVJOWnBLL3BRclhGMTd5WENYa21FV2d2U09FWnk2WjlwY2JMSVZFR2NrVi9pVmVxMEFPbzJwa2c5CnA0UVJJeTB0SzJkaVJFTkxTRjJLeXNGd2JZNkIyNkJGZUZzM3Yxc1lWUmhGVzluTGtPclFWcG9yQ1MwS3labWYKd1ZEODlxU1RsbmN0TGNabklhdmpLc0tVdTFuQTFpVTB5WU1kWWVwS1I3bFdibndoZHgzZXdvaz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUYvakNDQk9hZ0F3SUJBZ0lTQldWc2pldSt1Yi9rL0xNMmZNZlhuMExCTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXdPRFUxV2hjTk1qWXdOREl4TVRZd09EVTBXakFjTVJvd0dBWURWUVFECkV4RjNaeTVoZEdoaGJHbGhjSEJ6TG5oNWVqQ0NBaUl3RFFZSktvWklodmNOQVFFQkJRQURnZ0lQQURDQ0Fnb0MKZ2dJQkFLUUlLYUw5bVZKcHZpWWowckx2d1lNQ0FIVkRDUVRLOC9QWUZuMkExcHFweVNLQit0dkNwOWNXTTBIbApSaEVucUtkN2pqbEJ6OC9XMEdqNnhITGhJeFNNTFBKaE5HeTVKd1E4bU50Tm51MGczY2tBR29jVjF5K2J3SWJCCkRLZlphOHdwWWJHZS9LVUVKcG81Wk5UZmVCbVp5Y0Z3bTRsdVRsRjZsVDVBdkdCbWRYeENqT1FxbjVRbmFncEkKa2ZrYXZyMXdvb243a3hKNm9aeWd5OHVjTXdmMENsSUoxQjlkbjM2Z1d5Qm9ERWVHUkxDVU1YQ0NWWnQwWVpjdgp0RCt3Z09rN21Ya3U0U0h6YmFtTndtRUNLdi91THdFWGIrK0VhZjdtQmMxMUlNQVNGb2pxM1R2RDRCenZ2bHdGCjZ6QVc1enlCRGpVSjhEa0RmbVprME1URktvcjl4RytLc1NWQzFSTXMrVDJFb01nZ2ErLzJsMUVJTDJqbVdLenYKdGd5cFREcE9teVMrL0k5bFh4dmYwa285NFZZTkcvZHBhcWp6VWVsVnhKajNUdnlTbW9vN0p2Y2wvSXpTTWJ3OQprM0ZCYi9LT2luVWVRYTJUVW5HZ1RFVkNSS3c3RnBKUXIwYzNtTUExZ2hLenZzWU90eUJiaGFjeDZsaEJ2akowCjZmNS8xb2Y5OUllL29uc2tCdnpaUEF6N0w0SlFOSW9VTjVSOG5RUW9TNGlEU04xVVJLTWZBNEMzMUJ1WHRZWWQKSXJteXA4REdDQldqM1VLblV3NERYUEc4ci9ZZDZXTW0wN1QvakkxZ3VMcTZZLzBtVlhnVGJVU1lQU1h6Y0NpawpGSHVBZWZ1WndNelJNdXp1aDU3UXB0eFlZMXRzMlZEWm15SCt4SGdKekNoLzYrWi9BZ01CQUFHamdnSWhNSUlDCkhUQU9CZ05WSFE4QkFmOEVCQU1DQmFBd0hRWURWUjBsQkJZd0ZBWUlLd1lCQlFVSEF3RUdDQ3NHQVFVRkJ3TUMKTUF3R0ExVWRFd0VCL3dRQ01BQXdIUVlEVlIwT0JCWUVGTWc0WmFUcWhZeG9pVmlGRGdGRElyT25IeHFMTUI4RwpBMVVkSXdRWU1CYUFGQUMxS2ZJdGptOHg2SnRNclhnKyt0enBETkhTTURNR0NDc0dBUVVGQndFQkJDY3dKVEFqCkJnZ3JCZ0VGQlFjd0FvWVhhSFIwY0RvdkwzSXhNaTVwTG14bGJtTnlMbTl5Wnk4d0hBWURWUjBSQkJVd0U0SVIKZDJjdVlYUm9ZV3hwWVhCd2N5NTRlWG93RXdZRFZSMGdCQXd3Q2pBSUJnWm5nUXdCQWdFd0xnWURWUjBmQkNjdwpKVEFqb0NHZ0g0WWRhSFIwY0RvdkwzSXhNaTVqTG14bGJtTnlMbTl5Wnk4Mk5pNWpjbXd3Z2dFRUJnb3JCZ0VFCkFkWjVBZ1FDQklIMUJJSHlBUEFBZGdETE9QY1ZpWHlFb1VSZlc4SGQrOGx1OHBwWnpVY0thUVdGc01zVXd4UlkKNXdBQUFadmhobnRKQUFBRUF3QkhNRVVDSUFyRE9FMGtyVDBQRjVkWVZncUFuVllSc2VqRnBxY3YxTi9qelFUeAp6elZZQWlFQXRwTzVpa2x6VnVPczY2YzJqSDMwSk9iWnhCZUFiaG1RRktxenJ5QUtwTXdBZGdDV2wyUy9WVmlYCnJmZERoMmczQ0VKMzZmQTYxZmFrOHpadVJxUS9EOHFweGdBQUFadmhobnVNQUFBRUF3QkhNRVVDSVFDZnU4blgKdEhna1dWWXZ6RVdmNCs1U01Ba3cwZGE3Z0ROVkZWZXArUUFNbUFJZ0gvL2piRklrWkVEYVVtTkFhaFMrU09RbgpxN2swanUrMjdJVytXTjZGSDk4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFLTzVPRnJXR0JBYjk5SERpOUNRCjBqWXRKcytWK3pPeVR5V2JNVnd3SDJXYW8xVGk2MEhUZGl0eFg1MjZQQzJ3aFA4YXZETGgxWFFxZzdna1pqdlgKNGpTZDdkQzZyV0ZFbmVydHhXaWFnNXVtTGEzdEZQT3J1N2hzUER2SEZNOVNjME5keWhGV01FdlhHNkVNYlU1Vgo5RHRUZzlRaW0xbVFVTW1VQTJJV0Q3cGVUWEc0L2FyMVgvZ1dTbW15MDIzYTVJekdSZGdCN0VMQ3R3SUpBOTlECmpOUjJWZXJLMFBsZ2t0ZVo0RCszRG10N1FjVjhIa3RkbkRRaVlTYzQyZUNDazFUaG9tMitRekVpZTlPbDYxTkQKanlmM1VHTURKT1RYOVNJMy9hbkpGeWZudXZtcGpEZFljcC9wTFB4SDU2QmxITjdHTm5vbU00bnpMVjdJdjRRSgphaEE9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKSndJQkFBS0NBZ0VBcEFncG92MlpVbW0rSmlQU3N1L0Jnd0lBZFVNSkJNcno4OWdXZllEV21xbkpJb0g2CjI4S24xeFl6UWVWR0VTZW9wM3VPT1VIUHo5YlFhUHJFY3VFakZJd3M4bUUwYkxrbkJEeVkyMDJlN1NEZHlRQWEKaHhYWEw1dkFoc0VNcDlscnpDbGhzWjc4cFFRbW1qbGsxTjk0R1puSndYQ2JpVzVPVVhxVlBrQzhZR1oxZkVLTQo1Q3FmbENkcUNraVIrUnErdlhDaWlmdVRFbnFobktETHk1d3pCL1FLVWduVUgxMmZmcUJiSUdnTVI0WkVzSlF4CmNJSlZtM1JobHkrMFA3Q0E2VHVaZVM3aElmTnRxWTNDWVFJcS8rNHZBUmR2NzRScC91WUZ6WFVnd0JJV2lPcmQKTzhQZ0hPKytYQVhyTUJiblBJRU9OUW53T1FOK1ptVFF4TVVxaXYzRWI0cXhKVUxWRXl6NVBZU2d5Q0JyNy9hWApVUWd2YU9aWXJPKzJES2xNT2s2YkpMNzhqMlZmRzkvU1NqM2hWZzBiOTJscXFQTlI2VlhFbVBkTy9KS2FpanNtCjl5WDhqTkl4dkQyVGNVRnY4bzZLZFI1QnJaTlNjYUJNUlVKRXJEc1drbEN2UnplWXdEV0NFck8reGc2M0lGdUYKcHpIcVdFRytNblRwL24vV2gvMzBoNytpZXlRRy9OazhEUHN2Z2xBMGloUTNsSHlkQkNoTGlJTkkzVlJFb3g4RApnTGZVRzVlMWhoMGl1Yktud01ZSUZhUGRRcWRURGdOYzhieXY5aDNwWXliVHRQK01qV0M0dXJwai9TWlZlQk50ClJKZzlKZk53S0tRVWU0QjUrNW5Bek5FeTdPNkhudENtM0ZoalcyelpVTm1iSWY3RWVBbk1LSC9yNW44Q0F3RUEKQVFLQ0FnQVlsQkNKRjY3TnBvS1RmSEtwMVRzTndsTUhQeEF1NDZwQ00zTExRMjdrcGVRNWczaHZUVytRendiSApMTytleW01L0NnaDVrOTdycWFoNDBucDFMRDd4YVQraTRlWFZGTGsvN1VTS044dEVoTlEydGdsRGpJWTkzL3l0Ck5HZ05Eb3NVZ0c3ZkNvK1l1bEorY1hNbVlvWEFjRWJHOFhTYzF5WnRGdzBkMHQxbkpITWVOMnFkRmJYcm9TeEcKZGpGSlBqU3VkaDRreHNsMnoyRS84dWdXamtVblArMzc5UFVQN2h0a0Flc2xvL0dURmc5YzFoZkNZQVVyMGZoOQppdXhiVHJ0Q04yZjd2SWFIYTg1V3hhTUduaWlMU01sS1JKVEZNdlllOTZDTzlLbi9uYlk2dGRhSWlnVWUwTjJaCk5GblZUdGsvTzZkQlUwZm5neHFCaFVHeStrZ3haZnFZVjV4NWg5K2NTUmhvK0Z2bWhtQlIrTGQyOWNBcjVsNlAKTHZmVndnNFRocFBCT0RQdGd5WUVWTHBHUEU5WGppOFVtdlAwWit5VVRmWHhPYVU1SFkwOXg3Tk9xd2wvM3dQcgpXN1RhMkNVaDZxUUYwZVNHeTJpZFYveUU5dXFUQkhFZHAyMWxrUnBtbkc0ZDJ0WE9GYk5pRnVOMGJacmd5aHM5CjNtQ0ZzMnd4UEpKcEY1RzkwVVF1QjFtSlFqZ05zR3kwdnpNa1hXRjZNTVRycDFHZUx3eHFFTGlTckRGTFp3a1MKdHo0UWc2K1d3WWJKWUUwRnBINHlHa0MvNlNhZzJsTjFCN2dDQkl2bnZZcHBNL1lIUk9pZy92MlBxOXRRK3hCSQowbGlVU3owb1hucXNqWWU5OGdaRGN3MVJKWVdJakRUMnoyNEt6REYwMmFTL3ZueWh3UUtDQVFFQTFBbVJQT3c5CjRCRnRIV2Vrd1F2MzNxcDF1czRQYlZISVFUa21FL0RTSFNONmMyVnIrM3VYN1NvN3BveGZMQ2ZUc3U0YzVYa3MKNHhpeUxiVVdxczRNM2t1SkJWVm1QbkZySExRUDlnem1xYVBWMzAyTGc5SkZNNTZoZTc2c0VWWEhTTTBkeUZVQgpybnpXYnJQWWN6ZUtyMnBQcEtwRjl0UkVTdXdacnJvUTBtc0FTdjNtYXNkaGFXdHRUaFNHMG8ra3hEQUhBSUxyCnhzcHpZaDVDQ1ZFbjRKWEVBa0pPdGI4QldBNy85VUpUQ29WM1VJVkpCMzdteVpwVkR4MFNtNGlFZ0Noc0NEbVkKbjlCVDNvV0twNVhndy9GTmtXbDQwRStmQlE5WEgwaFFRRjdDR1FCTmNKNEFtbGtSYW5JQkNXTXNVOXRTRlBSRApZd1FxcXpwNlNFK3gxd0tDQVFFQXhncVVhd3k0am0weTY2M24vcFJTT3h5MTlReUYrcDFaa083L1hPUVRaUFNSCjJtVDI2Zk83SGdUc0NpMGdtYWtrSm41SVhzNWNLR1BiMlJCMy9IV2FPcWtEWUNCeEpLVTZ1TlZPMjJKLzA0eHoKQ0NLNkczZ0xkdmk0ZE13K2ZDRUFTdXM5Q3dsVHB1N2ZlOCs3YlNyc1BTbklvREJIY2w4Q2E0Rjl4c0FrTnptUQpjRHcrYk42Mnk4TGtPbzlEaURaVzZiTS83TkF6RW5vTHFIc293RkpKVEoyakJPa21OSEwyWG1aWkdaSDl0Vi9aCjJvUGU0aEUvVytha0ZrWVNZbDJDNXIxVkdEYkxPMldRSUFUcjZ6TXM0MGZBeCtzRFV0bm1zeDJxdzI1MW1zb2IKZXdxcDZyMjFpWkR6am0vNS93My90ZU8rTmQvWjI0L2orQVhweDRDcm1RS0NBUUI5eDE4Y1lKY2p2N0tXYXREVQpveURhT1F1MVVGN2VYbEVJUDdwU3dkd2g1TlhTZGl0ajlxRGMwdHlubzBVaGtFNklLYStDZ0NzY1c1MzJkeUdICkdNdVJZZ1ZaNEpyU0Y3Mk9QVkhxaHlTZEpNN05zOVk2MEJTMDFqaThpeExQQmE4OWhFOVNjdnFZWXYxZ2xkYWsKSWlKbWhBM1NoQjhVbUQ0YW80dG9sbjg4RXJVTnh5ZFQyQW4wMndEdi9FVXR5bi9XMFJhV094Tlp6T1k5SWUzUwpVUTN5cjJTaVltc0diTk9EUlFLWW5rdGNSbWZNb0FQK0trMEU4a1BhdjBnMmN2a0dmUFA0dlJISVczQWs0OXFvCkpzUTU5MzRuOEFUMnJRU0xuOW55ZUpjQ1dET1RXUmFXNDJOQUsrMmsweFBDV2M0RndHZ2tmZkVyWDJGZ1NVUVkKZVEzcEFvSUJBRmpzV1RZMEVRNkt3OG1GWGQwMjFqR0tzNzBqY1dsVmkra0RGNUNyTEhZeFJ1aHNXMTR6UFhxKwpOUXBndHZtb00vNUF4OWdpQ3Nsc0JVUlRHNzAxUlJvLzE2OHJBZ0sxV2tleUorVmtOZ2RVVWpaOStWanFMeU90CmpJMk5SQ1ZTWUNKRHZEWWZhdnRTMlBCc0Z6bHVnNEwzSndtZWhBWTcyUWRTcnBvMm5reFp3WnhUd0tmNzNOSmoKWVQxV0pMbWR4S3JNL05BbHNEa0VxZ1Z0djUrVGt5d2V3QnN0WVNVOTFaZ1Bsc1JmaEM4VHFldHZPUDREUnBMSwpYalZPSTJVZG5mQmpaVGtwS1ZvelFXTFBNdXQ2SUJheG1rTnFLQ1RraUswMmpmMlF0S2ZiUmptYVVTK0JIV2wyCnQ1WG1lN2RsbnNNYVRzYzhDME9HT1pPZGZCcERrVWtDZ2dFQWFheHdVdTV0WnpIL1VzRzExZTE5eE5RRFRTV3AKbEU4YVh4VG1iOHBEeUdvNGRrY0VTSjZxSkErSitmRUpxdGptek1UTlVZc2lHb0ZpbDFJcXhZL0VZODRKWDZ4Qgp1a2p4RFZKQUVacXZCZ3IrUklaVjVqR0V6OWhHdjdVeEpVNWRqTE1BYXhFdFhGQW0yeHNMa0xEcHE4T1BxQkpHCmd3clpLbm54V2NSbUE5SU4zMkJFcnlwSzV1c1dvT09ZY096c3ZoNGxpV3lheHZRSEtTUUFPcDF3VVIyaTZMRUgKSG1tZkFEdURSU0wzckM4TFRNK3ZjWERabktKWml5NGgycVFGcGk0U1hVUlpnVWJvZWV3RU5PRTlrYWRiNFROawp6QUZIUUpJbmlBNEhmbHJOQStlZEtvOXhrVUo2cjB1KzFEaTVRM1kxdzY5QzM0SFA5LzBSU2Yza3BBPT0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -299,7 +299,7 @@ "domain": { "main": "prowlarr.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDVENDQlBHZ0F3SUJBZ0lTQldtVFNvRitHUHdTa2R0VGRwcS9lbHNBTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05NalV4TVRJeE1qQXhNalEzV2hjTk1qWXdNakU1TWpBeE1qUTJXakFpTVNBd0hnWURWUVFECkV4ZHdjbTkzYkdGeWNpNWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVAKQURDQ0Fnb0NnZ0lCQU5IcUlsakVFVW9Tb2phemx3OEl5OUJvVVpZeDEvTUZVaktIY0Y5SzBxejNwVFJpRjc2YQpKRGdqWTBaZjlVMUt6Ry9ubVU3TnJHR3dGd0tYeTRqQkNRdTk2REorT1dONSt6VDNxOGI1RFA1cXRuQm1EZm50ClJkWjFIaEJESFpPTGN0dGVyU21IcU5scWQ5MldvMEVWVTJxbmpIeWgveWx2YkJ2MStkWnBWRXQwQ3JwTStySXQKdjRGMUVzVlFjbkV5b3pXa0JibmFBaVdOZ09sUnpoY1B2Rk5ScGtoKzVUcUxPd3NObGtPWG5GYnNKOU96c1ZRYgo3N1NmUFA2Q1F5aUR2YVkxUEYvL2J1Q2hXMmNveVUycXE1RDZIRWZuQjdZb0owL01DMHJ1VkgrMjRTcXpNaWRhCms1WmZLc3Q0WjAwMkhtcnBsQlp5T2pKT2Nzbk1FbVlzOGxneU44eFRQcFdjeFZtckhjWWVXWTV4MVVMM2k5S3QKcWRDVERza053ME1kaHg3SktZMjRYRHB6b25ycTRZdmYwUkJEekczWUsyN1pGV01sSWpxT0dGUUFvZlMwNWI3ZgpaaXZQdzJ0L2pQc2lPT1c2TUdqWkJMck9KdGtWSm9rL0VkL1dMWVo4T1Q1ZVZyUEZxMkZTaW0rT0FKQnNiMXl5CjBQaHlacC80WC9BTUQ1L080ZjF0NWdiVGhLK01VKytOYllXM2ZUT0g2MmJNL0dxc2J1dXVMRDdWSVFwNndRTFIKWjdHeDVLL2FETXhaK2s0a0FpYlRLbHJMMEgxWFAycFc0enlpL1QwR05rTmFmRXZpNFI2R3AreG9SSDhySnFZYwo0bTQ5dWZ5R1k3TlVULzBFVXNvZ2p2dEVxWTRWWlRFZ29qVURkTW9vNE56eFYrWi9HRW1sRDNBREFnTUJBQUdqCmdnSW1NSUlDSWpBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0cKQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZOd3NHbEtjTGtMckY1WllRU25rY1F1ZwpRNCs1TUI4R0ExVWRJd1FZTUJhQUZBQzFLZkl0am04eDZKdE1yWGcrK3R6cEROSFNNRE1HQ0NzR0FRVUZCd0VCCkJDY3dKVEFqQmdnckJnRUZCUWN3QW9ZWGFIUjBjRG92TDNJeE1pNXBMbXhsYm1OeUxtOXlaeTh3SWdZRFZSMFIKQkJzd0dZSVhjSEp2ZDJ4aGNuSXVZWFJvWVd4cFlYQndjeTU0ZVhvd0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QgpBZ0V3TFFZRFZSMGZCQ1l3SkRBaW9DQ2dIb1ljYUhSMGNEb3ZMM0l4TWk1akxteGxibU55TG05eVp5OHhMbU55CmJEQ0NBUVFHQ2lzR0FRUUIxbmtDQkFJRWdmVUVnZklBOEFCM0FFbWNtMm5lSFh6cy9EYmV6WWRrcHJoYnJ3cUgKZ0JuUlZWTDc2ZXNwM2ZqREFBQUJtcWhCMFlJQUFBUURBRWd3UmdJaEFLa3hNSGJGNHBsemdqc1J2N29WTFJnSApTWlNleHJoNmFxOEhITGRJQjVabUFpRUF4SkNYWjdXZmZINEN2L1FFT0hsRG5HQmlNYmtZVXhQc0hoa1RkT3Z0CmpLZ0FkUUNXbDJTL1ZWaVhyZmREaDJnM0NFSjM2ZkE2MWZhazh6WnVScVEvRDhxcHhnQUFBWnFvUWRIUUFBQUUKQXdCR01FUUNJSEJSTWtDZUl5dXZzSzJtMzdhbVVab3BaMlZpaEZrWlE3bEljL0tOdi9yM0FpQmQzNFQxb2VDQQpNeVZkdkN2OWxURklUQjlBM1drWFRZNWcrc0M5OFdVNjhEQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFrWm43CnlBNFVBUUtRZThvamtNWDRWQzBNTS9EdzZkMkRVcHA5cVY3QWxTMW1aVmI2RXo1b2FaRnNDZlBCSkVUMTVkREoKbW5BUXphSGRRU1h1b01GSTBFSUM0S1hzUERPN0RKVTN2Mm10dVJac2tKWlZZcGUyNTRQUFBmQ0toa3hocks4SQpwMWtTbXZSMk5mQnF4SnY5ZEVXVFphbXljc05ZbGNqUGhocFB3OXAvdVdLbW42WEozZFdDZjlXaEUyWk4wUkVXCjhTZk8vVnNvU3VrN1pwZlEyTUEvTEtRVEZnVXo0cjFZTXVPRnM3WFphQU5QTThLNlorN0tBaDJMRlRTTHQ1bHoKVEc0c3pNRnJOSWJyWXlUbDZtNEtPbE1wRkc3Q0hhczNtRWlMV3kxa0N0QzN6cUoyNFV5enlFVkRxM2J1eTFJdgo5V1I3NDdia1lXZVYzMWpHbWc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJqQ0NBdTZnQXdJQkFnSVJBTUlTTWt0d3FiU1JjZHhBOStLRkpqd3dEUVlKS29aSWh2Y05BUUVMQlFBdwpUekVMTUFrR0ExVUVCaE1DVlZNeEtUQW5CZ05WQkFvVElFbHVkR1Z5Ym1WMElGTmxZM1Z5YVhSNUlGSmxjMlZoCmNtTm9JRWR5YjNWd01SVXdFd1lEVlFRREV3eEpVMUpISUZKdmIzUWdXREV3SGhjTk1qUXdNekV6TURBd01EQXcKV2hjTk1qY3dNekV5TWpNMU9UVTVXakF6TVFzd0NRWURWUVFHRXdKVlV6RVdNQlFHQTFVRUNoTU5UR1YwSjNNZwpSVzVqY25sd2RERU1NQW9HQTFVRUF4TURVakV5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCCkNnS0NBUUVBMnBnb2RLMitsUDQ3NEI3aTVVdDFxeXdTZisybkF6SitOcGZzNkRHUHBST05DNWt1SHMwQlVUMU0KNVNodUNWVXhxcVVpWFhMMExRZkNUVUE4M3dFanVYZzM5UnBsTWpUbWhuR2RCTytFQ0Z1OUFocVo2NllCQUpwegprRzJQb2dlZzBKZlQya1ZoZ1RVOUZQbkV3RjlxM0F1V0dyQ2Y0eXJxdlNyV21NZWJjYXM3ZEE4ODI3Smd2bHBMClRoanAyeXB6WElsaFpaNys3VHlteTA1djVKNzVBRWF6L3hsTkttT3pqbWJHR0lWd3gxQmxienQwNVVpRER3aFkKWFMwam5WNmovdWpiQUtIUzlPTVpUZkx1ZXZZbm51WE5uQzJpOG4rY0Y2M3ZFemM1MGJUSUxFSFdoc0RwN0NINApXUnQvdVRwOG4xd0JuV0lFd2lpOUNxMDh5aERzR3dJREFRQUJvNEg0TUlIMU1BNEdBMVVkRHdFQi93UUVBd0lCCmhqQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBZ1lJS3dZQkJRVUhBd0V3RWdZRFZSMFRBUUgvQkFnd0JnRUIKL3dJQkFEQWRCZ05WSFE0RUZnUVVBTFVwOGkyT2J6SG9tMHl0ZUQ3NjNPa00wZEl3SHdZRFZSMGpCQmd3Rm9BVQplYlJaNW51MjVlUUJjNEFJaU1nYVdQYnBtMjR3TWdZSUt3WUJCUVVIQVFFRUpqQWtNQ0lHQ0NzR0FRVUZCekFDCmhoWm9kSFJ3T2k4dmVERXVhUzVzWlc1amNpNXZjbWN2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQk1DY0cKQTFVZEh3UWdNQjR3SEtBYW9CaUdGbWgwZEhBNkx5OTRNUzVqTG14bGJtTnlMbTl5Wnk4d0RRWUpLb1pJaHZjTgpBUUVMQlFBRGdnSUJBSTkxMEFuUGFuWklaVEtTM3JWRXlJVjI5QldFakFLL2R1dXo4ZUw1Ym9Tb1ZwSGhra3YzCjRlb0FlRWlQZFpMajVFWjdHMkFySUsrZ3poVGxSUTFxNEZLR3BQUGFGQlNwcVYveGJVYjVVbEFYUU9ua0huM20KRlZqK3FZdjg3L1dlWStCbTRzTjNPeDhCaHlhVTdVQVEzTGVaN04xWDAxeHhRZTR3SUFBRTNKVkxVQ2lIbVpMKwpxb0NVdGdZSUZQZ2NnMzUwUU1VSVdneFBYTkdFbmNUOTIxbmU3bmx1STAyVjhwTFVtQ2xxWE9zQ3dVTHcrUFZPClpDQjdxT014eE1Cb0NVZUwyTGw0b01wT1NyNXBKQ3BMTjN0UkEyczZQMUtMczlUU3JWaE9rKzdMWDI4Tk1VbEkKdXNRL254TEpJRDBSaEFlRnRQanlPQ09zY1FCQTUzK05SalNDYWs3UDRBNWpYN3BwbWtjSkVDTCtTMGkza1hWVQp5NU1lNUJiclU4OTczalpOdi9heDYrWks2VE04aldtaW1MNm9mNk9yWDdaVTZFMldxYXp6c0ZyTEczbzJreVNiCnpsaFNnSjgxQ2w0dHYzU2JZaVlYbkpFeEtRdnpmODNEWW90b3gzZjBmd3Y3eGxuMUEyWkxwbENiME8rbC9BSzAKWUUwRFMyRlB4U0FIaTBpd01mVzJuTkhKclhjWTNMTEhENzdnUmdqZTRFdmV1YmkyeHhhK05tay9obWhMZElFVAppVkRGYW5vQ3JNVklwUTU5WFdIa3pkRm1vSFhIQlY3b2liVmpHU083VUxTUTdNSjFOejUxcGh1REpTZ0FJVTdBCjB6ckxuT3JBai9kZnJsRVdSaEN2QWdidXdMWlgxQTJzak5qWG9QT0hic1BpeStsTzFLRjgvWFk3Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdFekNDQlB1Z0F3SUJBZ0lTQlJOWGhlbmRMak8wNW5iTmM5dXF1aE1tTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRJeE1UWXdPVEEwV2hjTk1qWXdOREl4TVRZd09UQXpXakFpTVNBd0hnWURWUVFECkV4ZHdjbTkzYkdGeWNpNWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVAKQURDQ0Fnb0NnZ0lCQU5IcUlsakVFVW9Tb2phemx3OEl5OUJvVVpZeDEvTUZVaktIY0Y5SzBxejNwVFJpRjc2YQpKRGdqWTBaZjlVMUt6Ry9ubVU3TnJHR3dGd0tYeTRqQkNRdTk2REorT1dONSt6VDNxOGI1RFA1cXRuQm1EZm50ClJkWjFIaEJESFpPTGN0dGVyU21IcU5scWQ5MldvMEVWVTJxbmpIeWgveWx2YkJ2MStkWnBWRXQwQ3JwTStySXQKdjRGMUVzVlFjbkV5b3pXa0JibmFBaVdOZ09sUnpoY1B2Rk5ScGtoKzVUcUxPd3NObGtPWG5GYnNKOU96c1ZRYgo3N1NmUFA2Q1F5aUR2YVkxUEYvL2J1Q2hXMmNveVUycXE1RDZIRWZuQjdZb0owL01DMHJ1VkgrMjRTcXpNaWRhCms1WmZLc3Q0WjAwMkhtcnBsQlp5T2pKT2Nzbk1FbVlzOGxneU44eFRQcFdjeFZtckhjWWVXWTV4MVVMM2k5S3QKcWRDVERza053ME1kaHg3SktZMjRYRHB6b25ycTRZdmYwUkJEekczWUsyN1pGV01sSWpxT0dGUUFvZlMwNWI3ZgpaaXZQdzJ0L2pQc2lPT1c2TUdqWkJMck9KdGtWSm9rL0VkL1dMWVo4T1Q1ZVZyUEZxMkZTaW0rT0FKQnNiMXl5CjBQaHlacC80WC9BTUQ1L080ZjF0NWdiVGhLK01VKytOYllXM2ZUT0g2MmJNL0dxc2J1dXVMRDdWSVFwNndRTFIKWjdHeDVLL2FETXhaK2s0a0FpYlRLbHJMMEgxWFAycFc0enlpL1QwR05rTmFmRXZpNFI2R3AreG9SSDhySnFZYwo0bTQ5dWZ5R1k3TlVULzBFVXNvZ2p2dEVxWTRWWlRFZ29qVURkTW9vNE56eFYrWi9HRW1sRDNBREFnTUJBQUdqCmdnSXdNSUlDTERBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0cKQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZOd3NHbEtjTGtMckY1WllRU25rY1F1ZwpRNCs1TUI4R0ExVWRJd1FZTUJhQUZPZXJudzhzTTZCVDAxNVBlTWl5aEE0NzFwSXpNRE1HQ0NzR0FRVUZCd0VCCkJDY3dKVEFqQmdnckJnRUZCUWN3QW9ZWGFIUjBjRG92TDNJeE15NXBMbXhsYm1OeUxtOXlaeTh3SWdZRFZSMFIKQkJzd0dZSVhjSEp2ZDJ4aGNuSXVZWFJvWVd4cFlYQndjeTU0ZVhvd0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QgpBZ0V3TGdZRFZSMGZCQ2N3SlRBam9DR2dINFlkYUhSMGNEb3ZMM0l4TXk1akxteGxibU55TG05eVp5OHpPUzVqCmNtd3dnZ0VOQmdvckJnRUVBZFo1QWdRQ0JJSCtCSUg3QVBrQWR3RExPUGNWaVh5RW9VUmZXOEhkKzhsdThwcFoKelVjS2FRV0ZzTXNVd3hSWTV3QUFBWnZoaHA0NkFBQUVBd0JJTUVZQ0lRQ1lTK0dOSkdZamsrQjg3Nm5zQ3VVUwpPVUZ3TWxZUDBOTGF3NGRwY2owZHRBSWhBSnozZTZCbFk3T016ZDhaZ05CUlVkVXNldUpDT2d5WWNIejdwb0I3CjhGUGlBSDRBcGNsNGtsMVhSaGVDaHczWWlXWUxYRlZraTMwQVFQTHNCMmhSMFlocEdmY0FBQUdiNFlhZkx3QUkKQUFBRkFDK3JoN2NFQXdCSE1FVUNJUUMyMFgvenpPekxoUUF1MEtQK1dJVmxPaXNiNklIdWlwKzc4bG9ZNy9YNApuZ0lnRjkyTWJmUVZXY0xta05RdjBRK2w0RDZNa211MTVoT1VwZnI3Y0hIUWorSXdEUVlKS29aSWh2Y05BUUVMCkJRQURnZ0VCQUdWOUZTRElyZzkxTXgrSFR0SkpzNVRuR2pPdW5qM1JXc0s1ZlBTSDBoTjZpSWl1RVNBN3ltSEIKeURMeXUzMXBQdElQRE1NYi82UmtqNDJGYnJWdkU5RkMxRWs5QmRzeUEweEJoV2ZPYzVCOEJycXhZUE13TWpLeApzOXVqaE5xajlQNWVtRzVwaHdwL0FybjE4dFBLM0FZdzk3NmpHaGx3d1ZsNkdrT1d6T2RRSkluT0o2cEJJQVFVCmdJK2NDaEF6WHA2dDZtODlZOFk2OXJVUzZJK1Z2NjV0bXE5eC92SE84VHZJNTFOTnlHZ3lzOEV4WDQxNW9wWHYKMkx0Unp0dlJwQjJRazczN1M4QTBoSkdxZEh6N3FnQUQrTHZIWFVnVnJJZVhyZkgvN2dpVXA3NUNmTW9jZ1ZHdAp4NVUzZlVKY2V0dXBSbXNiZGZKT09rTVg5YjBvUVFrPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJUQ0NBdTJnQXdJQkFnSVFXZ0R5RXRqVXRJRHpra0ZYNmltREJUQU5CZ2txaGtpRzl3MEJBUXNGQURCUApNUXN3Q1FZRFZRUUdFd0pWVXpFcE1DY0dBMVVFQ2hNZ1NXNTBaWEp1WlhRZ1UyVmpkWEpwZEhrZ1VtVnpaV0Z5ClkyZ2dSM0p2ZFhBeEZUQVRCZ05WQkFNVERFbFRVa2NnVW05dmRDQllNVEFlRncweU5EQXpNVE13TURBd01EQmEKRncweU56QXpNVEl5TXpVNU5UbGFNRE14Q3pBSkJnTlZCQVlUQWxWVE1SWXdGQVlEVlFRS0V3MU1aWFFuY3lCRgpibU55ZVhCME1Rd3dDZ1lEVlFRREV3TlNNVE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUNsWjNDTjBGYUJaQlVYWWMyNUJ0U3RHWkNNSmxBM21CWmprbFRiMmN5RUJaUHMwK3dJRzZCZ1VVTkkKZlN2SFNKYWV0QzNhbmNnbk8xZWhuNnZ3MWc3VURqREtiNXV4MGRha25USStXRTQxYjBWWWFIRVgvRDdZWFlLZwpMN0pSYkxBYVhiaFp6alZseUl1aHJ4QTMvK09jWGNKSkZ6VC9qQ3VMamZDOGNTeVREQjBGeExySHphckpYbnpSCnlRSDNuQVAyL0FwZDlOcDc1dHQyUW5EcjlFMGkyZ0IzYjliSlh4ZjkyblV1cFZjTTl1cGN0dUJ6cFdqUG9YVGkKZFlKK0VKL0I5YUxyQWVrNHNRcEV6TlBDaWZWSk5ZSUtOTE1jNllqQ1IwNkNEZ28yOEVkUGl2RXBCSFhhemVHYQpYUDllblppVnVwcEQwRXFpRndVQkJERFRNck9QQWdNQkFBR2pnZmd3Z2ZVd0RnWURWUjBQQVFIL0JBUURBZ0dHCk1CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0RBVEFTQmdOVkhSTUJBZjhFQ0RBR0FRSC8KQWdFQU1CMEdBMVVkRGdRV0JCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekFmQmdOVkhTTUVHREFXZ0JSNQp0Rm5tZTdibDVBRnpnQWlJeUJwWTl1bWJiakF5QmdnckJnRUZCUWNCQVFRbU1DUXdJZ1lJS3dZQkJRVUhNQUtHCkZtaDBkSEE2THk5NE1TNXBMbXhsYm1OeUxtOXlaeTh3RXdZRFZSMGdCQXd3Q2pBSUJnWm5nUXdCQWdFd0p3WUQKVlIwZkJDQXdIakFjb0JxZ0dJWVdhSFIwY0RvdkwzZ3hMbU11YkdWdVkzSXViM0puTHpBTkJna3Foa2lHOXcwQgpBUXNGQUFPQ0FnRUFVVGRZVXFFaW16VzdUYnJPeXBMcUNmTDdWT3dZZi9RNzlPSDVjSExDWmVnZ2ZRaERjb25sCms3S2doOGIwdmkrL1h1V3U3Q044bi9VUGVnMXZvM0crdGFYaXJyeXR0aFFpbkFIR3djL1VkYk95Z0phOXp1QmMKVnlxb0gzQ1hUWERJblQrOGErYzNhRVZNSjJTdCtwU240ZWQrV2tEcDhpanNpanZFeUZ3RTQ3aHVsVzBMdHpqZwo5Zk9WNVBtcmcvenhXYlJ1TCtrMERCREhFSmVubkNzQWVuN2MzNVBteDdqcG1KL0h0Z1JoY256MHlqU0J2eUl3CjZMMVFJdXBrQ3YyU0JPRFQveEREM2dmUVF5S3Y2cm9WNEcyRWhmRXlBc1dwbW9qeGpDVUNHaXlnOTdGdkR0bS8KTksyTFNjOWx5Ykt4QjczSTIrUDJHM0NhV3B2dnBBaUhDVnUzMGpXOEdDeEtkZmhzWHRuSXkyaW1za1FxVloybQowUG14b2JiMjhUdWNyN3hCSzdDdHd2UHJiNzlvczd1MlhQM081ZjliL0g2NkdOeVJyZ2xSWGxyWWpJMW9HWUwvCmY0STFuL1NndXNkYTZXdkE2QzE5MGt4alUxNVkxMm1IVTQrQnh5UjljeDJoaEdTOWZBak1aS0pzczI4cXh2ejYKQXh1NENhRG1STlpwSy9wUXJYRjE3eVhDWGttRVdndlNPRVp5Nlo5cGNiTElWRUdja1YvaVZlcTBBT28ycGtnOQpwNFFSSXkwdEsyZGlSRU5MU0YyS3lzRndiWTZCMjZCRmVGczN2MXNZVlJoRlc5bkxrT3JRVnBvckNTMEt5Wm1mCndWRDg5cVNUbG5jdExjWm5JYXZqS3NLVXUxbkExaVUweVlNZFllcEtSN2xXYm53aGR4M2V3b2s9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBMGVvaVdNUVJTaEtpTnJPWER3akwwR2hSbGpIWDh3VlNNb2R3WDByU3JQZWxOR0lYCnZwb2tPQ05qUmwvMVRVck1iK2VaVHMyc1liQVhBcGZMaU1FSkM3M29NbjQ1WTNuN05QZXJ4dmtNL21xMmNHWU4KK2UxRjFuVWVFRU1kazR0eTIxNnRLWWVvMldwMzNaYWpRUlZUYXFlTWZLSC9LVzlzRy9YNTFtbFVTM1FLdWt6NgpzaTIvZ1hVU3hWQnljVEtqTmFRRnVkb0NKWTJBNlZIT0Z3KzhVMUdtU0g3bE9vczdDdzJXUTVlY1Z1d24wN094ClZCdnZ0Sjg4L29KREtJTzlwalU4WC85dTRLRmJaeWpKVGFxcmtQb2NSK2NIdGlnblQ4d0xTdTVVZjdiaEtyTXkKSjFxVGxsOHF5M2huVFRZZWF1bVVGbkk2TWs1eXljd1NaaXp5V0RJM3pGTStsWnpGV2FzZHhoNVpqbkhWUXZlTAowcTJwMEpNT3lRM0RReDJISHNrcGpiaGNPbk9pZXVyaGk5L1JFRVBNYmRncmJ0a1ZZeVVpT280WVZBQ2g5TFRsCnZ0OW1LOC9EYTMrTSt5STQ1Ym93YU5rRXVzNG0yUlVtaVQ4UjM5WXRobnc1UGw1V3M4V3JZVktLYjQ0QWtHeHYKWExMUStISm1uL2hmOEF3UG44N2gvVzNtQnRPRXI0eFQ3NDF0aGJkOU00ZnJac3o4YXF4dTY2NHNQdFVoQ25yQgpBdEZuc2JIa3I5b016Rm42VGlRQ0p0TXFXc3ZRZlZjL2FsYmpQS0w5UFFZMlExcDhTK0xoSG9hbjdHaEVmeXNtCnBoemliajI1L0laanMxUlAvUVJTeWlDTyswU3BqaFZsTVNDaU5RTjB5aWpnM1BGWDVuOFlTYVVQY0FNQ0F3RUEKQVFLQ0FnRUEwSVpFem1jZlFiVVcvVDRVRG5SUGUxMVZ4dDBHeDd4K2RnR0RTTFpjYUVTdUVVWnNqZ1F6Zkt6eQp2b011ZkRTVXQ0bWJDdVJYbk1jL1pHMEVYSHBlRVJMNjZjWG9Ib0NiWW5leVpic2NCRlJmblhKVDZmV2hqYlBVClJKVlhlUzFxMEs3UlY5TVNrY0FwQ0svT3h5VjNNeGp6L3c4eUdhZzgvZDJ3N1NTKy95RnNVcnVMd3BxZGhlMlYKMHZyaVpMN0gwTTU2ZmJBcXQ4RkUwUUpadHlFRGxNVWthUm5kZnZXMmxubE56eUY1eGdOY1lQbzlhdTlCaE8wMgp1eUVOczk2Qzgrd29hTGluSFhCTkMwSkNEdXcrK0lyc3N5UzJ6V1kvL3c0VUhjQjVvbEU2aHA5eWNCT1RUeXFFCnFaR1hGT1Z3L0FYQy9UVkZ5Sm1UZ0JGQUtjMzJnb2NFVkh0dmR5ZmtXbm9KN1V4a2pkTUk2T1BoK3Evd2xuY2QKOGM3YlJmUzFlNkpoN2VRelZlNUw0K2lJVTBsT0JFTGk4NnN6R2QxUFRFME9rQllUQWhNUnJqVHE2ZzQvZHRqYQoyQ1ZjdnhUTE5rRnJ1TUVBR3hOUXVaSjNKU0JQZVNlQjF3WEJXMlhza0hhVXplbnIvNE9PRVMra0NJekFZN3lSCnNWeEcvOGc0OTZ4eTdiUnhrQm9ITytucGQwR0RWRWFjdGErN0lVOE1JV2NRaTJPRG96aGZZdmVrYmYxRk1EUHYKekJ1M1U5Vi9rdUg5a0JvWFlUZjBUc2MwUEVtYk1JVzFVRk9rRlQ3RjV0Ky9yeExIcjk2Ti9CVXJERnVBUmJKTgpQNDY1MVVCT1FVUDlycFpQcVdCMVBWRS9tZndUc3FORHRINFRJQ2MydlJ4OERYK2IxZUVDZ2dFQkFObG5FWkhiClNEQnh4WkxqV0Y5U1BSSC9PQ3hhb3QyanhQd3YrSFdZdEJoYnFaNVdnQ2ltYm1HTHdqakdnanBpV3YvRldQMloKamVqQ3JyWmpMTkpXbjNYZjNHTU5ZclliUjJmbGJYUGY3Z01qaURRVnNuWmpjK2wyTHNLSTZXU2NFUTQ3Zm4wSAp3RzQ2N0ptS3A1KzZOa3JhTW1SVlJrMDJYck5uSitTd0FvSEtUbHRDZXcvakNGWUxycTV0MHhCdFpBcVh5VkRRClBoNkhtejZVVStoMytOSytVVnFDWWwxcjlMTE5FbEwrZnJocGN2UFBvZzZtRmRnUmhEN2hzc2NVUEtwTFdwbjEKQjFES3c3Q3lGa0paQW85NHdjdExhVnJUNERSTW9aVHhuM24vczU0UzRkcklXTEVHS3NqWFZVYm10VUc2TnJjUApWRnhOSDBwS2hYMkY4Rk1DZ2dFQkFQY3V2RUlxS3pJVGkyc3BURzlkdVU0Sk0yWVVTMSs0MHBHNHNqSHlsWWd6CnBhMEJyaWMwejhXM3VkQ1RWMDhwZko1UGt1bWlseVFYR2dJeWx3Sk84VWhySWZTTGJoRnEvWm9xWUQyT2h3ekcKR21qMGJuWkJuUUx1QXpMQUFtdTQ1ODVLeFpBN2JwamhSdFhwb2dVSllvSmN0REloOVlVMkgwN3loRDFKN3ZkMgpRVlB2VHpBVEJ4QmlKMGE0Qmw2Y0pNUXUwUkdoOWFUMFRKMW1FRGhmTW1BcXZSZnRLUWRKdG1qVGRER2hZTmc4CjY5YkwzQWw0YXBnVVp0dUJ4QXNVQlpaTG5XaVJseEROYUxOQ3k5K3grY0IwdDR2WWdwNnNFMFUwaFBPR00rcG4KLysrL2hveDkvd2JqdFZES0dvUUw0d0tsQ0QrWittTXhrbjl0MHVUT1M1RUNnZ0VCQUwxZVdDR1N2cGprSVZOSAprT3pHOThjN1pyVEw1bDNsajJxVVpub1luNWN3RU5tSlEyMGxPN1RnUmplcVFqbVUvdXNYL2VJNDVUSEFrdXJ3CkRGVFRlMmJ6cmtiaG5BQkFWcnliVGZISE5zMnBIN1V1eVJyeW1qN2I0UE0yeXdZR0k1MGdHWmZUTHIxVnVrNHMKUnNLTk0wbVVNcHpPNHNQUy9qNkxObWF2SWgvb0ZzVExiZUp5d2dvaGR2RWRYT0pNUnY0ckpRS3R3YzVhRk5JMwo1YmJ5K2R5b1JyanVKYngya3RsRVpCZkM4cUt6eDV1MFd0Y2p1SmRTK3J6RFlEU2szZ3NBUkZVaTZGSnBySGUzClNFaFd2REk0MzZXemRIdlhYczV2aWJmeG1CWnVzd2lZTGYraTBBNnk3b1d2ZStxY2YzcFhOOTNSRG95djZQZVAKWGlQdWpWMENnZ0VBQWNpemtTS3V4eUMrKzlvRGREWlA5UkU1N3Iyc3daY2E1ZlJZVE9YOFVFeFhJTVdIVlQ4YgpWTWo3clZheTVaNWVDT0o0SS9tSmI3Zys5czhZcWVxWjhUVGN2T0FZdmtWd2FTRnZLbUtSOVBTbEVpYlplVDhGCi9CUnRyM3NWU1dPL1FJem5taC9qcjNUSXh4aDFrK1c2Y1Voc0FJU2dPZ0xtL1BIaEpIUVpKbTRURUtFRWlFdEsKM01Kb21Da1Iyckx6elBxdGhad09vczhra21vL0tiaitLeFdENGQxVFUzc2p0dVAzemJmbGRBb1VoYXRZL2pTQgpTSEcxUUZaU2JPWUxHRWVaYmp6R3cxZElMeXNIUDZrUUxXUnFRcmNnVWpiWnVNRWxTSUNxZFVHazVqMFNvb2J5ClJVRjFlSXpNM2pFYnhWUWRtQi9yWDdYbTRjYVFKQmlkRVFLQ0FRQS95WWQydW5NcXZkbFpBZ0J2WEJ3dVV6angKd0FQN3ZrNS94ZmFoUDNrbTBnTFRBTGtMY1RJOCtUc2RMQWJDR3UvcHVvM3V0NGRkd1hKUFhWYVJoMHN6UGNobwpiM2VaOHBQdWZvR2dyS0xOcWFMd241U1Z1UjRkTGxDSGJNLysxakpDUnNyeURUajlvbVBGRnVseHkwVG1OdEFqCnBlTXhMN253b0QrWFBLV0o3dVZ5Qy9wN3d1akpobWRiU1Z2TkpOTlZFcjZodGdKREZ4YnIvMFdIRkpxRG1qazQKZHdiUEE3NEcyeTlobzRhZ2JtVllmRG05VjBoQ3QwU0xxMWhwQzJYSWZMZGhCd3JsQi90SjFBNCt2UEdwTG8vQgpuRVdwc2k0V1dQYTVqdGdlK0thMTA2MjduU0wyUWpkUWFITGEyOE1QcTF4QWxpc2FGY1JRaVVRS2JQRXoKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -307,7 +307,7 @@ "domain": { "main": "apprise.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDRENDQlBDZ0F3SUJBZ0lTQlF5V0JiUlpGRkdqWklob2tKeFBFa2l0TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05NalV4TVRJeE1qQXhNalV4V2hjTk1qWXdNakU1TWpBeE1qVXdXakFoTVI4d0hRWURWUVFECkV4WmhjSEJ5YVhObExtRjBhR0ZzYVdGd2NITXVlSGw2TUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEEKTUlJQ0NnS0NBZ0VBeFhLNllRSVVCdy9QZVdOVGU5QzdpcW84dFI3Q3VzTlcwMVhEUU5LWXFyYi83NVBTbzM5bQp5KzRCY3RBeHRDOXkvNm1acnZJa3UzSzVKc0IyenBSanRzZmxtNGFscEp0ZmQ4UnUzaUJCWVVXT0FlZXhJWHBUCmJPdzRYTkJpZUhGMTIxa1dmcU9mWVdYQ3BOWEwxM1h3TVBmcGxoaDhueTJPNkFMVDRCdXhwL3FtOXk0Z3VLWE0KU2hwNWVBMEpDRTdiVUpia09ESlYrWDcvRnN0QU1TNTRoRXpZUHd3MVJlL0FYM1d1a2NaUy9EbUtQcW5ZcE5DdQpGR1VQV213NkIyYkQ5bkVFbmc1MUpTYUI1M0RRWC8yQ3prQ2NTSzd4VjZhTkR4Y21XYTBRanB4RXRWckxmcFVwCi9CaTBJK0VXQTBkbWdJb3M1ajRONHRRa0YzOUk4VTcwTUxIOXRkM0RwYmdhMkFNY2lsYmFwMngwMStyd3hMdzYKa1VoNTBUNVF0MGdDTmRhWm5nWVdwZzRDVE5jeXZKSFhHL2pueFdzZGk4bCtrbVh4N0t6OHgwTFl5dXBoT1U3Mwo1dUw1UnFBUGx5T1c4aEF0RzNRZlpOZ05sRUEyZktZaldLaFl2c3FweWR6UWx1WEZVRC9CRnBObUhUYVo2aGVyClBwanFCaVhzTjhLWHJnQlZjbHpYaldyWk9wY01pcWdYVFZDWEZITjNJNXVrNGVDMTFqT0xwT1NDQ0YzYll3cFcKSlNFN000VFlhNnRCejBWdHFkblRWUGU2Z2tKTkNWTDdEQkM0aE53RjA2Ky94K0ExQjNzZFRGYkxrYU0yOElGcApPNjRsa1Z3R2dSeWNXcjlnQU5kRHltaG5nY0s1WHIvTjdEQnZGWGZGelJLYlh5dE1OWENDS09FQ0F3RUFBYU9DCkFpWXdnZ0lpTUE0R0ExVWREd0VCL3dRRUF3SUZvREFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQVFZSUt3WUIKQlFVSEF3SXdEQVlEVlIwVEFRSC9CQUl3QURBZEJnTlZIUTRFRmdRVUFUUzJkV09ub3Q4bXJ4TEUycUhLYjF5MQoxQkl3SHdZRFZSMGpCQmd3Rm9BVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdNd1lJS3dZQkJRVUhBUUVFCkp6QWxNQ01HQ0NzR0FRVUZCekFDaGhkb2RIUndPaTh2Y2pFeUxta3ViR1Z1WTNJdWIzSm5MekFoQmdOVkhSRUUKR2pBWWdoWmhjSEJ5YVhObExtRjBhR0ZzYVdGd2NITXVlSGw2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQgpNQzRHQTFVZEh3UW5NQ1V3STZBaG9CK0dIV2gwZEhBNkx5OXlNVEl1WXk1c1pXNWpjaTV2Y21jdk5EWXVZM0pzCk1JSUJCQVlLS3dZQkJBSFdlUUlFQWdTQjlRU0I4Z0R3QUhjQVpCSEViS1FTN0tlSkhLSUNMZ0M4cTA4b0I5UWUKTlNlcjZ2N1ZBOGw5emZBQUFBR2FxRUhoOXdBQUJBTUFTREJHQWlFQWxvQmRHOGxWMFhHcHNJQVlaRkVEOU5BcgpFNGdzWFA5UnE4R3U3Rm90ZVJvQ0lRRDhCa3RvVldrSEtEVC9ueG5xV0l5bWdyOEFoZjBhQ0ZjVEtHTXZxTDJuCkRnQjFBTXM0OXhXSmZJU2hSRjlid2QzN3lXN3ltbG5OUndwcEJZV3d5eFRERkZqbkFBQUJtcWhCNGhRQUFBUUQKQUVZd1JBSWdSSGxjSjFoam1NVmxPTGVORFNNZ0RwZ2pvVjllODQ5dklMN3JKakY1a0xvQ0lFN3JVRVNraVdzSwpCd25sT2prTERxbHlsWUNPYmNoeWduTHprVTBOTENpZk1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ3Z1S3BXCmVqVm5XR2RHQllRdzZ6ODJLdEQ3eEg2MTRacklaNjJKeGVYYW1rS1FzUkE5aFVoQnlrKzZWKzVyVmtQWUU3OSsKc1Yxd2RBdjhoV0xCRCtZaHJFS3d5QW1ENHM1NmsveWdYQzdFdjJNSUNZMUJNY0JaaTEyc0ZlS3pxajZkRFhBdQppcm44RW56dCtvY2hveURIYXMrKzlWTFdGcHVuMUlWNTIyVmliOGpLTXZRR3REdS8rbklURDU2MTBaYzZ6OU9BCjUxdklLNW40RHovVnUreW96UDFPUC9ncmZvS3lmRVJCdEYvM1lyQ2txZTl5V2IrSXF5N21Sb2piMjJPYjU4NTUKOEx6YWI5dEl5Zml1K0V2bU5yWjZZeWtDN09rVytTNHp3MFZabjhFNmJCd2poNUo3dHRUZ3hHbU52b0hpTE96aQpEOUJQU0pMcnA0VWc4cEpKCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDRENDQlBDZ0F3SUJBZ0lTQmZDQ09td0gwTE9QQVZRaEZva3o1U0xrTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXdPVEV4V2hjTk1qWXdOREl4TVRZd09URXdXakFoTVI4d0hRWURWUVFECkV4WmhjSEJ5YVhObExtRjBhR0ZzYVdGd2NITXVlSGw2TUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEEKTUlJQ0NnS0NBZ0VBeFhLNllRSVVCdy9QZVdOVGU5QzdpcW84dFI3Q3VzTlcwMVhEUU5LWXFyYi83NVBTbzM5bQp5KzRCY3RBeHRDOXkvNm1acnZJa3UzSzVKc0IyenBSanRzZmxtNGFscEp0ZmQ4UnUzaUJCWVVXT0FlZXhJWHBUCmJPdzRYTkJpZUhGMTIxa1dmcU9mWVdYQ3BOWEwxM1h3TVBmcGxoaDhueTJPNkFMVDRCdXhwL3FtOXk0Z3VLWE0KU2hwNWVBMEpDRTdiVUpia09ESlYrWDcvRnN0QU1TNTRoRXpZUHd3MVJlL0FYM1d1a2NaUy9EbUtQcW5ZcE5DdQpGR1VQV213NkIyYkQ5bkVFbmc1MUpTYUI1M0RRWC8yQ3prQ2NTSzd4VjZhTkR4Y21XYTBRanB4RXRWckxmcFVwCi9CaTBJK0VXQTBkbWdJb3M1ajRONHRRa0YzOUk4VTcwTUxIOXRkM0RwYmdhMkFNY2lsYmFwMngwMStyd3hMdzYKa1VoNTBUNVF0MGdDTmRhWm5nWVdwZzRDVE5jeXZKSFhHL2pueFdzZGk4bCtrbVh4N0t6OHgwTFl5dXBoT1U3Mwo1dUw1UnFBUGx5T1c4aEF0RzNRZlpOZ05sRUEyZktZaldLaFl2c3FweWR6UWx1WEZVRC9CRnBObUhUYVo2aGVyClBwanFCaVhzTjhLWHJnQlZjbHpYaldyWk9wY01pcWdYVFZDWEZITjNJNXVrNGVDMTFqT0xwT1NDQ0YzYll3cFcKSlNFN000VFlhNnRCejBWdHFkblRWUGU2Z2tKTkNWTDdEQkM0aE53RjA2Ky94K0ExQjNzZFRGYkxrYU0yOElGcApPNjRsa1Z3R2dSeWNXcjlnQU5kRHltaG5nY0s1WHIvTjdEQnZGWGZGelJLYlh5dE1OWENDS09FQ0F3RUFBYU9DCkFpWXdnZ0lpTUE0R0ExVWREd0VCL3dRRUF3SUZvREFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQVFZSUt3WUIKQlFVSEF3SXdEQVlEVlIwVEFRSC9CQUl3QURBZEJnTlZIUTRFRmdRVUFUUzJkV09ub3Q4bXJ4TEUycUhLYjF5MQoxQkl3SHdZRFZSMGpCQmd3Rm9BVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdNd1lJS3dZQkJRVUhBUUVFCkp6QWxNQ01HQ0NzR0FRVUZCekFDaGhkb2RIUndPaTh2Y2pFeUxta3ViR1Z1WTNJdWIzSm5MekFoQmdOVkhSRUUKR2pBWWdoWmhjSEJ5YVhObExtRjBhR0ZzYVdGd2NITXVlSGw2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQgpNQzhHQTFVZEh3UW9NQ1l3SktBaW9DQ0dIbWgwZEhBNkx5OXlNVEl1WXk1c1pXNWpjaTV2Y21jdk1UQXhMbU55CmJEQ0NBUU1HQ2lzR0FRUUIxbmtDQkFJRWdmUUVnZkVBN3dCMUFHUVJ4R3lrRXV5bmlSeWlBaTRBdkt0UEtBZlUKSGpVbnErcisxUVBKZmMzd0FBQUJtK0dHdUV3QUFBUURBRVl3UkFJZ0J3NXVmOXhPRHlUSkRjTGgwNkFUaDhxVQpubDFYUDMvSUZtYWpmaUQrTFVRQ0lFemEwOWREWitTWVBVRXlHUjdhcjNHamQrQ2VOYjBpK3dwWURRdkFxUGhBCkFIWUFEbGVVdlBPdXFUNHpHeXlaQjdQM2tOK2J3ajF4TWlYZElha2xyR0hGVGlFQUFBR2I0WWE0VUFBQUJBTUEKUnpCRkFpRUFpNXNxU3VyZkRPdEEvbXFxVUkvN2toTFdKcDQzaVdHQ0drOU5qM2FlbHhBQ0lFdm1UL28zR1FtOQpBL211dFI1Z2xyZi96WmRMVDY0Zm5ONElnT3lwUVkzK01BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRRE5PWTh5CnpUVGsvSTYvYWJNeVgvRTBERHV4OGVvOTlDTzVGcUlTU05pRjBGWTA4WkRLSkZBNWY5T2dMV05lZjhkc0l6QmEKeE1tZTIzLzU0eStlSlZSWjIySHI2K2RtYjBPd0Zsa2p6MmdSTUFFWjNXSU5DdWhvUTVhY0xOcG1GVEcyWDEzUgpQYjhmaUZwL2plRlpVelBBM01PMkZORUd1THJFclJyZXphT1E2YmdkM3Zobit1a0taenVIV0hFMFFNbzRnejB3CkRQUzRKd2dLeTBkZlZZRjNRNG05YlBNclk0RG15bFl6SXBZV2lRbEZzUXEra3AvdkZTS0trN0ZuNWswU2hBMmMKNTBYeUNpV0VEQmt2YjVBVXgxSWdaVjFKY3F5VmRjcE1OaHk0ZHNkYlRqTUFiTzZ6c2NaYU9MUDNqV2h0Z1FIVQp0R0JVWHZLZXRNVkduM3VKCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS3dJQkFBS0NBZ0VBeFhLNllRSVVCdy9QZVdOVGU5QzdpcW84dFI3Q3VzTlcwMVhEUU5LWXFyYi83NVBTCm8zOW15KzRCY3RBeHRDOXkvNm1acnZJa3UzSzVKc0IyenBSanRzZmxtNGFscEp0ZmQ4UnUzaUJCWVVXT0FlZXgKSVhwVGJPdzRYTkJpZUhGMTIxa1dmcU9mWVdYQ3BOWEwxM1h3TVBmcGxoaDhueTJPNkFMVDRCdXhwL3FtOXk0Zwp1S1hNU2hwNWVBMEpDRTdiVUpia09ESlYrWDcvRnN0QU1TNTRoRXpZUHd3MVJlL0FYM1d1a2NaUy9EbUtQcW5ZCnBOQ3VGR1VQV213NkIyYkQ5bkVFbmc1MUpTYUI1M0RRWC8yQ3prQ2NTSzd4VjZhTkR4Y21XYTBRanB4RXRWckwKZnBVcC9CaTBJK0VXQTBkbWdJb3M1ajRONHRRa0YzOUk4VTcwTUxIOXRkM0RwYmdhMkFNY2lsYmFwMngwMStydwp4THc2a1VoNTBUNVF0MGdDTmRhWm5nWVdwZzRDVE5jeXZKSFhHL2pueFdzZGk4bCtrbVh4N0t6OHgwTFl5dXBoCk9VNzM1dUw1UnFBUGx5T1c4aEF0RzNRZlpOZ05sRUEyZktZaldLaFl2c3FweWR6UWx1WEZVRC9CRnBObUhUYVoKNmhlclBwanFCaVhzTjhLWHJnQlZjbHpYaldyWk9wY01pcWdYVFZDWEZITjNJNXVrNGVDMTFqT0xwT1NDQ0YzYgpZd3BXSlNFN000VFlhNnRCejBWdHFkblRWUGU2Z2tKTkNWTDdEQkM0aE53RjA2Ky94K0ExQjNzZFRGYkxrYU0yCjhJRnBPNjRsa1Z3R2dSeWNXcjlnQU5kRHltaG5nY0s1WHIvTjdEQnZGWGZGelJLYlh5dE1OWENDS09FQ0F3RUEKQVFLQ0FnRUFnRW81RzByVVpIbzdYaTNSVW9PZk4wdkJRaFdJaFB6aTcxR3NHZlE3eWNBNXJ4cW5KQ0JsVkYrQwpoVzBNdm55T0Jkdld4VHNEN3Q5dHVlWVh5OFhTdkRKSjE3RzI4cXNaYnFJdFB4cEtJTCttczBvdFp3a3FKMzJjCmFZSGtXVW12UUNRMFgzaEUyRzNiK0dvSmxpZEZOeXY5azg2NU9sdkpuS29wckZXU0t3akxiNU9ESXpabTlFY2IKWVl0bXNRVTdyck03K2QrS3lSOWc4eGlBenZQWXptMTNuQTk4bGNKZmhpYmFsRkQrSG0vc2lTYW1Zd0JMKzJobQpmMlFPbUR5SFd4cTMyMUtkZnRQMFY4S1BRYTlnVEU3aXZMOGVoTXJzb0Q5MFpaUHpUQlh3OXJ6VnQ1dUh1Z3I3CkVNenhGcFJQMzNqb0QzbUdZRGxpY2ZuOEZQNHQza2xiRG1Kd1FpUE1oL2VQQjJFN0F3YW1lUXZOSWNnZUk5bC8KK3pXdlZ3ZVJjcG9DQW1iWUUrTGtsbHBLTzdhZkxJVVoxNi9RdFF3TUQyV2JOWnZXMjZnTmVSdWZEbmtpdDNQTAp4RlJsc3RkZEZqSG1Oa3V2cWg4QWV2VmNUL0IvZEkrekNnUmNsTEo5R2ZVNkhiWGphNlVlWFA3NVZQTkdVdDUxCjRSRFFPR2NNYkJiK1hSSXJ6VDZVWlhrL3FZZTJ6LzIwVjQ0TEdJZlR0dkkwQjBUbnR6SjFubFQ4VWNYVmZLSW8KbFBnSmx5RlJxT1oyNUVFU3FjUlBKWnpMTlI2VEFqa1RqOCtzWmRZV1dFazFJRlJsdXptV1AzRFoxN21nVytrSgpQK2FFRkREUldYbm5uTmZNYnIzUlRPSXhVSkRZU1lEb0tMM3RwM1dPL3liWTlOQ0RBSUVDZ2dFQkFPeThxS3BECnB0YVkzemRhdmtoMURIV1BrYTRXVEVKakRNMkppV2pUUXlkejFGWnNac25RdGQ3a2xCeWV5NnpYQVUzTVpjUnQKQ1B0TGV5OFROdkNxdTJ4TExsSUdkVU4rTERvWEZPbG5LV0NlMVlzcFp3OWhISzlrRnNvREVBSUptdEtvelJYQgovZmg0bzJjOWM4SjJEVlFNaHBjREduYkxEMkpyTDk0K2tGMjE0elZGRkwzWnVKNmdBM0ZBbzhGazhoNEZwWWo3ClpXQUpCOEJPeG1ucFJDazRnRi9UTHhaVHhod1R2VmhkeThnU1c2WlBwN2xJcFh1Ty90VU5oWkRocm5CV2FxaEUKNk5Yc0VMU2tLWVJiWXZTSFh1V3J2c0dFdEx5M0JXcUZMSFFTWVlGYk9GWjZadFFxbDZMVk9oaGxFdXlHbkdGKwpqS2hJd2JkbUZ2UmRTZ2tDZ2dFQkFOV0RxbEhxbnFkUitWazJOTnJKd3pYWDhSVkZFSXZVZk5qazRMSCtDRkRYClZCOFVqV2ZDdDZxRG5jY3YrWCtjSVlVMG5uZEF4SjZhUEJUYzR4SkFrUXVDOElieGFZUWFqb2R3R1Zvb2Y5ejMKRjQ5UkJGUXBvYzRDdFJYR0hxTXFsS0pQelpjdzN3RGpzSlJhZzRBMVJwY0hJOXdSTUxxK1QvWU9HcXJrT1E0MQpoUHgzblR4d1VGMWFpSURTZ3FsNEdqZXRIZHhkQ3ZDRXNJQWVZVytoT1JOcXp2cEFyS2pta2JjQTkyb2NKV1VaCk1iUzh4RnhhM0k2QU9OR3RzSml6UGdiNzdpYStGU3dGWWtLbnZUemhXQ1BGQU81VUxvU3kzeEhSTDAwSy8raW4KSjF1MkNOSitQNlozUXhxcjhHakl2N2dyT0RTc0dYTml6cEkxM1FTcC9oa0NnZ0VCQU5Ib25pMEtlMTZBZ2p2VQp6Qy8zQ1NzY04vSUNkMi9OMzhaSGszMU5CWmh2emZFcmdTQ2xYUDNiODdCRTVSZkdOTFBFN3Q5eVJxcDdUU2g2Cmd4WjJiR1VqYkZqeXZQc3hYd25LK1pIVEZROUZCdGV6eUZ3TW9hQ3F3TUl5WVBsTmh1Z1BJSG1RWHg3MzZQdGIKczg3VFdoSVNZU3g1WmZlN0tWTDg4NTYrSHNmWXhUT3dveW1MYVhYTk1BQTFibjNHZ2lBNHBZU0dWR2NJMnNTYgpsTGJJVE5XMzhhd0YxeFNYQjJ4UjNHd0VEdkxCeEYzODl4MEUyeVpwcm04KzVCV0k1bUZaWG8wQlBPcWh2RlpQCjBUZzR4ODlHVU5DWXJqVnM4OHo1QTJabDJ2cTRhWmlIUjdiMkpVTXUyUEZhMjM1UjhLdWsxL2hpZTFtajJaQkMKaDB2NWcvRUNnZ0VCQU5HUTB1cG1NMlNkRS9XWk85V0c5VUJ5L0NEWlVmMDlDWEZGYkxtblVmZ3U4VlUwTWZxbQo1dWpKR0dLNlZ0UUdwZXY5a3BBUUZTeHF6QS9hSWxIMjU2WjUxYVZOYkRpS2JGekpEVWt0dVJwanVFOGx3Tzd1CmtlOEhQei9vM29kZU10Y0JKeFIvbGxKa0tSdmpuM0NHV2d2QXFWVEYxcU5rU2syQzJHL2xZNDdydnVTaWJzVTAKbzl5TkVMQUlidER4bmlJSm0rWi91RTRNbnNTUmpTY3BBa0ZwczA5empVU1dVbTFoMkhYZ3ZGOTNsQThHdkdDOQptZitRSUxURkd6RTF0T3JiK1lzelJNcVpXakY4UEVSMkZiRytHa1RTZ1hvanFzanRIZFVydDdSZDVFYWk3QlBXCmNKanVOQUlJd3dYR0RFOHl0SThXWUVDZHVZMU9xdWw2QkhrQ2dnRUJBTGhSV2JncVBuMXlBZ0hmMEtEejlIYnAKbU1idEdWaUhBZ0I1TG8zVDJDdlBiQ2o2eko1WVptOVNjcnJ5Rm5YSkp1RHQyUGVxUjdEZnFvNEh1a1BjSTI1dwpuTDRGNTdlVjB3dTNTNTNBQURhcG9IUUZaUlhlME5UcEt0NTNkQjBLZXZnVy9lTzUxRW9PVXNaVDZoNmhlazZzCnUzeE9BRlVrQVBzT0ZGcnJ1SkcyNkkvOG5UdFg3MnR0akFyT21OWnNraTVIZFE3NFdWd0xxR1A2K0twbS9hVGkKWktuZDNxTTB6MFgzV21ZZEswTGkxdU11S1RNOFFMQzNMSHNJLy9VZDhTNUs2dVhWUzVyR3hzT2xGVmFrNDFKZQo2dW9kUFgvWmRPaExiVkdhYnBvZGJubUhFQitJWSszRlFCYTlZT3RqNE96VFY0SDZuRFVPZWZ5T29MWGJLUlk9Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==", "Store": "default" }, @@ -315,7 +315,7 @@ "domain": { "main": "zoffline.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDVENDQlBHZ0F3SUJBZ0lTQlYwMk0xMFhXQllXZVczVUEzM1dYL1lBTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05NalV4TVRJeE1qQXhNalUyV2hjTk1qWXdNakU1TWpBeE1qVTFXakFpTVNBd0hnWURWUVFECkV4ZDZiMlptYkdsdVpTNWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVAKQURDQ0Fnb0NnZ0lCQU5uZXo3TjJzZW1oczYrYUN2VHVQYU1GTzRtc2UxbnUvTS85ZWMya1RrNUk0MzZjS2VkRQoza0gxcHhHazNFMFNqQThuRWYyb1lKUlpLT1NrVGp4RmU2aERVRDl2ZHFmejMyTVZsQS9SaHF0eWorQlhTNGtoCnZtWW5mYS9rQzl1UUJ5TW1kSlVLOTJ2a3RRVzRENW82cU9kWUVXeEFHRm9NMWpYUENuQzNiNitmUDl5dThkamcKWFY0MldyWnAvRHBkNFZndjFCZHdwdGpJVFRLK1diTjVxaVp3TUdZYlBzaUg2c29mM0l6aUd1TTgrM3ZxU1FEYQp1R2hJellRdHg1ZFYxNGFQZVhnc3lmWTRaNjJYMlpYdWx3TENVTWlBMnIvZVVwWWQyeERQaGJYUTRSZFBNalRVCmRjZEorVzlxN05mTS9oWkdjSzVod3duNjVXK0lvS211cU9aRC9zQjd2NzBpVExFNzNMVGMyeVFNYkluNDBBYmEKanl4YXk2cnU5TW9RMDIrazNFYjFlU1NjZWdRcjc5UHQzaVFNZ2tualNoOEVIYW5sS2Fjc2JGM1QxcStFallQaQoraFFxK0x6M2J1WE9GRURkVlg4a2NJbDBGNVNlb29OeExLVWM0S2RoT3R5Z1NVNklHU3ZPdmNtZGhiZG5YaUZyCnZYUWRjMUl3Um9zdWFkaFRPWWNBWkc4V01OYjBKcE44M0l4bm9SMzdTeWU1UU9YblF3YWlUY2N0LyszNUJ3YWsKYlNnMGZ4RS9qamJnb0RxZlFxWk1YWThhVkRZR0VMWTErVElrS0s3cXZJT3hFT0pTbHNEdmFvY21NMFFvUnpxQwpsRWo0aFk5NWxlTHk2RHVUdmtJRkRLeU51NFlJYS9nL3phdEN6cFQxVFhkRGtjRGg0djl0YXYxTEFnTUJBQUdqCmdnSW1NSUlDSWpBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0cKQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZHYW5WWHQyT0ZSNlMwWGptMGtxZitOKwpzc0JnTUI4R0ExVWRJd1FZTUJhQUZBQzFLZkl0am04eDZKdE1yWGcrK3R6cEROSFNNRE1HQ0NzR0FRVUZCd0VCCkJDY3dKVEFqQmdnckJnRUZCUWN3QW9ZWGFIUjBjRG92TDNJeE1pNXBMbXhsYm1OeUxtOXlaeTh3SWdZRFZSMFIKQkJzd0dZSVhlbTltWm14cGJtVXVZWFJvWVd4cFlYQndjeTU0ZVhvd0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QgpBZ0V3TFFZRFZSMGZCQ1l3SkRBaW9DQ2dIb1ljYUhSMGNEb3ZMM0l4TWk1akxteGxibU55TG05eVp5OHhMbU55CmJEQ0NBUVFHQ2lzR0FRUUIxbmtDQkFJRWdmVUVnZklBOEFCM0FHUVJ4R3lrRXV5bmlSeWlBaTRBdkt0UEtBZlUKSGpVbnErcisxUVBKZmMzd0FBQUJtcWhCOU9nQUFBUURBRWd3UmdJaEFLYWJab3lBaDVRUW0rNHVORGFUUmlHZQpqSTFiZHgvZ1k2NVFzZDluMVFXMkFpRUFpVTNRaEFiU1pBQjlaTzRIOGRJNFBmeS85RGZIM1FNb3VPZGd1T2FGCmNqZ0FkUUFPVjVTODg2NnBQak1iTEprSHMvZVEzNXZDUFhFeUpkMGhxU1dzWWNWT0lRQUFBWnFvUWZUc0FBQUUKQXdCR01FUUNJSHlGSXVPdWJjMSt2QUl4a0RJeTQ5QWxzM21kZloveXNiVnFUV212N1JBdUFpQUtBT1dhUzZXMwp0VS8vTHFkbFp2Q1NxZ2l3Slcxbi9nYUl6V2s0bjB6ZldEQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUF5REdwClExQ1o4VU1xbnd1ZGZlZ1FLUi9KMHVVeFlDUjFaMVRvVU1NK1NEaTdXWDVKK0lDcW90ckJUVzhrZHZuK0pQc2QKVmxxRm51dk1tbDJvM2doNlJCOWtGaFFONW9QMkNuZFNpYWd5a2puNURaTC9ZS1diSStTR0o5Mnd0UERHYjBiSApyeGVJeCtUR3E5L01YemN2OXdKdVFtQ3NlWG1xaFVTSWkwSUdRNXp2b0ZUa082VEFXSXVZNDlVZHFnRW4zREpHCndrcEF4VzczK3BHcitVN1E5akFIOUFNR2ZBNDhZaDRUQ3pnMFhGQjhpOVI2OUxpU0l1NDY1dzJ0R1IzdWFVVVYKNkJSOVI0SDdNTHdzMnZQUzE4VHJSYW9jVTFWaWRocGNJQVB0SDJDVXlBUWJFeWsyZFkzQ0dHM1FlVzVibEFzMgovemhJNGZYN2FyRE9NU3BIR0E9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJqQ0NBdTZnQXdJQkFnSVJBTUlTTWt0d3FiU1JjZHhBOStLRkpqd3dEUVlKS29aSWh2Y05BUUVMQlFBdwpUekVMTUFrR0ExVUVCaE1DVlZNeEtUQW5CZ05WQkFvVElFbHVkR1Z5Ym1WMElGTmxZM1Z5YVhSNUlGSmxjMlZoCmNtTm9JRWR5YjNWd01SVXdFd1lEVlFRREV3eEpVMUpISUZKdmIzUWdXREV3SGhjTk1qUXdNekV6TURBd01EQXcKV2hjTk1qY3dNekV5TWpNMU9UVTVXakF6TVFzd0NRWURWUVFHRXdKVlV6RVdNQlFHQTFVRUNoTU5UR1YwSjNNZwpSVzVqY25sd2RERU1NQW9HQTFVRUF4TURVakV5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCCkNnS0NBUUVBMnBnb2RLMitsUDQ3NEI3aTVVdDFxeXdTZisybkF6SitOcGZzNkRHUHBST05DNWt1SHMwQlVUMU0KNVNodUNWVXhxcVVpWFhMMExRZkNUVUE4M3dFanVYZzM5UnBsTWpUbWhuR2RCTytFQ0Z1OUFocVo2NllCQUpwegprRzJQb2dlZzBKZlQya1ZoZ1RVOUZQbkV3RjlxM0F1V0dyQ2Y0eXJxdlNyV21NZWJjYXM3ZEE4ODI3Smd2bHBMClRoanAyeXB6WElsaFpaNys3VHlteTA1djVKNzVBRWF6L3hsTkttT3pqbWJHR0lWd3gxQmxienQwNVVpRER3aFkKWFMwam5WNmovdWpiQUtIUzlPTVpUZkx1ZXZZbm51WE5uQzJpOG4rY0Y2M3ZFemM1MGJUSUxFSFdoc0RwN0NINApXUnQvdVRwOG4xd0JuV0lFd2lpOUNxMDh5aERzR3dJREFRQUJvNEg0TUlIMU1BNEdBMVVkRHdFQi93UUVBd0lCCmhqQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBZ1lJS3dZQkJRVUhBd0V3RWdZRFZSMFRBUUgvQkFnd0JnRUIKL3dJQkFEQWRCZ05WSFE0RUZnUVVBTFVwOGkyT2J6SG9tMHl0ZUQ3NjNPa00wZEl3SHdZRFZSMGpCQmd3Rm9BVQplYlJaNW51MjVlUUJjNEFJaU1nYVdQYnBtMjR3TWdZSUt3WUJCUVVIQVFFRUpqQWtNQ0lHQ0NzR0FRVUZCekFDCmhoWm9kSFJ3T2k4dmVERXVhUzVzWlc1amNpNXZjbWN2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQk1DY0cKQTFVZEh3UWdNQjR3SEtBYW9CaUdGbWgwZEhBNkx5OTRNUzVqTG14bGJtTnlMbTl5Wnk4d0RRWUpLb1pJaHZjTgpBUUVMQlFBRGdnSUJBSTkxMEFuUGFuWklaVEtTM3JWRXlJVjI5QldFakFLL2R1dXo4ZUw1Ym9Tb1ZwSGhra3YzCjRlb0FlRWlQZFpMajVFWjdHMkFySUsrZ3poVGxSUTFxNEZLR3BQUGFGQlNwcVYveGJVYjVVbEFYUU9ua0huM20KRlZqK3FZdjg3L1dlWStCbTRzTjNPeDhCaHlhVTdVQVEzTGVaN04xWDAxeHhRZTR3SUFBRTNKVkxVQ2lIbVpMKwpxb0NVdGdZSUZQZ2NnMzUwUU1VSVdneFBYTkdFbmNUOTIxbmU3bmx1STAyVjhwTFVtQ2xxWE9zQ3dVTHcrUFZPClpDQjdxT014eE1Cb0NVZUwyTGw0b01wT1NyNXBKQ3BMTjN0UkEyczZQMUtMczlUU3JWaE9rKzdMWDI4Tk1VbEkKdXNRL254TEpJRDBSaEFlRnRQanlPQ09zY1FCQTUzK05SalNDYWs3UDRBNWpYN3BwbWtjSkVDTCtTMGkza1hWVQp5NU1lNUJiclU4OTczalpOdi9heDYrWks2VE04aldtaW1MNm9mNk9yWDdaVTZFMldxYXp6c0ZyTEczbzJreVNiCnpsaFNnSjgxQ2w0dHYzU2JZaVlYbkpFeEtRdnpmODNEWW90b3gzZjBmd3Y3eGxuMUEyWkxwbENiME8rbC9BSzAKWUUwRFMyRlB4U0FIaTBpd01mVzJuTkhKclhjWTNMTEhENzdnUmdqZTRFdmV1YmkyeHhhK05tay9obWhMZElFVAppVkRGYW5vQ3JNVklwUTU5WFdIa3pkRm1vSFhIQlY3b2liVmpHU083VUxTUTdNSjFOejUxcGh1REpTZ0FJVTdBCjB6ckxuT3JBai9kZnJsRVdSaEN2QWdidXdMWlgxQTJzak5qWG9QT0hic1BpeStsTzFLRjgvWFk3Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdERENDQlBTZ0F3SUJBZ0lTQmF6VU5IVVpHV2RVTWNKK1ZGdWh5cmo2TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXdPVEU0V2hjTk1qWXdOREl4TVRZd09URTNXakFpTVNBd0hnWURWUVFECkV4ZDZiMlptYkdsdVpTNWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVAKQURDQ0Fnb0NnZ0lCQU5uZXo3TjJzZW1oczYrYUN2VHVQYU1GTzRtc2UxbnUvTS85ZWMya1RrNUk0MzZjS2VkRQoza0gxcHhHazNFMFNqQThuRWYyb1lKUlpLT1NrVGp4RmU2aERVRDl2ZHFmejMyTVZsQS9SaHF0eWorQlhTNGtoCnZtWW5mYS9rQzl1UUJ5TW1kSlVLOTJ2a3RRVzRENW82cU9kWUVXeEFHRm9NMWpYUENuQzNiNitmUDl5dThkamcKWFY0MldyWnAvRHBkNFZndjFCZHdwdGpJVFRLK1diTjVxaVp3TUdZYlBzaUg2c29mM0l6aUd1TTgrM3ZxU1FEYQp1R2hJellRdHg1ZFYxNGFQZVhnc3lmWTRaNjJYMlpYdWx3TENVTWlBMnIvZVVwWWQyeERQaGJYUTRSZFBNalRVCmRjZEorVzlxN05mTS9oWkdjSzVod3duNjVXK0lvS211cU9aRC9zQjd2NzBpVExFNzNMVGMyeVFNYkluNDBBYmEKanl4YXk2cnU5TW9RMDIrazNFYjFlU1NjZWdRcjc5UHQzaVFNZ2tualNoOEVIYW5sS2Fjc2JGM1QxcStFallQaQoraFFxK0x6M2J1WE9GRURkVlg4a2NJbDBGNVNlb29OeExLVWM0S2RoT3R5Z1NVNklHU3ZPdmNtZGhiZG5YaUZyCnZYUWRjMUl3Um9zdWFkaFRPWWNBWkc4V01OYjBKcE44M0l4bm9SMzdTeWU1UU9YblF3YWlUY2N0LyszNUJ3YWsKYlNnMGZ4RS9qamJnb0RxZlFxWk1YWThhVkRZR0VMWTErVElrS0s3cXZJT3hFT0pTbHNEdmFvY21NMFFvUnpxQwpsRWo0aFk5NWxlTHk2RHVUdmtJRkRLeU51NFlJYS9nL3phdEN6cFQxVFhkRGtjRGg0djl0YXYxTEFnTUJBQUdqCmdnSXBNSUlDSlRBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0cKQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZHYW5WWHQyT0ZSNlMwWGptMGtxZitOKwpzc0JnTUI4R0ExVWRJd1FZTUJhQUZBQzFLZkl0am04eDZKdE1yWGcrK3R6cEROSFNNRE1HQ0NzR0FRVUZCd0VCCkJDY3dKVEFqQmdnckJnRUZCUWN3QW9ZWGFIUjBjRG92TDNJeE1pNXBMbXhsYm1OeUxtOXlaeTh3SWdZRFZSMFIKQkJzd0dZSVhlbTltWm14cGJtVXVZWFJvWVd4cFlYQndjeTU0ZVhvd0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QgpBZ0V3THdZRFZSMGZCQ2d3SmpBa29DS2dJSVllYUhSMGNEb3ZMM0l4TWk1akxteGxibU55TG05eVp5OHhNak11ClkzSnNNSUlCQlFZS0t3WUJCQUhXZVFJRUFnU0I5Z1NCOHdEeEFIY0FTWnliYWQ0ZGZPejhOdDdOaDJTbXVGdXYKQ29lQUdkRlZVdnZwNnluZCtNTUFBQUdiNFliVkR3QUFCQU1BU0RCR0FpRUF0OGY1dFNWN1FDRHRMVnRIdWhEMApXUTZpM1R6VmYxNmFmWTZIZDU5VGNLc0NJUUR5OFZLQXdOTzhXZktWcW94MEJlRWY4RDZlNFl4bkk3MFJlTks2Cm04TG03UUIyQUE1WGxMenpycWsrTXhzc21RZXo5NURmbThJOWNUSWwzU0dwSmF4aHhVNGhBQUFCbStHRzFRb0EKQUFRREFFY3dSUUlnQzlVSyt2QXhzaHZ1Q0ROVitzalRZUGxaRS9VbWFnU0Z1akNVWUtOYlV1UUNJUURmcU5rMAo0QVRLUVlKZjMrSGFqL3pxSDdCdVljWVhIdWFnRERSQnRXSnFmekFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBCk1aQ0ZLWktxVTkzS3JJeGppUGtsSEZ3QzlTSER2QzdWa0VtL0VvOGtiLytwa1N5R3NLS3NhTHVBcFc4WDNzeGcKblJ3cUM1bUdoT0t1MWhMQ0t2MkFxUjJpKzZ4L0FSV21GdmJVRVJaRlM3NnFuZEkxc0dZM3hrWW1STUEya3hCdQpWaEU1MVdFSUwvbWtKVmdETVpXa09vRlhVYTdpS3d5Y1UwUUE0WTRzRURNNUZwWGh3eXNXZzkrUTFyeUpQelNBCnNmbG40QmI0NGpLaWRmbmpXTFB2SGgrVDhwOGNpMHA0UXNXQThIejRuS3dwUUcvVDQvK1pPR3ZUTGREaEhTUDMKWkZlOVBDbUJaVkxBUCt6RzdjOUtsdEpBWFBTUmJxb0RvVTUyZUNIdktDamZ0Y3NnSGN2N1RwV3IyYWFtdnlHcgpvbXdJNnpwVmMyS0ZkN0c0YXJZNGNBPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCakNDQXU2Z0F3SUJBZ0lSQU1JU01rdHdxYlNSY2R4QTkrS0ZKand3RFFZSktvWklodmNOQVFFTEJRQXcKVHpFTE1Ba0dBMVVFQmhNQ1ZWTXhLVEFuQmdOVkJBb1RJRWx1ZEdWeWJtVjBJRk5sWTNWeWFYUjVJRkpsYzJWaApjbU5vSUVkeWIzVndNUlV3RXdZRFZRUURFd3hKVTFKSElGSnZiM1FnV0RFd0hoY05NalF3TXpFek1EQXdNREF3CldoY05NamN3TXpFeU1qTTFPVFU1V2pBek1Rc3dDUVlEVlFRR0V3SlZVekVXTUJRR0ExVUVDaE1OVEdWMEozTWcKUlc1amNubHdkREVNTUFvR0ExVUVBeE1EVWpFeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQgpDZ0tDQVFFQTJwZ29kSzIrbFA0NzRCN2k1VXQxcXl3U2YrMm5BekorTnBmczZER1BwUk9OQzVrdUhzMEJVVDFNCjVTaHVDVlV4cXFVaVhYTDBMUWZDVFVBODN3RWp1WGczOVJwbE1qVG1obkdkQk8rRUNGdTlBaHFaNjZZQkFKcHoKa0cyUG9nZWcwSmZUMmtWaGdUVTlGUG5Fd0Y5cTNBdVdHckNmNHlycXZTcldtTWViY2FzN2RBODgyN0pndmxwTApUaGpwMnlwelhJbGhaWjcrN1R5bXkwNXY1Sjc1QUVhei94bE5LbU96am1iR0dJVnd4MUJsYnp0MDVVaUREd2hZClhTMGpuVjZqL3VqYkFLSFM5T01aVGZMdWV2WW5udVhObkMyaThuK2NGNjN2RXpjNTBiVElMRUhXaHNEcDdDSDQKV1J0L3VUcDhuMXdCbldJRXdpaTlDcTA4eWhEc0d3SURBUUFCbzRINE1JSDFNQTRHQTFVZER3RUIvd1FFQXdJQgpoakFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdFd0VnWURWUjBUQVFIL0JBZ3dCZ0VCCi93SUJBREFkQmdOVkhRNEVGZ1FVQUxVcDhpMk9iekhvbTB5dGVENzYzT2tNMGRJd0h3WURWUjBqQkJnd0ZvQVUKZWJSWjVudTI1ZVFCYzRBSWlNZ2FXUGJwbTI0d01nWUlLd1lCQlFVSEFRRUVKakFrTUNJR0NDc0dBUVVGQnpBQwpoaFpvZEhSd09pOHZlREV1YVM1c1pXNWpjaTV2Y21jdk1CTUdBMVVkSUFRTU1Bb3dDQVlHWjRFTUFRSUJNQ2NHCkExVWRId1FnTUI0d0hLQWFvQmlHRm1oMGRIQTZMeTk0TVM1akxteGxibU55TG05eVp5OHdEUVlKS29aSWh2Y04KQVFFTEJRQURnZ0lCQUk5MTBBblBhblpJWlRLUzNyVkV5SVYyOUJXRWpBSy9kdXV6OGVMNWJvU29WcEhoa2t2Mwo0ZW9BZUVpUGRaTGo1RVo3RzJBcklLK2d6aFRsUlExcTRGS0dwUFBhRkJTcHFWL3hiVWI1VWxBWFFPbmtIbjNtCkZWaitxWXY4Ny9XZVkrQm00c04zT3g4Qmh5YVU3VUFRM0xlWjdOMVgwMXh4UWU0d0lBQUUzSlZMVUNpSG1aTCsKcW9DVXRnWUlGUGdjZzM1MFFNVUlXZ3hQWE5HRW5jVDkyMW5lN25sdUkwMlY4cExVbUNscVhPc0N3VUx3K1BWTwpaQ0I3cU9NeHhNQm9DVWVMMkxsNG9NcE9TcjVwSkNwTE4zdFJBMnM2UDFLTHM5VFNyVmhPays3TFgyOE5NVWxJCnVzUS9ueExKSUQwUmhBZUZ0UGp5T0NPc2NRQkE1MytOUmpTQ2FrN1A0QTVqWDdwcG1rY0pFQ0wrUzBpM2tYVlUKeTVNZTVCYnJVODk3M2paTnYvYXg2K1pLNlRNOGpXbWltTDZvZjZPclg3WlU2RTJXcWF6enNGckxHM28ya3lTYgp6bGhTZ0o4MUNsNHR2M1NiWWlZWG5KRXhLUXZ6ZjgzRFlvdG94M2YwZnd2N3hsbjFBMlpMcGxDYjBPK2wvQUswCllFMERTMkZQeFNBSGkwaXdNZlcybk5ISnJYY1kzTExIRDc3Z1JnamU0RXZldWJpMnh4YStObWsvaG1oTGRJRVQKaVZERmFub0NyTVZJcFE1OVhXSGt6ZEZtb0hYSEJWN29pYlZqR1NPN1VMU1E3TUoxTno1MXBodURKU2dBSVU3QQowenJMbk9yQWovZGZybEVXUmhDdkFnYnV3TFpYMUEyc2pOalhvUE9IYnNQaXkrbE8xS0Y4L1hZNwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBMmQ3UHMzYXg2YUd6cjVvSzlPNDlvd1U3aWF4N1dlNzh6LzE1emFST1RrampmcHdwCjUwVGVRZlduRWFUY1RSS01EeWNSL2FoZ2xGa281S1JPUEVWN3FFTlFQMjkycC9QZll4V1VEOUdHcTNLUDRGZEwKaVNHK1ppZDlyK1FMMjVBSEl5WjBsUXIzYStTMUJiZ1BtanFvNTFnUmJFQVlXZ3pXTmM4S2NMZHZyNTgvM0s3eAoyT0JkWGpaYXRtbjhPbDNoV0MvVUYzQ20yTWhOTXI1WnMzbXFKbkF3WmhzK3lJZnF5aC9jak9JYTR6ejdlK3BKCkFOcTRhRWpOaEMzSGwxWFhobzk1ZUN6SjlqaG5yWmZabGU2WEFzSlF5SURhdjk1U2xoM2JFTStGdGREaEYwOHkKTk5SMXgwbjViMnJzMTh6K0ZrWndybUhEQ2ZybGI0aWdxYTZvNWtQK3dIdS92U0pNc1R2Y3ROemJKQXhzaWZqUQpCdHFQTEZyTHF1NzB5aERUYjZUY1J2VjVKSng2QkN2djArM2VKQXlDU2VOS0h3UWRxZVVwcHl4c1hkUFdyNFNOCmcrTDZGQ3I0dlBkdTVjNFVRTjFWZnlSd2lYUVhsSjZpZzNFc3BSemdwMkU2M0tCSlRvZ1pLODY5eVoyRnQyZGUKSVd1OWRCMXpVakJHaXk1cDJGTTVod0JrYnhZdzF2UW1rM3pjakdlaEhmdExKN2xBNWVkREJxSk54eTMvN2ZrSApCcVJ0S0RSL0VUK09OdUNnT3A5Q3BreGRqeHBVTmdZUXRqWDVNaVFvcnVxOGc3RVE0bEtXd085cWh5WXpSQ2hICk9vS1VTUGlGajNtVjR2TG9PNU8rUWdVTXJJMjdoZ2hyK0QvTnEwTE9sUFZOZDBPUndPSGkvMjFxL1VzQ0F3RUEKQVFLQ0FnQmZteVg3OCs4NHZldlMrRDhzb2t0TCtXVGFFbVdDM3B2MFRhQWd2S1JjT0NJVWtrVFZKdVI5ZjJZVQpHUXRQaXY4Sk96VHE0Zk9YeGRSckdTcjN5ZW5zdWJWQ1VSQjV2VXZlK0Q0ai91Y2czMElCeVd6dFBYQ0c5WGR6Ck14aDgvaVFUcWJGcElnblhQK0tzSXN3OSt0WFp4MHpGK3c1MG5jTjJrMmRhZFRTK2xaeDVwQStmQXo0VnRMWnoKNitoeVdIWWxzNzlYbGVpeG9wdzEwMUFic1IwWWh3ekdFZGlvT1BTd1EvRU5wYjcwenZMd3VxdlVneVovSk11Qwo0SEFBbWZ2ZElhTEZPS3Bic1A3V0w1ZWM4cmt6emIrVGJQQVJXR2RYVnJ5bUVOcjFJVGRWZWp4bThJREt0a3lPCk54YTkwRWdEMEY5c05weFhDZEdhOHhMRncwNThCWmM5OXY0MU81cmJQN2JtUEJQOVhSUlVRTVg4RVNYNDh4UWkKZlVKczkvM3kxa3k0QzAxUDlWUm5KOExLeDFLQUpBbllFRURyOXF3bGdJTE0rM1Robm9CZG5WRFJ1Q2wxZGtEUAo2VEs0NkdNM3JQbnhhMnJzd1RsUkhuU2RiUk1OU2t0eXE5aVNsd1RhS3lLVHpmR2ROcmFGVmZKc1pod1pmaEg1Cmg0R1JvTHpsZlMzR1owUGFTc2xNMmozNWtxMG1YTGRQV1IxNlJUNEpTblZGNjdLTXJNcUNOQWd2eEFBbWVXL1MKRWVmOW9yb3d6aEtPeEVxdWVINmFxZGZ4WXcwQU5KTWNpNkFKN2ZySEFqbXFva0VQUjFlNDc3YU9HSmMzb09hOQo2WjEzcnZCSmt0aENRZHdHekRJVW85Wm5oQWV6eG9LTjk5TTZDN1E4UVdNRWxQSE5zUUtDQVFFQTJpTm1IN2xNClZXMXZVN3dUcTNCbUN5RTBIZnJlY0p0SlludDN1b2liWWZwS0RieGZ0Z3dxd1lzcCs4YnNvOXJxUjNhdE1RVXYKYTR4MS9Wcmt6QzBKNERIM1EwNW1FNmV5SXJReGRNcUNiaVFRUWZZcTd3UW5OcHpvRThmdGF2ZkZZdTg4V1VDVwo3b1cxZ1JzL3JyN243OHVocmJMU3h6dVRQU0hpek1UQnU1bEZqM0VCWWRuZWJ4MUxUZFhtWlZwak96ZFJ6NVZCCjkrNXFFeFpldTJVZ2tPVUMwZXNzYzdqSEVOcndJTjJVb21yV0Vka3BCcWVwaWt6TXUvc1hSR0E5SXFnQ2RqckwKSGlUTUc0bU9XeGNJa3dsTTF2bGg3NHRYSDlvdGQ3eGhJTDFPWnBvZEt4QXV6dmZkZmh5RmN0czZUSXRMTXNpegpISTZ5TG5vQ0YwQ3NxUUtDQVFFQS82K0NBVU5ueU4vZmVpTnhhTjhuSkFvdzExbWJDY0RPL3BJQkU1cHhGYjM3CkZVcFh4L2FzQTZWQ1B2UmphNTBPN2p1bkpWdVNGck9MSGYwZmhRVmNQRlZ1dU03M0lmcnBIL3pyNmdUc3QwbkUKQmlIWG94UWgwNzd0bU5jdnl1WnIxWFhJM0NLZ3gxK0VEaXMyeTZpVVcxUFhVamVsYVFnVTkzZUhTUDBFMkl2SApyeE51cTdSVGd0THNZeE1FUkphaVV5NjNvWTBMZHZTeExpeFFjY1RhdGlURGhLa21DZTRlb1dRUGNaM0xFVzBsCnZab1ZteWNTdzE5YmVGMy9WcnZMcE9OUjF1MFQ2YVRTSythYUJuQWdRbDFNaFB0djRiMWduY2hIYWtMMkZLVVIKc3NGUEd5M0Y5aWpuKzRDUWFZWUg1MktwY0hpZ0tmdUpOUnpCeElYKzB3S0NBUUJZNnJrRUVXb1dJR2VTd0VWYwpTcEt0MHJrRngyN0lnK1BqNnVRZyt2SXJlL1NYcU1OeTEzN09LY1hSUllMTVA3M2pwM0p0V3VtN2N5UGRSQ0dqClFIQ1lISVhudjV0SVE4RU8rRmg0Zk51eHZhMksxYWNtaXBEWmFCZ0ppQ00weVE2Q2gzWVlBNFlDY0NwT0dDZGIKT2FJZFV1bnlmY1FCUmoxOFc4V3hKanE2RjM0TlBFa044OXNCZS9Wb0l0cXBVYkRGUUlWdWtpNnp1MUV0dXA2ZQowRmYzK0FHd1E2WjQvVWJYamdiM3ZwcUpvZmJraTVwM2hmeEx6WVplMGJqb1BEcHZXQUM0NUxwSzdVRHRzS0tBCmF1RXAzazZlQ2tWcmVXYm9LdTBCczUzNzFHNlMwQnMzcEg4UUNtVVV0TmVJdStnRnIzblZsNDI3QkVlSlBsNS8Kei9NUkFvSUJBUURRUEtGMTQrN2Z3NnpmYllSTTlBbU5xWnNUbUkvVFJxdU8yMXh6R2NKbUFiOC9ITGdYVElmVgp4RDhLeE1GQUFMOExPWndzcWNKMktLM3hzNWg3SHQxNjZkMXVPR2svekhrWEswYjc1aHpnUGZ5ZlBlckFqNEhwClVVTnl5amJMV2hTUzJnWEhlNUJVTUM5OTFxWWZBZUlwNjBPZlcyQ2xCUWNHY052R2p3TG1WaGxBTm1SWkJWbEsKWC94VHlFWWVra3dMMFMyUExpOGJKN2d4c2JlbW9MdTd3bjlXU09pSkI5ejhkbUM1bU5pdERhYkNIMzdmU05oWQpOQTVzSHFuNWVxTWxYRm5uNEZmcVh1a3BCZnVGcU1ZdEpvMU9kUFV1OWF4OWRJTHRRVEhucUhTY2tDR2NNaEJiCkpmK2hicGl1eUpFaFd0SkNub3RiQmRnK1lIaFRWUW92QW9JQkFRQ2VSeWpLSG5BK1ZBZ1RPV2tMY01uMWxTNUsKQkZCWFVKTEdYdmZIYVRpaC9nNjNZSTNQaHRDa1NEditIcmxaTHpsTmp3UVNFSkpKeU90Vzh5emZ2NmZmQ1JHNApUTDNteFQvek5aTlpDVEFjS1IrSjQ3MUsweE5nS29POGI3OW5PZldLQmo5TXdvK0huUnFsamR0bUt4YjAzWFozCi9qdUUrQVN3YkRFUHUrVjQxVGxjcGV1dzdaalUzRWl1YTdYVEp2ZFRFT1VBS09jNUwxVDlrWFdyUnNIY2RJcEkKZk1IYzZDK0FnTWFDeWprUUpYSk5nTVBiVWIyQTNpMlNkVVpWNUNmMzEwSmUrdzVmd3kyVGtkd21MVnFSTmkzWApqUnpxSkgzVDBPVnh1RkRFNUZ4Q2x4a3hNUE95c3JvL2pwSXFUc0hJMnB1NzZJZEFmRjZYd1VNT1ZyZ1QKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -323,7 +323,7 @@ "domain": { "main": "calibre.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDRENDQlBDZ0F3SUJBZ0lTQmZlSytTMUtHaGJLLzRsckVVZ2NtTW9VTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05NalV4TVRJeE1qQXhNekF3V2hjTk1qWXdNakU1TWpBeE1qVTVXakFoTVI4d0hRWURWUVFECkV4WmpZV3hwWW5KbExtRjBhR0ZzYVdGd2NITXVlSGw2TUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEEKTUlJQ0NnS0NBZ0VBMDdiQlJ2SmN5OHlTNVIzRW5VSHFNcmxFYXE1N2E5K3hNUGhsY1Nmc1R6WFNGSGJTdmZmWAo5ZVQ5YXJQdXRORE1aYzlXaS9wenZWK29oekluaXBYSStOZEpBYUF6R3NQTDA1UGlGM3JmdUpuMHRldUtnd3dtClZJclZ1bk9SbjQwRDJsSnJZSjV1S3g0Rys4S3FJQ0FLY04wb0lZcHM5QzNlYTlkb210N1FSOEpBSjZkK09OWkIKUUJCTHdiNjhQYS93MFdPc2FOdEx0YWtEMTRLSUVZaUNTYSs0V09iSWc3aDQ3ZlBJbUE1blp4WUtuSlNrZ2ZKSworM1oxMWI3elppRThmMFBZY01nUmNIN1BEemUxaXdodzcyV09yY252eWRIQmVkTzhpVWdZazllN3kxa04rcTFxClRSa2hQNm50YkhHbVZhUm43ZW5CckFWejFsdE1VN01kNnVTTmdGSDBlend6NjZUdkhJaWo0M2o3VlY5N0hST1AKaWJhMWVJdHU5TDFTZkV1Q25xclpmaVpuR0l6cDE1SWM4dzFxMVQrZHprM0tYUXZLSm5JTTJmUE91ekpnTk1UcQpkOXVrRFFwTkxBc21BcWlQUE51akxVMk1ycGEvMUVsTDNWNEN5dGRtamNyYVFUbnBSbmQ5d2xaQysrTzdLaEVlCk1JMk9MWVpHK0VEUGE0TUc2NFNEaTZ6aVVHY2R5L1NUUklxa3hKRWpDVjFwbUhLWUZmRnh1UHY4MUVrSytxWGcKaXRTQnJjN0wwZWJEUXNZMlVxd20yQ1hPUzFvYlYwc1FkbDBxU1hTalUrd3JtditRdzkwSVBETWJqT2tLMHJNcgpZMjZwS2RaQTFlOUNmVndZU1FVVTdNMkFUUlRwak1DZG1rNUdUbTkxbEZHNU1JeTFyb3FreUVzQ0F3RUFBYU9DCkFpWXdnZ0lpTUE0R0ExVWREd0VCL3dRRUF3SUZvREFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQVFZSUt3WUIKQlFVSEF3SXdEQVlEVlIwVEFRSC9CQUl3QURBZEJnTlZIUTRFRmdRVUg1UkFWVlNtdE8rM1BKLzhkWXV0TlppdAo0RlV3SHdZRFZSMGpCQmd3Rm9BVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdNd1lJS3dZQkJRVUhBUUVFCkp6QWxNQ01HQ0NzR0FRVUZCekFDaGhkb2RIUndPaTh2Y2pFeUxta3ViR1Z1WTNJdWIzSm5MekFoQmdOVkhSRUUKR2pBWWdoWmpZV3hwWW5KbExtRjBhR0ZzYVdGd2NITXVlSGw2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQgpNQzRHQTFVZEh3UW5NQ1V3STZBaG9CK0dIV2gwZEhBNkx5OXlNVEl1WXk1c1pXNWpjaTV2Y21jdk1qRXVZM0pzCk1JSUJCQVlLS3dZQkJBSFdlUUlFQWdTQjlRU0I4Z0R3QUhZQVpCSEViS1FTN0tlSkhLSUNMZ0M4cTA4b0I5UWUKTlNlcjZ2N1ZBOGw5emZBQUFBR2FxRUlIREFBQUJBTUFSekJGQWlCNU5FN2s3UCtOYkRraFhMU251OXhPNnNIUApHTTVGMkFtekdCYkZZblJLSHdJaEFKVzlaWEVMZkt6aDlwbnFhNmpvMldxMThSWkZXaFFXVHNrZ1VOU1BEcEFGCkFIWUF5emozRllsOGhLRkVYMXZCM2Z2SmJ2S2FXYzFIQ21rRmhiRExGTU1VV09jQUFBR2FxRUlISndBQUJBTUEKUnpCRkFpRUFpbnZEWEd2UnpncHhpRjh6M1FSeUV0YmNBNGNLOCtHWlVSQ2MxbWxNREpvQ0lCY2h5L2pZNm1MVwowdGpkcy8wWHNTNDFKWVd5VW5wcXVIaDNVbFh0bUUrbU1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ2ZDZk4rCnljUW1kaC93SnNqeVpXR0NXRVpUZStSc2hDa2pVWW81S3VqNFRBWEE4ZWVNaVBMRDB5Q0lFcnU4bmpxTXRhRzEKdll1aXg3M1NXZE84c0tRMUZXSnZRMk0wNi9xZ01BNUF4QmhDaDB2aTBIRFZ6MGpiekJWNlVCN3BMZ21xazQ4dgpwZVV1SmRHR0JkSGZGa2VmOCt0VlB4YlRYVlM5cU8vZVFiWTNxY2xsenBCVkx0Q2UvSWJFTWkrOXc4RmswdnNvCnlpNXNGWGVwK2xLQWF0ajdualJxNDVaL0JlRFkydUk1ZEt2eG9URzl6MjluRVkwb0JMd2tRU25LMmY3NGEvV0IKN0RtMG10RmRwTDE3UTE4RlUvOWc1dkI4SUwyYWlWdjg5SjlmTUNtRlhGOWhPc0V3c3lFWVRVT2NMdW00bXJUMwpxbk5tZEhma0pJMXF2N21UCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdFVENDQlBtZ0F3SUJBZ0lTQmZUVjB6UlNtdlpsRTlJNkNJeVM1WEI0TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRJeE1UWXdPVEkzV2hjTk1qWXdOREl4TVRZd09USTJXakFoTVI4d0hRWURWUVFECkV4WmpZV3hwWW5KbExtRjBhR0ZzYVdGd2NITXVlSGw2TUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEEKTUlJQ0NnS0NBZ0VBMDdiQlJ2SmN5OHlTNVIzRW5VSHFNcmxFYXE1N2E5K3hNUGhsY1Nmc1R6WFNGSGJTdmZmWAo5ZVQ5YXJQdXRORE1aYzlXaS9wenZWK29oekluaXBYSStOZEpBYUF6R3NQTDA1UGlGM3JmdUpuMHRldUtnd3dtClZJclZ1bk9SbjQwRDJsSnJZSjV1S3g0Rys4S3FJQ0FLY04wb0lZcHM5QzNlYTlkb210N1FSOEpBSjZkK09OWkIKUUJCTHdiNjhQYS93MFdPc2FOdEx0YWtEMTRLSUVZaUNTYSs0V09iSWc3aDQ3ZlBJbUE1blp4WUtuSlNrZ2ZKSworM1oxMWI3elppRThmMFBZY01nUmNIN1BEemUxaXdodzcyV09yY252eWRIQmVkTzhpVWdZazllN3kxa04rcTFxClRSa2hQNm50YkhHbVZhUm43ZW5CckFWejFsdE1VN01kNnVTTmdGSDBlend6NjZUdkhJaWo0M2o3VlY5N0hST1AKaWJhMWVJdHU5TDFTZkV1Q25xclpmaVpuR0l6cDE1SWM4dzFxMVQrZHprM0tYUXZLSm5JTTJmUE91ekpnTk1UcQpkOXVrRFFwTkxBc21BcWlQUE51akxVMk1ycGEvMUVsTDNWNEN5dGRtamNyYVFUbnBSbmQ5d2xaQysrTzdLaEVlCk1JMk9MWVpHK0VEUGE0TUc2NFNEaTZ6aVVHY2R5L1NUUklxa3hKRWpDVjFwbUhLWUZmRnh1UHY4MUVrSytxWGcKaXRTQnJjN0wwZWJEUXNZMlVxd20yQ1hPUzFvYlYwc1FkbDBxU1hTalUrd3JtditRdzkwSVBETWJqT2tLMHJNcgpZMjZwS2RaQTFlOUNmVndZU1FVVTdNMkFUUlRwak1DZG1rNUdUbTkxbEZHNU1JeTFyb3FreUVzQ0F3RUFBYU9DCkFpOHdnZ0lyTUE0R0ExVWREd0VCL3dRRUF3SUZvREFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQVFZSUt3WUIKQlFVSEF3SXdEQVlEVlIwVEFRSC9CQUl3QURBZEJnTlZIUTRFRmdRVUg1UkFWVlNtdE8rM1BKLzhkWXV0TlppdAo0RlV3SHdZRFZSMGpCQmd3Rm9BVTU2dWZEeXd6b0ZQVFhrOTR5TEtFRGp2V2tqTXdNd1lJS3dZQkJRVUhBUUVFCkp6QWxNQ01HQ0NzR0FRVUZCekFDaGhkb2RIUndPaTh2Y2pFekxta3ViR1Z1WTNJdWIzSm5MekFoQmdOVkhSRUUKR2pBWWdoWmpZV3hwWW5KbExtRjBhR0ZzYVdGd2NITXVlSGw2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQgpNQzhHQTFVZEh3UW9NQ1l3SktBaW9DQ0dIbWgwZEhBNkx5OXlNVE11WXk1c1pXNWpjaTV2Y21jdk1USXhMbU55CmJEQ0NBUXdHQ2lzR0FRUUIxbmtDQkFJRWdmMEVnZm9BK0FCK0FIRitsZlBDT0lwdHNlT0VTVDB4NFZxcFlnaDIKTFVJQTRBVU0wR2UxcG1IaUFBQUJtK0dHOTJFQUNBQUFCUUFIZTR0d0JBTUFSekJGQWlBYUE3SldoZFVRSHB6RQpXZU40cUlwRnd6Y3FxdW9BKzVhbGFRekRDOVIzSUFJaEFQSnFmdEh6SmhUU2VuKzhudWJ4eXlWZWpRMitKQ3UrCjhya0cyRG4wU2tMa0FIWUFscGRrdjFWWWw2MzNRNGRvTndoQ2QrbndPdFgycFBNMmJrYWtQdy9LcWNZQUFBR2IKNFliM2lBQUFCQU1BUnpCRkFpQUhBVWM0WnZqcHRSTkJ0TVFvNEtoTFhmS3JTSDhITjMwcVpFNExRYVZvSHdJaApBSzNlNnNtc3FHK0tUY291aVhVTi9wajRPdUZoTDFVRXgxZXBZQ3QybVZabE1BMEdDU3FHU0liM0RRRUJDd1VBCkE0SUJBUUJES0lORDg1SlZhbzNIMUhWQXQ1OXQydHZ1dSt2b0VkcndWWkFUTkFRd1N3YkI3T2Q4NFpKT3BGdWsKNHgyQVkrZHNGTU5FOTdtTEZBYXhJZFZZWk9ZMHhGWENpQTh5NTFiNUVQWGdEN3ROUGVHRTFuMEpOTWJKeTg5UgpmSWdzcEFhN0VmNFZtSGFQTzV6RzhvKzlIQVFIWlpkemNtMnQzbU9XalhBQjZnbTdsSEszWWtSamMvVzY3Qk9TCk9hY25JZ252ODBMY0s5UXYyNnZLbnN4SDRJMCtnRnRSbSs2WE43d3BPTnAyMzliclBibjdldUlFUEd3TUxLTSsKdGVSWXpCTXZTbjlidWtFNExtRWlkMi9maFd0bDdKOXU3YnYzTDFyci9vSzVhUzZCa0NBZms4dnJXcGVEd1hpRAp2QXRpT3FySEo0QktSZ29aZS9RT3lWdnN3ZjZuCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQlRDQ0F1MmdBd0lCQWdJUVdnRHlFdGpVdElEemtrRlg2aW1EQlRBTkJna3Foa2lHOXcwQkFRc0ZBREJQCk1Rc3dDUVlEVlFRR0V3SlZVekVwTUNjR0ExVUVDaE1nU1c1MFpYSnVaWFFnVTJWamRYSnBkSGtnVW1WelpXRnkKWTJnZ1IzSnZkWEF4RlRBVEJnTlZCQU1UREVsVFVrY2dVbTl2ZENCWU1UQWVGdzB5TkRBek1UTXdNREF3TURCYQpGdzB5TnpBek1USXlNelU1TlRsYU1ETXhDekFKQmdOVkJBWVRBbFZUTVJZd0ZBWURWUVFLRXcxTVpYUW5jeUJGCmJtTnllWEIwTVF3d0NnWURWUVFERXdOU01UTXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUsKQW9JQkFRQ2xaM0NOMEZhQlpCVVhZYzI1QnRTdEdaQ01KbEEzbUJaamtsVGIyY3lFQlpQczArd0lHNkJnVVVOSQpmU3ZIU0phZXRDM2FuY2duTzFlaG42dncxZzdVRGpES2I1dXgwZGFrblRJK1dFNDFiMFZZYUhFWC9EN1lYWUtnCkw3SlJiTEFhWGJoWnpqVmx5SXVocnhBMy8rT2NYY0pKRnpUL2pDdUxqZkM4Y1N5VERCMEZ4THJIemFySlhuelIKeVFIM25BUDIvQXBkOU5wNzV0dDJRbkRyOUUwaTJnQjNiOWJKWHhmOTJuVXVwVmNNOXVwY3R1QnpwV2pQb1hUaQpkWUorRUovQjlhTHJBZWs0c1FwRXpOUENpZlZKTllJS05MTWM2WWpDUjA2Q0RnbzI4RWRQaXZFcEJIWGF6ZUdhClhQOWVuWmlWdXBwRDBFcWlGd1VCQkREVE1yT1BBZ01CQUFHamdmZ3dnZlV3RGdZRFZSMFBBUUgvQkFRREFnR0cKTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQ0JnZ3JCZ0VGQlFjREFUQVNCZ05WSFJNQkFmOEVDREFHQVFILwpBZ0VBTUIwR0ExVWREZ1FXQkJUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QWZCZ05WSFNNRUdEQVdnQlI1CnRGbm1lN2JsNUFGemdBaUl5QnBZOXVtYmJqQXlCZ2dyQmdFRkJRY0JBUVFtTUNRd0lnWUlLd1lCQlFVSE1BS0cKRm1oMGRIQTZMeTk0TVM1cExteGxibU55TG05eVp5OHdFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3SndZRApWUjBmQkNBd0hqQWNvQnFnR0lZV2FIUjBjRG92TDNneExtTXViR1Z1WTNJdWIzSm5MekFOQmdrcWhraUc5dzBCCkFRc0ZBQU9DQWdFQVVUZFlVcUVpbXpXN1Rick95cExxQ2ZMN1ZPd1lmL1E3OU9INWNITENaZWdnZlFoRGNvbmwKazdLZ2g4YjB2aSsvWHVXdTdDTjhuL1VQZWcxdm8zRyt0YVhpcnJ5dHRoUWluQUhHd2MvVWRiT3lnSmE5enVCYwpWeXFvSDNDWFRYREluVCs4YStjM2FFVk1KMlN0K3BTbjRlZCtXa0RwOGlqc2lqdkV5RndFNDdodWxXMEx0empnCjlmT1Y1UG1yZy96eFdiUnVMK2swREJESEVKZW5uQ3NBZW43YzM1UG14N2pwbUovSHRnUmhjbnoweWpTQnZ5SXcKNkwxUUl1cGtDdjJTQk9EVC94REQzZ2ZRUXlLdjZyb1Y0RzJFaGZFeUFzV3Btb2p4akNVQ0dpeWc5N0Z2RHRtLwpOSzJMU2M5bHliS3hCNzNJMitQMkczQ2FXcHZ2cEFpSENWdTMwalc4R0N4S2RmaHNYdG5JeTJpbXNrUXFWWjJtCjBQbXhvYmIyOFR1Y3I3eEJLN0N0d3ZQcmI3OW9zN3UyWFAzTzVmOWIvSDY2R055UnJnbFJYbHJZakkxb0dZTC8KZjRJMW4vU2d1c2RhNld2QTZDMTkwa3hqVTE1WTEybUhVNCtCeHlSOWN4MmhoR1M5ZkFqTVpLSnNzMjhxeHZ6NgpBeHU0Q2FEbVJOWnBLL3BRclhGMTd5WENYa21FV2d2U09FWnk2WjlwY2JMSVZFR2NrVi9pVmVxMEFPbzJwa2c5CnA0UVJJeTB0SzJkaVJFTkxTRjJLeXNGd2JZNkIyNkJGZUZzM3Yxc1lWUmhGVzluTGtPclFWcG9yQ1MwS3labWYKd1ZEODlxU1RsbmN0TGNabklhdmpLc0tVdTFuQTFpVTB5WU1kWWVwS1I3bFdibndoZHgzZXdvaz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBMDdiQlJ2SmN5OHlTNVIzRW5VSHFNcmxFYXE1N2E5K3hNUGhsY1Nmc1R6WFNGSGJTCnZmZlg5ZVQ5YXJQdXRORE1aYzlXaS9wenZWK29oekluaXBYSStOZEpBYUF6R3NQTDA1UGlGM3JmdUpuMHRldUsKZ3d3bVZJclZ1bk9SbjQwRDJsSnJZSjV1S3g0Rys4S3FJQ0FLY04wb0lZcHM5QzNlYTlkb210N1FSOEpBSjZkKwpPTlpCUUJCTHdiNjhQYS93MFdPc2FOdEx0YWtEMTRLSUVZaUNTYSs0V09iSWc3aDQ3ZlBJbUE1blp4WUtuSlNrCmdmSksrM1oxMWI3elppRThmMFBZY01nUmNIN1BEemUxaXdodzcyV09yY252eWRIQmVkTzhpVWdZazllN3kxa04KK3ExcVRSa2hQNm50YkhHbVZhUm43ZW5CckFWejFsdE1VN01kNnVTTmdGSDBlend6NjZUdkhJaWo0M2o3VlY5NwpIUk9QaWJhMWVJdHU5TDFTZkV1Q25xclpmaVpuR0l6cDE1SWM4dzFxMVQrZHprM0tYUXZLSm5JTTJmUE91ekpnCk5NVHFkOXVrRFFwTkxBc21BcWlQUE51akxVMk1ycGEvMUVsTDNWNEN5dGRtamNyYVFUbnBSbmQ5d2xaQysrTzcKS2hFZU1JMk9MWVpHK0VEUGE0TUc2NFNEaTZ6aVVHY2R5L1NUUklxa3hKRWpDVjFwbUhLWUZmRnh1UHY4MUVrSworcVhnaXRTQnJjN0wwZWJEUXNZMlVxd20yQ1hPUzFvYlYwc1FkbDBxU1hTalUrd3JtditRdzkwSVBETWJqT2tLCjByTXJZMjZwS2RaQTFlOUNmVndZU1FVVTdNMkFUUlRwak1DZG1rNUdUbTkxbEZHNU1JeTFyb3FreUVzQ0F3RUEKQVFLQ0FnRUFsbXd1L3gyTVdURE0zZ1U4Z1E4b08wbnZGbTFLTytiL21tK2lnN2Q5NnZtdWZlTys4RUo4S3JXOAphR2ZYbnBrTDRQcGozNmpmT3hvUVA1NmZBWlJTNnBycndELzJqM20yQkduNkpmeWpvQ0dqQU82TngzYUdkV0wvCllDNWt0UndZTkxLQ29HOXdqeW9TaENaWGdlUENCMWJiQUptOXQvQXZMQ2dzcG56Uk4yc0k4aVBMUnM3VUpaUnUKZndYcDhWcGtuQ0ZaaWxibGYvaktSZ0QwZEtDdEVYWE1ZVDM0RWI2c0RVVThyT3p2QXd0aUZzWjE2KzRlNEhQVwpYVHdDNi9tSlpsTHFJWmZFN0V6dENUN251aFVSU01hN2pUY0JMRC9nVzVMWlRpRHZkWHUrYmtpajZndjBqenJmCnFNQXZkUEY2NFRhaXNTTjQrNlFVSGFWWW9jK04zTi9jMFJsNmw5MllNczJ1bFp4OE1QMkk1eVlKWkJydDhwREkKekJYTVV2WldsaXJhaFZhRUx0NmpvaTdMQ0x2QktxcURzR09vNE5ha0I5Q0J6OHFTYmM5TmwxMnZ6ZlJ1eTNnRApoa1IrcytDR0xrbTRDaTVidlBBWGk2aWl5Mnl4eGQySHRrYlBwQ2RXT3lCSmZLSE8yTWJtbml4K2NFMkFrazI3ClVJaTROSGxqdGQ4ODVmZkkxbDM4aVdoekdNU2ZqblZ3MU05dXJWazFWSUpZTVBLNW50T3JuWVMyVEdpQzZWRlQKVUNkOUFGWnNLVGhFZ2hqQXpMR0tpNENFQ1RMUXBoNlpZbUhJNHdtOTFLYzViZTBNTXJVT1BCaVNFTWplVlJ0cgpOdW9QanVrRUtkOVdtVjNITEg0eGV3bU5IWkxWVVhZVU0wMFhYK2JRU0tlTXZUeDU3T0VDZ2dFQkFQSDh1Z3lSCmJXWDJMQ0xab2hkRUhSR21FVWZKd2RWRVFqdCtPOER3VkIxcTFhMWVtbnN2RUNIVTJFbnJBbVdwZGJaOXl0VE0KMkM0WVFYYWVaRS81Z3BhaWJGdlhiTC9jbDhpMGVROXFJc3hYZVZPSVl6aXBFelhqcDVSeVUzVTZOVnJzNnlrcApsSCtuWlQ1dXFVZmRERWdoMlBYY1lDcmYxNWhRTnNvR1hUZHhmaUZrOXdKblc5MkJ3d09hczhiNjZFWnRvUEhUCkVuOGRtMU5sbStLRGd5OXM3cUViUVhUZ2k5QmhwUXlKOWJmRHRiSWpUYS9OaHlXQURPODhRUGREWTFwSWhQaXgKMVY5WitsVGoycW1zUzVCUXRnZmlrUTlGNU1uZFlqWEpoMUxvb01oOGRvSEpveTZvZlNUL1p4UXJQOUR6aG44MApFS3M3VEw0TnJpNndDKzhDZ2dFQkFOLzVQK1JYWG9zdlRES2ZOcHJpT0F0OHZJdGRIa0tHN3VoVy9PK29WelFICmcyeUFyN1pQU2xyRFgvdFJ2Z1lGb1V3Ry94TEhRck12cWduNnZQd3NKVEZDaHNRRnNZc2IwWHAwUXJqb1ptSHEKWEtXQWUvWjNsbm5OODdqQUpLcDZHY0VyUmJUQ1QvZUNSektoTG54c2prTndoTmJNVDhoSlkxNkJWUjhlODlRVQp4RGcxT1VzSFU4V3ZYMG9uUmpxelBSOFRlcDVDZFJsRE9nKzJKR2lOZS9HcmZWUG9yaGVsMkJGK0NlTVAxTHRTClUveWZSRDlpWG16SzZBcUNKSS9lK0ZGcVUrVEI4ZHVRa0htd2d0eWRNSGcyVGVGMEIrQUdmaURZeVNqQkQzTGgKY1plSzRwdSswU3E5akVhRDZpcGxoKzAvNTZvdFY4UU1CYXkzVXpHS0hXVUNnZ0VCQUtDaUV4NmtxdW8wTDdneQpuOWF4OEZuMjB5SEVYRmNscUpHMWloVFpjL3pUSG1Tbm1BU05pVGZzQW1lUENWaFMxVUQrMzlYQzVQNDBPOEJ5CkJFVFNiRTF5SkZ3UzlLMm4wVm41OHlLNFljRWpqL1pUWXdvSnNpYmpxQ3B5ZWRRbmY2T01BYzZoTzJKQnpJTlYKRWlvU0lrVC9zdllDQkJSeDRydkpBNVc0QThqNkhiQXRSWXJpOGFob3F2dUpoaTFnQVRBL05jZFJSY1g3OFUrNgo4Mis1dlN1T05CbmQ3ZVdYNlRlNm1jVnBEeU9kVnMrWmY4aGp0b0srTGRmaE4zN3J6TmZ4cTlNcXVXbENZVnBZCnBwNWJNUTNyaGVwV0M5VUhvSWdmM1VHM05ZMWp2dGRYUjVPQU5rS1N0Z0FKU25PcEFnUENwRlZzU21SZ1NPRWcKVTYvS1RTRUNnZ0VBTCtBK3VSZTMvUGFTU2l2Z1owRStDNjZST3hVZmw4YnlJTFlmZ1RjeDFNeGFXb0l6alR2cgp2L1VOZWxKaDFUVzA0ZVNJOThHaVQxMDc4c0FuVDV3OEl3aCtlRDVqVWtJVENDTDc5RHl4VGZMajlQaS9CdE5QClZpQWhIZmZzbm9oVkl3YVY4dXFxWDFUNDFTakJJQld3WDFnWS9UVlZSSkh6Yk1zbW4rMWszNHZFMmVMK3FUd2EKdXlJZXMySXJ6L1pxZFU4Ym9lTEExektZb2Ewa29UakZLc2FtbHA0aFFLclJ3Z040SjVKRnZmaitQUHpxZ01ZTgpPeUl3Y2JhYURDcjBWNnJyM2ZWYk5yenpOUi8zQ1NPTXJkV2wxakNRVW1IdzZpS005V28zWEM0MnN0Y2NVNEI1Cmc3SmEzdVBwMVVBNHl3MGkveXlNR3pzYXAyM1VtYjFWUlFLQ0FRRUF4dlRpQU1vTUhsUXJzcStLZ0ZSZWQ3SlgKUGg0UElOcFZEWVdYZmxxQnFQb0Zjby9jVkhXNWs1alJxNGpvcmtIaC8xY3lUa2xaUUpaeUpvbUFoK3QzS2pOZgpGclJvZHppRkZKYTR1MWpnZTQ5SlJsYXArQWpMOTc0R05zdFd1T2U0cTR5dmZvM3dsQXdmb1pVcTBSYVpzZU9lCjZwMmdvczMrL21uSDVzdVNkSjloc3kxS1BldDBzeUtPbytjYzd3SExaczJlcStNM1NDUkhycXh3MDJheHNpd1AKSWlQZDVGczRZYkx5SEhXN1I3TUJCMTY1MUNGL3dNMVZjSWUzd09ETmdGdGx3bHdBK2JUbm9zWlJlK2dTZUk5ZwptSE5JUCt1VnpoZUgwaW9Ya3ZvejlmTEhLLzBXbW12VjYwanZuYjlZVEx4eTBYQnc5U3liTWhLQjZxMmVqZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==", "Store": "default" }, @@ -331,7 +331,7 @@ "domain": { "main": "dozzle.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCakNDQk82Z0F3SUJBZ0lTQmMyVWxoeEJ5akZtaUJQaHgzL1lRRHdqTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXhNekE1V2hjTk1qWXdNakU1TWpBeE16QTRXakFnTVI0d0hBWURWUVFECkV4VmtiM3A2YkdVdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUUREVUQxOFB2VVhhR1JYL1B1b1dCWXVxdThNd2ZTMU9vZU9QQkxUL0pONUMyRDFsQVAwelhDeApRWG5LNGNnSDJldWN1NkozTndVeUpyYUczMmZ1ckVxb3BLZFFuZHVuTHlGbzI5dEI5Q2VwOU12dG81amhSS29zClBRb3ZsVzQvMkk2QkNmL2lHR3dmTUdyQXFEV0FKaW9MQXhWakJjV2p4b1lSdmI2YzFiellHSlBicHVxTkliRWIKRitYTC9sQXhtN1NvZnZnZURNcDVDaVY3bkFGRlFWMUhoMWE5SG5YdC9PbkhzT0ZtSHBwSVJhVDI2V21qT204RQp5emN4SU1FL2toV0trTjUyMDgyTnM1R2Nsb1A0YXh2ak5PTnMycDVxbHZSSkI5OXM0NVVlN0ZsUlU1SDBJWU05CjJHRTAyWFliNVpnUnlUVVgvbFhoU1lmNW5YL01XWTFoNkovUm9pOVV5NjlmN3FWeFd2VmZyVHd3ckN3dWlvQTEKbFhBbEdyRkg0YUdBVTdFN0xZOVVmYVd3YjkvR2hSQXNsUzZ0MTBkMWMwRld6NUkxUHVSVDc3VHFaNk95c0NiSgpmYmc3M3dNZCtWTDZmUjU3a2tCVHl1WDhrWTVNVThQYnprcFNvWWphaURpM01ZbWpxMmgrZHMweWx0RWJKaXBECi9ZUkJEMmM5RExva1duR3JWODBhOUtFV1RKbVJLcFR0ZW9NaitEaDE1dTMwYmIxTUlVcGZWbHczZWdMZ3lHSkYKdnBsMkgrbExjVVdLNzVJY1JzTXZteFdDZlBpRVpSR2gxQ0ViSVhnSmVvd1ovQU9MSFlRaE42VGFkU25Ca0x2RgpEZ2cra1Y0Sk1JWm5ueXczSUJKeVFDck4yTWl5UXJPVjk0aEp0Vkk3VUoyZ1dSS3lIaXJkSFFJREFRQUJvNElDCkpUQ0NBaUV3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJSdGRzMEN2bkN2OGFlWUUvTmt1VXVMbmVCRwpRREFmQmdOVkhTTUVHREFXZ0JUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRNdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZXUnZlbnBzWlM1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdQpCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dmNqRXpMbU11YkdWdVkzSXViM0puTHpNMkxtTnliRENDCkFRUUdDaXNHQVFRQjFua0NCQUlFZ2ZVRWdmSUE4QUIyQUVtY20ybmVIWHpzL0RiZXpZZGtwcmhicndxSGdCblIKVlZMNzZlc3AzZmpEQUFBQm1xaENLQW9BQUFRREFFY3dSUUlnWXBNalQ2Q1gyc0ZPcSszdzZFQ2F2M0k2WHJ4Zwo3Qm5CaDNnTU1XRVV2SHdDSVFESUZ1ZExZL2JpY0QwUnRlV3dsaFVoZzJXc2kzTEFxN1BLZDJVeENTQTMrQUIyCkFKYVhaTDlWV0pldDkwT0hhRGNJUW5mcDhEclY5cVR6Tm01R3BEOFB5cW5HQUFBQm1xaENLRllBQUFRREFFY3cKUlFJZ0dubG55bnF1Q2xGNjNpc0pFUHV4blBadFNyRXB6NFpEU3JFS1N0ejdJNW9DSVFEUk9FTjY3ZmE4ZmR5egoyeWNWZmt0Qy8xOElCUDBHNnBMZGRZRDlVbjlodnpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQVFRWXdzNWhZCjRzT2s4V3JOSkt0Rkhud01OdWVQWlU5SzUrR2dhYmV1NkVrbk5ZSzg4TnJzbnFxUmRSRUlraUxPdkFqS0N6MG8KSVJVbjZRMmxtQ3JNWTZWdFNYdnlUclRHYUZRMzd0Y3prY1VINGYxdXZLOW5wUkpjSkxPamxKQzcxMjU0ZEZyTApmd3BLZFlMMExNbytnV3MvdnZVaGM4NU9Db25sSXZ0aU85WGdsSGlLbFFwQk9GYWtLNjdxdXhjNkNTK3lLTS8yCmx4ekZaYkthTmRRelZ6MC9QUnpRUStWVElDTGN5R2FGUnJRVmxnak15ZjBrL0FmYXRJVUFma3pLL1F0ZUpNajkKcmdsR2RJMnF3THBPb2xuUkoxWnF6VS9QcGZwWTR1Z05ERk13NlpYR3pTa1czN214amtEWFoyakdONEhickFjUgpscXJhTFg0SllFYWQrdz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQlRDQ0F1MmdBd0lCQWdJUVdnRHlFdGpVdElEemtrRlg2aW1EQlRBTkJna3Foa2lHOXcwQkFRc0ZBREJQCk1Rc3dDUVlEVlFRR0V3SlZVekVwTUNjR0ExVUVDaE1nU1c1MFpYSnVaWFFnVTJWamRYSnBkSGtnVW1WelpXRnkKWTJnZ1IzSnZkWEF4RlRBVEJnTlZCQU1UREVsVFVrY2dVbTl2ZENCWU1UQWVGdzB5TkRBek1UTXdNREF3TURCYQpGdzB5TnpBek1USXlNelU1TlRsYU1ETXhDekFKQmdOVkJBWVRBbFZUTVJZd0ZBWURWUVFLRXcxTVpYUW5jeUJGCmJtTnllWEIwTVF3d0NnWURWUVFERXdOU01UTXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUsKQW9JQkFRQ2xaM0NOMEZhQlpCVVhZYzI1QnRTdEdaQ01KbEEzbUJaamtsVGIyY3lFQlpQczArd0lHNkJnVVVOSQpmU3ZIU0phZXRDM2FuY2duTzFlaG42dncxZzdVRGpES2I1dXgwZGFrblRJK1dFNDFiMFZZYUhFWC9EN1lYWUtnCkw3SlJiTEFhWGJoWnpqVmx5SXVocnhBMy8rT2NYY0pKRnpUL2pDdUxqZkM4Y1N5VERCMEZ4THJIemFySlhuelIKeVFIM25BUDIvQXBkOU5wNzV0dDJRbkRyOUUwaTJnQjNiOWJKWHhmOTJuVXVwVmNNOXVwY3R1QnpwV2pQb1hUaQpkWUorRUovQjlhTHJBZWs0c1FwRXpOUENpZlZKTllJS05MTWM2WWpDUjA2Q0RnbzI4RWRQaXZFcEJIWGF6ZUdhClhQOWVuWmlWdXBwRDBFcWlGd1VCQkREVE1yT1BBZ01CQUFHamdmZ3dnZlV3RGdZRFZSMFBBUUgvQkFRREFnR0cKTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQ0JnZ3JCZ0VGQlFjREFUQVNCZ05WSFJNQkFmOEVDREFHQVFILwpBZ0VBTUIwR0ExVWREZ1FXQkJUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QWZCZ05WSFNNRUdEQVdnQlI1CnRGbm1lN2JsNUFGemdBaUl5QnBZOXVtYmJqQXlCZ2dyQmdFRkJRY0JBUVFtTUNRd0lnWUlLd1lCQlFVSE1BS0cKRm1oMGRIQTZMeTk0TVM1cExteGxibU55TG05eVp5OHdFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3SndZRApWUjBmQkNBd0hqQWNvQnFnR0lZV2FIUjBjRG92TDNneExtTXViR1Z1WTNJdWIzSm5MekFOQmdrcWhraUc5dzBCCkFRc0ZBQU9DQWdFQVVUZFlVcUVpbXpXN1Rick95cExxQ2ZMN1ZPd1lmL1E3OU9INWNITENaZWdnZlFoRGNvbmwKazdLZ2g4YjB2aSsvWHVXdTdDTjhuL1VQZWcxdm8zRyt0YVhpcnJ5dHRoUWluQUhHd2MvVWRiT3lnSmE5enVCYwpWeXFvSDNDWFRYREluVCs4YStjM2FFVk1KMlN0K3BTbjRlZCtXa0RwOGlqc2lqdkV5RndFNDdodWxXMEx0empnCjlmT1Y1UG1yZy96eFdiUnVMK2swREJESEVKZW5uQ3NBZW43YzM1UG14N2pwbUovSHRnUmhjbnoweWpTQnZ5SXcKNkwxUUl1cGtDdjJTQk9EVC94REQzZ2ZRUXlLdjZyb1Y0RzJFaGZFeUFzV3Btb2p4akNVQ0dpeWc5N0Z2RHRtLwpOSzJMU2M5bHliS3hCNzNJMitQMkczQ2FXcHZ2cEFpSENWdTMwalc4R0N4S2RmaHNYdG5JeTJpbXNrUXFWWjJtCjBQbXhvYmIyOFR1Y3I3eEJLN0N0d3ZQcmI3OW9zN3UyWFAzTzVmOWIvSDY2R055UnJnbFJYbHJZakkxb0dZTC8KZjRJMW4vU2d1c2RhNld2QTZDMTkwa3hqVTE1WTEybUhVNCtCeHlSOWN4MmhoR1M5ZkFqTVpLSnNzMjhxeHZ6NgpBeHU0Q2FEbVJOWnBLL3BRclhGMTd5WENYa21FV2d2U09FWnk2WjlwY2JMSVZFR2NrVi9pVmVxMEFPbzJwa2c5CnA0UVJJeTB0SzJkaVJFTkxTRjJLeXNGd2JZNkIyNkJGZUZzM3Yxc1lWUmhGVzluTGtPclFWcG9yQ1MwS3labWYKd1ZEODlxU1RsbmN0TGNabklhdmpLc0tVdTFuQTFpVTB5WU1kWWVwS1I3bFdibndoZHgzZXdvaz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCakNDQk82Z0F3SUJBZ0lTQlkvQXMzSm1XZXUxa2ZCNnFUVzArOExjTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXdPVE16V2hjTk1qWXdOREl4TVRZd09UTXlXakFnTVI0d0hBWURWUVFECkV4VmtiM3A2YkdVdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUUREVUQxOFB2VVhhR1JYL1B1b1dCWXVxdThNd2ZTMU9vZU9QQkxUL0pONUMyRDFsQVAwelhDeApRWG5LNGNnSDJldWN1NkozTndVeUpyYUczMmZ1ckVxb3BLZFFuZHVuTHlGbzI5dEI5Q2VwOU12dG81amhSS29zClBRb3ZsVzQvMkk2QkNmL2lHR3dmTUdyQXFEV0FKaW9MQXhWakJjV2p4b1lSdmI2YzFiellHSlBicHVxTkliRWIKRitYTC9sQXhtN1NvZnZnZURNcDVDaVY3bkFGRlFWMUhoMWE5SG5YdC9PbkhzT0ZtSHBwSVJhVDI2V21qT204RQp5emN4SU1FL2toV0trTjUyMDgyTnM1R2Nsb1A0YXh2ak5PTnMycDVxbHZSSkI5OXM0NVVlN0ZsUlU1SDBJWU05CjJHRTAyWFliNVpnUnlUVVgvbFhoU1lmNW5YL01XWTFoNkovUm9pOVV5NjlmN3FWeFd2VmZyVHd3ckN3dWlvQTEKbFhBbEdyRkg0YUdBVTdFN0xZOVVmYVd3YjkvR2hSQXNsUzZ0MTBkMWMwRld6NUkxUHVSVDc3VHFaNk95c0NiSgpmYmc3M3dNZCtWTDZmUjU3a2tCVHl1WDhrWTVNVThQYnprcFNvWWphaURpM01ZbWpxMmgrZHMweWx0RWJKaXBECi9ZUkJEMmM5RExva1duR3JWODBhOUtFV1RKbVJLcFR0ZW9NaitEaDE1dTMwYmIxTUlVcGZWbHczZWdMZ3lHSkYKdnBsMkgrbExjVVdLNzVJY1JzTXZteFdDZlBpRVpSR2gxQ0ViSVhnSmVvd1ovQU9MSFlRaE42VGFkU25Ca0x2RgpEZ2cra1Y0Sk1JWm5ueXczSUJKeVFDck4yTWl5UXJPVjk0aEp0Vkk3VUoyZ1dSS3lIaXJkSFFJREFRQUJvNElDCkpUQ0NBaUV3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJSdGRzMEN2bkN2OGFlWUUvTmt1VXVMbmVCRwpRREFmQmdOVkhTTUVHREFXZ0JRQXRTbnlMWTV2TWVpYlRLMTRQdnJjNlF6UjBqQXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRJdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZXUnZlbnBzWlM1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdQpCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dmNqRXlMbU11YkdWdVkzSXViM0puTHprekxtTnliRENDCkFRUUdDaXNHQVFRQjFua0NCQUlFZ2ZVRWdmSUE4QUIyQUVtY20ybmVIWHpzL0RiZXpZZGtwcmhicndxSGdCblIKVlZMNzZlc3AzZmpEQUFBQm0rR0hEaGdBQUFRREFFY3dSUUloQU1qWmRIcytTUjZJUFgxT25JNXBza0tBZWVaeQp0bm5JSUFMZFdzQUNxdVlOQWlCRFFCam13NGVtbjJLR2JhaldtTENGbjNVVHJhTzNKKzNFWkF0aXJHTmlrQUIyCkFORnVxYVZvQjM1bU5hQS9ONlhkdkFPbFBFRVNGTlNJR1BYcE1iTWp5NVVFQUFBQm0rR0hEd1lBQUFRREFFY3cKUlFJZ0F5Tkhsam9kNkEwVFNCUzZGc25CaEl6U3l2WFZCemlITHhFSDR5RTN0bG9DSVFDY0ZVZ3A2ZDBzeS9pZAozU2l0ZnNHZ0lUbUNUU0hKSCtqS2pwNENGMlpYQURBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQU1BZlMweVk1CjI4UkVhdFhMeWlUMUl2OXNZY3MxQlY5cWs2STg1YUhmb3Vvemh2Z3dhSU1Tb0MvYjRxQkwrczhaYURTTXVQbTkKd1MrSUdxdldlRXJCcUFiVi8vd3lUTkJIbzFic0prRDMzUzNzYVdJYi81NHF2N0ZVZ1FqUTIveEZlSnJ1bnFSQgpsenJ3dDJxUWxvZi9DdUlhVkVlTElpYllYa2NlQlh3aXJjb3RDTkdDUFdIdTRDTzhHM0JmejNVS0ZJZml1Vk90Cm1SVFJtVllocVpUMU9RTUpSZzl5Yk1EcUlIck80Z1RObGVNK2oxdm1FZTRPUDRMcjZGT3hQZk5RWU1iK3ZCc2UKRWRpb2V5VHJwSWo1c0ZvbUF2cE56N2QwMldzc1hKTlJvbmVqbVM2ZXk2YnM1bEpqVWs5ZkIwZkJaTUVyVlhtcApoMTBiREtqVlRBR2pyUT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBdzFBOWZENzFGMmhrVi96N3FGZ1dMcXJ2RE1IMHRUcUhqandTMC95VGVRdGc5WlFECjlNMXdzVUY1eXVISUI5bnJuTHVpZHpjRk1pYTJodDluN3F4S3FLU25VSjNicHk4aGFOdmJRZlFucWZUTDdhT1kKNFVTcUxEMEtMNVZ1UDlpT2dRbi80aGhzSHpCcXdLZzFnQ1lxQ3dNVll3WEZvOGFHRWIyK25OVzgyQmlUMjZicQpqU0d4R3hmbHkvNVFNWnUwcUg3NEhnektlUW9sZTV3QlJVRmRSNGRXdlI1MTdmenB4N0RoWmg2YVNFV2s5dWxwCm96cHZCTXMzTVNEQlA1SVZpcERlZHRQTmpiT1JuSmFEK0dzYjR6VGpiTnFlYXBiMFNRZmZiT09WSHV4WlVWT1IKOUNHRFBkaGhOTmwyRytXWUVjazFGLzVWNFVtSCtaMS96Rm1OWWVpZjBhSXZWTXV2WCs2bGNWcjFYNjA4TUt3cwpMb3FBTlpWd0pScXhSK0doZ0ZPeE95MlBWSDJsc0cvZnhvVVFMSlV1cmRkSGRYTkJWcytTTlQ3a1UrKzA2bWVqCnNyQW15WDI0Tzk4REhmbFMrbjBlZTVKQVU4cmwvSkdPVEZQRDI4NUtVcUdJMm9nNHR6R0pvNnRvZm5iTk1wYlIKR3lZcVEvMkVRUTluUFF5NkpGcHhxMWZOR3ZTaEZreVprU3FVN1hxREkvZzRkZWJ0OUcyOVRDRktYMVpjTjNvQwo0TWhpUmI2WmRoL3BTM0ZGaXUrU0hFYkRMNXNWZ256NGhHVVJvZFFoR3lGNENYcU1HZndEaXgyRUlUZWsyblVwCndaQzd4UTRJUHBGZUNUQ0daNThzTnlBU2NrQXF6ZGpJc2tLemxmZUlTYlZTTzFDZG9Ga1NzaDRxM1IwQ0F3RUEKQVFLQ0FnQjJzc3c3TnpQU253SGtxMzN4NkY3S3k5MXQvbTRPdWR4cUo3NDFrUm03Qlp4T2d6OElSdGFIRTBqRwpjUU1WS201VG1ZRDZQTGp1cXJKaE0yTEJuWG5lRmZzTk5uS29ueThKd0J2M2NEK3V2WFEySHllcE9BYkh6ZXpqCjBFZnBpMTNIdEdFTGNsWTdlanhXaTZQQUZ2R1VNYktNdEpSUm5UUWJraHBHekdyeFZiWitWbW5UamJkSnhQTkcKVDI5RFJ1SzdTRGJZWkdPa3ZmTGJ0WXJjSVFaa2t5NjJ6czFTN2xMUnBvREZoREcxWElZTi9QclRWWTdrOWUrNwo3ckVqUmsvTEg1SGoyNExmN0ZMQlBJUkZ0Q3FGb2IzWmlOK2YzYy9tbGw5Rm1PWW1uZk1HUnVpNzJxWWRMdVNjCnJ0QmwwZG5pYlVyVUl5RGtRc0RkaGNlR1ZLSmozdDg0ODZMbTRSb2FPc1JtRnVZRU9WRldwbzZVK2xTbC9aU3IKMmdNQ1gxSzZNQkU1MS9KL3ZJRVQ2dVdMWDlzLzF1NmtIWGdPUGo5TW41TzRpUVQxSlgyZU5JQ0hzUktzNDJpOAoyTWNFOVk4aHVmM01VaU1QTGxGZ3hVS3pqL1RQb1VuNkc3VDA2Q0NDbEgxUC92OWZuZ254ZWxvRkVvUlFza09VCjcvTnlpclYzNUErcU1LV3MvNEVKNUdxTm10eUdOa1hOdjRtaS9UUWNtaWhSK1R1Yzl4blNwdU90YTViTTNuWDYKUXA1UnN1bVlRRG9IZTMzWHJ5eTUxN1NSKzVETWNaMm1FQkRzQ1lBN3ltNGdOZHJ4bzJYUFFiZkJEd3NxWmZsQwpOY0sveDNRbmxwbStKQ2h3RDA2RThVc293R0JnR3hqSm9iamwxNFZGTFd6dG9ueHNEUUtDQVFFQXowMmxNeW9aCjU1dEJwcTVEZTc5N1VlK2RwUGNJMjVHak9QTWlmTkk2UVVmeXp4QkhCelF0cXQxOGpQY0Z2bm9iaUl0NkNTbC8KUjI0SnkzMlY5WlVzWnZQVmQ5MjNrT1R0RnR1dlBXVDFkSEErZUk4alF4K0JwdTFPTzhLYmlRME5hdWI5R3lxKwpzK0E5L1BIWTRsMlhXYWZuOEwrYTA4ZGlMeDcrYUhsckNhRnFCZmlGRDRZSDNUbzc0OGl5REUyZXNCQ3JHbFY3CmdXQlMrTnp2ZzJqMFdZRmk0Q0VFUFdrWTNhSDhVdlAxSnpMWHEwZTJVZEZyOGd6U2F1TldQb1Q1allYeWtHcnEKaWE4bVJQQ21Md3lxdStLSE1iOWVoMGNxTFlNM1lFL0hzdGh5RHhXT3k0ZS94emxOSXI5d2I3c2FoSnVVQVZHKwpYWjBGUVZQeU5JYWYyd0tDQVFFQThUR1RGTlppSGloS3dQQ0NKYWV0UndYekRJV0o1UXB6dWZqREdKRDU1NXhSCmNyMEhqYU1TRzRyUzhOM2dRVU54ZmhSVFhxblo0Q0FoR3ExbkVzVFZoRWFhQ3QrUlJ1WkxuQWFOSDNmN0VyYTgKak8ybzViQitBa01hckM4eURQV3V0T0RMdjF3Uk41aVZQNStJdkF6ZlFCbml6RTFlMkJUcis4OXc1UE9nckh4OApJTHdpbGFPOTVvVkQ4NzR6R05jT3pudkhhOUo0RGc0cks0SGJsT0RZTjlXdkE5czlQSEtLM0JPTmhDdDhqUFpBClRsa0t2QlczN2hhTzQ2UTlGL1hocWdHbGkxZ0FGRy84TUU4MlJ4MEpzOTQ2cVhpUzRNRllvbkg5SFB1aHg1aVAKMTlsaTFKLzFOZWhRK2JRNHA3TTF6NE5kZTVQK3ZKRTlKcFE4NlYxa1p3S0NBUUVBajhpN0hKSEhCZTJaeTVKegpIQkhqNXlEYnB0L3hOTm4rN0RFM2Fud21DOEZybUZNaDhNMHdINk1nRUdZRmhlZ0wwTmxzKzQzY3loNTRqTHUrCmwyZXdOSGhMUjZodytmN09zMXdNWC9qMmhweVR0K3NQK2k2UUxzZkp5NGxmZDkrbHZ0QVlIZyszMWV0akUxNXIKb0JacU03VlNHcG5MT2JqQlVRMmVSN2h2bFc1dnExU0VkZy93eEhEdnVUNHF3SDNWNHlpc2hNZGxzb2F0QmcrMwowTjJySGFtd2V1UnJuR3lZNHFESDhvRmpPSno3R2NIVG8wd3VJdVRoeldHQklEdjdHejRjMEM1WUhzZHRNOFAyCmdBdTVJRGd1clVLZXZoV09HNk0zZFlYZ2JSdlRnTUxqR0NnL3pGN2lNWWUyNU1oUnpFaGNqODJ5ekJ0czJiTHYKKzU2a29RS0NBUUVBd0ZEbkZoWmE1ZkQ2cWgwYnFTcXAzNWUrMUowbDlwcis2NnFPNVdlejNCbW9WL1Noc1MzMQpva0J2TWQrNGtGRldqVkZucUhPR1prODRGaTF0b21tUVZvaDFDM1o0UURBZzJhZmZudGZzT2wrNnVDUklKOTB5Cm5Gc2xTV1hZWXIwRE1QYU5mMmZKMHFxM1ZxTytRek9BVDN4VWV0SzJiVlZCVk9keS9SdkZZY05ndGpsTTJrUlYKaHhsN3RUNVRQOXM2MHltZk9UbjR3RHhMNzhUN2NScFhUUzMwL3Y0eE5hR2ZWeHZBRzBNUmJOUnRNZ3VObzZzdApuWW9mSlNRd0VvcmNCTktMVFRBOTRBM3E2QnBCRFRMNktaRm85UGhQSlNjRnBZRitjVDJ6SVpOa0hwZ1hWYksxCnN1WXFxdkFvdkk4SXVRM2wzRU9GT3BZVVRFNm13dXpVd1FLQ0FRQkZ3L2lPREJUREZXNnlWSGdVTXY3ak9hSDAKM3FqQzlFMGlMLzJ1bDU2bmJGNGpGeGRxSjlkM051ZHdLSWZFbEhHa3Y1MjlXbldybXlmbm9DZWxXeUQ4czJ0YgpEZXZ4QlNTNjVyYXNmZHllandvZ3kwdGQrWlk3Uk92VXRZQTg4TGpWdFRuSk03bklCb2YyVXY4NStnU2loN2EvCmdrenA3ejF4ZWVKZ25NcnlEN3lleXV6RmUrNERYSyt2NFZ5dnhoOXpvb1lKUzBjUEMwbDBTS3B4MTlqUml1bkQKM2Fzc1hPM2JJbnNlL0p1azgxS0NXd3NNNWkvcXZYYWEzeVl5VmVCdTF1bG1qMUlOZVQ0NVE3cjJ4V3pEVkFtOQpXYjdYRHR5eWEvcFdsd2hDU3pFM011MWxEY0RpU2ExaHVKUzZwM1ZtU3YrSHlXN01aVXlaaTBPZVgwMHQKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -339,7 +339,7 @@ "domain": { "main": "stirlingpdf.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdEakNDQlBhZ0F3SUJBZ0lTQlo2UjZDVzh4M1FFWjdXNzMvTSsxVTZDTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXhNekV6V2hjTk1qWXdNakU1TWpBeE16RXlXakFsTVNNd0lRWURWUVFECkV4cHpkR2x5YkdsdVozQmtaaTVoZEdoaGJHbGhjSEJ6TG5oNWVqQ0NBaUl3RFFZSktvWklodmNOQVFFQkJRQUQKZ2dJUEFEQ0NBZ29DZ2dJQkFOYzdVdlIwQkNrK1FIT3ZzMEZwVkJqaDFPdS92Z0xmUFgzdGNieDdJQnJtdktSWAp1MWlzN0M0NkxEU0ZrMTJCS25uSm56Uy9HUjJGZXdRVWpDcndSUFY2YUcxZXAxQWoweHdZSnRiekRsYWJWTjAzCmNUUU81ZldmWmk2M3BrdUhyQVFtdjFxZWZGZkczTGIzUnNOMjNtM2lhS1JhM1VYMFRsaUZXOFhLajhhbW5LRW4KWmZRQkdqeGlGWXg0SFR5Qk0vZmV1c3VKVllUazU4STRpZU51V2JDNExRVnl3c0VQZXlXazQwdHgrQ0VCNnlqOApLR25KSjNXYi8zdWt0cXVPQ2lHWE5uZkJrUUF6SWEwL3pjQ0tDUHZxUDBtVEF3MDZaUXRyQzR5cFRESWs3U2p5Cm9Nd3dIWjMvRk5zc2tuRUpXc0xCc3FvM1B5c1lYbFVKVXRpaEl4VjFiaXNJSHlkdUROVDVrRmZESm5BT2FmOXMKc1BrNkNrSzcyTUhhbCtWczJlUmt6VWg4ZTVJUEZERnVZZWI0dEFoM3MyYkJMNzg1MHZzUXY0M1JIendDaGNOdQp4b1kyenFybHZzRm9zY2pNVFd3V2pNd3RYS0srTDRRakFoSFU4UC9jK1NxUmZnQUhoaTBJWlgyaW9zQlFDNER4CjJpejdQaVlST29ObG14RmdudmlvSVlDQkxPdk9rODJyUlRnZC9NcVdCNldraWFiWVllWkliK2tTTis1TDBxMm0KdG9zdTBpamRKSC9qVWp6YkxSUFcrMDVUaDc3aUJRM3VQZzkwR1BlZE5XMW5sV3BRUmEyanNDbC9vNThNQ092UgpKeFlQN0kwY2JNejRKZkJPTnAxaGNZbjBnQ1JPeTRHY04wSXdMbXhVTStZSGpNTmhkaFpjdGJUL0RENkZBZ01CCkFBR2pnZ0lvTUlJQ0pEQU9CZ05WSFE4QkFmOEVCQU1DQmFBd0hRWURWUjBsQkJZd0ZBWUlLd1lCQlFVSEF3RUcKQ0NzR0FRVUZCd01DTUF3R0ExVWRFd0VCL3dRQ01BQXdIUVlEVlIwT0JCWUVGSER2dmNEdVZ5a2VsVjZWNW8vdApXbzNLVEw5Wk1COEdBMVVkSXdRWU1CYUFGT2Vybnc4c002QlQwMTVQZU1peWhBNDcxcEl6TURNR0NDc0dBUVVGCkJ3RUJCQ2N3SlRBakJnZ3JCZ0VGQlFjd0FvWVhhSFIwY0RvdkwzSXhNeTVwTG14bGJtTnlMbTl5Wnk4d0pRWUQKVlIwUkJCNHdISUlhYzNScGNteHBibWR3WkdZdVlYUm9ZV3hwWVhCd2N5NTRlWG93RXdZRFZSMGdCQXd3Q2pBSQpCZ1puZ1F3QkFnRXdMUVlEVlIwZkJDWXdKREFpb0NDZ0hvWWNhSFIwY0RvdkwzSXhNeTVqTG14bGJtTnlMbTl5Clp5OHpMbU55YkRDQ0FRTUdDaXNHQVFRQjFua0NCQUlFZ2ZRRWdmRUE3d0IxQU1zNDl4V0pmSVNoUkY5YndkMzcKeVc3eW1sbk5Sd3BwQllXd3l4VERGRmpuQUFBQm1xaENPcmNBQUFRREFFWXdSQUlnZXpTekVwWTA2NHV3elpNRgo1UlR3NlE5QUJEamZTZzErZTlBY0hleWJLTkVDSUhWZm8rTzRkS2Y0QjJZWDBJSHREcUlLSTdhQWRUTzExRGx2CnFNajZVM24wQUhZQWxwZGt2MVZZbDYzM1E0ZG9Od2hDZCtud090WDJwUE0yYmtha1B3L0txY1lBQUFHYXFFSTYKNmdBQUJBTUFSekJGQWlFQXRtaGgrejZ5bDIzVTJkSm52ampmb0M1K0JIRERxanZxamRuSGo3WXhQS1lDSUY3RApwZXhOS3E0ZEJyMU4rYjNtN1hPNjBUOWEvOVBlR1JLcmNRdEMxcFJRTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCCkFRQUxxcDVUejNFSWd1cy94YjI4aWpmRUxnV084L0Q1bFhZRnp6ZUpjc1ZKS21uT3QwMXJlcjZTSEZUcG5JL2UKVVdIUlo0Kzl0YWxVMlJmOXdsMU9teUpqRG12R2tuQnNCZG5Wa3gvVFhnZHA5bWdwS1ljTW5VZmZEY0FaS1dIMwpERlFzOVZPOCtKd1VObTBOekQ4RFZPeHl4V3dudnNsRFExcFgyM0FHWWRYaS9aVnpnTS8reTlMUGloRldDTW4yCkwwdGRlL1lmY2Q3YklLazdhYlRuMHJ3R0Z4OEtha3U2aGk0aEVMdFlvcUxZOFc4bzNmbUoza0I4SXErdGxjb3AKVzVHWERpczRhUUxGZ2Y1ZXlOaGxhb3ZMbWVzSG5UMFFQNzVMMmw3SWpsV0drbmNGL2dFQTlPczdNZHJqcDNzeQpSS3UyZ3U4Y3Npbk16SFNjaVBSallHNk4KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdFVENDQlBtZ0F3SUJBZ0lTQlNUbDRNbW01ZTJ4WHRLcWJWb3N4THE4TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRJeE1UWXdPVE00V2hjTk1qWXdOREl4TVRZd09UTTNXakFsTVNNd0lRWURWUVFECkV4cHpkR2x5YkdsdVozQmtaaTVoZEdoaGJHbGhjSEJ6TG5oNWVqQ0NBaUl3RFFZSktvWklodmNOQVFFQkJRQUQKZ2dJUEFEQ0NBZ29DZ2dJQkFOYzdVdlIwQkNrK1FIT3ZzMEZwVkJqaDFPdS92Z0xmUFgzdGNieDdJQnJtdktSWAp1MWlzN0M0NkxEU0ZrMTJCS25uSm56Uy9HUjJGZXdRVWpDcndSUFY2YUcxZXAxQWoweHdZSnRiekRsYWJWTjAzCmNUUU81ZldmWmk2M3BrdUhyQVFtdjFxZWZGZkczTGIzUnNOMjNtM2lhS1JhM1VYMFRsaUZXOFhLajhhbW5LRW4KWmZRQkdqeGlGWXg0SFR5Qk0vZmV1c3VKVllUazU4STRpZU51V2JDNExRVnl3c0VQZXlXazQwdHgrQ0VCNnlqOApLR25KSjNXYi8zdWt0cXVPQ2lHWE5uZkJrUUF6SWEwL3pjQ0tDUHZxUDBtVEF3MDZaUXRyQzR5cFRESWs3U2p5Cm9Nd3dIWjMvRk5zc2tuRUpXc0xCc3FvM1B5c1lYbFVKVXRpaEl4VjFiaXNJSHlkdUROVDVrRmZESm5BT2FmOXMKc1BrNkNrSzcyTUhhbCtWczJlUmt6VWg4ZTVJUEZERnVZZWI0dEFoM3MyYkJMNzg1MHZzUXY0M1JIendDaGNOdQp4b1kyenFybHZzRm9zY2pNVFd3V2pNd3RYS0srTDRRakFoSFU4UC9jK1NxUmZnQUhoaTBJWlgyaW9zQlFDNER4CjJpejdQaVlST29ObG14RmdudmlvSVlDQkxPdk9rODJyUlRnZC9NcVdCNldraWFiWVllWkliK2tTTis1TDBxMm0KdG9zdTBpamRKSC9qVWp6YkxSUFcrMDVUaDc3aUJRM3VQZzkwR1BlZE5XMW5sV3BRUmEyanNDbC9vNThNQ092UgpKeFlQN0kwY2JNejRKZkJPTnAxaGNZbjBnQ1JPeTRHY04wSXdMbXhVTStZSGpNTmhkaFpjdGJUL0RENkZBZ01CCkFBR2pnZ0lyTUlJQ0p6QU9CZ05WSFE4QkFmOEVCQU1DQmFBd0hRWURWUjBsQkJZd0ZBWUlLd1lCQlFVSEF3RUcKQ0NzR0FRVUZCd01DTUF3R0ExVWRFd0VCL3dRQ01BQXdIUVlEVlIwT0JCWUVGSER2dmNEdVZ5a2VsVjZWNW8vdApXbzNLVEw5Wk1COEdBMVVkSXdRWU1CYUFGT2Vybnc4c002QlQwMTVQZU1peWhBNDcxcEl6TURNR0NDc0dBUVVGCkJ3RUJCQ2N3SlRBakJnZ3JCZ0VGQlFjd0FvWVhhSFIwY0RvdkwzSXhNeTVwTG14bGJtTnlMbTl5Wnk4d0pRWUQKVlIwUkJCNHdISUlhYzNScGNteHBibWR3WkdZdVlYUm9ZV3hwWVhCd2N5NTRlWG93RXdZRFZSMGdCQXd3Q2pBSQpCZ1puZ1F3QkFnRXdMZ1lEVlIwZkJDY3dKVEFqb0NHZ0g0WWRhSFIwY0RvdkwzSXhNeTVqTG14bGJtTnlMbTl5Clp5ODJNUzVqY213d2dnRUZCZ29yQmdFRUFkWjVBZ1FDQklIMkJJSHpBUEVBZGdBV2d5MnI4S2tsRHcvd09xVkYKLzhpL3lDUFFoMHYyQkNrbitPY2ZNeFAxK2dBQUFadmhoeUtJQUFBRUF3QkhNRVVDSVFEempjQm1scXQraXgzaAo3aVhhcEE3ejBBVjlzQ2xkYUVibXVQQW14enJ2aWdJZ1VVdTFRZi9CSDgzQS9URjBrWldVSUI1Z1N1TEwyK1ZYCk81S3hNWkxoZVA4QWR3Q1dsMlMvVlZpWHJmZERoMmczQ0VKMzZmQTYxZmFrOHpadVJxUS9EOHFweGdBQUFadmgKaHlLeEFBQUVBd0JJTUVZQ0lRQ3lrbHhXYWhKY3JYV0FxbkNBVUFCazhuNUtjeDllY2lsRkw3VGZWWTl1bFFJaApBTGlkZmNaQ1VUL0J2UURTSXo1aDJleitsaHNxcGRwV2lOTktCeGNzZlFOS01BMEdDU3FHU0liM0RRRUJDd1VBCkE0SUJBUUFGSUUwR1pYODlVZFpPc0VieURnQWEzWUx5MTlScjlkWDFaM1g1U2RJdjVCTUdFZ1FpTHphekhsNzcKckcrZDBDa1BUbXZzNUhkZ0VmWmw3MXc2dUJZU1lUeWFnT09sU0MwZmRhTmc1cy9oenhiblllSEIrTGlMcEo2ZAp1Mk94MWQ5TlNiRmw0dTBtakVMM1NUL0paT29aaWhrNTVSbXRYbmV3Y01DRitsa2FZUGFhZVB1MDd1QTB4QUorCk11d3laVGE2cTBieXlzNzc0MS8yS0Rqa0tUSDJRcStxT0ppNlpiVFptbmFkQ082WXdFSWFBZ0t4bFc5RUdocGYKek9ScHdyWHN4TGVnRkY3ZFgyT3UyNlNFTmdkTGh6OEVkS2o2c1hxWWRlMGVrUThHdlBKdWhkNzBSUlFwWEhBOQpTY04zdjhTb3NvaVBKNVlvTGUwYlNtUThFQTJ5Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQlRDQ0F1MmdBd0lCQWdJUVdnRHlFdGpVdElEemtrRlg2aW1EQlRBTkJna3Foa2lHOXcwQkFRc0ZBREJQCk1Rc3dDUVlEVlFRR0V3SlZVekVwTUNjR0ExVUVDaE1nU1c1MFpYSnVaWFFnVTJWamRYSnBkSGtnVW1WelpXRnkKWTJnZ1IzSnZkWEF4RlRBVEJnTlZCQU1UREVsVFVrY2dVbTl2ZENCWU1UQWVGdzB5TkRBek1UTXdNREF3TURCYQpGdzB5TnpBek1USXlNelU1TlRsYU1ETXhDekFKQmdOVkJBWVRBbFZUTVJZd0ZBWURWUVFLRXcxTVpYUW5jeUJGCmJtTnllWEIwTVF3d0NnWURWUVFERXdOU01UTXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUsKQW9JQkFRQ2xaM0NOMEZhQlpCVVhZYzI1QnRTdEdaQ01KbEEzbUJaamtsVGIyY3lFQlpQczArd0lHNkJnVVVOSQpmU3ZIU0phZXRDM2FuY2duTzFlaG42dncxZzdVRGpES2I1dXgwZGFrblRJK1dFNDFiMFZZYUhFWC9EN1lYWUtnCkw3SlJiTEFhWGJoWnpqVmx5SXVocnhBMy8rT2NYY0pKRnpUL2pDdUxqZkM4Y1N5VERCMEZ4THJIemFySlhuelIKeVFIM25BUDIvQXBkOU5wNzV0dDJRbkRyOUUwaTJnQjNiOWJKWHhmOTJuVXVwVmNNOXVwY3R1QnpwV2pQb1hUaQpkWUorRUovQjlhTHJBZWs0c1FwRXpOUENpZlZKTllJS05MTWM2WWpDUjA2Q0RnbzI4RWRQaXZFcEJIWGF6ZUdhClhQOWVuWmlWdXBwRDBFcWlGd1VCQkREVE1yT1BBZ01CQUFHamdmZ3dnZlV3RGdZRFZSMFBBUUgvQkFRREFnR0cKTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQ0JnZ3JCZ0VGQlFjREFUQVNCZ05WSFJNQkFmOEVDREFHQVFILwpBZ0VBTUIwR0ExVWREZ1FXQkJUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QWZCZ05WSFNNRUdEQVdnQlI1CnRGbm1lN2JsNUFGemdBaUl5QnBZOXVtYmJqQXlCZ2dyQmdFRkJRY0JBUVFtTUNRd0lnWUlLd1lCQlFVSE1BS0cKRm1oMGRIQTZMeTk0TVM1cExteGxibU55TG05eVp5OHdFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3SndZRApWUjBmQkNBd0hqQWNvQnFnR0lZV2FIUjBjRG92TDNneExtTXViR1Z1WTNJdWIzSm5MekFOQmdrcWhraUc5dzBCCkFRc0ZBQU9DQWdFQVVUZFlVcUVpbXpXN1Rick95cExxQ2ZMN1ZPd1lmL1E3OU9INWNITENaZWdnZlFoRGNvbmwKazdLZ2g4YjB2aSsvWHVXdTdDTjhuL1VQZWcxdm8zRyt0YVhpcnJ5dHRoUWluQUhHd2MvVWRiT3lnSmE5enVCYwpWeXFvSDNDWFRYREluVCs4YStjM2FFVk1KMlN0K3BTbjRlZCtXa0RwOGlqc2lqdkV5RndFNDdodWxXMEx0empnCjlmT1Y1UG1yZy96eFdiUnVMK2swREJESEVKZW5uQ3NBZW43YzM1UG14N2pwbUovSHRnUmhjbnoweWpTQnZ5SXcKNkwxUUl1cGtDdjJTQk9EVC94REQzZ2ZRUXlLdjZyb1Y0RzJFaGZFeUFzV3Btb2p4akNVQ0dpeWc5N0Z2RHRtLwpOSzJMU2M5bHliS3hCNzNJMitQMkczQ2FXcHZ2cEFpSENWdTMwalc4R0N4S2RmaHNYdG5JeTJpbXNrUXFWWjJtCjBQbXhvYmIyOFR1Y3I3eEJLN0N0d3ZQcmI3OW9zN3UyWFAzTzVmOWIvSDY2R055UnJnbFJYbHJZakkxb0dZTC8KZjRJMW4vU2d1c2RhNld2QTZDMTkwa3hqVTE1WTEybUhVNCtCeHlSOWN4MmhoR1M5ZkFqTVpLSnNzMjhxeHZ6NgpBeHU0Q2FEbVJOWnBLL3BRclhGMTd5WENYa21FV2d2U09FWnk2WjlwY2JMSVZFR2NrVi9pVmVxMEFPbzJwa2c5CnA0UVJJeTB0SzJkaVJFTkxTRjJLeXNGd2JZNkIyNkJGZUZzM3Yxc1lWUmhGVzluTGtPclFWcG9yQ1MwS3labWYKd1ZEODlxU1RsbmN0TGNabklhdmpLc0tVdTFuQTFpVTB5WU1kWWVwS1I3bFdibndoZHgzZXdvaz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBMXp0UzlIUUVLVDVBYzYrelFXbFVHT0hVNjcrK0F0ODlmZTF4dkhzZ0d1YThwRmU3CldLenNMam9zTklXVFhZRXFlY21mTkw4WkhZVjdCQlNNS3ZCRTlYcG9iVjZuVUNQVEhCZ20xdk1PVnB0VTNUZHgKTkE3bDlaOW1McmVtUzRlc0JDYS9XcDU4VjhiY3R2ZEd3M2JlYmVKb3BGcmRSZlJPV0lWYnhjcVB4cWFjb1NkbAo5QUVhUEdJVmpIZ2RQSUV6OTk2Nnk0bFZoT1Rud2ppSjQyNVpzTGd0QlhMQ3dROTdKYVRqUzNINElRSHJLUHdvCmFja25kWnYvZTZTMnE0NEtJWmMyZDhHUkFETWhyVC9Od0lvSSsrby9TWk1ERFRwbEMyc0xqS2xNTWlUdEtQS2cKekRBZG5mOFUyeXlTY1FsYXdzR3lxamMvS3hoZVZRbFMyS0VqRlhWdUt3Z2ZKMjRNMVBtUVY4TW1jQTVwLzJ5dworVG9LUXJ2WXdkcVg1V3paNUdUTlNIeDdrZzhVTVc1aDV2aTBDSGV6WnNFdnZ6blMreEMvamRFZlBBS0Z3MjdHCmhqYk9xdVcrd1dpeHlNeE5iQmFNekMxY29yNHZoQ01DRWRUdy85ejVLcEYrQUFlR0xRaGxmYUtpd0ZBTGdQSGEKTFBzK0poRTZnMldiRVdDZStLZ2hnSUVzNjg2VHphdEZPQjM4eXBZSHBhU0pwdGhoNWtodjZSSTM3a3ZTcmFhMgppeTdTS04wa2YrTlNQTnN0RTliN1RsT0h2dUlGRGU0K0QzUVk5NTAxYldlVmFsQkZyYU93S1gram53d0k2OUVuCkZnL3NqUnhzelBnbDhFNDJuV0Z4aWZTQUpFN0xnWnczUWpBdWJGUXo1Z2VNdzJGMkZseTF0UDhNUG9VQ0F3RUEKQVFLQ0FnQmI0OHdLNmUxTTNuTU44Um1LOTdrYjFtN2RKOE9yM2p1V28rVkhIeG9aNGlEdjJUVDNLdnk2ejhOSAp1Uyt0WUJRT1l2SkJ4c1NtUWZLL1R6WjRycFFDYWZ4amxXSEJhVW9jV0lOY2lmQzVNU0FPUWpsbWpHWEpkQUJnCk9iQVoxeGF0dncwN1Z5YW5JeFBnV2Jvd2dYTjlYb2htZ3hTdFpSeDkxcEhUNUNOMklIUUdxWmR4a1hidUNNSkMKY3BXbzIxQ2dwc3NCVXVUY0ZBNk9jUzBObUhOYWE0ZHRLQTNWOXhJUWhGRTJTTFl6QVdxdzJOYzRNdFZSOVFRaQplYlF6a2pUcEduSDZ0djE5SkZkZ2JEa2YxczczSG85ZWpoRmplR2JqZFJROVBacDJYaVdTc2VQTXlVNGJ3bWZaCkd6SjZhQkFEemtiRlBVa08wUnlWR2FIeE12cVN5bHhDUy95Q0VXMjJDRXkvV0UyVmtsM2VLSDV3Q2VaWWt6OFoKZkE2ZjZTSU9DV1hDaTMrT0RrZEJQd0pxTjhiMnQxMnlicTV3ajdDV2VuSlpSV290dGlSOFpmcmNLWGpkN2JCdQpjS1FLWEZSbkc5Yy9DdUtDQjRuNmQxdWRQOUpISmNST1h5c3JyR2RiZ0d4THRXdTZINitkcUdKUDQ5WXhzc1RPCi9UaEY5c0VlaUlsa1VCYlZ6bllWTHp5VlhNbzBFN3MxVVFMcDVueWtmVHJyOEsvNXQwWVFTaTJnOWdPSGxaam4KVHlFOUNRRXYvUTY1T0NrMENYSlRIN3ZjYmNiMXNuUVNhdXJjY2FwKzlzT0RJeUo5aFVOampLTGdzekhnL2F5MgpFZU44OFd5TXFUcG9VNjV0VnA1OEZSc0o3Q3JCNFFpOUR1bEdGZ0pvd0VDbHVJRDVFUUtDQVFFQTYvQWhKOUY1CmNEQkN3RG8xMko3bC9sWWwwOG1EWUNmVVBReUtyUEFjdGhxN1pXeWVtWHNkeGtsQ0p0WjBSa1BIYmpzTGh5UnoKZkFxWjNtRDJjdHpyaFMwOWxnZ2svMm1MR2pUYkhodTkxYWNqUlpoZFZHUDY5WStwODd0bU1XOG92TVhGNmNWMgpra1NuM2MvVHIwYW9MY2xBWmFNYy95KzBUUFdtYVBYdlZEVXRDV0x1dUtBWUR5RktrMnlSbk5ydkhjb0NiSUNNCmhLUm41Qk5rSW5sTTF2dm9lc1FPK1hxMFBmSHpVdVdmMUp5anY1NzZ4OURQTWtIRiswVkZMVG82Q2pYQVIwNysKNTI2TVVTVThWTXJnSUt2L3o4NE9SM1RtdUdZdUIwYmZhbHh0dDZDbDlBZzBPYVBBWDlqTjExUUJMcHBxbWtTWQpTSGpMUzRtN21kcUk5d0tDQVFFQTZZaDJmdHJrRUt5K080SENrZUd5MVR2WXFTWGtGSFNVWlZRck4vbVVkR24zCjlqcmxQSWxzdW4xSGJCdlp6eFZsWk1iODhxdS9IUzZkQ3VqbFpYbEt2YW9KK2xqV3A2cTgvcTQwQThpaE9zNDMKcjdQaWxnNklTb0pXRjRGVXNDTSt1NndYT0RHbUhpbWZjZ1ppR0FraHVrNUh5MFhoeDErYWtHeUUxMlU5dWFOUQpveG1uTGU3a0t4VHZja3lmWkZWOUVSMklLOWl4dCt2TWpCeWI5YjlYTlBFTkhzcUhUUHFxaFEvMHdkTnpkNFZFCk9oRWlWUTFndjdLZnVsUDlZMzYybTVVK0dTblh1OGUzZ2VDVmZmSGgzMUJsNlZxcVFkL2d6ZlhUTGE2b2VBV3UKZm9lU1RBUnRNejE0RkwzbzZ1aHFyRXFQQW9GbDErQzR6SUIvSEw0eFl3S0NBUUVBbENkZ21vRldVVlZzeFFxSQpmM01nRnpwL1hHTkFwT085eVd3VHRJNithTGVXanhUSzdyTzV1YWFNN0poandTK1VqcXB6RGJTYzgvb3dMczBTClZJUlhQSFJ4Sk1JT2dYZ0VDanZBa0VKNVRTMDczOXJTV0VqRDhPajZubnRCcTY4U2xKOVlMUGg3QVZRdFdRTEUKK1Y1VUF4Uko1TWl0VDZ6aitpT1RFSHZHZ2trMTg1djFMV2dTVTRYakwzblFZZiswZ1M4MW9HNkVUbEp5am15Qwp4NGNGOGtXUzhXd2x2eEVIRjVMVDZXMFpsVWViSjV1ci9FY3BwSFJhM3ZMYmdvLzZuQ2l1aWRpWUJqbUwwUFNoCjB0am1MbjN6RDhsamZBbHpTNzJXRDZtNFp6Q05FTzdHNXRzeitESFVmaHRFL243WWt5d1IzcmRPTE12MVZJU3oKa2VRQmR3S0NBUUFFeXZFcm4xQm82ektvUS94N1EvZUltc2JTaWQySmNlOE51VkY5djVpRlh4dGdxVXJGR0Vqcgo5dUE5WHNEMG1BclJxNmZMVHkwSDYwbjd6RlhRNUZGZFhSMEJUMHR3ZTNlUGZvSEF4aUJROWFSODdhTXIwemFHCjJPL3RZWkVjWUV6TVN6YmF4MklTWW1aTVQ4YzVtUTVoSlhRaHZ0aG9ZQlRxKzk4cUVJRFl5M28vTHFxWXJidHYKQ3VuekhaRnozTEZKWmFMQ3k1cXlISnZCRUdFL0JPTkVTZUlzREpvRVFXeTRlR0JjamZ0anE0OS81WlFmekx0OAprNnpsaFEzQk9mdURhK2V2V29WNzdCaGZDUDNvYk10bTZ0NThrSWpIKzFGQXlOZkJxMEQzM1ozOEtNb2UxMFJxCmRjdCtHWHVyUG9QWjcxbktBbC9WczEzM2pIZVBYblBqQW9JQkFDTGRIcThoa2RLdmlnZkJEa2swRjFXYWNKMW0KL1RsMUFoODJtUnNUTEorYnNibnc4OWhGU2xHYjduaU9rUGNqVGpFaTZnRjlCbDkzUmcvU0Q1bEErS29uWEVZNgpSRlR3dFNwYnoreEd2RzFpbE12UStTVWdHSkFKTlhQYVdHUmxnVFhYekRoYUVmUFBqWWZidFFEcUVZbTFKRWJMClRwaEJNR1hWVlRmN0JWQldFdDVTalVseVYwNEhaMG9LL0tDSis5Z1FDcitoeSsyeFlYbDZhYWU1UGtEVVcrZjkKaGZYbU9TNUl6RkFGS0NaWFhoblFXZnl2V2YrSWRJSTE1Z1JVU1prWkdPM0FoQ053cS8vNWJTcDNzcTI3U3FjUgpGem1OM0szUHZjZ0syOXVWQllFTXdRb2cwek43NHk4QUVCV2JCdTBRWGZnVXJjZlVZeDFIcm1oeno1dz0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -347,7 +347,7 @@ "domain": { "main": "alf.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdBVENDQk9tZ0F3SUJBZ0lTQmNIT3p6eWlwa0pXdzNTbFloRWZ1OERLTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeU1qQXdPRFExV2hjTk1qWXdNakl3TWpBd09EUTBXakFkTVJzd0dRWURWUVFECkV4SmhiR1l1WVhSb1lXeHBZWEJ3Y3k1NGVYb3dnZ0lpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElDRHdBd2dnSUsKQW9JQ0FRRGdlYTFBMVdHOGdpcEV5NFdxdlZ0YzVDeUpZUThSWlBTa01HNlJlZExGZ0hXMldLQmhaZ2FyYy9Xdgp2dXVMS05TT1RnYW5qWk9yS3ZoaXZmTThvdUQvN01LRFYwRHc5NTd2YUxCbkZ0VUJUZ0QwSGlsdzVKY3FzK2dsClJZSGdmL0VyQ01zMmlxaEJ2Q09LUjd3a0VCaGN1RHZ4MlUyZit5QzRmakV1NDh1M3A0Qnd6eGZrVnlqTmZVSE8KeVRzV1hiSjI3L015eXVmQ2swang0NUpMM1ZFTmdtSXIzbXJKMFNkci9kNiszTkdsSS9HMHBoaEo5NlZ5WUx0SwpLVWtQNEkvTjZIZkI5MzZiVVdaZGF4NXJpSjczODVZQzliYnhrZGdkR04xV0RjQm5HbTdZcDcvM3BxamI2eDRHCmdWb2RZa2cyYzJCY0tyWlJwT3VUV0dTczFtSitZcVlsWVBTRUlySHNETDdYUDc1VVU4dHhsanlsM0xaTjk4N0UKRWZTYmpncW1taEovcXUvRWt6OUF3K3lYQnBpVVdnNi9sWjY4K0dlQXNEeHYzcFpRWmpRS1NXb1VuNUVTTnE2cAp6T3VSbGpKbnJwZ2xWWlZYNitiU0FwNmZqNlZkRm1xcVRiMUhybWZwYUVjWVE5ZlMxWnl2MzU2dUtsTmNSTGVXClFMdHB3Y0lCNFRreGpNbmo3SkRucDlGK2RGRy9ld1B6N00wUlRvTEl0akNCMGNDS0cvWEM2M2kwNGFoSGVrdjAKemdoSEpZcFVvV2paK282RVF6T3pNMzJQTHgxbXlqdDl0UzdKVUphNFdSUU13MHlGV2IrNEhKTWJnek5sUVltNQpNTGVMZUtIUE93RkRleDNsUlpXaGREWmhRV1NrbFUrZTZSVXQ0SDlrSDJnazhwaWpEUUlEQVFBQm80SUNJekNDCkFoOHdEZ1lEVlIwUEFRSC9CQVFEQWdXZ01CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUJCZ2dyQmdFRkJRY0QKQWpBTUJnTlZIUk1CQWY4RUFqQUFNQjBHQTFVZERnUVdCQlMva3hYci9HWHlsVys0dXgwQ1hHdTJzRTZXRGpBZgpCZ05WSFNNRUdEQVdnQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBekJnZ3JCZ0VGQlFjQkFRUW5NQ1V3Ckl3WUlLd1lCQlFVSE1BS0dGMmgwZEhBNkx5OXlNVE11YVM1c1pXNWpjaTV2Y21jdk1CMEdBMVVkRVFRV01CU0MKRW1Gc1ppNWhkR2hoYkdsaGNIQnpMbmg1ZWpBVEJnTlZIU0FFRERBS01BZ0dCbWVCREFFQ0FUQXVCZ05WSFI4RQpKekFsTUNPZ0lhQWZoaDFvZEhSd09pOHZjakV6TG1NdWJHVnVZM0l1YjNKbkx6YzFMbU55YkRDQ0FRVUdDaXNHCkFRUUIxbmtDQkFJRWdmWUVnZk1BOFFCMkFHUVJ4R3lrRXV5bmlSeWlBaTRBdkt0UEtBZlVIalVucStyKzFRUEoKZmMzd0FBQUJtcTFrZlRNQUFBUURBRWN3UlFJaEFMNXN3aHQ5cE5IeGNMei9DSEdFRFhkUFVFaVZiWWs3UmJJbgo0Rm4rNndUSEFpQXVib2NSUnRPY01JK1JmSzR0dVREVEVvaHdjUEVjQ1FlRnp4N1N3bHo2N3dCM0FBNVhsTHp6CnJxaytNeHNzbVFlejk1RGZtOEk5Y1RJbDNTR3BKYXhoeFU0aEFBQUJtcTFraFFZQUFBUURBRWd3UmdJaEFLZEgKODJIaWFKYjVpRUM2N2VFdVA5OWFka0xCblNSSDhuRFFxOVF1S1lUbEFpRUE1QmZDL25JN2RscHliT1M4MDdqLwpWZ01uQkRhTHZpaU9PSlBwSlQwMkR2Z3dEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBSHlweFkvWHdQOE13VzhwCnVkWWpvelordzNxYk5EYmNSaXIvM1BlVGJWeUd3YnB6RGs1cDQ1b0JieUZwSGxoL1prWE41bUdFZC85akdRS0UKeUpxUGxlVGZzLzlubjA5Q09OalVCMGRSblllb2svdjlnYWpDYlZhTTRSaUJxdnZCNHZyWlowV1dYTWN6UHM4QwpkVTF0dFNOZW14ZVRrbWhIaElhY0w5L2Z4V3FUNFA1MWNRSmZHazNHUXhVdkIvMDc2MW5nOU0rR25tMXlhNkZ2ClVBdHJCMUlTVHMyVWhKZXh6T2krOEZ3bGo5eVp3dzBORmM0UzFiZEhqMnRnY1pTWkJnMXh6QVBsZTdFbEtTTkYKNWY3RWdrMUc0dDd2cEl2OCsxUEU3M05WbDFZOTRFOXJnaTMxbkNWZlpISytaZ3VhZi9ZM0RqZ2RzZlgyZGNQUQpUcWE5eDhvPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJUQ0NBdTJnQXdJQkFnSVFXZ0R5RXRqVXRJRHpra0ZYNmltREJUQU5CZ2txaGtpRzl3MEJBUXNGQURCUApNUXN3Q1FZRFZRUUdFd0pWVXpFcE1DY0dBMVVFQ2hNZ1NXNTBaWEp1WlhRZ1UyVmpkWEpwZEhrZ1VtVnpaV0Z5ClkyZ2dSM0p2ZFhBeEZUQVRCZ05WQkFNVERFbFRVa2NnVW05dmRDQllNVEFlRncweU5EQXpNVE13TURBd01EQmEKRncweU56QXpNVEl5TXpVNU5UbGFNRE14Q3pBSkJnTlZCQVlUQWxWVE1SWXdGQVlEVlFRS0V3MU1aWFFuY3lCRgpibU55ZVhCME1Rd3dDZ1lEVlFRREV3TlNNVE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUNsWjNDTjBGYUJaQlVYWWMyNUJ0U3RHWkNNSmxBM21CWmprbFRiMmN5RUJaUHMwK3dJRzZCZ1VVTkkKZlN2SFNKYWV0QzNhbmNnbk8xZWhuNnZ3MWc3VURqREtiNXV4MGRha25USStXRTQxYjBWWWFIRVgvRDdZWFlLZwpMN0pSYkxBYVhiaFp6alZseUl1aHJ4QTMvK09jWGNKSkZ6VC9qQ3VMamZDOGNTeVREQjBGeExySHphckpYbnpSCnlRSDNuQVAyL0FwZDlOcDc1dHQyUW5EcjlFMGkyZ0IzYjliSlh4ZjkyblV1cFZjTTl1cGN0dUJ6cFdqUG9YVGkKZFlKK0VKL0I5YUxyQWVrNHNRcEV6TlBDaWZWSk5ZSUtOTE1jNllqQ1IwNkNEZ28yOEVkUGl2RXBCSFhhemVHYQpYUDllblppVnVwcEQwRXFpRndVQkJERFRNck9QQWdNQkFBR2pnZmd3Z2ZVd0RnWURWUjBQQVFIL0JBUURBZ0dHCk1CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0RBVEFTQmdOVkhSTUJBZjhFQ0RBR0FRSC8KQWdFQU1CMEdBMVVkRGdRV0JCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekFmQmdOVkhTTUVHREFXZ0JSNQp0Rm5tZTdibDVBRnpnQWlJeUJwWTl1bWJiakF5QmdnckJnRUZCUWNCQVFRbU1DUXdJZ1lJS3dZQkJRVUhNQUtHCkZtaDBkSEE2THk5NE1TNXBMbXhsYm1OeUxtOXlaeTh3RXdZRFZSMGdCQXd3Q2pBSUJnWm5nUXdCQWdFd0p3WUQKVlIwZkJDQXdIakFjb0JxZ0dJWVdhSFIwY0RvdkwzZ3hMbU11YkdWdVkzSXViM0puTHpBTkJna3Foa2lHOXcwQgpBUXNGQUFPQ0FnRUFVVGRZVXFFaW16VzdUYnJPeXBMcUNmTDdWT3dZZi9RNzlPSDVjSExDWmVnZ2ZRaERjb25sCms3S2doOGIwdmkrL1h1V3U3Q044bi9VUGVnMXZvM0crdGFYaXJyeXR0aFFpbkFIR3djL1VkYk95Z0phOXp1QmMKVnlxb0gzQ1hUWERJblQrOGErYzNhRVZNSjJTdCtwU240ZWQrV2tEcDhpanNpanZFeUZ3RTQ3aHVsVzBMdHpqZwo5Zk9WNVBtcmcvenhXYlJ1TCtrMERCREhFSmVubkNzQWVuN2MzNVBteDdqcG1KL0h0Z1JoY256MHlqU0J2eUl3CjZMMVFJdXBrQ3YyU0JPRFQveEREM2dmUVF5S3Y2cm9WNEcyRWhmRXlBc1dwbW9qeGpDVUNHaXlnOTdGdkR0bS8KTksyTFNjOWx5Ykt4QjczSTIrUDJHM0NhV3B2dnBBaUhDVnUzMGpXOEdDeEtkZmhzWHRuSXkyaW1za1FxVloybQowUG14b2JiMjhUdWNyN3hCSzdDdHd2UHJiNzlvczd1MlhQM081ZjliL0g2NkdOeVJyZ2xSWGxyWWpJMW9HWUwvCmY0STFuL1NndXNkYTZXdkE2QzE5MGt4alUxNVkxMm1IVTQrQnh5UjljeDJoaEdTOWZBak1aS0pzczI4cXh2ejYKQXh1NENhRG1STlpwSy9wUXJYRjE3eVhDWGttRVdndlNPRVp5Nlo5cGNiTElWRUdja1YvaVZlcTBBT28ycGtnOQpwNFFSSXkwdEsyZGlSRU5MU0YyS3lzRndiWTZCMjZCRmVGczN2MXNZVlJoRlc5bkxrT3JRVnBvckNTMEt5Wm1mCndWRDg5cVNUbG5jdExjWm5JYXZqS3NLVXUxbkExaVUweVlNZFllcEtSN2xXYm53aGR4M2V3b2s9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDRENDQlBDZ0F3SUJBZ0lTQmQvYWtQd0ZDc1g4V2xvV2kvd3hCQVVaTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeU1UWXdORFF6V2hjTk1qWXdOREl5TVRZd05EUXlXakFkTVJzd0dRWURWUVFECkV4SmhiR1l1WVhSb1lXeHBZWEJ3Y3k1NGVYb3dnZ0lpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElDRHdBd2dnSUsKQW9JQ0FRRGdlYTFBMVdHOGdpcEV5NFdxdlZ0YzVDeUpZUThSWlBTa01HNlJlZExGZ0hXMldLQmhaZ2FyYy9Xdgp2dXVMS05TT1RnYW5qWk9yS3ZoaXZmTThvdUQvN01LRFYwRHc5NTd2YUxCbkZ0VUJUZ0QwSGlsdzVKY3FzK2dsClJZSGdmL0VyQ01zMmlxaEJ2Q09LUjd3a0VCaGN1RHZ4MlUyZit5QzRmakV1NDh1M3A0Qnd6eGZrVnlqTmZVSE8KeVRzV1hiSjI3L015eXVmQ2swang0NUpMM1ZFTmdtSXIzbXJKMFNkci9kNiszTkdsSS9HMHBoaEo5NlZ5WUx0SwpLVWtQNEkvTjZIZkI5MzZiVVdaZGF4NXJpSjczODVZQzliYnhrZGdkR04xV0RjQm5HbTdZcDcvM3BxamI2eDRHCmdWb2RZa2cyYzJCY0tyWlJwT3VUV0dTczFtSitZcVlsWVBTRUlySHNETDdYUDc1VVU4dHhsanlsM0xaTjk4N0UKRWZTYmpncW1taEovcXUvRWt6OUF3K3lYQnBpVVdnNi9sWjY4K0dlQXNEeHYzcFpRWmpRS1NXb1VuNUVTTnE2cAp6T3VSbGpKbnJwZ2xWWlZYNitiU0FwNmZqNlZkRm1xcVRiMUhybWZwYUVjWVE5ZlMxWnl2MzU2dUtsTmNSTGVXClFMdHB3Y0lCNFRreGpNbmo3SkRucDlGK2RGRy9ld1B6N00wUlRvTEl0akNCMGNDS0cvWEM2M2kwNGFoSGVrdjAKemdoSEpZcFVvV2paK282RVF6T3pNMzJQTHgxbXlqdDl0UzdKVUphNFdSUU13MHlGV2IrNEhKTWJnek5sUVltNQpNTGVMZUtIUE93RkRleDNsUlpXaGREWmhRV1NrbFUrZTZSVXQ0SDlrSDJnazhwaWpEUUlEQVFBQm80SUNLakNDCkFpWXdEZ1lEVlIwUEFRSC9CQVFEQWdXZ01CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUJCZ2dyQmdFRkJRY0QKQWpBTUJnTlZIUk1CQWY4RUFqQUFNQjBHQTFVZERnUVdCQlMva3hYci9HWHlsVys0dXgwQ1hHdTJzRTZXRGpBZgpCZ05WSFNNRUdEQVdnQlFBdFNueUxZNXZNZWliVEsxNFB2cmM2UXpSMGpBekJnZ3JCZ0VGQlFjQkFRUW5NQ1V3Ckl3WUlLd1lCQlFVSE1BS0dGMmgwZEhBNkx5OXlNVEl1YVM1c1pXNWpjaTV2Y21jdk1CMEdBMVVkRVFRV01CU0MKRW1Gc1ppNWhkR2hoYkdsaGNIQnpMbmg1ZWpBVEJnTlZIU0FFRERBS01BZ0dCbWVCREFFQ0FUQXVCZ05WSFI4RQpKekFsTUNPZ0lhQWZoaDFvZEhSd09pOHZjakV5TG1NdWJHVnVZM0l1YjNKbkx6STJMbU55YkRDQ0FRd0dDaXNHCkFRUUIxbmtDQkFJRWdmMEVnZm9BK0FCMkFCYURMYXZ3cVNVUEQvQTZwVVgveUwvSUk5Q0hTL1lFS1NmNDV4OHoKRS9YNkFBQUJtK2FwQUlRQUFBUURBRWN3UlFJZ0dBenpJb0JXRlBCVUxrSUFJOGdDSG1vUW1jWGE4NGlpZ2JmTgpDNVhublh3Q0lRQzNETzlaejBDdVB6QWE0T2xZdU5PSWRsR3RjTzd3NUluNm9MUXZEWURyOUFCK0FLWEplSkpkClYwWVhnb2NOMklsbUMxeFZaSXQ5QUVEeTdBZG9VZEdJYVJuM0FBQUJtK2FwQTQ0QUNBQUFCUUF2dzBubUJBTUEKUnpCRkFpRUFrNU9YUnBFdW9oNXljUnZmbEwzY3NRa0hRS0prenZDc0F4eE0xR0tNcndBQ0lEcWdiVEFicnhnWQpYenhGYlA5NmVFVGdiNU9tQ291azU5clNDR2Q5M1JHbk1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRRFI3QksrCnZGTFVlK05BUEVleWh4RWdLK2ZHWXdzK0RzZlpTTWRoOVZoSUwwckEvaUNzV0h1VFc1UTdtMml0YWdVZExpLy8KWHhERzJTMDQvQmdId3ZSVGJNQlJmbmFDSWFwZm02NUR4dXltUGsxWXJTRTlXOG9VQm1IVktQZUE1VkYyRWlDVAo1QTQ0UVBEdGdDeFM2ZHdzUzlxQjVuV1lPUkZtUjFVVEJ0NUMrSklmY3VlUUwxNlNqOERNK0d3T0NGUDlMQUpiCkFYNnVIV1VvWXZ2YXNKWVhURVd6RTVsZmtLTnI0QmRuMDdCUW0xQ1FENGEwNDkwYnk4MytBa0pTRmw5b0s4bFUKWjRHd0lTay9yc1k2QzRUUnNjZG9CZlNtVVYyb0cwRVhXdVJsdTRPamJ4eEFscVZFcE5ZUDcvYWFvT2QyRWhqegp4UTRjMzJPVmZWbHdHcGl6Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKSndJQkFBS0NBZ0VBNEhtdFFOVmh2SUlxUk11RnFyMWJYT1FzaVdFUEVXVDBwREJ1a1huU3hZQjF0bGlnCllXWUdxM1Axcjc3cml5alVqazRHcDQyVHF5cjRZcjN6UEtMZy8rekNnMWRBOFBlZTcyaXdaeGJWQVU0QTlCNHAKY09TWEtyUG9KVVdCNEgveEt3akxOb3FvUWJ3amlrZThKQkFZWExnNzhkbE5uL3NndUg0eEx1UEx0NmVBY004WAo1RmNvelgxQnpzazdGbDJ5ZHUvek1zcm53cE5JOGVPU1M5MVJEWUppSzk1cXlkRW5hLzNldnR6UnBTUHh0S1lZClNmZWxjbUM3U2lsSkQrQ1B6ZWgzd2ZkK20xRm1YV3NlYTRpZTkvT1dBdlcyOFpIWUhSamRWZzNBWnhwdTJLZS8KOTZhbzIrc2VCb0ZhSFdKSU5uTmdYQ3EyVWFUcmsxaGtyTlppZm1LbUpXRDBoQ0t4N0F5KzF6KytWRlBMY1pZOApwZHkyVGZmT3hCSDBtNDRLcHBvU2Y2cnZ4Sk0vUU1Qc2x3YVlsRm9PdjVXZXZQaG5nTEE4Yjk2V1VHWTBDa2xxCkZKK1JFamF1cWN6cmtaWXlaNjZZSlZXVlYrdm0wZ0tlbjQrbFhSWnFxazI5UjY1bjZXaEhHRVBYMHRXY3I5K2UKcmlwVFhFUzNsa0M3YWNIQ0FlRTVNWXpKNCt5UTU2ZlJmblJSdjNzRDgrek5FVTZDeUxZd2dkSEFpaHYxd3V0NAp0T0dvUjNwTDlNNElSeVdLVktGbzJmcU9oRU16c3pOOWp5OGRac283ZmJVdXlWQ1d1RmtVRE1OTWhWbS91QnlUCkc0TXpaVUdKdVRDM2kzaWh6enNCUTNzZDVVV1ZvWFEyWVVGa3BKVlBudWtWTGVCL1pCOW9KUEtZb3cwQ0F3RUEKQVFLQ0FnQjg2TGhUdjJrbmNIYjgyUk9FTXVKSUNtQU9BZ2hVY1kwQVlFTG1pSmVVZHlzSlVML044dXY3TkFlZQp4K3BpQVZKbDdWMGVsMVY0aGV5NVpXR1llRG9qcnlkOTFtdTRxdEd4L3R0S1FoWTlKNTY0T0tCdXhZU29xbnVmCllkSW5qb293bkRBWUpZZ0RMQ0hLcktnd21SUTFZLzlYVU1nMUlaVFBsTWpoZ3JpMWRXdXZXazI5TGhMeVphVGMKNEhVVXVRYTUwRVBRRzhCak1Yb0J2OVNFaXA2em1iM3ZFMUR4QklXZlBpRllxNStzK1JkaW9wb1pic2lOb080WApFbW9wZjVnRnlEbjdvVEMrVk1sVmFtbi9CSU1SRG1hSE54dVp5TUl0VHN5N09lTzZlNmI2d0QyK0hPc1JsUCtjCk54WmlDM0tMZWlCQXFUUFNzcWF6MHhnU1pTbGdoNjFSbU5BYVdSaDN3eTFpQ3RvejNERERkL3ovbkMxREJMeUwKUG52dUpWdlREdm5LY2RDdVJVdjhIbGZnRWJTTVFyajB4WTcwVzNsc2UxNUl6UVhYb2NPSFZNajJzamw5ZXM3ZQpIOEc4RU1WalE3N1luekYwN3NuSEtWY1pzVU10SjErQzh6bFhRbTFsTnRCMmlKek9XTm9qWkRzRnROOTlueCtnCjM2OGh6WEJtWkltRnA4UVhjNE91NlgwQ25Veng0U2hHQXdaOXY1bnN1VjFoVTcwY2xPM0pJRHFQL3JCNS9UR0YKMUNkVDJhcjlrNFpSN1ZmQnpYZnJHd0I2NU56ZU92VkJCM3ZvTG93VWVQdkVLd1NuaWlsSFNoMTRaNnFjSnA2MAp3US9CWnhqTDlib2JIc3ZlQm1kVjV2dmRPQmV3QjZIN1NEYUhGUU5abjRrbnhvaWFNUUtDQVFFQTUrMjk5RzBZCnRwSGp2U3Z5T1duRWQ5dys4NnFnK1UxZEF1NVU0Vit6OVVsZXJJMkxxQUJqMUdNTFJvTEttU1dHZzh2RlRraU8KdzhyR1RlTEE3ZTNuc2RER25WK1plZmlWaG5hdW9xSGFzTWJxRUxqRldxMTNIeVdlM1hKdzBaSkJQRFJ6cDhkdwp1SW5wdkUvQ3d3NUQ3UHJ4VjBlV2cyRkYzVTR2ZUkvRjhmb2FDeWE3a24wYzNhSnhMdlRiN3FlVGxYZ0tIT28vClo5dmZYcDVVZk1PdGtKRmd4bFIwdEVpUVhOWVpzSzhnOUV6ejN2WmtKKzRpcHhCelg1cGpaNS9TK2NsTk92dW4KL1oxNzU1d3loang2TDRYdWs5MVNkVHAwUW9kQzBUMnVNRm1GRjVTb3BOc205WnUxRUpGUitaK0NycjdtYVVCUQpReDVYaTNXbW8wdWVtd0tDQVFFQTk4WG11SldNcVBRVkNJWmMxb0psaHRKQUZHM2JDcS9ZNzBPT0J4MDV6ZDRQCk56LzY2L2psYjFuK3FadzloVE5GbTVoZTVjcHFjbWNLWUhwSVNWN0h1bWNUVVN5RVZhTmlTcWNyUmw1TVF0UnoKaHpuSnZhMlZtZmZVSVhOQ0pJN3pPMDVDM3lmeHFtS1htNlBtamNQQXkxQkJrQVJiV2pJN1FQMkZPWTRhbkpPZgplQkFXTjhnVWEzekFrTUlLL1VrL1FiZFVkbXZsNzF2aGluNEdkbFEyM0pUSElmRlhWWDc5c2V0dWFFL3BPWlpsCkgwNXp4bnYvRWhaVUtpMm5BcWZRc1E2UVRxUlpST2RwblpSSjhtdjhXT3FDUmRIUnFyOG52Z3E0M2R1ZW5mNU8KbGRWVnlJbDRQUU5iSGorRjZvby93UHNmQjZyQVl5ZEZjbEVSMTFmTGR3S0NBUUFqaFJpamQ1WGlXQ09OMUU0cgpsdFE5R3lFVkJsdlM4cE05SUswbE94Zi9oL1lVN1RTblRTLzgxaEpqQVNMd0kzd2ZjVFROa1hVejdUbERzbWVqCnlOekVNZHBKUGR2dWZ6Qy9RQ3Zzd21jUXpkWUpLNU1tR1F6Mld6ZWlhS1Y0b3pLVWV0Ly9vUjdWVkdIVXNrNTgKdXhHU0dMaWZpbG8xMHM3MVhzVU1iTkIvQjdPM1kzNDBxQzZranYxUW1MV2FMbFgrL1R4blEwVGtyaHJlamRjWQpxSXRMYWNodGQzL01JSlRqY3ZMS1NYZjlraytESlM4Zm9tdnlOQ1hIVFlqTjFQOWx1L3UwL2Rlemtzdm9JOWJsCkVod1FiUzJsdmE2a1A0aVFxOUNDNVRScE9UeVY2UEdQRmZVNGhsbExxVVhwdWhFMG5BNERycExjUktoWnRuSUgKN2t2akFvSUJBRzM4cDZLZ29FUVB0WmFITG9iNmMxOFp6ZUJEczh4V3F4SHJCdzBaYUNOK3czcGZLRisvcVBsNQpGWmJ0Q0ZJc3BHV2hpZDZ2ci9rQXpKWnZNYytBQjJFemlGdXNTMEpJdU1VeTEvN3d0U0dsZFhNOXI5UkhUZlYvCkVlZVhabkVjRTlUcnRMdWkyNkFyQytuSEkvMGlQRjhFVFZaRTJOaDlHOWlKc2E0TzZyayt2cmRwVExPT1dhSXQKU3IzM3BURXlacVloWDVrQjVKd1FTVnBVLzBGZnVNcktNR3RjMnN2VkI0RUhaWWRna2NOQ2c3a1Y5a2JSbkRUSApQSzFNZnFxckcvUzg1a3BDb20zMzIrWmJnVWZmcjdFNHlJTjkxSGpiU2lVT1ZXb0dwNjZ5eU9leVA5WTVUK3FsCnBya1NzYnVmaXhWN1pCYmZNVy9TYXYySUIwZDBiWmtDZ2dFQVptSllvLzdxVkk0UEpLZndyVFRiOHJOaFVwQUcKRURRakFBV2NlL1hWM2VhWEpMOHFOTUVXNTVXbmoxU1k3RGltMUp5eDhodS91TmJzd2RRTDUwdVlhSzd1bmZYRQo1RkVIV3RlcjRHVUdvaXlsYjZoNGJJTDJWZVpoS3Q5ajFSS3BTOUt6TWtXNEZTeGNnVDFvOEFTZE4vYkFkRFEwCnZWbVBMem5lYmFpYmlseTYvOVNwRFZJN2pGdTluT2l6emlXRzQrcE5tTXlWanB1WFhRQkl0YjM5SFpmSGpHakgKUnFySWZrYjMrM2JDSG5SS3dscERKOUJNMmR2c1RWcUl3T3NNRVg1WjhGcDZUcXFzQXlMemxMZmxKUFNnTlFqUgo5K3U3NXpreXVPZU0yNXJMMHlXRmUwdEpCSUZhdDFPdnRGMFFKMG44TEdnTGRyak44QmNnS21hV2xBPT0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -355,7 +355,7 @@ "domain": { "main": "uptimekuma.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdEakNDQlBhZ0F3SUJBZ0lTQlVGZ0tGdWpCWTMvVXV0NDZ5U2R2WUxkTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05NalV4TVRJeE1qQXhNekl5V2hjTk1qWXdNakU1TWpBeE16SXhXakFrTVNJd0lBWURWUVFECkV4bDFjSFJwYldWcmRXMWhMbUYwYUdGc2FXRndjSE11ZUhsNk1JSUNJakFOQmdrcWhraUc5dzBCQVFFRkFBT0MKQWc4QU1JSUNDZ0tDQWdFQXFQUURkWWtNcDV5bkJHZE9UWE8vd0tIU0NPTy9zKzRrM2FMcTBEYWc2QVJOeHp2NwpYeTBWSnNqTHR3TEZJR2l2SUk0dk1VNW44WUUwWE1STURrZ3dwWmxVSnhWek1EL2FQeG5nWTJVclZvMEdnU3daCkY4aXNPY1RrWVpkc2xMUFFoYlB2Zm5OZHpyTzR3ZWJGTklINmx3Tk4zTjlGNjl2SGZSZ2E4RDc4bjltRkNSckUKZnh4alpiRFRFdTh4TmUrdWVlU3FZYjlTcnhhK08xWExhK2ZpWmlOaXlaMEI0OS9tTFdrTHpDTEJpQUluNVdpTgpGbWhIcTgwOW9MNkxZN1Vsck5zVGJ5cGhCUkxOT0d1bmg4bkhJR3VQam9XVm13Zit4UFdLYVNhTThPU0pEeTUwCmVFUmEwSnJXS0Rjb3Y0RWcvQXA2ZXZNMjFpaEJwQTg0L1lnQ1g3dFBiRjliRHIxK0hmeVVKTFNGMi94QWh4clQKZjgzMjI3eWhZblFpQm9kRGxSVlpYRVNRKzluTC83RXFJdFFtQ1V2TndVY0ZBbWNqRTgyTWZRQS9ycUxMZWM1VApnN1F4cHVIYzVuRVdybHMzd1luMUI0SXEzTS9nUnJuTXNZVk40THVtMlRRQTltM052OEV3REVvYnBTWWIvaS9BClUzR0FGZFo0RlpBNGU5SGhuaThFVnRqRjFXS2NEYzlTbXJWZW5YTEpDbVViYlBFSE5udUNXWGJqS2JuakorcEoKNFAvRmlKNFlldkNCZkcrVG1EajVkaFpIcVIwSmtxK1QvK0hYT0NFQmpCM3doS2U0YTA4b0hDcWJ3WGZKNk5xTwpKbUZGa205QXliV2xBUmx5bDFyRGVoZDRJV01WL2YzZ050Vld5cDRaS28wNzU2SUtFSmdtckhWbDl1a0NBd0VBCkFhT0NBaWt3Z2dJbE1BNEdBMVVkRHdFQi93UUVBd0lGb0RBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFRWUkKS3dZQkJRVUhBd0l3REFZRFZSMFRBUUgvQkFJd0FEQWRCZ05WSFE0RUZnUVUzVWU2dmxFa3JBc3hCeXhiQm5QLwpCdjFkcytRd0h3WURWUjBqQkJnd0ZvQVVBTFVwOGkyT2J6SG9tMHl0ZUQ3NjNPa00wZEl3TXdZSUt3WUJCUVVICkFRRUVKekFsTUNNR0NDc0dBUVVGQnpBQ2hoZG9kSFJ3T2k4dmNqRXlMbWt1YkdWdVkzSXViM0puTHpBa0JnTlYKSFJFRUhUQWJnaGwxY0hScGJXVnJkVzFoTG1GMGFHRnNhV0Z3Y0hNdWVIbDZNQk1HQTFVZElBUU1NQW93Q0FZRwpaNEVNQVFJQk1DNEdBMVVkSHdRbk1DVXdJNkFob0IrR0hXaDBkSEE2THk5eU1USXVZeTVzWlc1amNpNXZjbWN2Ck9UUXVZM0pzTUlJQkJBWUtLd1lCQkFIV2VRSUVBZ1NCOVFTQjhnRHdBSFlBR1liVXh5aXFiLzY2QTI5NEtrMEIKa2FyT0xYSXhENjdPWFhCQkxTVk14OVFBQUFHYXFFSmNUZ0FBQkFNQVJ6QkZBaUFQWktoTVBuNDdHWU0ra0ZmbQpDdFhIdGVNVG9qOVZFZCtZZ1lMTlRjY1p3Z0loQUpacnBkQ2JyQzA4VTVrazFMV1lxRHNtS0x0bGlXM1YwMGU1CitNYjdBNVRCQUhZQWxwZGt2MVZZbDYzM1E0ZG9Od2hDZCtud090WDJwUE0yYmtha1B3L0txY1lBQUFHYXFFSmMKbVFBQUJBTUFSekJGQWlFQWhOblpmRjVBam1zaFd0ZlV3VDhLSnQxc0YyQXlCa0ZxNkpDeXlNZ3Y4c3dDSUI4TQpoUG1WbGVEU1Yxd0toZG4yMWhQbGh3TWQ2SjhEY1ZYVGVtNHl2Q2dSTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCCkFRQmhGVFNKOTk4NEdrcm1kQit2b09VbXJxcDFidDBPL3VaREZNbHorbUJaWjBFb3BET0RLYWJmUnQ0SG01VVkKMVNTdFNZellRcGE2NmFzeVk2bllVOGhKMmhDK3JhZXgzRU9xQ3FZUWxuaVlWRFNCQ2I4QktUL2dYeVVVQ2VpMQo5R1dOYjh5eGl0c0hZZDYzbHozNU1mai90UWdnUGszck5tS3BoU2duUEM4TVFqdDdVM0VrTk5Ua21OaEJabTlVCkZQU3BKY1R6VDhGN050NGFRTzlHWFpuMncrelZaMDFVUHovWVQzcTFUdXdXMVhQSUhaTXBjaTk3Q0NqOEJPK04KMmNmZ1JaY3M3S3pmbk05L2N0ZmRnRVo3U2JPVzRRV3ZVOG9tU3FmTE5hWmduY2Q3ek5ZSjNuTEFhQXNsZ3JMbQprQ3RYWEQzU0x5Z0wvdHBpM04xTmVEdUYKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCakNDQXU2Z0F3SUJBZ0lSQU1JU01rdHdxYlNSY2R4QTkrS0ZKand3RFFZSktvWklodmNOQVFFTEJRQXcKVHpFTE1Ba0dBMVVFQmhNQ1ZWTXhLVEFuQmdOVkJBb1RJRWx1ZEdWeWJtVjBJRk5sWTNWeWFYUjVJRkpsYzJWaApjbU5vSUVkeWIzVndNUlV3RXdZRFZRUURFd3hKVTFKSElGSnZiM1FnV0RFd0hoY05NalF3TXpFek1EQXdNREF3CldoY05NamN3TXpFeU1qTTFPVFU1V2pBek1Rc3dDUVlEVlFRR0V3SlZVekVXTUJRR0ExVUVDaE1OVEdWMEozTWcKUlc1amNubHdkREVNTUFvR0ExVUVBeE1EVWpFeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQgpDZ0tDQVFFQTJwZ29kSzIrbFA0NzRCN2k1VXQxcXl3U2YrMm5BekorTnBmczZER1BwUk9OQzVrdUhzMEJVVDFNCjVTaHVDVlV4cXFVaVhYTDBMUWZDVFVBODN3RWp1WGczOVJwbE1qVG1obkdkQk8rRUNGdTlBaHFaNjZZQkFKcHoKa0cyUG9nZWcwSmZUMmtWaGdUVTlGUG5Fd0Y5cTNBdVdHckNmNHlycXZTcldtTWViY2FzN2RBODgyN0pndmxwTApUaGpwMnlwelhJbGhaWjcrN1R5bXkwNXY1Sjc1QUVhei94bE5LbU96am1iR0dJVnd4MUJsYnp0MDVVaUREd2hZClhTMGpuVjZqL3VqYkFLSFM5T01aVGZMdWV2WW5udVhObkMyaThuK2NGNjN2RXpjNTBiVElMRUhXaHNEcDdDSDQKV1J0L3VUcDhuMXdCbldJRXdpaTlDcTA4eWhEc0d3SURBUUFCbzRINE1JSDFNQTRHQTFVZER3RUIvd1FFQXdJQgpoakFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdFd0VnWURWUjBUQVFIL0JBZ3dCZ0VCCi93SUJBREFkQmdOVkhRNEVGZ1FVQUxVcDhpMk9iekhvbTB5dGVENzYzT2tNMGRJd0h3WURWUjBqQkJnd0ZvQVUKZWJSWjVudTI1ZVFCYzRBSWlNZ2FXUGJwbTI0d01nWUlLd1lCQlFVSEFRRUVKakFrTUNJR0NDc0dBUVVGQnpBQwpoaFpvZEhSd09pOHZlREV1YVM1c1pXNWpjaTV2Y21jdk1CTUdBMVVkSUFRTU1Bb3dDQVlHWjRFTUFRSUJNQ2NHCkExVWRId1FnTUI0d0hLQWFvQmlHRm1oMGRIQTZMeTk0TVM1akxteGxibU55TG05eVp5OHdEUVlKS29aSWh2Y04KQVFFTEJRQURnZ0lCQUk5MTBBblBhblpJWlRLUzNyVkV5SVYyOUJXRWpBSy9kdXV6OGVMNWJvU29WcEhoa2t2Mwo0ZW9BZUVpUGRaTGo1RVo3RzJBcklLK2d6aFRsUlExcTRGS0dwUFBhRkJTcHFWL3hiVWI1VWxBWFFPbmtIbjNtCkZWaitxWXY4Ny9XZVkrQm00c04zT3g4Qmh5YVU3VUFRM0xlWjdOMVgwMXh4UWU0d0lBQUUzSlZMVUNpSG1aTCsKcW9DVXRnWUlGUGdjZzM1MFFNVUlXZ3hQWE5HRW5jVDkyMW5lN25sdUkwMlY4cExVbUNscVhPc0N3VUx3K1BWTwpaQ0I3cU9NeHhNQm9DVWVMMkxsNG9NcE9TcjVwSkNwTE4zdFJBMnM2UDFLTHM5VFNyVmhPays3TFgyOE5NVWxJCnVzUS9ueExKSUQwUmhBZUZ0UGp5T0NPc2NRQkE1MytOUmpTQ2FrN1A0QTVqWDdwcG1rY0pFQ0wrUzBpM2tYVlUKeTVNZTVCYnJVODk3M2paTnYvYXg2K1pLNlRNOGpXbWltTDZvZjZPclg3WlU2RTJXcWF6enNGckxHM28ya3lTYgp6bGhTZ0o4MUNsNHR2M1NiWWlZWG5KRXhLUXZ6ZjgzRFlvdG94M2YwZnd2N3hsbjFBMlpMcGxDYjBPK2wvQUswCllFMERTMkZQeFNBSGkwaXdNZlcybk5ISnJYY1kzTExIRDc3Z1JnamU0RXZldWJpMnh4YStObWsvaG1oTGRJRVQKaVZERmFub0NyTVZJcFE1OVhXSGt6ZEZtb0hYSEJWN29pYlZqR1NPN1VMU1E3TUoxTno1MXBodURKU2dBSVU3QQowenJMbk9yQWovZGZybEVXUmhDdkFnYnV3TFpYMUEyc2pOalhvUE9IYnNQaXkrbE8xS0Y4L1hZNwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdGakNDQlA2Z0F3SUJBZ0lTQmNoQ1dBTU1aWSs0cjZDajRuL1Z3cWk4TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRJeE1UWXdPVFExV2hjTk1qWXdOREl4TVRZd09UUTBXakFrTVNJd0lBWURWUVFECkV4bDFjSFJwYldWcmRXMWhMbUYwYUdGc2FXRndjSE11ZUhsNk1JSUNJakFOQmdrcWhraUc5dzBCQVFFRkFBT0MKQWc4QU1JSUNDZ0tDQWdFQXFQUURkWWtNcDV5bkJHZE9UWE8vd0tIU0NPTy9zKzRrM2FMcTBEYWc2QVJOeHp2NwpYeTBWSnNqTHR3TEZJR2l2SUk0dk1VNW44WUUwWE1STURrZ3dwWmxVSnhWek1EL2FQeG5nWTJVclZvMEdnU3daCkY4aXNPY1RrWVpkc2xMUFFoYlB2Zm5OZHpyTzR3ZWJGTklINmx3Tk4zTjlGNjl2SGZSZ2E4RDc4bjltRkNSckUKZnh4alpiRFRFdTh4TmUrdWVlU3FZYjlTcnhhK08xWExhK2ZpWmlOaXlaMEI0OS9tTFdrTHpDTEJpQUluNVdpTgpGbWhIcTgwOW9MNkxZN1Vsck5zVGJ5cGhCUkxOT0d1bmg4bkhJR3VQam9XVm13Zit4UFdLYVNhTThPU0pEeTUwCmVFUmEwSnJXS0Rjb3Y0RWcvQXA2ZXZNMjFpaEJwQTg0L1lnQ1g3dFBiRjliRHIxK0hmeVVKTFNGMi94QWh4clQKZjgzMjI3eWhZblFpQm9kRGxSVlpYRVNRKzluTC83RXFJdFFtQ1V2TndVY0ZBbWNqRTgyTWZRQS9ycUxMZWM1VApnN1F4cHVIYzVuRVdybHMzd1luMUI0SXEzTS9nUnJuTXNZVk40THVtMlRRQTltM052OEV3REVvYnBTWWIvaS9BClUzR0FGZFo0RlpBNGU5SGhuaThFVnRqRjFXS2NEYzlTbXJWZW5YTEpDbVViYlBFSE5udUNXWGJqS2JuakorcEoKNFAvRmlKNFlldkNCZkcrVG1EajVkaFpIcVIwSmtxK1QvK0hYT0NFQmpCM3doS2U0YTA4b0hDcWJ3WGZKNk5xTwpKbUZGa205QXliV2xBUmx5bDFyRGVoZDRJV01WL2YzZ050Vld5cDRaS28wNzU2SUtFSmdtckhWbDl1a0NBd0VBCkFhT0NBakV3Z2dJdE1BNEdBMVVkRHdFQi93UUVBd0lGb0RBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFRWUkKS3dZQkJRVUhBd0l3REFZRFZSMFRBUUgvQkFJd0FEQWRCZ05WSFE0RUZnUVUzVWU2dmxFa3JBc3hCeXhiQm5QLwpCdjFkcytRd0h3WURWUjBqQkJnd0ZvQVU1NnVmRHl3em9GUFRYazk0eUxLRURqdldrak13TXdZSUt3WUJCUVVICkFRRUVKekFsTUNNR0NDc0dBUVVGQnpBQ2hoZG9kSFJ3T2k4dmNqRXpMbWt1YkdWdVkzSXViM0puTHpBa0JnTlYKSFJFRUhUQWJnaGwxY0hScGJXVnJkVzFoTG1GMGFHRnNhV0Z3Y0hNdWVIbDZNQk1HQTFVZElBUU1NQW93Q0FZRwpaNEVNQVFJQk1DNEdBMVVkSHdRbk1DVXdJNkFob0IrR0hXaDBkSEE2THk5eU1UTXVZeTVzWlc1amNpNXZjbWN2Ck5qRXVZM0pzTUlJQkRBWUtLd1lCQkFIV2VRSUVBZ1NCL1FTQitnRDRBSFVBbHBka3YxVllsNjMzUTRkb053aEMKZCtud090WDJwUE0yYmtha1B3L0txY1lBQUFHYjRZYy9tQUFBQkFNQVJqQkVBaUFsWjErUlBGUTlzYjI3UStPZQp5elpsWnVRek9LdlBuZnQ1SmNKaEFPcitoZ0lnSng0Y29mS1B1QWx0SzloZUc3WldiWTBjUXZzUnRxVXN0Mjl1Ck5XcHFiWFFBZndEakk0M3lqYUtJNEtyZ3JQRDZrTW1GOExhLzlkS2xKN0FCL0J4RVdNUzI2QUFBQVp2aGgwSUwKQUFnQUFBVUFNQkZxRGdRREFFZ3dSZ0loQU5CazBDOHlTZ1JWbkliZXRBa3RqcThuaTF2RFh2NE80bHdnN2tqOApiNHgwQWlFQW50UE9ZV1NKOXBJRXhpMitnQlErMlM3NU9ZUVFsWDBzUFRSaGhCd3FlWjh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dFQkFJWnE4SjJsOHB3aGpGeUpQMWVoMWhCZ2haTFJnTlRZWjVLQ1htcVVpcjc4K3RQSDVhcFIKMi8reU1KREMzQ2pPRDVYc2RzYTBNNk1DazBRNGZnTjZjN2RmVXdqTmczWktkSkdxUU1tL0hpWHdDVU4wQituNwo0YVVqTGJtYU00ZGNWVzEwZ3JPcFlQZE1wSE51SnVpaHhvTlhlSTl2SFhOaGkwVU5GdE8zZDJsVDNnaUg3eWJJCnRML1BnSmVYTXdtd1FlazVvWlBwL0RmV1FLSDlNZUtuNnNXUGxsTDJCSzF1VVBidlpCaVlnTXlmb2I0bExxUXMKOWpmbTdqUzdIci94WDYxTkYwbFdIRTNZVGJvejhyY3U5SXk4SThrakY0Q1Y4UExlaW5aNnNXNXlBMm5iN0pJcgpRajlXbHY1KzlOYkxQTmQ0QWsyYmMrZ1pyVlU1MXNwd3lmND0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBcVBRRGRZa01wNXluQkdkT1RYTy93S0hTQ09PL3MrNGszYUxxMERhZzZBUk54enY3Clh5MFZKc2pMdHdMRklHaXZJSTR2TVU1bjhZRTBYTVJNRGtnd3BabFVKeFZ6TUQvYVB4bmdZMlVyVm8wR2dTd1oKRjhpc09jVGtZWmRzbExQUWhiUHZmbk5kenJPNHdlYkZOSUg2bHdOTjNOOUY2OXZIZlJnYThENzhuOW1GQ1JyRQpmeHhqWmJEVEV1OHhOZSt1ZWVTcVliOVNyeGErTzFYTGErZmlaaU5peVowQjQ5L21MV2tMekNMQmlBSW41V2lOCkZtaEhxODA5b0w2TFk3VWxyTnNUYnlwaEJSTE5PR3VuaDhuSElHdVBqb1dWbXdmK3hQV0thU2FNOE9TSkR5NTAKZUVSYTBKcldLRGNvdjRFZy9BcDZldk0yMWloQnBBODQvWWdDWDd0UGJGOWJEcjErSGZ5VUpMU0YyL3hBaHhyVApmODMyMjd5aFluUWlCb2REbFJWWlhFU1ErOW5MLzdFcUl0UW1DVXZOd1VjRkFtY2pFODJNZlFBL3JxTExlYzVUCmc3UXhwdUhjNW5FV3JsczN3WW4xQjRJcTNNL2dScm5Nc1lWTjRMdW0yVFFBOW0zTnY4RXdERW9icFNZYi9pL0EKVTNHQUZkWjRGWkE0ZTlIaG5pOEVWdGpGMVdLY0RjOVNtclZlblhMSkNtVWJiUEVITm51Q1dYYmpLYm5qSitwSgo0UC9GaUo0WWV2Q0JmRytUbURqNWRoWkhxUjBKa3ErVC8rSFhPQ0VCakIzd2hLZTRhMDhvSENxYndYZko2TnFPCkptRkZrbTlBeWJXbEFSbHlsMXJEZWhkNElXTVYvZjNnTnRWV3lwNFpLbzA3NTZJS0VKZ21ySFZsOXVrQ0F3RUEKQVFLQ0FnQXJ1dlVHUUJIaGRGK2FlUzdBUjF4emZLOERsQWR6aUFsTXdMVnNiU2RheG5wblBqUkRIMFVoUThuTwp0YzNXSktKbmw4WEpTbFVISW4wdUliVFo0WCtON1ZEbHlOeUd1WkJBMHU3TWEwdzdXOGM2T2ZMSXdDMHJ5cldlCk9QWm15dUFISzFxcTdTdHpxL3IvWFQ3ZjUyQzRJNmZNcXBITGlaaHAzWXBqY3JvcW1iK2dhcWcvaWxhRDVLL04KYjlIWjl3Ni9DQnU5cnlxMG5QdGlHa1BMeXpwRFc1ZGZQZDlXWHdhUjdHV2NVY2FyOEhycEd4V2huaDRtN3JtcgoySVgxcWRaMWxrTENmRUtlY0k1anN5R3F1T1JzbE1xVWhpa0I5cURQMUFvZVMxY2hwdFYrODNROENOMUVyejhOCks3SEZWNlAwK0xWWkM0aS9CNjV0eTI3aDJJbGNXRkxrRHhSWkxoazZ1UnJDMmllbDZqVDRqNnA4RzJjMXpSUk0KbHFYMjk2MnE2MVo3ckRaTnRlRzk3OGZzV3prMy9sNE9PVk9RVjE0OGltajRsZUR4Rm1jN0w2M1JuSnJkb0plawpLRzFiam1HbEFMTE93T3o2ai9QMjVTdWNBUS9zT3A4UFlRcUJOMWJsRldVV2ltdHNFRWRtODlWMDRjVDJtNnU1CnhMNmJlTUZLaXBLQSszY1haTG5xZ0VMK0UrZTIzS1lxKzMxV01DNHBKVjloc0x1NjdPSkVaNDVLU3BJbk5YNHIKeDJuVjdMWjBHNmMzclBxVHJ0bGxWa2czZVlxS1Njc1luaEtiTTQyN08wUUFYMXJpT1NQYVBEYWlxQk5zUUpoVQpUMWUyUnAwbU8yVCtVczYzd3lUYnN3emxvSXJMVXBIemZxRVNiUHJVcHV4UW4zYWYvUUtDQVFFQTBNZEdmU0FoCjc0U3JrMjdjWlhlYkl4UlNkTTRTV1BMU2dZbHRPVGhUejU3U0pGZ3hUbUNTRmVucllHRXVXOHlYVzR2b2hjdE0KbXpmOG41MG1PQjM5OURSNG9Lc1BaZ09xVEtyb1R0UDFma3RKalRiN0MzMG5RN093Q3N3QWxWYURLU2w5Z0xwQQpPZmZnakI0d3E4aGxhakhHa2oxZncrd2NlU29tWHdtb3p6QnJHRWtXMG9jSUc4T2kxWmVad2ZZa2NlcUk5d1drCjE5QnZ6ZnNBVW1Na3FvalZXNzAyckJwYTdXdVhmbHB4L0hXOHBYUFJuRDVVUzNsZGJYS3hBbmJEQUJvSzBkc3UKc2k2UVJua3Bwc2YrcGZYeWl4Q2ZkYkxSbmtCRDVFd3k2dDFFSzBsQi93T3hJeGNFbWp2SnVPL1I1K3cyY2F2Zgp2WGQ4MnRGK1VZQ1k1d0tDQVFFQXp5ckZJYWVCYzJjeVBHUTYvODFBbjhmaE5rL2M5TDh6S28wMXl3ZXRERnZRCmZtQ1R3MGtIWVRqWUY0ZUFGTGg1V3RHWjNLNHRkWjJOQ1I1ZFhTOGZUSGxlNmdDQ2crM1FPTEhETndUY2t1VmkKaVc0R25LNzBWSForcTdTQmVxRXdEQ3RoVjlLTUdWenJ2bjN1S0pEQlhHU0lJRE1BSUJEV1BKRElwKzcva2h5bAoxVFBtVGd6bFZlclRoeVdtdzdpMzlkb1BJWUZRakxDdWdnNkYrbXNNS0t4NktQallRTHlzVEt3Vm9jbWlKSkxwClVycUV5OXdUbGdLcEU1L1RRcVpLRFVlREZ5OEVoYVpkOUVham9Ccm8xYytnQzZlOWlwUHd3eXRXMTZQSlhPRE0KKzJ3L25Uc1JBaSt0WjIrM1E4aitkTC9EcTNRQk9MaElHcFdzZmJQbnJ3S0NBUUVBa3VRQ0JqczdaU2YxQjlBeQpKUG5ZSHdCSFc0TTVpWGVmQUNET3hqbUpUa1N5R1h3cmhMZVJVUFc1ODUrc1hFNUFGOXNDQ0ZDWFg0WXVxYWFKCm8yWUdyWERWaGtXVW1mUHVOKzd2YjdiVnZMdi96ZWxuREJoTUxlZ1k3aC9HTVV3akVDenU3a2tjc3l4aHduUGoKVHBtNk1OTkFvTmVwcjFGS1h6MTJyZHMvK0RaYXcwVjVWenBHVERLRE9NQm5ILzZzZWJISUYvVFNuRDA4ekxIUwo4aVJyUWNqd1JKR0dDK1NuSVBCWU1FQTJmcWZmeUpFS1kyRy9NVEw4dHVyQSs3alBUaDBFaTg0b3Rwam9UWTBsCjd3QTdmRXpsRDA3c3dvVEQweEhvTXBJaUtQanc0M3V4Z1ZqNW9uU3BlbEtpaFFuR3ArU2NFYkladzFaMGRBaDkKVlo2aTlRS0NBUUVBeGtQM2tBTGdpQkt1YUUvQWkwbmpYRWVPQ1UyYmVIeDRPblFVbEcrUE5QRzE4d3o0dlgvcAoyU2p1M20zbXJXM3pibkNFb1VmczU5QlZ4dkZSaHpudTZXQ0s3c1o0SWt6NTV4aHhiUGx4SkFEMk1mS2p6MVk5CkxZeU9KRVJIV3BaakJuS0o0ZVAyQXR3RUhqWWxOSnQ5QXJDUCtzajBpTHUwWFJodmdSRGhkUE9IM2lpaWMvWXgKa2UyQWJhb2lGTlIyOG9xenltd1pLOXgzMXE2Um1KelVjU1RJY09mZkJ1M0t0RUpKSGFKOFZDWnB1S3diSllORgpGMThLYzJhVmFBYi9mZi8vdkxOWno1THQvamVRcDB5NW9zN25LK0JvTFBUekNjWXpnWU1WMXBhcWRzRWRqSnVYCjVwQzhrdTYrNU5lNmR2K0VBMVd0U1p4TUhXMDdQTDV0cndLQ0FRQjdOckpWZG5wSjhzQnlxcWpXNlhiM1oranoKU1ZEbWluYm5nRFFKRUowK3dEMkh1UTRqODVZbDBsS0J6U2FEQ2dJa2VVTGVGS0RjMSs5bk1POGJUcHlFWlhKUgpvRzgxc3JybGxMbTBRWklycENqeWFaenZXc2xwb0VRcDNQLzNrMFVHSXNVODZxTEhpUGh1bG9yZG5ZZkx0T0hVCktSeVhtdjh2bitQV1djem5yM0kyNVFBN2pJeStUQ2VvZ1QyOU8yUDhHVTREbzBkUTkrdU1OY3hlWnNGMUw0SS8KR1hLYUNRUGgrV2JxWFd2eUVMNm8yaHliR0g5a3YyemV0M0RmL1BsNGtqSU5qakNsSGZuYnpiZGFUTS8zT29ZMApXeTFUcmpWVTBvWm41UWJac29nQkxybXo1cTdkbkhEcC9mY0krUkJ0aWhaVDRnS3NRSStrN0xWSEFPelcKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -363,7 +363,7 @@ "domain": { "main": "authentik.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdEakNDQlBhZ0F3SUJBZ0lTQlc1L1JaL1Z2am9zM0IxNVNubkFQV1YvTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXhNekk0V2hjTk1qWXdNakU1TWpBeE16STNXakFqTVNFd0h3WURWUVFECkV4aGhkWFJvWlc1MGFXc3VZWFJvWVd4cFlYQndjeTU0ZVhvd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUMKRHdBd2dnSUtBb0lDQVFDeDFJOWc1MEMrd1F3TUV2L2RORGFoY2wrVDczdGJlclViNEprRk5MWEFyeVBBUVhFKwpHVTdnc1NHeWc0VlNPaUtRQ0xZNk5DOUtYZmZ6ZHpBV0dMNmJQY29mNVZBU3BjaUlPWERzR1pINjFMdnBVcjZrCjhXcHRmaEpUSW50Wnhqamp1K251cUZpb1VvRi9iYWZvMDFkS01aUS9VRzhZS2hnRzdTQm5OUHU3MURuTlVTZ3IKRDJ4aGUyWUtTTUpTelI3a1hnVWRCNlBVMmNtVVZRK2NQSjlRQTR4djVDTkV1cVJncEo1cTF4YUNiY0t5eCswVgpodjlQRnhONDhBbXNKS3Q5dm5YQkVNSURnc0EzVHVJZGQ2R0tQS24yS1VzV2xSam41Z2JZV2Q5Yk91YUc5c1E2CmNtZm1KZ2ViNXZoNWRscWdhblNldlB3L3dUTkxsbUFJVFlHTTZ0YWIwVm9tT2pBQ1llZ2R3bSs1S3c3L2JlWmUKVUN5UDRkMitocWJ5eHJlUTdxaFlYWjlhNnhhYy9raXBLR2hXZTAwZTdYYnB3UWRPKzIxS3FHaUpxb015Y2NnQQpYeTZHVEtZTitsL090R2NYNzVhTjhZWWNMTlZrOUV0d1phWlhMcUxEL0NFS3R3eFdsL2l6NnlMRTV5b2ttUEp1Cit5Y1BpSmNhbnFFL25pTFF1ZEpETnJtVTN5YUVqNFZsU3hFa1RaKzhEbElQMmhRc3Fuam5DTmQ3M2kraG1kS1kKWE5IT1gwN0gvTU0xRTJtREdXU0JLOVo1Sm4xeGxXZmRJb1h3cUhNb0ZUYlIyWjhvbFNiVy8yMkhnZnpzaTQxaQpZMkhVTFlxejRIVHFPb1JjTjZheWlBdHJsN2JOL0xnemRmNStHRFAzUXEreHhTaCs4S25nZVFWNGZ3SURBUUFCCm80SUNLakNDQWlZd0RnWURWUjBQQVFIL0JBUURBZ1dnTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQkJnZ3IKQmdFRkJRY0RBakFNQmdOVkhSTUJBZjhFQWpBQU1CMEdBMVVkRGdRV0JCU3hJcUdadzlsaE9jNW9KVHhDakJpVQpBaXRpL0RBZkJnTlZIU01FR0RBV2dCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekF6QmdnckJnRUZCUWNCCkFRUW5NQ1V3SXdZSUt3WUJCUVVITUFLR0YyaDBkSEE2THk5eU1UTXVhUzVzWlc1amNpNXZjbWN2TUNNR0ExVWQKRVFRY01CcUNHR0YxZEdobGJuUnBheTVoZEdoaGJHbGhjSEJ6TG5oNWVqQVRCZ05WSFNBRUREQUtNQWdHQm1lQgpEQUVDQVRBdkJnTlZIUjhFS0RBbU1DU2dJcUFnaGg1b2RIUndPaTh2Y2pFekxtTXViR1Z1WTNJdWIzSm5MekV5Ck9DNWpjbXd3Z2dFRkJnb3JCZ0VFQWRaNUFnUUNCSUgyQklIekFQRUFkd0JKbkp0cDNoMTg3UHcyM3MySFpLYTQKVzY4S2g0QVowVlZTKytucktkMzR3d0FBQVpxb1FuSnFBQUFFQXdCSU1FWUNJUUNibkhVME5SZmV3YldQbU9rNwpjZ2xiVm5YOHBuK3k3L3JndFd0Myt6cWlBUUloQU91b0JjelNKSVFKQ0ZxZWF2c285eUhXMkxmZFRVdk4rMk1nCmxmQ0I0M3RvQUhZQWxwZGt2MVZZbDYzM1E0ZG9Od2hDZCtud090WDJwUE0yYmtha1B3L0txY1lBQUFHYXFFSnkKdGdBQUJBTUFSekJGQWlBenNBT2RySlM5TmkrWHZaRmM3VVhHVThMeGRLVGFrQUJCT2IyVUUzZTU1QUloQUplQQozRnF2cTAwS0QvWlZqWGpFT25oNG45MjBIdkZwVVFIdzJqZVh6NXZGTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCCkFRQmw4NmdYYlhVdFBIMXhrVm5mZmxKRzkwUTBKcTMzK3FwOFRyaDQrSFNxT2tuTGN0QlROM25iemNLTjhnQUUKdEpFaG5GMDRXcGdMSXdvcEIxQUFKS3d6ZTkzQllXdk1KUm14QlpGTjNMM1VzV0lFK2liTXBLNlJZUzYxeWpGNgpFdXJTeGxJYmt6NEc2OEllNHlZbG13ZkwzYkNPVjF6a0JTSjQxS2EvWVd0WGZneCtxUHU2a3h6L1dTRTkzNkpzCjZiQ2NvL2RVazhrTDJMeDI0SEtVVUQyVmNsbVFyZFZaVlorZzczREFTNVJtUFFRUlAwT29BaDliSmNhWlZUdUoKRzVUR0JYSTR6VTU2eFFlY29YUzJuVFk5R3NDVEswcDJ5bWlRZjlRMDFlQ3lFK0pBNXF1eUwvTDRTTFhoN25KSwo4RGt3TEVXcmsvakcwbzRKdEYzd3prYUwKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdGakNDQlA2Z0F3SUJBZ0lTQlJkYzNHQjM2Zkp1bkpXQlgxdkRhRi9rTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRJeE1UWXdPVFV5V2hjTk1qWXdOREl4TVRZd09UVXhXakFqTVNFd0h3WURWUVFECkV4aGhkWFJvWlc1MGFXc3VZWFJvWVd4cFlYQndjeTU0ZVhvd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUMKRHdBd2dnSUtBb0lDQVFDeDFJOWc1MEMrd1F3TUV2L2RORGFoY2wrVDczdGJlclViNEprRk5MWEFyeVBBUVhFKwpHVTdnc1NHeWc0VlNPaUtRQ0xZNk5DOUtYZmZ6ZHpBV0dMNmJQY29mNVZBU3BjaUlPWERzR1pINjFMdnBVcjZrCjhXcHRmaEpUSW50Wnhqamp1K251cUZpb1VvRi9iYWZvMDFkS01aUS9VRzhZS2hnRzdTQm5OUHU3MURuTlVTZ3IKRDJ4aGUyWUtTTUpTelI3a1hnVWRCNlBVMmNtVVZRK2NQSjlRQTR4djVDTkV1cVJncEo1cTF4YUNiY0t5eCswVgpodjlQRnhONDhBbXNKS3Q5dm5YQkVNSURnc0EzVHVJZGQ2R0tQS24yS1VzV2xSam41Z2JZV2Q5Yk91YUc5c1E2CmNtZm1KZ2ViNXZoNWRscWdhblNldlB3L3dUTkxsbUFJVFlHTTZ0YWIwVm9tT2pBQ1llZ2R3bSs1S3c3L2JlWmUKVUN5UDRkMitocWJ5eHJlUTdxaFlYWjlhNnhhYy9raXBLR2hXZTAwZTdYYnB3UWRPKzIxS3FHaUpxb015Y2NnQQpYeTZHVEtZTitsL090R2NYNzVhTjhZWWNMTlZrOUV0d1phWlhMcUxEL0NFS3R3eFdsL2l6NnlMRTV5b2ttUEp1Cit5Y1BpSmNhbnFFL25pTFF1ZEpETnJtVTN5YUVqNFZsU3hFa1RaKzhEbElQMmhRc3Fuam5DTmQ3M2kraG1kS1kKWE5IT1gwN0gvTU0xRTJtREdXU0JLOVo1Sm4xeGxXZmRJb1h3cUhNb0ZUYlIyWjhvbFNiVy8yMkhnZnpzaTQxaQpZMkhVTFlxejRIVHFPb1JjTjZheWlBdHJsN2JOL0xnemRmNStHRFAzUXEreHhTaCs4S25nZVFWNGZ3SURBUUFCCm80SUNNakNDQWk0d0RnWURWUjBQQVFIL0JBUURBZ1dnTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQkJnZ3IKQmdFRkJRY0RBakFNQmdOVkhSTUJBZjhFQWpBQU1CMEdBMVVkRGdRV0JCU3hJcUdadzlsaE9jNW9KVHhDakJpVQpBaXRpL0RBZkJnTlZIU01FR0RBV2dCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekF6QmdnckJnRUZCUWNCCkFRUW5NQ1V3SXdZSUt3WUJCUVVITUFLR0YyaDBkSEE2THk5eU1UTXVhUzVzWlc1amNpNXZjbWN2TUNNR0ExVWQKRVFRY01CcUNHR0YxZEdobGJuUnBheTVoZEdoaGJHbGhjSEJ6TG5oNWVqQVRCZ05WSFNBRUREQUtNQWdHQm1lQgpEQUVDQVRBdkJnTlZIUjhFS0RBbU1DU2dJcUFnaGg1b2RIUndPaTh2Y2pFekxtTXViR1Z1WTNJdWIzSm5MekV3Ck1TNWpjbXd3Z2dFTkJnb3JCZ0VFQWRaNUFnUUNCSUgrQklIN0FQa0Fkd0NXbDJTL1ZWaVhyZmREaDJnM0NFSjMKNmZBNjFmYWs4elp1UnFRL0Q4cXB4Z0FBQVp2aGgxamJBQUFFQXdCSU1FWUNJUUN2TEhCOG9Kamc2R1d2dW5qSQpHUnZPMTdaZUN2VlZSc0t3ako4b0ZMMVFJUUloQUlPVC9ubFg5WWVOTWR1ZVpGbGFFTU9rMDRFZU45RVRGb245CkhweG5jcWRuQUg0QUdvdWRhVXBYbU1pWm9NcUl2ZlNQd0xSV1lNekRZQTBmY2ZScC84ZlJyS01BQUFHYjRZZGEKVkFBSUFBQUZBRHFKd0ZNRUF3QkhNRVVDSVFDQ2Izd0taUnJXVkJWcWVaREFmWEJTbFFHSXd5WGc2SFc2MDhIUgptQjV3a2dJZ0NnbGd2YUx2Nlg2b0FVUFF6NUVGYUFOWDFMVGgwTlBjK083RmpUNmdxMEV3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dFQkFDZjhleWZ5U0lhK2tTOFZ5TGRyM3p5dnJ5enEwSUVNMUVneXkyOWcyN1ZmeVJOOHMxUWEKQXZxN1V6STdtVDFHaEV5bUxyN3RzcW9Kc3pUKzhMeUNQeVZ2SEJMWXRDQ29oQmRzZFd3MmkrNXBoY1ZUWTlwYwpaWEdtNHI1bUMvVXRCVmFVTmdkR0FsSFNQV3RMU1Y3dlhIcXpqRlBtRjZ3UUJLM3FxK2dTenVZS0VoRDNMYjlrCjBvZlNUbHVxVVpDZkVrZy82UUtPNHhIWENrb0V4NHJzVFFLSmU4aUZPRk4vMW9yNjl1SUZLOHJqT2hjOCtIVUkKYTdWUmN1b2tSOUxWdFBBcDBSdVdHcFZBVGt4OTRlSjEzcU5sQVR2Tm9WNjFYNm1WMTB4QklnMWNPd3IwMzl4cApndkpsaFJTcUNLdC9wWGNtZERCNUczVFZhRWYyQ3gyc3prRT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKSndJQkFBS0NBZ0VBc2RTUFlPZEF2c0VNREJMLzNUUTJvWEpmays5N1czcTFHK0NaQlRTMXdLOGp3RUZ4ClBobE80TEVoc29PRlVqb2lrQWkyT2pRdlNsMzM4M2N3RmhpK216M0tIK1ZRRXFYSWlEbHc3Qm1SK3RTNzZWSysKcFBGcWJYNFNVeUo3V2NZNDQ3dnA3cWhZcUZLQmYyMm42Tk5YU2pHVVAxQnZHQ29ZQnUwZ1p6VDd1OVE1elZFbwpLdzlzWVh0bUNrakNVczBlNUY0RkhRZWoxTm5KbEZVUG5EeWZVQU9NYitRalJMcWtZS1NlYXRjV2dtM0Nzc2Z0CkZZYi9UeGNUZVBBSnJDU3JmYjUxd1JEQ0E0TEFOMDdpSFhlaGlqeXA5aWxMRnBVWTUrWUcyRm5mV3pybWh2YkUKT25KbjVpWUhtK2I0ZVhaYW9HcDBucno4UDhFelM1WmdDRTJCak9yV205RmFKam93QW1Ib0hjSnZ1U3NPLzIzbQpYbEFzaitIZHZvYW04c2Eza082b1dGMmZXdXNXblA1SXFTaG9WbnROSHUxMjZjRUhUdnR0U3Fob2lhcURNbkhJCkFGOHVoa3ltRGZwZnpyUm5GKytXamZHR0hDelZaUFJMY0dXbVZ5Nml3L3doQ3JjTVZwZjRzK3NpeE9jcUpKankKYnZzbkQ0aVhHcDZoUDU0aTBMblNRemE1bE44bWhJK0ZaVXNSSkUyZnZBNVNEOW9VTEtwNDV3alhlOTR2b1puUwptRnpSemw5T3gvekROUk5wZ3hsa2dTdldlU1o5Y1pWbjNTS0Y4S2h6S0JVMjBkbWZLSlVtMXY5dGg0SDg3SXVOClltTmgxQzJLcytCMDZqcUVYRGVtc29nTGE1ZTJ6Znk0TTNYK2ZoZ3o5MEt2c2NVb2Z2Q3A0SGtGZUg4Q0F3RUEKQVFLQ0FnQWEvdmJKTWpJTkEwZHQ2ZEIzNXo1SDRoSUtaamVtMm9qMTgzR25iYW9OMTBpcEhnWXY5QzJhUkttbAo3UHRuVVRZQUFhS1FVVzNBYjJWOXkyRThhWU0rRS9KRVIwNlJsaU5NTXRRbXMzY0t5aExBeC9QekhFY1kyaU8wCkJTOE9vTjN3REkzbDBoNnJadU1MMGp6RVJwa2d4VWdKR0kvVTdrYjVmalFHRnZBRVFxS0h2Y05JVGk0WTJsL1MKUGR0cU1JTjVEYURmR0ZMUnRFSTZ4M0w0TitmRGdOWm9BZzBzbU56dFl2QTlyZXRYMzR2SUVqdTJvZWpPTytXVAozWFRLY2tLcWN5aHpKN1VjVFZRYTBWbllPVm9IbjAvNTg2alhnOGpsSTNGMGxLZ290RmRjczhkMFMvdmozM0FXClJja0F2MnZnb0dpVjFJREN1UFN0aStXR1BTWG1Xb1V1OVBLKzRNdE1ncmRVUmtaeHcvb0VXekNNbU1SYWhVenMKV2MvOVlzRUloWmVzWXZrZDJ1dXZacVVERXVaaFJ3Y1Juck9oc2hRNFM4OVF2WC95UGNFNUxGL3JTZlVaSlN5SwpleWlIR1lncS96alJmT2xVc1pNVk92Y1V0N3RWZGp1T2ZJU2lGNTlCZ3NZOTU5bGlydTJEOUFybHNROFhMTVdDCnlVUnZNTHNiSEVMMFZ1RTRDZWNxalBhTjVOcjIzQmFReVhzOXdYbG5jSWYvNUNJTGJUZ1ZEKzVvOWxXUmI1MnIKM1ZKMGIxNkI5WWRpaXN4bnVrUmUyTHhsRE1ZQlFwbnZpM0Y3N05DTTFxc2NSTkFlV05ZaEExb1l2N2VDeTJRNQo5ckNoZDN3TGpXMGlxdFp0aWxkTEU5VE8rdC81Ukl1eEIyZGRLbVNrUE1ZYnZhWWhDUUtDQVFFQXdZblNWTTN1CmdaUDdoQmx6TmIrRzVncCt6eUNUWDF2UWN5TDJzaWVxRFpUSGhDcDZnZEprRGo4aG0zTEJtTXFvUFZaMzJMQlQKRFBDejdIZ1NrTldBWld3L0pMemhrelkxZzJLNE9JV01ZSmkzOGdSdW1kUnpzRDM4cHJXWEtjWGl5andlWGw4VApyKzF2Rm5CNVdHaGVpckY3NzRtSmlzNUR0WmhudVUzNFBtVlVBbndMTjMwclBiejNYcFdVK2hkVXl3Q0wvWGRmCnF0UTBGVDJ3ZWVybDNmakFvYTJLLytjTU5UelJERmRvYlEzUElOallsOXREMGpWYml6ZHEzeS9rckJ6SUJKaEYKMG9uOXVKVXpyUDFyek8xMzR5Z3BLS3VnTWdTVllHYTUvb1VmZHZrN2pFMEUwNGszT3Zrd0lJR2tKQUdkRHZudgpWNTFRSmRKeWI1c1RWUUtDQVFFQTZ6anZuZWN1bVMvbGQ0ZWZYZDFhaHpRekZqR1dHempGa01LMis2QXAyakNTClZjWGpqZVkyQ0NqQ056WGpwdkZHM29SM2JzMkdvUDkyc3c1UmtoMVNqMk8xWUZCUityYXl3NEhlNlpUVVlGU1QKVUhTeGdMMXRiNXBZaDFGMmp6Z0o3WEhzcUlLZjY4a0Nrdys4MlJoMW96T01QWGlaWU9OVHZYZEpaMG0vR041bQp5S0JpNjhUUTR3V01YVXR5UWhUQ0xod0o5T2pPL2Y4SEVqOS8xbUdtRE9NRGN1VnloTjB0bzVIOXA3amU1ZGF3Cm1XSHlSSCsxNnFjQmM3dUhkaE9pTnZsTk9FdlB4VExSbUNhZmw4eWlOSitoczJmUjN5M1hFYzU5OElMbXQ1OVcKQ01qWEpFU2JGWGVoOGxyNWtIQnJaaS9rb2pDVjhlSmxPcHZ0RFdoRWd3S0NBUUJxQWd5MEtNd2dLNmRUbHdFVgpDcUJnTnBWNDdIWHNnSVR2MjlIV2lZVkt4UmgzbXpEWkZSMTY5RGQ3UnVNbHhyTmFUWmQ5bUM4VlltNmE4clh3Cm9SRWYvS2VsZnRQcjU0QnVRODkySGloaTdLT3NxNkxOSGFKMGdhOTJ2UFpjaWlpTDcxd1BBdkxzcFJmNDZZaDkKMVVVYm9OV3F3ZUlWcHA5Tnczbms5UUVwWkNVYzYwYlZrUGp6YXlMdnF1MGNBMVdOai9JZDFwb1BId2FjTDlzUApISXZtQm8rMHZ6TG9zbXhzYUxCMG14ZjJ5OTZOTmxtRTdEUDgydjhXaFRkRG9wOFZhdnBnRWV3RXcxSzNIUHBlCkliMC9WVDhhckcvRytDTFo0c3JUTDlGbXlSSVAvN29QUWt5SGRaeEw4QnZkWWtVKzk2ZElnYndJZUlGakJoOXEKWkQyMUFvSUJBRGlIZUY2VVhvaUdFRG1IcUc4Z2NVOG81bFloR0pmMkx0UzVWc3htRTJqU1gzaXBsQ1JYL1FnOAo4MS9kWFphVFNaclVidmQ4QVN6VCtDelQ5aHFOWFhnRVdHU0xLUWg5dTd4c2k2dkxEcmNQM0U5cm0vVDZrVUJPCjhaT2pxa0NGRVMyMVFWREdBN1RnbS9QSHhuVE9BZ2QwcmZGZitFeG1sWXRsRFlqN0dpZloydzNBTGNYSGlRUG0KSTNPUVhDY3hZZkUrMzgyeDNYMEJPeXZSZ3VGOG1qRmlwVU9Kak5vTlpaaDN6MlB0Yy9QOGduaDZKNFQ2eERkZQpaMlR1M29FcitzSUhhOTFwcXNjVGpYZHBZTlZVWW04UEpnYzluaHhxb2RNdnN1aUlMUFpZSG84QjVXSmI4b0ZZClBOMUhxODVnbGc3NjE1RjY1NjQzNEdnVGJRYloxZzBDZ2dFQWNvNU1xcEl2d3RmRHh0VE5KekRGTEZaK1UzTFQKOXdBK1lJVlVieldhQnNPNWhTRkFud1lPY0RzS0YzYnN1RGNVRUxTWmR2L2NNNVJCQXlZbG1tWVRKSUJFbXNoMAphb09teG1KSCtmRXZvdlUxMHB0dGdSOG1Mei93SktxWmVodkFNbHlYdTZlUWxqSS9LeVE2cFVsaGcyMk9waE1BCmhrUkp0K2RrUmlVdFdCZHdSOGlYMG44TGtqcWRldG1JNEZvSHM0YnZ6NE1zdmJwbWRGV09ocFBMSkZpOUk2akYKblFyZ3VHY2JURDdHR3lwVm1mY0UybHVoempERWpidkRtMFFCM08zbWUzb0h2akQrK0Q1UWhTS1FlOTdvVVFHYQphbnlyblBrOFlXK1BPQnk4NGFXNUZHeUtOYS8yOU5Pdm00Q0s3ZlFSYkpzYTlkSk1IMUFKQlM3a1VRPT0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -371,7 +371,7 @@ "domain": { "main": "whoami.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCakNDQk82Z0F3SUJBZ0lTQmVzTGt1V1czYkV6aUk5STBnRk5CclFJTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05NalV4TVRJeE1qQXhNek0xV2hjTk1qWXdNakU1TWpBeE16TTBXakFnTVI0d0hBWURWUVFECkV4VjNhRzloYldrdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUUNzVVErb1RzSHZEZGVPUmYwMWFoM3pjZHk5TE53TXFZN3J3OG9lTVVHM2RGMHJQa2cvYTBPNQo2S3pQU1ZCSHU5dnhsbk1TdmJhdldDUWdyNWJGbjRaeGZHM1c1SlI3WERqb0ZyVWRnQkltMDFYdGQ3Q1FZcGVYCjNuczdTQklTUmE5M2xoNnk2cktEZ2dWazVrZlBVdGkrUUozWnJndmxRK1NhdXk1VmRLa29rOG9mNy9nRTdDcDUKSU9ZamwyalMzRWRMa0lBOS81STZqM2V6alg4dWlXSUhlTVVGemZXS2lEa2xPK28xOVI5cTh3ODFSL3R6Vy83SAplMTNFaWM0U0VCcytwcC9UaC92VXZaQXRjV1ZmZU1aSm9VSVpHUnVCNm9Dcy9VTDFITDZkNlNtVnV6QlZzMDB4ClMxSmxiZTd2UkRwWThKeVROb2RkMEdzbUVBanVEeTdadGRaVDRvNi9rNmxkK1FTNFBWNndaK2dBNkVMT3M0WFEKbXd5Rk5EUmNUL1JrYTVJMDRGSkQ3QkNNamNaMW81UHEzZU1tUC9WK3hWaXgvZlMrZmxhdE9xOEVHSlEzaS9NawpjQ2RIdHlxRzE2UUYrUHV2OWo4c3EydjZ0QXNpdlhDU1dmK1haQVg2aHhOaU52TDRBTEZ4MGlPV1V5YzczSDd4ClhmS0hKUCt5M3ZKaTZVYWw1NTh6MWhkZWprK2NGNTFpZG1MSnA2VFBrekVFYUE3REk2Z01sMWgyZmlMU09WSTIKMnhpZEJxR0ttemxBSWdubnJNN3ZNc2toYWQ2V3orNll4czZxM0NwRUJMejQ4aDlQTVJXdWRRZlhHZ2tBeENlRwpQY3Rwa2FvajJhQlJxUG5XLzlHNm0yVWxxMGtnRE1hdk1TWFRERE9YMjZ4R1YycVNIZHluNVFJREFRQUJvNElDCkpUQ0NBaUV3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJRMDI4cGlYYW5OYTkzQlZFa1VmMEdXSHR5QQp0akFmQmdOVkhTTUVHREFXZ0JRQXRTbnlMWTV2TWVpYlRLMTRQdnJjNlF6UjBqQXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRJdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZYZG9iMkZ0YVM1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdApCZ05WSFI4RUpqQWtNQ0tnSUtBZWhoeG9kSFJ3T2k4dmNqRXlMbU11YkdWdVkzSXViM0puTHprdVkzSnNNSUlCCkJRWUtLd1lCQkFIV2VRSUVBZ1NCOWdTQjh3RHhBSFlBeXpqM0ZZbDhoS0ZFWDF2QjNmdkpidkthV2MxSENta0YKaGJETEZNTVVXT2NBQUFHYXFFS09aUUFBQkFNQVJ6QkZBaUVBdDltREtZc1lQVE5ndnZMODhscWJZRGJrRDhYTgprYXFhb2gxUHpMMTJSTllDSUZtenViQnZzTlZSZ3Y2QnZ0WlV3K2FxTWJrdVA3UTVqd2dEcHpxVXc1WTBBSGNBClNaeWJhZDRkZk96OE50N05oMlNtdUZ1dkNvZUFHZEZWVXZ2cDZ5bmQrTU1BQUFHYXFFS09Wd0FBQkFNQVNEQkcKQWlFQXFucmYzeUh3cG9sbGJDRGJVKzZNUUVwUTZGU3IwRTVmZm8zc0todVd1UTBDSVFDak1wSlZHeE0zdVc2SgozK0VTNC9RTFdRaUJvOUs4c3paYjduZXZ2QzFZSURBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQWsxbW1rNkJnCnRkdjZyWGpLa2VqT3VsdStDT0Z1RDdTK0t4QjZ3MWVVQmN5SE1RbFlxVFlwNTZwZTM5ZE5SY1Q2UmpsRmJCQmIKV3FLQTF1cUFSZ1MwYWFIS2VSaktLUHVrS0hDVGd5MkUvanJtc0ZobWsxRWRKMVJWcnhob0wxdjJJeVhtVUZ6aQpwcGJHamNMQTFrQ0UrcHBhWW1JS1lNbUZCcENzR0VtWTQ0aXFncW84bjNNeDBaQmdsUFc2bDEvQXZkeTdUNXN3Cm5ZU2NRY0wzNkJNem5PSlFYeTVWdHQ3NlRhZVBOLzJoUjRaaktLWnlld0dQU0FDdlFFTWF0N1lYeXluT3ZiTXEKL0JjMGIrbENjNnl0emlSaU1ickVIcXI3ZTI2OE5oUitxVllaWXV2T3l4Szl0NkRnNk9DQWdxbkgraGFyQVFzcwpGd0JSTmtPZUcvQ3B0dz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdEVENDQlBXZ0F3SUJBZ0lTQlNpUHFVZndIbWZBS2VTRVE5d1ozUFJuTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRJeE1UWXdPVFUzV2hjTk1qWXdOREl4TVRZd09UVTJXakFnTVI0d0hBWURWUVFECkV4VjNhRzloYldrdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUUNzVVErb1RzSHZEZGVPUmYwMWFoM3pjZHk5TE53TXFZN3J3OG9lTVVHM2RGMHJQa2cvYTBPNQo2S3pQU1ZCSHU5dnhsbk1TdmJhdldDUWdyNWJGbjRaeGZHM1c1SlI3WERqb0ZyVWRnQkltMDFYdGQ3Q1FZcGVYCjNuczdTQklTUmE5M2xoNnk2cktEZ2dWazVrZlBVdGkrUUozWnJndmxRK1NhdXk1VmRLa29rOG9mNy9nRTdDcDUKSU9ZamwyalMzRWRMa0lBOS81STZqM2V6alg4dWlXSUhlTVVGemZXS2lEa2xPK28xOVI5cTh3ODFSL3R6Vy83SAplMTNFaWM0U0VCcytwcC9UaC92VXZaQXRjV1ZmZU1aSm9VSVpHUnVCNm9Dcy9VTDFITDZkNlNtVnV6QlZzMDB4ClMxSmxiZTd2UkRwWThKeVROb2RkMEdzbUVBanVEeTdadGRaVDRvNi9rNmxkK1FTNFBWNndaK2dBNkVMT3M0WFEKbXd5Rk5EUmNUL1JrYTVJMDRGSkQ3QkNNamNaMW81UHEzZU1tUC9WK3hWaXgvZlMrZmxhdE9xOEVHSlEzaS9NawpjQ2RIdHlxRzE2UUYrUHV2OWo4c3EydjZ0QXNpdlhDU1dmK1haQVg2aHhOaU52TDRBTEZ4MGlPV1V5YzczSDd4ClhmS0hKUCt5M3ZKaTZVYWw1NTh6MWhkZWprK2NGNTFpZG1MSnA2VFBrekVFYUE3REk2Z01sMWgyZmlMU09WSTIKMnhpZEJxR0ttemxBSWdubnJNN3ZNc2toYWQ2V3orNll4czZxM0NwRUJMejQ4aDlQTVJXdWRRZlhHZ2tBeENlRwpQY3Rwa2FvajJhQlJxUG5XLzlHNm0yVWxxMGtnRE1hdk1TWFRERE9YMjZ4R1YycVNIZHluNVFJREFRQUJvNElDCkxEQ0NBaWd3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJRMDI4cGlYYW5OYTkzQlZFa1VmMEdXSHR5QQp0akFmQmdOVkhTTUVHREFXZ0JUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRNdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZYZG9iMkZ0YVM1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdgpCZ05WSFI4RUtEQW1NQ1NnSXFBZ2hoNW9kSFJ3T2k4dmNqRXpMbU11YkdWdVkzSXViM0puTHpFd05DNWpjbXd3CmdnRUtCZ29yQmdFRUFkWjVBZ1FDQklIN0JJSDRBUFlBZlFCeGZwWHp3amlLYmJIamhFazlNZUZhcVdJSWRpMUMKQU9BRkROQm50YVpoNGdBQUFadmhoMit3QUFnQUFBVUFCM3VOQVFRREFFWXdSQUlnZkU5T3BJSWhTVTdGT295Ygo4WlQ1M0xTRDFla3d6akpFZWt1T201MEZpTEVDSUZWY0NCRzAvT0xxTVFoVktRL1N6SWFicDFwOHQ3elU3NStTCkY1dDJHNVpHQUhVQXl6ajNGWWw4aEtGRVgxdkIzZnZKYnZLYVdjMUhDbWtGaGJETEZNTVVXT2NBQUFHYjRZZDIKdXdBQUJBTUFSakJFQWlBWVFBUkRFd3RlcWNhVXFhcDhsR0NDaThhbk5UdjhJeFk0aFliRm5uaElOZ0lnZFBEZApyWWtrdTBhTitEUDJuYTA5bjF0UXQxM0F1YlhMekRGdGJlZy94ZG93RFFZSktvWklodmNOQVFFTEJRQURnZ0VCCkFEVGp5ZGtmT2NZb3BqZ2FDWmF0VjBNbGlqWlQ0WHUxelRxYWYrSTdRZmNFQ0hyTTBFeEVYL3BEcVA2Qkp0YkQKbDgyTVlDakp1YTlqaUVaSTB6ekRuWXJoQTQ4UnUrQ2lZVXNQbFdoR0w1UjFlWnBaQ0xXL0EwOHFSdVpZWWpGKwpoRjVOWjhQNjNHOERGd0R5MGlZaWd4NVZrT2hNNmtqWkdmeWcyUEoyMVpudE50QzR6MlR0WjZXckYwa2NxM1huCm4zcmhWRnNFb1lIeDcxdUJnZ1JEeUhzSlZrTnZaU09CdTBGS3BKcW84TlVCT04zN0hwTGNzN2VIRVNHZkk3UlMKc3JEajlhZldJT3ZWYnZpRzJmdTFGbFR4Ymh0clc3a3dFMHkzYm9xV2dlVVIwVUhTcXZQNHo3NFEzaFYzcldDSApvajJscms1QVJQamtONWFzQnUrMkNkbz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBckZFUHFFN0I3dzNYamtYOU5Xb2Q4M0hjdlN6Y0RLbU82OFBLSGpGQnQzUmRLejVJClAydER1ZWlzejBsUVI3dmI4Wlp6RXIyMnIxZ2tJSytXeForR2NYeHQxdVNVZTF3NDZCYTFIWUFTSnROVjdYZXcKa0dLWGw5NTdPMGdTRWtXdmQ1WWVzdXF5ZzRJRlpPWkh6MUxZdmtDZDJhNEw1VVBrbXJzdVZYU3BLSlBLSCsvNApCT3dxZVNEbUk1ZG8wdHhIUzVDQVBmK1NPbzkzczQxL0xvbGlCM2pGQmMzMWlvZzVKVHZxTmZVZmF2TVBOVWY3CmMxdit4M3RkeEluT0VoQWJQcWFmMDRmNzFMMlFMWEZsWDNqR1NhRkNHUmtiZ2VxQXJQMUM5UnkrbmVrcGxic3cKVmJOTk1VdFNaVzN1NzBRNldQQ2NremFIWGRCckpoQUk3Zzh1MmJYV1UrS092NU9wWGZrRXVEMWVzR2ZvQU9oQwp6ck9GMEpzTWhUUTBYRS8wWkd1U05PQlNRK3dRakkzR2RhT1Q2dDNqSmovMWZzVllzZjMwdm41V3JUcXZCQmlVCk40dnpKSEFuUjdjcWh0ZWtCZmo3ci9ZL0xLdHIrclFMSXIxd2tsbi9sMlFGK29jVFlqYnkrQUN4Y2RJamxsTW4KTzl4KzhWM3loeVQvc3Q3eVl1bEdwZWVmTTlZWFhvNVBuQmVkWW5aaXlhZWt6NU14QkdnT3d5T29ESmRZZG40aQowamxTTnRzWW5RYWhpcHM1UUNJSjU2ek83ekxKSVduZWxzL3VtTWJPcXR3cVJBUzgrUElmVHpFVnJuVUgxeG9KCkFNUW5oajNMYVpHcUk5bWdVYWo1MXYvUnVwdGxKYXRKSUF6R3J6RWwwd3d6bDl1c1JsZHFraDNjcCtVQ0F3RUEKQVFLQ0FnQkJoYkZHZG13WDBsT2NyZEJTZHo5Y1NuZDlGNG0wNXVTSmtiRlJPYm1iWUl2czNZbnJVNFkxTXR4RApGY1dKQVUzbzF5UjZnOWpyWThDWkRTdHZpZkU5UmVzZVExeVNhOGJYdVlxMDVQWUIvV28zR2NQeG93dXhtOCtRCkF4K2NBeE50alkrdXlMK0ljZkJMSmFVNG1IQUNKOS9kM2VoNERSRG9KVFRCR2RNWXN0bXd1emE3NkhGZURieDAKM0NYbnlBcjBHTVlxelB0MWVRZ3pKaUt1TjE4bktDMEN3QVlWM3lhYm1lUzlEN0Fhb3NHdHFPbGNQQ2J0QTJQcwpUOW9qMUN3SDdxUG5jMVcyMXozemlhTGFZcnBEVlNZbEZQNzRyNHF1UEw4eEpQVDJacXFCWE9STU1obXdITXYvCjlZVmRSYnhLQlhRRUpqL2kxRlZwNjc3NWhweHhYQjU1cSt6OURHMXJhQnZnU2l1K3MrT1BWSVJlcEJMWW84WnMKV3l0dDd0cXlrQTJ1cjZQWHJaT0lYdFYyVWVOUDFsM3NTeFJVRCtjU0RmcGJOYXdUMktKNENuZE9nS3BITWxzRwphMGdTbVk5NzdNV1g3MnZPUG0vOUFyc2g3ZGVTdjIrNVZlZExVRHkzY3JLVnVxWXdCTGs2SzR2dVh4M0RtTFFYClc5MUx6UGlTN0VvclpoYXU3RVM4Z2xDTU85ZDZrRWlYaThWMzhtOTZDR25BUzVvbVhDTFR1U1lmc0ViYzhaRnEKaEJ6aFhiR1Y5VVNubkllaHJKYXBxRkozbjBUdVZWQUlHcVdLd2F5NitNUjhheHZ6eVg1bTZDdHJRRTNkbmpYUwpFUUpRQ2Z3OTc1bzNudWJRUmZ1b1Y4R3Y3L0ZqcFQ2NE9XcDZra3orSWt1d2EvMGVBUUtDQVFFQXd1UzdRNjdHCk1rTGF4R2FmNzFUZ2d6dlFBekZ6RkQyV242RVQ2a0lSWDJxQ2djYTdHYTdoZXNEeVFZZzNCclJKZEJwUUxtMTcKRE0vZ21aeFRHWS9vdURmVWFXKzl6TURCcmdUOXNoWklrQ2RhbVArcXlGeWNlT2srNTVNOTloU3J1Y20rVWRPZQpnUm1xWTZsYnE0ZXJYWDEyZ2kxcHB5ajFxVXpaTUtHcUwvWTJqQVVmSTFCa0M1VjFVeWpWTnJEUUtWU01TOTFlCmptWk4xdlpKN2xGV0czV1ZRb3djZnhiYWxPTjlsRXNIckdtS05HeGxLMkVlRzJnTmtWYitTenkxSEZNa3FtNXgKbkFCelZXNFBlUXFwVHowRVZ5YzlWVlc3Nk80ZEVwa2g1RWJFbWNDeVozVll4Kzlwc2U5aUd2TkxjZWJvMHA4RgpqNHBYd1kxdFJaUzRrUUtDQVFFQTRsZ3U2SnRYWWgxZkVnYWdxcDM2b2RXcEM2ZmlldHdiZ2FKVzVFbk9hSzhECnZwQm1LV1ZzOG8xQzFMQnREWWVZUmc3VUt3QnI0cW1CdEcyeFZNSVJUV1NHRndkS2FPV0x6VjdFa25NRm8yMm4KNFNrWElEUkc4d0JiSDZMVDFzdEF0V05lajRUdzNJNFB4R1E3eTh1UTdMU1pqLzBXdDdmQXk5TjBiVXI0aldqUgovc2FBYjZOVGxRMEo4eHR6VmVvZlZGWmw2WDVDcXlMWmZ1VHYvVzNlUnpIYjdxVitoRld3QTZmNUFxaFBOcHZsCjJrYUNrMXBHa2RRUnpUcHRNS2czWXlvYmZrVXRKYTRzb2pSSENaQ1VMQmtPci9TMmFPUU9hMWptTU1pQzhRaEYKMlhsVitjT0h2c3FsZ01Scksyd2hoWWR0SkJwVERMRVhHK0swVnZORUZRS0NBUUFzTTlTRk5VNmVkNnRHZ0VBbAorQW96dVkwa0xFTDloRHAxV2dNNlRtSENVbFhuT1R1V1I2TzhRNmF1Vmtha3JwODZSZjJKaWlzdWJMZDBINUI1CmE3cE1qZDBQVE5pdlo4aUZ2M3dLdUNNZERzL3RnNDhvZ2xpNjA2d0F1ZFNEeTR4blJ1cHpoSnVlakVPbzl2QmoKcHhHbTBwM2VTSTU5Nnp4TWViR0k1aUhEWHdSZ0hZbENhU2xIdDA0MDNqMzllWHk4NHdBdTlMWk5kY2FSeXFwWgo4dmlrb2JhSXNWNkZOSm0reXhuZ1dHUVZKcHJCNlJQSkV1M1JLWGhxVG1DK2o3WkVCbGQ2a0RJVVA4WG95bDJZCkJtTUFKY2FtUGJBYmVxWnozZzJaK2tGRmxRZGlGK0pldEs2K0tmNis3SnhEb0lxcitzTXpnZjJ3NEorbXRuemkKR3lrQkFvSUJBR3pINXR1QjlQQkJuM1JoWFF4QzJyYTJvZ1RwRGM3d1JBUDhpbmd6QkpHSk0ycDlxYXZSaEJmYQpUams4QlYxUVFwM0ErTFVtQWJPd3RaYUtkWVIvdEtNV1lkOWxjSnlUWGFvNUZvNHYyNURjM2FjNEFWWkg2YVZXCkVYVlY0eXZEQ1hsanBZbWlZY1FPUG9PcmpKVjRZMUZ2eHJITitBSVp2UDM0eFdiVmRqazRIRnl1K0FFdlpMY28KeWhSZHFBT3RmcHNnM3QvbC81S1NNQ2R0VGUzbHhNTkFzaXV5dStoTDZra0hqSVI3Y1g2VVZGYWdOcGNzOXVlVgpIVzBkM0daYklpdDFqRHNXY2drKytWS0hmM0NZWEs0STZPY2wzQmp6S2Y3cmZjNEtQK3dwaHJCclFTZkZrbExlCnY4WHdJSFdCQldkUVcrTFRDQUQ4aDFldWorK09BTFVDZ2dFQkFJUHlkYnhneVhIWlRmVVRsaC9FWjc1NytGS3IKbWU5LzJFd3U2ek5jUzZOVVVjWlVXcGZ3LzY2ZC9ReSs2bnJYTGx0cEFMRGxmTmZsMjBPQzYxWWtwRFU4d0xFVQpST0V2SFBYRm4wamlnZW5FOWxuZFNOZ0RVUGhwajhxazI3WGZWZG8vb2NFR1p4M1FxTVEwNXRqdnNKZ2hXdldICkUxNzY3bEtYVlVKc3c1ZHY4RkpYa3Y0NFRjVDR2WVB6NEFFb0Z2bzV2SWVYbmRqeVV1WU1lNnY0NDRlbUo1RGcKVG1yMGI4NDg4UGVhMG8wVm1pajEyZEtrTVdLQlN4K2laL25uN3NQQnJIWHFpNm84MFhoQUVXNHZYTmR4QUUvTQptQXAvOGNnR2RFNWoxaXJzaWRIbHVaUnF3ZUdibWdEOHZTL3VWMVFmZ0x6WTdYNXYwcmRMZ3RqQlo2Zz0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -379,7 +379,7 @@ "domain": { "main": "diyhue.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCRENDQk95Z0F3SUJBZ0lTQmU0TnVoWVpKd2RmdVJHYTZ1YVlHMjZoTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXhNelF5V2hjTk1qWXdNakU1TWpBeE16UXhXakFnTVI0d0hBWURWUVFECkV4VmthWGxvZFdVdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUURDWkdQeGNSck9obU90V0pzWk9uVlBLR3hHWE5BVlFIS0hGWVZhd2FseFNDZm90N1kzMmFRaApCMm0zeUsvQm82M01XanhYUXY3bXRKeE1nSG8wREhRL2RzOWJnbFpaUHpONzVMdW1uYXRUK0t3ZXlPY1RxcC9rCnVVUEIxbnVqaGxHaURGSG1QZVkxcTBHL2d0WU9rNVAzbzdzVlkvYldxd2NjRm1QRGxmd3BLYm4rTkRoMEo0REcKVklDS3RpTDNaZnVmTFZhV0dPU2h0c09VTURZekRNK2hWT1FKRUpLMVhmcWpEWkJ5Zjk3UktCOEFRMU5uRm5OSgpPMDhxeG4waEZaS3pXY1FseVhRKzJkbmlCelJqUjE1enJQWTRUODVWbmpLa2s0Wm5aRjhQTkNJUXloNXNYNmorCnlCNktwVlJyeUt0YTBSSVhWaUhCMlZDSEQwdmdDd2xRSExqbDZ2WXVWNkZqSitEWWNyeUlMS1ViTGNEKzNvZDQKQ2F2dDFScUtHREloaC9tcWp3Z2tXZTBLUE5TYjEwVHRiZDBDYUE5a2J1YzRUMHQ2OXF1bTdVYXdnWmYzRU1xdQpuVitrNFlOVERpc1dERExvYlV3cXdSUzArclAvcm5GZ3dKVFpCVzFqL2JoRjBSQzZQUSs2bkg2Sjh3bFN1aGpaCnlQK0lMVVFieE50aTFsbXlldE9KSkJWVW9VRG5XZ0NXNnlWSkVTWlFSYlR2bW5mNFMyM0k3SnFVeWh3SUlWLysKS0ZybDhuYlc2eUJiOWt1cTJGVnlNeGRoWDVGL1Q2MzdTNTFEZzFTK2syOGtFbndSNVRlbHZSdUd5S1lCOWFBcgphVWcwbzZtUmtTV3NMMlVvcDdDUmM2UUJmY0VUb0R6bjQwSkpCZ3VreFhUMng5N3BvR2ZuTHdJREFRQUJvNElDCkl6Q0NBaDh3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJTOU9UaTFZbFRZbnA3aG5RcUlrSXllRUJOdwpBakFmQmdOVkhTTUVHREFXZ0JUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRNdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZXUnBlV2gxWlM1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdQpCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dmNqRXpMbU11YkdWdVkzSXViM0puTHpNMExtTnliRENDCkFRSUdDaXNHQVFRQjFua0NCQUlFZ2ZNRWdmQUE3Z0IxQUdRUnhHeWtFdXluaVJ5aUFpNEF2S3RQS0FmVUhqVW4KcStyKzFRUEpmYzN3QUFBQm1xaENxUGtBQUFRREFFWXdSQUlnZjZjZDFHUkRFbWNvdGxFbjhCVjh5RGwwckJWaQp4N2ZkR3lQZjM2T0NhVThDSUVMUE1vSU1DTGFVTVlNT05lbllYbHU2T1ZkTzBHUUU1YTU1Um92U1BUSzlBSFVBCkRsZVV2UE91cVQ0ekd5eVpCN1Aza04rYndqMXhNaVhkSWFrbHJHSEZUaUVBQUFHYXFFS3d6Z0FBQkFNQVJqQkUKQWlCNFpkVkhYa3ROTnRVeU14eW9YL2I0V3VSL01rMHJZUjNyNGkvNHhwS1c3Z0lnR3dnMVExV1VsV2tVQVZsdApXbnJvWVhXdk8rcUNNbDhuRmRVZFdmdTE1aEl3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUtKQmRBcDBUUlMvCjQ0OStZMU5XVDd2OWJrQ2VtNm9kWThFNEJSbXpBUURTcW43QWpmdTIwbDhEQkdmbUhxcFBhZktySjFpdG5PWXAKc1duQlBnb3hpSC9zdnMzOVBPb09FNkQ1ZGJmL0hQUjg3bmRZZmJrTTlMY2p0UTZLNDNwM3I4WU1WeGdxTFJZYgoxVHd3ZGloTnVkS0FmbnlLYVRPUnZJa05XZWpqRjJ0ek9CdUpncDJ6S29HOGpwV0RlR09wZ1RkVzJsZWJOOU5DCkQ0T3h4V2wzTWlLTFMzdmpSTkpDMkFubWI4Y3piYzZqTjhIOS9aelJJaEU4VytSck9CVXNNUndPYTRFT2VYMlMKM09SWkZDYitZRlJEcVhZeTlORlFaNzVLNHVZeTVwTEJ5WE1HZUVXK29HdGRrNzYvamRpOGdwOVZoc29jKzNOSApqd0tGVlJSSzZQYz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdEekNDQlBlZ0F3SUJBZ0lTQlFmbzEyS2tadEZUZ3EzWHpvQmJSOU15TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXhNREEzV2hjTk1qWXdOREl4TVRZeE1EQTJXakFnTVI0d0hBWURWUVFECkV4VmthWGxvZFdVdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUURDWkdQeGNSck9obU90V0pzWk9uVlBLR3hHWE5BVlFIS0hGWVZhd2FseFNDZm90N1kzMmFRaApCMm0zeUsvQm82M01XanhYUXY3bXRKeE1nSG8wREhRL2RzOWJnbFpaUHpONzVMdW1uYXRUK0t3ZXlPY1RxcC9rCnVVUEIxbnVqaGxHaURGSG1QZVkxcTBHL2d0WU9rNVAzbzdzVlkvYldxd2NjRm1QRGxmd3BLYm4rTkRoMEo0REcKVklDS3RpTDNaZnVmTFZhV0dPU2h0c09VTURZekRNK2hWT1FKRUpLMVhmcWpEWkJ5Zjk3UktCOEFRMU5uRm5OSgpPMDhxeG4waEZaS3pXY1FseVhRKzJkbmlCelJqUjE1enJQWTRUODVWbmpLa2s0Wm5aRjhQTkNJUXloNXNYNmorCnlCNktwVlJyeUt0YTBSSVhWaUhCMlZDSEQwdmdDd2xRSExqbDZ2WXVWNkZqSitEWWNyeUlMS1ViTGNEKzNvZDQKQ2F2dDFScUtHREloaC9tcWp3Z2tXZTBLUE5TYjEwVHRiZDBDYUE5a2J1YzRUMHQ2OXF1bTdVYXdnWmYzRU1xdQpuVitrNFlOVERpc1dERExvYlV3cXdSUzArclAvcm5GZ3dKVFpCVzFqL2JoRjBSQzZQUSs2bkg2Sjh3bFN1aGpaCnlQK0lMVVFieE50aTFsbXlldE9KSkJWVW9VRG5XZ0NXNnlWSkVTWlFSYlR2bW5mNFMyM0k3SnFVeWh3SUlWLysKS0ZybDhuYlc2eUJiOWt1cTJGVnlNeGRoWDVGL1Q2MzdTNTFEZzFTK2syOGtFbndSNVRlbHZSdUd5S1lCOWFBcgphVWcwbzZtUmtTV3NMMlVvcDdDUmM2UUJmY0VUb0R6bjQwSkpCZ3VreFhUMng5N3BvR2ZuTHdJREFRQUJvNElDCkxqQ0NBaW93RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJTOU9UaTFZbFRZbnA3aG5RcUlrSXllRUJOdwpBakFmQmdOVkhTTUVHREFXZ0JRQXRTbnlMWTV2TWVpYlRLMTRQdnJjNlF6UjBqQXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRJdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZXUnBlV2gxWlM1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdQpCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dmNqRXlMbU11YkdWdVkzSXViM0puTHpVeExtTnliRENDCkFRMEdDaXNHQVFRQjFua0NCQUlFZ2Y0RWdmc0ErUUIvQUhGK2xmUENPSXB0c2VPRVNUMHg0VnFwWWdoMkxVSUEKNEFVTTBHZTFwbUhpQUFBQm0rR0hsc0VBQ0FBQUJRQUhlNDJGQkFNQVNEQkdBaUVBaHhZWXdzN09DdzAvcFNQSgpIMmZvU09Gbjl2Kyt4TkpDcGk0L3lDTVg3aHdDSVFEaVBDbElRMjZkSnZxTlZpcjluU2kzZU45YU9DaWZhQkNzClJmbTRLRTFnbGdCMkFHUVJ4R3lrRXV5bmlSeWlBaTRBdkt0UEtBZlVIalVucStyKzFRUEpmYzN3QUFBQm0rR0gKbmRnQUFBUURBRWN3UlFJZ0tPb0RVYWRtMVFETU5QVXhFSFdZMVIza0pQMFJmUkhmSUl4dXY4NHd6RDRDSVFEYwpmb3VEK1dXV3pBRTg2UGVHT3FlSGZMaWhCVlJUR01nMDBCUHFZODhkQmpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DCkFRRUFQcU5jaEtTSmlrNU8xN2lzL0lOTVVKUENJTFgrcGw2ejFpMUdOSUI3dTFXS3BKQW9EUjZzbzZ1T3FqQkIKQzMxa3U4KytIQVRXZDVacGpjRmpMTCtQazUxNlY2ZG53MEhwSzNIQnZZclBVZW55T2VXZUcwTEhmNW9IYUN2dwp6am1KYk1xanZhby9HSVRDam0vYWhrZklkOFVlY3NuRmtRWWFONndkamY4L2wwV1drd3B1bTRpVXFyTVpDZUZDCjBYbHcrVnlIOExXN1g2a3lQMGFaUVAvSzIwS0FlM3ZjbzI0N1E0aTJZc0Eyem82azM2eDdEWTBvWmJFbFJZYmwKaVl1eHpaS3FuSzh2WVFZdkxmVmJaS2hHYUJzWU5LMC9CemlERmYzMUJmcEtUdTR2WFZqbFF4MFFSdmp0MnFvSApZRXFqdmMzVm5VWlVqRWRndnltMzVnWWpsUT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBd21SajhYRWF6b1pqclZpYkdUcDFUeWhzUmx6UUZVQnloeFdGV3NHcGNVZ242TGUyCk45bWtJUWRwdDhpdndhT3R6Rm84VjBMKzVyU2NUSUI2TkF4MFAzYlBXNEpXV1Q4emUrUzdwcDJyVS9pc0hzam4KRTZxZjVMbER3ZFo3bzRaUm9neFI1ajNtTmF0QnY0TFdEcE9UOTZPN0ZXUDIxcXNISEJaanc1WDhLU201L2pRNApkQ2VBeGxTQWlyWWk5Mlg3bnkxV2xoamtvYmJEbERBMk13elBvVlRrQ1JDU3RWMzZvdzJRY24vZTBTZ2ZBRU5UClp4WnpTVHRQS3NaOUlSV1NzMW5FSmNsMFB0blo0Z2MwWTBkZWM2ejJPRS9PVlo0eXBKT0daMlJmRHpRaUVNb2UKYkYrby9zZ2VpcVZVYThpcld0RVNGMVlod2RsUWh3OUw0QXNKVUJ5NDVlcjJMbGVoWXlmZzJISzhpQ3lsR3kzQQovdDZIZUFtcjdkVWFpaGd5SVlmNXFvOElKRm50Q2p6VW05ZEU3VzNkQW1nUFpHN25PRTlMZXZhcnB1MUdzSUdYCjl4REtycDFmcE9HRFV3NHJGZ3d5NkcxTUtzRVV0UHF6LzY1eFlNQ1UyUVZ0WS8yNFJkRVF1ajBQdXB4K2lmTUoKVXJvWTJjai9pQzFFRzhUYll0WlpzbnJUaVNRVlZLRkE1MW9BbHVzbFNSRW1VRVcwNzVwMytFdHR5T3lhbE1vYwpDQ0ZmL2loYTVmSjIxdXNnVy9aTHF0aFZjak1YWVYrUmYwK3QrMHVkUTROVXZwTnZKQko4RWVVM3BiMGJoc2ltCkFmV2dLMmxJTktPcGtaRWxyQzlsS0tld2tYT2tBWDNCRTZBODUrTkNTUVlMcE1WMDlzZmU2YUJuNXk4Q0F3RUEKQVFLQ0FnQXRDbmZCekxRcVlDY2VWaVp4dlFMTFdaRms2RUpxZWlsUE5XUlZ1QU9idE4xU1phYTU0QnJRY0ZoRgpkaUdMRzNLOG83ZlJmRHQxbHltVDdEemtiSEpPOWlkcmk1S1lVVFdMb2w3OFp4SDRmZWpicFM4dGRsNWY3N0ZNCmEzYndWOEg0YXlSYTFjTE9jcVRrUzl0dk96Q1FzNFk0bVpYcS9XdkRUVWpHVzYwMm1HMTVBZjZHbzFTS0g3QTgKODZDOGRBdk9RUUlMK3k2V2JiTjVWWVpwWTdHRUx4ZzdKWFRvd3lLOHZ2cldITnl5MTduL0pKcGhpMmtnOGJZUgpNalp5QVA2aHdjM1o5NGlRdTRkcGdNUFpzUUtvaU0zd0ZFVzV2dEw3SVJlR1ExSm5RbXdXT2M2OHk1bHJsMURFClRUUjNXT0tqUTBnTzBpMDJMalVqWmg3dGhZRWRmNGNZR3YxSktrUERxdFNhT0FFNjZ6SWxxRU5VOXI0T1BROXoKVUpFQU1iYXFpSHhXWFFtcWVRak5QQ2NzOUF2Uk1oeGhGMmpxZ2hMRThLNUNsbUQ3S1JNbjNRZjVXNHVtMVArNgpOSWd4cFdKWDA5TkhSZ1h3anhHVm1YV05xeFhMbERVTzExMHBEa0ZjR1VlbXIvKy9WZ3FWdm1TK09WVld1NG10CjQ0MjkxUlBpcWZSWXpWUHVrYTExQWZRT1cxa2pvOEdGRTFNcDN3a3pSRDd0ZThrVlppc1hkdjhSckJzSzMveEgKVGU5K3dSK3FOZVFDanRuZDBhVWZaSzJ0OFRhMm8rK2dqUURjTUpKV0JKblNBMTZEUGtzZWRoeXlWRU5RemR0cgpmRXM4YkRaTFlhcGNmVElSTmFtWEhkRG5WWVdhQkE1Y1ZJcXQ4VGMrQVdmeU5wVGIyUUtDQVFFQS8yWEtPM0I5CnZzb3lyTFNRT0l0Rk9tcHEvQ09tTTRORjAvWlNwczZRSWtwU2Y2c2g3Y1BMSGlyM2Y1OXFoZk12bCtHU0lDdmgKYWQvQkhBT1pRUTNITGV0cGlMbTVPMVBxYXZ4OWRjcTJwbktheEY5VlpPOE9mYzJLR00zUHA5Q0pRTHpvSFBZQgpKcEdJY3dFc01hZFJPanpRMnJUOTZYamdrMjFLMzhSbjllQzJ2T1dxZ3I1Umg1RmhhUGFQRzJQRU9Ub0phSDFECnpvalBsSjNmUVNqN3lOdExzRjk2d2pseFFHS3pES0ppY1dVdisxYzRaWU1uQzN5K2NzazRZR3RwbnFPNHFLTloKbjhmOFlhcWdjdDhnZkQwaTdrVmlxMkt6UWtlNnhrSXJWQ0VJdDJLajRKdW0zMFZTaUw5ZkxuZDhXd2Izbmp6dwpPajZQZ2Z6TEEzQ3lIUUtDQVFFQXd0bkQzZllpa2RocjFLdm02STRKVlN3T3JoM2JVbkN6Qm9ickFiZUtDa3BDCmRqRzVnNVFIL3djOWRieVZXb3QrMmxKeGNwZC9RcVNvQkFGb1dYVU14cmZ2RlpraGlUN1NuZS9KUXFXQnl0VlgKRlA3ZHJaZTM2MS9GSDFBZ001M1FHUzROLzhndTExQWE1K0tjS1VZekdpdUtZVHc2MFVYY3hVajdKU1V1YUlpSwovZGFrV3pNdFRPaHpTZkRBaXZVY3lucThlOHVTZEpkK1NoZkZpeWxBUTRTRnJDbWQ5UzVzZkg0UnQxWTlJbnJtCmtFQ09oVXFldHdGb0c2NmYzY1EzR1gxdjNxR0c2alFFU2RTdndOMXNyVGEzbGlXK2VyY0pYdUtESkZtbHZOaUsKL1pZRFlKOHJCS3RZQnNyVHZuSWcrTUhwWTRJZjZ6eWUzTGdoZ1FNOHV3S0NBUUJnVm5RblliSjlFbVoxRVJOSgowUGNISnZjK0x2QlZoQklGOTJlTDltVVdHalR1Wlk1QjB0WStoZlNnRm5FbkgrbDNBQ2FQcmgyMFF5dmp0bFBMCjN6ZWYwYW9ZWWY1R0s4eEVHUVAyTjhZWUdTamFKQi9oRisrK2NwYkI3bmlERTcyQ1J2L0RWT1J3T1B0Z2JqUE8KY3cvSHlRTDdUTVJ1bWlNVVdXaWg2Y05SVXpkN0g2TG0rSVZtZnVkZ29ZaXZ5ejFNWE9FSm9oNit2SXFZdzhoZwpHdWFIQ0htUGlTU1VPUGpJVWJLNmRGSnY5YnhZc2JqYlNkS2ptYVY1UlAvWUZ3eGJRK1MyOEE4eG4wMUxSZ0tKCjhqS2R5cTN2ZFFyWUhUNERKVzJGdFpZRWdRVjVyMktqcWZNVFMySHJwVXh4Q2E5RjR1WHFzWS9vV0lybmZJVFQKd21IZEFvSUJBQlhyQVFsYXdwQzlVNFBjd21DdWVZWkhLbStUbERRMTBTMk94Nml0eUsxWHBSbytoYXV6WHlMawo0Wmo0MmFRUnhQY3lCdWpvK2J1NVlkenhlNWQwZnpkclFVMmdxQkVVTEFUd0VDZWJEbnFPZlBrem9pUUF5UU9GCkJsdDdXK1B5Z0pJVWlDYVprZ3RPUzNpQ0dTYmJhcXdxOGFuMmFIZFo4SGVRdWc5M216ek8vek9Halg1a3gxZTcKWGh5WEpGRjlPUHZkeW8zeVhFc1pMMitPTlA1dWFYZ3UxQXFGcytyOGlkK0hIdDhNcUZ2VWoxTHlzQlYyUzF3eQpvRTljMlViTTU1WEtjbWNNckd4ejVYZVlvUnlFeTlEQU11NkUyR1JkYW9SdDNtcWNXdlJmTjJOSEdLSXB4V0VGCkZTWE9jdnNkUTNBMy85VGRzbEYzeERiM3oyei92RGtDZ2dFQkFPZkhNQ2YwQ29KQjNuMHhsRlk5aVJnZ0Q0WDAKaWlCb05EUVlwUHhEOEtHSU50NnJrS2JzWFZlVnBzeHJDL2tBRDJidjNlWUtpbWJUeFNZN0k5cTgzVzFXa3RBSgp5ak1oWmJORHBlOHdWNkN0MWYydDJ1djZGSC9wWU9nd2xlOFh0ZkpEdktDcWo2aS9pRjA1TkFKRUgreERzWlROCnk5ek9sZ01aRzhYTEFLNTF2WldSaDlYNFNtMkRqTXY3azV5dWlsdThmbGJzOVVQMkVPdU9CcGdLOGZtYlB6YWsKTzJWUWJ1WTJXa0JjdWxzVTdMZzlmOVFNRWNCWWJEZHVSRHpyZlpKemhITEJjaHZoRmZsQVprQmVtOEJJRGpRcwowYmNRZm0zOXVSZnVIemsrN3lFMktSYzdNc3M1cC9YaWFLRVZaQWNNczdhVzdzVWUveU5kMmljYksybz0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -387,7 +387,7 @@ "domain": { "main": "homarr.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCekNDQk8rZ0F3SUJBZ0lTQlpiM21La0lUSTgxT3BkVDd6ckp6SHRxTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXhNelV4V2hjTk1qWXdNakU1TWpBeE16VXdXakFnTVI0d0hBWURWUVFECkV4Vm9iMjFoY25JdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUUMwMWdaLzNNUGJiYTVRSzZtdERFMzhTMG54cW9kQ1dvTENqYVBHV0E4TXBVQ2htRFlib1k0bgpqbU9CQ0lmS09iTFRuSGZNNTRMUnZpYlgrdWdTdVpvOEM0YTFuYVVsWkp5dTZyUUlKNyt0WG1BdDFJUGZCcGRnCnJxMlc4UTdsTGl1OGRucDYzOVllcVY3ZWsvNXl1Rm9sQ0d6R0Z6cWMrV0NJakF4OFRJdTFiOHFPNjVROXhSQnYKZTFENHNaNjgwSXZiUjgwd2VCSlFYb3Y4cUpEeUdFUFpiZW1Qci84aHp2bzYyNGIwVW80US9YTnFmZjFKTHp2TgpFMGFwN1YzOWhLVjNCZkw0VlcrdlowQjg2NE5wTEsxUGZhSy9lQWU0dEMrLzU1RE1McEdTdGNhSW15bWw4MW5NClI3aS90T3gvZ2Qxd3YxY3pQZ1RjNjdSSktaM2N6SjJJY2tFelRPKzk5dC91TmIvRjRmL3ZmbUlSanJGOTFmWGgKZ3UzWndJamxPTUtpT0ZYVFI0S2ljZUxmRXVoVHZqMU9ScWhCbU9IZ3l3K1BpUFVuV3l0cTZZZXA2ZFh6cENXZgpMTUdJcnFmKy91MUFJSi93b2pGVVZlSXVHM1lwMy90bURSbXB4bXlJL00wZWJOeUVkWjh3RG9FVUhQSnBvNzA3CmVRSmRJQkJ5SDBVbE5hazdqWTh6MEJ6OXdNeGdGdklkSmZqWGM1WkNxSDEwQk5rd1haTnVBUmxFNVhRL0RqTEYKcmxCVE5YVHdRR2ZTWkMxY09lTVhvY1NqME8wQmdqSVFlNWhCK3pQcmNVbGVlaE0xcDBCNElldXpmczA0Tkg4Wgp5alJPQ3pkMk5UZHAxWndHUkUvWEJqeXlRd3NMdFJBN2xrMEJhdmZyNjBTRUlUU0Z4WWZsYVFJREFRQUJvNElDCkpqQ0NBaUl3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJTL0Z4azh1QlM5Z0F5VXViQkhhdjVRVUFpVgp2ekFmQmdOVkhTTUVHREFXZ0JUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRNdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZXaHZiV0Z5Y2k1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdgpCZ05WSFI4RUtEQW1NQ1NnSXFBZ2hoNW9kSFJ3T2k4dmNqRXpMbU11YkdWdVkzSXViM0puTHpFd055NWpjbXd3CmdnRUVCZ29yQmdFRUFkWjVBZ1FDQklIMUJJSHlBUEFBZGdBWmh0VEhLS3B2L3JvRGIzZ3FUUUdScXM0dGNqRVAKcnM1ZGNFRXRKVXpIMUFBQUFacW9RczRIQUFBRUF3QkhNRVVDSUVpeW1TN2NGalVOZ2JJWTZHdTFXdFJGdWhQaApPazFZTEtocVhZWm9hY2gyQWlFQStrL1Z4UEJXalZBTVg2UGlrT3NnMU9JenVQYmlYTWU3dnF1akJCNzFKTUlBCmRnQU9WNVM4ODY2cFBqTWJMSmtIcy9lUTM1dkNQWEV5SmQwaHFTV3NZY1ZPSVFBQUFacW9RczM0QUFBRUF3QkgKTUVVQ0lRQ25RbU1XdmUrdStZeWlmM0tBQUF6bDZoL1plL1h5UzdKUDNQRUJidkhOWmdJZ1pLSzZYeCthdmlhVApleGRTSkR3TUx5UmxrSWFVV2hLcW55QnBNNkdpSUdjd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFFNS85QkRGCmppdXlUZ09PS1ExZkluaUwwNkhBNTNTT2FFUE9HMHhGZEdxWHZIQk52M2FpdWtONThTWFBRMUhBR1UyYjJCdXYKT3BDWmZianMxeFZLSEdhWDNFOU9JQ05YZjcrUU5MRUltT3hQTkdsaFBFUm05VGZ5NkFzMGhEcnZEbFZRVGF2aApKdDJud3FlNjlYelJQZWJNZk01M1dseEltaVZxRXNwN1pQZzZaMmRqTjl0SHh5NksxNFFxSjVYM0hWQ3o3Z0ZCCkJabU5XR0hDbmt1azl6N1VoTFdxWkRCaEQ5VEswQUNJdk15NkZESENVdHhKak1uWnZ1cDJoRjJjUU93UzZtQ1YKOWdqaG43T3dYc2FqWHhwVnZmbjFPbkF2cTJDUEk4NmxLOEpmWEh0QmpKTGlvVzlqNENvM0pmSC8yRDQ1TW1haQoyQUJLdFJDTk5SdFJpTUk9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQlRDQ0F1MmdBd0lCQWdJUVdnRHlFdGpVdElEemtrRlg2aW1EQlRBTkJna3Foa2lHOXcwQkFRc0ZBREJQCk1Rc3dDUVlEVlFRR0V3SlZVekVwTUNjR0ExVUVDaE1nU1c1MFpYSnVaWFFnVTJWamRYSnBkSGtnVW1WelpXRnkKWTJnZ1IzSnZkWEF4RlRBVEJnTlZCQU1UREVsVFVrY2dVbTl2ZENCWU1UQWVGdzB5TkRBek1UTXdNREF3TURCYQpGdzB5TnpBek1USXlNelU1TlRsYU1ETXhDekFKQmdOVkJBWVRBbFZUTVJZd0ZBWURWUVFLRXcxTVpYUW5jeUJGCmJtTnllWEIwTVF3d0NnWURWUVFERXdOU01UTXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUsKQW9JQkFRQ2xaM0NOMEZhQlpCVVhZYzI1QnRTdEdaQ01KbEEzbUJaamtsVGIyY3lFQlpQczArd0lHNkJnVVVOSQpmU3ZIU0phZXRDM2FuY2duTzFlaG42dncxZzdVRGpES2I1dXgwZGFrblRJK1dFNDFiMFZZYUhFWC9EN1lYWUtnCkw3SlJiTEFhWGJoWnpqVmx5SXVocnhBMy8rT2NYY0pKRnpUL2pDdUxqZkM4Y1N5VERCMEZ4THJIemFySlhuelIKeVFIM25BUDIvQXBkOU5wNzV0dDJRbkRyOUUwaTJnQjNiOWJKWHhmOTJuVXVwVmNNOXVwY3R1QnpwV2pQb1hUaQpkWUorRUovQjlhTHJBZWs0c1FwRXpOUENpZlZKTllJS05MTWM2WWpDUjA2Q0RnbzI4RWRQaXZFcEJIWGF6ZUdhClhQOWVuWmlWdXBwRDBFcWlGd1VCQkREVE1yT1BBZ01CQUFHamdmZ3dnZlV3RGdZRFZSMFBBUUgvQkFRREFnR0cKTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQ0JnZ3JCZ0VGQlFjREFUQVNCZ05WSFJNQkFmOEVDREFHQVFILwpBZ0VBTUIwR0ExVWREZ1FXQkJUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QWZCZ05WSFNNRUdEQVdnQlI1CnRGbm1lN2JsNUFGemdBaUl5QnBZOXVtYmJqQXlCZ2dyQmdFRkJRY0JBUVFtTUNRd0lnWUlLd1lCQlFVSE1BS0cKRm1oMGRIQTZMeTk0TVM1cExteGxibU55TG05eVp5OHdFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3SndZRApWUjBmQkNBd0hqQWNvQnFnR0lZV2FIUjBjRG92TDNneExtTXViR1Z1WTNJdWIzSm5MekFOQmdrcWhraUc5dzBCCkFRc0ZBQU9DQWdFQVVUZFlVcUVpbXpXN1Rick95cExxQ2ZMN1ZPd1lmL1E3OU9INWNITENaZWdnZlFoRGNvbmwKazdLZ2g4YjB2aSsvWHVXdTdDTjhuL1VQZWcxdm8zRyt0YVhpcnJ5dHRoUWluQUhHd2MvVWRiT3lnSmE5enVCYwpWeXFvSDNDWFRYREluVCs4YStjM2FFVk1KMlN0K3BTbjRlZCtXa0RwOGlqc2lqdkV5RndFNDdodWxXMEx0empnCjlmT1Y1UG1yZy96eFdiUnVMK2swREJESEVKZW5uQ3NBZW43YzM1UG14N2pwbUovSHRnUmhjbnoweWpTQnZ5SXcKNkwxUUl1cGtDdjJTQk9EVC94REQzZ2ZRUXlLdjZyb1Y0RzJFaGZFeUFzV3Btb2p4akNVQ0dpeWc5N0Z2RHRtLwpOSzJMU2M5bHliS3hCNzNJMitQMkczQ2FXcHZ2cEFpSENWdTMwalc4R0N4S2RmaHNYdG5JeTJpbXNrUXFWWjJtCjBQbXhvYmIyOFR1Y3I3eEJLN0N0d3ZQcmI3OW9zN3UyWFAzTzVmOWIvSDY2R055UnJnbFJYbHJZakkxb0dZTC8KZjRJMW4vU2d1c2RhNld2QTZDMTkwa3hqVTE1WTEybUhVNCtCeHlSOWN4MmhoR1M5ZkFqTVpLSnNzMjhxeHZ6NgpBeHU0Q2FEbVJOWnBLL3BRclhGMTd5WENYa21FV2d2U09FWnk2WjlwY2JMSVZFR2NrVi9pVmVxMEFPbzJwa2c5CnA0UVJJeTB0SzJkaVJFTkxTRjJLeXNGd2JZNkIyNkJGZUZzM3Yxc1lWUmhGVzluTGtPclFWcG9yQ1MwS3labWYKd1ZEODlxU1RsbmN0TGNabklhdmpLc0tVdTFuQTFpVTB5WU1kWWVwS1I3bFdibndoZHgzZXdvaz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdERENDQlBTZ0F3SUJBZ0lTQlRtbzdIRVJVNzJPVldxeVZHRE5RTk9ETUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXhNREUyV2hjTk1qWXdOREl4TVRZeE1ERTFXakFnTVI0d0hBWURWUVFECkV4Vm9iMjFoY25JdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUUMwMWdaLzNNUGJiYTVRSzZtdERFMzhTMG54cW9kQ1dvTENqYVBHV0E4TXBVQ2htRFlib1k0bgpqbU9CQ0lmS09iTFRuSGZNNTRMUnZpYlgrdWdTdVpvOEM0YTFuYVVsWkp5dTZyUUlKNyt0WG1BdDFJUGZCcGRnCnJxMlc4UTdsTGl1OGRucDYzOVllcVY3ZWsvNXl1Rm9sQ0d6R0Z6cWMrV0NJakF4OFRJdTFiOHFPNjVROXhSQnYKZTFENHNaNjgwSXZiUjgwd2VCSlFYb3Y4cUpEeUdFUFpiZW1Qci84aHp2bzYyNGIwVW80US9YTnFmZjFKTHp2TgpFMGFwN1YzOWhLVjNCZkw0VlcrdlowQjg2NE5wTEsxUGZhSy9lQWU0dEMrLzU1RE1McEdTdGNhSW15bWw4MW5NClI3aS90T3gvZ2Qxd3YxY3pQZ1RjNjdSSktaM2N6SjJJY2tFelRPKzk5dC91TmIvRjRmL3ZmbUlSanJGOTFmWGgKZ3UzWndJamxPTUtpT0ZYVFI0S2ljZUxmRXVoVHZqMU9ScWhCbU9IZ3l3K1BpUFVuV3l0cTZZZXA2ZFh6cENXZgpMTUdJcnFmKy91MUFJSi93b2pGVVZlSXVHM1lwMy90bURSbXB4bXlJL00wZWJOeUVkWjh3RG9FVUhQSnBvNzA3CmVRSmRJQkJ5SDBVbE5hazdqWTh6MEJ6OXdNeGdGdklkSmZqWGM1WkNxSDEwQk5rd1haTnVBUmxFNVhRL0RqTEYKcmxCVE5YVHdRR2ZTWkMxY09lTVhvY1NqME8wQmdqSVFlNWhCK3pQcmNVbGVlaE0xcDBCNElldXpmczA0Tkg4Wgp5alJPQ3pkMk5UZHAxWndHUkUvWEJqeXlRd3NMdFJBN2xrMEJhdmZyNjBTRUlUU0Z4WWZsYVFJREFRQUJvNElDCkt6Q0NBaWN3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJTL0Z4azh1QlM5Z0F5VXViQkhhdjVRVUFpVgp2ekFmQmdOVkhTTUVHREFXZ0JRQXRTbnlMWTV2TWVpYlRLMTRQdnJjNlF6UjBqQXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRJdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZXaHZiV0Z5Y2k1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdApCZ05WSFI4RUpqQWtNQ0tnSUtBZWhoeG9kSFJ3T2k4dmNqRXlMbU11YkdWdVkzSXViM0puTHpRdVkzSnNNSUlCCkN3WUtLd1lCQkFIV2VRSUVBZ1NCL0FTQitRRDNBSFlBbHBka3YxVllsNjMzUTRkb053aENkK253T3RYMnBQTTIKYmtha1B3L0txY1lBQUFHYjRZZTJTZ0FBQkFNQVJ6QkZBaUJkV0N4Z2llcmV6akh6bHZ1cjcwMGhjSFJJU08yYwp2YWlON0lDbjByek9XUUloQU1pNjc1eFhaQmpTMlF0TmhlSUZPK3ovbkU3RSt5NUlXa3U2WUNTMG1VVStBSDBBCnBjbDRrbDFYUmhlQ2h3M1lpV1lMWEZWa2kzMEFRUExzQjJoUjBZaHBHZmNBQUFHYjRZZTRiZ0FJQUFBRkFDK3IKalIwRUF3QkdNRVFDSUNBOVlrM0FEMWE3aGc4QzRuVEtsRHN5TmNSdFdVcWtEb3N3Ti8xRlA1SVZBaUF3RFBWagp0Z2lFcGFQaWVCZ1AyZ2dDUXVjS04ybGNabVVIYkFKQkt1Sks2akFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBCnRFVzFpOStHRTh6N2p3MG16SkJaUkJldVRSdmw0NjcxSzNxcitVcUlnVm5KOTdpdm1sL2VnTFQvL1Z4NGc2ejYKS0RBbm90ak9GRUVlb09YNjQ2Skt1QVE0ODh6OEtpQUxxazZqRktDMXQzbVpzOEJPMFErYWNRTXpWYk1Dckg2ZQpESHFEUVlVQUE0Vm82YTUxUmZQTFNsRDdBVnR3Z2VnbmtCbkFRM01MYkN4cjhhMXdXZVIrZFhrK0gxWS9yaVhyCk9BSlViY1A2d0wrTk9jc1J5KzJybHZ3cGhJQkVrcnBjbkozVTRKcGtJSllrTjBmb1ZrVmxRRWdIQXhMcENQQkoKQitCZG5OSUpJeDV6WHdSSmxwdXBISHpKREE4QkFUSE0ycUVOSzVCWDRzTFdtdnNWU0E1dTNubHROWGlFVGdEcQphcHpTc25pRGVzeDdXSngvSlRhZlhRPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCakNDQXU2Z0F3SUJBZ0lSQU1JU01rdHdxYlNSY2R4QTkrS0ZKand3RFFZSktvWklodmNOQVFFTEJRQXcKVHpFTE1Ba0dBMVVFQmhNQ1ZWTXhLVEFuQmdOVkJBb1RJRWx1ZEdWeWJtVjBJRk5sWTNWeWFYUjVJRkpsYzJWaApjbU5vSUVkeWIzVndNUlV3RXdZRFZRUURFd3hKVTFKSElGSnZiM1FnV0RFd0hoY05NalF3TXpFek1EQXdNREF3CldoY05NamN3TXpFeU1qTTFPVFU1V2pBek1Rc3dDUVlEVlFRR0V3SlZVekVXTUJRR0ExVUVDaE1OVEdWMEozTWcKUlc1amNubHdkREVNTUFvR0ExVUVBeE1EVWpFeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQgpDZ0tDQVFFQTJwZ29kSzIrbFA0NzRCN2k1VXQxcXl3U2YrMm5BekorTnBmczZER1BwUk9OQzVrdUhzMEJVVDFNCjVTaHVDVlV4cXFVaVhYTDBMUWZDVFVBODN3RWp1WGczOVJwbE1qVG1obkdkQk8rRUNGdTlBaHFaNjZZQkFKcHoKa0cyUG9nZWcwSmZUMmtWaGdUVTlGUG5Fd0Y5cTNBdVdHckNmNHlycXZTcldtTWViY2FzN2RBODgyN0pndmxwTApUaGpwMnlwelhJbGhaWjcrN1R5bXkwNXY1Sjc1QUVhei94bE5LbU96am1iR0dJVnd4MUJsYnp0MDVVaUREd2hZClhTMGpuVjZqL3VqYkFLSFM5T01aVGZMdWV2WW5udVhObkMyaThuK2NGNjN2RXpjNTBiVElMRUhXaHNEcDdDSDQKV1J0L3VUcDhuMXdCbldJRXdpaTlDcTA4eWhEc0d3SURBUUFCbzRINE1JSDFNQTRHQTFVZER3RUIvd1FFQXdJQgpoakFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdFd0VnWURWUjBUQVFIL0JBZ3dCZ0VCCi93SUJBREFkQmdOVkhRNEVGZ1FVQUxVcDhpMk9iekhvbTB5dGVENzYzT2tNMGRJd0h3WURWUjBqQkJnd0ZvQVUKZWJSWjVudTI1ZVFCYzRBSWlNZ2FXUGJwbTI0d01nWUlLd1lCQlFVSEFRRUVKakFrTUNJR0NDc0dBUVVGQnpBQwpoaFpvZEhSd09pOHZlREV1YVM1c1pXNWpjaTV2Y21jdk1CTUdBMVVkSUFRTU1Bb3dDQVlHWjRFTUFRSUJNQ2NHCkExVWRId1FnTUI0d0hLQWFvQmlHRm1oMGRIQTZMeTk0TVM1akxteGxibU55TG05eVp5OHdEUVlKS29aSWh2Y04KQVFFTEJRQURnZ0lCQUk5MTBBblBhblpJWlRLUzNyVkV5SVYyOUJXRWpBSy9kdXV6OGVMNWJvU29WcEhoa2t2Mwo0ZW9BZUVpUGRaTGo1RVo3RzJBcklLK2d6aFRsUlExcTRGS0dwUFBhRkJTcHFWL3hiVWI1VWxBWFFPbmtIbjNtCkZWaitxWXY4Ny9XZVkrQm00c04zT3g4Qmh5YVU3VUFRM0xlWjdOMVgwMXh4UWU0d0lBQUUzSlZMVUNpSG1aTCsKcW9DVXRnWUlGUGdjZzM1MFFNVUlXZ3hQWE5HRW5jVDkyMW5lN25sdUkwMlY4cExVbUNscVhPc0N3VUx3K1BWTwpaQ0I3cU9NeHhNQm9DVWVMMkxsNG9NcE9TcjVwSkNwTE4zdFJBMnM2UDFLTHM5VFNyVmhPays3TFgyOE5NVWxJCnVzUS9ueExKSUQwUmhBZUZ0UGp5T0NPc2NRQkE1MytOUmpTQ2FrN1A0QTVqWDdwcG1rY0pFQ0wrUzBpM2tYVlUKeTVNZTVCYnJVODk3M2paTnYvYXg2K1pLNlRNOGpXbWltTDZvZjZPclg3WlU2RTJXcWF6enNGckxHM28ya3lTYgp6bGhTZ0o4MUNsNHR2M1NiWWlZWG5KRXhLUXZ6ZjgzRFlvdG94M2YwZnd2N3hsbjFBMlpMcGxDYjBPK2wvQUswCllFMERTMkZQeFNBSGkwaXdNZlcybk5ISnJYY1kzTExIRDc3Z1JnamU0RXZldWJpMnh4YStObWsvaG1oTGRJRVQKaVZERmFub0NyTVZJcFE1OVhXSGt6ZEZtb0hYSEJWN29pYlZqR1NPN1VMU1E3TUoxTno1MXBodURKU2dBSVU3QQowenJMbk9yQWovZGZybEVXUmhDdkFnYnV3TFpYMUEyc2pOalhvUE9IYnNQaXkrbE8xS0Y4L1hZNwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBdE5ZR2Y5ekQyMjJ1VUN1cHJReE4vRXRKOGFxSFFscUN3bzJqeGxnUERLVkFvWmcyCkc2R09KNDVqZ1FpSHlqbXkwNXgzek9lQzBiNG0xL3JvRXJtYVBBdUd0WjJsSldTY3J1cTBDQ2UvclY1Z0xkU0QKM3dhWFlLNnRsdkVPNVM0cnZIWjZldC9XSHFsZTNwUCtjcmhhSlFoc3hoYzZuUGxnaUl3TWZFeUx0Vy9LanV1VQpQY1VRYjN0UStMR2V2TkNMMjBmTk1IZ1NVRjZML0tpUThoaEQyVzNwajYvL0ljNzZPdHVHOUZLT0VQMXphbjM5ClNTODd6Uk5HcWUxZC9ZU2xkd1h5K0ZWdnIyZEFmT3VEYVN5dFQzMml2M2dIdUxRdnYrZVF6QzZSa3JYR2lKc3AKcGZOWnpFZTR2N1RzZjRIZGNMOVhNejRFM091MFNTbWQzTXlkaUhKQk0wenZ2ZmJmN2pXL3hlSC83MzVpRVk2eApmZFgxNFlMdDJjQ0k1VGpDb2poVjAwZUNvbkhpM3hMb1U3NDlUa2FvUVpqaDRNc1BqNGoxSjFzcmF1bUhxZW5WCjg2UWxueXpCaUs2bi92N3RRQ0NmOEtJeFZGWGlMaHQyS2QvN1pnMFpxY1pzaVB6TkhtemNoSFdmTUE2QkZCenkKYWFPOU8za0NYU0FRY2g5RkpUV3BPNDJQTTlBYy9jRE1ZQmJ5SFNYNDEzT1dRcWg5ZEFUWk1GMlRiZ0VaUk9WMApQdzR5eGE1UVV6VjA4RUJuMG1RdFhEbmpGNkhFbzlEdEFZSXlFSHVZUWZzejYzRkpYbm9UTmFkQWVDSHJzMzdOCk9EUi9HY28wVGdzM2RqVTNhZFdjQmtSUDF3WThza01MQzdVUU81Wk5BV3IzNit0RWhDRTBoY1dINVdrQ0F3RUEKQVFLQ0FnRUFrS3JMNWt4cGowaU9jK3FLUWpzZXhHQkMxb2VTejUxekVFdVpvcHBkNThMb0VwNmZZcmw2N09BMwpjRW12d0RNcWdhbWlHWlY0RFcxdXk4Z1pFcW5TM29obUN6TURwQWQ2WldDMEIvWXNuSGhzdngxTkpnV3k0cEM3CnBJNVNXVHYzbHp5OVBVR0duVjduMjI1UDE5enRtTVRGcUM5N0g0dE5FOC9lU1M0L2NqWHR1U3B6bkhyamJCd2UKS2VhRzFBeU9aaTFwMUlXcU9RdDZOL1Z1aDQ2cjhPekNOY1laZUNXSi83NFJsN0hYbjNYemVGVTBaUERaaVhVTApTZlB3Qmxtd3VhaFR1U0U0U1AxMEZMdWdsR28rZCtKTmFabVBxODdTaUZhcmV2MGlUbGtIYTgrZG9Qb3VjNE5KCkpHeUw2bkd0QW43QU51azlvTE1idHBBSmoxTk9Eam9nTGVnUkRweWdsUWIxSEI3emFSeWNhUkxaMnZMMFQ5dk8KbUk5MzNhNVZIamczTlRQNlNna1E5bjVPMFNWeElMbVRwaDBYRmcvZ1hic3ZwaDJQTVJERzJlcVhxRWMxaHUzbwpMYjlUTEo1VGpCdUVDRytFeGNFT1BhWEpVTTNsV1lqVDAzalNLM0JGRHQwWWcycEVGdkxFcGNHUHN6MGhneEdtCmNaZ1YyNnk1K3d4NU9xeUN1TEZYMk1XNHpWZ1dsQ3h3VFltb2JwQi9UajhlYjNhV29XQ3ZCRGtPMGZyVC92bVgKWmx2dW9MQ2FESGlYbHh4eEIxcHlmWHpZOXhCWDVmZzBGQUV3czVtTWRPMHRkYjFBQVBXT2VDTmphb1RFZUorKworM1Y2ZFpTYlFkTjRmc2QxeFowdm45NTducGpkWWMvT0sxWGV5UTNLN0d3OHFPR0VJN1VDZ2dFQkFPY0ZKR2JCCmlyS3pQWndNVXEraFhzcUM1Y3VieW5iK3BnenY4QkpkQ1BQeEwvWDRaaDN5VzU1b3AxcWlyc2R0U1pSMUlMWjkKd3h3RFdrcWxtWVZDKzY5K3pncm1weG5BSUJGbnplRGRBbUVPUUJKQ2NjanA0MkRoTDJCcHJOTGFxenBtcm04NQpTcUVqRlJiS1g4Y3ZSQVlXdjlJNnA4RTBOblNINjJyZG9RUk94UzJHRzdKSGd3cXRHTGE2RFh4Y0U3amxsNC90ClM0SUZhZFFQQ1RsRHB2VStEMXR0dEJBWjU0VlpOZU90VHNIRDZlbkIraUp4cDRMQUQvWXlOVWNFd25YY0xtNHQKd1Nnb3Y5UG12ZFBieVNoM2NtTVVNYk9VMGE4d3dHMktCQnVpdVVzMm05U2FxMDF3empWeUFzY1FNTGh1cGFPawo3akNTOXVqODFYSG9aaXNDZ2dFQkFNaGp2Wkh6MC9tcGhTa1JvNEcvRXNlM3Y3SGREbTBkWkdoTm02U3ExalZUCmRuRXhtSzZLQ0JEWUtPMnl0RW81V0NKOHpUTU1pWlE5TXUrZlorRnZTaEJjUU94SUVaMmUrS0N3ZHVhNnozUUsKRlhqRDkwODQwT0ZnQlVKQ0p3S3lqQ1NGODRLbUppdmpkbDBGcWs0VklwcUtNUnI5dTlFQW1TYWhoUjFFcG1ORgovRHdxdWVvMGJva3J4M1lqdjhFZDJIZFo1Tm1NUTJaN284SGI2S1dYeU1TMlNURXAwMmszU3lCZjU0ZHEyRTdNCnlCam1adGVtRTFPRGVNL1ZmaERlSkxWbDJGLy9FNDRXTzFDNlVZcUxFMnpuMnlDQUUrenNNRjFEK3d2K3NMSnYKL2trcEUrN1pHNWdkWCtlWHRoUzV4OWJ6STVVVVk2S2ZHbmZoQmdPUnpMc0NnZ0VBZFdlZG1rTWQwN2RYeGloVgpGVUN6UmNQRU9QZVJxMnU2dzdSa2sxQ0lya0NTbVRTRjRRNDhGWU1tR2QrM1owNVpLSU5sL3BoblFhTktqY2tlCi9pU09lQisvWXJiWmtUS2NtWHZobXpkMmNCQ242eCt0WitmRlVJVGdhT1VMbVpUYmxEQiswYk9TQTlZcWI0eWwKcERxWEhXa09UeTdUOWxJc29vZzQwZlNVVWZZZUt3YU9xTW5EQlBmM0tWWGdhS1Q2dU9xbFhkWEFtL0ZZV1JiVApIekVNZG5IMXFBZFdqU0E5RXYzRmIxR3lSckxqKzVKREpxSVArVmpXUTg0OFdUMUgvbEhKbnVETjJ6VHFXQ3haCnFJTjM5WUxPdFIrY0txR2s5cDJXRFpVb2hVcnJWQmdLbGIrTTh5d3kvK0pUR3d0VlYwV1VGRmhMWEpBenZ6Qk8KNFRhMFJRS0NBUUJMOFdqVm1HZDhWWjl1aWczQ1RTeUwzZnBiS09DZnY2VGUxcEttM0V1a0dBWnFMWmFraHhFNQplUUpCMnhqeWpEcjNqdjZoV3g0RXZSREJ1VkxBSDlJYzB5bVRvbGh5dU4yVzRHbWZWYXJyV2lyN0FxR0dONDBKCjdMN3hkbXFjWGhnNGV6OW5BeHF5UlZrRk5mRnQrQnFPSU5NdFhIM0NYb3lzRkVpRGFCSDZ5M29sUHpnSUoyakEKdVlPMUpTVTF4ZDdVbEkvalZvSHdvK2pTdmttMEFBc0phZC9oTHUyOUVVUjZkMzRpVnY2MUZteTY2dzZNcVpibgpib3Jwa1FwZTBDRnZVYktuNXQ1OVdiV1BDWjEvZU9lYXZWL1JPRmpVMEVvZi9uUjAva2Z1eC96QnN6eW5wMFlLCjV3OENrUDlqYVdqdjhHTkt5MWhiT0JycTFhL1d5SG1qQW9JQkFGNnJpVmxTa1AzYmNXckZjTFBwdlFEb0U5dGUKM3hKS3Z5RVNML3k3bGdTdXZDWFRXaHlBc0xOVEVqajZsSFJwR05QR3A5ODhteU5aTGlXbTlqeC9mL21XRlVRTAowS0FQYWFLUmlINldiREtIbkFGdHduOHZYWjRJY2dPRFdmVnRZVDdFUm9uM0YrMU5pb2MycEtYc3pMYXNqR0EzCnBvTXZqSmZMK1lkYWhKSmpyeGs1c3B5WDM1TEtBOUdYVVc3d1RndHNiOFBJZmhsOG9VRXBTV0laYWJIaWVPVVEKUzFObmowZnJUYTJYcXVvVG1ZWnFIc0VCMCsybHk0eFE0a2FuQ0gvSkJYY1prNlB3SVhHUm1lcWMwdURDZitSUQpQSTlsMmVrOEYzeTdiZ05xMVhlQXV2cnFjZjkrQ2JNTVo1Vm95Wm5lSWJmUGtCd2oxMHEwSkVPUDR6Zz0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -395,7 +395,7 @@ "domain": { "main": "dash.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdBekNDQk91Z0F3SUJBZ0lTQmIxRitLSDJCT0ZTUFlrL0hUT0l0VWJuTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXhNelUzV2hjTk1qWXdNakU1TWpBeE16VTJXakFlTVJ3d0dnWURWUVFECkV4TmtZWE5vTG1GMGFHRnNhV0Z3Y0hNdWVIbDZNSUlDSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUMKQ2dLQ0FnRUExS2djb0xNQW4zQXNmTGNheXZZNEFyODJlY0hGUEU3MG9kN1h4WHd2NzF3Y1ZUSzJMdzBJNWpvYwo5WXpONS93ZWY0STRFZWRnQTdjK1RFS1RieFpKQVF3VGFCSUlVSDU2TVJzUVZlRVptTytlaWYrK1hXTzR2MVNGCmUvOFdOSm9vajlKSlZLMGVyUW9CUHhRRjA3RVVNSi9wRjhTWkwxSko5ZHNmcHg4SU9zVTJ6amRkcmRqL3Q3U1AKVUE3UzVWMm9TMDBlanNGN29Lem5laTZYbGN5eFdXMWsxU3ZXQytIdmVRY3hoZGx2VnFYcUJ3UVdpTkRmQ0dRQgpOV3VNNDFDMzk4by9Fa2E4Mk5ocHVtNVFKM3lTeHRLRkpWMHoyUEM3VFhMZjZGcTVPNzd5TzZ2d3Z6b2MvWUlmCmttcnBjY1d3RTRVMDFnWGprZFlaNUNONzVQNGxZS0w5QlA5dkYvYXJIK3BMRWlZekhwakV6OWxkVzlKLzhTT3gKNkdSeFdpcitNT3ZGamc2dVlqM2E1Kyt5TzViOFhtWGpWUllSa2Fqb2VWdXdmMk10bEgyWjBpY3pZRFh4My9hdAo1UDFKN2VncW1QcFBtSFV3b1dwNllIMGlOV2MzWkd5cUFHbHppTWhjVEp3V2dVc3Jld0ROY1RXYU5iTjFON0JrCnpwSHNaOExDekE1NmdVMUdhdk9pMkxqbVNnbjVWcy92VlJVUXZOZ2szUXdDM3NHZ1NGdXlzTmhIUzArZ1hyUUMKS3pmSDRRL25KSUZKbU1zVnBCSm1kWUtsVnBrT3NyTjBZVWMrT0ZvSUlBdWQrOU9ZV3RGbkdNR0lrVThDYjZpegpuMDdSL2UrU3Y1QWUyTHNmWkNHaXFNZmIyWDNOUDlaWmF0bEsybHpZM3Z2dmFNU2ZxUHNDQXdFQUFhT0NBaVF3CmdnSWdNQTRHQTFVZER3RUIvd1FFQXdJRm9EQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBUVlJS3dZQkJRVUgKQXdJd0RBWURWUjBUQVFIL0JBSXdBREFkQmdOVkhRNEVGZ1FVU3NLTDJGQTlYMXUyeFQxNnltdGtQK2wrMUpZdwpId1lEVlIwakJCZ3dGb0FVNTZ1ZkR5d3pvRlBUWGs5NHlMS0VEanZXa2pNd013WUlLd1lCQlFVSEFRRUVKekFsCk1DTUdDQ3NHQVFVRkJ6QUNoaGRvZEhSd09pOHZjakV6TG1rdWJHVnVZM0l1YjNKbkx6QWVCZ05WSFJFRUZ6QVYKZ2hOa1lYTm9MbUYwYUdGc2FXRndjSE11ZUhsNk1CTUdBMVVkSUFRTU1Bb3dDQVlHWjRFTUFRSUJNQzhHQTFVZApId1FvTUNZd0pLQWlvQ0NHSG1oMGRIQTZMeTl5TVRNdVl5NXNaVzVqY2k1dmNtY3ZNVEEwTG1OeWJEQ0NBUVFHCkNpc0dBUVFCMW5rQ0JBSUVnZlVFZ2ZJQThBQjJBR1FSeEd5a0V1eW5pUnlpQWk0QXZLdFBLQWZVSGpVbnErcisKMVFQSmZjM3dBQUFCbXFoQzVqY0FBQVFEQUVjd1JRSWdTaWI4SUJONUd0ZUNROC9iN0pjUDdXMkh2Rkh2eFhsSQpLdGNWaVppdkxmWUNJUUNmVVcvQlZWbWxTRkFuSE5TbnEvVjhyOHR0UFBTQWZDVXpmcWlHSlUxQ2hnQjJBSmFYClpMOVZXSmV0OTBPSGFEY0lRbmZwOERyVjlxVHpObTVHcEQ4UHlxbkdBQUFCbXFoQzVwQUFBQVFEQUVjd1JRSWgKQUlrQzdaNWhMSzd1MmQ0Q1JRcGdLSUdZbmhETjBzaThMSjd5TVdjUS85UVVBaUJndXNBc1VjQzJMWkg1T2Z4YQpJWlliWmwrMFRiZCtmcy9tZFM0UTI2S01UakFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBSXZTWW1mZzlzZGZLCmVFWndySXdlS2xmc1VyemdOK0JQYmVMWlVuS3l5ZmFRUmxJbGM1eEJ6V1E3aGIwRThDV3RZZ1ZuL1VhR1hjS3YKY3ZWU085SG16ZGcxZHRCd1pZQ0gxRWZsb2IrMTI5OHRpZFV4M0ZqandxMkRwYUgzM0h3ZUl6a3g2K3J2dlBzNwp6dDRnK3piTGRNSG1oVjFwMXY1Z0dLcFRQNHg5S0Q4ZitUWk11OUtQN1dWNUgzdUFyK25aZGlhd0pZVzAxcHg0CjkxM1UyaTU0aXZhZ2tObm9DOUkwQWtISFpQZTBrR3ZibTlWcFE1enQ0c0ZIZ0hsaWREUzFqbHJpcDZHdEFSVzUKalppa3Bjaml6TS9BdWpUQ21wczI5NWJhQ0lESkpScFRhZzdKbVRZdlF2Tnc0SzM1bTAzQk9TUEIxNG8rYm1SdgpZQy83S1lUUzl3PT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDekNDQlBPZ0F3SUJBZ0lTQlFDOWZjZVJobUJjY3h0akhCeHdoM2grTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXhNREkxV2hjTk1qWXdOREl4TVRZeE1ESTBXakFlTVJ3d0dnWURWUVFECkV4TmtZWE5vTG1GMGFHRnNhV0Z3Y0hNdWVIbDZNSUlDSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUMKQ2dLQ0FnRUExS2djb0xNQW4zQXNmTGNheXZZNEFyODJlY0hGUEU3MG9kN1h4WHd2NzF3Y1ZUSzJMdzBJNWpvYwo5WXpONS93ZWY0STRFZWRnQTdjK1RFS1RieFpKQVF3VGFCSUlVSDU2TVJzUVZlRVptTytlaWYrK1hXTzR2MVNGCmUvOFdOSm9vajlKSlZLMGVyUW9CUHhRRjA3RVVNSi9wRjhTWkwxSko5ZHNmcHg4SU9zVTJ6amRkcmRqL3Q3U1AKVUE3UzVWMm9TMDBlanNGN29Lem5laTZYbGN5eFdXMWsxU3ZXQytIdmVRY3hoZGx2VnFYcUJ3UVdpTkRmQ0dRQgpOV3VNNDFDMzk4by9Fa2E4Mk5ocHVtNVFKM3lTeHRLRkpWMHoyUEM3VFhMZjZGcTVPNzd5TzZ2d3Z6b2MvWUlmCmttcnBjY1d3RTRVMDFnWGprZFlaNUNONzVQNGxZS0w5QlA5dkYvYXJIK3BMRWlZekhwakV6OWxkVzlKLzhTT3gKNkdSeFdpcitNT3ZGamc2dVlqM2E1Kyt5TzViOFhtWGpWUllSa2Fqb2VWdXdmMk10bEgyWjBpY3pZRFh4My9hdAo1UDFKN2VncW1QcFBtSFV3b1dwNllIMGlOV2MzWkd5cUFHbHppTWhjVEp3V2dVc3Jld0ROY1RXYU5iTjFON0JrCnpwSHNaOExDekE1NmdVMUdhdk9pMkxqbVNnbjVWcy92VlJVUXZOZ2szUXdDM3NHZ1NGdXlzTmhIUzArZ1hyUUMKS3pmSDRRL25KSUZKbU1zVnBCSm1kWUtsVnBrT3NyTjBZVWMrT0ZvSUlBdWQrOU9ZV3RGbkdNR0lrVThDYjZpegpuMDdSL2UrU3Y1QWUyTHNmWkNHaXFNZmIyWDNOUDlaWmF0bEsybHpZM3Z2dmFNU2ZxUHNDQXdFQUFhT0NBaXd3CmdnSW9NQTRHQTFVZER3RUIvd1FFQXdJRm9EQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBUVlJS3dZQkJRVUgKQXdJd0RBWURWUjBUQVFIL0JBSXdBREFkQmdOVkhRNEVGZ1FVU3NLTDJGQTlYMXUyeFQxNnltdGtQK2wrMUpZdwpId1lEVlIwakJCZ3dGb0FVQUxVcDhpMk9iekhvbTB5dGVENzYzT2tNMGRJd013WUlLd1lCQlFVSEFRRUVKekFsCk1DTUdDQ3NHQVFVRkJ6QUNoaGRvZEhSd09pOHZjakV5TG1rdWJHVnVZM0l1YjNKbkx6QWVCZ05WSFJFRUZ6QVYKZ2hOa1lYTm9MbUYwYUdGc2FXRndjSE11ZUhsNk1CTUdBMVVkSUFRTU1Bb3dDQVlHWjRFTUFRSUJNQzhHQTFVZApId1FvTUNZd0pLQWlvQ0NHSG1oMGRIQTZMeTl5TVRJdVl5NXNaVzVqY2k1dmNtY3ZNVEkzTG1OeWJEQ0NBUXdHCkNpc0dBUVFCMW5rQ0JBSUVnZjBFZ2ZvQStBQjNBQTVYbEx6enJxaytNeHNzbVFlejk1RGZtOEk5Y1RJbDNTR3AKSmF4aHhVNGhBQUFCbStHSDJSY0FBQVFEQUVnd1JnSWhBUENlS09rd3hWOU1DNG1UcVNsNDZvcWNqRklqTW5rRgpteGh3QXVQK1E4UjZBaUVBcmFEOGhpKzlYRFFSY2ZsczVEL1NYaEswUHJKOWJJYlppNUw0ZDJSeGwySUFmUUNsCnlYaVNYVmRHRjRLSERkaUpaZ3RjVldTTGZRQkE4dXdIYUZIUmlHa1o5d0FBQVp2aGg5dVhBQWdBQUFVQUw2dU4KOVFRREFFWXdSQUlnU3phYXg3NzJPVXRXMlJKKzB5VlZyengwVWlob1QvN0R5WDRKNEErT09WZ0NJRk91YkJhYgpNaW4xRmpGdXZPM1p1alJtU05SNGtReWpuOHJyU0JablhxaE1NQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUJyCkw2Ni96bXIrV2RQSFJwT3k4dUxJMldTUjM2dldtK0lKMmRuMFlaWWUweVZYTVRwQmNEcWhuT1RtbG5SeXJUVncKUXlaZkdLcUxFWVM3YVFzUVVjYmxicmtIS2V3ckE5bDhoZzBDWFl3VVpHeEIxTjB6bWpIYTZHZGViS2d6M25Rcgo3N3ZmRzdIUVl2L0VnQ1RTQzFTY2IvYTFtcDViT2Q4QmFrdHNtYTgxSktiY1lYUHVjL2kwVVhiSDZTZ0hTK1VoClJnVUs4MWZwK1QxSGJXTlBiWUgrUjNwVzdUNHJoTFU3V1lBUDJiRFZzLzFidzFaQXZCN3lNREdCT1NUUHkwS3EKVnZwRjY0dzF5ZUdSNmMrUGpjUmtwR051YUZ4SElBekRKZnN2cFhQN2F3eC9STHdMUndEdm5MYTRObFlGWkRhZwptWmh2OUpXUHRORGNoWVQ3TW93dwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJqQ0NBdTZnQXdJQkFnSVJBTUlTTWt0d3FiU1JjZHhBOStLRkpqd3dEUVlKS29aSWh2Y05BUUVMQlFBdwpUekVMTUFrR0ExVUVCaE1DVlZNeEtUQW5CZ05WQkFvVElFbHVkR1Z5Ym1WMElGTmxZM1Z5YVhSNUlGSmxjMlZoCmNtTm9JRWR5YjNWd01SVXdFd1lEVlFRREV3eEpVMUpISUZKdmIzUWdXREV3SGhjTk1qUXdNekV6TURBd01EQXcKV2hjTk1qY3dNekV5TWpNMU9UVTVXakF6TVFzd0NRWURWUVFHRXdKVlV6RVdNQlFHQTFVRUNoTU5UR1YwSjNNZwpSVzVqY25sd2RERU1NQW9HQTFVRUF4TURVakV5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCCkNnS0NBUUVBMnBnb2RLMitsUDQ3NEI3aTVVdDFxeXdTZisybkF6SitOcGZzNkRHUHBST05DNWt1SHMwQlVUMU0KNVNodUNWVXhxcVVpWFhMMExRZkNUVUE4M3dFanVYZzM5UnBsTWpUbWhuR2RCTytFQ0Z1OUFocVo2NllCQUpwegprRzJQb2dlZzBKZlQya1ZoZ1RVOUZQbkV3RjlxM0F1V0dyQ2Y0eXJxdlNyV21NZWJjYXM3ZEE4ODI3Smd2bHBMClRoanAyeXB6WElsaFpaNys3VHlteTA1djVKNzVBRWF6L3hsTkttT3pqbWJHR0lWd3gxQmxienQwNVVpRER3aFkKWFMwam5WNmovdWpiQUtIUzlPTVpUZkx1ZXZZbm51WE5uQzJpOG4rY0Y2M3ZFemM1MGJUSUxFSFdoc0RwN0NINApXUnQvdVRwOG4xd0JuV0lFd2lpOUNxMDh5aERzR3dJREFRQUJvNEg0TUlIMU1BNEdBMVVkRHdFQi93UUVBd0lCCmhqQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBZ1lJS3dZQkJRVUhBd0V3RWdZRFZSMFRBUUgvQkFnd0JnRUIKL3dJQkFEQWRCZ05WSFE0RUZnUVVBTFVwOGkyT2J6SG9tMHl0ZUQ3NjNPa00wZEl3SHdZRFZSMGpCQmd3Rm9BVQplYlJaNW51MjVlUUJjNEFJaU1nYVdQYnBtMjR3TWdZSUt3WUJCUVVIQVFFRUpqQWtNQ0lHQ0NzR0FRVUZCekFDCmhoWm9kSFJ3T2k4dmVERXVhUzVzWlc1amNpNXZjbWN2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQk1DY0cKQTFVZEh3UWdNQjR3SEtBYW9CaUdGbWgwZEhBNkx5OTRNUzVqTG14bGJtTnlMbTl5Wnk4d0RRWUpLb1pJaHZjTgpBUUVMQlFBRGdnSUJBSTkxMEFuUGFuWklaVEtTM3JWRXlJVjI5QldFakFLL2R1dXo4ZUw1Ym9Tb1ZwSGhra3YzCjRlb0FlRWlQZFpMajVFWjdHMkFySUsrZ3poVGxSUTFxNEZLR3BQUGFGQlNwcVYveGJVYjVVbEFYUU9ua0huM20KRlZqK3FZdjg3L1dlWStCbTRzTjNPeDhCaHlhVTdVQVEzTGVaN04xWDAxeHhRZTR3SUFBRTNKVkxVQ2lIbVpMKwpxb0NVdGdZSUZQZ2NnMzUwUU1VSVdneFBYTkdFbmNUOTIxbmU3bmx1STAyVjhwTFVtQ2xxWE9zQ3dVTHcrUFZPClpDQjdxT014eE1Cb0NVZUwyTGw0b01wT1NyNXBKQ3BMTjN0UkEyczZQMUtMczlUU3JWaE9rKzdMWDI4Tk1VbEkKdXNRL254TEpJRDBSaEFlRnRQanlPQ09zY1FCQTUzK05SalNDYWs3UDRBNWpYN3BwbWtjSkVDTCtTMGkza1hWVQp5NU1lNUJiclU4OTczalpOdi9heDYrWks2VE04aldtaW1MNm9mNk9yWDdaVTZFMldxYXp6c0ZyTEczbzJreVNiCnpsaFNnSjgxQ2w0dHYzU2JZaVlYbkpFeEtRdnpmODNEWW90b3gzZjBmd3Y3eGxuMUEyWkxwbENiME8rbC9BSzAKWUUwRFMyRlB4U0FIaTBpd01mVzJuTkhKclhjWTNMTEhENzdnUmdqZTRFdmV1YmkyeHhhK05tay9obWhMZElFVAppVkRGYW5vQ3JNVklwUTU5WFdIa3pkRm1vSFhIQlY3b2liVmpHU083VUxTUTdNSjFOejUxcGh1REpTZ0FJVTdBCjB6ckxuT3JBai9kZnJsRVdSaEN2QWdidXdMWlgxQTJzak5qWG9QT0hic1BpeStsTzFLRjgvWFk3Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBMUtnY29MTUFuM0FzZkxjYXl2WTRBcjgyZWNIRlBFNzBvZDdYeFh3djcxd2NWVEsyCkx3MEk1am9jOVl6TjUvd2VmNEk0RWVkZ0E3YytURUtUYnhaSkFRd1RhQklJVUg1Nk1Sc1FWZUVabU8rZWlmKysKWFdPNHYxU0ZlLzhXTkpvb2o5SkpWSzBlclFvQlB4UUYwN0VVTUovcEY4U1pMMUpKOWRzZnB4OElPc1UyempkZApyZGovdDdTUFVBN1M1VjJvUzAwZWpzRjdvS3puZWk2WGxjeXhXVzFrMVN2V0MrSHZlUWN4aGRsdlZxWHFCd1FXCmlORGZDR1FCTld1TTQxQzM5OG8vRWthODJOaHB1bTVRSjN5U3h0S0ZKVjB6MlBDN1RYTGY2RnE1Tzc3eU82dncKdnpvYy9ZSWZrbXJwY2NXd0U0VTAxZ1hqa2RZWjVDTjc1UDRsWUtMOUJQOXZGL2FySCtwTEVpWXpIcGpFejlsZApXOUovOFNPeDZHUnhXaXIrTU92RmpnNnVZajNhNSsreU81YjhYbVhqVlJZUmtham9lVnV3ZjJNdGxIMlowaWN6CllEWHgzL2F0NVAxSjdlZ3FtUHBQbUhVd29XcDZZSDBpTldjM1pHeXFBR2x6aU1oY1RKd1dnVXNyZXdETmNUV2EKTmJOMU43Qmt6cEhzWjhMQ3pBNTZnVTFHYXZPaTJMam1TZ241VnMvdlZSVVF2TmdrM1F3QzNzR2dTRnV5c05oSApTMCtnWHJRQ0t6Zkg0US9uSklGSm1Nc1ZwQkptZFlLbFZwa09zck4wWVVjK09Gb0lJQXVkKzlPWVd0Rm5HTUdJCmtVOENiNml6bjA3Ui9lK1N2NUFlMkxzZlpDR2lxTWZiMlgzTlA5WlphdGxLMmx6WTN2dnZhTVNmcVBzQ0F3RUEKQVFLQ0FnQjl6SWxLNHpsK0dBeXBKbVI2SmxlU0FHMkliNEZ2SU1JRXM5L3UybjA4MnIrRUF3RFZLcC9XR2hDaApqYzhNNmc5Y25McndsSEF2SW9wKzhHOXBLc1M3RXRxMEdON0VSMTJmaVFRTDJhS2IzenhwSkZvSHd3TTZaQlNtCitvcTNTVzZ2VGRYRmVyZ0g0MEJEZ1dQRkRCOEdlTUthSmRuOHJYQkZPWUFyQytlQlpNTDhFTEtoTWhwc0lTc2EKVC9xZ1p0dzAxNFU1SytvbmJjRnRmUHg5U0Y2dHFWSVo3Tm10bzlWWFFsTWdmRFVxQy9JNmZrZWFYZjFpYUU1eQp2SkhXc3h4eFFEbzVaSkU0c2lVeGZTcDdnVzBPb3VEUzdxVEtNL2FKWldoaGVySFRUeXphOGViMEtMdVhtQTkzClBUbWw3UzB4RHY3bmtRcERibVZZbVVra2VOZkFrMDZ5NnkxZmNkK1AyTUNyMTBpZjFRMnZlWGdGMS9oL1NuVjAKVnZjQ2xVRnVEdzhxb01ZLzhsdUlwYmY3bnF1RW13dkdZaXZDdFU5Y3BXVFRsYkNwSklSYS9aZFF3NmNTZ3YvVgo4aXU2dDZrYW4wTzV1S09GQS9DSEFTbjRnT2h6SVNaNjFnaTlkOFdRWG1wbHhNa1g2UHp5QXowb3VwQ1cveGxUClhpUGF1a1h2NC9kdWZodGhuRkZwbE5BNFZtMDN2VS9lTzIyVnJvZ3I0OWlFSG5NMzJTcnRrcU5iYXhuTEVZWnIKaVZUc0xDVWtqTkZOYVBpK3pLK0xaSG9XekxmS0tCTG9JT1NjS1NjcXB2S2ZnNVZZWXkxcUovL1dTYmlETEY2cwpHN28xajVQUDZvbTNPODRKK2FEdVkzZkh3c2JnOFBNTEwrYjZJMzBRelVUMHc2aUlDUUtDQVFFQStrai81RDZXCjV3dnFLSnRDUzlVd3U1NVBpTkdUSm1nS3hEdExBeXEzTm5NNlZYdmJTVGhKMFkyNitob2JmV3ZFOU1USmtkdUUKNHpCRHp1ZUNIR2VMT08wSWFiSUt6eXNRUyt6RFA0clNSQjN0NCtzL2xpWWlkYi9jb1A3VGxyY3B2WE5KcHZjawpsRnpBanhZaU9qL0xHWmpZeVhWRWgvejZ2eDZRbFRFazZuVFRYUlQ3NzM5aU1NTmppZXEzSWlWR2dFSkxnYzdZCmVoRWRCemlHWnFMRlp3VjJhYXNYVXQyVmxsM2ZWMEN3QkFucjIycnhXNldicnVXZFBBUkxaN05waWt5Y2FjZ2kKZ2lyaU1DUjRrejZCUGNINzZrV0g3ZGYxUWdSbDdvN3o3N2YzUVZqdEw4U3IvWW5mVU56cEFjSVBmdlZRT2pTNQpQK0dRNHVHVFRmZWZCd0tDQVFFQTJZTXBTVG1qamZsd0txS0VCMUdLYjA4aVNLcEUwMjdjekd5MkZpRUl3d2dtCng5dFNNWEFZVE5qaE9iVjJFM1M1czVKUStRT3gwQWJYTGEwSUVBMFdmL3RTeFQrdW5pSG14V3dwZVRoekNkTjAKeVd3eEhoU09EZk1ETmlkRVdGbGdMR3Q2ODNWSWRhcS9aM1F0WTQrUG82bUJXeStsWmxYUmdwOUlqSjdqVW03bwpQcmRuaGRpN2tsYlB2ci9MUU0yU1dFYWhsRW5vV3VVMjVYRTR4M0lpc3J0YXIxNU1MYkltcDZIczZVbWJUN2twCnc3bE9CUFcwQU55NllGdk9wSUdTY2JLbGZwbnAvSG9WRzY2MzViNGJVSnhHZmIrdFVGbFBEdkxXZnpJaUI2bnMKQ1E4UERaRmxOcU9uQnNRNmpKTHRKZkNOcnN0ZUU5b3RKdmYydWZlMWJRS0NBUUVBb1lGTnJzazhzeWNiR016bgpRT3YzSUhxTnRDb1luR1h5M0tHdVRBTGFhd1o4RkFGeWhaTU8vMnhIeFcvbllVMlRzS2J6czIxR0dSeGlCVGVhCjNCMXMxM1VOUXJjakJvQXhhZTBFS1JLNWtEOEg3VlUybVB0T3JWRDdXK0JVUlNNNGlnbkU4enJ6bmRFa2FMRE4Kc1d6TThGMlROcHkzZGxFbXRRRlNKeE9wVUtuR1lvQlIrai9tNnJTS25NcWJGaXViak5RNnlTN2l2aElnK3pIYwplSXA4ZTNnbzZ4TCtYL2lndUlFbXg3VDBZQWJPN2EzYXhWcmVWVVBSN0pLUTNnQUdFTHBUREdlYTdRZ2pJUkhICnhLeEcxY1ZCZS9FV1A4SmxmdzQ3Z0c4NnRldXVYN3EwZzJpVDIyMkdielcrSGVaTi9ZenJFa1JIYmhOdVhSbFcKNXE3dExRS0NBUUJFY0lXMEdhUEJ6Mk9ndHFRT1hYVE9renE1WElIdGVTdVdVdnAwT2c2MHQwTGtqYmp0LzFSVwpFY1BFVWJtR1k2cnV1cklwdUNUaHpOVTE5UVRkY0JETlVqbjRBSktrQlF6RXY4VEk5SjhWejJnbTNKa1QydW5iCnI4UXA3TzhQVVlmMlVoZE10WEdJUEtLZkhhb09jcVNDblpvckkvSEtJbVNhMGgyVXlZWERjVXc0TjZNbU5VekgKdmZMK0ZRRVNNZHpEVSs0Ulo3UHByY2U1S0FmeWtaSWpaTm9pNWV2WVVQN2lyZ3VLVi9PN2dRcUlJQzFSV0RJOApOemVaakNtWUQ0RVJyMkZ0VldhUFg2WjJvR0lTc3QrTFhMQzlibXROSmR5L1dsOXRoRXU2MTVlQ1BpL0JXQ2RkCnF0NnFQV0lpeXpROVJOUi8xRk9Vc1lpVmcxNHBvNng5QW9JQkFRQ1hTemJad2xHMjl6MVZNcGx3TElDUVlybXAKTHFhbDRmYmZHbnhsY2lZVHp4Mms5NFBoQTQzYm9HaytyMTlReVM1Tzl5YnRPMzhkTW5pVkxCN0JUMjV5RFA1WgpLWGJTa2VYR0RzeTJOZEN4TTdwY0NqZVFaejFjUzVmcVpISHg1SE9OQnp4QVU0T2FFNGZsRDR3U2JtdS9sYm5sCnhHZEpiR0lYeGpjVXllTmk2T3M4SFVPMG9VTzdKZVJmVkp6dlN1cDJLSEhuN0lnNnA5cHkvK2lFZFliMlhsUFAKclNBM0wzeGd0Z2ZwVHJYQ3RrY295TFZPSy9XdzVPVTFRWFRwbE9BT1R1WDdHVGszQ1RSRVY4QnpMV1pwRGpEdgpHOHoyTTlrV1JKdmdMdjgxZS95VnBFS1p3S3VlQXRGK1dUU3VoZHE0c0JQaklzYjhrdFpxenF0UHRxUXgKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -403,7 +403,7 @@ "domain": { "main": "docmost.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDVENDQlBHZ0F3SUJBZ0lTQmEwTm4vSmN2OEEvb2tNUnA2VTdWMXJrTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXhOREEwV2hjTk1qWXdNakU1TWpBeE5EQXpXakFoTVI4d0hRWURWUVFECkV4WmtiMk50YjNOMExtRjBhR0ZzYVdGd2NITXVlSGw2TUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEEKTUlJQ0NnS0NBZ0VBcklFTVRRQWdPWTFUdFZqd216WkNucllyQnZ0Q3I3aThqWDJCOXk4QVF4YjhWWXE2ZjZxbQpCUWVkdnNvdTVPbWtsVjZRNzNhczk4b3lNNmtiVi83UDBPOWwrUkhseFdpU3dvaklDdUk2R1hscStGeTNLOXF3CnB1R3pjbkw5d3FjeC90aE12WFlkVS8vS0N1em1LSFlLUUFtZWdoa0NnelIwWVRkbDJ3QUZzS0U0YldnWUpWeWMKcjZ4RStBaTlGcEU0Z1JJanE5L0F2MU01WmNLOFZYU0w1YkozbUxCNlJVOUpkNDhIenFqTWZ4Z3gzOEpzUGJyUApPaC9mVnBzb3pqSWZQODNSZU8vWURyK1lxZS9qTDQxckdVWW43QTF0VXVTRzhHZjRvUytNZ2YybzZLb0s0cUF0CjFKZjBJMWtNSlR1YWNYbllLYkY1TXE3dGJJSnpadU10dTNZazNPSHBHZmlSc0oxMTUrSmVOWDhna0NYbWk0c1AKOEtDNnFOc3BhZ2JyQjRxeVJ0ZFFLZEI3UEYra00vdnlwWU1ocnFKbVZCRFRQTVhpUmpXREhpbnBuVXVwZjhycwpHNVZDdnI3dXNkS00yY0RCTk1RVGFkRXRNcVpqUk5GckxFclpVYThtMVZxRlN2QUxCUWpqRHRQdXY4blFFSU4xCmdiMk0zcHhWeDl1QkNVN1p5Z0R0Q3cyd1RHZy9HdDVtbFB6RnE3N2xKRm1DczJzODZBbzdTSDJVdEJ2OTZraGwKcEw4dkZWa3YzZEptQUJBeTFqcmVwMlFZaHVKNk1XN1ZpNVZnNGJLMWprTEViRm1BVTBXSEZjWVpQaEk2UWRVVAp2MTZFRFZ3SXI1OE1EY3gwUFVJRlljN1JYMFVYWFM3RkJXMnJIVk1UMTUyL0FKOXNpM2VqT24wQ0F3RUFBYU9DCkFpY3dnZ0lqTUE0R0ExVWREd0VCL3dRRUF3SUZvREFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQVFZSUt3WUIKQlFVSEF3SXdEQVlEVlIwVEFRSC9CQUl3QURBZEJnTlZIUTRFRmdRVWpzZStZaGIvL0tVTkFJUjZxOHM2RmdpQwowTk13SHdZRFZSMGpCQmd3Rm9BVTU2dWZEeXd6b0ZQVFhrOTR5TEtFRGp2V2tqTXdNd1lJS3dZQkJRVUhBUUVFCkp6QWxNQ01HQ0NzR0FRVUZCekFDaGhkb2RIUndPaTh2Y2pFekxta3ViR1Z1WTNJdWIzSm5MekFoQmdOVkhSRUUKR2pBWWdoWmtiMk50YjNOMExtRjBhR0ZzYVdGd2NITXVlSGw2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQgpNQzhHQTFVZEh3UW9NQ1l3SktBaW9DQ0dIbWgwZEhBNkx5OXlNVE11WXk1c1pXNWpjaTV2Y21jdk1UQXhMbU55CmJEQ0NBUVFHQ2lzR0FRUUIxbmtDQkFJRWdmVUVnZklBOEFCM0FFbWNtMm5lSFh6cy9EYmV6WWRrcHJoYnJ3cUgKZ0JuUlZWTDc2ZXNwM2ZqREFBQUJtcWhEQUxrQUFBUURBRWd3UmdJaEFQNnp0WDFFMlk1UkNNcm91anFNWWNzMApPYnVVWDZybkFGamd5T2pHYlYyOUFpRUExZ3RxUCsyMEFScmw2b0ZlYXZBd0E0TTJZNVVxeTB6N01weEluZ0pRCkY2b0FkUUNXbDJTL1ZWaVhyZmREaDJnM0NFSjM2ZkE2MWZhazh6WnVScVEvRDhxcHhnQUFBWnFvUXdFRUFBQUUKQXdCR01FUUNJQk04VkUzbjRDaVJzU3R2U3F4Qm5FM1RkSUhBTWwzLzVvazl0MEFkdDE2UUFpQWo0ZHJEYXV5UQp5NmpwU2VXSTd2WWJxNmRKbFVvZUxHQjNSeGxTM2VyTE56QU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFvSU5jCktlOGNGKzBvSFVNa3MxQVRNOTEwT09kekhkbVlqcWt6b09XcVFyZkszWFF0ZFBqQkx5aFRYOFdJU3kyanVyRUoKRG0xMHdWWk93RHgrYXZqUkN2NDF3TkIydWJrZ2tTdHZYZk9BZ1JKOXhiZGNYZUd2cmlJZVRKN2tnWlJlamNVdQpjOGxCWDFFdjZ4Vy9YQW1PQWZMRkpGeFY2SDU1QWM5anQ3TEhzZ1Y2czNmSkEwL2dVUEd2c0dxZi93MDRQTHV1Cis4YzJiUTBBMnlheFpCZGthWUVTZDhxcmtlRmd0TUl5UENGZTFFNlREK2lhWndDZ25JUW1vTFpFa2NGSm5oMXUKcHp2NGlKYmt0SU5QQS9hOXl6RG0reTRJR1kxbnhZQzFBVWYxaXRGWFB6eFd5VWx2T3YzWjRrbmhZTkE1NFJwOQppQks4UVd2TzhKMnp3WVE0T3c9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJUQ0NBdTJnQXdJQkFnSVFXZ0R5RXRqVXRJRHpra0ZYNmltREJUQU5CZ2txaGtpRzl3MEJBUXNGQURCUApNUXN3Q1FZRFZRUUdFd0pWVXpFcE1DY0dBMVVFQ2hNZ1NXNTBaWEp1WlhRZ1UyVmpkWEpwZEhrZ1VtVnpaV0Z5ClkyZ2dSM0p2ZFhBeEZUQVRCZ05WQkFNVERFbFRVa2NnVW05dmRDQllNVEFlRncweU5EQXpNVE13TURBd01EQmEKRncweU56QXpNVEl5TXpVNU5UbGFNRE14Q3pBSkJnTlZCQVlUQWxWVE1SWXdGQVlEVlFRS0V3MU1aWFFuY3lCRgpibU55ZVhCME1Rd3dDZ1lEVlFRREV3TlNNVE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUNsWjNDTjBGYUJaQlVYWWMyNUJ0U3RHWkNNSmxBM21CWmprbFRiMmN5RUJaUHMwK3dJRzZCZ1VVTkkKZlN2SFNKYWV0QzNhbmNnbk8xZWhuNnZ3MWc3VURqREtiNXV4MGRha25USStXRTQxYjBWWWFIRVgvRDdZWFlLZwpMN0pSYkxBYVhiaFp6alZseUl1aHJ4QTMvK09jWGNKSkZ6VC9qQ3VMamZDOGNTeVREQjBGeExySHphckpYbnpSCnlRSDNuQVAyL0FwZDlOcDc1dHQyUW5EcjlFMGkyZ0IzYjliSlh4ZjkyblV1cFZjTTl1cGN0dUJ6cFdqUG9YVGkKZFlKK0VKL0I5YUxyQWVrNHNRcEV6TlBDaWZWSk5ZSUtOTE1jNllqQ1IwNkNEZ28yOEVkUGl2RXBCSFhhemVHYQpYUDllblppVnVwcEQwRXFpRndVQkJERFRNck9QQWdNQkFBR2pnZmd3Z2ZVd0RnWURWUjBQQVFIL0JBUURBZ0dHCk1CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0RBVEFTQmdOVkhSTUJBZjhFQ0RBR0FRSC8KQWdFQU1CMEdBMVVkRGdRV0JCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekFmQmdOVkhTTUVHREFXZ0JSNQp0Rm5tZTdibDVBRnpnQWlJeUJwWTl1bWJiakF5QmdnckJnRUZCUWNCQVFRbU1DUXdJZ1lJS3dZQkJRVUhNQUtHCkZtaDBkSEE2THk5NE1TNXBMbXhsYm1OeUxtOXlaeTh3RXdZRFZSMGdCQXd3Q2pBSUJnWm5nUXdCQWdFd0p3WUQKVlIwZkJDQXdIakFjb0JxZ0dJWVdhSFIwY0RvdkwzZ3hMbU11YkdWdVkzSXViM0puTHpBTkJna3Foa2lHOXcwQgpBUXNGQUFPQ0FnRUFVVGRZVXFFaW16VzdUYnJPeXBMcUNmTDdWT3dZZi9RNzlPSDVjSExDWmVnZ2ZRaERjb25sCms3S2doOGIwdmkrL1h1V3U3Q044bi9VUGVnMXZvM0crdGFYaXJyeXR0aFFpbkFIR3djL1VkYk95Z0phOXp1QmMKVnlxb0gzQ1hUWERJblQrOGErYzNhRVZNSjJTdCtwU240ZWQrV2tEcDhpanNpanZFeUZ3RTQ3aHVsVzBMdHpqZwo5Zk9WNVBtcmcvenhXYlJ1TCtrMERCREhFSmVubkNzQWVuN2MzNVBteDdqcG1KL0h0Z1JoY256MHlqU0J2eUl3CjZMMVFJdXBrQ3YyU0JPRFQveEREM2dmUVF5S3Y2cm9WNEcyRWhmRXlBc1dwbW9qeGpDVUNHaXlnOTdGdkR0bS8KTksyTFNjOWx5Ykt4QjczSTIrUDJHM0NhV3B2dnBBaUhDVnUzMGpXOEdDeEtkZmhzWHRuSXkyaW1za1FxVloybQowUG14b2JiMjhUdWNyN3hCSzdDdHd2UHJiNzlvczd1MlhQM081ZjliL0g2NkdOeVJyZ2xSWGxyWWpJMW9HWUwvCmY0STFuL1NndXNkYTZXdkE2QzE5MGt4alUxNVkxMm1IVTQrQnh5UjljeDJoaEdTOWZBak1aS0pzczI4cXh2ejYKQXh1NENhRG1STlpwSy9wUXJYRjE3eVhDWGttRVdndlNPRVp5Nlo5cGNiTElWRUdja1YvaVZlcTBBT28ycGtnOQpwNFFSSXkwdEsyZGlSRU5MU0YyS3lzRndiWTZCMjZCRmVGczN2MXNZVlJoRlc5bkxrT3JRVnBvckNTMEt5Wm1mCndWRDg5cVNUbG5jdExjWm5JYXZqS3NLVXUxbkExaVUweVlNZFllcEtSN2xXYm53aGR4M2V3b2s9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdFVENDQlBtZ0F3SUJBZ0lTQmFTSDAweVJzRXRvWVFpU2RnUjlnM0RwTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXhNRE16V2hjTk1qWXdOREl4TVRZeE1ETXlXakFoTVI4d0hRWURWUVFECkV4WmtiMk50YjNOMExtRjBhR0ZzYVdGd2NITXVlSGw2TUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEEKTUlJQ0NnS0NBZ0VBcklFTVRRQWdPWTFUdFZqd216WkNucllyQnZ0Q3I3aThqWDJCOXk4QVF4YjhWWXE2ZjZxbQpCUWVkdnNvdTVPbWtsVjZRNzNhczk4b3lNNmtiVi83UDBPOWwrUkhseFdpU3dvaklDdUk2R1hscStGeTNLOXF3CnB1R3pjbkw5d3FjeC90aE12WFlkVS8vS0N1em1LSFlLUUFtZWdoa0NnelIwWVRkbDJ3QUZzS0U0YldnWUpWeWMKcjZ4RStBaTlGcEU0Z1JJanE5L0F2MU01WmNLOFZYU0w1YkozbUxCNlJVOUpkNDhIenFqTWZ4Z3gzOEpzUGJyUApPaC9mVnBzb3pqSWZQODNSZU8vWURyK1lxZS9qTDQxckdVWW43QTF0VXVTRzhHZjRvUytNZ2YybzZLb0s0cUF0CjFKZjBJMWtNSlR1YWNYbllLYkY1TXE3dGJJSnpadU10dTNZazNPSHBHZmlSc0oxMTUrSmVOWDhna0NYbWk0c1AKOEtDNnFOc3BhZ2JyQjRxeVJ0ZFFLZEI3UEYra00vdnlwWU1ocnFKbVZCRFRQTVhpUmpXREhpbnBuVXVwZjhycwpHNVZDdnI3dXNkS00yY0RCTk1RVGFkRXRNcVpqUk5GckxFclpVYThtMVZxRlN2QUxCUWpqRHRQdXY4blFFSU4xCmdiMk0zcHhWeDl1QkNVN1p5Z0R0Q3cyd1RHZy9HdDVtbFB6RnE3N2xKRm1DczJzODZBbzdTSDJVdEJ2OTZraGwKcEw4dkZWa3YzZEptQUJBeTFqcmVwMlFZaHVKNk1XN1ZpNVZnNGJLMWprTEViRm1BVTBXSEZjWVpQaEk2UWRVVAp2MTZFRFZ3SXI1OE1EY3gwUFVJRlljN1JYMFVYWFM3RkJXMnJIVk1UMTUyL0FKOXNpM2VqT24wQ0F3RUFBYU9DCkFpOHdnZ0lyTUE0R0ExVWREd0VCL3dRRUF3SUZvREFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQVFZSUt3WUIKQlFVSEF3SXdEQVlEVlIwVEFRSC9CQUl3QURBZEJnTlZIUTRFRmdRVWpzZStZaGIvL0tVTkFJUjZxOHM2RmdpQwowTk13SHdZRFZSMGpCQmd3Rm9BVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdNd1lJS3dZQkJRVUhBUUVFCkp6QWxNQ01HQ0NzR0FRVUZCekFDaGhkb2RIUndPaTh2Y2pFeUxta3ViR1Z1WTNJdWIzSm5MekFoQmdOVkhSRUUKR2pBWWdoWmtiMk50YjNOMExtRjBhR0ZzYVdGd2NITXVlSGw2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQgpNQzhHQTFVZEh3UW9NQ1l3SktBaW9DQ0dIbWgwZEhBNkx5OXlNVEl1WXk1c1pXNWpjaTV2Y21jdk1UQTJMbU55CmJEQ0NBUXdHQ2lzR0FRUUIxbmtDQkFJRWdmMEVnZm9BK0FCMkFNczQ5eFdKZklTaFJGOWJ3ZDM3eVc3eW1sbk4KUndwcEJZV3d5eFRERkZqbkFBQUJtK0dIK0RFQUFBUURBRWN3UlFJZ2IvVEsvME1SOW9mcEFCWm9yWDJEcWtmOQpQcFRqbWc3dGtvMmlnYVErV25vQ0lRQ1ZQNFZXQkNvS3dsTW4wc2haVUtMWEUzNSs5Y0NNZDFjTjZhVkd3azN2CkJ3QitBQnFMbldsS1Y1akltYURLaUwzMGo4QzBWbURNdzJBTkgzSDBhZi9IMGF5akFBQUJtK0dIK253QUNBQUEKQlFBNmljcnRCQU1BUnpCRkFpQS8wSzFYRVBJd0ZlYkRKU256UHpRdmtDZzNScTEyU3lENlZmQ20yNlJWNGdJaApBTG90YjMwMWZuVFhWY2xkV2h2cE4zUFRKWHBNaENKQmpFYmlKdUFZeGlnRk1BMEdDU3FHU0liM0RRRUJDd1VBCkE0SUJBUUFma24wOEN3dFNjTGVGQVV1bUptc3I4R0RNbnNiSmRCYlB1bFVUZXFSQmxDMk5oL3djd0NtbHBhbFMKeXYyNS9WTkdnVXFnbDAvSE1PemxRUXBEejlXOWVLb1RzUGVYM21ScE1EUURQYkZEWXArMjhKcEo2S25ubGdHUgpveHRMd2Rpb09Yc3FJZHZhYlRMb0VkcUdEdWZCSkg2U0QvUEJQREZMbGoyVTdjVkREZUtpZVRia1NTV1M4d3lYCjhXOUpyMlp5azd6aUVmTng4MmJSMkVXUnBGQTRwMTBNdU9EU3ErL0E3RlVVa3d1MnlSQTMweU5ad2M0VjJHejEKcGRubGdyenpHL2NGNDFCd21aR1lGdkh4TmdiRzN4VC9KWTZXRzcwa0pzQVFMdE82azh4bkFJQjBCaGNHSUlHTgo4c2wxSjJ0RUNIek91OVl4N3pQUUxpVGp0R1RoCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBcklFTVRRQWdPWTFUdFZqd216WkNucllyQnZ0Q3I3aThqWDJCOXk4QVF4YjhWWXE2CmY2cW1CUWVkdnNvdTVPbWtsVjZRNzNhczk4b3lNNmtiVi83UDBPOWwrUkhseFdpU3dvaklDdUk2R1hscStGeTMKSzlxd3B1R3pjbkw5d3FjeC90aE12WFlkVS8vS0N1em1LSFlLUUFtZWdoa0NnelIwWVRkbDJ3QUZzS0U0YldnWQpKVnljcjZ4RStBaTlGcEU0Z1JJanE5L0F2MU01WmNLOFZYU0w1YkozbUxCNlJVOUpkNDhIenFqTWZ4Z3gzOEpzClBiclBPaC9mVnBzb3pqSWZQODNSZU8vWURyK1lxZS9qTDQxckdVWW43QTF0VXVTRzhHZjRvUytNZ2YybzZLb0sKNHFBdDFKZjBJMWtNSlR1YWNYbllLYkY1TXE3dGJJSnpadU10dTNZazNPSHBHZmlSc0oxMTUrSmVOWDhna0NYbQppNHNQOEtDNnFOc3BhZ2JyQjRxeVJ0ZFFLZEI3UEYra00vdnlwWU1ocnFKbVZCRFRQTVhpUmpXREhpbnBuVXVwCmY4cnNHNVZDdnI3dXNkS00yY0RCTk1RVGFkRXRNcVpqUk5GckxFclpVYThtMVZxRlN2QUxCUWpqRHRQdXY4blEKRUlOMWdiMk0zcHhWeDl1QkNVN1p5Z0R0Q3cyd1RHZy9HdDVtbFB6RnE3N2xKRm1DczJzODZBbzdTSDJVdEJ2OQo2a2hscEw4dkZWa3YzZEptQUJBeTFqcmVwMlFZaHVKNk1XN1ZpNVZnNGJLMWprTEViRm1BVTBXSEZjWVpQaEk2ClFkVVR2MTZFRFZ3SXI1OE1EY3gwUFVJRlljN1JYMFVYWFM3RkJXMnJIVk1UMTUyL0FKOXNpM2VqT24wQ0F3RUEKQVFLQ0FnQm96TEd6YWZzcDI4RmFNQ0ZrdWs4NDZzVXpKWnk2OHNtaVQvaVFPajYzZzVSalI3Zkw3ZG1VdnE3SQpCVDcrRlMvSEN6K1VLNDRqci9SVnpFdnZaci9NV0ZTa1A0cFBKeHZhRVkwdWg0ZnlpQUJEeU5nRFRZWDZySzMvClB2c0pzZGUrMHB1MGtyaDRtcktkZHBUUlNmMHFNRzNhN2VUSDN5dEJFSTNSd2E2elF3N3I4TXlTampRbXljclEKd1VaWEdueXdkVnUwaEdndUZCcVB4d0h5REs4ZEtoSmNjZ0ttYnVmY09jbnRkRUZnaVV0cmZFdVVLUlRTWkNDawpGZmx4WTZQMmVFemxZeGpveE4remhpaUljQ3I3bk5LT0p3NGV5UFZ0d2t5YmFDNjlubVJxalR1MXVNaC9HcDNZCmg3WElQUEMwTmVqc1U0U2xGUDdxNkVuQjNReWZrbWppVEt2d1dOU0xBb1hGMlNQQkptZmhtbys1NnJ4aWk3a2UKb3Rja0hUOXVNemV3VTVaQWh5UDBBckZuNWtNZzRqZnFEeUorekpYa3Z5cm9OMTlLK2JSeW5BUGdTT1RYZ2VnNQpsS2F4WnFrbm1qd3k0Um1weUczazRJTUVNdXZKSU9DMWw4MlBZSUFwK0ZVTFEySXZ4VDFzZmo4RUo3Zm1qbXBRCkVjMXhoSXRGZzhkanRqMjhmTWRNWGNhUndsUzYyU1NNcG94UVdIZldBT0FmS2VuWHNKRE9SWnhIMGJaQklVYjcKQ3VnZWJabG9rYnQ2blc2UmZMdHhtcjFTNHZtdXhzbFRiQnRsQXlvSkJoRFhzWWZPcTBNVXNJbVU0eTFadXZtWQpMSmxXclZ4bmd6OEhJMWZxZjJIczB4UUJCbmJDUG5GbDdGWENJYkI0SmRzU3RYZ2p4UUtDQVFFQTFKOFJhQ2o1Ck9oU2hHSkFMa0tIM1lUcGt0ZkpYMkFCZW5peDdrUWJwQUZnRzE5NlBoUXAyTGFiZVk0UklSd2FLYWFlOThZVGIKNUNSOUdSZDhJemg3ZE5wcXRCOEtRQU5iZ3pBcUE1STdDVjQrRWl2aFhQclpyeXcrb3pEQy80cmlJU2ZTL2hrQQpzNk9pRzBKdlhhdndZa1Y5cndqK3pYeEhIZk0xdGk3OFFIQzdNVTRQNzhWd3VNNS9EYnpwbVJzT29tOTlnQ1pwCjIrOFZJK1dveEpoUDRkb3JIRU5hUlJ0Z1ByaEJnMUMycklaUmN0Z0lBOXpYZ1BsZWZPTU90N0JFQmhjUXJlVFgKY0szNDRCR25Fa3NGVnpkdDYwdVl4RkliYzZOM05nb1lPelJTWGFtbUx0bCs2c3ZOU0VxcTQ5T2pFTXdrdTQ4cApnWVhzTDBBb1NLZmh4d0tDQVFFQXo3SzFXbzFJQzB5Q3ZWYnJNc0RDeVhhdGp6dUMxeEprSlY0OXJEMjc5dThBCndqaDBKNUdVQzFLVFVtSWtxZG1nTi9SZm5DcS81QzByQ0NyWTN2UUgvUTZOZVN1S202QXMzUVhGRWtvYlZWd1EKanltV242cnZ6b1dua1JVL1NxOC84UlpENENHdlBrZHV5dzRrNXIwcVEvb0VkdjcrRWRkZVJKTkZuRHRqUWZGRQp0djM2NkNmak0vR2htVVVIaEVCNk5UcGkzek1KWkNpaGZ0SjhWY01wTTU4Z1VFOGh1VDZwdFhvRllKWDNyZE0rCjh0R0hSUXhuQU4yNkJDL09Ra1pwMzBsVzNzd2tUeDY4NENYeWk2V1A0Z2lyRmt2Nm1KaVBzYUdaajdWOWFuSU4KbUI1RlRKSEE3dS9ONUxJVG9Ta2dJUFlEVEpHaUR0dXRFL3Q5K1FaQm13S0NBUUJEOVUrbi9paWlvc05XeVh1WQp6OXYwektneDYzS2VUSWZ4Z0lCQ08zWXZzUE1HL2xEYkVodnh2WHNwVGJlWVZBUGJmMHpickQ1b0xpMTUzcUxECjB5TEtsNkV4VHhhRW5VNGJvVUpjZjltMHhkV0xFMUZsMlp2SVBKa01xZUk1c1ZkVGg1b05zMG9oSUxVSWgzUjIKK1NUTkZDNzJ5aVkrNFhFTnBwWE5WRGsyRTVJUlVVVVF1d2VyV2YwTUZBeUo3amNBUGloYjFHdFRhNWhUTCsyQQpZTHB2a3I3aXVyaFlqRVozNVlhekJSSk9GR1JtRTV5RU40cjk0emFMTGp1ZkJJekpjWWZZUE9PTFZWL05wbmJECkJ3MSs4ZTJGSGxXR3NrT3A4MTUvL0R3QWVGbTNMQ2s4b2pISnREZzUyZnZDOC9zVHZGd2xRcjNlYzBLcFc1VkUKbTd3ekFvSUJBUUMwVmQ5Kzh5SzFwTVh6cmU5alR0a1I0YmlLbjhwWUFVRHc3U1d4VXB6TXAvSkpzSWl4L29YRApXdnhOVUtleXppRjkwL0hiLzRaRGtUQkcxQ1VmV0ZWRFZJcGp4Zm1BYkkvbmpHWHpIbU1qTjErdFhoZkpKTHM0CjN2V0NWQ2R6S2p6amtFaDQ1K1pudGRBdUFHYnI3UjB3am5tbjlIa1hkcDhEL2JjNEVweDVHZ3BtdEpsUlQ2akgKWmlyQWtKNFpKMzYwanJCZ1Nja0NyUUNqeEJCdXlwZ1FtVDZPWEZiVXArTGtqa0R5L3VOaGl3U2lBbWxuKzMvSAowYno4ZTZHa0M4MUxNVHQ3RVZjSlY0LzVNeG1vUktWc1JjaC9BSk5pUVR5cXA3eFVlZW1lTGM4OTRES2RiQVJQCnNlbGNnMzNsdFhhUEIrd1BaSGVJWFJhblBmcS82TDIzQW9JQkFRQzdUQVcrbmFreTFoNW1SSVNzOGJJVldSelcKU09PbFhiZlR2Z0ovbW9yakhCMHlmdHNsZ0FZWktSZmtNSmFnb21wVTlLaHpFbVpMVmNPWlRVVUlvVzJCVCs4eAppN01lWWlDbnlBV2dmK0txVGxBWTNyR2phSWdCTTQwZ0NvZTZxQ1Y3ZW9SUjVnN2RKbGo2VW9Pd2ZrN2xyODZMCnNaTmZYWitpbmxpYTRXNEJBakVWVElCMmZMdlJhTjNUN2pMMUdINGpQOU1zNXZiWDM0NWR1QkFQekVSY2hqZ20KTHdEUGtvQUJRN2ZzcXlJbVpLcnUrUmovN0h0cUJJejlSR29SQjhlN1had09DK3praGUzVGkrM2hzeXpDaldqWApibUM1NXZ3OWRDYmtZUU5WQzZsclFCeG1NNEp5d09xSmRHc1QwcW9TVFNyeXh6ZHFCNlZiQjJCbUlmY2gKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -411,7 +411,7 @@ "domain": { "main": "terraforming-mars.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdHekNDQlFPZ0F3SUJBZ0lTQmFDdTNHOHZtYWZMd2ZyVk9IcUEweVNRTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXhOREV6V2hjTk1qWXdNakU1TWpBeE5ERXlXakFyTVNrd0p3WURWUVFECkV5QjBaWEp5WVdadmNtMXBibWN0YldGeWN5NWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y04KQVFFQkJRQURnZ0lQQURDQ0Fnb0NnZ0lCQUtjMTFMMldTVVhNeEpuZXQyTkgxeTZpWTBnR2diS2ZNWDhnaUI5YwpyWnJOa3FvNW9qdjBlTC9pZTJMYzBiZjk3K3BTdGJhYit1RlpDb0dZTVc2YkMzVk9VYURYajdIdndnWlordStFCllZbzgvaEJ5QXJobFdHWUU1Sll0T2xZckJGSGEvSGRTc1ZDNmVpRDJvUkltYzFjd2hFZFpDbWQrbGxraTZFaEYKSDZFQzVhcnFNRjRXTU42UmZlV3FFUmxyd1lnWUFFSkdDSndQVy9aMUdNSUxPYmxXVHNLVE5JZDRIdVlqVVEvTQo1NlMyOEEwSWVjRGpzdzRGZ0ZSdkhiVVdrUlo5V25XVkRFOUxGbndLM243UW4rUElYbGtXdDVDSXhBdy91aTg5ClB6ZGFja3J1WlhMS2JCb0pkb25yMWhoN01NMkkvdUNyN0h6UFI0L3lza3B3SzRtQmRUd203ZldKYndlV09HTHcKZFQ3NitIcDFXd25UMXRkb1BzZmRxMEppUm1lZ3ZjNmdpT3dhak5NdmUrRHB6Vk5wMjRFaENCUnRSa2gyYTU3ZApVdlh0WnJWMitlQmM0ajN4SVBCNXQ0TndpRXVWdHVIU05KdGhuNHVTUUpab21EUDUzM2E2RHFJcWlGa2J3RVFaCms5YUFycGRxV3BRWTllQkRFRDBHa2JuWHNrMlMyc3FjSEh5bEFIMFc4YngzVzJjN09HZ3JvWnpyY01qejNUbUwKUG13M0drWi9uNzZGRStBS3lkV3VJNktwOVN4Y2VDYnQ4V2hYbW5vNFUxUjcwZ1RhRjFCUjBxMllzVWRZcitUbwpXQkVCUG8rajE1M0lON1U0U1FhMjl3TzJpTVh3TEc0ZHlqQzFsMVFJV1llaDdtRkxZS0Z3MnFqcW5OT3BLV05uCjJveUhBZ01CQUFHamdnSXZNSUlDS3pBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUIKQlFVSEF3RUdDQ3NHQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZKeWRIYW90S3EzZgpucVRlZmRNckFmRFJRNm9sTUI4R0ExVWRJd1FZTUJhQUZPZXJudzhzTTZCVDAxNVBlTWl5aEE0NzFwSXpNRE1HCkNDc0dBUVVGQndFQkJDY3dKVEFqQmdnckJnRUZCUWN3QW9ZWGFIUjBjRG92TDNJeE15NXBMbXhsYm1OeUxtOXkKWnk4d0t3WURWUjBSQkNRd0lvSWdkR1Z5Y21GbWIzSnRhVzVuTFcxaGNuTXVZWFJvWVd4cFlYQndjeTU0ZVhvdwpFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3TGdZRFZSMGZCQ2N3SlRBam9DR2dINFlkYUhSMGNEb3ZMM0l4Ck15NWpMbXhsYm1OeUxtOXlaeTh4Tnk1amNtd3dnZ0VEQmdvckJnRUVBZFo1QWdRQ0JJSDBCSUh4QU84QWRnQmsKRWNSc3BCTHNwNGtjb2dJdUFMeXJUeWdIMUI0MUo2dnEvdFVEeVgzTjhBQUFBWnFvUXlIbEFBQUVBd0JITUVVQwpJUURIL05vUzc5WTA1bjhobjkxdGRVMXA5V05nbnNWVFFma0pkQTRjbk1heE1RSWdCWTZVZE5mU3VPbXlGU0xRCm0ycW5TS0MzZmdscEJsMzFKaWVUd3ZIWjcwQUFkUUNXbDJTL1ZWaVhyZmREaDJnM0NFSjM2ZkE2MWZhazh6WnUKUnFRL0Q4cXB4Z0FBQVpxb1F5SThBQUFFQXdCR01FUUNJR21nZHNsU3FvSFJRcmZ2dnAwOGR3Vnd5UmovTVVlZQpOL0pCakRudlg2eHNBaUJBM0pzZHl4SDlPeUhVaUt6djJ1QStUaGpvTGRhVGcvY0JBSXVmL1VydHd6QU5CZ2txCmhraUc5dzBCQVFzRkFBT0NBUUVBbWNhaVh5ZnlQM2ZFZyswb1ZGd1h2YlpXc0xlbFhIaDJqQTM1RDZuQlJkODcKcTdneDg0eHB1MFRTZDUzbFVLMThQVlgyR0ZJdU9GSFpSTmdSdHh2ZHZ4NnpDay9QNk5rdkRNVlpHak5remJ0NQpRRlNyZ3BISEtaZzN0bDIzL0JrQUJwR2hTOHFqRFhPMktVOTRMd0VyK2lQKy8yTXlZMmdVbVlRUXVqTzlUbDVqCktJbEF4YWs4RkxPOHJydDU0VkNKSDdnaXZNdDVBWkNFOFV6NHNVbGtUNWh6V2NXMHlKVVlyQXhMajdDd3YyN1IKbzBVUHE2WWEyenJpMFZZSWVrcFk3SDgxVHlYQ1M0SXpNV2RtRHUrajROTGQvUGdlTkU2Y0VRNDFwand0azhQZApTd011TnhBaE1tdTVEY0ZZNDFjVWgvOExnY2R1bSszZk5VeDNyU3NacVE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJUQ0NBdTJnQXdJQkFnSVFXZ0R5RXRqVXRJRHpra0ZYNmltREJUQU5CZ2txaGtpRzl3MEJBUXNGQURCUApNUXN3Q1FZRFZRUUdFd0pWVXpFcE1DY0dBMVVFQ2hNZ1NXNTBaWEp1WlhRZ1UyVmpkWEpwZEhrZ1VtVnpaV0Z5ClkyZ2dSM0p2ZFhBeEZUQVRCZ05WQkFNVERFbFRVa2NnVW05dmRDQllNVEFlRncweU5EQXpNVE13TURBd01EQmEKRncweU56QXpNVEl5TXpVNU5UbGFNRE14Q3pBSkJnTlZCQVlUQWxWVE1SWXdGQVlEVlFRS0V3MU1aWFFuY3lCRgpibU55ZVhCME1Rd3dDZ1lEVlFRREV3TlNNVE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUNsWjNDTjBGYUJaQlVYWWMyNUJ0U3RHWkNNSmxBM21CWmprbFRiMmN5RUJaUHMwK3dJRzZCZ1VVTkkKZlN2SFNKYWV0QzNhbmNnbk8xZWhuNnZ3MWc3VURqREtiNXV4MGRha25USStXRTQxYjBWWWFIRVgvRDdZWFlLZwpMN0pSYkxBYVhiaFp6alZseUl1aHJ4QTMvK09jWGNKSkZ6VC9qQ3VMamZDOGNTeVREQjBGeExySHphckpYbnpSCnlRSDNuQVAyL0FwZDlOcDc1dHQyUW5EcjlFMGkyZ0IzYjliSlh4ZjkyblV1cFZjTTl1cGN0dUJ6cFdqUG9YVGkKZFlKK0VKL0I5YUxyQWVrNHNRcEV6TlBDaWZWSk5ZSUtOTE1jNllqQ1IwNkNEZ28yOEVkUGl2RXBCSFhhemVHYQpYUDllblppVnVwcEQwRXFpRndVQkJERFRNck9QQWdNQkFBR2pnZmd3Z2ZVd0RnWURWUjBQQVFIL0JBUURBZ0dHCk1CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0RBVEFTQmdOVkhSTUJBZjhFQ0RBR0FRSC8KQWdFQU1CMEdBMVVkRGdRV0JCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekFmQmdOVkhTTUVHREFXZ0JSNQp0Rm5tZTdibDVBRnpnQWlJeUJwWTl1bWJiakF5QmdnckJnRUZCUWNCQVFRbU1DUXdJZ1lJS3dZQkJRVUhNQUtHCkZtaDBkSEE2THk5NE1TNXBMbXhsYm1OeUxtOXlaeTh3RXdZRFZSMGdCQXd3Q2pBSUJnWm5nUXdCQWdFd0p3WUQKVlIwZkJDQXdIakFjb0JxZ0dJWVdhSFIwY0RvdkwzZ3hMbU11YkdWdVkzSXViM0puTHpBTkJna3Foa2lHOXcwQgpBUXNGQUFPQ0FnRUFVVGRZVXFFaW16VzdUYnJPeXBMcUNmTDdWT3dZZi9RNzlPSDVjSExDWmVnZ2ZRaERjb25sCms3S2doOGIwdmkrL1h1V3U3Q044bi9VUGVnMXZvM0crdGFYaXJyeXR0aFFpbkFIR3djL1VkYk95Z0phOXp1QmMKVnlxb0gzQ1hUWERJblQrOGErYzNhRVZNSjJTdCtwU240ZWQrV2tEcDhpanNpanZFeUZ3RTQ3aHVsVzBMdHpqZwo5Zk9WNVBtcmcvenhXYlJ1TCtrMERCREhFSmVubkNzQWVuN2MzNVBteDdqcG1KL0h0Z1JoY256MHlqU0J2eUl3CjZMMVFJdXBrQ3YyU0JPRFQveEREM2dmUVF5S3Y2cm9WNEcyRWhmRXlBc1dwbW9qeGpDVUNHaXlnOTdGdkR0bS8KTksyTFNjOWx5Ykt4QjczSTIrUDJHM0NhV3B2dnBBaUhDVnUzMGpXOEdDeEtkZmhzWHRuSXkyaW1za1FxVloybQowUG14b2JiMjhUdWNyN3hCSzdDdHd2UHJiNzlvczd1MlhQM081ZjliL0g2NkdOeVJyZ2xSWGxyWWpJMW9HWUwvCmY0STFuL1NndXNkYTZXdkE2QzE5MGt4alUxNVkxMm1IVTQrQnh5UjljeDJoaEdTOWZBak1aS0pzczI4cXh2ejYKQXh1NENhRG1STlpwSy9wUXJYRjE3eVhDWGttRVdndlNPRVp5Nlo5cGNiTElWRUdja1YvaVZlcTBBT28ycGtnOQpwNFFSSXkwdEsyZGlSRU5MU0YyS3lzRndiWTZCMjZCRmVGczN2MXNZVlJoRlc5bkxrT3JRVnBvckNTMEt5Wm1mCndWRDg5cVNUbG5jdExjWm5JYXZqS3NLVXUxbkExaVUweVlNZFllcEtSN2xXYm53aGR4M2V3b2s9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdKVENDQlEyZ0F3SUJBZ0lTQmJocUREc041amlibG5aeHA5dVN2eTNKTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRJeE1UWXhNRFF4V2hjTk1qWXdOREl4TVRZeE1EUXdXakFyTVNrd0p3WURWUVFECkV5QjBaWEp5WVdadmNtMXBibWN0YldGeWN5NWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y04KQVFFQkJRQURnZ0lQQURDQ0Fnb0NnZ0lCQUtjMTFMMldTVVhNeEpuZXQyTkgxeTZpWTBnR2diS2ZNWDhnaUI5YwpyWnJOa3FvNW9qdjBlTC9pZTJMYzBiZjk3K3BTdGJhYit1RlpDb0dZTVc2YkMzVk9VYURYajdIdndnWlordStFCllZbzgvaEJ5QXJobFdHWUU1Sll0T2xZckJGSGEvSGRTc1ZDNmVpRDJvUkltYzFjd2hFZFpDbWQrbGxraTZFaEYKSDZFQzVhcnFNRjRXTU42UmZlV3FFUmxyd1lnWUFFSkdDSndQVy9aMUdNSUxPYmxXVHNLVE5JZDRIdVlqVVEvTQo1NlMyOEEwSWVjRGpzdzRGZ0ZSdkhiVVdrUlo5V25XVkRFOUxGbndLM243UW4rUElYbGtXdDVDSXhBdy91aTg5ClB6ZGFja3J1WlhMS2JCb0pkb25yMWhoN01NMkkvdUNyN0h6UFI0L3lza3B3SzRtQmRUd203ZldKYndlV09HTHcKZFQ3NitIcDFXd25UMXRkb1BzZmRxMEppUm1lZ3ZjNmdpT3dhak5NdmUrRHB6Vk5wMjRFaENCUnRSa2gyYTU3ZApVdlh0WnJWMitlQmM0ajN4SVBCNXQ0TndpRXVWdHVIU05KdGhuNHVTUUpab21EUDUzM2E2RHFJcWlGa2J3RVFaCms5YUFycGRxV3BRWTllQkRFRDBHa2JuWHNrMlMyc3FjSEh5bEFIMFc4YngzVzJjN09HZ3JvWnpyY01qejNUbUwKUG13M0drWi9uNzZGRStBS3lkV3VJNktwOVN4Y2VDYnQ4V2hYbW5vNFUxUjcwZ1RhRjFCUjBxMllzVWRZcitUbwpXQkVCUG8rajE1M0lON1U0U1FhMjl3TzJpTVh3TEc0ZHlqQzFsMVFJV1llaDdtRkxZS0Z3MnFqcW5OT3BLV05uCjJveUhBZ01CQUFHamdnSTVNSUlDTlRBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUIKQlFVSEF3RUdDQ3NHQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZKeWRIYW90S3EzZgpucVRlZmRNckFmRFJRNm9sTUI4R0ExVWRJd1FZTUJhQUZPZXJudzhzTTZCVDAxNVBlTWl5aEE0NzFwSXpNRE1HCkNDc0dBUVVGQndFQkJDY3dKVEFqQmdnckJnRUZCUWN3QW9ZWGFIUjBjRG92TDNJeE15NXBMbXhsYm1OeUxtOXkKWnk4d0t3WURWUjBSQkNRd0lvSWdkR1Z5Y21GbWIzSnRhVzVuTFcxaGNuTXVZWFJvWVd4cFlYQndjeTU0ZVhvdwpFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3TGdZRFZSMGZCQ2N3SlRBam9DR2dINFlkYUhSMGNEb3ZMM0l4Ck15NWpMbXhsYm1OeUxtOXlaeTgzTkM1amNtd3dnZ0VOQmdvckJnRUVBZFo1QWdRQ0JJSCtCSUg3QVBrQWR3QkoKbkp0cDNoMTg3UHcyM3MySFpLYTRXNjhLaDRBWjBWVlMrK25yS2QzNHd3QUFBWnZoaUJjbEFBQUVBd0JJTUVZQwpJUUNGb1p5Q0xHaURWTllQcGRROXZSY2hkTWI5d1pRNzl5VFd5TDlYWDA0VDRnSWhBS1ozMEJOM084M1RiMU5vCktpdTZwV1RuRnV0UGk4L1UwZi9FMEFKTXRnZm1BSDRBR291ZGFVcFhtTWlab01xSXZmU1B3TFJXWU16RFlBMGYKY2ZScC84ZlJyS01BQUFHYjRZZ1p2QUFJQUFBRkFEcUp6TXNFQXdCSE1FVUNJUUN2bUJVTG1NSmQwRFFOdzI5eQo1MTJEV1JxUGJGcVFZSnA1RGVMTTk2MmRGQUlnWnNKOStJMWFDYXBldStJMlNIWWFXNXcxTTdnZlVrZXk3eHdZCjNtRnZZWGN3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUlLdXVnd3FSeCtzUkxTdm1aMGZlRGZpd01OVHdKYWgKT2x1NUljek1idWc5THZOcWNLWnVJUHprVG9jSktxcDE5MlpQRkgvS3gweHVMb0Vka3lhM290bUJWaURHM29IMgpKemp4T0R6U0pESWpXV0tXV01lWmhNOXJZMDBxYTRGbWx1cVhQNE1UMW5SUWptQk9HY2xVSWdaa3VSd1QyTzgrCmJTeE1XcDhVWDNNQnlBTXFTejRZMUZ6RU1BTHp6QTJvR1V1Z3lTdnF4a2RieVI5MjgvYXUyTkF2VG8rNlN0VjAKd3grWXA1TjVTbXlHMkRnd1FEcGNpRzA2RkVxRXU4NEhnZy9MLzQySS9KcFdNUHFNbXJsS3JzQ01BTldpR2pURQpmSWtJa1hxUTYwTmZaZzBiaVdvVE81QVBOMWN6NTVub2c3MmJQTWg4Tk5IOU5pV2pIbzEzemZvPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJUQ0NBdTJnQXdJQkFnSVFXZ0R5RXRqVXRJRHpra0ZYNmltREJUQU5CZ2txaGtpRzl3MEJBUXNGQURCUApNUXN3Q1FZRFZRUUdFd0pWVXpFcE1DY0dBMVVFQ2hNZ1NXNTBaWEp1WlhRZ1UyVmpkWEpwZEhrZ1VtVnpaV0Z5ClkyZ2dSM0p2ZFhBeEZUQVRCZ05WQkFNVERFbFRVa2NnVW05dmRDQllNVEFlRncweU5EQXpNVE13TURBd01EQmEKRncweU56QXpNVEl5TXpVNU5UbGFNRE14Q3pBSkJnTlZCQVlUQWxWVE1SWXdGQVlEVlFRS0V3MU1aWFFuY3lCRgpibU55ZVhCME1Rd3dDZ1lEVlFRREV3TlNNVE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUNsWjNDTjBGYUJaQlVYWWMyNUJ0U3RHWkNNSmxBM21CWmprbFRiMmN5RUJaUHMwK3dJRzZCZ1VVTkkKZlN2SFNKYWV0QzNhbmNnbk8xZWhuNnZ3MWc3VURqREtiNXV4MGRha25USStXRTQxYjBWWWFIRVgvRDdZWFlLZwpMN0pSYkxBYVhiaFp6alZseUl1aHJ4QTMvK09jWGNKSkZ6VC9qQ3VMamZDOGNTeVREQjBGeExySHphckpYbnpSCnlRSDNuQVAyL0FwZDlOcDc1dHQyUW5EcjlFMGkyZ0IzYjliSlh4ZjkyblV1cFZjTTl1cGN0dUJ6cFdqUG9YVGkKZFlKK0VKL0I5YUxyQWVrNHNRcEV6TlBDaWZWSk5ZSUtOTE1jNllqQ1IwNkNEZ28yOEVkUGl2RXBCSFhhemVHYQpYUDllblppVnVwcEQwRXFpRndVQkJERFRNck9QQWdNQkFBR2pnZmd3Z2ZVd0RnWURWUjBQQVFIL0JBUURBZ0dHCk1CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0RBVEFTQmdOVkhSTUJBZjhFQ0RBR0FRSC8KQWdFQU1CMEdBMVVkRGdRV0JCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekFmQmdOVkhTTUVHREFXZ0JSNQp0Rm5tZTdibDVBRnpnQWlJeUJwWTl1bWJiakF5QmdnckJnRUZCUWNCQVFRbU1DUXdJZ1lJS3dZQkJRVUhNQUtHCkZtaDBkSEE2THk5NE1TNXBMbXhsYm1OeUxtOXlaeTh3RXdZRFZSMGdCQXd3Q2pBSUJnWm5nUXdCQWdFd0p3WUQKVlIwZkJDQXdIakFjb0JxZ0dJWVdhSFIwY0RvdkwzZ3hMbU11YkdWdVkzSXViM0puTHpBTkJna3Foa2lHOXcwQgpBUXNGQUFPQ0FnRUFVVGRZVXFFaW16VzdUYnJPeXBMcUNmTDdWT3dZZi9RNzlPSDVjSExDWmVnZ2ZRaERjb25sCms3S2doOGIwdmkrL1h1V3U3Q044bi9VUGVnMXZvM0crdGFYaXJyeXR0aFFpbkFIR3djL1VkYk95Z0phOXp1QmMKVnlxb0gzQ1hUWERJblQrOGErYzNhRVZNSjJTdCtwU240ZWQrV2tEcDhpanNpanZFeUZ3RTQ3aHVsVzBMdHpqZwo5Zk9WNVBtcmcvenhXYlJ1TCtrMERCREhFSmVubkNzQWVuN2MzNVBteDdqcG1KL0h0Z1JoY256MHlqU0J2eUl3CjZMMVFJdXBrQ3YyU0JPRFQveEREM2dmUVF5S3Y2cm9WNEcyRWhmRXlBc1dwbW9qeGpDVUNHaXlnOTdGdkR0bS8KTksyTFNjOWx5Ykt4QjczSTIrUDJHM0NhV3B2dnBBaUhDVnUzMGpXOEdDeEtkZmhzWHRuSXkyaW1za1FxVloybQowUG14b2JiMjhUdWNyN3hCSzdDdHd2UHJiNzlvczd1MlhQM081ZjliL0g2NkdOeVJyZ2xSWGxyWWpJMW9HWUwvCmY0STFuL1NndXNkYTZXdkE2QzE5MGt4alUxNVkxMm1IVTQrQnh5UjljeDJoaEdTOWZBak1aS0pzczI4cXh2ejYKQXh1NENhRG1STlpwSy9wUXJYRjE3eVhDWGttRVdndlNPRVp5Nlo5cGNiTElWRUdja1YvaVZlcTBBT28ycGtnOQpwNFFSSXkwdEsyZGlSRU5MU0YyS3lzRndiWTZCMjZCRmVGczN2MXNZVlJoRlc5bkxrT3JRVnBvckNTMEt5Wm1mCndWRDg5cVNUbG5jdExjWm5JYXZqS3NLVXUxbkExaVUweVlNZFllcEtSN2xXYm53aGR4M2V3b2s9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBcHpYVXZaWkpSY3pFbWQ2M1kwZlhMcUpqU0FhQnNwOHhmeUNJSDF5dG1zMlNxam1pCk8vUjR2K0o3WXR6UnQvM3Y2bEsxdHB2NjRWa0tnWmd4YnBzTGRVNVJvTmVQc2UvQ0JsbjY3NFJoaWp6K0VISUMKdUdWWVpnVGtsaTA2VmlzRVVkcjhkMUt4VUxwNklQYWhFaVp6VnpDRVIxa0taMzZXV1NMb1NFVWZvUUxscXVvdwpYaFl3M3BGOTVhb1JHV3ZCaUJnQVFrWUluQTliOW5VWXdnczV1VlpPd3BNMGgzZ2U1aU5SRDh6bnBMYndEUWg1CndPT3pEZ1dBVkc4ZHRSYVJGbjFhZFpVTVQwc1dmQXJlZnRDZjQ4aGVXUmEza0lqRUREKzZMejAvTjFweVN1NWwKY3Nwc0dnbDJpZXZXR0hzd3pZais0S3ZzZk05SGovS3lTbkFyaVlGMVBDYnQ5WWx2QjVZNFl2QjFQdnI0ZW5WYgpDZFBXMTJnK3g5MnJRbUpHWjZDOXpxQ0k3QnFNMHk5NzRPbk5VMm5iZ1NFSUZHMUdTSFpybnQxUzllMW10WGI1CjRGemlQZkVnOEhtM2czQ0lTNVcyNGRJMG0yR2ZpNUpBbG1pWU0vbmZkcm9Pb2lxSVdSdkFSQm1UMW9DdWwycGEKbEJqMTRFTVFQUWFSdWRleVRaTGF5cHdjZktVQWZSYnh2SGRiWnpzNGFDdWhuT3R3eVBQZE9ZcytiRGNhUm4rZgp2b1VUNEFySjFhNGpvcW4xTEZ4NEp1M3hhRmVhZWpoVFZIdlNCTm9YVUZIU3JaaXhSMWl2NU9oWUVRRStqNlBYCm5jZzN0VGhKQnJiM0E3YUl4ZkFzYmgzS01MV1hWQWhaaDZIdVlVdGdvWERhcU9xYzA2a3BZMmZhakljQ0F3RUEKQVFLQ0FnRUFnbitVeFZJaFpZUm1lK0JDS0EzTmR1dnRxQ3pMMUdoQjdRR3F1eTlObmwrS2M2Zi9ZZU51eWZNcwpjUC85L1NjR3MwNVIyMjdvNGk3bjhEU2pmN3NwdWllaHRYSUhCOHdqRlduc1dqcHJGY1I4Vk1GbU5odUNYank3CldpbDZPZjNncFRIUGtDRE5tait2U1VLeWVzUGZpTkNvckRabDFGZ0xadzNEVTRQL0oxNW5lSGpGdnVoNnczbXgKVkNqaXA0QmR6cVZNcm15U0U1bzVINlJMNmtWd2k2RThYc2NjWEEzM3I0MG9tcmhFb1Z6VkJKYjB6d0htb0s3UwpkUk16a0QxSWh0RFdaS1lxc1VmZENIcERJNTRXNjJOWm54WUh0Wm5IeC9lRWk1RzFZTElLT1VqTmpFVkhFUnNKCmxLS211UHlNSGgwcExwZC9QZmxYMUpTSmFXY1owamhrZ2VXR28ySVN5S3ZZSFRKN2Y1cVNnOUNabHBROFF6UEkKRCtJRTRONWE5Y2tRbk52eG5yUzNZdFRhWFhhZGZHRTA3MnA5MnJNaVZBTlJBdDk4SjAweXRXY3IrY0RsVDgvOApYVVg4SE1mUWU1MG1iYTdkVDFBKzFzVmxQY0JIbE9UNW1XbGNYNFV0NVF4M0h3NzV5S1VFWHVGQUpWaDhCR2lhCnAxYlRUbjhMQjNDTWlPTS9zUnZCVnlHenkzRGFYaVNXcks3Q3E1WlRoaVBVaGloQktXZnVWTXIrN3duNHFFK0wKL3NPRExLekgrY2F0UCs1SDFTNnhjTWgzVnpUTWdld1pyVHJoUGVyK1ZEQlM4eG9XTzBiN2lRbmZ6b0hLV3BEcwpyOFpyNllidWMvVGlqNEZqenQ0VEpQc2xXQnpLMysvUzREQ2Ezd3BZRVdEZHRqQkFhYUVDZ2dFQkFOS0FQOE5vCkJRNHY1ZTB4dEFPZWwzUWJneDNvMi9tOUNtaDVUMmZoZDhvOWlsWjFIdWZJTWNlR2dOamhnTEdqcDFyelhjcVkKQVRJd0xQVVpHaDFoUEZSRnFWbkllT3hSaWtvZ1ZqZ0daKzRhbU9NYXBMMVVWMXpTTUg2SHFKaXNaY012aG53MQpWTGUrNlZqSEc3c3hDUkJENWtCWDZhMlFtOENPUXgrb1RHaVh3ekNjME11WEhCVU5qLzdNaDI1QUFXNngyNjFCClJad1lEVU1tRjRHTXdlWFM2V0hpNWlrOHd0VVpxWXgvMjhiRHpNOVZkclVoeUVLNU5kS1FKeUhDdE94dndtejMKMnJrcGpzNTdMZERFSUlKcE5OajV0eXdXYnRXNURNUngwTkhTNHN1M202U0FvNFNzc0t5SHJ6MDBjZTNYVG9aRQplZ2tRTndzbjhuNnhBRE1DZ2dFQkFNdGFLRDQrSHpTUVlWb1AzZzlldmYvUXZlaGR2aEcrT3dmWDN2UXNQS2RQCm5aWFpRMzB1RU16ckJDTStzTys4QnBqQ25lZXR6OVpoQWYyMEcxSDZPRDF5S0J6eUlwcitOWjRzS1JjRmhQVDYKZ1AvQ0tiY2xXRS9FZmQ4SFgzWERUR3RFcUZWeG9nR3FOclk5VHkxNDJNYlJ4dnBvTFFKTlVaNjRsNGppRXNwSgo1WEEzWnVnS3dEampaVng2NkpNZVB0MVdySCs5cnlKWWFSYnlKSmk1QVNQazNDMjNHL0ZmcVUrYzY5azhqUmJJCk1aSkQvVGp6emdQOVc3dFBCVlNZZjNrOC85alBhSHZqUWdhM2VJc2J5bVFER2R3RkhtWUgzZ3JxeVB0cE1Nd0wKcVBKVk5VWTlLRnY0WUhXVEFWTUlqUnl5VGpHMEhZUndiSzhSU0NqYW5sMENnZ0VBRGJJYWMvUkluK3V0NGdqaAoxWHAwRURIYURoQWdmOWMwM2lkR2ExUFlIMmh4bjc1dkRGV1NKNUV3d091ckcrT3g5OUR0d1VpeWl6bG5NMnMyCnI4S3IwaS9XSE9sV05NbjVYV2xOTXNmMzZ4My81SWJQUVNKRHJONWdHVnRxTk1UQ3VqaFZYNjk0bTV2b1FzWngKbjNSSlNxMmdSWDl5ek1BajRodGZjcWZZa05XTzlaSytZd0NwNnhTKzBhMHRBcGRYZ0lSQjdydlljNWQ5QldsdApEaGpDWk5tY0phcEZuMWs4cy9DL2YweXlWL1JWVndnUWVTaUJoeFhWMHFWZVptdnNxWlY3Nk9zWGFBUzBMZXNGCnlCZDZwZ0dDVnJ1b2wwMitXRmw1NHk0a2tBSlFqMENhOTlFRzBwTUp5Ni9vVHVzaW5uN3J0UUN2ai9kbUhXdXoKODFwQTBRS0NBUUJoRDRKZjJ5VG40UFltbDZaRkxkS0FkUEVBSlNaZ3I2emJYSVUxaEp2YXZCeWFkcDVJOUtEZQpQbHEyTytrV05HZnRxQTdZazFTOW5ZWG13MzI2empUajEwWWdNczZqcml5SGQ4cVJDM2hmdWVXeXJjbGRlbnpCCmJpY3FPZ210V3U5eHo4Nk5JZlRTMkp6T3RVckNpSWpudFI5RlRFNFhhREpLRVE5N0xYVU1pdUx4Z2ZBalYyWlMKZ085VGlmTFNyY0FSdzVvSVN0QjZFenJ0MGR2MzdXNEc1T2pYQlN4WU5ISEs1enFIY09oaTlHRDgwR2pnTXphbApIdHdXOW11ejZpb0dBMENYQ3NCelNaQ3RSZ3RLVXBSeTBpd1lvWFRWL0hGV1FxUjFvOHEveWR6MDlnaThvdHBOCnM2ck8wOER4RWdiUXFLYThBSjJLSm1NcDJKVFpzeWVkQW9JQkFFZjY5eUlnN1FwT0VlVjgyYk9BQzBIUDZTOFoKQVdpdmJ4N0xVSko2b3lrRndYcncvQ2pBU0lDTXRYM2U5NUVrak04bThEakt6VDhMaTlSb1JqUUtLM2h5S3ZWaAowTFk0UUwxMzhWSWtRTzBGWm84YlpnMi9TdnNRUXpEMjF5WEpqaEVBaWxFU0NJR2YyVCtaRjNqYmdERFVFZDU4CjNiWGl2TjhPSnhwa2VFMG9DRExXRTRGTWZLTXp4RTVOMTdMbE5ldktZWUFncHpSblpYVk9XZ2lzYWdWN05pSE8KM0VQM1JrRnlHanBQZlFXZFZzVEkxR0NWTlo4anlBQmtGV3ExRkxBSFltVjc3dXpUZWVqUXdhUjhNb3lIVm1iUgpucjl2dktqYWNTanROaVQxOTJOYUFlL1lsWlE0enRDWUZFdWV1S0ZoYVRrVjZ4dnI0RlJjUklxVEZhZz0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -419,7 +419,7 @@ "domain": { "main": "scrutiny.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDakNDQlBLZ0F3SUJBZ0lTQlJ4ZzJPNG1LOVkzOUNUQTJralBxZTlWTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXhOREUzV2hjTk1qWXdNakU1TWpBeE5ERTJXakFpTVNBd0hnWURWUVFECkV4ZHpZM0oxZEdsdWVTNWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVAKQURDQ0Fnb0NnZ0lCQUxhSWFRM3RuTUREeGdaMEY2N1NnMnlzYjJZK3FGenZvcUNhOWtBeFJPdkF0VjZaQ1BsTwpNVmpMdXNUSVlFeSs2dERjSHZQRlZwNmlJUENUU2JBTUMzbEJGTlkzcy9rUVA0aG1LcXA5UU54bTQzUWo5c1c2CjNHQnhrRExMK2FsdWl0QVFWOTdrUURLRE42dW43NkZQQVcwMGovUHJTNG5XcWh1UFJrSWFhY0l3Mk1MZ3A3MUgKemJYUUhIMVZ4RnBqdS9uUlcvblBxK1R1bWxaS3NBUmRtU0I4M01YTHQyRnJBR285MnBtWkFvdVJyQjd3NlR2bwo2SXJsQ2g2L2tSYndObjByR2M4OHFlcTI4S2VhSlFld3VCYUJBMFpEaFVFek5tRWZ1UTlpU2hCY2t5WTY2VEhJCkJqTS9sR29HVFJJazZuU3B6YlJzcEMzTHA5NUhQNDNDb0YrdVAweGpZVDdUTTQvZUJZUkN6MXFwOW8zRnVRYTQKQTFZbFZkM1grTThycHJQa0lJQVpreVlJUTA0ZnVJckM5emh0eTFmRmtLUFhlSmpSK1gzN0FZZTRPZTdQY0d3Rgp2dGhaTWZsOXI2akN0ZnA5alhtVXBtSHZnNzhNN1FMejNKbHorZ2Vjc0JId0lQVXZNTEdUbGVzb1Y2Z1E3djIxClkzZjJ0bkQzRGtLK0F4QUxrRUh0Nm44Z0IwV2YvUjNKNzA0VGdzaTJ1bjNoU2RlRWtxR1EyQXFPTFNYWVdLN0QKQmEzM2RwbEFGL0svWldmSDd6dmNTeGxDWDdUbVMya2lPZ0hrQkZ6TWxDVnpYbTYzZ1NSTXBSVG5URW5TdkFlVgpQNXQ2TGZGamxEOWV4Yy9Ja3FvZDVJVVlLNHVoSW82dHc5ZGF2NkhoK0pQdldEMjdDYlhUZmU4eEFnTUJBQUdqCmdnSW5NSUlDSXpBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0cKQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZBTUg0YTZBeExYN2pLNlR4S0l2cU9wVQp1TG9TTUI4R0ExVWRJd1FZTUJhQUZPZXJudzhzTTZCVDAxNVBlTWl5aEE0NzFwSXpNRE1HQ0NzR0FRVUZCd0VCCkJDY3dKVEFqQmdnckJnRUZCUWN3QW9ZWGFIUjBjRG92TDNJeE15NXBMbXhsYm1OeUxtOXlaeTh3SWdZRFZSMFIKQkJzd0dZSVhjMk55ZFhScGJua3VZWFJvWVd4cFlYQndjeTU0ZVhvd0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QgpBZ0V3TGdZRFZSMGZCQ2N3SlRBam9DR2dINFlkYUhSMGNEb3ZMM0l4TXk1akxteGxibU55TG05eVp5ODROaTVqCmNtd3dnZ0VFQmdvckJnRUVBZFo1QWdRQ0JJSDFCSUh5QVBBQWRnQmtFY1JzcEJMc3A0a2NvZ0l1QUx5clR5Z0gKMUI0MUo2dnEvdFVEeVgzTjhBQUFBWnFvUXpKUEFBQUVBd0JITUVVQ0lHVUdkTDRzTTVEalJWVnRpalY2cXdZTgo5TUoyck5pTXBhaWN3bGsvQURqZkFpRUE0WHFMNXRFYXY3VGppejUra29NQ0l4QWFJMlVKU21GekdzOWk3aXQ2ClNRWUFkZ0NXbDJTL1ZWaVhyZmREaDJnM0NFSjM2ZkE2MWZhazh6WnVScVEvRDhxcHhnQUFBWnFvUXpLeEFBQUUKQXdCSE1FVUNJUUN1SW4zRzNoaExZY01La2FjbEt2S0RZN2JubkYxRVRmaXNNdVkvTWk2SEl3SWdheUZrd1UxcgpWUW0vZXE0dXBVNFlPajM2ZVhIL05WamdnUFZSd2RROTMzRXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBQ01SCnh0Yis3UFdISUx6cHNCUGY0UEg1T1NQRDMxcTEzTm9ZV1BqWVd5QnFBcWZkTXN2Ujl3aWFnNWFybmJIdGNZNzMKYTBUMjQ0cVVlR2Y3ZGdiQk9oTEdyc0pjZUJnSE40N3g3NEFWRnB6SERxL09qUGRRYyt2VUtRMnlFWWF1RHBiSwpDaHRSOE9OL3R0TkVyRkM4cDFhYUtLNVkzSFNwbE9QZkZWZHVzMXRZSWNadWxRcXRaMEJkalRVcklkd1Z3NGFPCmg4WmYxenJMYXdEMFZtOUlXaVhVRHFFTWxjaHpEOTFvb3Fra0dIaEp3SzAxbGZOcTRvbFI1T0xldGExcGx5Y1cKdTFYT3RzOSsvTTZVMXI0Rnp4UzhLZkFkc2NzeWluUGo2WVc5ZnZFWlVVZzhQRU9tS0J4clBqSVRxdTNuRUt4QwpNam5zcytnYzNzOGMreGNoZXVBPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJUQ0NBdTJnQXdJQkFnSVFXZ0R5RXRqVXRJRHpra0ZYNmltREJUQU5CZ2txaGtpRzl3MEJBUXNGQURCUApNUXN3Q1FZRFZRUUdFd0pWVXpFcE1DY0dBMVVFQ2hNZ1NXNTBaWEp1WlhRZ1UyVmpkWEpwZEhrZ1VtVnpaV0Z5ClkyZ2dSM0p2ZFhBeEZUQVRCZ05WQkFNVERFbFRVa2NnVW05dmRDQllNVEFlRncweU5EQXpNVE13TURBd01EQmEKRncweU56QXpNVEl5TXpVNU5UbGFNRE14Q3pBSkJnTlZCQVlUQWxWVE1SWXdGQVlEVlFRS0V3MU1aWFFuY3lCRgpibU55ZVhCME1Rd3dDZ1lEVlFRREV3TlNNVE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUNsWjNDTjBGYUJaQlVYWWMyNUJ0U3RHWkNNSmxBM21CWmprbFRiMmN5RUJaUHMwK3dJRzZCZ1VVTkkKZlN2SFNKYWV0QzNhbmNnbk8xZWhuNnZ3MWc3VURqREtiNXV4MGRha25USStXRTQxYjBWWWFIRVgvRDdZWFlLZwpMN0pSYkxBYVhiaFp6alZseUl1aHJ4QTMvK09jWGNKSkZ6VC9qQ3VMamZDOGNTeVREQjBGeExySHphckpYbnpSCnlRSDNuQVAyL0FwZDlOcDc1dHQyUW5EcjlFMGkyZ0IzYjliSlh4ZjkyblV1cFZjTTl1cGN0dUJ6cFdqUG9YVGkKZFlKK0VKL0I5YUxyQWVrNHNRcEV6TlBDaWZWSk5ZSUtOTE1jNllqQ1IwNkNEZ28yOEVkUGl2RXBCSFhhemVHYQpYUDllblppVnVwcEQwRXFpRndVQkJERFRNck9QQWdNQkFBR2pnZmd3Z2ZVd0RnWURWUjBQQVFIL0JBUURBZ0dHCk1CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0RBVEFTQmdOVkhSTUJBZjhFQ0RBR0FRSC8KQWdFQU1CMEdBMVVkRGdRV0JCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekFmQmdOVkhTTUVHREFXZ0JSNQp0Rm5tZTdibDVBRnpnQWlJeUJwWTl1bWJiakF5QmdnckJnRUZCUWNCQVFRbU1DUXdJZ1lJS3dZQkJRVUhNQUtHCkZtaDBkSEE2THk5NE1TNXBMbXhsYm1OeUxtOXlaeTh3RXdZRFZSMGdCQXd3Q2pBSUJnWm5nUXdCQWdFd0p3WUQKVlIwZkJDQXdIakFjb0JxZ0dJWVdhSFIwY0RvdkwzZ3hMbU11YkdWdVkzSXViM0puTHpBTkJna3Foa2lHOXcwQgpBUXNGQUFPQ0FnRUFVVGRZVXFFaW16VzdUYnJPeXBMcUNmTDdWT3dZZi9RNzlPSDVjSExDWmVnZ2ZRaERjb25sCms3S2doOGIwdmkrL1h1V3U3Q044bi9VUGVnMXZvM0crdGFYaXJyeXR0aFFpbkFIR3djL1VkYk95Z0phOXp1QmMKVnlxb0gzQ1hUWERJblQrOGErYzNhRVZNSjJTdCtwU240ZWQrV2tEcDhpanNpanZFeUZ3RTQ3aHVsVzBMdHpqZwo5Zk9WNVBtcmcvenhXYlJ1TCtrMERCREhFSmVubkNzQWVuN2MzNVBteDdqcG1KL0h0Z1JoY256MHlqU0J2eUl3CjZMMVFJdXBrQ3YyU0JPRFQveEREM2dmUVF5S3Y2cm9WNEcyRWhmRXlBc1dwbW9qeGpDVUNHaXlnOTdGdkR0bS8KTksyTFNjOWx5Ykt4QjczSTIrUDJHM0NhV3B2dnBBaUhDVnUzMGpXOEdDeEtkZmhzWHRuSXkyaW1za1FxVloybQowUG14b2JiMjhUdWNyN3hCSzdDdHd2UHJiNzlvczd1MlhQM081ZjliL0g2NkdOeVJyZ2xSWGxyWWpJMW9HWUwvCmY0STFuL1NndXNkYTZXdkE2QzE5MGt4alUxNVkxMm1IVTQrQnh5UjljeDJoaEdTOWZBak1aS0pzczI4cXh2ejYKQXh1NENhRG1STlpwSy9wUXJYRjE3eVhDWGttRVdndlNPRVp5Nlo5cGNiTElWRUdja1YvaVZlcTBBT28ycGtnOQpwNFFSSXkwdEsyZGlSRU5MU0YyS3lzRndiWTZCMjZCRmVGczN2MXNZVlJoRlc5bkxrT3JRVnBvckNTMEt5Wm1mCndWRDg5cVNUbG5jdExjWm5JYXZqS3NLVXUxbkExaVUweVlNZFllcEtSN2xXYm53aGR4M2V3b2s9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdFakNDQlBxZ0F3SUJBZ0lTQldidmxUZUF3YmxmOUlraEgxc0xiTzJvTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXhNRFEzV2hjTk1qWXdOREl4TVRZeE1EUTJXakFpTVNBd0hnWURWUVFECkV4ZHpZM0oxZEdsdWVTNWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVAKQURDQ0Fnb0NnZ0lCQUxhSWFRM3RuTUREeGdaMEY2N1NnMnlzYjJZK3FGenZvcUNhOWtBeFJPdkF0VjZaQ1BsTwpNVmpMdXNUSVlFeSs2dERjSHZQRlZwNmlJUENUU2JBTUMzbEJGTlkzcy9rUVA0aG1LcXA5UU54bTQzUWo5c1c2CjNHQnhrRExMK2FsdWl0QVFWOTdrUURLRE42dW43NkZQQVcwMGovUHJTNG5XcWh1UFJrSWFhY0l3Mk1MZ3A3MUgKemJYUUhIMVZ4RnBqdS9uUlcvblBxK1R1bWxaS3NBUmRtU0I4M01YTHQyRnJBR285MnBtWkFvdVJyQjd3NlR2bwo2SXJsQ2g2L2tSYndObjByR2M4OHFlcTI4S2VhSlFld3VCYUJBMFpEaFVFek5tRWZ1UTlpU2hCY2t5WTY2VEhJCkJqTS9sR29HVFJJazZuU3B6YlJzcEMzTHA5NUhQNDNDb0YrdVAweGpZVDdUTTQvZUJZUkN6MXFwOW8zRnVRYTQKQTFZbFZkM1grTThycHJQa0lJQVpreVlJUTA0ZnVJckM5emh0eTFmRmtLUFhlSmpSK1gzN0FZZTRPZTdQY0d3Rgp2dGhaTWZsOXI2akN0ZnA5alhtVXBtSHZnNzhNN1FMejNKbHorZ2Vjc0JId0lQVXZNTEdUbGVzb1Y2Z1E3djIxClkzZjJ0bkQzRGtLK0F4QUxrRUh0Nm44Z0IwV2YvUjNKNzA0VGdzaTJ1bjNoU2RlRWtxR1EyQXFPTFNYWVdLN0QKQmEzM2RwbEFGL0svWldmSDd6dmNTeGxDWDdUbVMya2lPZ0hrQkZ6TWxDVnpYbTYzZ1NSTXBSVG5URW5TdkFlVgpQNXQ2TGZGamxEOWV4Yy9Ja3FvZDVJVVlLNHVoSW82dHc5ZGF2NkhoK0pQdldEMjdDYlhUZmU4eEFnTUJBQUdqCmdnSXZNSUlDS3pBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0cKQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZBTUg0YTZBeExYN2pLNlR4S0l2cU9wVQp1TG9TTUI4R0ExVWRJd1FZTUJhQUZBQzFLZkl0am04eDZKdE1yWGcrK3R6cEROSFNNRE1HQ0NzR0FRVUZCd0VCCkJDY3dKVEFqQmdnckJnRUZCUWN3QW9ZWGFIUjBjRG92TDNJeE1pNXBMbXhsYm1OeUxtOXlaeTh3SWdZRFZSMFIKQkJzd0dZSVhjMk55ZFhScGJua3VZWFJvWVd4cFlYQndjeTU0ZVhvd0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QgpBZ0V3TGdZRFZSMGZCQ2N3SlRBam9DR2dINFlkYUhSMGNEb3ZMM0l4TWk1akxteGxibU55TG05eVp5ODBNUzVqCmNtd3dnZ0VNQmdvckJnRUVBZFo1QWdRQ0JJSDlCSUg2QVBnQWZnQnhmcFh6d2ppS2JiSGpoRWs5TWVGYXFXSUkKZGkxQ0FPQUZETkJudGFaaDRnQUFBWnZoaURGd0FBZ0FBQVVBQjN1UG93UURBRWN3UlFJZ0pYTTV1Vk1lcWNuSwpLdlpNMk13cjFuSENjRUhEQjVhOEd6bURZTzlmWGhZQ0lRREd4OFBic0JlbmRNRkJ5QlhuVE1hODl1WDI3RVVCCkpMcjJScVByMFlhM3pBQjJBTkZ1cWFWb0IzNW1OYUEvTjZYZHZBT2xQRUVTRk5TSUdQWHBNYk1qeTVVRUFBQUIKbStHSU9kVUFBQVFEQUVjd1JRSWhBSXFLd1JtOWJPejRteFVNYlRWRWIyRkYrYU0rZ3E2V1hzWU1Ka3NOWG1QeQpBaUI4c1BNUUNyUTQ3WDNtYXhZNTlNeUo3cCtkbVExQko4czBvM21OYk1JUWdqQU5CZ2txaGtpRzl3MEJBUXNGCkFBT0NBUUVBZk5ZQkJrREs0NnkyYzB5WkhxT2JFVWNwNHJVOFF6TUtPMnhlUWNnTnU0UldUdXhjelhCWHlsbXIKRVh1NE5Cbk5WSFpQTm1iTE5XSXJyWWF1Q3h1S2tVOWxUUndaZGY4SlBoMmF1bW1CckkxdzNCNzJrVzlZczl6NAp6bWFBaGtXcTBXVHFXeVNiNHY3cWIyWVlucHdJdnNrYVl1Q21lMjhxWFZndXB1d2wrMDRXSEhwU1lkT2Nha09tCndudDJPZ1VISmNsVEE5NVhCdXMrWVBsbGhKWE9GbXYvSnRQbHIxKzRIYWJHc3hkdmlHN2Znc29kNmNpSzFNd2kKanc3b0xkNTk2M3dodzY2WGZ0ZVhFWXhEcWk3ZlprT1ZYbFVCRzBxSkk3elNqYU1FbW1nT2FHTDdTeG9BQkdLeApTcVhMWFltL3FwNUxnOHJQUlU0OFEvbHlZQ0xRaFE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJqQ0NBdTZnQXdJQkFnSVJBTUlTTWt0d3FiU1JjZHhBOStLRkpqd3dEUVlKS29aSWh2Y05BUUVMQlFBdwpUekVMTUFrR0ExVUVCaE1DVlZNeEtUQW5CZ05WQkFvVElFbHVkR1Z5Ym1WMElGTmxZM1Z5YVhSNUlGSmxjMlZoCmNtTm9JRWR5YjNWd01SVXdFd1lEVlFRREV3eEpVMUpISUZKdmIzUWdXREV3SGhjTk1qUXdNekV6TURBd01EQXcKV2hjTk1qY3dNekV5TWpNMU9UVTVXakF6TVFzd0NRWURWUVFHRXdKVlV6RVdNQlFHQTFVRUNoTU5UR1YwSjNNZwpSVzVqY25sd2RERU1NQW9HQTFVRUF4TURVakV5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCCkNnS0NBUUVBMnBnb2RLMitsUDQ3NEI3aTVVdDFxeXdTZisybkF6SitOcGZzNkRHUHBST05DNWt1SHMwQlVUMU0KNVNodUNWVXhxcVVpWFhMMExRZkNUVUE4M3dFanVYZzM5UnBsTWpUbWhuR2RCTytFQ0Z1OUFocVo2NllCQUpwegprRzJQb2dlZzBKZlQya1ZoZ1RVOUZQbkV3RjlxM0F1V0dyQ2Y0eXJxdlNyV21NZWJjYXM3ZEE4ODI3Smd2bHBMClRoanAyeXB6WElsaFpaNys3VHlteTA1djVKNzVBRWF6L3hsTkttT3pqbWJHR0lWd3gxQmxienQwNVVpRER3aFkKWFMwam5WNmovdWpiQUtIUzlPTVpUZkx1ZXZZbm51WE5uQzJpOG4rY0Y2M3ZFemM1MGJUSUxFSFdoc0RwN0NINApXUnQvdVRwOG4xd0JuV0lFd2lpOUNxMDh5aERzR3dJREFRQUJvNEg0TUlIMU1BNEdBMVVkRHdFQi93UUVBd0lCCmhqQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBZ1lJS3dZQkJRVUhBd0V3RWdZRFZSMFRBUUgvQkFnd0JnRUIKL3dJQkFEQWRCZ05WSFE0RUZnUVVBTFVwOGkyT2J6SG9tMHl0ZUQ3NjNPa00wZEl3SHdZRFZSMGpCQmd3Rm9BVQplYlJaNW51MjVlUUJjNEFJaU1nYVdQYnBtMjR3TWdZSUt3WUJCUVVIQVFFRUpqQWtNQ0lHQ0NzR0FRVUZCekFDCmhoWm9kSFJ3T2k4dmVERXVhUzVzWlc1amNpNXZjbWN2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQk1DY0cKQTFVZEh3UWdNQjR3SEtBYW9CaUdGbWgwZEhBNkx5OTRNUzVqTG14bGJtTnlMbTl5Wnk4d0RRWUpLb1pJaHZjTgpBUUVMQlFBRGdnSUJBSTkxMEFuUGFuWklaVEtTM3JWRXlJVjI5QldFakFLL2R1dXo4ZUw1Ym9Tb1ZwSGhra3YzCjRlb0FlRWlQZFpMajVFWjdHMkFySUsrZ3poVGxSUTFxNEZLR3BQUGFGQlNwcVYveGJVYjVVbEFYUU9ua0huM20KRlZqK3FZdjg3L1dlWStCbTRzTjNPeDhCaHlhVTdVQVEzTGVaN04xWDAxeHhRZTR3SUFBRTNKVkxVQ2lIbVpMKwpxb0NVdGdZSUZQZ2NnMzUwUU1VSVdneFBYTkdFbmNUOTIxbmU3bmx1STAyVjhwTFVtQ2xxWE9zQ3dVTHcrUFZPClpDQjdxT014eE1Cb0NVZUwyTGw0b01wT1NyNXBKQ3BMTjN0UkEyczZQMUtMczlUU3JWaE9rKzdMWDI4Tk1VbEkKdXNRL254TEpJRDBSaEFlRnRQanlPQ09zY1FCQTUzK05SalNDYWs3UDRBNWpYN3BwbWtjSkVDTCtTMGkza1hWVQp5NU1lNUJiclU4OTczalpOdi9heDYrWks2VE04aldtaW1MNm9mNk9yWDdaVTZFMldxYXp6c0ZyTEczbzJreVNiCnpsaFNnSjgxQ2w0dHYzU2JZaVlYbkpFeEtRdnpmODNEWW90b3gzZjBmd3Y3eGxuMUEyWkxwbENiME8rbC9BSzAKWUUwRFMyRlB4U0FIaTBpd01mVzJuTkhKclhjWTNMTEhENzdnUmdqZTRFdmV1YmkyeHhhK05tay9obWhMZElFVAppVkRGYW5vQ3JNVklwUTU5WFdIa3pkRm1vSFhIQlY3b2liVmpHU083VUxTUTdNSjFOejUxcGh1REpTZ0FJVTdBCjB6ckxuT3JBai9kZnJsRVdSaEN2QWdidXdMWlgxQTJzak5qWG9QT0hic1BpeStsTzFLRjgvWFk3Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBdG9ocERlMmN3TVBHQm5RWHJ0S0RiS3h2Wmo2b1hPK2lvSnIyUURGRTY4QzFYcGtJCitVNHhXTXU2eE1oZ1RMN3EwTndlODhWV25xSWc4Sk5Kc0F3TGVVRVUxamV6K1JBL2lHWXFxbjFBM0diamRDUDIKeGJyY1lIR1FNc3Y1cVc2SzBCQlgzdVJBTW9NM3E2ZnZvVThCYlRTUDgrdExpZGFxRzQ5R1FocHB3akRZd3VDbgp2VWZOdGRBY2ZWWEVXbU83K2RGYitjK3I1TzZhVmtxd0JGMlpJSHpjeGN1M1lXc0FhajNhbVprQ2k1R3NIdkRwCk8ram9pdVVLSHIrUkZ2QTJmU3Naenp5cDZyYndwNW9sQjdDNEZvRURSa09GUVRNMllSKzVEMkpLRUZ5VEpqcnAKTWNnR016K1VhZ1pORWlUcWRLbk50R3lrTGN1bjNrYy9qY0tnWDY0L1RHTmhQdE16ajk0RmhFTFBXcW4yamNXNQpCcmdEVmlWVjNkZjR6eXVtcytRZ2dCbVRKZ2hEVGgrNGlzTDNPRzNMVjhXUW85ZDRtTkg1ZmZzQmg3ZzU3czl3CmJBVysyRmt4K1gydnFNSzErbjJOZVpTbVllK0R2d3p0QXZQY21YUDZCNXl3RWZBZzlTOHdzWk9WNnloWHFCRHUKL2JWamQvYTJjUGNPUXI0REVBdVFRZTNxZnlBSFJaLzlIY252VGhPQ3lMYTZmZUZKMTRTU29aRFlDbzR0SmRoWQpyc01GcmZkMm1VQVg4cjlsWjhmdk85eExHVUpmdE9aTGFTSTZBZVFFWE15VUpYTmVicmVCSkV5bEZPZE1TZEs4CkI1VS9tM290OFdPVVAxN0Z6OGlTcWgza2hSZ3JpNkVpanEzRDExcS9vZUg0ays5WVBic0p0ZE45N3pFQ0F3RUEKQVFLQ0FnRUFnV3dQTVBUOVpDQnIxRCtVV3p5Z092bTRzd0pTVmpNRFdHVUhuVlJSemVjQnNtVkgyNXo1bUVBNwoyVE5LTktCWjFtVjgvTk03SzVkQlM5TGpPSlFSdnBQS3Rta2dqc1JhaDlnSkFJRjI3ODkwRHZGQkU4bitYOU9sCnJwNjZFc3h5V0R4K1VXZjlyTk1sTWUwTkY0N3hNQUZJNEdaQlZTYUR6cTZ6M2tMa0lmQ0lnUVRSYW4veTk2cnIKeUdKN3FxdDBxUmtzNGQvQnZiMEFhWmJqWHZVT2tkNTJtemhxZWdSb2N1d1Foei9hY2lPRHF4eWVBd0NOZ1k0TQpzdWlaYzI0MjlHRVBGOFducE9pNWtkelZ6TEljbExnOUhpRFo1dlRzNWNpY2FyQUNXNytJQmw5VzRSazJiRGYwCmY0aWdOUEUvM0NCWjNrZjUwUTdKbysxWXZxYjFGaS9nSm40TW9qb2dzNmdwS0xESlJXeEZINGc5ZGJ3RVRnVysKdTM1TjQwdVBnOEZUY05sU2lCNmF5ZFg4SVFSUEpibk9IS2xnVkVSOHlaeXg4OUEwSWhXbmY3U2R0VHlHRTRVegoveTZjWk9hdE40emlacmZhbXhEMEVsYmEwYm1wNGlhWnMvU1ZDRmdsTW9PQjAyRE1PY01seWJGbmxNVjdGUHlDCnp5RUZoTk14MkIxYWRBcExjL1BSMm0zb2E1OU9vaU8weVp3WDdQTE4rd2ZGQ2dCWkp4Q0JnWnIvSTVESkNKUU0KRnQrcVAxUFJ3QXgvd3k4b3E5ZmN4T1NqeW1QMFpLTUh0enhBSDE3S3pqcTcrQmV6TDVqZnJGRjZJbHErVm1hOApxYnFYUDRwOEkyNWRha3FtNmtrNkd3UGJWMXJLR2lpOFFhOG9JTnBPRUdYcmxDV0dicEVDZ2dFQkFOVmRNNlNjCmtrR1ZVUjVmSDk5SXRJWmw2MXlZcVVoNFptc0tRWEFUN3NSbkQyTkdkQmZleVJsaTBPRWg0dFFmOXAzS1VLVEEKTUlxcGdVd3d0bENCMU9RZkJqS0M2UHllNVg1c3VqUndaeE5KaW14THNYMi83ZkJLSmdSSlBkYVdBNVBjdUdMZAp1ZEtIME1kcHZaYWlpWUowVVhZQ1RGOHVhaGhoeExiWTNMcW5yN3greDlGMHRBM1lNY2k5eDRNeWVOZDBxNGFjCnNxUmYvSDVBdkZ1VXQvN3lnc0VvdktGcjArUXlRaEdQNDNJTmZMdk5aS1AyY3kyZ1pTYzJMWlF3R3h2RFFhWVoKMUhHTnhSSldpNlBFVVJsaXJYSlBWMVk3RkRnTW1SNXBSOGJKZWxpbVZsVWtBZUNOelhFUU9BdzNSK1pGWlRjUQoxS3hwM09sMXJ1WFpqMmNDZ2dFQkFOc0NBOGEwem1GQTZQU0M3aklGVTF4VzVrRUpTQjQ4KzBOOTAyR3hzdGgxCklSMjJrL0paTUhxWWJVa2lIQXF4dlV6L05RNHdGSnFkVi9NY1VYTU9DdmNpZTFVZjRLS1hpcHBoeXlrWkVkbEkKRmtkSHRpN3BzczNOTG1kNnF4dkI0Yk55YkUwN0EyWnhaVHUrKzJEQnlPcFFlelpvaHQzQmI2dGlFcmptWFdTUgphZmNndC94cjdqT1UzK0V4T2FGUlpXMy9BdnREbEwrTmd3WEtaM1dNY1lNS0pROWgyRUs0QXpZMm84S3pLMGI5CnJjQkN6eTYrMlZYY3Y1TWpWMmtjcHNUV01aVjFRQVhWOThkYTdlQ1hOZGdDWlVHeElxSTVGRnByZVQyOGNRYzYKZ3JzVjZDZ2V2SGU5b084dXhTSWFYSEpOK1ZsTEllZjk1aTlIUFdzOHBhY0NnZ0VCQUxDaVV2R1F5U2ZRSkhLZgpUM1I2N1RCaVNjSERoRWxCbTVBNzBrYWx5Y0lBaStXazJ0RTBGNG1UbTliMVJhSlV2OGFMU2MzS2FhVXhoSi85CnA4RG9hc1ZieGJhbFY1cGpOUncvaUx1RzNsNUNRSDA5QUxoWTN2TlJmejJISU5GNEtZZ01idjB5RC9ieGh1Ni8KWkR2RFhWR0pXREw0M2g3aC91VW1jMExvTDN1Ni9LcHd6cDFoSHZwakkzdkxXTk1OUXFzanBDaHhxeGFYZkNGTgpHR0k4c1VJM28vV2k4dDR6dFJ3eVd5M016LytJbU4ya3dROVlKS3YrSUIraEk0U05lck8ySnJBS3JDeEJzSWRvCjdIdHNON05yVktuUWN6NG85S2tlRE5qM1VYdUpLbWNmZFZOUTF0aitxN2hSTkFVdzhxMzRmejFpQ3A2ZG1Vd1EKcC9VUzhqc0NnZ0VBZlFjcmJMY3YwdW1obEdWaTRuK1QxWFZ1d2RZd3E4S1lsekV3Q2VmT2VEQjJGV1owRTdqRApLbG4ybWZlMUZvM2R5aVV2L3NlSUc3U1R6eUJ0aDBlUER3TktjWkJmUjdOSDExYlpDcjliSnpZMk1iOUl6SU55CkpuZHFkSHpkVGwxakluVENTMXpUVmhxS2RvOVRKeXU2TGJxQWZORXpuVW1mSExKQ2lmaEpmTzVmRmt4QmZRT0kKMnoyMGlmVDJONWdtVmFOdDZrL3NqV2FXVkNuMjRtNnBKdXdWdURCZHE4a3RYRGZaU1gvTHh4MXZvZ0VDRW1lMQozNFRFZ1pWOWcyNXQ3cFZ4ZlNlUXcwUWh6bGVrMGNEQlptNEhySGNabEk4TmhZa3hrQU1TYTlRRmFoVFprbjNwCmpscGRrKzZaY0J5b2hrRHBod2FUZHNQR00xdHlQdFJDcFFLQ0FRQk5Eelo0OE5wVjdscXFpbVg4RHdRNEFQT1gKWWtUMmg5S0lyQVRvQUQrMGowTWZuVm1LZlhrZ05aT1lLaU16YWRnOC9xU0RzcUYyUk9yVXpQdXB1YjFFOVQ3OApROXBJc0M1SkxHRHVtTXRtYnZjUFNrcEY1eFdWK3Nuc0lJbkMvYVNiRzBSbkVFZ3JMOHJXK1NOTU1DRC93dEJ1ClE0MGVoV21XeXBmSmZ1endJS3hlQzJpUFJLVXdOUjNma0xqTGd2T1BBMDNmQ3NIc3h3OTN3RjlqaUpERlUzUVgKeXRBVTJ2eS85UkxydWpSTDF1ZzdUczNDSC9WSUNzL202YXQ0R0VhTVVXcDJubmJsVUZKZTA3S216c080K2JaYQpKRytRVVlzZXJGSURURDlnRDh3NDVzdXZaOVFxT0hndkdoejJDbjNpMDE1Wi8zNldOaVdvbldLRE1iV1YKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -427,7 +427,7 @@ "domain": { "main": "paperless.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDakNDQlBLZ0F3SUJBZ0lTQldnanhPN1orcE1yMjNuYkhtOGo1amNaTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXhOREkwV2hjTk1qWXdNakU1TWpBeE5ESXpXakFqTVNFd0h3WURWUVFECkV4aHdZWEJsY214bGMzTXVZWFJvWVd4cFlYQndjeTU0ZVhvd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUMKRHdBd2dnSUtBb0lDQVFDN1libFNMWnpXMGljcEErSFV2R2tlMG5LcG82OUFIWDFyUGNXbnh0T0ZrWklGQTlWSwpTM1gyREFuN2p2a3JnWG1TYU9hbVE3SUpYTHUrVmI2Ykl0OEE5V1dpYkNvVGRhL0lsQmU2VzF3QWEya1VnTU53CkNzWW5tTHYxTDErQWpZZldkMU93eVh6SnZLRkRYTG1hUUNzdGQ4QnlJSXIwOG1EaytYai9MNHhPSWVsM0JhUVUKWjl1ZWw2UGp3STV3NTFWZWdEU0V2Yi9sSnFvQVBVZ09qOERyZ1JSYnBObUk0S0ZiNTdqeDkwLzk1Y3NiZ056cAp5Y0RBc1lFWEc3NE96bHdYL1Y5dUVXV2pNWWc2c3A3Q2hRTXVkd1kyMFFRUU95T2VEaDRUWGpuM0I5WWcxNno1Cm5QZno2cXVOcXNQcUN1bzl1a0xOaFBITFEyQkc1MzN5bzl3VHJuQ2pSWWo1TTgyNndNcEZaWTV5anFaRVpNRVcKemc1QU5qR3hweS9xaVJpdXE4ZFpHbkVrQUpOUjZ5SnFuUGNGVGd3aWd1NnVJS0ZjeEhPaVdGOXVPcnNEL0Z0Zgp1SXBwbFQ3QkdWNHlYYnVlNEIwZVJ5ZlpJVkd6RkJZZWJEZTNyMVhFZzhRK3RCQ09CRjE3YU16T0dLZWVrSjlnCjFVcHZ5NHE0VnZDTU1XaWdkS1hnTVhVUzlBUDJYSmduU1FXSjVCSFhNTHdLcDRyOWdaQ2NURkJhekpXOHFuaVIKTHFmUTdDQ0R4V0dvT0xCV3V3ZGhxdUVOU3phbEZ0eElCck11a3NtRG14SEQ0ajczOTRXeVQ2WlFGdktLS2Fzcgo2SlErQ3pyME1PY2xNc0dLNVpja3JjZURyMjh0LzBCQm53ZXhBZTJQY3ZXQ3EyaGNTY2RsZmNYSzl3SURBUUFCCm80SUNKakNDQWlJd0RnWURWUjBQQVFIL0JBUURBZ1dnTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQkJnZ3IKQmdFRkJRY0RBakFNQmdOVkhSTUJBZjhFQWpBQU1CMEdBMVVkRGdRV0JCU1JxVnd5S25LV3IyM0xoQzBTNUhldgpKODUydWpBZkJnTlZIU01FR0RBV2dCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekF6QmdnckJnRUZCUWNCCkFRUW5NQ1V3SXdZSUt3WUJCUVVITUFLR0YyaDBkSEE2THk5eU1UTXVhUzVzWlc1amNpNXZjbWN2TUNNR0ExVWQKRVFRY01CcUNHSEJoY0dWeWJHVnpjeTVoZEdoaGJHbGhjSEJ6TG5oNWVqQVRCZ05WSFNBRUREQUtNQWdHQm1lQgpEQUVDQVRBdUJnTlZIUjhFSnpBbE1DT2dJYUFmaGgxb2RIUndPaTh2Y2pFekxtTXViR1Z1WTNJdWIzSm5MekkyCkxtTnliRENDQVFJR0Npc0dBUVFCMW5rQ0JBSUVnZk1FZ2ZBQTdnQjFBQm1HMU1jb3FtLyt1Z052ZUNwTkFaR3EKemkxeU1RK3V6bDF3UVMwbFRNZlVBQUFCbXFoRFQvZ0FBQVFEQUVZd1JBSWdmZUxtbDN6bHVuWitvNHB4QklIaAp1VE11N2VsU1pqajI5Nm1wWTlOTUUrWUNJR294ZW43clNHZHR2Z1RWWmorZC9OZ0NmaE1BOWJETTlaS3Y4ZElRCjhuZDRBSFVBbHBka3YxVllsNjMzUTRkb053aENkK253T3RYMnBQTTJia2FrUHcvS3FjWUFBQUdhcUVOUVJBQUEKQkFNQVJqQkVBaUJOUUU5ZG1uaXhzbXVFZVllVGgvNEV5MjhZRTB3bnBXT1lQYXVwSkRKOHh3SWdmZ1J3OEtnUgo4aHlNQlBxM0lpTG1DQU9oWE9tNlZ6VXBsNmhxUy9XUTZyRXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBR2k3ClIzOC9Zbk9YTlZ1akQ2N0xPbnNPQkdPcHNjZEZwK0owRlFkMldNMlFXMWttU2Qwa1R2NFpQNTJDWnRlWmxWOCsKQkpZNlAzUVczNHZUa0lrL2tLbXR4cnRYc3BXa3MvWmc5c2piOU80NmIzczhJV29WNmVLSTFERDl6NFBjWkxDYQptaFYzQTY4aXc4NVNjbk13TmYrSDN6QllCZ2h1YUFlc2gzRVpqdThQZEppbzVsNkJhVXc1cjZHOWVqR1NNRDhWCmtUVFBqQUh2YzVNVlVjTjlSVkMxYXl1RHlOanh2dkxMYzI0d28rb1daRlpIajdQdWdIOXh0UUVweFR1eGJMeEcKUFdaT3RlNUtYSFh3REtRUkZlcGZLRVZBRGdoNS9tSGMxeXk3cjlmMkRKdC9ibjhVQXd4SlVNa2JzR2NhUzAzRQozWXdNRGNZS3N0eWpUNGRkTzN3PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJUQ0NBdTJnQXdJQkFnSVFXZ0R5RXRqVXRJRHpra0ZYNmltREJUQU5CZ2txaGtpRzl3MEJBUXNGQURCUApNUXN3Q1FZRFZRUUdFd0pWVXpFcE1DY0dBMVVFQ2hNZ1NXNTBaWEp1WlhRZ1UyVmpkWEpwZEhrZ1VtVnpaV0Z5ClkyZ2dSM0p2ZFhBeEZUQVRCZ05WQkFNVERFbFRVa2NnVW05dmRDQllNVEFlRncweU5EQXpNVE13TURBd01EQmEKRncweU56QXpNVEl5TXpVNU5UbGFNRE14Q3pBSkJnTlZCQVlUQWxWVE1SWXdGQVlEVlFRS0V3MU1aWFFuY3lCRgpibU55ZVhCME1Rd3dDZ1lEVlFRREV3TlNNVE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUNsWjNDTjBGYUJaQlVYWWMyNUJ0U3RHWkNNSmxBM21CWmprbFRiMmN5RUJaUHMwK3dJRzZCZ1VVTkkKZlN2SFNKYWV0QzNhbmNnbk8xZWhuNnZ3MWc3VURqREtiNXV4MGRha25USStXRTQxYjBWWWFIRVgvRDdZWFlLZwpMN0pSYkxBYVhiaFp6alZseUl1aHJ4QTMvK09jWGNKSkZ6VC9qQ3VMamZDOGNTeVREQjBGeExySHphckpYbnpSCnlRSDNuQVAyL0FwZDlOcDc1dHQyUW5EcjlFMGkyZ0IzYjliSlh4ZjkyblV1cFZjTTl1cGN0dUJ6cFdqUG9YVGkKZFlKK0VKL0I5YUxyQWVrNHNRcEV6TlBDaWZWSk5ZSUtOTE1jNllqQ1IwNkNEZ28yOEVkUGl2RXBCSFhhemVHYQpYUDllblppVnVwcEQwRXFpRndVQkJERFRNck9QQWdNQkFBR2pnZmd3Z2ZVd0RnWURWUjBQQVFIL0JBUURBZ0dHCk1CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0RBVEFTQmdOVkhSTUJBZjhFQ0RBR0FRSC8KQWdFQU1CMEdBMVVkRGdRV0JCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekFmQmdOVkhTTUVHREFXZ0JSNQp0Rm5tZTdibDVBRnpnQWlJeUJwWTl1bWJiakF5QmdnckJnRUZCUWNCQVFRbU1DUXdJZ1lJS3dZQkJRVUhNQUtHCkZtaDBkSEE2THk5NE1TNXBMbXhsYm1OeUxtOXlaeTh3RXdZRFZSMGdCQXd3Q2pBSUJnWm5nUXdCQWdFd0p3WUQKVlIwZkJDQXdIakFjb0JxZ0dJWVdhSFIwY0RvdkwzZ3hMbU11YkdWdVkzSXViM0puTHpBTkJna3Foa2lHOXcwQgpBUXNGQUFPQ0FnRUFVVGRZVXFFaW16VzdUYnJPeXBMcUNmTDdWT3dZZi9RNzlPSDVjSExDWmVnZ2ZRaERjb25sCms3S2doOGIwdmkrL1h1V3U3Q044bi9VUGVnMXZvM0crdGFYaXJyeXR0aFFpbkFIR3djL1VkYk95Z0phOXp1QmMKVnlxb0gzQ1hUWERJblQrOGErYzNhRVZNSjJTdCtwU240ZWQrV2tEcDhpanNpanZFeUZ3RTQ3aHVsVzBMdHpqZwo5Zk9WNVBtcmcvenhXYlJ1TCtrMERCREhFSmVubkNzQWVuN2MzNVBteDdqcG1KL0h0Z1JoY256MHlqU0J2eUl3CjZMMVFJdXBrQ3YyU0JPRFQveEREM2dmUVF5S3Y2cm9WNEcyRWhmRXlBc1dwbW9qeGpDVUNHaXlnOTdGdkR0bS8KTksyTFNjOWx5Ykt4QjczSTIrUDJHM0NhV3B2dnBBaUhDVnUzMGpXOEdDeEtkZmhzWHRuSXkyaW1za1FxVloybQowUG14b2JiMjhUdWNyN3hCSzdDdHd2UHJiNzlvczd1MlhQM081ZjliL0g2NkdOeVJyZ2xSWGxyWWpJMW9HWUwvCmY0STFuL1NndXNkYTZXdkE2QzE5MGt4alUxNVkxMm1IVTQrQnh5UjljeDJoaEdTOWZBak1aS0pzczI4cXh2ejYKQXh1NENhRG1STlpwSy9wUXJYRjE3eVhDWGttRVdndlNPRVp5Nlo5cGNiTElWRUdja1YvaVZlcTBBT28ycGtnOQpwNFFSSXkwdEsyZGlSRU5MU0YyS3lzRndiWTZCMjZCRmVGczN2MXNZVlJoRlc5bkxrT3JRVnBvckNTMEt5Wm1mCndWRDg5cVNUbG5jdExjWm5JYXZqS3NLVXUxbkExaVUweVlNZFllcEtSN2xXYm53aGR4M2V3b2s9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdEVENDQlBXZ0F3SUJBZ0lTQmRIbzhPbFNieXF1STM4dnlRb2Q3RTJCTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXhNRFUwV2hjTk1qWXdOREl4TVRZeE1EVXpXakFqTVNFd0h3WURWUVFECkV4aHdZWEJsY214bGMzTXVZWFJvWVd4cFlYQndjeTU0ZVhvd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUMKRHdBd2dnSUtBb0lDQVFDN1libFNMWnpXMGljcEErSFV2R2tlMG5LcG82OUFIWDFyUGNXbnh0T0ZrWklGQTlWSwpTM1gyREFuN2p2a3JnWG1TYU9hbVE3SUpYTHUrVmI2Ykl0OEE5V1dpYkNvVGRhL0lsQmU2VzF3QWEya1VnTU53CkNzWW5tTHYxTDErQWpZZldkMU93eVh6SnZLRkRYTG1hUUNzdGQ4QnlJSXIwOG1EaytYai9MNHhPSWVsM0JhUVUKWjl1ZWw2UGp3STV3NTFWZWdEU0V2Yi9sSnFvQVBVZ09qOERyZ1JSYnBObUk0S0ZiNTdqeDkwLzk1Y3NiZ056cAp5Y0RBc1lFWEc3NE96bHdYL1Y5dUVXV2pNWWc2c3A3Q2hRTXVkd1kyMFFRUU95T2VEaDRUWGpuM0I5WWcxNno1Cm5QZno2cXVOcXNQcUN1bzl1a0xOaFBITFEyQkc1MzN5bzl3VHJuQ2pSWWo1TTgyNndNcEZaWTV5anFaRVpNRVcKemc1QU5qR3hweS9xaVJpdXE4ZFpHbkVrQUpOUjZ5SnFuUGNGVGd3aWd1NnVJS0ZjeEhPaVdGOXVPcnNEL0Z0Zgp1SXBwbFQ3QkdWNHlYYnVlNEIwZVJ5ZlpJVkd6RkJZZWJEZTNyMVhFZzhRK3RCQ09CRjE3YU16T0dLZWVrSjlnCjFVcHZ5NHE0VnZDTU1XaWdkS1hnTVhVUzlBUDJYSmduU1FXSjVCSFhNTHdLcDRyOWdaQ2NURkJhekpXOHFuaVIKTHFmUTdDQ0R4V0dvT0xCV3V3ZGhxdUVOU3phbEZ0eElCck11a3NtRG14SEQ0ajczOTRXeVQ2WlFGdktLS2Fzcgo2SlErQ3pyME1PY2xNc0dLNVpja3JjZURyMjh0LzBCQm53ZXhBZTJQY3ZXQ3EyaGNTY2RsZmNYSzl3SURBUUFCCm80SUNLVENDQWlVd0RnWURWUjBQQVFIL0JBUURBZ1dnTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQkJnZ3IKQmdFRkJRY0RBakFNQmdOVkhSTUJBZjhFQWpBQU1CMEdBMVVkRGdRV0JCU1JxVnd5S25LV3IyM0xoQzBTNUhldgpKODUydWpBZkJnTlZIU01FR0RBV2dCUUF0U255TFk1dk1laWJUSzE0UHZyYzZRelIwakF6QmdnckJnRUZCUWNCCkFRUW5NQ1V3SXdZSUt3WUJCUVVITUFLR0YyaDBkSEE2THk5eU1USXVhUzVzWlc1amNpNXZjbWN2TUNNR0ExVWQKRVFRY01CcUNHSEJoY0dWeWJHVnpjeTVoZEdoaGJHbGhjSEJ6TG5oNWVqQVRCZ05WSFNBRUREQUtNQWdHQm1lQgpEQUVDQVRBdEJnTlZIUjhFSmpBa01DS2dJS0FlaGh4b2RIUndPaTh2Y2pFeUxtTXViR1Z1WTNJdWIzSm5Mekl1ClkzSnNNSUlCQmdZS0t3WUJCQUhXZVFJRUFnU0I5d1NCOUFEeUFIY0FGb010cS9DcEpROFA4RHFsUmYvSXY4Z2oKMElkTDlnUXBKL2puSHpNVDlmb0FBQUdiNFloTm5BQUFCQU1BU0RCR0FpRUFtd3B1OUJ0cVp3TUJCTC9pMTh3YgoxZ1dtUHNJMEtWa3k3TWl1R0pLV0ZzUUNJUUM4ZktMWXo3MTg1Z2FidVgxS3VwdWUxcHhnQ0tvTkREWjY2cGNkClFkTEhaQUIzQUVtY20ybmVIWHpzL0RiZXpZZGtwcmhicndxSGdCblJWVkw3NmVzcDNmakRBQUFCbStHSVZVUUEKQUFRREFFZ3dSZ0loQUltWjdXc2FZV2RlcCtrWHFjcFV6WFVaZHR2QnZUVnI4Zzh0VUNSejJOaUVBaUVBMDQwUwo1V0pYSncxV1piSHVJSXQzOHlydDBLZFFzazJQREJ2ZHh3eVZwRVF3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCCkFEazIzREE2Z3FSdkYwZHppV3BZVzZvOWVob01YdWJ5aDhoajhZcFRPU0lub3paVmhhSWt5RENtUXRWQ1h3Y2QKWHkwcFpERk1KcmY5NFhpNlFEM1N2REp5emZnVkpqVHBWdnp2OEI2cGNHQkxTZnY3VEVycHdLVXlscmFLMzY3cgplK3dRMzFtME9OdFd3L1pyeEd5emQzenlMNDhONzRWbVRGa29KMXoxMEY5eXRvaEtsbFNSTGRPWGNXSDNvYU9HCngzbzR0cFhBZk5QMFQ1SXRoQ0t4R056Uk05OVFuLzAxWlJ1dTg5dHFEZWVhRmdQYnB5Um1XQ1BTd3JKRUxVd2IKSzY1bjZrdkluRmRBTEdvQVY0NDI1NlV6VjhDTnlQaHViQ0NFaWJIcjFWKzZLdVhBR1V1U0NVeXNYUW4xemxnTAprU3ZIcDJvYWVhalBmRkNJMlVWNStKdz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCakNDQXU2Z0F3SUJBZ0lSQU1JU01rdHdxYlNSY2R4QTkrS0ZKand3RFFZSktvWklodmNOQVFFTEJRQXcKVHpFTE1Ba0dBMVVFQmhNQ1ZWTXhLVEFuQmdOVkJBb1RJRWx1ZEdWeWJtVjBJRk5sWTNWeWFYUjVJRkpsYzJWaApjbU5vSUVkeWIzVndNUlV3RXdZRFZRUURFd3hKVTFKSElGSnZiM1FnV0RFd0hoY05NalF3TXpFek1EQXdNREF3CldoY05NamN3TXpFeU1qTTFPVFU1V2pBek1Rc3dDUVlEVlFRR0V3SlZVekVXTUJRR0ExVUVDaE1OVEdWMEozTWcKUlc1amNubHdkREVNTUFvR0ExVUVBeE1EVWpFeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQgpDZ0tDQVFFQTJwZ29kSzIrbFA0NzRCN2k1VXQxcXl3U2YrMm5BekorTnBmczZER1BwUk9OQzVrdUhzMEJVVDFNCjVTaHVDVlV4cXFVaVhYTDBMUWZDVFVBODN3RWp1WGczOVJwbE1qVG1obkdkQk8rRUNGdTlBaHFaNjZZQkFKcHoKa0cyUG9nZWcwSmZUMmtWaGdUVTlGUG5Fd0Y5cTNBdVdHckNmNHlycXZTcldtTWViY2FzN2RBODgyN0pndmxwTApUaGpwMnlwelhJbGhaWjcrN1R5bXkwNXY1Sjc1QUVhei94bE5LbU96am1iR0dJVnd4MUJsYnp0MDVVaUREd2hZClhTMGpuVjZqL3VqYkFLSFM5T01aVGZMdWV2WW5udVhObkMyaThuK2NGNjN2RXpjNTBiVElMRUhXaHNEcDdDSDQKV1J0L3VUcDhuMXdCbldJRXdpaTlDcTA4eWhEc0d3SURBUUFCbzRINE1JSDFNQTRHQTFVZER3RUIvd1FFQXdJQgpoakFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdFd0VnWURWUjBUQVFIL0JBZ3dCZ0VCCi93SUJBREFkQmdOVkhRNEVGZ1FVQUxVcDhpMk9iekhvbTB5dGVENzYzT2tNMGRJd0h3WURWUjBqQkJnd0ZvQVUKZWJSWjVudTI1ZVFCYzRBSWlNZ2FXUGJwbTI0d01nWUlLd1lCQlFVSEFRRUVKakFrTUNJR0NDc0dBUVVGQnpBQwpoaFpvZEhSd09pOHZlREV1YVM1c1pXNWpjaTV2Y21jdk1CTUdBMVVkSUFRTU1Bb3dDQVlHWjRFTUFRSUJNQ2NHCkExVWRId1FnTUI0d0hLQWFvQmlHRm1oMGRIQTZMeTk0TVM1akxteGxibU55TG05eVp5OHdEUVlKS29aSWh2Y04KQVFFTEJRQURnZ0lCQUk5MTBBblBhblpJWlRLUzNyVkV5SVYyOUJXRWpBSy9kdXV6OGVMNWJvU29WcEhoa2t2Mwo0ZW9BZUVpUGRaTGo1RVo3RzJBcklLK2d6aFRsUlExcTRGS0dwUFBhRkJTcHFWL3hiVWI1VWxBWFFPbmtIbjNtCkZWaitxWXY4Ny9XZVkrQm00c04zT3g4Qmh5YVU3VUFRM0xlWjdOMVgwMXh4UWU0d0lBQUUzSlZMVUNpSG1aTCsKcW9DVXRnWUlGUGdjZzM1MFFNVUlXZ3hQWE5HRW5jVDkyMW5lN25sdUkwMlY4cExVbUNscVhPc0N3VUx3K1BWTwpaQ0I3cU9NeHhNQm9DVWVMMkxsNG9NcE9TcjVwSkNwTE4zdFJBMnM2UDFLTHM5VFNyVmhPays3TFgyOE5NVWxJCnVzUS9ueExKSUQwUmhBZUZ0UGp5T0NPc2NRQkE1MytOUmpTQ2FrN1A0QTVqWDdwcG1rY0pFQ0wrUzBpM2tYVlUKeTVNZTVCYnJVODk3M2paTnYvYXg2K1pLNlRNOGpXbWltTDZvZjZPclg3WlU2RTJXcWF6enNGckxHM28ya3lTYgp6bGhTZ0o4MUNsNHR2M1NiWWlZWG5KRXhLUXZ6ZjgzRFlvdG94M2YwZnd2N3hsbjFBMlpMcGxDYjBPK2wvQUswCllFMERTMkZQeFNBSGkwaXdNZlcybk5ISnJYY1kzTExIRDc3Z1JnamU0RXZldWJpMnh4YStObWsvaG1oTGRJRVQKaVZERmFub0NyTVZJcFE1OVhXSGt6ZEZtb0hYSEJWN29pYlZqR1NPN1VMU1E3TUoxTno1MXBodURKU2dBSVU3QQowenJMbk9yQWovZGZybEVXUmhDdkFnYnV3TFpYMUEyc2pOalhvUE9IYnNQaXkrbE8xS0Y4L1hZNwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKSndJQkFBS0NBZ0VBdTJHNVVpMmMxdEluS1FQaDFMeHBIdEp5cWFPdlFCMTlhejNGcDhiVGhaR1NCUVBWClNrdDE5Z3dKKzQ3NUs0RjVrbWptcGtPeUNWeTd2bFcrbXlMZkFQVmxvbXdxRTNXdnlKUVh1bHRjQUd0cEZJREQKY0FyR0o1aTc5UzlmZ0kySDFuZFRzTWw4eWJ5aFExeTVta0FyTFhmQWNpQ0s5UEpnNVBsNC95K01UaUhwZHdXawpGR2ZibnBlajQ4Q09jT2RWWG9BMGhMMi81U2FxQUQxSURvL0E2NEVVVzZUWmlPQ2hXK2U0OGZkUC9lWExHNERjCjZjbkF3TEdCRnh1K0RzNWNGLzFmYmhGbG96R0lPcktld29VRExuY0dOdEVFRURzam5nNGVFMTQ1OXdmV0lOZXMKK1p6MzgrcXJqYXJENmdycVBicEN6WVR4eTBOZ1J1ZDk4cVBjRTY1d28wV0krVFBOdXNES1JXV09jbzZtUkdUQgpGczRPUURZeHNhY3Y2b2tZcnF2SFdScHhKQUNUVWVzaWFwejNCVTRNSW9MdXJpQ2hYTVJ6b2xoZmJqcTdBL3hiClg3aUthWlUrd1JsZU1sMjdudUFkSGtjbjJTRlJzeFFXSG13M3Q2OVZ4SVBFUHJRUWpnUmRlMmpNemhpbm5wQ2YKWU5WS2I4dUt1RmJ3akRGb29IU2w0REYxRXZRRDlseVlKMGtGaWVRUjF6QzhDcWVLL1lHUW5FeFFXc3lWdktwNAprUzZuME93Z2c4VmhxRGl3VnJzSFlhcmhEVXMycFJiY1NBYXpMcExKZzVzUncrSSs5L2VGc2srbVVCYnlpaW1yCksraVVQZ3M2OUREbkpUTEJpdVdYSkszSGc2OXZMZjlBUVo4SHNRSHRqM0wxZ3F0b1hFbkhaWDNGeXZjQ0F3RUEKQVFLQ0FnQUF0N2dZKzNtOVRPSy9nbmRMOUVqR3lIR04rc1dDRGxyYm5VbnpnWXh2MTRYaXBRZ2RGN3JrN1ZqZwpjTVM5aU9wcFNDT1NBWEplSE0vUFE4N09FMDBkV05OQjB2NDZRdG9nZjRpenV3UFlNSkVmZGZySnBCRHNOK2FJCll0MFB4ZnIrTkVqS3hZckh6d1FqR09qUkVXdlk2YnQvOUdYejJEWE15clBPN21Td0src1QvSjZMUVhhUzNldlAKeEg0SEtxdW1DQUdyZkhxT3F4NDlqLzZGcDhGS1paMHBXTEZJbCt1bVNYWG8zMVNjR1ZRMHo4S0kxcS81VFBTOApuT3VXYk8zblhaNE84dHdieXVYRnE4ZDE0VUtJM0FYWEVlZmRGQXpuM3cvNGJRVDEwRDdlczFURFEvbWpJb1B6CnIvSytJN3FQNy9XdmlkSFBRSHZPNmJZT3h0Zmg3YndhMkpBNWFlcHBHd0pObXhQcFBxMXlIMXdaSkttR1d4TmsKUnllQmxzbFpvdlBhNTlJSGN5azgxdDNxdktxRkpCeXA2WTY2QkEwazBkYmZhdms1R21rRmxmTVBmamhLMnZLVgpjblEwNHlwWU1DWWZ4dTBodWNpckV0ckhwb1A1M29qRU1oemgweG8yMTUwUDFrcFJBb0JZOGE2QlNWVlVJb1AxCkVGWFZjTC9aOFRPR1UyUEt5VXNRR2xNSGkwWFBtdVBYUlVYTmZCSG5uM3FCdDM0a0IvTE1qSXl0OHZlQVdkVzQKOTBtRWhxejB0UGNhQU9PVjdPSTZwZTNJRmR1WVpJTDVENXNpUUt4RS9EbzFwQXBoYk10KyszTlNOQkN0VHJFMwpKU3VCSVhLdEM3bml0elA4R2ZBZXV6R05nYVI3YkY3QVV4dUZieGF5eHNBYnd6OStPUUtDQVFFQTBJMkdIc3U2CjdBaWZiWS83TC95RjZSWEdpYU5hUEhwZ3RaL1IvdU44MVJsZ0RFbzg0VG1BOVdLRmFYNC9zRDU3cWZhNXFLTVAKSHkwYmdZVEJ5RElPNkloUXdsZHVEbkNTYWNLUklHcE5uL3VROWFoY1ZqRjVLcndZNU1xZGVBYmxGMTdKWlEwbwpIWlRFVWRiWHlzbFNpLzExLzFNSlNtZlhLdjExd0JzQ2lmcStld2lEYW9ydS9USmJxL3BPZ2lxMUVneVVqYnB2CjR3UDNjZFQ3NVVIU2FLUEpFRUdXVnpXWVV5dDhvS0ptM3cwRGE2RG1SbThwN0sxR25DdWsyWWhvK2hnK2p0dFEKd2RBZVNKdENQbWZwK0ZQTU5leXRVczBhbUpaWEgzVkl3YmlWT1pIeFZDMGdaNE8xVWV4UGlBckpZV1F4Y2FDWgozWXF0STBCNTNPejFCUUtDQVFFQTVnTW90WFRhTDNpWFU5U3cxU3VhYytkamlVd2owekRzSmczeGRZWE9UQWNJCjlhNDJEVzFxd1E0ZkEydDB5TUx1L1FRTDBIYmtsak1jajcyb245ZWU3aDVPU0tlektjOVBScE0rTm9CTFg2NWEKN1RLSnkxR0FyODdjOTFsRWVpNWo2L2hHdDUreG9hbTlvazRWZlRnMllYYTFTWEljalZGS1FKWFpQUytFK3NQZQozSlNxWU0xbk1SdW5qYzNxMDhCd0p6MHhMcWtlZDZMZjd2YVZMeHRCN01tcTFTTVh3cGFkT2dlVzhVSCsyN0k3CjdyUUhJWXlZYjdlK01ORkNwdDBBcEk4SFF4YjU5QXMvS3lXNlJEZk4rUGF1dFRnMzBRNG5KcUs5VUFSc1RJUGQKemI5bFBGUzVDSFYvZnlSUXZrUTdhVWhuVkJvNHdYM3pCd2JvTkhtQXl3S0NBUUJiNEgxZHc5TXRlUDhEZlpMagpxUlExZzJwYjZLTXdVWm1aYWpkUlcxYjdhcHB0ejZiU2Nrcmx6K21HZUNBR3ZRQXQrSXdDUnhPNllGemx5bDYwCm01a0Z5RWdMMWdpZVErbTh2Z0xCalJOMWo1WmxJeTdLcWpEL0txNnMzTFpTMG5iS3ZPOXNuVWMzQVBzY010SU8KZkhMcFNWaGFpM0prWFNybHZaUEtkaHZBUGI3ODVOdEFiTVNzdHlxN3NTSTFKaXR2TUN1aDVLaTJFbUZJdk5QYwpSQXMySGpITi81Y0VCSkIrMDRHc0l0Ky9GRFNWamVUazBzUmRpRmk3SkY4VGxvem80UlZ1U2lCaHdoWVZWcER3CmZVY09KNXluaFFVMm5UVkNVN2srR3FWYThyNkxCa2lURk81WnJDU05XdFlPMFBHMi9qVHFJaDZuQXhrVGxxd1oKTUNzaEFvSUJBRTlPeFltVGlldVdVKzlHeGRZcW02M2RHYmZzZGVuSzA1SG5ldHIvMFBycjdnM3dESmtpb2cyQQoxZmF5NVdpWHRobXRmSGxibFVPb3llOVNBTU5rY0Z0QVBkUFZadlJDazk0TXhRVzd4TUZ2OTlBVGZlbUo1Nm8yCjFIL0EydGlhQ0VBRHNqWjhMSjVHVGFtWjdOVHBQZTdySkdUM29KcWxiY25KSVVkMGpCQisydWdKcHBtTUdVbVkKZEhSempNV0ljK05EdVNLU2szdkN3QjNBRGY1WkVxa1hlL3pUaGN6RmE5N25ZUWM4cnlpSFV4emlIQmRZUi9NMQpVckc0WlpmdFdkeGpxS2hjVXNEdjQ4NzN5anJkVnZyQjY4bDJZZUNHVmI5L20zRHNwWDdZZFBFTlRsVzRETGk2CjhzUWUvR3d1VUtIam9pVWdpWE5GL3pic0RjS1NKbk1DZ2dFQVFvM1lFYmtEZnE0ZktiVG9kNmxVbXdhMitkdkcKd3BLanE4VjBnZFViNlFXaWJyRVJZK3oxSEFGT1Y5OE1YZWdhNnVnMjRXYW9OZWd2d1hpSzRGTXZNTi9jam5tMwpqVlZuZXU4L1pHUGsyREJwbXFJZnJIZWxaSmk4OUdndEtqQXBrRTdvbHdLZEdiQWNYMFk2RFkwdHh1U2QvZWZMCk9wZTExVlVHSjNVb2ZQZGVTanJabExudjA4dFRRU3RJR3l1VVJYbUtzZDJ3OVZzbG4vUGtacTgxU0pNZm9qUjEKdDZUZ3AwL2lBa0pCdDdTS3RoZnJHY1ZaWWNBaHJLQ2I1U2s2OVh3MDljNlBRcVBoNkV6MU1YaUJURGNYMDRxUgpLWnl4Uk43ZVJyOElZelpmYitsOWRiTFIwNE1FLys0cGhpVGZPc0hlNmNldzJ5K09tRi9BRlo0WWNRPT0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -435,7 +435,7 @@ "domain": { "main": "beszel.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCVENDQk8yZ0F3SUJBZ0lTQmZSL2pkRjB4VUd3RHI2d0w5L3ZuSGZUTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXhORE16V2hjTk1qWXdNakU1TWpBeE5ETXlXakFnTVI0d0hBWURWUVFECkV4VmlaWE42Wld3dVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUURlTGVudEM5VFhBSmE3aDgxRGYzNUF3d2p2VEd6NU9WZDZSVFh0YlNlNGZib2J1QWdaMlpZZgpMelFVWWF0TmhjUFMwNTl4Yjk5aFpXcWYrbzZRTUVuSnlyR1RvaUVWUnRKbmVZRWZFZ2phUkdIR25rUHZUZnZyCm5oWFBLS2p5TXdiSU1Rci9CMFJKZkwzNWFMa2lXQUY1WURFYkhaQTRtVEk0T29HZjJQbjBNRXozbVVrclgyVEkKNnhjQ3MyVml1ajIvcW5JK2M1UUx6cHZIMTlWNlgweEZvUGJjZFFBRjhXSS9YdWQ1RFdyN2wyNEU5azU2cUQ1Ngp1eUsxc0pPZGRDTGt6dkhicGU3dFNoR2hBM3F6aXZQdHRkcXEyZUdWSEs2SUM4Q0F2amJDaEhIWFZzenloVEdaCnh0d2ZJallXWmpjK1UvdTFyTnU3WHNpeFJZRU5DUS8zUlFNRm9KeVEyTjhxZXBvcmVwU01NSkI0SGtva2VBM0gKKzN4TW0xQkpJYmRVTVptNFNQNXMrMkxXeHhPeEpoSzlIYnQ1WDhVSVB6V3dFVHlITi8vNmVCbnlFTUxwWWFvTwpuU09sY0I5WlpYZDJmb0FVZGVBMzFNL1NhVWhqRHdBcEIrQ2RaRG90QkZ6NUFYSzhQRStaQzYvNTY1VXZFTi9wCmVjNUNTT0RGNVRrT00xREdMTlpBb1ptdE5icEt1bkdmMmFOSlZnSFVlTnJyU2J3WmFvSWJvNE1RcFBFVE1IekUKdVk4VWpnMXlFQXp5OWFpWU04YkFuMUI0WmlDaHdVaVJGT3BtSGUwWkRuL3gyeStLd2F6R1pVRUpybHhyOUdIVApaL3RkUzZwMUkycWtRdjBwNkxoS2wvSDd6RHpaZFM2UVpXOHpIbXJGZkVBU3Q0ZjQ5Q0w5THdJREFRQUJvNElDCkpEQ0NBaUF3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJSSGtnUENRNjBCQ2txb1VoMXNrUDR2Q0FWawpaREFmQmdOVkhTTUVHREFXZ0JUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRNdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZXSmxjM3BsYkM1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdQpCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dmNqRXpMbU11YkdWdVkzSXViM0puTHpnMExtTnliRENDCkFRTUdDaXNHQVFRQjFua0NCQUlFZ2ZRRWdmRUE3d0IxQUJtRzFNY29xbS8rdWdOdmVDcE5BWkdxemkxeU1RK3UKemwxd1FTMGxUTWZVQUFBQm1xaERjbTRBQUFRREFFWXdSQUlnQXN0NmJKOHlqeTk1Vi96WEM0TGFEZVdLWlBQWQp1L2xCREd3L3Q5YUp6WEFDSUhndTdmYkZSam1vdzVSNDk2UkFjdVF2dGVsbEJIdW5ickFBMEYxeTgvcHJBSFlBClNaeWJhZDRkZk96OE50N05oMlNtdUZ1dkNvZUFHZEZWVXZ2cDZ5bmQrTU1BQUFHYXFFTnlid0FBQkFNQVJ6QkYKQWlCaEVKR21heVVvWHQ0SVRZRzlqK3ZVd08rcVhRV2FyNE5RMi8yUTNHSkpyQUloQU41N0RUZnp1MmtMMjgyWApxQzRYWkVJY0NVV1k4ejJOcVZHVUtwbit6bjc3TUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFDUnNWTWIrWWZyCkNxenowaDJLV09nWnRBaHRYU3Npc0djRERrOE1CK1FQUWYrdWt4WlNZVm1WZWdmaTIrQml5U3VuWGptM3NZWWgKMVlwcFgvSHpxNWg4SGN0S3k3ZDU3WTBGeGE3WFNNbVBHd1o4ejlReUNTQWphbDZEUlVWVlZuS0d6bEhLZUZoNgpKdXlsQXo5VjdNQ056bFQ2S0c0MEFORllzRTRiTWVJVlhrV1RjemJqVXRUaWhnem1hZFVZRGpYRFpDd0R4VUV0CnUvemtlaEdrNURKcFk1VjBsOENqYW1wakMralFUT2x0QldxTGY4YUZYR0UrbEFCRlE0bEUra0RBaDIyeUxFTkYKblFTdkEvTFNpeVJrM2o2eGRYZ1d4ODRRckQ1TUNUdC8yMjRNZFZtZTZ1c0tUN0lSNWMvY2VQa3o0RU9RQnZ5SwoyM1BxbS9tdGM1V1IKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdERENDQlBTZ0F3SUJBZ0lTQmZKTnZjSnZtZ24xREI2dGtDZDJBNnN4TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRJeE1UWXhNVEF5V2hjTk1qWXdOREl4TVRZeE1UQXhXakFnTVI0d0hBWURWUVFECkV4VmlaWE42Wld3dVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUURlTGVudEM5VFhBSmE3aDgxRGYzNUF3d2p2VEd6NU9WZDZSVFh0YlNlNGZib2J1QWdaMlpZZgpMelFVWWF0TmhjUFMwNTl4Yjk5aFpXcWYrbzZRTUVuSnlyR1RvaUVWUnRKbmVZRWZFZ2phUkdIR25rUHZUZnZyCm5oWFBLS2p5TXdiSU1Rci9CMFJKZkwzNWFMa2lXQUY1WURFYkhaQTRtVEk0T29HZjJQbjBNRXozbVVrclgyVEkKNnhjQ3MyVml1ajIvcW5JK2M1UUx6cHZIMTlWNlgweEZvUGJjZFFBRjhXSS9YdWQ1RFdyN2wyNEU5azU2cUQ1Ngp1eUsxc0pPZGRDTGt6dkhicGU3dFNoR2hBM3F6aXZQdHRkcXEyZUdWSEs2SUM4Q0F2amJDaEhIWFZzenloVEdaCnh0d2ZJallXWmpjK1UvdTFyTnU3WHNpeFJZRU5DUS8zUlFNRm9KeVEyTjhxZXBvcmVwU01NSkI0SGtva2VBM0gKKzN4TW0xQkpJYmRVTVptNFNQNXMrMkxXeHhPeEpoSzlIYnQ1WDhVSVB6V3dFVHlITi8vNmVCbnlFTUxwWWFvTwpuU09sY0I5WlpYZDJmb0FVZGVBMzFNL1NhVWhqRHdBcEIrQ2RaRG90QkZ6NUFYSzhQRStaQzYvNTY1VXZFTi9wCmVjNUNTT0RGNVRrT00xREdMTlpBb1ptdE5icEt1bkdmMmFOSlZnSFVlTnJyU2J3WmFvSWJvNE1RcFBFVE1IekUKdVk4VWpnMXlFQXp5OWFpWU04YkFuMUI0WmlDaHdVaVJGT3BtSGUwWkRuL3gyeStLd2F6R1pVRUpybHhyOUdIVApaL3RkUzZwMUkycWtRdjBwNkxoS2wvSDd6RHpaZFM2UVpXOHpIbXJGZkVBU3Q0ZjQ5Q0w5THdJREFRQUJvNElDCkt6Q0NBaWN3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJSSGtnUENRNjBCQ2txb1VoMXNrUDR2Q0FWawpaREFmQmdOVkhTTUVHREFXZ0JUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRNdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZXSmxjM3BsYkM1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdQpCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dmNqRXpMbU11YkdWdVkzSXViM0puTHpVd0xtTnliRENDCkFRb0dDaXNHQVFRQjFua0NCQUlFZ2ZzRWdmZ0E5Z0IxQU1zNDl4V0pmSVNoUkY5YndkMzd5Vzd5bWxuTlJ3cHAKQllXd3l4VERGRmpuQUFBQm0rR0liRGNBQUFRREFFWXdSQUlnSno2RTBRN3A1NjJsRVZSZ1VlMENHRmN5MXgxZwpDM0Q4V21UdUUwbFVoZHNDSUdpaDN4aHlER1lMMTVUd3Y4V0NLMWtmeHp6OXBrczdwQTZscUJVcGR5R21BSDBBCjR5T044bzJpaU9DcTRLencrcERKaGZDMnYvWFNwU2V3QWZ3Y1JGakV0dWdBQUFHYjRZaHUwd0FJQUFBRkFEQVIKYitRRUF3QkdNRVFDSUhrTENva3hRNkRVY01YMWpuWXhPQmJlMTZ6M2FZeHJTYXg3Z25QRGZCdHhBaUFlM3E5cgpqQnZPeHdoVVRhQ1JHaWJDVExlKzNxMEZVZlAyV3hPYVlwdUlmakFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBCm5uMEt6MWZJMUpmaFpWcEdNNWs0VHNqU0RPaTVVbzZjZEhXQTB1clErYkhiS3Z3Kzc1SVAwdXpQK3NRbWh6dU0KUC9zalhpRml6NkFERko4aXAyYzJIUjBicXFRMWNGb25rZzErMnRCL05YMnNrK25JZHpIZ2YwQ0xGMHBNb1dWdwpKMk00ZkpLYlB6c0hoOWZJZ0RWNDNsMzBrZURLNE94bU5wUnhFZDNLMC9XM3BXdnQ3UkFTN2VzMGxUKzhQM25FCnZVdmJtMmRtOXRtdHQ0THdMSWhCb1Vrb3h0cmpKcGxXRnVLR3cyMHc2bmt0Wms1aHhQQm05djNWbWpzMDYya3MKVXBsTDhXaCt4bElLQWswS3o3K3kvSGk2TzhnVkg2NzlPY1h4cnk5YnA1K0FMOUxHL2cxNFdTZXpGNEF3M0hucwpoaVdOTGNVK1pMS0MzMUJnZ28va3l3PT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBM2kzcDdRdlUxd0NXdTRmTlEzOStRTU1JNzB4cytUbFhla1UxN1cwbnVIMjZHN2dJCkdkbVdIeTgwRkdHclRZWEQwdE9mY1cvZllXVnFuL3FPa0RCSnljcXhrNkloRlViU1ozbUJIeElJMmtSaHhwNUQKNzAzNzY1NFZ6eWlvOGpNR3lERUsvd2RFU1h5OStXaTVJbGdCZVdBeEd4MlFPSmt5T0RxQm45ajU5REJNOTVsSgpLMTlreU9zWEFyTmxZcm85djZweVBuT1VDODZieDlmVmVsOU1SYUQyM0hVQUJmRmlQMTduZVExcSs1ZHVCUFpPCmVxZytlcnNpdGJDVG5YUWk1TTd4MjZYdTdVb1JvUU42czRyejdiWGFxdG5obFJ5dWlBdkFnTDQyd29SeDExYk0KOG9VeG1jYmNIeUkyRm1ZM1BsUDd0YXpidTE3SXNVV0JEUWtQOTBVREJhQ2NrTmpmS25xYUszcVVqRENRZUI1SwpKSGdOeC90OFRKdFFTU0czVkRHWnVFaitiUHRpMXNjVHNTWVN2UjI3ZVYvRkNEODFzQkU4aHpmLytuZ1o4aERDCjZXR3FEcDBqcFhBZldXVjNkbjZBRkhYZ045VFAwbWxJWXc4QUtRZmduV1E2TFFSYytRRnl2RHhQbVF1ditldVYKTHhEZjZYbk9Ra2pneGVVNURqTlF4aXpXUUtHWnJUVzZTcnB4bjltalNWWUIxSGphNjBtOEdXcUNHNk9ERUtUeApFekI4eExtUEZJNE5jaEFNOHZXb21EUEd3SjlRZUdZZ29jRklrUlRxWmgzdEdRNS84ZHN2aXNHc3htVkJDYTVjCmEvUmgwMmY3WFV1cWRTTnFwRUw5S2VpNFNwZngrOHc4MlhVdWtHVnZNeDVxeFh4QUVyZUgrUFFpL1M4Q0F3RUEKQVFLQ0FnRUFuTHVYQWZvT3MzMWUxL3Y4K1ZpL0g4QjJWUmw4NW5ObEdvUW9mczA1OEJRQmJmeHMrbzljTDdPRQo4YnZVdEdOZ3VTRkFvUzFpVDdyVGRQZTBDbE9HT2l3YkNTS2VZL3dLQWFUZFNhWFhTT0prZDFDK2E5cC9sTDk0CmN5TWp5M2ZqbU9XLzlCaVVPNk1jQVEyM1RGcjQ3ejdFWlhSOWdPL1JWWWt3V0NzZ2FQcUowVUQ1TlBlZWlYNE8KUllGNFRDVkYyaWZMWC9MNHhUdUMrWDl3d1ZybzIxV3B6K3Raa05ldmp6VEw1Y0ZwYndKc1FtUGZDUGdXMjAyWQpOc1BSM29sRzlGSm9tNko2NGpvV0paZm12ekdPMG1vdlQ4ZFVNM1NBU3NpL2pCS2pYcVZBQ2NEWjQxdkNtZENICkNBK0NTRnJqTGJ6aEhGQk0wZWtUZXJxbFJ5VFZkVERjaDdrRHhmSXVMbXJ0QUtXamVJM1VBNjZoQW9aOGd0b1YKY2dZMmwrcHZ5aDFhYWY5SzQwU0w0WTBQZlBCWFJyQ2tEKzM2Wk9udmVVcmc0akZtZXhISlJ1ZHJGcjFjZUt6SwpSeEUrYWZ2akZXbEgvalM1a3R5ck5FeTFHN1o5OGxXZ0Y4YmxORlRhV1VtZ1NSSzMxZUdWUmdRUG9PV2ZlSERDCjkvbFJCR3pxZmpPSEZVQXEyc2xUMDRCb1lCck5mU3ZXMy9pZTB4cGpaQmdDQ0FJbkxTVncxQ1BGNkdqZTJFczYKRml6RkxZSXQ4eDMyK3F4Q1ZCWkJZYUhNeU9mNGtsRlBla3JreUowZEhsZWVYUG8xajBnMkRmdHREN2tWKzBtcwpGRWJ0dlNPWCtWbXRvdDQrU3BiQlpTTHlNdFUzS0FVd2ZYamhZNW9xMHdVYWFRNDB6VUVDZ2dFQkFQeFpiRDQzCjZuSVp3QjNxalB5c0ExVjVwdW9mRkgyNHZONG5SSnlPOHM1eGhxSmcxWTV4ZXlvSzlvOUxReFRMaCtnODJSeGUKa3RZS1UwQzZiMlRxUW5sSUR5VDRUSks5S2pLdEtNQ1pKLzNlWjBGdFJScTN1ZzNFSmVUek1mNDE5TXZhemxPNwpyT0pwams0OW1YNDFGTjhaYXdWdTQ5ays3ZGNGeStFbnlpVk94SkpXZkFxZExobUtveDJvQ2M1TzRvdlpOcjYxCnFOcWZDamFxWjBUQVVQSmo0UzFaSGh5NThXRjY0MHFOQlZ6NnQ5TUZ6ckVTS1ppL29GTVRYZGtXUCtVaWhWMzkKSzZ3RDVsRVd6Vm1ZeWJWbGV1RmYvdnFDSFpUYlBVaXAzOFI4eVFIQkdOMXUyVzNYN1h6NDJERCtZMUpZRm1rcQp5TDgyUTVCZU5jTmZ6aTBDZ2dFQkFPRmt3Wjd0K3dYSGZvTDhNTzF0ditsVDhNWWE3bkppMEJLY1BYeThlWWxvCkp6d3VuSzhCaGdzR1BwekhBRmRzWVNkQ2R6dFRONWMzSU1iNDFDc2FGRnNkRG8wU0UyL01rTHEzRFhvejlSb1gKa1g3cVI2VHFoUzlnL0xLSE03OXk3b2lPaHlFcXdrSTFFOFBFTkUvNUVWaFdYMFZjRnIwdnJiYStJdzVwWkU0ZQphTk5uZXdzTjZOTFhqUnJpaXA0QnZNUFNiSVQyOXM3TEQwMlkrNTEvOStVWVQzZ29lc2E2K25Ld1lXd2F5cWpvCllsRlFrT0VmSzNkUnJOMnVYUDl4NnJiV0h6M1drYmlSbVdhV2J0ektSREpnRUdqUGlMZVNiZ1RnUWhyUzJGZXUKSU10R0dOMEljNmxaU3RkbDU4eE9VSEhpeC9VdHdYM3NBeEl1RWRFTHJrc0NnZ0VBUmpXekVoU0luRHBoNDNEdwp6UlFtMFU5SmkzWWVRMlIwMS9KZytwWWpKQ0VkN211MnZ5ei9zWkRmVExzSjdPMDc0UGVkQ0hHZnRRR21iQ255CitFYmRPOVU2c1hTTUNYK3NEL0Z4bHpTRmxmS2RFKzBNL3dRRE5mVk8vY1pVTUlCZW5hRkJLcmJhd1J2UlJoK0oKWnozcGtyRUZ2N3M4bGFNV2xXNjliT1dmTG9ZZDF3Rk0vYjhCcG9XV0lKZ3lNajVzZGJCM3ROUGlLUUY2Mi83SgpRSzJwVitkR0xWSFFPUG5iR040U0F4bjlWZ05EeGVpbHUwcHNYRjFrZy9pdGNjcm8rQjJFc2NQUXRNbFkrVks0Cnk2Ymc2Q0ZWOFFLK2RJQmpMcGxaRWJDQjI2OUVWY0tkNG00Ry9MTEpGcTQ5cUZQKzJsZzcxQUxkVzZZRFlsVnoKNitucCtRS0NBUUVBdGVYMGhHaVd2eEZDdmo3ODFZQk84dVQxV1V0K3gvMks0cG9JM1ZQVjJkaWVZV2xVdGIvTApCN2FnYlRJRXlva0Mxd1pDNXpPL2wxKzhLaGZDVW82WGd2aXVONWN3N0hieERsNlFsK0M2bTdZTmk1bFMvSHJ2CnhVN0dZT1hRRTErVHRjMGdyTm12TUhOWlloSkVEWTU2T3dwcGxMWSsrNnN3ekZ3aU9vMC9qL1Btc1VXLy9TbmEKamQyN1dNa2ZDV2xwaDdlWU1LNkdmRmxRSGxXcUttK09CZXRhcHlRMEFaSUFjUEo3alIwS0ZNcUdIZzJnL3EyRApES1p6bGV3VHpXdUgrc3BQS0Q2MEYzb1pqTHMyK1NTYmFQUXlDZ1FDMS9OcXFyQzVhS0JrVEU2UTFMdmJjUFpUCk1ZYUlhZEVxQXEzcEtoL1ZNNzhiZXA0djFFb3R3c0ZraFFLQ0FRQnlYK3NjQ1VnV21XcmpCWjFrMWhoaHJ0VkEKbXpLcjlOeWQvVjNocXpLQlVUTHExMjk4MGtNMWZOQ3NYVytOL2ZqMDVzSkNvdjRGbGZRbUsrQkNHNVE1eDVVQwpUQm1ONVNrZm0yVkVVNVI3TnYraWNRQW9WK2UzL0YrWHV5b2ZjZEthdWFlQVE4QzJMSStjd1JhTTBFekZBSG1nCnBCSFFmMEllNnNNcXIwTnUrNXZPdlozeGdqaHFCN0FkNk9SdmJTaUxjeTBYTUJlR1dxV1NqellTZlJ0cEFFN0IKUnN0dUJ1MFpRSWR3c2RZMTZldTVWby9aTmFWSVRtY09UbGVCV25JVnY3aWJ6V2EwU2xRd1JHeUROZk1xZDBEWQo3T01DaVNyai9PQjRVTDE1Y091TkVCQS9RRDh0WEVsUXYvbzhraGhZOEo4bm50UEEwbFZIdUk1bG9YWWIKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -443,7 +443,7 @@ "domain": { "main": "deezerdl.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDekNDQlBPZ0F3SUJBZ0lTQlduRG8zSnBTLzZhNUN3N0RjTmk0ZDQ3TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05NalV4TVRJeE1qQXhORFF4V2hjTk1qWXdNakU1TWpBeE5EUXdXakFpTVNBd0hnWURWUVFECkV4ZGtaV1Y2WlhKa2JDNWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVAKQURDQ0Fnb0NnZ0lCQUwxMUIrbkYxdzdmUHlpQ2pURDM1STJubzJSQm9BYk9Meis1ay9HUWtubnNLZzJhelhpbwpYQlFKVnFDTE5ZZGxTM1BrWjVYYkUxSWtRYjloc0pIQWowYnRJSkJPUnJvRE50QVhHNndxSlltTVRZWWVWVEVkCllUN1NhWVprdXprSzhFbG1hWGhDbnNrOTNncU1qMkcvQWlNUVJCdXdYeTg5NU9aY3J3NTdnRGl5bVZhcHpLSCsKNmJtQTlaV3hLUllMbS9MbldHRHpDWE1QeGpUYk9VdG03S0gvRWhwUkowc2tmQTNRLzFCQ2dUUjBRSkprUWJpRApFZTNBVkpKZnJqRE8xaDQ3cnQzeTlaM1ZXcTR2SHdINWI5SFBwZVFVWnlObmNTT2FZK29xMVA5S2dpL0NieDhuCnhNL1lBOGxaZjlHM0xvWHJ6TFVBajU2eDRJdUR6NHhKYzhFVDY3Q0hLckNrZzhqR2pSejI3QzN0cm5nTWRzMDIKVW5vbjg5UVI4Y01Oc2VYdkdVdTlVajhGZmwySmlyNFk5NjlFZFVNT3BZMHNwdm52TjFyOERCN2RvMXg3eVhWdgo0SXh5TzU3emR1UDZGaG16Zi9aekxBUE9zZzVmcE40NGtLSlZhbWhPZ3RvRVNQYWFtUkozK2IySFVOanUybUMxCnVhYkIybkVlb2ErN0VFaWxmT2FHZ0YwY2xNY0Y0TVkycGM2eXNUNHMwMTV6aFhkdS9yalZXTGh3N2NOc241dnYKWkxkamR4U1J2Vm9ka0pqeGVQUXc3ZmRkSnl3NGQ1cTlMTnFVOG5sRHUrVkE5NDFpN1hick9td01uRWd5WE9rOQoxbTRrNkVDNCtjMkFLcXVBSzZIUkFRK0s5anNmeVV2QWxlWDgwcWVrcU5OZ3JISzRhODNuR0R2dkFnTUJBQUdqCmdnSW9NSUlDSkRBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0cKQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZNcXI4Vk5Ta2M1RGM2Um9nMWNvQnhnZgpORjI5TUI4R0ExVWRJd1FZTUJhQUZBQzFLZkl0am04eDZKdE1yWGcrK3R6cEROSFNNRE1HQ0NzR0FRVUZCd0VCCkJDY3dKVEFqQmdnckJnRUZCUWN3QW9ZWGFIUjBjRG92TDNJeE1pNXBMbXhsYm1OeUxtOXlaeTh3SWdZRFZSMFIKQkJzd0dZSVhaR1ZsZW1WeVpHd3VZWFJvWVd4cFlYQndjeTU0ZVhvd0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QgpBZ0V3TGdZRFZSMGZCQ2N3SlRBam9DR2dINFlkYUhSMGNEb3ZMM0l4TWk1akxteGxibU55TG05eVp5ODJNQzVqCmNtd3dnZ0VGQmdvckJnRUVBZFo1QWdRQ0JJSDJCSUh6QVBFQWRnQmtFY1JzcEJMc3A0a2NvZ0l1QUx5clR5Z0gKMUI0MUo2dnEvdFVEeVgzTjhBQUFBWnFvUTQ2dkFBQUVBd0JITUVVQ0lRRGVtOFVvK0RtcFdDL00xWjJrekpZYwpxU1ZwYXlxeFRVbUxPUU9neWo0TlNnSWdSWFp2cG9FWlZXZEpoMDN0ODFKQW1rbXpBSkI2cGk5dWJXYkZ5cUhtCkdERUFkd0FPVjVTODg2NnBQak1iTEprSHMvZVEzNXZDUFhFeUpkMGhxU1dzWWNWT0lRQUFBWnFvUTQ2NEFBQUUKQXdCSU1FWUNJUUMxWnZoVXh0TlZRQnlrMW9YMlJUWmRiRUFZbUtrTW1KZm9MdXR3UHUvQzhBSWhBS1Y4VkFqdgp0YWtCOWNJNGdFMFN3UTZRVmlvVzd0dnNOWWdaZkt4UE11N1ZNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUFWCmF0ZVpZSjBjRThMZzFBWXhPcEI0L2RFSW1ZanVNSjNuQU5DWHk2WTB3TzJ2bEE3RlRTeEZnMzIxTVJYY01aSjgKWHhzaXZBbWNIdWVuT2g2U3oyQjhqWnY1M3lXZE5EODdaMkdXNUhkSVlsT1dXY0dvVnd4YUxoNkF6S3pvZTVWeQpuYWdHRkNlQkw0RSsxQk5PUGQwTHp2c3czTTlqaTIyMXZrWGUrUzV2YnVpNXhKNFhIcjc0TWxoMWhldnFiRnNECm5VQ3loRU9UYWJEamU0WURRNFdTK3NrZ1F4bTZuaWx4TVVaWSsyaEFHUGxKOFJIdkpEZnlFYVJORUUzSVA5aVIKRlp2cmxMTFlaaU43b0NNa2lsdEhtY2cydzUwQ1pFSnpTbmFZS1FkY3FvQWY1eG0wT2NtaFkxVGE4NXRCejFQUAoyMWZITG1aZG1FcUppc05IR1pzRAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJqQ0NBdTZnQXdJQkFnSVJBTUlTTWt0d3FiU1JjZHhBOStLRkpqd3dEUVlKS29aSWh2Y05BUUVMQlFBdwpUekVMTUFrR0ExVUVCaE1DVlZNeEtUQW5CZ05WQkFvVElFbHVkR1Z5Ym1WMElGTmxZM1Z5YVhSNUlGSmxjMlZoCmNtTm9JRWR5YjNWd01SVXdFd1lEVlFRREV3eEpVMUpISUZKdmIzUWdXREV3SGhjTk1qUXdNekV6TURBd01EQXcKV2hjTk1qY3dNekV5TWpNMU9UVTVXakF6TVFzd0NRWURWUVFHRXdKVlV6RVdNQlFHQTFVRUNoTU5UR1YwSjNNZwpSVzVqY25sd2RERU1NQW9HQTFVRUF4TURVakV5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCCkNnS0NBUUVBMnBnb2RLMitsUDQ3NEI3aTVVdDFxeXdTZisybkF6SitOcGZzNkRHUHBST05DNWt1SHMwQlVUMU0KNVNodUNWVXhxcVVpWFhMMExRZkNUVUE4M3dFanVYZzM5UnBsTWpUbWhuR2RCTytFQ0Z1OUFocVo2NllCQUpwegprRzJQb2dlZzBKZlQya1ZoZ1RVOUZQbkV3RjlxM0F1V0dyQ2Y0eXJxdlNyV21NZWJjYXM3ZEE4ODI3Smd2bHBMClRoanAyeXB6WElsaFpaNys3VHlteTA1djVKNzVBRWF6L3hsTkttT3pqbWJHR0lWd3gxQmxienQwNVVpRER3aFkKWFMwam5WNmovdWpiQUtIUzlPTVpUZkx1ZXZZbm51WE5uQzJpOG4rY0Y2M3ZFemM1MGJUSUxFSFdoc0RwN0NINApXUnQvdVRwOG4xd0JuV0lFd2lpOUNxMDh5aERzR3dJREFRQUJvNEg0TUlIMU1BNEdBMVVkRHdFQi93UUVBd0lCCmhqQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBZ1lJS3dZQkJRVUhBd0V3RWdZRFZSMFRBUUgvQkFnd0JnRUIKL3dJQkFEQWRCZ05WSFE0RUZnUVVBTFVwOGkyT2J6SG9tMHl0ZUQ3NjNPa00wZEl3SHdZRFZSMGpCQmd3Rm9BVQplYlJaNW51MjVlUUJjNEFJaU1nYVdQYnBtMjR3TWdZSUt3WUJCUVVIQVFFRUpqQWtNQ0lHQ0NzR0FRVUZCekFDCmhoWm9kSFJ3T2k4dmVERXVhUzVzWlc1amNpNXZjbWN2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQk1DY0cKQTFVZEh3UWdNQjR3SEtBYW9CaUdGbWgwZEhBNkx5OTRNUzVqTG14bGJtTnlMbTl5Wnk4d0RRWUpLb1pJaHZjTgpBUUVMQlFBRGdnSUJBSTkxMEFuUGFuWklaVEtTM3JWRXlJVjI5QldFakFLL2R1dXo4ZUw1Ym9Tb1ZwSGhra3YzCjRlb0FlRWlQZFpMajVFWjdHMkFySUsrZ3poVGxSUTFxNEZLR3BQUGFGQlNwcVYveGJVYjVVbEFYUU9ua0huM20KRlZqK3FZdjg3L1dlWStCbTRzTjNPeDhCaHlhVTdVQVEzTGVaN04xWDAxeHhRZTR3SUFBRTNKVkxVQ2lIbVpMKwpxb0NVdGdZSUZQZ2NnMzUwUU1VSVdneFBYTkdFbmNUOTIxbmU3bmx1STAyVjhwTFVtQ2xxWE9zQ3dVTHcrUFZPClpDQjdxT014eE1Cb0NVZUwyTGw0b01wT1NyNXBKQ3BMTjN0UkEyczZQMUtMczlUU3JWaE9rKzdMWDI4Tk1VbEkKdXNRL254TEpJRDBSaEFlRnRQanlPQ09zY1FCQTUzK05SalNDYWs3UDRBNWpYN3BwbWtjSkVDTCtTMGkza1hWVQp5NU1lNUJiclU4OTczalpOdi9heDYrWks2VE04aldtaW1MNm9mNk9yWDdaVTZFMldxYXp6c0ZyTEczbzJreVNiCnpsaFNnSjgxQ2w0dHYzU2JZaVlYbkpFeEtRdnpmODNEWW90b3gzZjBmd3Y3eGxuMUEyWkxwbENiME8rbC9BSzAKWUUwRFMyRlB4U0FIaTBpd01mVzJuTkhKclhjWTNMTEhENzdnUmdqZTRFdmV1YmkyeHhhK05tay9obWhMZElFVAppVkRGYW5vQ3JNVklwUTU5WFdIa3pkRm1vSFhIQlY3b2liVmpHU083VUxTUTdNSjFOejUxcGh1REpTZ0FJVTdBCjB6ckxuT3JBai9kZnJsRVdSaEN2QWdidXdMWlgxQTJzak5qWG9QT0hic1BpeStsTzFLRjgvWFk3Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdFekNDQlB1Z0F3SUJBZ0lTQlZXYVNNZlBBTTdPZ3laS3U3V1V2ME81TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXhNVEE1V2hjTk1qWXdOREl4TVRZeE1UQTRXakFpTVNBd0hnWURWUVFECkV4ZGtaV1Y2WlhKa2JDNWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVAKQURDQ0Fnb0NnZ0lCQUwxMUIrbkYxdzdmUHlpQ2pURDM1STJubzJSQm9BYk9Meis1ay9HUWtubnNLZzJhelhpbwpYQlFKVnFDTE5ZZGxTM1BrWjVYYkUxSWtRYjloc0pIQWowYnRJSkJPUnJvRE50QVhHNndxSlltTVRZWWVWVEVkCllUN1NhWVprdXprSzhFbG1hWGhDbnNrOTNncU1qMkcvQWlNUVJCdXdYeTg5NU9aY3J3NTdnRGl5bVZhcHpLSCsKNmJtQTlaV3hLUllMbS9MbldHRHpDWE1QeGpUYk9VdG03S0gvRWhwUkowc2tmQTNRLzFCQ2dUUjBRSkprUWJpRApFZTNBVkpKZnJqRE8xaDQ3cnQzeTlaM1ZXcTR2SHdINWI5SFBwZVFVWnlObmNTT2FZK29xMVA5S2dpL0NieDhuCnhNL1lBOGxaZjlHM0xvWHJ6TFVBajU2eDRJdUR6NHhKYzhFVDY3Q0hLckNrZzhqR2pSejI3QzN0cm5nTWRzMDIKVW5vbjg5UVI4Y01Oc2VYdkdVdTlVajhGZmwySmlyNFk5NjlFZFVNT3BZMHNwdm52TjFyOERCN2RvMXg3eVhWdgo0SXh5TzU3emR1UDZGaG16Zi9aekxBUE9zZzVmcE40NGtLSlZhbWhPZ3RvRVNQYWFtUkozK2IySFVOanUybUMxCnVhYkIybkVlb2ErN0VFaWxmT2FHZ0YwY2xNY0Y0TVkycGM2eXNUNHMwMTV6aFhkdS9yalZXTGh3N2NOc241dnYKWkxkamR4U1J2Vm9ka0pqeGVQUXc3ZmRkSnl3NGQ1cTlMTnFVOG5sRHUrVkE5NDFpN1hick9td01uRWd5WE9rOQoxbTRrNkVDNCtjMkFLcXVBSzZIUkFRK0s5anNmeVV2QWxlWDgwcWVrcU5OZ3JISzRhODNuR0R2dkFnTUJBQUdqCmdnSXdNSUlDTERBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0cKQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZNcXI4Vk5Ta2M1RGM2Um9nMWNvQnhnZgpORjI5TUI4R0ExVWRJd1FZTUJhQUZBQzFLZkl0am04eDZKdE1yWGcrK3R6cEROSFNNRE1HQ0NzR0FRVUZCd0VCCkJDY3dKVEFqQmdnckJnRUZCUWN3QW9ZWGFIUjBjRG92TDNJeE1pNXBMbXhsYm1OeUxtOXlaeTh3SWdZRFZSMFIKQkJzd0dZSVhaR1ZsZW1WeVpHd3VZWFJvWVd4cFlYQndjeTU0ZVhvd0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QgpBZ0V3TGdZRFZSMGZCQ2N3SlRBam9DR2dINFlkYUhSMGNEb3ZMM0l4TWk1akxteGxibU55TG05eVp5ODFPQzVqCmNtd3dnZ0VOQmdvckJnRUVBZFo1QWdRQ0JJSCtCSUg3QVBrQWRnRExPUGNWaVh5RW9VUmZXOEhkKzhsdThwcFoKelVjS2FRV0ZzTXNVd3hSWTV3QUFBWnZoaUlnWUFBQUVBd0JITUVVQ0lCWktMOVVKenRHNFd5Q0FVdzZjYXgwbwplRk5BQ0pVWGVOcTFRM1JPd0pkREFpRUFvZXRGRXpqTWVOdjRQRGRzczRwUDVQV0t0Z2hvSkZ3aytTcG1kUUJsClc5d0Fmd0RqSTQzeWphS0k0S3JnclBENmtNbUY4TGEvOWRLbEo3QUIvQnhFV01TMjZBQUFBWnZoaUlvckFBZ0EKQUFVQU1CRndkZ1FEQUVnd1JnSWhBTWdQUHVjUy9Sd3g5Qk16MVlYVU1BWkhQMHkzakR6dk90YWxqNjAzYlNrSApBaUVBZ3RUQTNaQ1NyUExqUTVUbVJ5V1hyamtXemxmMlBjSkJUTWREZFRYMEt3WXdEUVlKS29aSWh2Y05BUUVMCkJRQURnZ0VCQU5Ib0ZtejYrQ0JyV0JnUkt2MDhDM21sc2F3RkpYNWM0RVBIdG5qNkhmell5RUkyK1NUK25aemkKRS9qbDgxdDZpNHZJZlMzSTczT24xNmFmMlVvdDIwQ3pIK1lNamxiemtiUWdkTlErc0JSYlJMNE9URDVaZkhsSQo1bHN3dEsyVnFHdUd6bnNiaDY5RWFIWDBaektYWERiS3FiMldudlBvbXpjRlY1T2MxeitzbjkzRjR0eVgrclVGCjhHOWdMOVpTU2REQ05Hc3VFbTlDZ1ZZY2ROOFlteC9PT3FRR3VaY3FXWjdOQ3hyVElQSlJBcVdsZVVDN3VaSHMKMUpFYUthWU5lWGFTRkozRTltanEwN0psWDdtbURUUFQwMlMyZEdDSjVTSUx6cEpXekRjV1RIZUJOT2MwaFBBMAo1WVVxWTBZck9oOE9ybFRNdGgyalQ3c0QreVVXeW44PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJqQ0NBdTZnQXdJQkFnSVJBTUlTTWt0d3FiU1JjZHhBOStLRkpqd3dEUVlKS29aSWh2Y05BUUVMQlFBdwpUekVMTUFrR0ExVUVCaE1DVlZNeEtUQW5CZ05WQkFvVElFbHVkR1Z5Ym1WMElGTmxZM1Z5YVhSNUlGSmxjMlZoCmNtTm9JRWR5YjNWd01SVXdFd1lEVlFRREV3eEpVMUpISUZKdmIzUWdXREV3SGhjTk1qUXdNekV6TURBd01EQXcKV2hjTk1qY3dNekV5TWpNMU9UVTVXakF6TVFzd0NRWURWUVFHRXdKVlV6RVdNQlFHQTFVRUNoTU5UR1YwSjNNZwpSVzVqY25sd2RERU1NQW9HQTFVRUF4TURVakV5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCCkNnS0NBUUVBMnBnb2RLMitsUDQ3NEI3aTVVdDFxeXdTZisybkF6SitOcGZzNkRHUHBST05DNWt1SHMwQlVUMU0KNVNodUNWVXhxcVVpWFhMMExRZkNUVUE4M3dFanVYZzM5UnBsTWpUbWhuR2RCTytFQ0Z1OUFocVo2NllCQUpwegprRzJQb2dlZzBKZlQya1ZoZ1RVOUZQbkV3RjlxM0F1V0dyQ2Y0eXJxdlNyV21NZWJjYXM3ZEE4ODI3Smd2bHBMClRoanAyeXB6WElsaFpaNys3VHlteTA1djVKNzVBRWF6L3hsTkttT3pqbWJHR0lWd3gxQmxienQwNVVpRER3aFkKWFMwam5WNmovdWpiQUtIUzlPTVpUZkx1ZXZZbm51WE5uQzJpOG4rY0Y2M3ZFemM1MGJUSUxFSFdoc0RwN0NINApXUnQvdVRwOG4xd0JuV0lFd2lpOUNxMDh5aERzR3dJREFRQUJvNEg0TUlIMU1BNEdBMVVkRHdFQi93UUVBd0lCCmhqQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBZ1lJS3dZQkJRVUhBd0V3RWdZRFZSMFRBUUgvQkFnd0JnRUIKL3dJQkFEQWRCZ05WSFE0RUZnUVVBTFVwOGkyT2J6SG9tMHl0ZUQ3NjNPa00wZEl3SHdZRFZSMGpCQmd3Rm9BVQplYlJaNW51MjVlUUJjNEFJaU1nYVdQYnBtMjR3TWdZSUt3WUJCUVVIQVFFRUpqQWtNQ0lHQ0NzR0FRVUZCekFDCmhoWm9kSFJ3T2k4dmVERXVhUzVzWlc1amNpNXZjbWN2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQk1DY0cKQTFVZEh3UWdNQjR3SEtBYW9CaUdGbWgwZEhBNkx5OTRNUzVqTG14bGJtTnlMbTl5Wnk4d0RRWUpLb1pJaHZjTgpBUUVMQlFBRGdnSUJBSTkxMEFuUGFuWklaVEtTM3JWRXlJVjI5QldFakFLL2R1dXo4ZUw1Ym9Tb1ZwSGhra3YzCjRlb0FlRWlQZFpMajVFWjdHMkFySUsrZ3poVGxSUTFxNEZLR3BQUGFGQlNwcVYveGJVYjVVbEFYUU9ua0huM20KRlZqK3FZdjg3L1dlWStCbTRzTjNPeDhCaHlhVTdVQVEzTGVaN04xWDAxeHhRZTR3SUFBRTNKVkxVQ2lIbVpMKwpxb0NVdGdZSUZQZ2NnMzUwUU1VSVdneFBYTkdFbmNUOTIxbmU3bmx1STAyVjhwTFVtQ2xxWE9zQ3dVTHcrUFZPClpDQjdxT014eE1Cb0NVZUwyTGw0b01wT1NyNXBKQ3BMTjN0UkEyczZQMUtMczlUU3JWaE9rKzdMWDI4Tk1VbEkKdXNRL254TEpJRDBSaEFlRnRQanlPQ09zY1FCQTUzK05SalNDYWs3UDRBNWpYN3BwbWtjSkVDTCtTMGkza1hWVQp5NU1lNUJiclU4OTczalpOdi9heDYrWks2VE04aldtaW1MNm9mNk9yWDdaVTZFMldxYXp6c0ZyTEczbzJreVNiCnpsaFNnSjgxQ2w0dHYzU2JZaVlYbkpFeEtRdnpmODNEWW90b3gzZjBmd3Y3eGxuMUEyWkxwbENiME8rbC9BSzAKWUUwRFMyRlB4U0FIaTBpd01mVzJuTkhKclhjWTNMTEhENzdnUmdqZTRFdmV1YmkyeHhhK05tay9obWhMZElFVAppVkRGYW5vQ3JNVklwUTU5WFdIa3pkRm1vSFhIQlY3b2liVmpHU083VUxTUTdNSjFOejUxcGh1REpTZ0FJVTdBCjB6ckxuT3JBai9kZnJsRVdSaEN2QWdidXdMWlgxQTJzak5qWG9QT0hic1BpeStsTzFLRjgvWFk3Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBdlhVSDZjWFhEdDgvS0lLTk1QZmtqYWVqWkVHZ0JzNHZQN21UOFpDU2Vld3FEWnJOCmVLaGNGQWxXb0lzMWgyVkxjK1JubGRzVFVpUkJ2Mkd3a2NDUFJ1MGdrRTVHdWdNMjBCY2JyQ29saVl4TmhoNVYKTVIxaFB0SnBobVM3T1Fyd1NXWnBlRUtleVQzZUNveVBZYjhDSXhCRUc3QmZMejNrNWx5dkRudUFPTEtaVnFuTQpvZjdwdVlEMWxiRXBGZ3ViOHVkWVlQTUpjdy9HTk5zNVMyYnNvZjhTR2xFblN5UjhEZEQvVUVLQk5IUkFrbVJCCnVJTVI3Y0JVa2wrdU1NN1dIanV1M2ZMMW5kVmFyaThmQWZsdjBjK2w1QlJuSTJkeEk1cGo2aXJVLzBxQ0w4SnYKSHlmRXo5Z0R5VmwvMGJjdWhldk10UUNQbnJIZ2k0UFBqRWx6d1JQcnNJY3FzS1NEeU1hTkhQYnNMZTJ1ZUF4Mgp6VFpTZWlmejFCSHh3dzJ4NWU4WlM3MVNQd1YrWFltS3ZoajNyMFIxUXc2bGpTeW0rZTgzV3Z3TUh0MmpYSHZKCmRXL2dqSEk3bnZOMjQvb1dHYk4vOW5Nc0E4NnlEbCtrM2ppUW9sVnFhRTZDMmdSSTlwcVpFbmY1dllkUTJPN2EKWUxXNXBzSGFjUjZocjdzUVNLVjg1b2FBWFJ5VXh3WGd4amFsenJLeFBpelRYbk9GZDI3K3VOVll1SER0dzJ5ZgptKzlrdDJOM0ZKRzlXaDJRbVBGNDlERHQ5MTBuTERoM21yMHMycFR5ZVVPNzVVRDNqV0x0ZHVzNmJBeWNTREpjCjZUM1diaVRvUUxqNXpZQXFxNEFyb2RFQkQ0cjJPeC9KUzhDVjVmelNwNlNvMDJDc2NyaHJ6ZWNZTys4Q0F3RUEKQVFLQ0FnQktwYmZ1ZGhNY092NEptaGJEZW9qRS80NHpUR0FmRGxJemk0MHRHc2Q3M245YlNPazRaeTJRZjNWdwpZQ2xCSmJvcStZMk96L2kyM3E1QkY5NllMd1RFNzExclBreERza3lBaFBwVVJXN3cyU1VhZVEwY0F2Vno2VGZHCnloMnloZ3JUQU5VQm0wNHhBSDFpTHF1MzJhaWY1Q0xSdmhaaTZNSXR1Y3NIcThXRGtXczFhRVhHZGtmazNWam0KR0IyV0lCRGNEaWNXVyt3WE45bmlyWlhQamNnaXMvdVAvdlc2ZDYraFNmMnV3K1ZnbzRWbHFMYjBXa0JRS3YybgpocWQ5ZDZHSjIvNDBXU3hKZWV6MndINDVLdXpTQUR6ZXR1TkVZZGVFTGFxOGN3L2xYcGdZOVVVUFEzNGFYb1J2CmF5SWZvVXRsWE5rVllCazJiK09IVlBJTDFrMFMwank0NmI4MUYyZmNrczVnaHhYVFlzb1NLbFZ4RGk0NXRpR1UKeG1udlpiMTJZRENaNVJaWDYrbkQrMTFGakRWMVQ5UXR6K3pueldJZ1hjZjVTNUV1ODNzOFJIOCs4WWFiL1ltdgpJek51UVpUT3ZpTDkwQzdGUlE5Mndtdk5YM0ZDakVJanFoaHVuNUg5T2ZZNGJaakZFRmNwaDVzblI3VnAybnpRCmpYTE9UejNBVHBjYzFLZzNXbk14R3pwSFp4WFBYNkVBUlBJVGRZWW9yKy9IWWkxV3dEQmUyV0k0cXo2SmxkcDgKbDRqQUZuazFEdktsdWRpRThaeHNNOSswT3pyUWJYSUs0ZmM1VjlVeWNCcCt6R1JaUmdLRWtRQWRNR1dpcmF1WQpLeTJNMXk4eVJEajArR2J2ZTNJd3JvbnhOYjRKeGtUZndRMWc3czM3L0Q3ckVjWVFNUUtDQVFFQXpvS0Y3RG1zClVPaHNjTTN5ZjAvbmVXVHhBK1dkdkpPZkRXcU5jVy9jVVIxTDRFRis4dUd1ZFpwWGFoRVhid3RFb2l5UkVpcm8KOXlRZitJMjBoVms0Y1pPRTBJeG1FeEc1UXg5ck8wcVJibm96WmpsUmFWU1ZQdHNyb05MVWNYSGRERVRBb0plRQp3dE5PNEN5NWpTbzRGU2VEZFhydE91U28rWGxXeHpjelVTTXNrMTBnMUxndEs2REc1SGRzRXRId1phcmpkM3NUClhreDN1WXhFcjVqTFU5Wm5MOWtnUGo2SUkyVjJvaGdWUmJLOG9pa3dBKzR0dVptTkdLQ1JQeU9aSUZTcWxzdDcKd2I1eTB0VUVDb2toWEQySmZFS0xuTWU1MzMrWUlSU0R1RGdKclFRQytOamtHWUt3NXYwRnlZN1NJWlFxMS9PSgp2aDhoK2doMldCTThzd0tDQVFFQTZ0eFEvTm5vcmlIZjJRbm5pSFgyZGpkR3RRNGwzTnB3RVh0WS9PRVpBUVMxClhWbzFUcnJvN3VQWXRKd0JCbjJmUTcrMDhJa1VOdis3SWI3bEx6R3lBbzRTQVhTcDFkS3RKd0R6bTBjc3pYS0kKKzA4MS9WMG9YMHNGT2o2WlRQNHhlTzBHM3h5WlB2NnQwTi9ETjV6VmoyTEIyTDB3ZU9iY1dvWjM3V0hEbUpTOQprU0RvZnJiZ2xTNzVPZWUvN0hTbVJibHhPOHVtSGhIYkx6OEd4cjhRZmRkT0xvYzJHYzg2OXZ0ZGplRkZ1UzRICnNTcDducnIvRGVyTG9xcVo4MFRoeld2dnY2ZmVPK3ZaMmQzTzZTWFRGU05wNlZvTk01UWQwcDhicGR0K012cXcKRVM5REpWNUlGMGJPZTQyRkh0UjdMV2UxdFBaMmJMckY5d0lOZEZIWjFRS0NBUUVBbDY2RlFhcG02QktmdkFkNQpTNHZjUUcwbEhqQ2t1R05SbXlBZGZpbWtrS3ZORkkzbStlMU1JRE5hYTV6Y01vTDdTWWNrazB5VFN4dnNvN3NwCjBoeGplZ0RadC9pMzdOL0N6UXVoenE0SnZqVGgxZjdaemwwRE5tVHpXYkFodktYZXIrazc5M2p6V2NxdGo3a3EKSFFiYXBLY2VSc2Nnd25ZN3F1bzJGQ04yZk8weUM1ZUd5dGZ3emEvTkJ2aTBsK28rQWQ4UUxxMW0zNGVaRk45egpmK3JoeGRXZ2V5T25MRER2KzlmRjJHK0tDR1N0YXdxSHF3dGg2SVpoZmFwS3BTNjNoV2pLMS9Ia0Y3MlVSMG1SCkswL29BZ0Z0SDZrZE5PMzZsNi8zaEt5MXh6VFozb3dveHJGQWNZQnVBV3Z0dVVzL0NzenkzeVdSa2VUNkp0WGEKWHZ6YVF3S0NBUUVBeDdEYUg1TjhOb3JRMUs2S01jbnk2K0xsK00zMXZZbnhYYnZlRnUyaG4rOEw4anJnTm5mUAoxRWJnbS9oRkd1cTIveGpDVlA2SXRKYk4yc3gvKzVlcWZtZWp3WjhiUkpZajZaVHlqR1dCSDVJeURGUDJXTjNiCmxPS3BxRE5QajFwV1lEWlE4R1ZWbTIxYUJzNHJJMTd6YWo0VENpRWFWTUllTzg0M3JCdkMvam9CMEtNRmE3QTgKMWp1aFp1MjRqdWxEOHViUTg0R2RWZFhpNHBJWlJlVnd0VDdhMTg3WlhpcUlQVFhPL3ZLNm9OQVZkRHJsN3ptWgo0WkJ3NG5kaC9Lamx3UTcwUTZZTTNEQVdCQnVIY1U5YTRZOUIzMHBWRFRUMEFvQ01Ob0toRStGNDBMTzV5TTBZClNNcElpRjcxQUJpMFB3LytQTWFPUExhMTJlYmgzN1EwblFLQ0FRRUFwZkwrT0VyVVJJdWpTUnJNWEN0ZFUvVWkKWE1xUkthTnRDcjE1MjdqT3BrcGhTM3NCQVBpZ2dsc1EyTjN3MmNFeTZQelpkVVJienpGcGdLNnhJSCt3RjJRcgpBRmpFL2w0NnJWT2ZNVVpmSEJIMEd0NXRnSFVyY0RKbEsxbFExVFpnRUJuS0tSWTZuN1J2T21CanZBN3NVNGQ4CmRpVFUrWkZBQnNXcVlCS2c1WEtUL2NhaWpESklIWkI0VnlqS2RTa2lBTVA2YWZRNDBrS2pjRnA1TERDQVFRbFMKaW1TdHgrakRrWmQrUFlrOE5SY3BWZzJoU3ltRnJTaUd4cVErTFJ0S3psREdGTnNNY3VTS29CMDNNWTc4OG9jagoxTzdxNHhiWDRtMUxjNExQTEpQeW1sRG9KTEloV2J6Z09FTWZoOVc2bDZpRmNmMDhaellWRXV5bW93RXppQT09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==", "Store": "default" }, @@ -451,7 +451,7 @@ "domain": { "main": "nzbget.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCakNDQk82Z0F3SUJBZ0lTQmFWZE5PMitpOEhHTno0K0QzUEVOcjBjTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05NalV4TVRJeE1qQXhORFE0V2hjTk1qWXdNakU1TWpBeE5EUTNXakFnTVI0d0hBWURWUVFECkV4VnVlbUpuWlhRdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUUNxd1JCZDZmZEVvenk0aHJEWjhpZ01KME1XaGg4eTQvajIrTllVa2JOVi8xaVR0b3FOTGUrSApSSzlQc2IwYVIvTkZXVjBZZkJtaFV5WGVYQ21kUFk0cXJBV0FOc1QzTVYxdUUrSWEyVDhoZ3BycmFndXp3N0RLCjBYeW40MndwK3RCam5nWklBcXl6VWFGMUdJamNKb2Z3cjdPaVVVdnhCemJaelpjdk5mcWY0ZUxadkRYa0trU0YKUjhvN2xQRHhBYVRsNm9LbXhIRlBmamRwTG5QOWNORkpnTk1UNnRiZjdtZHBMRk9SZnZsTDl6azJNZ1NpUERmWgo0LzAyYkVzeVNZUm5VVFd0OU1ZL2dPbktCTWUvM2J5MHRVeDEvRlo5K1JhWDIveHZoa2hGMGJtSFlET0F1UkszCnIrWXh5b1NTN1k0Snl2S1dzRU9EZHZ6Z1ovQmFOQjZIVTdpNWwrOWxDUUc2aXN2Sy90MDVsYXRNNFJGV092SzgKR3R6WXhxTTBDQnY5QnJ5ZnY4ZE52Y081TWYyb2tSYnF4QnVnU2F4WWNqNWwwUVlORy9NL3VtUmdwUDlySk91RQpLMDVOMHFzcEVTSHJaS2d5MDNuMGZacjZMNmNGVk94cHMrQ0FjeXFoMTd6U09VY0t2NUpPZVJqU1ZsdGFEU292Cm82YjBKdmFGNkNIc25vNllvamR3cG5PU2hhbzhaQng0Rllqa1dQQ3pTb24yUUNXRXJvMFk4aXM0STkxN3FER2gKTXIrd3hjOXFVK0tiV0RjdWU2UUppbWNlRGN4bnNXeE9tYkhlSVV0eC9FWFZRUU96WlM1aXNuK0JRZ2VJSGFkWApXQXJmWUxBQ0Q1NnRCclZlNW9mOTc1ZHNpL2VUSlpiam8rd2F6VXhjMzF0VG8xK3Zid0ZRY3dJREFRQUJvNElDCkpUQ0NBaUV3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJTUTdDOU9aUU9XR2xrK3RHSzVSVDhvWEpKNwplakFmQmdOVkhTTUVHREFXZ0JRQXRTbnlMWTV2TWVpYlRLMTRQdnJjNlF6UjBqQXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRJdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZXNTZZbWRsZEM1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdQpCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dmNqRXlMbU11YkdWdVkzSXViM0puTHpJNUxtTnliRENDCkFRUUdDaXNHQVFRQjFua0NCQUlFZ2ZVRWdmSUE4QUIyQUE1WGxMenpycWsrTXhzc21RZXo5NURmbThJOWNUSWwKM1NHcEpheGh4VTRoQUFBQm1xaERxOFlBQUFRREFFY3dSUUloQU8zR0syVW52eFlnTmZicUV2ZUFJWXNLTW9BbQpzV1hPYVZ3cWNxNGJEem1DQWlCZEM4MWdWc09rWEU4SXh5OXNlUi9qUVd6NFlSY1I1V2VCOUh6TkVDU1BIZ0IyCkFNczQ5eFdKZklTaFJGOWJ3ZDM3eVc3eW1sbk5Sd3BwQllXd3l4VERGRmpuQUFBQm1xaERzNndBQUFRREFFY3cKUlFJaEFMY2RaaGxsSTl0VHF3OFF3LzBoM3JudXdmMWFJVE1iQ0FucWYxWnpLNnhGQWlCUDRsTHBQc3diclBZKwpJWXArMEpmVmhUTUR1clY3UlVlU1IwTkRrRS94VFRBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQW1rWXpCWlpCCk4yUUZncUtHMjlFSllmaGU1RVRLZENVSHBHbTN0QW9EcG9VUHNDT2NVQzBILy9rZTQ3YTJJc0lFeWZIZG8vNTUKWXFtRXR4NlZvejN4eWdwSFlFUmE3N0svVm1MWUJ4Yk9VVG1USVd0ano4OGQ4aXNNNlN4Zms2aHBsNEdHbHRUOQpBa2xzamNXcjNiTHU1SUtRd0U2a2FBb0ZqczJtTEl3Y0l3UzBlL3ZnNzJ2dFpBTFZ4Tk53QUxNVTBEOVFtUEI0CmQxaE9TVHVBVnBnRnJaUFl3cGhzeEduYWR2LzR6Y29uYVY4M1NnN3V3U2IrbnNYbFdhelBrcWV5UG5CUHdyTmsKN0FoNkg3cFBSejZyLzFhdXZCd20wV1lzYW5NMmhJQ1dtQ3FISE5wam5pS3VZdHRQVVE1clVuZkh6RjhseVhHQgplMTBsSDNqQStRSHRmdz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdEVENDQlBXZ0F3SUJBZ0lTQmFZTnJaWFFBR2VMTWcvbVlDalkrYUVuTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXhNVEUxV2hjTk1qWXdOREl4TVRZeE1URTBXakFnTVI0d0hBWURWUVFECkV4VnVlbUpuWlhRdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUUNxd1JCZDZmZEVvenk0aHJEWjhpZ01KME1XaGg4eTQvajIrTllVa2JOVi8xaVR0b3FOTGUrSApSSzlQc2IwYVIvTkZXVjBZZkJtaFV5WGVYQ21kUFk0cXJBV0FOc1QzTVYxdUUrSWEyVDhoZ3BycmFndXp3N0RLCjBYeW40MndwK3RCam5nWklBcXl6VWFGMUdJamNKb2Z3cjdPaVVVdnhCemJaelpjdk5mcWY0ZUxadkRYa0trU0YKUjhvN2xQRHhBYVRsNm9LbXhIRlBmamRwTG5QOWNORkpnTk1UNnRiZjdtZHBMRk9SZnZsTDl6azJNZ1NpUERmWgo0LzAyYkVzeVNZUm5VVFd0OU1ZL2dPbktCTWUvM2J5MHRVeDEvRlo5K1JhWDIveHZoa2hGMGJtSFlET0F1UkszCnIrWXh5b1NTN1k0Snl2S1dzRU9EZHZ6Z1ovQmFOQjZIVTdpNWwrOWxDUUc2aXN2Sy90MDVsYXRNNFJGV092SzgKR3R6WXhxTTBDQnY5QnJ5ZnY4ZE52Y081TWYyb2tSYnF4QnVnU2F4WWNqNWwwUVlORy9NL3VtUmdwUDlySk91RQpLMDVOMHFzcEVTSHJaS2d5MDNuMGZacjZMNmNGVk94cHMrQ0FjeXFoMTd6U09VY0t2NUpPZVJqU1ZsdGFEU292Cm82YjBKdmFGNkNIc25vNllvamR3cG5PU2hhbzhaQng0Rllqa1dQQ3pTb24yUUNXRXJvMFk4aXM0STkxN3FER2gKTXIrd3hjOXFVK0tiV0RjdWU2UUppbWNlRGN4bnNXeE9tYkhlSVV0eC9FWFZRUU96WlM1aXNuK0JRZ2VJSGFkWApXQXJmWUxBQ0Q1NnRCclZlNW9mOTc1ZHNpL2VUSlpiam8rd2F6VXhjMzF0VG8xK3Zid0ZRY3dJREFRQUJvNElDCkxEQ0NBaWd3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJTUTdDOU9aUU9XR2xrK3RHSzVSVDhvWEpKNwplakFmQmdOVkhTTUVHREFXZ0JRQXRTbnlMWTV2TWVpYlRLMTRQdnJjNlF6UjBqQXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRJdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZXNTZZbWRsZEM1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdQpCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dmNqRXlMbU11YkdWdVkzSXViM0puTHpRd0xtTnliRENDCkFRc0dDaXNHQVFRQjFua0NCQUlFZ2Z3RWdma0E5d0IxQU1zNDl4V0pmSVNoUkY5YndkMzd5Vzd5bWxuTlJ3cHAKQllXd3l4VERGRmpuQUFBQm0rR0lua0VBQUFRREFFWXdSQUlnWkZFWURlK25lMTdERXZyN2J3WWpCMGJWWE1NaQozQ0dyNGVsSTBueEpxZFFDSUR5WUpwZVlRZFhHMVVGQjBQcW5rVG9DQUhXOEN5WXd1bGh0ekJXZG1JblFBSDRBCmNYNlY4OEk0aW0yeDQ0UkpQVEhoV3FsaUNIWXRRZ0RnQlF6UVo3V21ZZUlBQUFHYjRZaWUwQUFJQUFBRkFBZDcKa1FFRUF3QkhNRVVDSUFtMWl6ZUpVYWZxdWZ5S25XMTYyS0FFeUdWeGdLaC9pU2xlUEtMN1F6eXlBaUVBdm9odApCK1Z4NDk2ckRIU0ZWc0xBd0taWmtOcW91anNyV21GUENXQXhtSkV3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCCkFMTm56UzI0cHFwaTF2OGNteUVqOTR5Zzc1b1JwMGhYc0ZWTlE2WVNEZmdZQkFYdEhDNDF3NkYzWFg4ck5aNkcKdndNNmJ5VzhWNFJRdTh4OWtRZzFRWGVOLzZKUlM0OVlUUDRLV2NXSnBJYkR1WTBWMmJ2UHJaTWJabVM5aHViagpIb1JwNSs2KzJIaE44eEFRbnhLb2NEdEQ3UldseUFna2x1aUROT3h2VjZvQlJ2eGdwRXZqUGdqdkRaZ1k0U0k0CnZzRDZPZVBLNVRuYURkUG9DWURLSTl3cGo4cExaK3dRcmhDRzZRYVArZ2h1SmJ1Lzkvb2J3aElLSk1HSzZHQzMKT0N5c3lHSi84RkJMbDFZOXFWQ0hGNmhONUxRWTh5VEZvRmRvNElTbXkvNUdnNUpLbmcrbC94em1jbldTWnN3WAp1SlN2aEZybTRGU2sramMvNGl5b25GMD0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCakNDQXU2Z0F3SUJBZ0lSQU1JU01rdHdxYlNSY2R4QTkrS0ZKand3RFFZSktvWklodmNOQVFFTEJRQXcKVHpFTE1Ba0dBMVVFQmhNQ1ZWTXhLVEFuQmdOVkJBb1RJRWx1ZEdWeWJtVjBJRk5sWTNWeWFYUjVJRkpsYzJWaApjbU5vSUVkeWIzVndNUlV3RXdZRFZRUURFd3hKVTFKSElGSnZiM1FnV0RFd0hoY05NalF3TXpFek1EQXdNREF3CldoY05NamN3TXpFeU1qTTFPVFU1V2pBek1Rc3dDUVlEVlFRR0V3SlZVekVXTUJRR0ExVUVDaE1OVEdWMEozTWcKUlc1amNubHdkREVNTUFvR0ExVUVBeE1EVWpFeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQgpDZ0tDQVFFQTJwZ29kSzIrbFA0NzRCN2k1VXQxcXl3U2YrMm5BekorTnBmczZER1BwUk9OQzVrdUhzMEJVVDFNCjVTaHVDVlV4cXFVaVhYTDBMUWZDVFVBODN3RWp1WGczOVJwbE1qVG1obkdkQk8rRUNGdTlBaHFaNjZZQkFKcHoKa0cyUG9nZWcwSmZUMmtWaGdUVTlGUG5Fd0Y5cTNBdVdHckNmNHlycXZTcldtTWViY2FzN2RBODgyN0pndmxwTApUaGpwMnlwelhJbGhaWjcrN1R5bXkwNXY1Sjc1QUVhei94bE5LbU96am1iR0dJVnd4MUJsYnp0MDVVaUREd2hZClhTMGpuVjZqL3VqYkFLSFM5T01aVGZMdWV2WW5udVhObkMyaThuK2NGNjN2RXpjNTBiVElMRUhXaHNEcDdDSDQKV1J0L3VUcDhuMXdCbldJRXdpaTlDcTA4eWhEc0d3SURBUUFCbzRINE1JSDFNQTRHQTFVZER3RUIvd1FFQXdJQgpoakFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdFd0VnWURWUjBUQVFIL0JBZ3dCZ0VCCi93SUJBREFkQmdOVkhRNEVGZ1FVQUxVcDhpMk9iekhvbTB5dGVENzYzT2tNMGRJd0h3WURWUjBqQkJnd0ZvQVUKZWJSWjVudTI1ZVFCYzRBSWlNZ2FXUGJwbTI0d01nWUlLd1lCQlFVSEFRRUVKakFrTUNJR0NDc0dBUVVGQnpBQwpoaFpvZEhSd09pOHZlREV1YVM1c1pXNWpjaTV2Y21jdk1CTUdBMVVkSUFRTU1Bb3dDQVlHWjRFTUFRSUJNQ2NHCkExVWRId1FnTUI0d0hLQWFvQmlHRm1oMGRIQTZMeTk0TVM1akxteGxibU55TG05eVp5OHdEUVlKS29aSWh2Y04KQVFFTEJRQURnZ0lCQUk5MTBBblBhblpJWlRLUzNyVkV5SVYyOUJXRWpBSy9kdXV6OGVMNWJvU29WcEhoa2t2Mwo0ZW9BZUVpUGRaTGo1RVo3RzJBcklLK2d6aFRsUlExcTRGS0dwUFBhRkJTcHFWL3hiVWI1VWxBWFFPbmtIbjNtCkZWaitxWXY4Ny9XZVkrQm00c04zT3g4Qmh5YVU3VUFRM0xlWjdOMVgwMXh4UWU0d0lBQUUzSlZMVUNpSG1aTCsKcW9DVXRnWUlGUGdjZzM1MFFNVUlXZ3hQWE5HRW5jVDkyMW5lN25sdUkwMlY4cExVbUNscVhPc0N3VUx3K1BWTwpaQ0I3cU9NeHhNQm9DVWVMMkxsNG9NcE9TcjVwSkNwTE4zdFJBMnM2UDFLTHM5VFNyVmhPays3TFgyOE5NVWxJCnVzUS9ueExKSUQwUmhBZUZ0UGp5T0NPc2NRQkE1MytOUmpTQ2FrN1A0QTVqWDdwcG1rY0pFQ0wrUzBpM2tYVlUKeTVNZTVCYnJVODk3M2paTnYvYXg2K1pLNlRNOGpXbWltTDZvZjZPclg3WlU2RTJXcWF6enNGckxHM28ya3lTYgp6bGhTZ0o4MUNsNHR2M1NiWWlZWG5KRXhLUXZ6ZjgzRFlvdG94M2YwZnd2N3hsbjFBMlpMcGxDYjBPK2wvQUswCllFMERTMkZQeFNBSGkwaXdNZlcybk5ISnJYY1kzTExIRDc3Z1JnamU0RXZldWJpMnh4YStObWsvaG1oTGRJRVQKaVZERmFub0NyTVZJcFE1OVhXSGt6ZEZtb0hYSEJWN29pYlZqR1NPN1VMU1E3TUoxTno1MXBodURKU2dBSVU3QQowenJMbk9yQWovZGZybEVXUmhDdkFnYnV3TFpYMUEyc2pOalhvUE9IYnNQaXkrbE8xS0Y4L1hZNwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKSndJQkFBS0NBZ0VBcXNFUVhlbjNSS004dUlhdzJmSW9EQ2RERm9ZZk11UDQ5dmpXRkpHelZmOVlrN2FLCmpTM3ZoMFN2VDdHOUdrZnpSVmxkR0h3Wm9WTWwzbHdwblQyT0txd0ZnRGJFOXpGZGJoUGlHdGsvSVlLYTYyb0wKczhPd3l0RjhwK05zS2ZyUVk1NEdTQUtzczFHaGRSaUkzQ2FIOEsrem9sRkw4UWMyMmMyWEx6WDZuK0hpMmJ3MQo1Q3BFaFVmS081VHc4UUdrNWVxQ3BzUnhUMzQzYVM1ei9YRFJTWURURStyVzMrNW5hU3hUa1g3NVMvYzVOaklFCm9qdzMyZVA5Tm14TE1rbUVaMUUxcmZUR1A0RHB5Z1RIdjkyOHRMVk1kZnhXZmZrV2w5djhiNFpJUmRHNWgyQXoKZ0xrU3Q2L21NY3FFa3UyT0NjcnlsckJEZzNiODRHZndXalFlaDFPNHVaZnZaUWtCdW9yTHl2N2RPWldyVE9FUgpWanJ5dkJyYzJNYWpOQWdiL1FhOG43L0hUYjNEdVRIOXFKRVc2c1Fib0Vtc1dISStaZEVHRFJ2elA3cGtZS1QvCmF5VHJoQ3RPVGRLcktSRWg2MlNvTXRONTlIMmEraStuQlZUc2FiUGdnSE1xb2RlODBqbEhDcitTVG5rWTBsWmIKV2cwcUw2T205Q2IyaGVnaDdKNk9tS0kzY0taemtvV3FQR1FjZUJXSTVGandzMHFKOWtBbGhLNk5HUElyT0NQZAplNmd4b1RLL3NNWFBhbFBpbTFnM0xudWtDWXBuSGczTVo3RnNUcG14M2lGTGNmeEYxVUVEczJVdVlySi9nVUlICmlCMm5WMWdLMzJDd0FnK2VyUWExWHVhSC9lK1hiSXYza3lXVzQ2UHNHczFNWE45YlU2TmZyMjhCVUhNQ0F3RUEKQVFLQ0FnQXl0SFBzdjE0NjFwSmdaVGE4OFdpcyt6ZXp4NDRhS1pJem5IN055dHBMTGpFYVkvbE9wUlpjdjZ1agphYTh5ejZ6UXFoRzRCSm9EeXRJUzdxRTQzUitMVWx1cjBCZTdJOENQd0gzQzVVSVc3RmFlazNYNElxTXNCdnNTClM3bEIyZ1hwbnZKVWpkN0V2UGZKOHNncFA1UGNpQUE2c2hOdjltbDJVZE9VSkY1US9kM0VORng0YllpOVh5MFIKZGsvNThUZ0xRaEViL25kN1dJcVJ4RWFUT3Q0YkNwTWpkZmZxdFR1bUFwQ3FRdDg2aktaRGpxVExuRUFsaHNzWgpUeDBoU0sxMWxLcnhCaCtjbWVaU3BBckEwZEtJZ3RHNnMzem5tWUQ1QlUwM3ZOTlhVRWpjaDFlajRORkxGSU94CncyYU16dGYvMW5FbENDQjBPSEF0SHhCRGFQaXJVRU16M1RxbWJMVXBxTDdTVURnL3NWUjZvaDRNSjZNa2RQUSsKVFo4NkpvTnFEcWVTL1EwVHV0b2s4ZVpxNkNtZWt3TjZIdmVkTHAxZVBNam9wNGk2Wjc1N3ovUWpOVXJqYjZTbgpqcXVjOG55S2xIL0wzQ2w3S2psaWljZHp2R3NVTjJWZzJPcXdkSkxYeUFGV2VNRVUvYWNTS290OXN2TnBiYW5kCk11Qmw2RDQ3TUJhWjBsUWtRWnVHQVhQZFJaU0xJYi8rU3BPMkFNTGpFb1lhK00zaXFSUkJPNmw3aDlhdnlWMTMKZGNOOGZJYUIvSW1KaUlRdnlYU0Vtc0g1Y1dvdWQ4OXMySDNSeGhPMkovR3FkcFRyTGVOaGsvQWRtK3AyVTkveQovSjBpOGRGb0RCRjBhREJGb2R1Z2JQaUVKUXFZbnF4MG1sem16dVFkS0F2ZFBxa2xVUUtDQVFFQTRtN1pudU5yCjAzamFmNkJpcGxtaFh4dEtwZGs2Y3NpQ0RVVTk3b2plY3hGc1FvMmsxTGJRRjUreVBwWVNlS0s2SU9EbENXY2YKYndpU3p1bnJlN01wS2s4SnlDbGFMRWE0SVhEaWFrdHBZNUgrOWNHYWNOZHJUVmI2bUhPSXdKeTZDN3pQOHdzcQptbWRkOSsvamN5azhXU2k0SHpQY3cvMWUwWjNKNkhrS1hQODdXUDlEYlZOcmJCTWc2Rzk4c2FUSllIalArSG9zCnN4WHQrYlZkWkFkOXJ6VkFNYUpyK1BudFJDMnArbWZYVVF3c1hCckdxZUJmems1VGkvK3hXcklKRmRUM0hRY28KTlVJWWxXZzBuRHpDeDlmYkNEZDVRWTQ2ODhXa2s4WXl4U2VEOU9ZMzhHak1mUHJlaW44MGNnL1RXNURnWkRqZQptc1dEcndMWkJMVXZPd0tDQVFFQXdReitmN0NLZnZ0VDZPaXNpY2lRbWlxUHhCdjNxZXMzSlFtWk52cTZITVo0CllJRGloWUs5bTI5Q3IxTkQzMGNGVm5qZklYZE15ejVqeU9tQnl2VkF2ajUzVmR1L05kWlhLclhtbUhBNUpUeE0KcUc4RUdGSVF2K3M0d2d1bDR0OVo5a2hWc09TT0VvWnNlRUpNSGVPSGp3QXFuR3dXUkZ2cXdwb0ptUmN5S01CSApJd3VVRXEwaDBPdDkrcy82TFI5a3BMeUZoa0dCWTYyME13R3M0N2lqei8zUlUxNE11ODI0ekdSRHFFOGQ0aFU5ClZzM3dITlBnNk5UU0pXdkpnMUF1a3Qra29INkJyM21MdHJtdDlDb2dYM3hrSWlOOWJFd0VBdzRQdlFJRkZJMjgKUDhwdnhyNVd2VEc1SWF4WGhsVUQzOWUrd3FvM0pPa0FOMkoydjZwQUtRS0NBUUJGR0FvejM3V2hXL2xnaEhKVgp6SGZmYTVhRnNSbVN1UGhtVUVDcnJ2d2lKS2ppVGhLRURoekZlS2VOVFlIcGFjNWVCZ0lkc21mM0c2aWdsdVNTClpJTWxNK1VLUFFRVkNxZFpIUGNaOUZUK1d5aHZtVm9sSUxiUGJNRWZEL0lreEM1Sk1wNUp6Wmg4Y1JwTmM5ZjEKNWhsU0k0aTdqTG5LM0YrNG11dG5rcmZFMU9VcExRdElLdkpXa2lleWhZS0pPbjF3Z0swRloxS0lleUtZMWV6ZgpmeUdzK3hUUmtIeGVCdldObmxtRjNYWG9kMHg1OW5tMGtKRHJoUjhkVXpLdE9ESnBoUWk2eE5wU0ZnOG1XQnZsCnFPek95bUU5eXArbmoxMFIwYmQ4bURnWnpRc0pDYzc3L3g2VzdINUh5TFVhTVJZUGxNL0VCVTUzNzlsVTZBdU0KMGpUTkFvSUJBRk9NVnh4V0FDcGloUGNZczR0UjVOc0Ryb0tXQkFKaXpOUFhxcHB6dWxZM3d1TXBCRi81ckN0Mwo1R2xTWk41ZHN6NndRd2tOdzR0MmJlTUd3K2hkYWU2cnhDUEJYYWhrSWdkVy8veGJIVEF6UDQzcHRlRDhxMGtUCitOVnFDeG43eGNoamw4cGRyK3J1aUVVbmxCK2ZXQXlZYXRpVm9yRmxBbDNFSW9GQjI3QnRQcHc1SjVWSm5vZjMKVXVkWVdSSnNNcmRrNjNpbUl1Ukx5ZUFGU3BpblVTWHoyRUwzUWhXSlBBQWhLSExRQXNQVW8xNU05Q3pWdWRHcQpRV1IybUppZSsva09sd1hxbWgraVA4Z041ZTMweVZ2cHpzQkRrY1ZyeEpTNTRpL1BqdmxOT2ZwMWx4aHhTY0xKCm9UQ2trS0NQYklUVXJ6YzZTWEZNOFk0R3JCUFpEN2tDZ2dFQVVDSHBlRWpjanZaRTI3ZFZVbEFmSnZwTkcwQ1cKWVRqODgxSSthNXFLNG9XZ1IrYjk3dmpleXlRMytjSGJZMldEaWNObzJ3Y3hDSjR3YmRVMHY2V0FUN2RmVlJyZgpTZVhlWE9DSGdkeGtEN3E1cjZ1RnJQMlBlK3NJN3NpajJpa09ycXVNcHFWbWZpKzRJd3FHTHVzLzdqcUdvbGdYClVpNEZIOWh1Z0x5ZlRxTHE0cVpFbVVMTUlhTGUwZThXWTQ0RUZEMnlFeFlsY3Ara0Zvd09kTEZUNnU4NmxYdXIKcXFVQ0pjazNkL2Y4Y1JRL3c5dnFJY2dFTVJ5SUM2eUVOWHZ0L0VReDhpSEkrNDRGaFI2dTFkdHJJU1ZrSWxOVApjaHZwYnNTU0hoS2kyL0s2aCs3MkhrUGxSeElWUzBCQSsvNjA3Z3ZKbjZINFF4R2Vpb0gvcDk4MFRRPT0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -459,7 +459,7 @@ "domain": { "main": "jellyseer.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdEVENDQlBXZ0F3SUJBZ0lTQlI5QzQ1SklPdVJDSEM3YXA5T3AzVVo5TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXhORFUzV2hjTk1qWXdNakU1TWpBeE5EVTJXakFqTVNFd0h3WURWUVFECkV4aHFaV3hzZVhObFpYSXVZWFJvWVd4cFlYQndjeTU0ZVhvd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUMKRHdBd2dnSUtBb0lDQVFEREY4UHJ4bGVjanRUNVhiQkVYcGhoUDlUUTliUkY3eDlLRE1xcjdrRGNycFVXSTRjTwp6QlR5YUl0WlBkK1BpMWlHU2JTV1Vnd2JTZjRmL2owbEJsRFE2OTQ0a2pWVnJ6QUxFVHB5enBRYjNGM0YzbnI4ClpFUzh6YzJtT2VHZFF0REdOb1kvQmtrR1JQZ0NsdWpyd3lCT3NWZUtjVm5va1F0b0FBTk9xRFBIeUUzTXRRbnIKZlFxZkFOZzkvNUhVZ2ZCaUwxU0xjaERsNFhIaWRnVTVMMmo4c1pqNmE4S1FzQWl2VnFZQnNHcHpGdzM1eDFBaAppQndwbzNTamdtdkRNcUYvNEJxOWFwRGtkdWVLUlUxNHd0YldqcVVjampmZFFkNmFoZ1VnTnlvdm5FNVprR1NZClpIbG42dElaQ09ncERXT1RKbC9GRnBDbUozT0UwcnoxVkRILzVDLzJWa01Ldnd6ZFF3TEMxalJXbTlrVi9xbEkKRkJzUE5XUDB4bXdDOEpCWTMxZmFYWVFSY0pqNlE5ci9rTWw1ZWZiN0cwV1B4OHhzZmEveC9jZThrenNadEliSgpIZHUrV2tXTUZiZ09PbFY4Y2tyemUzdExWQk0vY2IyV1R5S3h6NG9KWVBIYksvanUrMEwzVndPYUpwc1VZU3R3CjJaSHpMTHlvOWZEWkdXTUs3bjVyZS91SStIQzQrV2htcUN4SUw2VFg5dmM3MVNjUVBvZG8wRVlOWXRZQVp2VHIKS2Q2REd5VWRoUGJxOWxRWG9ySzcrMEZnd21FdkF0QlhIRkQrcjVXVFMzeTJMZkZHNHQ1WUxhYXp1QUNWVW1pZwpvZXBwYmtQMzdkcmRzb2E2UHY0N0w1UWxDZWtIMFg5OTFySXRaejJhU3FEcUhQU3hWWlRLb2pSSUt3SURBUUFCCm80SUNLVENDQWlVd0RnWURWUjBQQVFIL0JBUURBZ1dnTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQkJnZ3IKQmdFRkJRY0RBakFNQmdOVkhSTUJBZjhFQWpBQU1CMEdBMVVkRGdRV0JCUmNld29lMG0vRTh3cDlzazg1OGJoVgpCdWZBdGpBZkJnTlZIU01FR0RBV2dCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekF6QmdnckJnRUZCUWNCCkFRUW5NQ1V3SXdZSUt3WUJCUVVITUFLR0YyaDBkSEE2THk5eU1UTXVhUzVzWlc1amNpNXZjbWN2TUNNR0ExVWQKRVFRY01CcUNHR3BsYkd4NWMyVmxjaTVoZEdoaGJHbGhjSEJ6TG5oNWVqQVRCZ05WSFNBRUREQUtNQWdHQm1lQgpEQUVDQVRBdkJnTlZIUjhFS0RBbU1DU2dJcUFnaGg1b2RIUndPaTh2Y2pFekxtTXViR1Z1WTNJdWIzSm5MekV5Ck5pNWpjbXd3Z2dFRUJnb3JCZ0VFQWRaNUFnUUNCSUgxQklIeUFQQUFkZ0JKbkp0cDNoMTg3UHcyM3MySFpLYTQKVzY4S2g0QVowVlZTKytucktkMzR3d0FBQVpxb1E5Q2xBQUFFQXdCSE1FVUNJUURCZ0JKUUREdFBaVkhtVnhIeQpTWFYvRXhMSmJMUnI4MnluOS9sUjloVmFjUUlnQTQvSStETmp1djRtcEVWV05FZTRLRXEwOGk0NFA5YXpjNXZsClhEL3htU0lBZGdETE9QY1ZpWHlFb1VSZlc4SGQrOGx1OHBwWnpVY0thUVdGc01zVXd4Ulk1d0FBQVpxb1E5Q3kKQUFBRUF3QkhNRVVDSVFEa2NrMjVtMGlwYjF1Um92akdYc2lIM0NHb3NEUnVySE5WTE9JQ0tEZTRYd0lnU0toYwovOW9BSlFVVWFoTXdoVEdCcy9Bb25mMFFSeENoYjlOQStyTmM2UVl3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCCkFLUWdWTTNlQkYwSnpIK3QrbytQY3ZydnViZi9QcGY1NXRjN2JyQkQzMTdzS2pQUkJPZDdvUWsrUWI0endiRWsKZjBLRzR4TXNkTm56ZkNtQXoxbm9tYWU3a3h5dkVUcjRTalBlYm5HVlhnZGZkZjZLUHFXUVNLZDQzbWZRelhmVgpaMVZWQWNMK21tMDcvVk1WNTF5bk5EcDF0SUlsc3RaZVA5QjZyVmE5NmExVElDNG4rRXBpYjl5LzZhcVBKekpGCmZmTWNFc3R1NFBBMXk1YXVrYzlScGt5eStXbnkva1IrcmxCQXlnVkJLU240RC85S29kdkpjSkdmRmVxTlFRQkUKNkk2b2U5K0g1dmp4eW95SEVRWFZqSHB3dGIvRC9ocDArYW00cWdKZ2dKYmdpeVpBOFl1OG1aNGViT0p5emFMKwpxTDlVNStHOFN1Sy8yUVJvQTdQR0pmQT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdGRENDQlB5Z0F3SUJBZ0lTQlZ3UFMzMEdSMzN6MHNGQlR5NitnbGU0TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXhNVEl6V2hjTk1qWXdOREl4TVRZeE1USXlXakFqTVNFd0h3WURWUVFECkV4aHFaV3hzZVhObFpYSXVZWFJvWVd4cFlYQndjeTU0ZVhvd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUMKRHdBd2dnSUtBb0lDQVFEREY4UHJ4bGVjanRUNVhiQkVYcGhoUDlUUTliUkY3eDlLRE1xcjdrRGNycFVXSTRjTwp6QlR5YUl0WlBkK1BpMWlHU2JTV1Vnd2JTZjRmL2owbEJsRFE2OTQ0a2pWVnJ6QUxFVHB5enBRYjNGM0YzbnI4ClpFUzh6YzJtT2VHZFF0REdOb1kvQmtrR1JQZ0NsdWpyd3lCT3NWZUtjVm5va1F0b0FBTk9xRFBIeUUzTXRRbnIKZlFxZkFOZzkvNUhVZ2ZCaUwxU0xjaERsNFhIaWRnVTVMMmo4c1pqNmE4S1FzQWl2VnFZQnNHcHpGdzM1eDFBaAppQndwbzNTamdtdkRNcUYvNEJxOWFwRGtkdWVLUlUxNHd0YldqcVVjampmZFFkNmFoZ1VnTnlvdm5FNVprR1NZClpIbG42dElaQ09ncERXT1RKbC9GRnBDbUozT0UwcnoxVkRILzVDLzJWa01Ldnd6ZFF3TEMxalJXbTlrVi9xbEkKRkJzUE5XUDB4bXdDOEpCWTMxZmFYWVFSY0pqNlE5ci9rTWw1ZWZiN0cwV1B4OHhzZmEveC9jZThrenNadEliSgpIZHUrV2tXTUZiZ09PbFY4Y2tyemUzdExWQk0vY2IyV1R5S3h6NG9KWVBIYksvanUrMEwzVndPYUpwc1VZU3R3CjJaSHpMTHlvOWZEWkdXTUs3bjVyZS91SStIQzQrV2htcUN4SUw2VFg5dmM3MVNjUVBvZG8wRVlOWXRZQVp2VHIKS2Q2REd5VWRoUGJxOWxRWG9ySzcrMEZnd21FdkF0QlhIRkQrcjVXVFMzeTJMZkZHNHQ1WUxhYXp1QUNWVW1pZwpvZXBwYmtQMzdkcmRzb2E2UHY0N0w1UWxDZWtIMFg5OTFySXRaejJhU3FEcUhQU3hWWlRLb2pSSUt3SURBUUFCCm80SUNNRENDQWl3d0RnWURWUjBQQVFIL0JBUURBZ1dnTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQkJnZ3IKQmdFRkJRY0RBakFNQmdOVkhSTUJBZjhFQWpBQU1CMEdBMVVkRGdRV0JCUmNld29lMG0vRTh3cDlzazg1OGJoVgpCdWZBdGpBZkJnTlZIU01FR0RBV2dCUUF0U255TFk1dk1laWJUSzE0UHZyYzZRelIwakF6QmdnckJnRUZCUWNCCkFRUW5NQ1V3SXdZSUt3WUJCUVVITUFLR0YyaDBkSEE2THk5eU1USXVhUzVzWlc1amNpNXZjbWN2TUNNR0ExVWQKRVFRY01CcUNHR3BsYkd4NWMyVmxjaTVoZEdoaGJHbGhjSEJ6TG5oNWVqQVRCZ05WSFNBRUREQUtNQWdHQm1lQgpEQUVDQVRBdUJnTlZIUjhFSnpBbE1DT2dJYUFmaGgxb2RIUndPaTh2Y2pFeUxtTXViR1Z1WTNJdWIzSm5MelUzCkxtTnliRENDQVF3R0Npc0dBUVFCMW5rQ0JBSUVnZjBFZ2ZvQStBQitBT01qamZLTm9vamdxdUNzOFBxUXlZWHcKdHIvMTBxVW5zQUg4SEVSWXhMYm9BQUFCbStHSXZQTUFDQUFBQlFBd0VYRjhCQU1BUnpCRkFpQldZQVM3dEc5SwpRMnlxbVRYbTVkV09QdnJHS2p3UHgvSzV2WVFxYk1zc1hBSWhBS0RMWmc3Y2Fqcmh2K2g5QVd2anB2Q3FoRWlFCjhYMVhVRjZTMmVkZUZMUWtBSFlBRGxlVXZQT3VxVDR6R3l5WkI3UDNrTitid2oxeE1pWGRJYWtsckdIRlRpRUEKQUFHYjRZakx1QUFBQkFNQVJ6QkZBaUVBd20vK0U1T0t4Tm9yaTNiZ2pydit4NHJCc3VGQm4waDdOSHhmMFhPRApMaWNDSUZMNXl6TXc3c0tNYUNha3NoeTFSTXRaaHVKL1hseWxyMUxxM0JNUkw3RFhNQTBHQ1NxR1NJYjNEUUVCCkN3VUFBNElCQVFDeFpWc0NVZFN1V0s2MzM3YW92KytjWkVMQU1IYjI5aTU2L2ZBczdacDNXTHhRY3YzMXBxQmQKT3M3THMrT1ZFZFpobVo0ZFhCZ2pDdHhjQU1rczVST0phaER0UFkvbjRPSnA5WUcyZW5SREFnM0xUNmpTNDRJdwp4T29zZjI3aHB0WnJQWUxvMXU2K1lyZ3pES2ZHZGRDWVlGU0doNHRXUmh3eGoxVGVON3dWYkxoZlJOZ0xuNmc2CkxVNjJKTG5jaTF4bTR1V0c3V2NsVENLNHdwK0JSMFhYOW9wQm83RnVQWXZGamNUaWpKOURNbVF1aTRHRTJ6N1MKaDV2QVpaMFNYSWN2ZHFUK2NndWFJaUxhTzBEL0tDS3hsT3VzU0QzNE8rSG1CSThnS1B1bFREL25teGpLR1B1bAo3STlZeG14T0RTOHoyWWgyYU93RXoxM05ZWEZSQ1dWRwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJqQ0NBdTZnQXdJQkFnSVJBTUlTTWt0d3FiU1JjZHhBOStLRkpqd3dEUVlKS29aSWh2Y05BUUVMQlFBdwpUekVMTUFrR0ExVUVCaE1DVlZNeEtUQW5CZ05WQkFvVElFbHVkR1Z5Ym1WMElGTmxZM1Z5YVhSNUlGSmxjMlZoCmNtTm9JRWR5YjNWd01SVXdFd1lEVlFRREV3eEpVMUpISUZKdmIzUWdXREV3SGhjTk1qUXdNekV6TURBd01EQXcKV2hjTk1qY3dNekV5TWpNMU9UVTVXakF6TVFzd0NRWURWUVFHRXdKVlV6RVdNQlFHQTFVRUNoTU5UR1YwSjNNZwpSVzVqY25sd2RERU1NQW9HQTFVRUF4TURVakV5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCCkNnS0NBUUVBMnBnb2RLMitsUDQ3NEI3aTVVdDFxeXdTZisybkF6SitOcGZzNkRHUHBST05DNWt1SHMwQlVUMU0KNVNodUNWVXhxcVVpWFhMMExRZkNUVUE4M3dFanVYZzM5UnBsTWpUbWhuR2RCTytFQ0Z1OUFocVo2NllCQUpwegprRzJQb2dlZzBKZlQya1ZoZ1RVOUZQbkV3RjlxM0F1V0dyQ2Y0eXJxdlNyV21NZWJjYXM3ZEE4ODI3Smd2bHBMClRoanAyeXB6WElsaFpaNys3VHlteTA1djVKNzVBRWF6L3hsTkttT3pqbWJHR0lWd3gxQmxienQwNVVpRER3aFkKWFMwam5WNmovdWpiQUtIUzlPTVpUZkx1ZXZZbm51WE5uQzJpOG4rY0Y2M3ZFemM1MGJUSUxFSFdoc0RwN0NINApXUnQvdVRwOG4xd0JuV0lFd2lpOUNxMDh5aERzR3dJREFRQUJvNEg0TUlIMU1BNEdBMVVkRHdFQi93UUVBd0lCCmhqQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBZ1lJS3dZQkJRVUhBd0V3RWdZRFZSMFRBUUgvQkFnd0JnRUIKL3dJQkFEQWRCZ05WSFE0RUZnUVVBTFVwOGkyT2J6SG9tMHl0ZUQ3NjNPa00wZEl3SHdZRFZSMGpCQmd3Rm9BVQplYlJaNW51MjVlUUJjNEFJaU1nYVdQYnBtMjR3TWdZSUt3WUJCUVVIQVFFRUpqQWtNQ0lHQ0NzR0FRVUZCekFDCmhoWm9kSFJ3T2k4dmVERXVhUzVzWlc1amNpNXZjbWN2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQk1DY0cKQTFVZEh3UWdNQjR3SEtBYW9CaUdGbWgwZEhBNkx5OTRNUzVqTG14bGJtTnlMbTl5Wnk4d0RRWUpLb1pJaHZjTgpBUUVMQlFBRGdnSUJBSTkxMEFuUGFuWklaVEtTM3JWRXlJVjI5QldFakFLL2R1dXo4ZUw1Ym9Tb1ZwSGhra3YzCjRlb0FlRWlQZFpMajVFWjdHMkFySUsrZ3poVGxSUTFxNEZLR3BQUGFGQlNwcVYveGJVYjVVbEFYUU9ua0huM20KRlZqK3FZdjg3L1dlWStCbTRzTjNPeDhCaHlhVTdVQVEzTGVaN04xWDAxeHhRZTR3SUFBRTNKVkxVQ2lIbVpMKwpxb0NVdGdZSUZQZ2NnMzUwUU1VSVdneFBYTkdFbmNUOTIxbmU3bmx1STAyVjhwTFVtQ2xxWE9zQ3dVTHcrUFZPClpDQjdxT014eE1Cb0NVZUwyTGw0b01wT1NyNXBKQ3BMTjN0UkEyczZQMUtMczlUU3JWaE9rKzdMWDI4Tk1VbEkKdXNRL254TEpJRDBSaEFlRnRQanlPQ09zY1FCQTUzK05SalNDYWs3UDRBNWpYN3BwbWtjSkVDTCtTMGkza1hWVQp5NU1lNUJiclU4OTczalpOdi9heDYrWks2VE04aldtaW1MNm9mNk9yWDdaVTZFMldxYXp6c0ZyTEczbzJreVNiCnpsaFNnSjgxQ2w0dHYzU2JZaVlYbkpFeEtRdnpmODNEWW90b3gzZjBmd3Y3eGxuMUEyWkxwbENiME8rbC9BSzAKWUUwRFMyRlB4U0FIaTBpd01mVzJuTkhKclhjWTNMTEhENzdnUmdqZTRFdmV1YmkyeHhhK05tay9obWhMZElFVAppVkRGYW5vQ3JNVklwUTU5WFdIa3pkRm1vSFhIQlY3b2liVmpHU083VUxTUTdNSjFOejUxcGh1REpTZ0FJVTdBCjB6ckxuT3JBai9kZnJsRVdSaEN2QWdidXdMWlgxQTJzak5qWG9QT0hic1BpeStsTzFLRjgvWFk3Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBd3hmRDY4WlhuSTdVK1Yyd1JGNllZVC9VMFBXMFJlOGZTZ3pLcSs1QTNLNlZGaU9ICkRzd1U4bWlMV1QzZmo0dFloa20wbGxJTUcwbitILzQ5SlFaUTBPdmVPSkkxVmE4d0N4RTZjczZVRzl4ZHhkNTYKL0dSRXZNM05wam5oblVMUXhqYUdQd1pKQmtUNEFwYm82OE1nVHJGWGluRlo2SkVMYUFBRFRxZ3p4OGhOekxVSgo2MzBLbndEWVBmK1IxSUh3WWk5VWkzSVE1ZUZ4NG5ZRk9TOW8vTEdZK212Q2tMQUlyMWFtQWJCcWN4Y04rY2RRCklZZ2NLYU4wbzRKcnd6S2hmK0FhdldxUTVIYm5pa1ZOZU1MVzFvNmxISTQzM1VIZW1vWUZJRGNxTDV4T1daQmsKbUdSNVorclNHUWpvS1Examt5WmZ4UmFRcGlkemhOSzg5VlF4LytRdjlsWkRDcjhNM1VNQ3d0WTBWcHZaRmY2cApTQlFiRHpWajlNWnNBdkNRV045WDJsMkVFWENZK2tQYS81REplWG4yK3h0Rmo4Zk1iSDJ2OGYzSHZKTTdHYlNHCnlSM2J2bHBGakJXNERqcFZmSEpLODN0N1MxUVRQM0c5bGs4aXNjK0tDV0R4Mnl2NDd2dEM5MWNEbWlhYkZHRXIKY05tUjh5eThxUFh3MlJsakN1NSthM3Y3aVBod3VQbG9acWdzU0MrazEvYjNPOVVuRUQ2SGFOQkdEV0xXQUdiMAo2eW5lZ3hzbEhZVDI2dlpVRjZLeXUvdEJZTUpoTHdMUVZ4eFEvcStWazB0OHRpM3hSdUxlV0MybXM3Z0FsVkpvCm9LSHFhVzVEOSszYTNiS0d1ajcrT3krVUpRbnBCOUYvZmRheUxXYzlta3FnNmh6MHNWV1V5cUkwU0NzQ0F3RUEKQVFLQ0FnRUFyQXlWVjZSL055NHZYQXJubkNQZ05rTllwejlJVURSbFg2U1FSN2ZCczl5eTFlZFhBQkd5bDJUagpIenlWbjcyL3dBM1lHSWthN0NZQTJxNFh0a012bWsrb2xqTTZuZW4xY0kwdEFucHoyMjRudEl4VDRhbDdoUlhxCk9xSG8rZ3NtbXVjUzFSbng1SG1HVHFKUG56dGhqb1NQTXlScnFkSGdRVU5ocDBobkFkVC81M3Z3MTZCYWNZY0oKTFFQcDA0TVVQMEtHU01PN2F6KzZjNENwY3BrQStYaVY5S0o3MzZXZXd5S2pHL0k4cm1xeWhJamxmZXpQQ1ZtQgpUNEdCRDQvakpTYTU3am5BdGZxMmp4WTNFRHlqd212aDZLRHpXMGp2eTA1Tnp1OVhZTTF6dTBDL3RqVkZiQU9HCmJWV1JpRUtxZ2ViaHBxb1R2clFrQ0FyaFlXbHkvUzlUbDJBRkU5TDRnWHl3K0RuUEltMC91MFNKdTJUcWU1dlkKM2JoN3U1RzVxbFUyUVpBd0N0MlJpek12WGM2L3d6V1dha2hDcFhOTm9tVWljVU1icHBVZXFUSDJvbUY5MUlqbQptaWtLU295Z3NNMXZ2UEVoVHRjQnIwWFp1b25nSkt5a0VFTTN0SXA5eDhhbG02bVJZZ1hzak5KRmRBRFVLU2FtCnJqNzdUcmo3T01HVmt0K3NZQkRPQzIveHhYRUFISU9rcGdnd21wVG5FOFJuZWJWSHZpM3dBeGVQak1oaExWd24KazJKWWxwMFlXSERka2Y1VWduemNCU25kZGc3UUswOGlEajVUNzczRDd6VEhOdk9OaU5Xd3NRS2lFSzlPMXBDQgp0SWxsVm5PNUcrYUpMZjZIekR0RE5sd0pPR2ljUUhqSGpjdEJJbDZGd0VkU0xmRjhFZ0VDZ2dFQkFQeTJyM0x0CmdYSEpzekxMVFpDa1pSdXlyT2pQb240ZkRlSXFzWDlYOWRDdnRTdFF3andWOTgvcWQ1SVh3RldsRW5uL0lRaloKbnpQNXhVTXdtbjJ6UUdaZUtZMUFkc3NwdEIzTXJXVzcramd3VzVTcmZiZWdtODFITHZwdU9jZllWRzdzSnNVKwpJaHhPYnRncXF6Y0lEVlFBVDJ3Ly9Vc0ZFMHBzMkkydFI3RExQTUMxTm9lMzQxY2pZdWNxY1BqWDhTNW9FMHdtCnByeGh2ZmdsN1VyZE8rWlB4aFhscDZzZ0JGdEpVNHNyYU9DNW5Odzd3WU4wMzJyVzNybzg2VmhlMjMvb1RwbHIKMTlLdlAxUnZaY1Q2S2pPL0QzMWc4RVRINFJQbHQxaFNHdGhNQmJvaUtoWU1kcDlKQllmRmRnME5aNGZpN29lTQprSTY3QzNMdjhNRkoxVUVDZ2dFQkFNV2hRTmtiNy8zK0s1My9zblNqOW94aUhidFBNK0dLaWtEVXNQNy9STGN0CjdFTG1JSi9JdXJDeVRIVTZkcTFwdld0NGY4V1RwNkE2cWtOK2hDUTZmOUpXd05oUEFHb2Q5MGk4aVlEYXFpL0YKVytpZmdLelkwMUNDSjVKY05IUUpsQXpUMUxpTDE0YUtReXRZV29QakRISGZsdk1hTzdPQ0hIdXMwN0lEMUtVcApGTU1Da3ZVblNFNk5WS21yQmI0THVoVUZ6UmpZcjB0VVExdnR1WXYxWDZCYmF2UDZXd0dxN1dPbkVGTEtQdmFNCm5pSk5wZ2JmeThSZUlvdmE5R0cxMFZXanJWVlhNcVlVaitneWVuTUFTVGtwbDVzVWlZRFdkcEZLaTdwY1R3TEUKMVJYV1NkNHJJWEZPbHdNTnNNQlNRZjhqcFpEeG1VQmZ2dk5wV2FRUXBtc0NnZ0VCQU1xUjBiK0pQRXF1eUpMOQp2allrWU51NzlMaEZ2OVhqSktqWFdpSmVxcTlXT1IzNGhVbk92aThPbmp3Z0I4OWZHNWxvOWR6M1BKTllNbFJ5CmdGUWtQSW9TRHJLb0t0RWRvOENEVWJjTDREM3NIV3pscmtka1daOUo0UkZqQzdQeTUzTm1ub2xiRGRLczJGTTAKbUx2ckcydnJONzdvNkN1YmJPUXFyY2ViVDYwYXJKODRZdmFWWTRsMDF4Ry94b0RoNy9Vbi9kZjczNGwvdTl4Two0cEF4R0pPNy9HZVBDRUMyMEdjd051U0dybkg4dHcwZVpUYnZseXM0QTU4N3RqeGRCUXZaZGkrcTczeDFkNGxDCkpreW56dTVkeDVmVC9hVFVwOG5nU0lCbWlCZzdrQmVzelJtUmNnQ3FjdUZyV2Y2S2NTUE90eTgyY0tYSXJ4dTUKMDczTVprRUNnZ0VCQUx2cXRLcThjZHJsajd2UW9uTmVaTlRmaHIzUWRkaUR6eW9PRTY2a00wYXFsL2lVc1hpOQplU2NDb3NqbEttdUNHK2JRMFUyaE5NYWFnY05qeldwVlphMHZhSGRGeDNNZnd6NmFaM1RxZHVDdG5OTDR0M1dqClJtdExGeTJJRnlndTQyTy9HSW5TRHNHVFBvTThvL1M4TTkwamFYa0cvTFdYaGxYaTQvaGt4QkczbWxKRFpGRlAKWk9Xc1pWQmZtam8zRkYxaEFzQVphYlVMRG5HZS9jc2pLaVprUnJKdTM1SWFZVmRjUjUweFNlVk5tQit1RGF5RApxRkd6NE0xekNPVFA2Wml3NWVRNzRhRWg5Q1FwdTEwV2JJbTZEcm9iTVJRYzJPa1dKUDZ6UHoyMnc1YmNCNmtGCkFldW5ldGdnY0d5dXlxbzd6dmFmZzhVK1JXZFdTVEpEMHJrQ2dnRUFmcCsrS2g2Q0gyZTkrS1JHLzFyc2cvL0wKUVlMZlIySm1ROWt1WEY0Mkg4MC9OQXY1eFNHbnU1M2V4b3I5djAzYXBHMHFQb1RzVmIvSUU2ajFWVEd2TVNncgpUaldhMWVNdDR0aGpLUFBxTE5ZTzJmV3czYWFiRzRZK091cklnOWR1ZnlTNXlFZDRhMTNWTVBlVjJ1bUk5SjlsCllEMngwQmRHalBoeGZEd2h4NWxVNlpCSVFiMTNPd21kUGV0MmNYQS80OU11TWN4YUt2Tm9FSjV4NGZFTXFHb0UKR3ppOVdRUTN6NkMyUzJhTU9GQ05CQnhiV1dLT3dtaXNKeFp6UHNmZlI3RWJrd1ZkY0dLQWt1V3gwaUprS0NueQpmdytQMU9XMk84OFlkc2hBREp1L1VTOUNla3lJMzdId3JIZVA1UVNPeW1KNFVkdFNpbnlBTkpTN1RtM1VEdz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==", "Store": "default" }, @@ -467,7 +467,7 @@ "domain": { "main": "yamtrack.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDekNDQlBPZ0F3SUJBZ0lTQlU0MjZoSm9abDlkYW93V3dCTnYvdyt3TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05NalV4TVRJeE1qQXhOVEF5V2hjTk1qWXdNakU1TWpBeE5UQXhXakFpTVNBd0hnWURWUVFECkV4ZDVZVzEwY21GamF5NWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVAKQURDQ0Fnb0NnZ0lCQUt5OWx2RmpVL0VMaWF2VkFiMDZyU1d0YkJsQWJOd1F3bDJrV284MVp2NHJTTnN4bFB2NQpLSGFJQ2s5YklsTWxCeTJPOFZqK25VeDdDcEFhdllhZnJpbU5zK0NWY1VIeXM4cmx5bTkySXdNK3NqYk84cVYwCjZSUlJHMzk4eGNyR1FBNFo0eXdCTDVUckxxbnJ2ajJNMk9QL3prYzhDSjJRK0dyV2dmMFhFeUJRMit4ZzUvdDcKL2k5RnJtMFordS9iUE1sOHk2d0I4YVdTTlpmcURuVFN6a3dOMVhhOE5YTHUwYStTRUpwb2NvV0o1T2lEQTVRcgpoaTFmOTk1NG9TK2x5UTl3UzEyUXZ1NjlyN0VPSFIxT243UGRPTTNoY2Z2dk1KOEdsSWMzRy9QQ3dRRXFrV0VxCjVLMlpsdVFwanVOTlNRS04wbHdWcUQzQ2wyRXFRL29Wb2RkR1RqMnR1bTQyeUpNQk9aS21CczBoQ1hnbEFiQ0QKNEpTYU9rSFVKcWx1N2dnUDBjT25VMllISTAzcmxyck43U0xoeWRXYWEvSzRKS1haYUVwUVNjVnlGQTdFRkF0MwpldFAwVkJCZDlaaFlJak93S0pCbEFjZ2JBRmZMK3JoQ1EvVm9NZi8xOThoWDJUODRzN3ZzWWJIUWl0RUloQmIrCjdxbllJTXo3ZDN4M0RzZmhyY1hFSHEvV3lIVFZ5M0t3bHdCZnBiTUNMTElaa21JYWJqZzBYK2h3K3YvL3RDZ1kKUURHaUFVWE82T292YzVoT21HSDhjN1lOelZRdUFyVC9yWXl3NUQzRkRQT0JqTFc2TC9PMkY0Z0pMOHVOYSsyWAp6STRVd0RHSk9ZNnJXOVJvWDdVZ2tOYWpZVW9VRmlXZmJ0aFR3MlZ5OXdSQ1F5T2ltYmxMTVpUL0FnTUJBQUdqCmdnSW9NSUlDSkRBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0cKQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZHVzlSaFVxY1IwUGdwVGtnelZCR01UQwp6TDFsTUI4R0ExVWRJd1FZTUJhQUZBQzFLZkl0am04eDZKdE1yWGcrK3R6cEROSFNNRE1HQ0NzR0FRVUZCd0VCCkJDY3dKVEFqQmdnckJnRUZCUWN3QW9ZWGFIUjBjRG92TDNJeE1pNXBMbXhsYm1OeUxtOXlaeTh3SWdZRFZSMFIKQkJzd0dZSVhlV0Z0ZEhKaFkyc3VZWFJvWVd4cFlYQndjeTU0ZVhvd0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QgpBZ0V3TGdZRFZSMGZCQ2N3SlRBam9DR2dINFlkYUhSMGNEb3ZMM0l4TWk1akxteGxibU55TG05eVp5ODBPUzVqCmNtd3dnZ0VGQmdvckJnRUVBZFo1QWdRQ0JJSDJCSUh6QVBFQWRnQVpodFRIS0twdi9yb0RiM2dxVFFHUnFzNHQKY2pFUHJzNWRjRUV0SlV6SDFBQUFBWnFvUStHOUFBQUVBd0JITUVVQ0lGVnduRC9SQXR4cXpueE9QNTlJL1E2bwpBMFIzRmhBZkl6ZXVUQXA1ckJaWkFpRUFqNDE5MlhIcTFvZWdoWmh5Wlp5L3ROSDZabGpZcW9XMVlpaXJQbFNxCjlyc0Fkd0FPVjVTODg2NnBQak1iTEprSHMvZVEzNXZDUFhFeUpkMGhxU1dzWWNWT0lRQUFBWnFvUStHMUFBQUUKQXdCSU1FWUNJUUNNVkNyNUdoSDR6WlR2U2wzM0xvWXptS3lZY2x5T1BnT05KMVRPYjFrNmF3SWhBTmtmRDViTgpXeHltVTZGTGtvVm9sOTdYZ2pTcjJCbzhveStWeTNnRXRtV3dNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUFGCjgzcm1kTTdvSlBhVkVUc0VycWJLZm14aTRVQVFtSnNiazZIWG13MjRYWEloTHljeWVaL2FBOEJtaVRYUTROOTYKcmsvYURzd0xCc0NmdFBQWFZlUWp6alQ3NnBERnlUem5kc0lCaVpaVVNZbm0xb0tYR3R3VXlNbW83WFFRUWFqMQpLT1NZcTdYaVY4Q0lxSk5YSXpLZUFsU010WmtHTCtyMEMrY3pYYWtYZWJDbnlPUUNBdmFScElnbFkvZzJGODJkClE4b2hKZUppK2tQSDgzQWY3RC9wQ3NRdUgrN3p1bmtkdWcwLzlPcTFyMC9JTm1jeGlwYWM4RTNkbXhkelhDVXcKamNGcjZlYTY5TlNHT2FKYVRndWJob0gzWWhVZTJaRHFjNm03MHJTTFp0ZnZLRG5TbWR3ZTVPZGwzSEV0eUpjVwo5dC9IQXg2Mk41T0RqaU9hdnNWcgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJqQ0NBdTZnQXdJQkFnSVJBTUlTTWt0d3FiU1JjZHhBOStLRkpqd3dEUVlKS29aSWh2Y05BUUVMQlFBdwpUekVMTUFrR0ExVUVCaE1DVlZNeEtUQW5CZ05WQkFvVElFbHVkR1Z5Ym1WMElGTmxZM1Z5YVhSNUlGSmxjMlZoCmNtTm9JRWR5YjNWd01SVXdFd1lEVlFRREV3eEpVMUpISUZKdmIzUWdXREV3SGhjTk1qUXdNekV6TURBd01EQXcKV2hjTk1qY3dNekV5TWpNMU9UVTVXakF6TVFzd0NRWURWUVFHRXdKVlV6RVdNQlFHQTFVRUNoTU5UR1YwSjNNZwpSVzVqY25sd2RERU1NQW9HQTFVRUF4TURVakV5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCCkNnS0NBUUVBMnBnb2RLMitsUDQ3NEI3aTVVdDFxeXdTZisybkF6SitOcGZzNkRHUHBST05DNWt1SHMwQlVUMU0KNVNodUNWVXhxcVVpWFhMMExRZkNUVUE4M3dFanVYZzM5UnBsTWpUbWhuR2RCTytFQ0Z1OUFocVo2NllCQUpwegprRzJQb2dlZzBKZlQya1ZoZ1RVOUZQbkV3RjlxM0F1V0dyQ2Y0eXJxdlNyV21NZWJjYXM3ZEE4ODI3Smd2bHBMClRoanAyeXB6WElsaFpaNys3VHlteTA1djVKNzVBRWF6L3hsTkttT3pqbWJHR0lWd3gxQmxienQwNVVpRER3aFkKWFMwam5WNmovdWpiQUtIUzlPTVpUZkx1ZXZZbm51WE5uQzJpOG4rY0Y2M3ZFemM1MGJUSUxFSFdoc0RwN0NINApXUnQvdVRwOG4xd0JuV0lFd2lpOUNxMDh5aERzR3dJREFRQUJvNEg0TUlIMU1BNEdBMVVkRHdFQi93UUVBd0lCCmhqQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBZ1lJS3dZQkJRVUhBd0V3RWdZRFZSMFRBUUgvQkFnd0JnRUIKL3dJQkFEQWRCZ05WSFE0RUZnUVVBTFVwOGkyT2J6SG9tMHl0ZUQ3NjNPa00wZEl3SHdZRFZSMGpCQmd3Rm9BVQplYlJaNW51MjVlUUJjNEFJaU1nYVdQYnBtMjR3TWdZSUt3WUJCUVVIQVFFRUpqQWtNQ0lHQ0NzR0FRVUZCekFDCmhoWm9kSFJ3T2k4dmVERXVhUzVzWlc1amNpNXZjbWN2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQk1DY0cKQTFVZEh3UWdNQjR3SEtBYW9CaUdGbWgwZEhBNkx5OTRNUzVqTG14bGJtTnlMbTl5Wnk4d0RRWUpLb1pJaHZjTgpBUUVMQlFBRGdnSUJBSTkxMEFuUGFuWklaVEtTM3JWRXlJVjI5QldFakFLL2R1dXo4ZUw1Ym9Tb1ZwSGhra3YzCjRlb0FlRWlQZFpMajVFWjdHMkFySUsrZ3poVGxSUTFxNEZLR3BQUGFGQlNwcVYveGJVYjVVbEFYUU9ua0huM20KRlZqK3FZdjg3L1dlWStCbTRzTjNPeDhCaHlhVTdVQVEzTGVaN04xWDAxeHhRZTR3SUFBRTNKVkxVQ2lIbVpMKwpxb0NVdGdZSUZQZ2NnMzUwUU1VSVdneFBYTkdFbmNUOTIxbmU3bmx1STAyVjhwTFVtQ2xxWE9zQ3dVTHcrUFZPClpDQjdxT014eE1Cb0NVZUwyTGw0b01wT1NyNXBKQ3BMTjN0UkEyczZQMUtMczlUU3JWaE9rKzdMWDI4Tk1VbEkKdXNRL254TEpJRDBSaEFlRnRQanlPQ09zY1FCQTUzK05SalNDYWs3UDRBNWpYN3BwbWtjSkVDTCtTMGkza1hWVQp5NU1lNUJiclU4OTczalpOdi9heDYrWks2VE04aldtaW1MNm9mNk9yWDdaVTZFMldxYXp6c0ZyTEczbzJreVNiCnpsaFNnSjgxQ2w0dHYzU2JZaVlYbkpFeEtRdnpmODNEWW90b3gzZjBmd3Y3eGxuMUEyWkxwbENiME8rbC9BSzAKWUUwRFMyRlB4U0FIaTBpd01mVzJuTkhKclhjWTNMTEhENzdnUmdqZTRFdmV1YmkyeHhhK05tay9obWhMZElFVAppVkRGYW5vQ3JNVklwUTU5WFdIa3pkRm1vSFhIQlY3b2liVmpHU083VUxTUTdNSjFOejUxcGh1REpTZ0FJVTdBCjB6ckxuT3JBai9kZnJsRVdSaEN2QWdidXdMWlgxQTJzak5qWG9QT0hic1BpeStsTzFLRjgvWFk3Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdFVENDQlBtZ0F3SUJBZ0lTQlJXcE5VTUw1bnRMZkJuSGtsdU43aVdrTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXhNVE16V2hjTk1qWXdOREl4TVRZeE1UTXlXakFpTVNBd0hnWURWUVFECkV4ZDVZVzEwY21GamF5NWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVAKQURDQ0Fnb0NnZ0lCQUt5OWx2RmpVL0VMaWF2VkFiMDZyU1d0YkJsQWJOd1F3bDJrV284MVp2NHJTTnN4bFB2NQpLSGFJQ2s5YklsTWxCeTJPOFZqK25VeDdDcEFhdllhZnJpbU5zK0NWY1VIeXM4cmx5bTkySXdNK3NqYk84cVYwCjZSUlJHMzk4eGNyR1FBNFo0eXdCTDVUckxxbnJ2ajJNMk9QL3prYzhDSjJRK0dyV2dmMFhFeUJRMit4ZzUvdDcKL2k5RnJtMFordS9iUE1sOHk2d0I4YVdTTlpmcURuVFN6a3dOMVhhOE5YTHUwYStTRUpwb2NvV0o1T2lEQTVRcgpoaTFmOTk1NG9TK2x5UTl3UzEyUXZ1NjlyN0VPSFIxT243UGRPTTNoY2Z2dk1KOEdsSWMzRy9QQ3dRRXFrV0VxCjVLMlpsdVFwanVOTlNRS04wbHdWcUQzQ2wyRXFRL29Wb2RkR1RqMnR1bTQyeUpNQk9aS21CczBoQ1hnbEFiQ0QKNEpTYU9rSFVKcWx1N2dnUDBjT25VMllISTAzcmxyck43U0xoeWRXYWEvSzRKS1haYUVwUVNjVnlGQTdFRkF0MwpldFAwVkJCZDlaaFlJak93S0pCbEFjZ2JBRmZMK3JoQ1EvVm9NZi8xOThoWDJUODRzN3ZzWWJIUWl0RUloQmIrCjdxbllJTXo3ZDN4M0RzZmhyY1hFSHEvV3lIVFZ5M0t3bHdCZnBiTUNMTElaa21JYWJqZzBYK2h3K3YvL3RDZ1kKUURHaUFVWE82T292YzVoT21HSDhjN1lOelZRdUFyVC9yWXl3NUQzRkRQT0JqTFc2TC9PMkY0Z0pMOHVOYSsyWAp6STRVd0RHSk9ZNnJXOVJvWDdVZ2tOYWpZVW9VRmlXZmJ0aFR3MlZ5OXdSQ1F5T2ltYmxMTVpUL0FnTUJBQUdqCmdnSXVNSUlDS2pBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0cKQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZHVzlSaFVxY1IwUGdwVGtnelZCR01UQwp6TDFsTUI4R0ExVWRJd1FZTUJhQUZBQzFLZkl0am04eDZKdE1yWGcrK3R6cEROSFNNRE1HQ0NzR0FRVUZCd0VCCkJDY3dKVEFqQmdnckJnRUZCUWN3QW9ZWGFIUjBjRG92TDNJeE1pNXBMbXhsYm1OeUxtOXlaeTh3SWdZRFZSMFIKQkJzd0dZSVhlV0Z0ZEhKaFkyc3VZWFJvWVd4cFlYQndjeTU0ZVhvd0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QgpBZ0V3TGdZRFZSMGZCQ2N3SlRBam9DR2dINFlkYUhSMGNEb3ZMM0l4TWk1akxteGxibU55TG05eVp5OHpOeTVqCmNtd3dnZ0VMQmdvckJnRUVBZFo1QWdRQ0JJSDhCSUg1QVBjQWZnQnhmcFh6d2ppS2JiSGpoRWs5TWVGYXFXSUkKZGkxQ0FPQUZETkJudGFaaDRnQUFBWnZoaU9PUUFBZ0FBQVVBQjN1U0lBUURBRWN3UlFJZ1A5QUFGZU1HZFlhZQpzdERvREpSUXIrcTVzUk9SWlgyRjEyL2kxcnZONFpRQ0lRRGEydW1RaHhlRHM0UDU5Ykd5U2tpYjRTYnlTdnNNCmQ2UDNRUDVuV1J1MXpnQjFBTkZ1cWFWb0IzNW1OYUEvTjZYZHZBT2xQRUVTRk5TSUdQWHBNYk1qeTVVRUFBQUIKbStHSTVCVUFBQVFEQUVZd1JBSWdXekM1cVllMlVXYWVrUWlaY3JvbFJvOG15bGpwVGw2ZWpOcEtQK3lHNlFNQwpJRGdkdy9NZnFpNXZwSlJ3WjQ4bnE5UElhNVNKTVNTa0wrbG0xRkhsL2I4dE1BMEdDU3FHU0liM0RRRUJDd1VBCkE0SUJBUUEzTTdMSEtJUm9KcDlzNm1hVTIwaURQd01sdjRhUGFaV0lhWllqOThpeGhXelBCUERONnM2UW1OVGYKQXlEQk5ldnAzeTlSakEzaC9MdTlGaVhHTEYyenFCT2lFOG1yUk00NHJ5ZG5LQTlOd3VGMlFNRitpSWJZd2U3WgppY0ZqS0xGd0pzZ2I2b0dlKzRCa0xVRC8vcEpacWgyN044WHF5Y3pCQmJ6cVRPUVNPZTcxRWRUVkE3WUIrU0o3CjlQa2tlWEpZQmR1UVRlRXFXS1ByM1lCOGlIcG12dkpieVg4RVRsRjRhVEZwcDA4L1JxeUNCSWU0TkJGdWdNelMKdGhzclBzOVkwYlZidXF5QlBlbDJ0MExKdzZLdkxTWUFRc1RsNHFQaE9ob3E1THZGaVhxSXBuWGdPanJWUTNIZQpGQ1FYWVRGK3NVSHpiN01BM3lqNU1kc1hHVWJQCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBckwyVzhXTlQ4UXVKcTlVQnZUcXRKYTFzR1VCczNCRENYYVJhanpWbS9pdEkyekdVCisva29kb2dLVDFzaVV5VUhMWTd4V1A2ZFRIc0trQnE5aHArdUtZMno0SlZ4UWZLenl1WEtiM1lqQXo2eU5zN3kKcFhUcEZGRWJmM3pGeXNaQURobmpMQUV2bE9zdXFldStQWXpZNC8vT1J6d0luWkQ0YXRhQi9SY1RJRkRiN0dEbgorM3YrTDBXdWJSbjY3OXM4eVh6THJBSHhwWkkxbCtvT2ROTE9UQTNWZHJ3MWN1N1JyNUlRbW1oeWhZbms2SU1ECmxDdUdMVi8zM25paEw2WEpEM0JMWFpDKzdyMnZzUTRkSFU2ZnM5MDR6ZUZ4Kys4d253YVVoemNiODhMQkFTcVIKWVNya3JabVc1Q21PNDAxSkFvM1NYQldvUGNLWFlTcEQraFdoMTBaT1BhMjZiamJJa3dFNWtxWUd6U0VKZUNVQgpzSVBnbEpvNlFkUW1xVzd1Q0EvUnc2ZFRaZ2NqVGV1V3VzM3RJdUhKMVpwcjhyZ2twZGxvU2xCSnhYSVVEc1FVCkMzZDYwL1JVRUYzMW1GZ2lNN0Fva0dVQnlCc0FWOHY2dUVKRDlXZ3gvL1gzeUZmWlB6aXp1K3hoc2RDSzBRaUUKRnY3dXFkZ2d6UHQzZkhjT3grR3R4Y1FlcjliSWROWExjckNYQUYrbHN3SXNzaG1TWWhwdU9EUmY2SEQ2Ly8rMApLQmhBTWFJQlJjN282aTl6bUU2WVlmeHp0ZzNOVkM0Q3RQK3RqTERrUGNVTTg0R010Ym92ODdZWGlBa3Z5NDFyCjdaZk1qaFRBTVlrNWpxdGIxR2hmdFNDUTFxTmhTaFFXSlo5dTJGUERaWEwzQkVKREk2S1p1VXN4bFA4Q0F3RUEKQVFLQ0FnQjk0UkwwQ1J3TWxnblhMRHcrTjFvaUVNU3JpaVZLSVBSaTVQZ1JVQ3Nqb1V0UVlFdGZhMnd2SkdmTworR3lGQm9DNmxHWVFJa3RpaG05bUgvWm8ra2dpZzk3SEZHQWFYTkRrVkp3MnFYSk9WUXZ0b05WMStVSTR5Zm90CjV6RUQyWUNvUmZra0FpRTRka0hsRmFQbW1wTWJZemhnOU1DYWdpQmxTcmdqUlFOdEV6K1FlL1hSYjhRRmt0UFAKTVpXSjRNdmxVSW5qYU84OVp0U2pSYThQTnVlYXlLSDhDcDh3aUJSSnl6bEtMRDc0VFVxQW5haW4reWVtUFQ4Vgo0ZllrRUwzNkFDMExuQVZuV05lRlFQRzZmNmNsblZwZHZhSWdvMmRkRzZCMUFKWGdCdFk3RVZncjVPUU1GZGE5Cm9nTThaUCtGV3ZBbXBxbVppQXBraGpaUE1pQmkyeDYzTzk0bXgrbkhmNEN5TWxENkpGK1E5OVRtK2lpS1pWcnMKbjQxN0ZJTVNYRE9QK3RuckpjcHJ0YkhoOUtVVVpHWDdSN0Mvcml3a1IvODhuOVBySjhYQisxVUlMS1puTEpjaQptdFBrTjlEcnhZeGkrSXdMQUU1Y29yUkM3MFBjcjRsMFJqRFdGSTdqU3pWcE9wb01WWlVTMEJYdzlacStSS3oyCmVGbmtTRGFDcDFNaEx0bW5QSjQxSk43Um02T2NkVkhkMkxhYzhqemorNEFRcU5tRHpWeWx6NHBDMFB6T1JMcngKQ2R4R0RGK1AyNldlZ203SDcwS3dJQW0yUkRsMnBFVkkrMFVtaFZUbVNQaFp5ZS9UajhscDlROWpYYUxJdDNEMQpUakZ3R0JQeEZ6NFQxV3p0NWdRcjdkTDJxK015NVZENVJmTjdCZWxybmFwZlNwRjgwUUtDQVFFQTNwNFQwWFlnCmZpclQyUUJWQmdSUlNWdHhNQWFZWjNzK2xJbnloeklGUmlDV09DUkl5Sk5RWDZubzhJWFJFWUVNU05rKzFOQUUKTk0xKzZxcmJYTGczWk04VW1xczFUcElEcS9mOERkdFp2cEZZNEo5S0gvYmMzZ20wT21WNXJpYUY3U0xvNCtwVApVM2MzbHBLMlA0c21SQllRYXVybWM0NE8zdDN5REYzLzRVeVNiNXJmb3VkSEI3NkV5NzRseU40VUovcHZDMy8rCmc3V1g4NlFkb3FVQ1U4d2NVVWd3NXdRZEw0aDFWSzQ0QU1BaVV0VEduMWp4aUEwUk1QNWhYbGY4ZVVvNnVyZEMKMmdadXhHQTlWRXJRK2l3Rkw5VVR0SVRvM3RnM2taRStkMThkMnd1TXpGTDQyNmprSHhCbTlGT2tqaFcvZWlSNApLUS91V2doQ1BCZHRmUUtDQVFFQXhxVFJzS3RBVEdpMEtWa2xyaVRmbExBR1ZxQTEyREYzV241RC9ObVJhMnVVCjBUN2lVcVJPcGFkcjBlYVVLOUROeVB6dzRaeUpFWlY0Rys0dFd6d291MlB6WHFTbWJCSlYvSEhUUlVBZ1BZaDUKTExMTEJQTGlybDdmRlpxVEY2K2lWODc0ZER6WFdjem55dEl3dlgzQVNTMFBsQVZRTEVsRVhUYnF1ckhiV0VnagpWdFZwdElrNnZZanRBcDlwRm1UUmRCeFVwRk9LQkVFcW9zajNicnlabUhWUmRlRmJCRmFlSFVkVUtwdzJUOUhFCllLalkza0FINmFTdzkrSHUyRmY3U1ZMRzF5OTdoOWtRaXVQbi9Ea1NjYkdYV2tweE9nZjJZRHU1QVNGdk5jR0IKekw4SmpYUThGZElDcHJFdFdERmowZFlZTEwvalUxQ05vMGE1ejlYRkt3S0NBUUVBblBsU2VDeVhsTitXS2puMQp1aHhwUlJUWnAwZS9SNWk3OC9taHJuc3pCTlFObU9EZEFiSCt4cllFcnpWc3lxNzRmcFhSbkRaaUFPbTJTTHJaCm0zTzZlN2NaakVhVmZDV3h1UjFQK21WbHp0Nm1rUjFCSTNEckpSWXFvOUxTRGw3VHFQY295UzErUENpZ1plaGwKNGtDNFp1STRDV3hCdTlHNzRxTVYvbXA1OStBS2tlL2ZLZnR6TnA2OC9QM0RudlFadW1iNHpsOGVsTGtEd0tWRQowRjhTV1F4Z0cyQ1FPeFhIanJEbUt5UCtFV2xweW9hRzErM2J3bGVVZTd1ajVPYWQvTmkrdU5Kb3JWeEQxdTBWCjBjNC90V2c4OEJHTHA0cmd1ZUkwck15Q0E2SnFadjZwOVptOEtRZmFjNTBaTzhlUERUR0FweHY0THR3dzhnTkkKMFI2ajhRS0NBUUFmeDd5NGpCMWtYQmYreVlGcXhBRjFNMWhBUWE5N29DWmROdmcvbXJ0V09VYjgxeGUwYXc4ZQpGNVA3WisxcXVTUkROSnlCSzk4T0RpRENMeS9ZZWQ1MlpINUtOUU5mSk92VzBJc2hlQ253VGtZOHJYb25sNGhHCnAyei9jdFIzcEtUUGNaQjBZRXQvMVhWOEVIYTF5a21hSzNoamtSb0xpOGxCTklrSFIyODFSNDFIMWlyc05FeE8KaUhxS3dlQTVNZllFb29lMEpwMWRJdVBrV1V5a3pjMnhBNHY5MVFrUHY1L2FSVkFrNVFzWGFCTUg5OXVDYXpJWQo0ajFoMnlhd1BCczYxdUJ6Q3VpemlqbklUc0FOclQvVEtydHhPWm0xMUJKSndTUlBGdjlJMVdXajBTaUJGZ2lLCjRTZUZiYkU0ZStaaGF1UkJQSTN0QldVenF4d05NVUV6QW9JQkFFSWs3MDBKQXBlU1dCbHRXWm9YQ2tNMy9jNVoKQldjRkgvWmlWWkxCd2lOS2h4Tm5DQmdIQ050SVlCQm5XL0VWT0c4ZmtMdHJNMjNBUUtkd1prWUJiemo2eG0wSQpST3NPWmVSbHlVQy9hK1ZSQVZNbFFFdHU0V0xCTkwyd2hDL0ZvdUV6MWZxQWxTZGl2TFFiQXNqUDB1TzQ2Z1d3CnA4UXl4TnBCK3VNL0hDdjlzM1BjK00rL2NBVWRlZ285cDdjT1diRW40OWRaam1DbnZ4RE5WbnV5OUlCOWNNUDgKR1BnV3N1a2tYYlcwUllOQ0IwMVYrVVNFYWpTTzVpenlUZitSNkFwSzRPaTQzeDJDRVVlU01OQUJrbHNLUnJ0Rgo5Ri95WEtaVWNCUW85ZGtJU1ZMNUZxdktQbGVxVmROOXRhWE9pd3RIdHcxOGFTT25zV2pOckIwbWtRbz0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -475,7 +475,7 @@ "domain": { "main": "bazarr.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCekNDQk8rZ0F3SUJBZ0lTQmFSL2FDdzFzalRub25yM0wxVjRSVEgzTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXhOVEEzV2hjTk1qWXdNakU1TWpBeE5UQTJXakFnTVI0d0hBWURWUVFECkV4VmlZWHBoY25JdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUUM4VUlPZWZvaWQ3SloyaEtoREF2VlR6VCtuMTAzMHVkSWxRckpJYjlTWVNWdFQyRmJKUmhkdAprNHNrZElWYlAwWElxRmdIMXhqVVptVnB1V3BwRUEvOFd4ZFRpZU4zMHhlZVlubUxXTkJzRTJ4WElLT0VnbWZMClV3Z2U0WTYyVjhibldjQTV1dE0wRGQ1aGtYZUZ0bEhQSTgrb3ZoMTdLRFhzd3E4Z25LVy82RmpRSHJmSXA4NzYKUy9vMlFwbC95aFFkR2liZmVNTmVudlo2ZUtPMXJQZ2QxbTY0bUFXNFVxQkFqMTRaTWFKeWZtZkRLaGl1eVJ6MgpINFR5MVlCRFI3U2ZQbVpaRDFaOG5zUUU1REM4eE1OVUE5OUxVNnhTVmswa1BBeEp4eWNOZGFucXUrOFhTMG03CmZBOXlKRjlLdWZzNW5Na1Q0WHVFUnBmZzVyVVBQSHFoYzNhbFZzY29RR3Z3VlpvUVJmYkZNKzk2VTZGTllzbjcKNVNDQWxSRy9peDdLTVVHenltQmh0b0UydG1KWm1GblBBZlRwR3kwZGVSZFdxU04zR0ZLbFJVcVZGRFU2Ukh0bwpSZW1TTElHSWVRVHVWcHBwUE1Gc1dBbXU4dVFrd24wUjJ0QmF3Vk5Hajh3dy9YMHdCdCtiYkpFclR6dTN6aXd0CjZxa1hUeVZoWFlJcHlOTUdzQ0pDWVFJSnBsUDR4Ykt2b3VCS2pEajNSVlZ2NHdqTU5hNk5zWmVuc3QxQ0VpOE4KVHl1ell1VnY2d2xwVnlMaVlYK0NnVG5YVjlrVlMxb0lITTdUOHBUaGhSUFVLdVA0emhJWi9SZ0Z1VnM2ZmMxQwphbG5rZ0kzd3pVTnllQ3VtSHBVeHp4MmxwTW5kM1YrTkd6M2VkMno4Y09pZ2JBNEtDSndhRlFJREFRQUJvNElDCkpqQ0NBaUl3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJUakNVRlVZbE51LzlvQTF3OFFtSDF3Zkdwawo5VEFmQmdOVkhTTUVHREFXZ0JUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRNdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZXSmhlbUZ5Y2k1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdgpCZ05WSFI4RUtEQW1NQ1NnSXFBZ2hoNW9kSFJ3T2k4dmNqRXpMbU11YkdWdVkzSXViM0puTHpFeU1DNWpjbXd3CmdnRUVCZ29yQmdFRUFkWjVBZ1FDQklIMUJJSHlBUEFBZHdDV2wyUy9WVmlYcmZkRGgyZzNDRUozNmZBNjFmYWsKOHpadVJxUS9EOHFweGdBQUFacW9RL1lFQUFBRUF3QklNRVlDSVFDeEh2eVBDcm9xSDkyRFd3SkN2V1p1bGE3VQo3TTUzeUhjcHRVTVk2bVlkZXdJaEFMa1Z2V3o1Y3dKWThHOGhBai9Od24rU2Y3YnVwUTAzU1FROEp6ZVJZTGt4CkFIVUFTWnliYWQ0ZGZPejhOdDdOaDJTbXVGdXZDb2VBR2RGVlV2dnA2eW5kK01NQUFBR2FxRVA5aUFBQUJBTUEKUmpCRUFpQTVsNTZubWpuR2dIcFpoR1kwMWFyTEx0UVIwMGt4ck5CcHdraENxSHNXV3dJZ0FuMFFZaG9HUno5MgpQOEtvcERhSjBaRWlZK0NvcDcrMmR5Q0pJemErL1E4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFJSzc3ZmQwCjd1M2hBRG9kVG9oR1NCOE4zblhmTTF6eTJiWGlUYzI5SWgvaDF0SWZVQ21iWkwrZjQyem9TT25USi92TVQ1WDEKQ3gxNDdhcktIM1hyempYN0tkeUlGS0ROZGZMbk5DeXBOaGR4eDBtUnVDK2ZkR09veU5vTUtXSS9HSXdpUmJBWgpDWjl3MWxranFoeFdidEcvN0lPQ25WM0JPSDBUblFKZWhJLzVudWQzME5NeUV0VHhwMUczVGVtcEJCRXlRaWlqCkx1MzNTM3JUZTc1T3BxSXNGQ1ZTRUZuUW1OaGtlTUpmQjJ1M0g3Q3JDb3A2QjJlb3RLcmdTWFFIOElwSlhKdjAKbXVleUVPZEtLeHYzbTBSRVcvUmVVZ1l2NzhqVG8zY3FQNGo0eGZ0Vk5NbGJqdCtvWGR1QVMvRU9JLy8rdlFRSQpZZjhiNTlFVk4wQ0d2NzA9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQlRDQ0F1MmdBd0lCQWdJUVdnRHlFdGpVdElEemtrRlg2aW1EQlRBTkJna3Foa2lHOXcwQkFRc0ZBREJQCk1Rc3dDUVlEVlFRR0V3SlZVekVwTUNjR0ExVUVDaE1nU1c1MFpYSnVaWFFnVTJWamRYSnBkSGtnVW1WelpXRnkKWTJnZ1IzSnZkWEF4RlRBVEJnTlZCQU1UREVsVFVrY2dVbTl2ZENCWU1UQWVGdzB5TkRBek1UTXdNREF3TURCYQpGdzB5TnpBek1USXlNelU1TlRsYU1ETXhDekFKQmdOVkJBWVRBbFZUTVJZd0ZBWURWUVFLRXcxTVpYUW5jeUJGCmJtTnllWEIwTVF3d0NnWURWUVFERXdOU01UTXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUsKQW9JQkFRQ2xaM0NOMEZhQlpCVVhZYzI1QnRTdEdaQ01KbEEzbUJaamtsVGIyY3lFQlpQczArd0lHNkJnVVVOSQpmU3ZIU0phZXRDM2FuY2duTzFlaG42dncxZzdVRGpES2I1dXgwZGFrblRJK1dFNDFiMFZZYUhFWC9EN1lYWUtnCkw3SlJiTEFhWGJoWnpqVmx5SXVocnhBMy8rT2NYY0pKRnpUL2pDdUxqZkM4Y1N5VERCMEZ4THJIemFySlhuelIKeVFIM25BUDIvQXBkOU5wNzV0dDJRbkRyOUUwaTJnQjNiOWJKWHhmOTJuVXVwVmNNOXVwY3R1QnpwV2pQb1hUaQpkWUorRUovQjlhTHJBZWs0c1FwRXpOUENpZlZKTllJS05MTWM2WWpDUjA2Q0RnbzI4RWRQaXZFcEJIWGF6ZUdhClhQOWVuWmlWdXBwRDBFcWlGd1VCQkREVE1yT1BBZ01CQUFHamdmZ3dnZlV3RGdZRFZSMFBBUUgvQkFRREFnR0cKTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQ0JnZ3JCZ0VGQlFjREFUQVNCZ05WSFJNQkFmOEVDREFHQVFILwpBZ0VBTUIwR0ExVWREZ1FXQkJUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QWZCZ05WSFNNRUdEQVdnQlI1CnRGbm1lN2JsNUFGemdBaUl5QnBZOXVtYmJqQXlCZ2dyQmdFRkJRY0JBUVFtTUNRd0lnWUlLd1lCQlFVSE1BS0cKRm1oMGRIQTZMeTk0TVM1cExteGxibU55TG05eVp5OHdFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3SndZRApWUjBmQkNBd0hqQWNvQnFnR0lZV2FIUjBjRG92TDNneExtTXViR1Z1WTNJdWIzSm5MekFOQmdrcWhraUc5dzBCCkFRc0ZBQU9DQWdFQVVUZFlVcUVpbXpXN1Rick95cExxQ2ZMN1ZPd1lmL1E3OU9INWNITENaZWdnZlFoRGNvbmwKazdLZ2g4YjB2aSsvWHVXdTdDTjhuL1VQZWcxdm8zRyt0YVhpcnJ5dHRoUWluQUhHd2MvVWRiT3lnSmE5enVCYwpWeXFvSDNDWFRYREluVCs4YStjM2FFVk1KMlN0K3BTbjRlZCtXa0RwOGlqc2lqdkV5RndFNDdodWxXMEx0empnCjlmT1Y1UG1yZy96eFdiUnVMK2swREJESEVKZW5uQ3NBZW43YzM1UG14N2pwbUovSHRnUmhjbnoweWpTQnZ5SXcKNkwxUUl1cGtDdjJTQk9EVC94REQzZ2ZRUXlLdjZyb1Y0RzJFaGZFeUFzV3Btb2p4akNVQ0dpeWc5N0Z2RHRtLwpOSzJMU2M5bHliS3hCNzNJMitQMkczQ2FXcHZ2cEFpSENWdTMwalc4R0N4S2RmaHNYdG5JeTJpbXNrUXFWWjJtCjBQbXhvYmIyOFR1Y3I3eEJLN0N0d3ZQcmI3OW9zN3UyWFAzTzVmOWIvSDY2R055UnJnbFJYbHJZakkxb0dZTC8KZjRJMW4vU2d1c2RhNld2QTZDMTkwa3hqVTE1WTEybUhVNCtCeHlSOWN4MmhoR1M5ZkFqTVpLSnNzMjhxeHZ6NgpBeHU0Q2FEbVJOWnBLL3BRclhGMTd5WENYa21FV2d2U09FWnk2WjlwY2JMSVZFR2NrVi9pVmVxMEFPbzJwa2c5CnA0UVJJeTB0SzJkaVJFTkxTRjJLeXNGd2JZNkIyNkJGZUZzM3Yxc1lWUmhGVzluTGtPclFWcG9yQ1MwS3labWYKd1ZEODlxU1RsbmN0TGNabklhdmpLc0tVdTFuQTFpVTB5WU1kWWVwS1I3bFdibndoZHgzZXdvaz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdEVENDQlBXZ0F3SUJBZ0lTQlM5dm1NUEFRMEloVUxxTmQ3VkF4NW1xTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRJeE1UWXhNVFF3V2hjTk1qWXdOREl4TVRZeE1UTTVXakFnTVI0d0hBWURWUVFECkV4VmlZWHBoY25JdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUUM4VUlPZWZvaWQ3SloyaEtoREF2VlR6VCtuMTAzMHVkSWxRckpJYjlTWVNWdFQyRmJKUmhkdAprNHNrZElWYlAwWElxRmdIMXhqVVptVnB1V3BwRUEvOFd4ZFRpZU4zMHhlZVlubUxXTkJzRTJ4WElLT0VnbWZMClV3Z2U0WTYyVjhibldjQTV1dE0wRGQ1aGtYZUZ0bEhQSTgrb3ZoMTdLRFhzd3E4Z25LVy82RmpRSHJmSXA4NzYKUy9vMlFwbC95aFFkR2liZmVNTmVudlo2ZUtPMXJQZ2QxbTY0bUFXNFVxQkFqMTRaTWFKeWZtZkRLaGl1eVJ6MgpINFR5MVlCRFI3U2ZQbVpaRDFaOG5zUUU1REM4eE1OVUE5OUxVNnhTVmswa1BBeEp4eWNOZGFucXUrOFhTMG03CmZBOXlKRjlLdWZzNW5Na1Q0WHVFUnBmZzVyVVBQSHFoYzNhbFZzY29RR3Z3VlpvUVJmYkZNKzk2VTZGTllzbjcKNVNDQWxSRy9peDdLTVVHenltQmh0b0UydG1KWm1GblBBZlRwR3kwZGVSZFdxU04zR0ZLbFJVcVZGRFU2Ukh0bwpSZW1TTElHSWVRVHVWcHBwUE1Gc1dBbXU4dVFrd24wUjJ0QmF3Vk5Hajh3dy9YMHdCdCtiYkpFclR6dTN6aXd0CjZxa1hUeVZoWFlJcHlOTUdzQ0pDWVFJSnBsUDR4Ykt2b3VCS2pEajNSVlZ2NHdqTU5hNk5zWmVuc3QxQ0VpOE4KVHl1ell1VnY2d2xwVnlMaVlYK0NnVG5YVjlrVlMxb0lITTdUOHBUaGhSUFVLdVA0emhJWi9SZ0Z1VnM2ZmMxQwphbG5rZ0kzd3pVTnllQ3VtSHBVeHp4MmxwTW5kM1YrTkd6M2VkMno4Y09pZ2JBNEtDSndhRlFJREFRQUJvNElDCkxEQ0NBaWd3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJUakNVRlVZbE51LzlvQTF3OFFtSDF3Zkdwawo5VEFmQmdOVkhTTUVHREFXZ0JUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRNdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZXSmhlbUZ5Y2k1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdQpCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dmNqRXpMbU11YkdWdVkzSXViM0puTHpRekxtTnliRENDCkFRc0dDaXNHQVFRQjFua0NCQUlFZ2Z3RWdma0E5d0IxQUVtY20ybmVIWHpzL0RiZXpZZGtwcmhicndxSGdCblIKVlZMNzZlc3AzZmpEQUFBQm0rR0kvMThBQUFRREFFWXdSQUlnRDJZK3pSOWJ6aFVsK1cwRmQ5SFZWRUtBcVdSdQpHR3hUUy9XU0hFb3RzY1lDSURjYkM2S3FRNk1vbHhLeFJxMkNtU2lPMVNlZmJDVUVXOHphd0RVRGhTYkZBSDRBCjR5T044bzJpaU9DcTRLencrcERKaGZDMnYvWFNwU2V3QWZ3Y1JGakV0dWdBQUFHYjRZai9Xd0FJQUFBRkFEQVIKY3NBRUF3QkhNRVVDSVFDaFJ6ejZKNzJYY0k0bFlEWkZDQWFmMCsrcGdBL21KUUlUeVNpMndaQ0swd0lnY1J2bQpBYWwrNVRmKzFOdklIeFphWVp4SllraTlmZ095bkNyTlpaeDNWNFl3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCCkFDUGZ3LzBIMDYzK1JLSzh3a1ZteGdPb1JkNjlTS1JwWlBzNVg0eG5RUTRnNXowZFRRWUJlU2hoQ2VEWWF4Q3EKM1NENlJoVnVDRUdlNWlMOWdtaXlTR2l5Ri9zM0xQSEEwZHY0UzB4aVR6SlhZK0FER2huTElmejVnaEozeTdEcgo2WU9lNlRFaWVya3Q2K2VOeURHa3ZmR2NaS2J4aVhDN3FZK3VDd1E5YjNIMjk5R09sU2FJSjB2VnE4SFdiQ0pUCkhXcGd0b29MNVVZbVFZMmw5eTBvUFJ2WG5iR21DdFdQcU1xQ3cwczlCVU1OazFLZjg3WEpOdjZqNGJFeDdEc1EKaGx5UnhDdjJZQUpITG0wTzdKQWNPKzFlc1pYWFVWQ3crWE4yL0hxMlY5Vnl4cUZQOW9idWxaOHkwQS9EMDRIQwowZVJtSkE1QVgrT3pwcWxmc1o1c0FzOD0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBdkZDRG5uNkluZXlXZG9Tb1F3TDFVODAvcDlkTjlMblNKVUt5U0cvVW1FbGJVOWhXCnlVWVhiWk9MSkhTRld6OUZ5S2hZQjljWTFHWmxhYmxxYVJBUC9Gc1hVNG5qZDlNWG5tSjVpMWpRYkJOc1Z5Q2oKaElKbnkxTUlIdUdPdGxmRzUxbkFPYnJUTkEzZVlaRjNoYlpSenlQUHFMNGRleWcxN01LdklKeWx2K2hZMEI2Mwp5S2ZPK2t2Nk5rS1pmOG9VSFJvbTMzakRYcDcyZW5panRhejRIZFp1dUpnRnVGS2dRSTllR1RHaWNuNW53eW9ZCnJza2M5aCtFOHRXQVEwZTBuejVtV1E5V2ZKN0VCT1F3dk1URFZBUGZTMU9zVWxaTkpEd01TY2NuRFhXcDZydnYKRjB0SnUzd1BjaVJmU3JuN09aekpFK0Y3aEVhWDRPYTFEeng2b1hOMnBWYkhLRUJyOEZXYUVFWDJ4VFB2ZWxPaApUV0xKKytVZ2dKVVJ2NHNleWpGQnM4cGdZYmFCTnJaaVdaaFp6d0gwNlJzdEhYa1hWcWtqZHhoU3BVVktsUlExCk9rUjdhRVhwa2l5QmlIa0U3bGFhYVR6QmJGZ0pydkxrSk1KOUVkclFXc0ZUUm8vTU1QMTlNQWJmbTJ5UkswODcKdDg0c0xlcXBGMDhsWVYyQ0tjalRCckFpUW1FQ0NhWlQrTVd5cjZMZ1NvdzQ5MFZWYitNSXpEV3VqYkdYcDdMZApRaEl2RFU4cnMyTGxiK3NKYVZjaTRtRi9nb0U1MTFmWkZVdGFDQnpPMC9LVTRZVVQxQ3JqK000U0dmMFlCYmxiCk9uM05RbXBaNUlDTjhNMURjbmdycGg2Vk1jOGRwYVRKM2QxZmpSczkzbmRzL0hEb29Hd09DZ2ljR2hVQ0F3RUEKQVFLQ0FnQm1ybVJHVE9xRGFoalZBUnFhaDRkcnJYUHpPZlFZNkNYTkNXUWJHVmRMdmx3ZENNNnhxeFZsTzFsWQpoR3lleDQ1dWpsU0oyZUNCR0dCZDJLdE1KR1VERGt4VzBjNEZiVVhvcC90c1h2NHVvQnlvR1hUdjhRZFZsNjNLCjRPU25Tbzk3WUxYdkJJN2JTR0NreE9QdU5lNi95dUFWTzZ6cGxaQnB5L0lnRHlwVnpRUjRYdmVKWXU3NkRlbWUKSW94K1lKcTlENkI0byttcnMzUGtiZG1lVzNWakY2U0I1T3JoaWJRMTM3YkllQWNDOVNmeEJBZzNiaFBycEY0aQo1d1dzS2ZJMERwdFNIb25qSTlMd2M5aWJaWks0UWZCRXE1Zy93UzBJLy9FWFhZOU95SVRoS0o2RERodGpMbzloCmhyR3JGbVFGRXhlVlRwTENHcGdBR3V4SkpZb2JoVDlkOVBraExPdy85TURrNkxmaTlyelFkcnQyL3NzbTgrNEwKT3NiU0xtcmhUbm5TL1BOemVLSkthOU1RRHd4a1JOZ2dveG5iY1AzaDU3ci8xY2JyUE94dE9Eb29RT0xGOGYwdgpQa3Fsb2JFM1V6blFBUW0xTHdhcVNxa3RhTjdVK0grelpSV1ZJS2Y0ZHZyN242eGw3OXBwakZkY1NqcUhOMitBCjBDL2lzR1RTMnRDZWZjcUg3cVZkZnpiQ1hIR1VJS3Q5TjYvZWx1SUpLZkdKbk5tbm0rZ0liMFB4TWFxNEJCclYKZFZ1bU45emVWUVlVQStnVVRjT3pKOWd5WWtJV3FKTDZlUkVkdVB2cHNQNnlmb0V2VWZtMThkcVFuQ0w0NWhyeQp4S3dsSTVkeWVYSThKWmNCb0pkUDFYODVSSm1semFmUmdvbTViektkNCtwYk5FQlBkUUtDQVFFQTFKenFwdVhiCjJLaFNkOGlTcWVTUU9zN1B5Tk45bDI2L1YwWlErbnlwd1paT1J4NHFoQ1BBOFFvcE9DZUtuNTViRDYydm5FTmQKV1BtWmsvazg0WmZ2WHh6VW5yY0RsaWhQWTJLdGo0eXlzRUR6OWd0SGYxY0Z2OHdDM3BWUTRaTy9nNE5MOHhtWgpqYVh3RmMyWlFXR2ZMS2FEZVU2SURTdHA2Z0NJY2JjUFB6clJzOFRsQ2pCWW56SU9NcHYxZWhyQThyVkxWZzRwCnhWS1EwdEFjTVg5bzIwVnpBZUY5UGRQOWgrTmF4NFdxVGxNZE1OcjJJSWhiblZSV1F1TmtoUytxRzZlVG5TRW0KQ2w1a01SVkNzdG4yRWtDellYR2JveHhqTUZFblJSSjVQVmpFcFFHZkZVNTV1OWtBbUFhMjJhOHRNS3M3MHZlNgpXRFZNZ3BmNDl1Q29Id0tDQVFFQTRyNDV6TU9hYnYxSlZ4cHhTSkJLK2R3aXFXRTNpRHJvYmJHZHIwekNYTkJ1CnVUSEorUUFScW5BRWRXb3JaRDUyaWJ1L2pSZ052eTRMVkRieVF3QzFWMnVHVEZXREtXOWhtMVRxbDIwN01YV0UKL0x5ekNiK2JIelYxeStuMTBEZkowdzAyNDRtem5KdS9ORGJMaDBuT2c0NGVDbldxNTBKY25UMlh5VUo4Y0xXWgozUDZsN3M3cmNreDlKR0p4bkNFK3IxNU1TeFhDc3VDUU45NUljL2xhdmJrWkFoTlQxRzlsR0F5Q2VKZkdWUUJiCkc4RWJMeW1nZWVMS0tkeCtYNGhxTGFTMkhUOWI1Z3BDZU1NbzVDT0greFRSRVZvckdsMjhQT2h1WUI1cXppVVUKQkpOR1FpZjB1RmhWeUlUa29xOFc1blRQb1BtSUdGQXpkbzBsMFk0SFN3S0NBUUFYWGlQQU1qVkdpOEY4bnRQWAp6bUkzeEhFNzdscTRZUml3bSs3Y2lRVVRYTlMvcGtZZi9kbi81QkVCdGY3YmFra3g0UElUSjZoRDFqTVYrMmZBCmw3VmNhOHZHb2ZESCtTZzRrU2pvUlJ1Q21iRDJrdWpKeXlPN244MlU3eTVUakt5WTVMNWRPcXdRMEhNaHdsWWMKeElEOUpGUUE2aXV6M3RpbU9tYkVzTTBCTXhMSFFsVzJGL2cxandmV2NpTzV4dVQ4Q0FiK3IxSFIrVEFucTIzZAoxdFlNZTRhWFoxUWZqb1FvQWtvQThlVDA5TmVaZmdkZExmOTd2RUE2MjhrNWhqS1pGWUw0MnlMV011ZXFLVjhLClQwQm5ZeXNVQTZ1S2N0MUgrek5vdVE0UU93aHA1bEs0d2NaSmFpRlJsRE5XbTVWSTZ4a0pKK2NZT010dTh3c08KLzBRYkFvSUJBUURKS2p2ZGp5elVpNk1seEMvOVVRY3o1anBhVEFZWXR5cS9KM1hlc1JzL2ZTeSs0WTF2Zk1BdgpsbkplT1hPRjNHVU9qYVBFYWpMSUN2SENKWDJLTkhhdXVKYk40cEFia3RYbUdkQ0h5RUZjQUFlY3MwMmt1SG5ICmxvYU1BMll5OVV2NkV4OC9nRXY2QmJQOWZ4L1RSNGdRNzJWM29pMmVQeUlyM3hsclZiRlJ6Y3hVWlJpU1pzSTkKQmQrQkNGWURUdnR1V3hzVkFwbGFXaUdaYjN5WWFBSTVrSjYvV0tabk11MWVDTHM0Z205VHVwMGFZcGpibnZMaApNSFJyNzFPdkxqZ0ZocnlMOWtweUxXZ0wvQm1yVGxxMlNDRzBZMnNhV1U5SU9tNnltRW5wMnJ1SDA2SGh6OUV1ClBERGZWZ2dDelpSam9mOFRzazhzUXZ0bGtwU2E5b2RCQW9JQkFRQ1Zaa0o0dWFLYWxRaXE5bjVCNE9QNFZiREEKUTBuMkZ4YXdVamE0aFRYQzNuOTJQQjFWSHdML1I4c0RTdWIwTkhGa0JmeXBwR0tjNWg4STIranBtZXdFTFozWApQdnR1NDBZdGdTVHRKakJqNHR4RXV6eFV1bk50Q3B2eXdxcFpuOTZVZzY4N2Q3bU1rWWNtQ3Yra0xGc29DbXgxCm1wUzZzWCs4TU55OCtOUVNZeEl4bnk1REZoZFg3a3pTZjVFR0VLOGI3SG00MDhHdFZ4a2Z5Q3lYYkJBMGlPNVQKM0JONjBxcjYrTTBRUmhHeEVNQXhLdVdoWVNVazAzNkdOc1ZBVzdjb0Y5K3RaVmIyMTFKdGtGZG02V253cGdVWQpwZTRSZTdOamxrU0VYNU5FZ1d1OStPNk9URnJxV0pSTURWbm1sZzU5V0tYZnJWWW5KaU84WVJKZ21vNG8KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -483,7 +483,7 @@ "domain": { "main": "recipe.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCakNDQk82Z0F3SUJBZ0lTQmVYZ0hBWUZoakVWZy9iM2hvTUlIcks3TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJeE1qQXhOVEUyV2hjTk1qWXdNakU1TWpBeE5URTFXakFnTVI0d0hBWURWUVFECkV4VnlaV05wY0dVdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUUMwTTljdzJCZStDa0s0M3pDZVc1T0FoS2tST1NQSEF5QTl5MGNyaklkbzBhS1EzTnFobnpHWgpISVh0d3E1dkpMWm51TEx3RG5MNEorRHZyY2tsUkRUQ2dqZVB0dXdnVGRLOENSOWd3cGE1SWlHbXZKa0tIYk03ClNjVFByK0djZExuV1dzWm5CWmFRcDR5N1RIZk9oMFJDWTlIMFEzL1g1TkY0WlBIN0swZ2tZVjllMVJWYXR4b3cKZXBmZGtJUCtYaUNxS3RUcjNHR0lrUkJkOHRVaEEwZ1Q3RExadVhLRk9yNlR5QkFYbndSdDBxMGp4SWtPclQrdApzNHM5TXFsWjB0LzRLLzZoZTQzMlpFenp3ZkUxeHFER2hTU0dBT3FwOUJCQ3pIeFRFKytybU0wRlRZUSt1VWgxClZETlEzSjhzVlRvckdyZklSL0V2M0g2UllzcE9QRjFzdzFFSjFzaGJPUWJHOEc2czBVN0c4aHYxTk4yWitwTEYKMXo2ZWZ4c2ZmbmRDVGo4UDIrT0ZyYWU4STI2NWhVZGlpSndBVEkvSjhjN0t3VW9YRTI3VlRKU2FLeU5OM1g3KwpmUnNTTGVDMlpneUtLNmxqQzFFU0hTa24xVkJNUjV5OVFOcHlMdDF6RFBHZFdOMGhWT1MvclZUTTduNmpuZTRYCit1cDA4bm9reVZMMk9pOVBONnJBMmkvbW52Z1NqdTFBSU1udjFrUzhMVzNuaTJRUGtISzlxQ3RlVGt5TUhRSmIKOTYyT0p2K0hMaGJDU0o0N1pTRkhxcFN2VGxObUswMkxVVm85NFAwbThjcERnUVNNWG1SSW5nZHJQaW52VCt2MgpGU05DN3prUHZEa1FXRjUrMUk4akxpdmE4YVJ4cllPQ2xmbUhLZ0pCa0k0YUhLS0EwdUt3aFFJREFRQUJvNElDCkpUQ0NBaUV3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJUdTNjVU0rdHF0N3Z3dlNKeWl3M0pOekl6cQpLekFmQmdOVkhTTUVHREFXZ0JUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRNdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZYSmxZMmx3WlM1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdQpCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dmNqRXpMbU11YkdWdVkzSXViM0puTHpZd0xtTnliRENDCkFRUUdDaXNHQVFRQjFua0NCQUlFZ2ZVRWdmSUE4QUIyQUVtY20ybmVIWHpzL0RiZXpZZGtwcmhicndxSGdCblIKVlZMNzZlc3AzZmpEQUFBQm1xaEVHWklBQUFRREFFY3dSUUloQU41RGNRYmlLb1dyVEh2akw3S0lPdUVKREpjbAo3bjRFTTF5RTE3eWRTTTBiQWlBalZ2Z28rMXB3aWx1bU5ERzR1SnN2L1JsT3VOejhEcW5Ib2pMWWs3eWx4d0IyCkFNczQ5eFdKZklTaFJGOWJ3ZDM3eVc3eW1sbk5Sd3BwQllXd3l4VERGRmpuQUFBQm1xaEVHYUlBQUFRREFFY3cKUlFJaEFKQjN3UjY3Y3E0Y0R1b2psMWxPN21COFpnajRBTmF6ZlQvNVE5dURGMUhqQWlBdXZ0aGRzUWlMa3NMNQo0NmlRUlFvUmFnUEs5ZnQyK3RYTFRrRmlrczRTcGpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQVV1b2NHVDh3CktyMklRemVidWtUMldZK0dtOCsveDhjOEJ4Q1F0a0ZRbzlPQXEwU0ZWSHpCNHcwbGl2OGNuTGU5OTF4bG13b1gKa1lOWnNNbWw2NWFBNi90bW1tM3RqWlVwdi9pMkd3M2RUNU1VZFBJWGtkU3c5UzBkdnNlR2EwbVlBeCtkSTdEUwpJZEg1ZE83cUt3ZG04Y1JTSlhTVlBleE5INE1oNWdyVHpKTEl5OENiNC8xRDVaMk4zUDVSVU1uenZSOThKY25ICitQSTlpazVPbGpRME1kNldsRWFaWFFucGx6M3Y2aVVxYzVUUGI0ckluU3hsaHMyWldhZnBVbThiRm5zbUZ0cnAKWUV4YjhHZUs5bkZld0w5U3prT1RzeFdOdkd4NDIyckljU1g4RG1rbVlYVytrcUh6b21DbFlncjZsb0JBVWNGWApvZnM1ZXd1bWU2ZEF1dz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQlRDQ0F1MmdBd0lCQWdJUVdnRHlFdGpVdElEemtrRlg2aW1EQlRBTkJna3Foa2lHOXcwQkFRc0ZBREJQCk1Rc3dDUVlEVlFRR0V3SlZVekVwTUNjR0ExVUVDaE1nU1c1MFpYSnVaWFFnVTJWamRYSnBkSGtnVW1WelpXRnkKWTJnZ1IzSnZkWEF4RlRBVEJnTlZCQU1UREVsVFVrY2dVbTl2ZENCWU1UQWVGdzB5TkRBek1UTXdNREF3TURCYQpGdzB5TnpBek1USXlNelU1TlRsYU1ETXhDekFKQmdOVkJBWVRBbFZUTVJZd0ZBWURWUVFLRXcxTVpYUW5jeUJGCmJtTnllWEIwTVF3d0NnWURWUVFERXdOU01UTXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUsKQW9JQkFRQ2xaM0NOMEZhQlpCVVhZYzI1QnRTdEdaQ01KbEEzbUJaamtsVGIyY3lFQlpQczArd0lHNkJnVVVOSQpmU3ZIU0phZXRDM2FuY2duTzFlaG42dncxZzdVRGpES2I1dXgwZGFrblRJK1dFNDFiMFZZYUhFWC9EN1lYWUtnCkw3SlJiTEFhWGJoWnpqVmx5SXVocnhBMy8rT2NYY0pKRnpUL2pDdUxqZkM4Y1N5VERCMEZ4THJIemFySlhuelIKeVFIM25BUDIvQXBkOU5wNzV0dDJRbkRyOUUwaTJnQjNiOWJKWHhmOTJuVXVwVmNNOXVwY3R1QnpwV2pQb1hUaQpkWUorRUovQjlhTHJBZWs0c1FwRXpOUENpZlZKTllJS05MTWM2WWpDUjA2Q0RnbzI4RWRQaXZFcEJIWGF6ZUdhClhQOWVuWmlWdXBwRDBFcWlGd1VCQkREVE1yT1BBZ01CQUFHamdmZ3dnZlV3RGdZRFZSMFBBUUgvQkFRREFnR0cKTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQ0JnZ3JCZ0VGQlFjREFUQVNCZ05WSFJNQkFmOEVDREFHQVFILwpBZ0VBTUIwR0ExVWREZ1FXQkJUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QWZCZ05WSFNNRUdEQVdnQlI1CnRGbm1lN2JsNUFGemdBaUl5QnBZOXVtYmJqQXlCZ2dyQmdFRkJRY0JBUVFtTUNRd0lnWUlLd1lCQlFVSE1BS0cKRm1oMGRIQTZMeTk0TVM1cExteGxibU55TG05eVp5OHdFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3SndZRApWUjBmQkNBd0hqQWNvQnFnR0lZV2FIUjBjRG92TDNneExtTXViR1Z1WTNJdWIzSm5MekFOQmdrcWhraUc5dzBCCkFRc0ZBQU9DQWdFQVVUZFlVcUVpbXpXN1Rick95cExxQ2ZMN1ZPd1lmL1E3OU9INWNITENaZWdnZlFoRGNvbmwKazdLZ2g4YjB2aSsvWHVXdTdDTjhuL1VQZWcxdm8zRyt0YVhpcnJ5dHRoUWluQUhHd2MvVWRiT3lnSmE5enVCYwpWeXFvSDNDWFRYREluVCs4YStjM2FFVk1KMlN0K3BTbjRlZCtXa0RwOGlqc2lqdkV5RndFNDdodWxXMEx0empnCjlmT1Y1UG1yZy96eFdiUnVMK2swREJESEVKZW5uQ3NBZW43YzM1UG14N2pwbUovSHRnUmhjbnoweWpTQnZ5SXcKNkwxUUl1cGtDdjJTQk9EVC94REQzZ2ZRUXlLdjZyb1Y0RzJFaGZFeUFzV3Btb2p4akNVQ0dpeWc5N0Z2RHRtLwpOSzJMU2M5bHliS3hCNzNJMitQMkczQ2FXcHZ2cEFpSENWdTMwalc4R0N4S2RmaHNYdG5JeTJpbXNrUXFWWjJtCjBQbXhvYmIyOFR1Y3I3eEJLN0N0d3ZQcmI3OW9zN3UyWFAzTzVmOWIvSDY2R055UnJnbFJYbHJZakkxb0dZTC8KZjRJMW4vU2d1c2RhNld2QTZDMTkwa3hqVTE1WTEybUhVNCtCeHlSOWN4MmhoR1M5ZkFqTVpLSnNzMjhxeHZ6NgpBeHU0Q2FEbVJOWnBLL3BRclhGMTd5WENYa21FV2d2U09FWnk2WjlwY2JMSVZFR2NrVi9pVmVxMEFPbzJwa2c5CnA0UVJJeTB0SzJkaVJFTkxTRjJLeXNGd2JZNkIyNkJGZUZzM3Yxc1lWUmhGVzluTGtPclFWcG9yQ1MwS3labWYKd1ZEODlxU1RsbmN0TGNabklhdmpLc0tVdTFuQTFpVTB5WU1kWWVwS1I3bFdibndoZHgzZXdvaz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdEakNDQlBhZ0F3SUJBZ0lTQmMwMmdLQXBhOGdSbWNQbWs0b2FWUzg4TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRJeE1UWXhNVFEyV2hjTk1qWXdOREl4TVRZeE1UUTFXakFnTVI0d0hBWURWUVFECkV4VnlaV05wY0dVdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUUMwTTljdzJCZStDa0s0M3pDZVc1T0FoS2tST1NQSEF5QTl5MGNyaklkbzBhS1EzTnFobnpHWgpISVh0d3E1dkpMWm51TEx3RG5MNEorRHZyY2tsUkRUQ2dqZVB0dXdnVGRLOENSOWd3cGE1SWlHbXZKa0tIYk03ClNjVFByK0djZExuV1dzWm5CWmFRcDR5N1RIZk9oMFJDWTlIMFEzL1g1TkY0WlBIN0swZ2tZVjllMVJWYXR4b3cKZXBmZGtJUCtYaUNxS3RUcjNHR0lrUkJkOHRVaEEwZ1Q3RExadVhLRk9yNlR5QkFYbndSdDBxMGp4SWtPclQrdApzNHM5TXFsWjB0LzRLLzZoZTQzMlpFenp3ZkUxeHFER2hTU0dBT3FwOUJCQ3pIeFRFKytybU0wRlRZUSt1VWgxClZETlEzSjhzVlRvckdyZklSL0V2M0g2UllzcE9QRjFzdzFFSjFzaGJPUWJHOEc2czBVN0c4aHYxTk4yWitwTEYKMXo2ZWZ4c2ZmbmRDVGo4UDIrT0ZyYWU4STI2NWhVZGlpSndBVEkvSjhjN0t3VW9YRTI3VlRKU2FLeU5OM1g3KwpmUnNTTGVDMlpneUtLNmxqQzFFU0hTa24xVkJNUjV5OVFOcHlMdDF6RFBHZFdOMGhWT1MvclZUTTduNmpuZTRYCit1cDA4bm9reVZMMk9pOVBONnJBMmkvbW52Z1NqdTFBSU1udjFrUzhMVzNuaTJRUGtISzlxQ3RlVGt5TUhRSmIKOTYyT0p2K0hMaGJDU0o0N1pTRkhxcFN2VGxObUswMkxVVm85NFAwbThjcERnUVNNWG1SSW5nZHJQaW52VCt2MgpGU05DN3prUHZEa1FXRjUrMUk4akxpdmE4YVJ4cllPQ2xmbUhLZ0pCa0k0YUhLS0EwdUt3aFFJREFRQUJvNElDCkxUQ0NBaWt3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJUdTNjVU0rdHF0N3Z3dlNKeWl3M0pOekl6cQpLekFmQmdOVkhTTUVHREFXZ0JUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRNdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZYSmxZMmx3WlM1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdQpCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dmNqRXpMbU11YkdWdVkzSXViM0puTHpZeExtTnliRENDCkFRd0dDaXNHQVFRQjFua0NCQUlFZ2YwRWdmb0ErQUIzQU5GdXFhVm9CMzVtTmFBL042WGR2QU9sUEVFU0ZOU0kKR1BYcE1iTWp5NVVFQUFBQm0rR0pGcFFBQUFRREFFZ3dSZ0loQUtjeU9BZTg5Wi9OcWRIQlUrdG5xSUthdE1Oego0dEw3YndPbjhpVkNpM1l6QWlFQXMvL1Q3QW0rTitacnM5TU9QRDY3bnc1SElzbklzTmNlVTZDaEtXK1JYRzRBCmZRQWFpNTFwU2xlWXlKbWd5b2k5OUkvQXRGWmd6TU5nRFI5eDlHbi94OUdzb3dBQUFadmhpUmVrQUFnQUFBVUEKT29uZzlBUURBRVl3UkFJZ1NIM1VKRVBLdExod1ZrVzRGQW1UYnJEQVhpMmN4YUpFUUFPWEkrV3Z4UjBDSUZaTgpIb21XK0pYM0FZeC96a3dtTDNzLzcyb0hmbEFrb2FidUNyNGluRzlxTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCCkFRQXM3aWgydVB1ekJOUjU5SDcyc3FWaXFrQzFTN2NXQjR2TnVFTFBBSUVkeXE3NTFsTWMzVW83UWkyYzNVMFUKTkFoamYvV2RWN0FDR2FQWWZqYzkzNk5HKzFpT3d0ZjA4SlhNRURqcEQwZnM2aEliVDFtOVd0ay8wTU9Ua0FPawp3YjZTbFVqWklHUlAxTHJEcDJLSTNYVnRSUE9xci9FYSsvamxIdUc0TE9iV04zRExPL2crUTFLYjR5ZGREZkMvCnlUa215SmR4Y280aUJDZ1NUeldNeUN2RmI5SnR4VFlicTZ5NndCY1VDckNiVENaVGowZE9DK2dGYnIrWWZ1YmUKdTNNb1FDSVFQandiN3dXWnR0QksyN3FXeVNlK0I2VUZZTTdPU2NYcGh0bXgraDlPME9DQ0tCMEMvTGRvYTBhQgphWG14UHJaUm1IWThuOGo0UGlLak1NbG8KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBdERQWE1OZ1h2Z3BDdU44d25sdVRnSVNwRVRranh3TWdQY3RISzR5SGFOR2lrTnphCm9aOHhtUnlGN2NLdWJ5UzJaN2l5OEE1eStDZmc3NjNKSlVRMHdvSTNqN2JzSUUzU3ZBa2ZZTUtXdVNJaHByeVoKQ2gyek8wbkV6Ni9obkhTNTFsckdad1dXa0tlTXUweDN6b2RFUW1QUjlFTi8xK1RSZUdUeCt5dElKR0ZmWHRVVgpXcmNhTUhxWDNaQ0QvbDRncWlyVTY5eGhpSkVRWGZMVklRTklFK3d5MmJseWhUcStrOGdRRjU4RWJkS3RJOFNKCkRxMC9yYk9MUFRLcFdkTGYrQ3Yrb1h1TjltUk04OEh4TmNhZ3hvVWtoZ0RxcWZRUVFzeDhVeFB2cTVqTkJVMkUKUHJsSWRWUXpVTnlmTEZVNkt4cTN5RWZ4TDl4K2tXTEtUanhkYk1OUkNkYklXemtHeHZCdXJORk94dkliOVRUZAptZnFTeGRjK25uOGJIMzUzUWs0L0Q5dmpoYTJudkNOdXVZVkhZb2ljQUV5UHlmSE95c0ZLRnhOdTFVeVVtaXNqClRkMSsvbjBiRWkzZ3RtWU1paXVwWXd0UkVoMHBKOVZRVEVlY3ZVRGFjaTdkY3d6eG5WamRJVlRrdjYxVXpPNSsKbzUzdUYvcnFkUEo2Sk1sUzlqb3ZUemVxd05vdjVwNzRFbzd0UUNESjc5WkV2QzF0NTR0a0Q1Qnl2YWdyWGs1TQpqQjBDVy9ldGppYi9oeTRXd2tpZU8yVWhSNnFVcjA1VFppdE5pMUZhUGVEOUp2SEtRNEVFakY1a1NKNEhhejRwCjcwL3I5aFVqUXU4NUQ3dzVFRmhlZnRTUEl5NHIydkdrY2EyRGdwWDVoeW9DUVpDT0doeWlnTkxpc0lVQ0F3RUEKQVFLQ0FnQjFFaXplbGJVdkNKbDZZNzNCVTd0TFJtUlVSU3dDTWZ5elNLb3ZGN2d0Rit5bWNtVXpsU255ei80TwpqbWttMmRJTEpvcFJ2UUZpU1A0d21GWFNlVEpSbjZtYkczcmlMYzBYemxGdFdsM3pYc0pBQWN6bkxvNXZtU2hjCnlXWW9jQWovd3ErYzVKdUIxT2h3RW1qUGF6K2taaGRUdXJxR3R5aURNQW1wWk9BVWlwSWNHUkVyZzBObmRXM08KU3dJRnNuOUVMbGx2OWhnRFVrTXcxZjh5MkYvdVdZaGJ2TWd5MkF4U0ZDcW9QZTN4cjJvK2o0Ti9Ybnk5UzZUTgpHR20vYW1tSllJT253NDVpSVoyQXkySDZ6dFZLdzlzTGwvTGNnU3hEU1hnSHZTNzY2MlZlNlpKZDhaK3FZZzZJCm5SeG4vK0t2ZUVjbnZkMXFlN1JhbmJUVENSS2o3RkRFdVE4UzY0ZnpLakhxWjRzMTVwZVZSWUovcEtpYnUyMmIKekNvRWh4TDYrSHR6cDVWWFRBRDA5WjFoS3lZOWdCWnI4TVNBeGw0Q1lPTGxqTUM1U2wzUmUrenA2dW12VXc1WApIdWhRL2lJWVFRZUtXejRvZkw0R3ZLSWU3UExFZk41bXBCRXNDODJHVmZVdkIxMXJPWnNzNktIWkY1Y1NBcXpRCndnY2U3SDhoMWJYWVNHVUFJQStaWTU3WTZhRWFFYTV1SlhlVW8vRmpXdVZ0NndIL3Y1c3BJUGtuVkFtWHZlK1YKSnBYcHRQVlMyQ2RhamEzRVdsOXhEbUZ6Nmw5L21ZVWgwY096aDk2WEdYeHNmVWZEV0hlTGZDa1hWNFpXTm4wZwp6Q0JBbUhJQVJCK2RCejhxSFZLbWZlZWJlTnZtaWx5cjVTM0tVQTluQXlSRGt0OWg0UUtDQVFFQTJmWGVNbzRECmwzUEp2ZnJQTG41Sk9rRXZSTDZ1TFIyUjYwSzNUZXM4UjJ0em82ckJobXVjVE5wdDVGWkhNMU5Idmh1bnBUNnIKZU8zdDQwRFZyYWhJZ1gzNFROU216bnhBSjRRUlJOZHF1bUtYVzFkVlZ1eVhTNWZOWncydzI0eUtXdWhLenNlMgpEd1NqNVY4a0FNWk81OWJBVWhzbmN0TXFTUU1QOWJ2cnlJTHYvcWlnbU5GR0JlWXUvR2R0Umxac2hRVmFqVHpjCkR6bi9FR0RyM3o3bnJsSlI0aUQvRWsyZktpTVlGZmtDYVhodWxBQS9hV2xOckdwTk9FVmdUdjNFU2xuSmt2VzQKWHBjM01KTWl4N0dkRmZhL1liNFNaWjRIY2gvbTV2UHhiSnVJQ2FRbmpQTkQvb25VcndoZHY4S2N4WFRhT0owMwp5cWtPTllzbzlSZlN5UUtDQVFFQTA2Y0I4M0NJeVcwOHoxVjB6WXhzNVdFZFJWMEJ0S1h1MFlDV3JhVExDQm80CkpLblJnVnhWRjZtcHVDSkNyMUpBcXkwTmx6Zm5vQzJpTld3U0ROZE9rdktoS1JKc3lRT1Zka1ZDdmJ5WHprMVkKZG03UFJVL2RNcTVJZmJVZTArN3p6RHlPbnhxL0FCR2FRWldLaURRa2dFS3U5QVkwNTJ1REltLzdIaU5SeFlKMwpJZnIzYnAxTlhnb0N2K01oT2FSRVF6UnMyMSs3UUZrdHZRVXcyM1FxbjgyYnFyR2ViMnNLdmRQdzYvTi90OXdHCkdQcVdNR3hxWVZQQ2NKRGhUNUpGZDRxNWtLSkdDTXpCWERtQjBrVUZGUkw1ZGowNFRDK2hUQnE4SXdJRTRSNFkKcTVCUHkzb1NsMWNicmd5RENoaEc1aU53Q3JjOWJ6cjBZTVJwbzQ5eDNRS0NBUUE0TzJLVUVHZUV6MjZoQVBBcQp3cElKNFg5Y2NRVm14bFk3Si84NnJ4SGlLeXF1Y3dOeXRwaWdpMG9HdXV1cnBqVEFLMHBaSzQzNXFRalN0SXRzClBocFdyalU5UFMrNzNmcC9OMmR0SjFaMXQ3SHM4dDhsaWV5T3FCOXFFdklwOGx4UGo5YWMrcEZSMXBTaVBLV0IKUGFobHo5WFdXUU1ZY0xwY0U5b3VQOGxZOWM4TkdGdzJrT2RMNWxNQTgzNFJ3NEpEMzFtNVRwWkhwMkxTeXU2UApyaDcvcm1WSnZkR1EyMDNSQlRUVmxtUzA2VWsrRGNKT1k4aVNUdXFWTmZEZThFR1FIUklRUkN6STJxSjJlYjlqClhjTjFReStrKy9Dckh0WTA3MTRXLzZDdHNJS3NXaG1LRjhqWEJxQkVlQmdYdlJITkw1U05QcUtDT3BOYjVRY3cKRkhGaEFvSUJBUUN5OWNXcWgzN0Jna0ltdFlVN3YvN2J2TSs1TkxrYWZDdUFyWSs2WjFyZEVQNWowY3M1N0U1dQo0YUNGOTBJWGFCOFNIZGdlQXNFeEtTUzhzeEpZRlQxMDl2N1o4YUJXSDFlalYxRGxpYTk2V3QvdjFDWWgzek9UCmhOWDZwTWphUG5PYVA2SUFXZWNpTWNBU3NGVWdjYVpqWlA3MWlzSDA0MjFRRXd0c0lrVWtFZnFWbXRUWWpOMDgKSkk3S25Vd2NwdzZwSEl6bXVQMWxuWUlWRDJ5T1FwMC8zZVEvNGt1cXZnR3BIS25iZUZxSHBkenFCZ2cwRFpldApqOXNhdndZajkvUVE3aFdWZkFCbnRHblNoeldFQzZRT2U2cS9GV2lpMHFzNTVHa3IyS3N6aGZVcUs2MnN5UjByCkpoWmJobXpPZmxTRWgzWlhPVFVTOWZCb1dldFF4eHRwQW9JQkFITWhQdkVRYjlNZzFoMWR2YUIxZnorNlVZZWkKOXNNYS9IbkFKWnZyWG9ITWt4UXI5NWt3NXgwUWVibFl2Si8zRHJTWXlYZ0hPTExCZThZRFVmQ0RNL2hyTExQcApaaFFONDFNTTJQQUpJY08rU0VPQUxIeE5UWHlxMXVlbXhaMUJQRW1NWExkZVlrSWtwSDBxaEdZOEZ5YTMxOEJBCjdicnNEUUxkVyt2MGNqcEYxVlltcjVCVlN4VXlIRTc4L2NaQzdSK3FuOEVSZm9QZlVGRm44T2Z5OGpkVC8rQ2IKOXRSU3doa1RUNjZlMjRKQzJMTjArYWNXZWROMGdSYjBoSVV3TlVlLzl3YTR6T2Q3b0ZIVzVpSmNsUDVMWkdHbgo1eng2Mis5SzZjR3ZjZnpBYlF0bmVVZTlQaFF2clpvbUdyMlc0QUIzQ3hFRUFjZVBrMjdhanhudkRiOD0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -491,7 +491,7 @@ "domain": { "main": "jdownloader.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdFVENDQlBtZ0F3SUJBZ0lTQllkQ1RCTFNGNnJ6Z0hkOXhrS2toVEpHTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05NalV4TVRJeE1qQXhOVEl6V2hjTk1qWXdNakU1TWpBeE5USXlXakFsTVNNd0lRWURWUVFECkV4cHFaRzkzYm14dllXUmxjaTVoZEdoaGJHbGhjSEJ6TG5oNWVqQ0NBaUl3RFFZSktvWklodmNOQVFFQkJRQUQKZ2dJUEFEQ0NBZ29DZ2dJQkFMUjBieWZ2aVNQKzdpbEM0SXZTYll4a0hWWjhpUHhwbG5JU05pOHhoTnNzYmlqQQpVaEI0em9DeGZYMDdoRGlEbnV1TFFhakFUdnczSlc1MDR0REZSNmQ3cVFPM0lIKy9nRU51Z3BwaVJkRStrUWRHCkhCRG5YT2ZCckZacHVRUWhEd0pVMmV5WmxzTExlQXRUQTV4NUdYSXVialFMTjg1UTUxaGh5K1k5c2VnaEk3RWIKZTJSTUhPem9FQ09pem5PaXNPK3ptMFBTaVk4eWQ3RnlCZllTQ1dLZENuaStCbnFGdFErejRId1BQVGZxcEhDYwpPdlRsalFObTBWSW5LSkxXVUxhRXFVeTV2YlpQTWJIbHczSHI0cE45Q1E3bGtYWHpSaE16T2RrcHErb2d6bnIyCm42bzNQVk9UdDVpSG9ZQlpWY2ZWc0kxazhXTFBvV2pyOGVSUEMwSGMyOVJzNDRNZU90QzZMMjUzUkJIV2dLSm8KRGxZNHBBNGcxN3RrbXNXa2pMMnVIcnBlM2VQSmo4K0ZIcDVoSzJqdHhEbm1IdFJSVm4xSDVINkNQUXgydUN2OApvNWgrTEVoVU8xb3lpa05OUGFBWEYrRFl0T1VvZzhHM01HdENabmVaQVc0ZythMm5WelNCQ01QaDZXZGdTUXROCno4NHVxSEw4MWlTQk1PMzhLSTA2WmhsS3N2RGhkaytOanNOY1p0S3J6cC8yVWMzRlJWRTJ6a2ZhaCtWeUlJdm0KK1ZlS21Zam5BTjBKNGoxcTdta0FNWWZTZEhBWEE5WStaZUpnc0JxVEtKSU82MXcrYVkycjNaTlY4bWRud1I2ZQpzZVpicjVONTAxa1JWd3lGTW5yRlBZRFRZL2JTcm1qYllzcURQYWFpV2h1SjdLMVZYSTR5QldpclVWNXpBZ01CCkFBR2pnZ0lyTUlJQ0p6QU9CZ05WSFE4QkFmOEVCQU1DQmFBd0hRWURWUjBsQkJZd0ZBWUlLd1lCQlFVSEF3RUcKQ0NzR0FRVUZCd01DTUF3R0ExVWRFd0VCL3dRQ01BQXdIUVlEVlIwT0JCWUVGRlZkUm5PRm1uK2ZmQlk3NUk1TgpCeC9WNXpCL01COEdBMVVkSXdRWU1CYUFGQUMxS2ZJdGptOHg2SnRNclhnKyt0enBETkhTTURNR0NDc0dBUVVGCkJ3RUJCQ2N3SlRBakJnZ3JCZ0VGQlFjd0FvWVhhSFIwY0RvdkwzSXhNaTVwTG14bGJtTnlMbTl5Wnk4d0pRWUQKVlIwUkJCNHdISUlhYW1SdmQyNXNiMkZrWlhJdVlYUm9ZV3hwWVhCd2N5NTRlWG93RXdZRFZSMGdCQXd3Q2pBSQpCZ1puZ1F3QkFnRXdMZ1lEVlIwZkJDY3dKVEFqb0NHZ0g0WWRhSFIwY0RvdkwzSXhNaTVqTG14bGJtTnlMbTl5Clp5ODNNUzVqY213d2dnRUZCZ29yQmdFRUFkWjVBZ1FDQklIMkJJSHpBUEVBZHdCa0VjUnNwQkxzcDRrY29nSXUKQUx5clR5Z0gxQjQxSjZ2cS90VUR5WDNOOEFBQUFacW9SRFlMQUFBRUF3QklNRVlDSVFDOWt1U0NXVjFpMlhzeQpFMEV5alJrMUM0eHJaQUZIaDVYTk5YVFNCK05DUEFJaEFMdEFmVmhqSE5hMUYxTWJORmkrL0FvVU5uMWFtS2lMCk5YWTM4Z2pJWFFMNEFIWUFHWWJVeHlpcWIvNjZBMjk0S2swQmthck9MWEl4RDY3T1hYQkJMU1ZNeDlRQUFBR2EKcUVRMkZRQUFCQU1BUnpCRkFpRUF5azIxRUdvdU1MV0N6bExmRjBkZm1Gc1FoUmdDU09pQ0RqVTl1R1FOcExRQwpJQ2xDSjNEM1l5K0RjQ2JpSlpzTnJ2QmpWeWNndkhDNXVtdGI2VStlTnhBTE1BMEdDU3FHU0liM0RRRUJDd1VBCkE0SUJBUUNwaWZqU2NEbUNLd1VTc1BWOXZnS1B6MDA3bHFPZ2dlYVZSbEhXOGZodnJwNnBWbmFUMGlBWHBNMk8KT0FndU52ZWM1Z1dWbmFDS01hamRGT0w0aUdyaFB0Z1dTVnVxSzlWazBwMEROWDhLcUEzKzBkMHlTdVhFM01USQpWMVh3a1NxeTJzR09TaXYyKzdUMkNqR1NZRStYc1FEMlJMRmx4a1FzODRLZ3VrT1A3V0ZhelhoTnkrVUVhWnVzCnE2RWJ5R252cFY0UW85TUQ0MTc1eGp5REwxall2Ly9Qc0p3bHEvOXMrR2ZWdVcvVVBmTVNyQVcxb2ZjeDZoNUoKMTNtUkxzRndlM282NU5Oamd0QXM4aE9VbnFFMW83ZGxZblp5eG96aEtUYnBaa0F0d3g1TTlJWlZSL0pCa25YUgpJakxUdk5IMUNYd1diOGtRd0hOU29qZDdxUW1ICi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdFRENDQlBpZ0F3SUJBZ0lTQmE0SVE4WlZIVDBhTnJxVHJud1o2cnRUTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRJeE1UWXhNVFUxV2hjTk1qWXdOREl4TVRZeE1UVTBXakFsTVNNd0lRWURWUVFECkV4cHFaRzkzYm14dllXUmxjaTVoZEdoaGJHbGhjSEJ6TG5oNWVqQ0NBaUl3RFFZSktvWklodmNOQVFFQkJRQUQKZ2dJUEFEQ0NBZ29DZ2dJQkFMUjBieWZ2aVNQKzdpbEM0SXZTYll4a0hWWjhpUHhwbG5JU05pOHhoTnNzYmlqQQpVaEI0em9DeGZYMDdoRGlEbnV1TFFhakFUdnczSlc1MDR0REZSNmQ3cVFPM0lIKy9nRU51Z3BwaVJkRStrUWRHCkhCRG5YT2ZCckZacHVRUWhEd0pVMmV5WmxzTExlQXRUQTV4NUdYSXVialFMTjg1UTUxaGh5K1k5c2VnaEk3RWIKZTJSTUhPem9FQ09pem5PaXNPK3ptMFBTaVk4eWQ3RnlCZllTQ1dLZENuaStCbnFGdFErejRId1BQVGZxcEhDYwpPdlRsalFObTBWSW5LSkxXVUxhRXFVeTV2YlpQTWJIbHczSHI0cE45Q1E3bGtYWHpSaE16T2RrcHErb2d6bnIyCm42bzNQVk9UdDVpSG9ZQlpWY2ZWc0kxazhXTFBvV2pyOGVSUEMwSGMyOVJzNDRNZU90QzZMMjUzUkJIV2dLSm8KRGxZNHBBNGcxN3RrbXNXa2pMMnVIcnBlM2VQSmo4K0ZIcDVoSzJqdHhEbm1IdFJSVm4xSDVINkNQUXgydUN2OApvNWgrTEVoVU8xb3lpa05OUGFBWEYrRFl0T1VvZzhHM01HdENabmVaQVc0ZythMm5WelNCQ01QaDZXZGdTUXROCno4NHVxSEw4MWlTQk1PMzhLSTA2WmhsS3N2RGhkaytOanNOY1p0S3J6cC8yVWMzRlJWRTJ6a2ZhaCtWeUlJdm0KK1ZlS21Zam5BTjBKNGoxcTdta0FNWWZTZEhBWEE5WStaZUpnc0JxVEtKSU82MXcrYVkycjNaTlY4bWRud1I2ZQpzZVpicjVONTAxa1JWd3lGTW5yRlBZRFRZL2JTcm1qYllzcURQYWFpV2h1SjdLMVZYSTR5QldpclVWNXpBZ01CCkFBR2pnZ0lxTUlJQ0pqQU9CZ05WSFE4QkFmOEVCQU1DQmFBd0hRWURWUjBsQkJZd0ZBWUlLd1lCQlFVSEF3RUcKQ0NzR0FRVUZCd01DTUF3R0ExVWRFd0VCL3dRQ01BQXdIUVlEVlIwT0JCWUVGRlZkUm5PRm1uK2ZmQlk3NUk1TgpCeC9WNXpCL01COEdBMVVkSXdRWU1CYUFGQUMxS2ZJdGptOHg2SnRNclhnKyt0enBETkhTTURNR0NDc0dBUVVGCkJ3RUJCQ2N3SlRBakJnZ3JCZ0VGQlFjd0FvWVhhSFIwY0RvdkwzSXhNaTVwTG14bGJtTnlMbTl5Wnk4d0pRWUQKVlIwUkJCNHdISUlhYW1SdmQyNXNiMkZrWlhJdVlYUm9ZV3hwWVhCd2N5NTRlWG93RXdZRFZSMGdCQXd3Q2pBSQpCZ1puZ1F3QkFnRXdMZ1lEVlIwZkJDY3dKVEFqb0NHZ0g0WWRhSFIwY0RvdkwzSXhNaTVqTG14bGJtTnlMbTl5Clp5ODROQzVqY213d2dnRUVCZ29yQmdFRUFkWjVBZ1FDQklIMUJJSHlBUEFBZGdBV2d5MnI4S2tsRHcvd09xVkYKLzhpL3lDUFFoMHYyQkNrbitPY2ZNeFAxK2dBQUFadmhpVHBZQUFBRUF3QkhNRVVDSUM5eUtjb0psLy84NUVEMApIK2E0T3NidzQ0QVpSVFgzK0xGVXpmcWRmb0lNQWlFQTlLcGFRSWNtSlNuQkRqSVBuejV4cGllVkI2NDBna1JoClJVWkZMMmtCVktZQWRnQ1dsMlMvVlZpWHJmZERoMmczQ0VKMzZmQTYxZmFrOHpadVJxUS9EOHFweGdBQUFadmgKaVRxRUFBQUVBd0JITUVVQ0lCOC9qZTlwUnlzR2V1TU1jZzhzelA2QkU2cTVkMXZ5YVJNaWRqVWpjWFhRQWlFQQo4QWZCUEJRK2JsNGRPSVhDd0wzRzcvUTN4Zm9zUTNSM3NHakhPd09GU2hzd0RRWUpLb1pJaHZjTkFRRUxCUUFECmdnRUJBREw1bkpCblNjQ0F3VDNUYnVIdFV0Q20vK2EvT21GbElOTmtzVGlNL1g5ckRMSDQ4QkpwMlQ1bkQxd0oKRXFETUtlOG81bStUc2tNSnJhME43RXJDWU5EM0JydFNvemdMTWI2MFAyV1JpY0NyM2JvcnVtcUh6ZE9SQjF2Uwp0dm13WE5FdUR4YW14aXFnSy9QOTNpOE43S2dRK2RWdmg0MGtHbzYzV2xpQmw2YjJGYmNCeEpNTlBRSzM2VmlBCjdzVDZEWkUxRHE3anNxOWxpb1VERDVsZG9KWDVZWGN4VStwU0Nna1pud0d4MVZ4M3JkTTU1RktlTUN5UFdDMXMKUjNnY3dvTDRJdHpBdjdodDNnSk43M2NPdStrZEM4WHJiUjN1UkhOVUZ2VW9jazNxQTdxWjdWcHdVdHYyTk8rawpnM2F0bEdocy9tWHpsY3E5UXl4YlZRQjd1RFU9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBdEhSdkorK0pJLzd1S1VMZ2k5SnRqR1FkVm55SS9HbVdjaEkyTHpHRTJ5eHVLTUJTCkVIak9nTEY5ZlR1RU9JT2U2NHRCcU1CTy9EY2xiblRpME1WSHAzdXBBN2NnZjcrQVEyNkNtbUpGMFQ2UkIwWWMKRU9kYzU4R3NWbW01QkNFUEFsVFo3Sm1Xd3N0NEMxTURuSGtaY2k1dU5BczN6bERuV0dITDVqMng2Q0Vqc1J0NwpaRXdjN09nUUk2TE9jNkt3NzdPYlE5S0pqekozc1hJRjloSUpZcDBLZUw0R2VvVzFEN1BnZkE4OU4rcWtjSnc2CjlPV05BMmJSVWljb2t0WlF0b1NwVExtOXRrOHhzZVhEY2V2aWszMEpEdVdSZGZOR0V6TTUyU21yNmlET2V2YWYKcWpjOVU1TzNtSWVoZ0ZsVng5V3dqV1R4WXMraGFPdng1RThMUWR6YjFHempneDQ2MExvdmJuZEVFZGFBb21nTwpWamlrRGlEWHUyU2F4YVNNdmE0ZXVsN2Q0OG1QejRVZW5tRXJhTzNFT2VZZTFGRldmVWZrZm9JOURIYTRLL3lqCm1INHNTRlE3V2pLS1EwMDlvQmNYNE5pMDVTaUR3YmN3YTBKbWQ1a0JiaUQ1cmFkWE5JRUl3K0hwWjJCSkMwM1AKemk2b2N2eldKSUV3N2Z3b2pUcG1HVXF5OE9GMlQ0Mk93MXhtMHF2T24vWlJ6Y1ZGVVRiT1I5cUg1WElnaStiNQpWNHFaaU9jQTNRbmlQV3J1YVFBeGg5SjBjQmNEMWo1bDRtQ3dHcE1va2c3clhENXBqYXZkazFYeVoyZkJIcDZ4CjVsdXZrM25UV1JGWERJVXllc1U5Z05Oajl0S3VhTnRpeW9NOXBxSmFHNG5zclZWY2pqSUZhS3RSWG5NQ0F3RUEKQVFLQ0FnRUFvU0kyLzFvTkEyOW9Dc0FFOGRWOHJKZlkrcGxKV05xUDFGd2V0aFZwcEt3UDBhT3BvN3U3Nlg2VApwM2Uxb1NFbWp2MVNLL1ZNa2pwTDJrM1ZHc2FPTFNkbXpFS0JhcEQ5WHprV3RmUjZrMVZpK3pQSGEvQ3NMT1hyCmxWM2lMNlcxV1VlYk1JSVU5T3ZxelhIYkQ2V3k2eG82blk1R3pwdS9lRlFiVmdSUkVBNUhhS1k1a0YzR2xtVEIKeEpCaitTMlZBUFZIOTAvUU5XWERLMWU5cXZTQUhPWk5xM05ESmJTdThNNlY3VEZPWU5mTTdpRVRKQXExMkF1LwpiYlE1cnFSZ2Zob0hjdE9JYTNwYnpaWjA1d3pTelJBaFBvUVBWMXRiZjFtR2xqdDNueUNjUDRCcElmMGhiYmZCCmdSbmJSRmlCR0dmZnR1SWtDUytOMmJxVnpHQW9rNjVaSFVsZDlwZTRhQkdJZEdJRmUzOTdHVWRKNFhpcTJ5ckgKWnZ3SXVKM3BCQWJ0Rnc2UHVVZVFXMXg3ZnRJUnJtSzlXMExBa1AvMU1ha2pFR1h1dWo4RWZvWFFZZFR6Y0FwRApNL3FYODBRYktiSGVvdW5SaFZHMmV1S05lZThKcTlGOWFmK3NHM2IySGxvZ2c1TTZTWTIwS2ppVWRsY1Jsb2wxCjJYRy8rWGh2cEZWWXowREs1VFRqcTRUbzAvdWttRXRDUXBMRWlPdHNhOHpacEt1Y2VtUmtqODJnR2p2cWJuaEgKbHFFeUNRNWtIeWI5ZWNjbStIaUVNQjAzbzR0Z0ZRcTIrYVVtVEJOamQ0OWJOM0hZL1dtQ3QyNElIaEEwalVVNgoxLzE5dWJ3R1FRcElVdEdhaTNSbnBVMVZxSmo3ckh1Ry9CZVpreHZBSTArcmhDUjNEOEVDZ2dFQkFPZFFtTW1UCnhkaTZqNkZjQklROHpoeG9xeEg0bWNFTlZnOUxhYnFrYk5PNXEzTEZqdEdnYmhxZHVzdUNHUHNOY0o3dVlhU2QKMVg5akxuNWE1YmwyVk9QVXNhYTVDTlVOZVh3WjhCYnFQVnkwT0hEQ24yNC8wUVdERC9KNFNjTzFJNUNtOTJZawpTK0paTUdhSm42N2E1MW9jcEVBaFlhTFo0SXg4bEZKKy9oeC9ZNERGRUtkVkgyQ2g1eG1DZTZyVUZMTFIxdWdjCmFXR1BKWVpOUGdjM0lyNGt0V055YmsrNzNEbExWMTMwbHhpTWFvNkRkSHZ1WnpxT1ZNTUNCa2pDQ0kwbGl0TTAKaHB2M2pockR4Ri9oNnMzWTMzZkhaOURSelcxbGF5bFRFQUlYMGFieEFOZHArdGo5eW01NzBtVFYzUzlydjNxZgpQazhjMzA5RXhQODNFUjhDZ2dFQkFNZTJYaXN3WWZESFZWRUhMdFJMRUZTS0tCeHVoT3FhaEZHbWp3aHJXdXZuCm14R1hyczdVT2NXNG80WmhwSE9XcTlJeU5hQlQ4RGxvZ1JXclhKN3NsU1dpZi82MXBkd3hPcmE2eHZhbXlYS2cKTzNaSUFZS1Y2TU1HaE1zV1NYbnEyYUxBdmxoM1p3RnNwdWdTVCtUUVNrM3RLZituU2hnUzAyb0lBaXNEbzlNRgpyRTkvTlBqSW92NWt4R01GUnQ2Qm5JMHYwZU04bGRjQWdiMlJwN1VBMzBHbmpEM1FjSUpYOFRDanlKM2JWaTJDClBJeWtZTXpYLzQzb0F3aC9WQ2RRQmlXOGRNRW9Dd2d1cjk0QzJ4NHJLRWlUR0l3cHdBMzhyOGh1T0xGS2VRNnIKcWcrWUkrWmNNcE1aODNyMU9NeGp4ZnpmV1FWeGtzU0N6NG5VME5GbEpDMENnZ0VBQXRMWkNwempMV0labnI2Zwp6M3h1aDZvL2JGaThoNzdCN2kzZGZJbkZTbEJaNTJ6QjhZMGp5dTloK0ZuK05CSlY3WnE3Vm1jVzFCZEIyZ2tDCkJPR001N3NROEJnU0k0ZW1rLzA5RVFxSzlUYTkrYUptajlIM216bWVXRGRmcnlQbTZ6MGVpQUNwYkhucVBWWXcKdk5HdlFVcFlOdkF4WU91SDhpOFRJRzZzYTJ5aXFrKzloRTFsdEtoRlNlcHQyQWYrdUxBWEQzNUpTd2VVVGE5agpzbkxaMmJoWS9uM0hHdklRSGlMdFRoaE9QOTUyN29ac1JaY0RhNU9STlZBeEEzSmE2RjRzODZjUWZaYm9CU3VlCm1nMEg4THRVL3dGUUl4eHNoWWxYWlltK0NFaUNKcWVLZXhhd0dUWC80cGxnV0JyRU9HLzRSbWJyTzh2K2JkbEoKRGxSOXdRS0NBUUVBdllENzdFbDF0ZzYva3lxWXNoTWtSTVB2K2NLWlZ6QVZ2SkNxaXBlcjU4dVdabVFqR05saQpsSTUyaEs0a2FSWWdwa3pFZkFVS0hyOWVOWnlzUDVWSWxUU1Q5YktSMXRYVDI4NXh1MXhhTE8yRVh1RkdwWTN3CkZ4Y1piTWdTSXFESnNOanFCWElQaU5kN3JSeXJPUGk0ZVNkQlFmaVFvelZCN1F2NldxeVNpRXVLek1odEVHRDUKNFNEbkJQcmQyNGJyY1VGZURSelJKZm15SXBxU28zdFhYYXBKdGVJUzBHdjRUbW9ybERhcm1IVkxWVDBwS1ZjUQpoS3dTTEw3OXNHd0wyVVR4R05RUlc4dEpVQVl2dTNuQ09OTnphSlM1Uzh4cFZHdmFXY2pNQkRLNkpSLzllTG9sCnQxWFpwdVFINkZJSWJjSFZiQWZ2OTQ0VXRybjlCNlRNWlFLQ0FRRUFvSmx4eG9QT0UzRXJDSDArZ013cm5mRFIKV2ExVjEweWdnVDBIL0dLZVBiYlpzTitxY21YQWhuWFN0YmE3NXI0emdDaGlGMmkvL3Z1VGhDYUtHelUySXpVRgpPYm5Rb1lMbVh2ZzJxcENNdG5CR2RqYWhycjNTaHVKSm9LSHBVVnNGUmk3THA2aW8zUmlWRU1PTVJOeEFBZDRwCnI5UXdtVHkxVnV6UENQaStSTWl4Zk5SaXlUODBBaFVndWNBTmIra0UrWUoxYUJxODlsVTZESHBoUm9JbStLM0oKY05sa2ovQlJlSDFaVHlPQVdBOHpwNDc5Zk9wblF3WXI5TkNEbzNiNHZjUkFwZnE0ejRQcXR5dWMxTjFjZyt3bAo2VDJ2RSt4d01WdzM0WFF1Mlk4YS9udXpyQURhbFUvV0dtNVQrTkZ5YnBjcE5scTNqN2dUQWFXem1Ub0lYZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==", "Store": "default" }, @@ -499,7 +499,7 @@ "domain": { "main": "gotify.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCekNDQk8rZ0F3SUJBZ0lTQnBLOGVsZld4T2czQWx4NFM0Z3kwNFVJTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJek1UY3hPRFU0V2hjTk1qWXdNakl4TVRjeE9EVTNXakFnTVI0d0hBWURWUVFECkV4Vm5iM1JwWm5rdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUUN3T293TXdrVUxwYWV3SGhCZVlCRGlZaFhSV0pia1JZWXNQaUozVDV2NVlEUlpFSWxGSU8yMgptWlZGQXhBZlBBdFBhRm13UVFlaVI4TG5CRk56dVJEbnR2azRFdDg4Q0kzOXYyUHlrd09MeXZRREV2L1BhOU5JCnUzYjhBTjFVTTFiREhnL1c2R2o3S1BDa2prLzZTd0J4czJyVFZoRC9KTEttWHVsVVRlTmVGWjVtRXVBbS9ScEoKZkUrek9CMWZWQkRpRXJIa1ZKbDdQcU1LQk5xV1NXeDV5bmRFNmtPeFVWOU9LMTNuamZCRlgxNmc1eXpOb2Z1Vgo3ZTRMaUIwNHdsRlBET3B1S2hiTmtiaUh1WW5VZGl6dStTSTZrY1NWbEE0Y1dyNjUwTzFYZXZ4Si9TanhjZ2tNCkJOV1M5aUpLSVIxL3Z2bmV0cmVhUXhkR3RLdVJjdE5NTlp3YnYyL0ZWZExwajV4OG5XOWdJdEVhek1rQUl5bTYKWE1aOHVLMUozdTh6a3owK1dNdno3bHhQRzRQUlpGSWdERTFnTVFGOTMrdFV3bjBmUVdsNUpwY2ZBZTVWb0pFVgpPNkM1ZXc5ajRmZE8vTjFDUkN2V0doS04zdEhuQmJ3bXZrNEZuRjhBUVg3VDdIaDlocGljdW9hVnFVeE04UkhNCkhoVnl3RFlRYXlhT2tESFFuM0lLTVF4dUNaUnVEdlU3aHBqTXdIaHg3QlRxSnV0dEFSaDdTNXdHVGhrUVduUUYKa2NXa0d5dHZYaGI3VTRtSWtaUU5IejR1YnQxTFhBekNDUFZwbFlURHJ2cTNHdGFlaGFNaUFkSXcrVStTaTBFWApZMXpJUkdLaXlrTXFZakxhWUxKLzFyb0wwbjVNS2o0NlUxS1AzbmZWUDBmNnkyOXdrUm1rYVFJREFRQUJvNElDCkpqQ0NBaUl3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJTK0FVNmxZbzRZeTVWTjczTXhGeERRdEZ5WAowekFmQmdOVkhTTUVHREFXZ0JUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRNdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZXZHZkR2xtZVM1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdApCZ05WSFI4RUpqQWtNQ0tnSUtBZWhoeG9kSFJ3T2k4dmNqRXpMbU11YkdWdVkzSXViM0puTHprdVkzSnNNSUlCCkJnWUtLd1lCQkFIV2VRSUVBZ1NCOXdTQjlBRHlBSGNBR1liVXh5aXFiLzY2QTI5NEtrMEJrYXJPTFhJeEQ2N08KWFhCQkxTVk14OVFBQUFHYXNlOW9TQUFBQkFNQVNEQkdBaUVBNnRycVhJcHEwMnllTWlHTjNuWDdnNCs0c3llQwpuRG1Lekt0SWNiUTZQSUVDSVFDTXNoRFE0eFJ2b2xRaC92YVNtbm41dWIyQmNiS1lnWGV6TjdTLzZtRVMrd0IzCkFKYVhaTDlWV0pldDkwT0hhRGNJUW5mcDhEclY5cVR6Tm01R3BEOFB5cW5HQUFBQm1ySHZhSlFBQUFRREFFZ3cKUmdJaEFNZlNDcXQxUTh1WnlLQmdBSVRhUkowVnlTTzNDaHdwZCtick5GTjFaa1NpQWlFQWlEREt5aEVsbDc1WQp3STdxUEZrS1VwOVQzTGNWanlPTVFkV1EzbVlGOGhVd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFHVzFadW9YCnRCaS9lLzNrejVVMWlHL3BSNmlDa2FLZENtd0EyMEV1N21GOFpSbWZ0OFBQWk5kMVhqRStrUVNhSUV2S1d0cSsKajZXdjZmMWV4SmJKN0lnOGdXeDE1akJqUFRWTER6Nzg0aUd6NFBwQ1dlT0d3N3FsUk1Fa2djNEpRT3kvbExWOQo2QThwb09aRm14ckpJcFllUUprWFRvNkp2ZGpTeU9DVmJoZklLMmtmYSt5d0szUFVtZE42YXJjYjJNa2swK1lpCnl3UlBBM0d6VnB4dWpESlRaVXJRbEQxaVJwSWwyMWRnd3RubWhXVUMyS3dSRWt0Rlg2TXY1QTZNYWh6THV4bXcKUCttKy92ZlRtQlJzdFJvTENWWFozSkp3ZmJXaUFNd0R2SlA2Z2FvaVJScDFya3czUmlIU2grZHN1bDFNOXV2VworcFBPeXdCc1d4cUxrMjA9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQlRDQ0F1MmdBd0lCQWdJUVdnRHlFdGpVdElEemtrRlg2aW1EQlRBTkJna3Foa2lHOXcwQkFRc0ZBREJQCk1Rc3dDUVlEVlFRR0V3SlZVekVwTUNjR0ExVUVDaE1nU1c1MFpYSnVaWFFnVTJWamRYSnBkSGtnVW1WelpXRnkKWTJnZ1IzSnZkWEF4RlRBVEJnTlZCQU1UREVsVFVrY2dVbTl2ZENCWU1UQWVGdzB5TkRBek1UTXdNREF3TURCYQpGdzB5TnpBek1USXlNelU1TlRsYU1ETXhDekFKQmdOVkJBWVRBbFZUTVJZd0ZBWURWUVFLRXcxTVpYUW5jeUJGCmJtTnllWEIwTVF3d0NnWURWUVFERXdOU01UTXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUsKQW9JQkFRQ2xaM0NOMEZhQlpCVVhZYzI1QnRTdEdaQ01KbEEzbUJaamtsVGIyY3lFQlpQczArd0lHNkJnVVVOSQpmU3ZIU0phZXRDM2FuY2duTzFlaG42dncxZzdVRGpES2I1dXgwZGFrblRJK1dFNDFiMFZZYUhFWC9EN1lYWUtnCkw3SlJiTEFhWGJoWnpqVmx5SXVocnhBMy8rT2NYY0pKRnpUL2pDdUxqZkM4Y1N5VERCMEZ4THJIemFySlhuelIKeVFIM25BUDIvQXBkOU5wNzV0dDJRbkRyOUUwaTJnQjNiOWJKWHhmOTJuVXVwVmNNOXVwY3R1QnpwV2pQb1hUaQpkWUorRUovQjlhTHJBZWs0c1FwRXpOUENpZlZKTllJS05MTWM2WWpDUjA2Q0RnbzI4RWRQaXZFcEJIWGF6ZUdhClhQOWVuWmlWdXBwRDBFcWlGd1VCQkREVE1yT1BBZ01CQUFHamdmZ3dnZlV3RGdZRFZSMFBBUUgvQkFRREFnR0cKTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQ0JnZ3JCZ0VGQlFjREFUQVNCZ05WSFJNQkFmOEVDREFHQVFILwpBZ0VBTUIwR0ExVWREZ1FXQkJUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QWZCZ05WSFNNRUdEQVdnQlI1CnRGbm1lN2JsNUFGemdBaUl5QnBZOXVtYmJqQXlCZ2dyQmdFRkJRY0JBUVFtTUNRd0lnWUlLd1lCQlFVSE1BS0cKRm1oMGRIQTZMeTk0TVM1cExteGxibU55TG05eVp5OHdFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3SndZRApWUjBmQkNBd0hqQWNvQnFnR0lZV2FIUjBjRG92TDNneExtTXViR1Z1WTNJdWIzSm5MekFOQmdrcWhraUc5dzBCCkFRc0ZBQU9DQWdFQVVUZFlVcUVpbXpXN1Rick95cExxQ2ZMN1ZPd1lmL1E3OU9INWNITENaZWdnZlFoRGNvbmwKazdLZ2g4YjB2aSsvWHVXdTdDTjhuL1VQZWcxdm8zRyt0YVhpcnJ5dHRoUWluQUhHd2MvVWRiT3lnSmE5enVCYwpWeXFvSDNDWFRYREluVCs4YStjM2FFVk1KMlN0K3BTbjRlZCtXa0RwOGlqc2lqdkV5RndFNDdodWxXMEx0empnCjlmT1Y1UG1yZy96eFdiUnVMK2swREJESEVKZW5uQ3NBZW43YzM1UG14N2pwbUovSHRnUmhjbnoweWpTQnZ5SXcKNkwxUUl1cGtDdjJTQk9EVC94REQzZ2ZRUXlLdjZyb1Y0RzJFaGZFeUFzV3Btb2p4akNVQ0dpeWc5N0Z2RHRtLwpOSzJMU2M5bHliS3hCNzNJMitQMkczQ2FXcHZ2cEFpSENWdTMwalc4R0N4S2RmaHNYdG5JeTJpbXNrUXFWWjJtCjBQbXhvYmIyOFR1Y3I3eEJLN0N0d3ZQcmI3OW9zN3UyWFAzTzVmOWIvSDY2R055UnJnbFJYbHJZakkxb0dZTC8KZjRJMW4vU2d1c2RhNld2QTZDMTkwa3hqVTE1WTEybUhVNCtCeHlSOWN4MmhoR1M5ZkFqTVpLSnNzMjhxeHZ6NgpBeHU0Q2FEbVJOWnBLL3BRclhGMTd5WENYa21FV2d2U09FWnk2WjlwY2JMSVZFR2NrVi9pVmVxMEFPbzJwa2c5CnA0UVJJeTB0SzJkaVJFTkxTRjJLeXNGd2JZNkIyNkJGZUZzM3Yxc1lWUmhGVzluTGtPclFWcG9yQ1MwS3labWYKd1ZEODlxU1RsbmN0TGNabklhdmpLc0tVdTFuQTFpVTB5WU1kWWVwS1I3bFdibndoZHgzZXdvaz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCekNDQk8rZ0F3SUJBZ0lTQmhqY29RMngxM1Y4ZXJOSGg3VEwraGV3TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRJek1UWXdORFEzV2hjTk1qWXdOREl6TVRZd05EUTJXakFnTVI0d0hBWURWUVFECkV4Vm5iM1JwWm5rdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUUN3T293TXdrVUxwYWV3SGhCZVlCRGlZaFhSV0pia1JZWXNQaUozVDV2NVlEUlpFSWxGSU8yMgptWlZGQXhBZlBBdFBhRm13UVFlaVI4TG5CRk56dVJEbnR2azRFdDg4Q0kzOXYyUHlrd09MeXZRREV2L1BhOU5JCnUzYjhBTjFVTTFiREhnL1c2R2o3S1BDa2prLzZTd0J4czJyVFZoRC9KTEttWHVsVVRlTmVGWjVtRXVBbS9ScEoKZkUrek9CMWZWQkRpRXJIa1ZKbDdQcU1LQk5xV1NXeDV5bmRFNmtPeFVWOU9LMTNuamZCRlgxNmc1eXpOb2Z1Vgo3ZTRMaUIwNHdsRlBET3B1S2hiTmtiaUh1WW5VZGl6dStTSTZrY1NWbEE0Y1dyNjUwTzFYZXZ4Si9TanhjZ2tNCkJOV1M5aUpLSVIxL3Z2bmV0cmVhUXhkR3RLdVJjdE5NTlp3YnYyL0ZWZExwajV4OG5XOWdJdEVhek1rQUl5bTYKWE1aOHVLMUozdTh6a3owK1dNdno3bHhQRzRQUlpGSWdERTFnTVFGOTMrdFV3bjBmUVdsNUpwY2ZBZTVWb0pFVgpPNkM1ZXc5ajRmZE8vTjFDUkN2V0doS04zdEhuQmJ3bXZrNEZuRjhBUVg3VDdIaDlocGljdW9hVnFVeE04UkhNCkhoVnl3RFlRYXlhT2tESFFuM0lLTVF4dUNaUnVEdlU3aHBqTXdIaHg3QlRxSnV0dEFSaDdTNXdHVGhrUVduUUYKa2NXa0d5dHZYaGI3VTRtSWtaUU5IejR1YnQxTFhBekNDUFZwbFlURHJ2cTNHdGFlaGFNaUFkSXcrVStTaTBFWApZMXpJUkdLaXlrTXFZakxhWUxKLzFyb0wwbjVNS2o0NlUxS1AzbmZWUDBmNnkyOXdrUm1rYVFJREFRQUJvNElDCkpqQ0NBaUl3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJTK0FVNmxZbzRZeTVWTjczTXhGeERRdEZ5WAowekFmQmdOVkhTTUVHREFXZ0JUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRNdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZXZHZkR2xtZVM1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdQpCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dmNqRXpMbU11YkdWdVkzSXViM0puTHpRNUxtTnliRENDCkFRVUdDaXNHQVFRQjFua0NCQUlFZ2ZZRWdmTUE4UUIzQUdRUnhHeWtFdXluaVJ5aUFpNEF2S3RQS0FmVUhqVW4KcStyKzFRUEpmYzN3QUFBQm0rdlBhL2dBQUFRREFFZ3dSZ0loQUk1T3Z2YUVkTndTMzFlbjFHYkJ3TjRPSXdLeApXTlZpVTNmZUVmcGxCUEtFQWlFQXZLcGl5cmoreFQzUzJ3WnpGdGgvN3ZDaXYzbjJDcllnd3dZMjB6U0VjQ0VBCmRnQ1dsMlMvVlZpWHJmZERoMmczQ0VKMzZmQTYxZmFrOHpadVJxUS9EOHFweGdBQUFadnJ6MnhOQUFBRUF3QkgKTUVVQ0lIRysrd0Z2VlYzTjc3Q210RTJKOTBJeWpiS2RaYytDNFNBS2xrUWdId2pOQWlFQTdIcGZSOUx3VDM0cQpFNk9wZWVHZzZ4YmErWmtVdytCYzQzamd1eXh0ZzFVd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFINHNlSXJwCnc3cFlzakM1dVlwSktyQU5Ld0tHWGk2ZDJMUFQ3ODV5L3lGWXRLMDMzTnc4S2swS0c4eWMyTlMzcGxnVGlSRHoKOUx4YmF0TThFdmdYRWhWcmZWY01mMEhiOEhXSENZRTJPTFl1VXRBMTR1Q004aUcySlQ1cjV5YURwK3ZIY2llYgpNanBqcytWckdXYVFqWUJqM2ZrOHJSVHVtcE1uWWNXRUJ4ZWp4OTRkSGV1MnpON2ErMDNEeDlEVUJLRTh2YnpECmlMbG05SEVzUlZvZVdnak1vcmcvMDIyTDBhMDFuYVhHQ2RkWElNNWNyTGtPZkthamU5bzQ4SzFhaWNJb0wyOHgKOGJmdVV0bU04OTBkZDBQbXN2MmhJc05hTm9Tc3Vrb1BadVRZb2RheG9ZS00rSGM0RTU4L1E1K1RsTlhjNGNLOQpYbW9RMUVaZTNGOGtpWDA9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQlRDQ0F1MmdBd0lCQWdJUVdnRHlFdGpVdElEemtrRlg2aW1EQlRBTkJna3Foa2lHOXcwQkFRc0ZBREJQCk1Rc3dDUVlEVlFRR0V3SlZVekVwTUNjR0ExVUVDaE1nU1c1MFpYSnVaWFFnVTJWamRYSnBkSGtnVW1WelpXRnkKWTJnZ1IzSnZkWEF4RlRBVEJnTlZCQU1UREVsVFVrY2dVbTl2ZENCWU1UQWVGdzB5TkRBek1UTXdNREF3TURCYQpGdzB5TnpBek1USXlNelU1TlRsYU1ETXhDekFKQmdOVkJBWVRBbFZUTVJZd0ZBWURWUVFLRXcxTVpYUW5jeUJGCmJtTnllWEIwTVF3d0NnWURWUVFERXdOU01UTXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUsKQW9JQkFRQ2xaM0NOMEZhQlpCVVhZYzI1QnRTdEdaQ01KbEEzbUJaamtsVGIyY3lFQlpQczArd0lHNkJnVVVOSQpmU3ZIU0phZXRDM2FuY2duTzFlaG42dncxZzdVRGpES2I1dXgwZGFrblRJK1dFNDFiMFZZYUhFWC9EN1lYWUtnCkw3SlJiTEFhWGJoWnpqVmx5SXVocnhBMy8rT2NYY0pKRnpUL2pDdUxqZkM4Y1N5VERCMEZ4THJIemFySlhuelIKeVFIM25BUDIvQXBkOU5wNzV0dDJRbkRyOUUwaTJnQjNiOWJKWHhmOTJuVXVwVmNNOXVwY3R1QnpwV2pQb1hUaQpkWUorRUovQjlhTHJBZWs0c1FwRXpOUENpZlZKTllJS05MTWM2WWpDUjA2Q0RnbzI4RWRQaXZFcEJIWGF6ZUdhClhQOWVuWmlWdXBwRDBFcWlGd1VCQkREVE1yT1BBZ01CQUFHamdmZ3dnZlV3RGdZRFZSMFBBUUgvQkFRREFnR0cKTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQ0JnZ3JCZ0VGQlFjREFUQVNCZ05WSFJNQkFmOEVDREFHQVFILwpBZ0VBTUIwR0ExVWREZ1FXQkJUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QWZCZ05WSFNNRUdEQVdnQlI1CnRGbm1lN2JsNUFGemdBaUl5QnBZOXVtYmJqQXlCZ2dyQmdFRkJRY0JBUVFtTUNRd0lnWUlLd1lCQlFVSE1BS0cKRm1oMGRIQTZMeTk0TVM1cExteGxibU55TG05eVp5OHdFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3SndZRApWUjBmQkNBd0hqQWNvQnFnR0lZV2FIUjBjRG92TDNneExtTXViR1Z1WTNJdWIzSm5MekFOQmdrcWhraUc5dzBCCkFRc0ZBQU9DQWdFQVVUZFlVcUVpbXpXN1Rick95cExxQ2ZMN1ZPd1lmL1E3OU9INWNITENaZWdnZlFoRGNvbmwKazdLZ2g4YjB2aSsvWHVXdTdDTjhuL1VQZWcxdm8zRyt0YVhpcnJ5dHRoUWluQUhHd2MvVWRiT3lnSmE5enVCYwpWeXFvSDNDWFRYREluVCs4YStjM2FFVk1KMlN0K3BTbjRlZCtXa0RwOGlqc2lqdkV5RndFNDdodWxXMEx0empnCjlmT1Y1UG1yZy96eFdiUnVMK2swREJESEVKZW5uQ3NBZW43YzM1UG14N2pwbUovSHRnUmhjbnoweWpTQnZ5SXcKNkwxUUl1cGtDdjJTQk9EVC94REQzZ2ZRUXlLdjZyb1Y0RzJFaGZFeUFzV3Btb2p4akNVQ0dpeWc5N0Z2RHRtLwpOSzJMU2M5bHliS3hCNzNJMitQMkczQ2FXcHZ2cEFpSENWdTMwalc4R0N4S2RmaHNYdG5JeTJpbXNrUXFWWjJtCjBQbXhvYmIyOFR1Y3I3eEJLN0N0d3ZQcmI3OW9zN3UyWFAzTzVmOWIvSDY2R055UnJnbFJYbHJZakkxb0dZTC8KZjRJMW4vU2d1c2RhNld2QTZDMTkwa3hqVTE1WTEybUhVNCtCeHlSOWN4MmhoR1M5ZkFqTVpLSnNzMjhxeHZ6NgpBeHU0Q2FEbVJOWnBLL3BRclhGMTd5WENYa21FV2d2U09FWnk2WjlwY2JMSVZFR2NrVi9pVmVxMEFPbzJwa2c5CnA0UVJJeTB0SzJkaVJFTkxTRjJLeXNGd2JZNkIyNkJGZUZzM3Yxc1lWUmhGVzluTGtPclFWcG9yQ1MwS3labWYKd1ZEODlxU1RsbmN0TGNabklhdmpLc0tVdTFuQTFpVTB5WU1kWWVwS1I3bFdibndoZHgzZXdvaz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBc0RxTURNSkZDNlduc0I0UVhtQVE0bUlWMFZpVzVFV0dMRDRpZDArYitXQTBXUkNKClJTRHR0cG1WUlFNUUh6d0xUMmhac0VFSG9rZkM1d1JUYzdrUTU3YjVPQkxmUEFpTi9iOWo4cE1EaThyMEF4TC8KejJ2VFNMdDIvQURkVkROV3d4NFAxdWhvK3lqd3BJNVAra3NBY2JOcTAxWVEveVN5cGw3cFZFM2pYaFdlWmhMZwpKdjBhU1h4UHN6Z2RYMVFRNGhLeDVGU1plejZqQ2dUYWxrbHNlY3AzUk9wRHNWRmZUaXRkNTQzd1JWOWVvT2NzCnphSDdsZTN1QzRnZE9NSlJUd3pxYmlvV3paRzRoN21KMUhZczd2a2lPcEhFbFpRT0hGcSt1ZER0VjNyOFNmMG8KOFhJSkRBVFZrdllpU2lFZGY3NzUzcmEzbWtNWFJyU3JrWExUVERXY0c3OXZ4VlhTNlkrY2ZKMXZZQ0xSR3N6SgpBQ01wdWx6R2ZMaXRTZDd2TTVNOVBsakw4KzVjVHh1RDBXUlNJQXhOWURFQmZkL3JWTUo5SDBGcGVTYVhId0h1ClZhQ1JGVHVndVhzUFkrSDNUdnpkUWtRcjFob1NqZDdSNXdXOEpyNU9CWnhmQUVGKzAreDRmWWFZbkxxR2xhbE0KVFBFUnpCNFZjc0EyRUdzbWpwQXgwSjl5Q2pFTWJnbVViZzcxTzRhWXpNQjRjZXdVNmlicmJRRVllMHVjQms0WgpFRnAwQlpIRnBCc3JiMTRXKzFPSmlKR1VEUjgrTG03ZFMxd013Z2oxYVpXRXc2NzZ0eHJXbm9XaklnSFNNUGxQCmtvdEJGMk5jeUVSaW9zcERLbUl5Mm1DeWY5YTZDOUorVENvK09sTlNqOTUzMVQ5SCtzdHZjSkVacEdrQ0F3RUEKQVFLQ0FnQUVpMTMxTGtWTmlaWUxhcHNOYy9pN2ZjQUdSL3lNSW1iVldUeldTczFBM3dRNmo3eWFkY0RyaG9aYwo0emxWTk4wdHpRa1RESG8vNnczUm0wRHpxUUFRbVoxUG50ejIxVm1rQTMxMlVlZ3pnS1pPTmYwMndoY090eGJZClpNVlFXSXFTT1lJN0RuODJpdFc1eUptellKL0FUdG9nWFFYUExva1UxVG03SE04U0xBaUxwVXoyZEd4ckhMT0oKY1pjQVVGQ25JOGhHbFEvb0o3TlluTXR1T0xKOWFZVXQxOFNyRytnVFFmY0g4NWNRa3VjRHl6SlNreXpEcndFRwpkeG9aenBqK0t0MFl2aWtjWC9lY09HS2ZnZlNpclBYL0FLZExIQ2hJL3VZUU1KME9Obk92RE1Jemg3ZElBZy9uCjNFVUNHRnlFWU01Y3VlVitLdUM4eUFmc2xrTndsck9uMFdCWWF3Zjl6SU9yRXdvQTRnWWRLcHRUVGVRMjFsaXQKYnZXaGtvSzVPakhaRFlqUWtIUnRzM2lrWk9zMFZQL0dVbXVmSDFXS1NxSmVIVkQ0OE9YR3lIaE9neVlVRUFsTwpOQm9KMnhjYzNuUFJqYkRwTzVKa042ZDBUQWhOWjNNcmR6OStmWE1kSWRKRi82SERmNElBK0FnS25GNEpxWk5QCnRpZGRueDkzYUJ2b2NEYW1CVE1BcDFuTmlGdzcxd1hONjVJbW90TUVsR0pkTERmbW96T2ZvdlhDZVJTMWZTU0gKeGptVzdoaE9zQit5N1Q1NE91VDlDZlpxeFcwdmpORDRzbGNNWmtMeDRTOEZpRFU0ZzBhRWRScVRmQkx5dGVyMApUWm8yS1VkR2wwSVREaTJNNHFtNGJiam9NdmUwUWtqRHpCSE8vU3ZvWUx1TXZJZGJhUUtDQVFFQTJ2VkxLcUEzCmJtbkhocE1zZGp1UVFrUG1vUkZsYlpOUEVmaTYzbUZUazJ1QWh2TnM0c1c3dUE0a20yTXlmdXdkUUVsbnhxTFYKNEIxNHFLVnZpM0s4L3hBTW0rR0FRU040Ym9mdnRnNmVvcS9FeFFzN21ldFIrYmNuVVNzdHA5b3YzejNKTzlDVgpvM2hNYXhZNkMySlZaN3gzMnlvU3QxNHUwanVvZEJ1b2xmck44Y3BubG4xZXVMSytSUFAvS2M0OFVJVXR3aHRYCm9GazNlWWcrR29UeHZGcFBSNFhwRmtLMTVVSUpMMDFobHp6M0llWi9lWDBKb0JGZ0JlZUZ4bmZpRlpUVEpsT0gKVU5QOTFITTNFbFFGOE8yWWRnejVXUm1RVHlCWWdYVThxNWVhL3ZuR2J6TnRpdk1paU15QWt4bXhTKzVwMmI4SwpuYWh0TDJxOENoR0JDd0tDQVFFQXpncTJYdHdCdW9MQ09VbWFSVlhCVkx5V2hleWl0SExjMFJhQUttdGpwRHlMCk9La1BxVDZPRDJCUjVubTEvTWwrclJqNk5DWVNmdkpGZ1EweVZYVlZLdzN2MHZNOGRnK0RDRVQ3MlBZc1lwUXgKMGV3VVgxblRJQnhxeWEvUisrK3V6Z0xFVjZBSEdwbjdaWm9KQms1WUdMSnAxNnppbThNUGtmMVlLYlNsUWwvSAo5RDY3SGswWktnZzJoL2MvbTk4cVdBL1h2ZEtlaW45LzN1NEJYbUtob1JkNkN1aGU0aWh3YW5kWkVKOHFtd25ECjVyOWF3QVU0QVVNOFBXcWFTUENGK01CbGRaZlRwZzFBK3g0NG04cWJpVkI5VGNocXZxbGd4bTB0NzJKZ2NOdHkKaHBGK2krbmEwb0IxcEdFNFh4d3JhcHRHVHdHazZvQWRIV1NGUVFqQTJ3S0NBUUVBd0NnamRsNHpKM0FuemQvZApWa25CdVpYemtnazlWV1BCTWNseTNmVFdMdnRhU1pUYVMwNHpCejFLUFNCYVVXOFA0THBMRzlVT0UraHBXc0FOClcza3ZpanpnZy9EcjZMNmpVNFZ6QnZoZm1mRGRvL3ZPcTY4TU96WFVpSFIzVmVheXVwMXp2RTI2OVVKKzlrQUUKWXJkQ3NvNkJOVk1BSi9LODduMnl3V3NBa2RjUTVCQzR4aVp5ZVc5TWNpRWNIdWxDbjN1eGc3Y1JPTVR6WFhJRwo1cWtqcVNRc2pWMWxDTWMwOE9UNlFJd05pSGZWZnVmVm1aMzFVNGZNR0lKdU1aWkdVS0JTaWtFbDhQYUt2ZWI3ClB0ZUVlME5ZMk1sY0R5alRMODM0UG16UCtOdE5DRlhXSXdNa01KeGVBMlpOdEVzSkFOVlVDZWVSL25pd2tidC8KR09yeHJ3S0NBUUFqWk4rekorUDhJQjR4TFIyZEw0QUlpR1RyR0oxU2xqQ3Nra3J0L29pZFcvRW1pSlF5SkpiTwp1V01ZVG13ZXdwWktNZkk1SnhraVNZZjdCVU5TUHRla2o3NVU1SWZNV0JuUVA5bHJpYzVTR05iK0VxbmxQMDd2ClF6SnM5eEVCVUVrZEJvaW43TXVMbkV2OVJocXF4S2FKaDR4N0NpM2JTQVRTdFV5QnpaQmQrSW9td09mdjZwcWEKQjlNbVJDamZJOVRvVDhCbDBWcCt2Q3hCSlcyQ3d6cTBxNDNCZGUxbXVEK25hbDBZWjk4dnh0dXFOZERuRDM1eAphUlZlRDRQMVo2djc4VUQ4bEZvOU9pV2hmYTJIeGFRMlVHZFdCMG1lK3dXdTBHNkZvc2FpWEhBdUFheFZhSlM0CmVHeTlFaDVXNkVYbENFdHBvd1NyYTlxVWhBSUlDL0xsQW9JQkFENERlb2NsT25rWXprWXdyalg1S2Y4TXQzMGcKTTVwWG8xQWJCQTlhazE1REFSRll6c0xhS2txa0tuLzdYUXR0akIxaW53dk5KTHJmd3BnU0RoczhaTGs3bUo1NgpDZHpzd2luVm84V0xzbGZuVENUT1Q3Q1pCYkIvRTJDdm5HYjdlRVBjNnVXL2FiSHFhbmtCUlhEdkgwUkY3UHdQCjdaRWJ4VWp1S3FsdEtFMFZxU0JJR1R4SnIzQ3ZBRThCejlEc2FwRWlMaE02MVdneTd5Uyt1ckhaZjNLbHpPbW8KUmFyelNFL1dJOUNvY0gzTVVzR1FldTdGOCs5WldtbnZqbUk4cUFFaDhRS3RWd0ltWDBZbHZiQ2NKQUszNVg4SAp3VWlUMUVDWjNicE1ubXk4ZnNjZzZQem5WSUMzQ1ZOQ1JickROSm1oWnhCb3NJdVhqZ2JUS0ZDUHdFQT0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -507,7 +507,7 @@ "domain": { "main": "immich.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCakNDQk82Z0F3SUJBZ0lTQmxENGY2YlIzMjZ4d3BGZjlIT0s5aGxsTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05NalV4TVRFNU1qQXdPRFF6V2hjTk1qWXdNakUzTWpBd09EUXlXakFnTVI0d0hBWURWUVFECkV4VnBiVzFwWTJndVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUURSeGJRZ0xQNytrNmdQUHpPVHdIWjdsVk5SbDk0VUNMcW10N3oybHM0dnpLdmhyRnhVOEx4SApqQU16bXRicjhtOCtHb0tuVGI0TCtsZXFSMnJjUjFIR3ozdEJsVjRxR2lMTU5iVEtMcmRGelJwQklJcUlPd0dRCmJsV1Y1Z0xrQnE3blNMUGxFWmVIams4MWorOFRIUlNTY0lNMGtoc1M1YmIyZGRFL2tQUXU5enBqcm9TZ0JUZ0YKcHkxZHZtOGQ4Q1FTZkxrYUEyWG9wTDk2bU5JWXZKanZiQlYrNFppak5jaGVHdmM0OWdNYzRUbVNVZEc3VlBFaQpyRmlHb09sRFlXYzlaenVuSUdJU1RMNjlEcHNXVmsvLzEwSkV6ZGc2Mk9OdnMweFJkRnVUd0lURjVPUTErTHBKCkEzTWF0T3NpL1gyNG1TbDhYQW01MGIvUnJ2d3hXclFRSis4YVA4SjhhMGltWVlsS1JodFhicTZtWjcrVk1UVmkKbUlCWEFpWitRYXVqcmJCWmkzVUZ4TFZoZm9iZ09EeHFWTWpndURNd0d3WVlJS1dneTFNWExXVDN6OVdRQlNRTQo1M05ZL21uWWE1NWxKdUh4cCtBK0kzcXhOamROekV6T0JFUzRTSi8wYTRqUW95dW56Z01HMkFkVSs4Skd6Z2lEClpGNlE5Z2x0L3BHdW5Ld250bEJmY25IR1BSVHBDSklxcUc4MkFFUm44UEh5VzlTdTVFb0pzb2xJRm5OdlNtMk0KeFR0NEdtY1FuczVtaGwvZVBpSlRNMGpRQ0dxRWo3N2xxTVdCRFhIcm5XM2NTRVZaTis4aEh4VGJNRXlJVXZJTQp6QWUrQlkyZndVQzhYYURIa0VPaU1RTXNyWjZWZUF1Yys2VHpRRHVHUytSV05xTzdpaW1kS3dJREFRQUJvNElDCkpUQ0NBaUV3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJSRzgyK3NpZHVFN3BQRTVnVDhlS1paSEgrSQpFekFmQmdOVkhTTUVHREFXZ0JRQXRTbnlMWTV2TWVpYlRLMTRQdnJjNlF6UjBqQXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRJdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZXbHRiV2xqYUM1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdgpCZ05WSFI4RUtEQW1NQ1NnSXFBZ2hoNW9kSFJ3T2k4dmNqRXlMbU11YkdWdVkzSXViM0puTHpFd01pNWpjbXd3CmdnRURCZ29yQmdFRUFkWjVBZ1FDQklIMEJJSHhBTzhBZGdETE9QY1ZpWHlFb1VSZlc4SGQrOGx1OHBwWnpVY0sKYVFXRnNNc1V3eFJZNXdBQUFacWQ4V0Q2QUFBRUF3QkhNRVVDSUNRQmUzQUdRVUJhMHFUcnpUZWt2dWl2WGY2Qwp2Umo5K0RPRyt2dGsrUWpmQWlFQXliL2h3Z01HVmdCV0IrSWwrR2xhYnFSODArSkFIR2xGV1JENHBPT2haVG9BCmRRQU9WNVM4ODY2cFBqTWJMSmtIcy9lUTM1dkNQWEV5SmQwaHFTV3NZY1ZPSVFBQUFacWQ4V0RUQUFBRUF3QkcKTUVRQ0lIcWt4bkFwTVhoOVR4RndCZnBlYVZYN1JIZVJRZGI1czlSQXVxNXhFaVV4QWlCZisvNmFmdzVZOTRZRwpiRHRlQ1kvK3QrQ3NoT0E0Snh1aFU0Z1ErUmZvQWpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQXdUK1N3eEpOCkFRSXA3ZEpkQ2NLTnY3RTc0elI5TGdHUWhlWjc0Ly9EWUtKMFZGZG9RVWMySW9HaGU0VGlDeFpFblJpTllpQWoKdEVzK010UGJqZlFmR0NEbmhKV2hvYnh2bnRtaE9mT3VIZER4Y3dRell5b2xYSStadEtHZ0FzaUhySkRaak1LbQp0YXg5S2lTaWtDOGNuQzlkVFFJd2dGSFh0dUxya3lYS3IxQkJUUmtRbFpycE9yazE2dDJhMjQwcGswK2VSTFdxCjRuU0dxNVgwcDMzdy8yTHdCUjd4MFVEYjV2VzJTNmxBbzlBeWtDLzFWekxmbTdGakFzMzBuWG9BNDdBWDh4Q1oKeGtBMHptVFhXbnQwNXJhYU9ZcUFRZ2hUdjVmWU1tQkFzeG5FWGFVWDZKYmZweW5iZU8wUWdtSHJqbVlQWThHQgpwb095d3h4aEtkdjYvZz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdEVENDQlBXZ0F3SUJBZ0lTQnJNbmIrb2Mwc1NnSktITnBVSWFBTUVHTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRFNU1UWXdORFEzV2hjTk1qWXdOREU1TVRZd05EUTJXakFnTVI0d0hBWURWUVFECkV4VnBiVzFwWTJndVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUURSeGJRZ0xQNytrNmdQUHpPVHdIWjdsVk5SbDk0VUNMcW10N3oybHM0dnpLdmhyRnhVOEx4SApqQU16bXRicjhtOCtHb0tuVGI0TCtsZXFSMnJjUjFIR3ozdEJsVjRxR2lMTU5iVEtMcmRGelJwQklJcUlPd0dRCmJsV1Y1Z0xrQnE3blNMUGxFWmVIams4MWorOFRIUlNTY0lNMGtoc1M1YmIyZGRFL2tQUXU5enBqcm9TZ0JUZ0YKcHkxZHZtOGQ4Q1FTZkxrYUEyWG9wTDk2bU5JWXZKanZiQlYrNFppak5jaGVHdmM0OWdNYzRUbVNVZEc3VlBFaQpyRmlHb09sRFlXYzlaenVuSUdJU1RMNjlEcHNXVmsvLzEwSkV6ZGc2Mk9OdnMweFJkRnVUd0lURjVPUTErTHBKCkEzTWF0T3NpL1gyNG1TbDhYQW01MGIvUnJ2d3hXclFRSis4YVA4SjhhMGltWVlsS1JodFhicTZtWjcrVk1UVmkKbUlCWEFpWitRYXVqcmJCWmkzVUZ4TFZoZm9iZ09EeHFWTWpndURNd0d3WVlJS1dneTFNWExXVDN6OVdRQlNRTQo1M05ZL21uWWE1NWxKdUh4cCtBK0kzcXhOamROekV6T0JFUzRTSi8wYTRqUW95dW56Z01HMkFkVSs4Skd6Z2lEClpGNlE5Z2x0L3BHdW5Ld250bEJmY25IR1BSVHBDSklxcUc4MkFFUm44UEh5VzlTdTVFb0pzb2xJRm5OdlNtMk0KeFR0NEdtY1FuczVtaGwvZVBpSlRNMGpRQ0dxRWo3N2xxTVdCRFhIcm5XM2NTRVZaTis4aEh4VGJNRXlJVXZJTQp6QWUrQlkyZndVQzhYYURIa0VPaU1RTXNyWjZWZUF1Yys2VHpRRHVHUytSV05xTzdpaW1kS3dJREFRQUJvNElDCkxEQ0NBaWd3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJSRzgyK3NpZHVFN3BQRTVnVDhlS1paSEgrSQpFekFmQmdOVkhTTUVHREFXZ0JUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRNdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZXbHRiV2xqYUM1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdApCZ05WSFI4RUpqQWtNQ0tnSUtBZWhoeG9kSFJ3T2k4dmNqRXpMbU11YkdWdVkzSXViM0puTHpjdVkzSnNNSUlCCkRBWUtLd1lCQkFIV2VRSUVBZ1NCL1FTQitnRDRBSDRBNHlPTjhvMmlpT0NxNEt6dytwREpoZkMydi9YU3BTZXcKQWZ3Y1JGakV0dWdBQUFHYjF6WDZFd0FJQUFBRkFDL2hidFVFQXdCSE1FVUNJUUM3OGZvVCtqU2pGYnBjeTNEQwpmV0l0bzFacEJtVHUveE9KeFpZMSs3WmJOd0lnYkErLyt4T0o1YzBPNzZ4eVUvYUJVbjlpNDE0WWJaOEtScUFZCjEzMUdRMzRBZGdETE9QY1ZpWHlFb1VSZlc4SGQrOGx1OHBwWnpVY0thUVdGc01zVXd4Ulk1d0FBQVp2WE5oa0MKQUFBRUF3QkhNRVVDSUQ5ZTBUaVJQYzZyeU9kNGhRc3Z1enlGOThZdy9YSWR5UThoWE1LNDYzUXNBaUVBdFo3bApKNWtHQjVMak9KZElwOFhJcTFmR1VXM055TWVSYXNSd2ptVzV4SGt3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCCkFKU2ljM1M5RXhyalFGbjhkc2ZZT0hiYnd2T0Y3bEpJRHNOUFVwMERnK05XUTdUU2JYTHNJNm9kc1N5Ulc3Z0QKc3BVL3AyMHpaSHRESUVMTlFHSHpnVlI0dnA5ckV0TUdYekJHSFNla0FEeTdEWTVLUmVIWUFicE1rYTdZb09HcwpnN0ZzcS85TWpEQ1FncnVtRzIvT3BXK2pibTgzZGlqc0F4RVRmOVUvWnVtMjI2aUtiVDJwdDA3S3AyZnZ5UkpUCm9XRWhHVGwzYzRFVlk4WFAwMklZcklmM3RxLzEyLzF4a0ZnMSsvbkFOWHZCbWxScjR2cVBVTTNPUUwzNytBTVAKYm03SWhZRy82MzY4V3lJc2ZmdUp6SjFVTnBVQnRDM2FlQ2p4Q0FVL2dBcGhnRHdINUw1bEhmRXRBK2xOMS9TTwpobUxTZk4rRlNHWk5tajB1V2RJTEh0TT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBMGNXMElDeisvcE9vRHo4ems4QjJlNVZUVVpmZUZBaTZwcmU4OXBiT0w4eXI0YXhjClZQQzhSNHdETTVyVzYvSnZQaHFDcDAyK0MvcFhxa2RxM0VkUnhzOTdRWlZlS2hvaXpEVzB5aTYzUmMwYVFTQ0sKaURzQmtHNVZsZVlDNUFhdTUwaXo1UkdYaDQ1UE5ZL3ZFeDBVa25DRE5KSWJFdVcyOW5YUlA1RDBMdmM2WTY2RQpvQVU0QmFjdFhiNXZIZkFrRW55NUdnTmw2S1MvZXBqU0dMeVk3MndWZnVHWW96WElYaHIzT1BZREhPRTVrbEhSCnUxVHhJcXhZaHFEcFEyRm5QV2M3cHlCaUVreSt2UTZiRmxaUC85ZENSTTNZT3RqamI3Tk1VWFJiazhDRXhlVGsKTmZpNlNRTnpHclRySXYxOXVKa3BmRndKdWRHLzBhNzhNVnEwRUNmdkdqL0NmR3RJcG1HSlNrWWJWMjZ1cG1lLwpsVEUxWXBpQVZ3SW1ma0dybzYyd1dZdDFCY1MxWVg2RzREZzhhbFRJNExnek1Cc0dHQ0Nsb010VEZ5MWs5OC9WCmtBVWtET2R6V1A1cDJHdWVaU2JoOGFmZ1BpTjZzVFkzVGN4TXpnUkV1RWlmOUd1STBLTXJwODREQnRnSFZQdkMKUnM0SWcyUmVrUFlKYmY2UnJweXNKN1pRWDNKeHhqMFU2UWlTS3Fodk5nQkVaL0R4OGx2VXJ1UktDYktKU0JaegpiMHB0ak1VN2VCcG5FSjdPWm9aZjNqNGlVek5JMEFocWhJKys1YWpGZ1ExeDY1MXQzRWhGV1RmdklSOFUyekJNCmlGTHlETXdIdmdXTm44RkF2RjJneDVCRG9qRURMSzJlbFhnTG5QdWs4MEE3aGt2a1ZqYWp1NG9wblNzQ0F3RUEKQVFLQ0FnQko0MFZxLys1aFpVa1E5Y1lKQ1FXeXlnb3E5ejgxOTAwblpCaWZFc2RWZHRZa0N6NEtmVEVVVW5EZQpRRy9yYzkxVEZxdG1tcStTTUgrb2JyZHBGNFhxYlRLUkN6ZTd4TEQxRlFXMUlYZFVrc1hvb3JtbytuKzJpK2FCCmdoOEtpb0FZM3piZVBMQVBBMFZMTElPZFMrVHZIOHBYUGc5alBKNlJlVFpYR1l1bzcxUVZ3R2JlcG5meEpjMkkKODRiWUdMbmIrU3FKeXlDZUxVbDB1VmRuZHlhM1RtN1Qza3FSVW1SZElVcHJPZHdtMC80ZlY4cDBIWnRDQjBxMwpRUDVveVdvLzZwak1hVStoK241RXdWeEhKZWZQeWRhQnZhK29LclVScHluK2x1bWF4WGorNjN5bXRoR0huanR3CjhNRFI5ay9PTWNTM0ZRUW4rNFdCS2cyU3BNdy9NT2pwYVlUbnRTZkxxTlBFMk1wcUNiT01JaWN1WXVkSm5BSHEKU1BISWYwS1lkVzVHY1VFMWRIbEx3VVhkMWg4T0pOQ3IzYWllNjRZTCtrejVNdzJRSjl4bUxwQXJ4TEVLTXBUMgphRnpnSXZLa2RjaEZYU0dDaWttek9vaEs5dDRiNjZqeTVMTFMraWpkeU40ZkIya1FpWnNMYjFHblh6TTdVOFpQClN3akJrakgyeTQwaXNxYlZrbVlWUVk2cGUwWC9EL3dxZ3dXeHlMMldqMy9sRVdMTzZYK1Z6RjBwUU1RNTB5K3YKSWF2blYzTmwrajRFajRhYzVNdVAyOWk4ZTdLRGFpTlY5N1VNc0diWjZ3bVh4Z3A2bGpWb05NYlpsSE5tQ0lqZAo2QWpneGpFVGpDV005UUhaWkRMZlJ0YkYvblg4TGNLdDlHQmJFcWxic1VuMWJJaDd3UUtDQVFFQTEraC81T1FRCnZVaVREKzFXbDJiWEE0ekI5TytqR012aWJqOExsaTltYWpENFRlZXJUTGw4aCtrOWFnTGJVcURyaUZZQ0NwVzcKWGJjZUd0SDZIZmNoTUJLMlVoS3VzMjdrK1Z6SXRuSFJIWnY4Y01kR0FiWnhlNWFFek5pRlNtTjFVZVI4ZjdNWgp6c2FibUwxQ3BIa3Ivd1paZzJrTGIxR1EyYWdHSlQxeTY1bkQ2VTQwZ1pGOTc1YlJHSjBHNWtZeDRYUTJ3MGdXCkY5Z3I2dTlMcWZ3NHBPenlHTFlwQzhLMDJUVjhnaUJGWnFHeHFxelVBK1ZDR29NMlpVSDVlUGJleUhDZmRUclUKNkFCSjI4TmQxR0NWbzRuRnY4bEkrVktGcjhRQ2tKVk1CaWlaVVBWdmx5eDhxS1VPMm9PdXpoTk0zSnpUWStFNgpCZDVidVBHOWh6bTdxUUtDQVFFQStMbUdPNmlDaStTbThPbEw4N3l0UTgvbEx3bkk2QXFjQitHc2lhOTdCTHgxClFVZEk0MlpWMmFyVEFhVVR0cE9COHhsamduMzBSYWphNE4xVHVXVDVoY1FFRUlXQk9mZGFYd21PSXgwbTcyZFYKZjdZSEduRlBtNlUxMERPUGJRR1VrQk9CMnQ4eDIyVnpuUFBVazdDMjdsaHl1aXFVZXEwL3ZTSEZJajJmcVFyawpTOG1zdytDaTNJM3o4dUFCbTZCY3lWY1BaT2czUCtPZW8yVUJGdjY0VEFxZk9zbzFvZ1JKek1jQ3VNSXcvT0V3CnZKcHUvdVQydFpRV1lpb3VVL2JzeVJuV1Zud25CRmxjMFB6cWZlMEdMSW5uVTFXZW1TS3NCTGpGUUJ0Ulk5elAKQk1MWGtVMUlnb0pkUFhUOGhRUy9zRktRTUtlcTIvK3ltVkFtSVIvMnN3S0NBUUI4Y0JnbVIvd04zQ0pHYjdnVQprc1VoMnFKL0ZRNmZZQU1sSDFrQ09sZUFwTEMzMWVvNDBqOGY1aUhyVTdJc3NXcU9yV09Iemp5ckNydGpJZHBTCkl2a1J4L2NrM25lcUd5UUZSS0M1NW1kcjlWZE5lTXkwZC81NENJeUpzOUUreW92M293VE9aTjllK2NEOEN6aTUKcXN6Y3MwQXNLUUxhS2R5ZVZlVVUyWkcra0dVRnRuazBwREk5UUdOTEdGVzlxbjlkUGFuQ2EyMndXSHNYY012ZgpNT3RFd3Z2Vm1rZVY2NlpuK2hmRXQrekg5akY3K1JoSkZuMCs0cGtiU3ljSnZOOHlEeGNZYmN2LzJ3cTJpcWN0Cm5HMGlVR21VMitJZk1KeTBiUGc5ZEk3WWpkV3ZmNFhOVDJxWm1HZ3pNT296QTVTdElnWUQ3dStPS2xZYkJka0MKY3hmaEFvSUJBQi9yMTVGeWlBYWlPdGF5YW1BR3VBbjY5WVA2OG9EdFU2Y2pUSHlETy91WW9FZlhlVUJPRXZpVApsdThnRzQ2VUVkcDhTS3dudENENGtkYklNUVdiTXZiNitEYVNtOG92dDdaNHlIZ3pOcHNGSFJEOThKMXhLM0ZqClc2dXo0bFZ3SFh2OE5PODlNKzNmY0Y0VllSUHZXeHJ0MlJPUmdXclpMMVA3c0l3N2NuRkVoNVkrZE9EU3hMUWYKdDg1VTkzL2NyZXZkTTRtVXovcHdJUjBCU29tRCtXMHc4OHljeFJOZEQ0ZXJodXJsYVZvYklLRWtCTmpMMCtucgo3bzk4c0dOd1RtVmszb0JOQU1qckd5RnJSRUVUR1hhLzRDTnUycUwyc3pNTDc2elJsTG1IVGo1akx6MWp1TW1mCko0NUtwRm9DQ1FQOUpLcEo2b0MvcVZGSjJ3cm5Ta2NDZ2dFQkFKOHZ1cjgyck56QXF1UjFPbnRJYlFTNnU1OEUKWGJYeEs1cHFDTnUrcW5MaG5yZkcveFhhejVUbGlqYWpWNUpDS004SERPZE9vaXVRSG5LR1VHK3RzWURjMVFvQQpYcGFNNzN3SnFNUU10MTZwKytWMDJ3TUpEZVpYQUlmZHpDRFAzNVVOSE9GZDF3bCtncitmaFhxN2cyUTlMaFZaCkFNRXJnNW5panA1QkwxZi9iQVg2VEt3VWpYTldySTlmSUlKOXdKaGdrQ0ZYU3oydW15TTNCTk16WGtocWdaNmEKT2N1SkhCMnJqaGN6VFExdTQ5V2MrcGR3MjNBVWJiM0o0eGlib0FuUlA2dTJMTmw1UkppOC9rRUM0V2NKcUhhRApJK2ZsaWpCYWx2YjJhMzQvenBXN3lXOEQyNDg5N1gyOWZIQnQxRzN2VTdKOXk1OU1ReVc2cExXSWZSND0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -515,7 +515,7 @@ "domain": { "main": "mylar3.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCekNDQk8rZ0F3SUJBZ0lTQm1CNWJoZWxKeElTdGZTMEdUNEkzT3FNTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRFNU1qQXdPRFE1V2hjTk1qWXdNakUzTWpBd09EUTRXakFnTVI0d0hBWURWUVFECkV4VnRlV3hoY2pNdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUURMcTJvK1BVR1lUQ090TmFTNWVtSFd1dkhoZENkRkVSZElYSCsvUDhmcWVRRnBGRFd1WERidwpmRGtLcGdRSHVhNi9odEVmcXhIVGZvbXk2UHBFa0YyaVdjNThLeXJKay81MUk3SkdCYXo1ZW5ZOWh0NFVkNWtMClpSNjFGRk1xd2RNdG9HRlpxV0hibW5mVU5EVnFhVWk4bGViS1NqOHJXVHNPV3gvS0hVclNQaytpNmxRSVN1Vi8KL1NvQnA5OGJ4S0puYXdBSG56NG85UjdsQ1JEOVVKWXpkUmZjMjAwbERYeE1FTzA2MVF5RjJkTzhobWd6SWRpcwpkcWxpSXhJbmJPeGFPZEgrY25GRTBkaUhpNUkweExYYTdXVkhCbUE2VnRJdDhHZDJPZk9GTXJseDNjWjZvR2tBCmdNaU5oTGFtb2laOE0vUzhxNS9GL1JqWEszaVB4YjRJYlMybVVYUVc5RmFOR3IrQ0Zzem9XUmlmL0hGODNwb3gKNFJiUVdYbFdxNGJBZTlVcno0SjBWSnUva1pXNThvS1F2cFo1NCtNVG1DQVRxTWZKZDR0ZUt6TjVlUGJnR2EvMQpzQ0E0bUVGV3ZEMDJQZnpQS1RFVFRFOXoyYUk4bjNuWFpnV3ZJRTM4VWN4OTlLcGRFclY1cVMxOEM3alVpVzRoCkgrbENrTmp0QWwxTGg5b04zeEUyUVBQdXlaRFl6d0tMWHJHZ1pGS29pQ2ROOWFyRXVsMzU1QUZVcFFNVy9HaS8KYlBxcXdVcVJRZFNqTmQ2NTFKeXFwMXlkclM4UlZwRllINzVpaVhodUFLbTNXT3kwbVZsQjB3WmtFK3JRNHk4MQptY1dOVHk1KzJlSkdiTllZZlRhbTRTeHJrMVN4K1dmbDRwNnF3eHpiS2h0eGsxZ1JhdFd4RlFJREFRQUJvNElDCkpqQ0NBaUl3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJUMmxDbFRIdjFmV1FaZmR1U3FWZFJubm1DbwpyVEFmQmdOVkhTTUVHREFXZ0JUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRNdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZXMTViR0Z5TXk1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdQpCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dmNqRXpMbU11YkdWdVkzSXViM0puTHpFekxtTnliRENDCkFRVUdDaXNHQVFRQjFua0NCQUlFZ2ZZRWdmTUE4UUIzQUE1WGxMenpycWsrTXhzc21RZXo5NURmbThJOWNUSWwKM1NHcEpheGh4VTRoQUFBQm1wM3hlbndBQUFRREFFZ3dSZ0loQU5IMWFOMHBvalFZc0JBRjdUeWhmQ3NCalBwNwpnYkZ5VEZ0QTRXMk9WNGRUQWlFQTROTjNLMXhjWk9FMGJhY1JIUHlTL1lpZGx4U1lJM2FSTGJQU1FUeWYwV1FBCmRnRExPUGNWaVh5RW9VUmZXOEhkKzhsdThwcFp6VWNLYVFXRnNNc1V3eFJZNXdBQUFacWQ4WHFsQUFBRUF3QkgKTUVVQ0lRRG1HSmFVUlp6THp0SGJzb2FxK2dKWkgwdEtSdGhaajVzaGtQM0FaUExhMEFJZ1p3WlZjMEw4eHNrbwptcHY2MkVhR1VkNDFLalIrS2l1Q1ZUTUsrOHlDTi93d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFGS2RVSTBQCi9ETXQ4cFQvY09oVFFaQVdmdGVKOWE4YnJaaXZOeGhrQnJ4K3Rad2lFa3plT2lkRkYzbGNJWm5pdlZ0VnZKcHgKM0Z5NnlLcWRDQUNKbThMRDUzbThnVGRYQTZXWjhjRHMwenVvZ0JUSDJtNGkwT2FYdDVIcGo3MTkvQmVhZ0l0awppYXlOQkNSQjZKcU1GeVMwUGZnMUpiYkR4T1o2eG1ZUlBOOGdOL3lTbHdPTXRtSjJsdEdJT1hXbTZxVldxQ1Y2Cis3R0tlNmNtYjJQd0R4NDEwa1p5WGZqQk43RTJqaXBVVy9wYmVFeHRRTEUvN01lTWFyRGlzQ3dxS00wcWVDWnAKWG5STHp4VU9MelU4VVp0c3dNa01UNDdGamswRHVXbEVDRUNCdjcyNnhQbGFzVHdQTEVIVmo4MEZzVlloLzBiSQpyaXhuTy9NQmR2UTR0bHc9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQlRDQ0F1MmdBd0lCQWdJUVdnRHlFdGpVdElEemtrRlg2aW1EQlRBTkJna3Foa2lHOXcwQkFRc0ZBREJQCk1Rc3dDUVlEVlFRR0V3SlZVekVwTUNjR0ExVUVDaE1nU1c1MFpYSnVaWFFnVTJWamRYSnBkSGtnVW1WelpXRnkKWTJnZ1IzSnZkWEF4RlRBVEJnTlZCQU1UREVsVFVrY2dVbTl2ZENCWU1UQWVGdzB5TkRBek1UTXdNREF3TURCYQpGdzB5TnpBek1USXlNelU1TlRsYU1ETXhDekFKQmdOVkJBWVRBbFZUTVJZd0ZBWURWUVFLRXcxTVpYUW5jeUJGCmJtTnllWEIwTVF3d0NnWURWUVFERXdOU01UTXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUsKQW9JQkFRQ2xaM0NOMEZhQlpCVVhZYzI1QnRTdEdaQ01KbEEzbUJaamtsVGIyY3lFQlpQczArd0lHNkJnVVVOSQpmU3ZIU0phZXRDM2FuY2duTzFlaG42dncxZzdVRGpES2I1dXgwZGFrblRJK1dFNDFiMFZZYUhFWC9EN1lYWUtnCkw3SlJiTEFhWGJoWnpqVmx5SXVocnhBMy8rT2NYY0pKRnpUL2pDdUxqZkM4Y1N5VERCMEZ4THJIemFySlhuelIKeVFIM25BUDIvQXBkOU5wNzV0dDJRbkRyOUUwaTJnQjNiOWJKWHhmOTJuVXVwVmNNOXVwY3R1QnpwV2pQb1hUaQpkWUorRUovQjlhTHJBZWs0c1FwRXpOUENpZlZKTllJS05MTWM2WWpDUjA2Q0RnbzI4RWRQaXZFcEJIWGF6ZUdhClhQOWVuWmlWdXBwRDBFcWlGd1VCQkREVE1yT1BBZ01CQUFHamdmZ3dnZlV3RGdZRFZSMFBBUUgvQkFRREFnR0cKTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQ0JnZ3JCZ0VGQlFjREFUQVNCZ05WSFJNQkFmOEVDREFHQVFILwpBZ0VBTUIwR0ExVWREZ1FXQkJUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QWZCZ05WSFNNRUdEQVdnQlI1CnRGbm1lN2JsNUFGemdBaUl5QnBZOXVtYmJqQXlCZ2dyQmdFRkJRY0JBUVFtTUNRd0lnWUlLd1lCQlFVSE1BS0cKRm1oMGRIQTZMeTk0TVM1cExteGxibU55TG05eVp5OHdFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3SndZRApWUjBmQkNBd0hqQWNvQnFnR0lZV2FIUjBjRG92TDNneExtTXViR1Z1WTNJdWIzSm5MekFOQmdrcWhraUc5dzBCCkFRc0ZBQU9DQWdFQVVUZFlVcUVpbXpXN1Rick95cExxQ2ZMN1ZPd1lmL1E3OU9INWNITENaZWdnZlFoRGNvbmwKazdLZ2g4YjB2aSsvWHVXdTdDTjhuL1VQZWcxdm8zRyt0YVhpcnJ5dHRoUWluQUhHd2MvVWRiT3lnSmE5enVCYwpWeXFvSDNDWFRYREluVCs4YStjM2FFVk1KMlN0K3BTbjRlZCtXa0RwOGlqc2lqdkV5RndFNDdodWxXMEx0empnCjlmT1Y1UG1yZy96eFdiUnVMK2swREJESEVKZW5uQ3NBZW43YzM1UG14N2pwbUovSHRnUmhjbnoweWpTQnZ5SXcKNkwxUUl1cGtDdjJTQk9EVC94REQzZ2ZRUXlLdjZyb1Y0RzJFaGZFeUFzV3Btb2p4akNVQ0dpeWc5N0Z2RHRtLwpOSzJMU2M5bHliS3hCNzNJMitQMkczQ2FXcHZ2cEFpSENWdTMwalc4R0N4S2RmaHNYdG5JeTJpbXNrUXFWWjJtCjBQbXhvYmIyOFR1Y3I3eEJLN0N0d3ZQcmI3OW9zN3UyWFAzTzVmOWIvSDY2R055UnJnbFJYbHJZakkxb0dZTC8KZjRJMW4vU2d1c2RhNld2QTZDMTkwa3hqVTE1WTEybUhVNCtCeHlSOWN4MmhoR1M5ZkFqTVpLSnNzMjhxeHZ6NgpBeHU0Q2FEbVJOWnBLL3BRclhGMTd5WENYa21FV2d2U09FWnk2WjlwY2JMSVZFR2NrVi9pVmVxMEFPbzJwa2c5CnA0UVJJeTB0SzJkaVJFTkxTRjJLeXNGd2JZNkIyNkJGZUZzM3Yxc1lWUmhGVzluTGtPclFWcG9yQ1MwS3labWYKd1ZEODlxU1RsbmN0TGNabklhdmpLc0tVdTFuQTFpVTB5WU1kWWVwS1I3bFdibndoZHgzZXdvaz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCVENDQk8yZ0F3SUJBZ0lTQnNkMzlpU2dFai9wMjFMZ2U1VUhvZ0hDTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRFNU1UWXdOVEF5V2hjTk1qWXdOREU1TVRZd05UQXhXakFnTVI0d0hBWURWUVFECkV4VnRlV3hoY2pNdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUURMcTJvK1BVR1lUQ090TmFTNWVtSFd1dkhoZENkRkVSZElYSCsvUDhmcWVRRnBGRFd1WERidwpmRGtLcGdRSHVhNi9odEVmcXhIVGZvbXk2UHBFa0YyaVdjNThLeXJKay81MUk3SkdCYXo1ZW5ZOWh0NFVkNWtMClpSNjFGRk1xd2RNdG9HRlpxV0hibW5mVU5EVnFhVWk4bGViS1NqOHJXVHNPV3gvS0hVclNQaytpNmxRSVN1Vi8KL1NvQnA5OGJ4S0puYXdBSG56NG85UjdsQ1JEOVVKWXpkUmZjMjAwbERYeE1FTzA2MVF5RjJkTzhobWd6SWRpcwpkcWxpSXhJbmJPeGFPZEgrY25GRTBkaUhpNUkweExYYTdXVkhCbUE2VnRJdDhHZDJPZk9GTXJseDNjWjZvR2tBCmdNaU5oTGFtb2laOE0vUzhxNS9GL1JqWEszaVB4YjRJYlMybVVYUVc5RmFOR3IrQ0Zzem9XUmlmL0hGODNwb3gKNFJiUVdYbFdxNGJBZTlVcno0SjBWSnUva1pXNThvS1F2cFo1NCtNVG1DQVRxTWZKZDR0ZUt6TjVlUGJnR2EvMQpzQ0E0bUVGV3ZEMDJQZnpQS1RFVFRFOXoyYUk4bjNuWFpnV3ZJRTM4VWN4OTlLcGRFclY1cVMxOEM3alVpVzRoCkgrbENrTmp0QWwxTGg5b04zeEUyUVBQdXlaRFl6d0tMWHJHZ1pGS29pQ2ROOWFyRXVsMzU1QUZVcFFNVy9HaS8KYlBxcXdVcVJRZFNqTmQ2NTFKeXFwMXlkclM4UlZwRllINzVpaVhodUFLbTNXT3kwbVZsQjB3WmtFK3JRNHk4MQptY1dOVHk1KzJlSkdiTllZZlRhbTRTeHJrMVN4K1dmbDRwNnF3eHpiS2h0eGsxZ1JhdFd4RlFJREFRQUJvNElDCkpEQ0NBaUF3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJUMmxDbFRIdjFmV1FaZmR1U3FWZFJubm1DbwpyVEFmQmdOVkhTTUVHREFXZ0JUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRNdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZXMTViR0Z5TXk1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdQpCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dmNqRXpMbU11YkdWdVkzSXViM0puTHpZM0xtTnliRENDCkFRTUdDaXNHQVFRQjFua0NCQUlFZ2ZRRWdmRUE3d0IxQUdRUnhHeWtFdXluaVJ5aUFpNEF2S3RQS0FmVUhqVW4KcStyKzFRUEpmYzN3QUFBQm05YzJOSFlBQUFRREFFWXdSQUlnVEpQTHlpNzcrQStGcXNzOWFUVG0vVjBLSTA2TApxMGhsS0pDQ0JKOGRqVDRDSUNhemtrUVczWlpsQS9obFpmWE0vUFFVRnZzTkVSMTN2WTlWVGNqczUxck9BSFlBCmxwZGt2MVZZbDYzM1E0ZG9Od2hDZCtud090WDJwUE0yYmtha1B3L0txY1lBQUFHYjF6WTB6QUFBQkFNQVJ6QkYKQWlFQWdxenhmRmhJMUZuMHBsT0VVYlkvVklLenRpTkRxRFh2M3pxeWRiTy9BTklDSUNuWUNyZWorVFdoRVFHTgphdzV3d3N0dnYwbHU5VGlORW9XVDFRNFVqOW5pTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFDRldWbjF6T1I2CmJiVmp1SmI3eVIzZjdHWkg5dkxaSzI2QjR1OXV3SnN6MzhwdS9Qc3hjVGhzc0xFcUhrL3NPblFIUEtLNWxMdFEKMGNFSGVKRTB3NVpjczh2aWM0Qm9Da2FTV216RGlzNGZaWGM4MEh5WlZvRVhZQUVsVzFkOUdYMm5lZlY2WTVxMApXN0ZTY1RuNThnQVlQa3EwZ1IrajhyVEhnQTZnbEVpb1NvdXR5emRDaUtOYklVanIzOHNZR0x0RFQ0cmdBWDZCCkh0UlVrYzV2TmdGR21uYlNEa1paZDB3YnB3VkJpRzF1NVF0MUNVM1YxT2hQem8vemluaFBpaXpDRVNQSDdnaFcKZHhWblNTODdHaWZMTDJZTy9od2YvYlNOY21mZDhOL3FHeDlKL09QNUc5UytnWlRpNnBTaE9jR1N2OWpFQkpiUApOdlFxYWhjSUlHY2MKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBeTZ0cVBqMUJtRXdqclRXa3VYcGgxcnJ4NFhRblJSRVhTRngvdnovSDZua0JhUlExCnJsdzI4SHc1Q3FZRUI3bXV2NGJSSDZzUjAzNkpzdWo2UkpCZG9sbk9mQ3NxeVpQK2RTT3lSZ1dzK1hwMlBZYmUKRkhlWkMyVWV0UlJUS3NIVExhQmhXYWxoMjVwMzFEUTFhbWxJdkpYbXlrby9LMWs3RGxzZnloMUswajVQb3VwVQpDRXJsZi8wcUFhZmZHOFNpWjJzQUI1OCtLUFVlNVFrUS9WQ1dNM1VYM050TkpRMThUQkR0T3RVTWhkblR2SVpvCk15SFlySGFwWWlNU0oyenNXam5SL25KeFJOSFloNHVTTk1TMTJ1MWxSd1pnT2xiU0xmQm5kam56aFRLNWNkM0cKZXFCcEFJRElqWVMycHFJbWZEUDB2S3VmeGYwWTF5dDRqOFcrQ0cwdHBsRjBGdlJXalJxL2doYk02RmtZbi94eApmTjZhTWVFVzBGbDVWcXVHd0h2Vks4K0NkRlNidjVHVnVmS0NrTDZXZWVQakU1Z2dFNmpIeVhlTFhpc3plWGoyCjRCbXY5YkFnT0poQlZydzlOajM4enlreEUweFBjOW1pUEo5NTEyWUZyeUJOL0ZITWZmU3FYUksxZWFrdGZBdTQKMUlsdUlSL3BRcERZN1FKZFM0ZmFEZDhSTmtEejdzbVEyTThDaTE2eG9HUlNxSWduVGZXcXhMcGQrZVFCVktVRApGdnhvdjJ6NnFzRktrVUhVb3pYZXVkU2NxcWRjbmEwdkVWYVJXQisrWW9sNGJnQ3B0MWpzdEpsWlFkTUdaQlBxCjBPTXZOWm5GalU4dWZ0bmlSbXpXR0gwMnB1RXNhNU5Vc2ZsbjVlS2Vxc01jMnlvYmNaTllFV3JWc1JVQ0F3RUEKQVFLQ0FnQWtYREhYY3JBbk5GQ2FONTEwejNod0VXZmxUQXRHdFVwbXpMeXhzLzFJeXRtSm5PWUlmc1lBSU8wKwpEVzFpdzYrQzJkcXp3S0txRTBrWis2WFNYOE9YbkZqVXFoQTFkSXBVOTA1NFdjTUx0dVV0RHNyTzlKc0tBYjk5CnJHYzhsdVhRbTNWRndJdUwzUVBQaXBLT3NNVWZoZE55QWRkTk1kenRMeTk1c2NrTng3b0g1N1dnMVY0cmYxTGsKZ01lLytWYlZCN0UxcXlRNXc2a0VVcDRKMnowMWFvNGNDN3EyQnJaT0RpZUwvVVVERUdSUW45NHlZclIvOVo4Lwp1ZXNmeHI1YlRUOUVJY0krK3dlaEN6WEszZU5wZGtCQ2NjejBIVlBnaDY2dzJKKzFBOTAvaXN4SVVDTHV5QThGCjFNK1c2QlBlMEplOHB4Y2JEWmhGc2FrUVlja08vak9HeUVzQ2tSVDMxaDhEaTA4QzZzRjVvUnpLYWRYTUlZc2EKNnlEYkU5RzduWk45ZG4raFh5ZjRLY3g4RUE4bXpwd1FJZXluZGp2SXFlVndtMmlxbFNwbitKanl6MGdQeTFCSwprY3dSZnc1QXRCTTh0em51UHV4ZkJ2R01YQjFzRUQwM1lBazVHd2NQOHUxZVZFLzZjRk1pUUN2NVlocjNXTWRDCnJNaHVVdHZ2djZBQUN0RGJUSzVzeUhPOWdvK3ZjTDA5QllzWTZxREpjaUFkVzFkMWxGYW5ZVkZ4SWlOYzhQTXgKd1pzNEluL1JBVlE5WU45SE9OOUZLTzYxMVRQSEhaNm9qYVljZm9rc1UzRXpYSjJoRE5Qazk0ajdUUEMwS3hoSAowamc2dnlPWmI3OEJzM0tGcStpSHBCaDdOb0p6eE5jb3lxTUEwRTE3SS9qT3orT1lnUUtDQVFFQStiT2IxZUN0CllkNml6NXRXMytRRnY3S2ZKRWRvdzQ4V3ZhejV4NnQydER6ZTN3S1hwaENWY0pFTGtKaFpNQ3NTb3NmbUpScGwKMDBQc0JGaFREaDhVR3FpU2NYU3RJY1FmR01RbDM4Tytlb2phWlN2QW5ISWMxbjZSby9HMVZNSEJLSi95ZWRjaApyTjJlZVhoK09zc01JWjF1YXNka0VVRGR3S3MrZUQ0L2FoSVdFM1VtcUZSVCtWMUtYU0cvTkh4c3k1QVcycWIwCjhVNmpyc3VOQU5xckc4enhjMXlSMzh4MHI4UW9kY1ZuTjdpSkpNZHZwOVFBY1N3ZWZ2MlI0MFJPa3k3b0pwenoKd0plR3dURVRqQzZhdStaMEVoQndxajByMlhDZlRHUTcvS3F3d0pNWVdKSHVxL2FicTR4U0FOSlE5ekN2MUpzcApkSmsraGorODNKMlIzUUtDQVFFQTBNNlFxQ3dwZ1NZODJKblpQbUZ3M3N0WU9Md3BmYXpqMXRsVWpTdW1SazE3Clp4cWhQeUJOdUNvTStYTGc0T2RuRFUyWklNcG1IUUt3T2ZhZzExSnRTNjkySmdpT3I1RFdGRzBDMVdjSG1sNkIKYmlFZkgveUxxbHZwazVaZjlWakZydzlHTk5rei80T1lHNWUzeGFrcUN6OTZLNTJsdVhYSlgzS2cySTdoM0ZZQgpJR0VQUEt0cnZmZVZlMk9CRjAyZjFhSGtmOGMzaUtGd0F1dlZBekFrYlJiOGlERHMxWEhkUGpkcG1MRlRES1lpClJNbnkrclVPMjZOSHhtVldaNkFXanlXMFovWjVpVFBTcXpkL2ZiS0pkRkI0L1p2L3BQSmRLZDlwaVU4dlhGV1gKaG5GYTc4YVEyNHBIdFY0am1uWmZ6MFZzRHJnT2xabkJQZGgzWDdGVW1RS0NBUUFCMndMU2NRdjR5VFcrZ3pILwpFZXUxQS9mSXhqc1NFUE1qVDdDL2VoZTB1U3NTenlzZlVjbzZmdWx1RnFPN0J1YnBqTUM2RDlzbjJiNWNQZWZJCkdCVUhLYStFNWxBUEN5MEwreEVvKzRSajFyYUF2L1Y3ZENHZ3Vtb01wTlFySUJGMll0SGpjK1ROS3d4dGJLYkwKZXd6SkJ5bDE0NnRyc1dhMGN0RlJCVzFsTldNeW05RkF1UGV5eDYyd3lYcHBRbTl3aDg2VHExL3dseHdDUllMegp1YXhCMWFFSnNXdG9GVlhjcElHRWRvWVExTzgzOWI5dnFOU2tBcWJyWEtrRDNsTVRKdXNVdGwvZFU0THQxcGFGCm1TY1BOR1F5YWlyY0tQNDFiRy9TbW9BVG5aVVlxVDhxRVZPTHRaWnNqT3RqRkMwRDJUbkZRNjNvTHVkWENndzIKTzNtRkFvSUJBUUNFYVNsVWE4VGFFRHh2Z29nL3haekV1NkF6UWlieGVpeDFOeFlsKzNNU2k5bmdWUVBCdXlOdAowTVN2ZnNqWjlnUGtiTHZaRG1CWXJ6YS9Xd1U5NWhoRzhYcHp2ZU4xczl2OTBlOEZFclBBa1lOMEtlN0o0dVZTClg3eXNDYVRLT2NRS01oNXNMdnlKWUpLWmxNbEZ2L05ZZEtWdGVTZjVocGJ2UHdwK3FZVFNxM3RGWkNjOGF0d0UKK0RiRHF5TFdlelFMVGdGUGdpNVdKMEdYcUtOSXhVT2tKZnA0QnNaNHlCN3JjRW8zT09PWVZ0WE9WMTRNMjdvVApUK1NaQy9RUi9IT3h6TkF0U1NCakFBanM2R0doZlJFclFFaXBVajU0QS9WT00wMkNkRU50UXgyMmRMV2M3WWM0Cm9PUytQM2RHWVNCNm1PUmdKUm1paG9FRFRmek5JdStwQW9JQkFER3NYZVZ6K2x6OU5paDBKeHNJV1lJMWEwTDMKazNPNU1FcTZZVFcxMkl0bnA4cVFpMUc5dHlWM1BSVEZjYlZ6SUFacTJNUGJYVUg5dUlTZG13Nkk1aXBJZVZhTApjNmdOZTU4MmZUbEZzcjhlbmR2eFBsaEVZcWZwRzRSVlgvMzgxWTNWM3FwTHo0WXZwZzg2ZlZ4Zjk2UFA2VXpICjFmSlNOSW45bDdQYzlCNE9wVzJjb29nbG40MjN5cFRBUkhqdTI2QUpBTEYzcWFoa2FDMitGN1BGanZBanVOZ3oKR3pjYzRuNTRITld0ZDVtQ0pNK3Q3SnQ4ZHBINTBRbDNrOGtrY0k5SmtpMXZ2aUVRcVBVMUQzbmt2TFJXdFRLYgpkcktCR1EvemdzN2hDNWFGM0loTVpocmY1d0Zmc0UrT1JsRTQydnNUai9Gc0h3Z2E4cElhZ1h5dUxjST0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -523,7 +523,7 @@ "domain": { "main": "comics.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCekNDQk8rZ0F3SUJBZ0lTQmpTQS83ZnRBQWRqVkF4ZzFiUnFvUnVnTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRFNU1qQXdPRFU0V2hjTk1qWXdNakUzTWpBd09EVTNXakFnTVI0d0hBWURWUVFECkV4VmpiMjFwWTNNdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUUM0WGFoQ0RMc0QweHMxd3NKVmttc0VwVEdoOFRobjVEZmEyOUlsNXlud0dMYWU0cURTNTErWApjM3g2dUE4VUNkWkZzL0hHWEZycjM4dlNYNTQ4UFdQdVFiNVUvdDZCYS9lVUcyczlTcm5SYmxNblhWVHBXaVBJCk0xUmwwbTNiVnJuMDl0OXBoRmRXRW81VDZUYXpvY3lEWXlQUzYzYm1Mck1Ea2pMZzhoRThlN1lqa2lKM3FOU3UKRjZmdzErMjV1Sk1aWEUvb0R2MzFFeGszWENqeTBFRlo5c1liNTg1VlcyenNINmkwVkkyV0U1V05tY3NyclNGMwprNkRiMk44TXVBYjFDQlgyZDRPT2s4RHRCNEVTOEJkSGFvaUl1Z0VoYkpQN3ZLczQwbXdJTUNwOUVMN1dWQkZ5CmtKQTU2czd4S1FLN1lPZHVBUHJndkgwVllaeFVyOUFQUmlScEpzSEl5aldudjVIK0NWbG10elBoR09ya0o4UEoKLzVqdFJnRk94b0F2V0RHbDl4UWUwNFovTjZpYWtBNklpcHR0aHhpWkUrVktpbXByRkd0YWswemlqZWprRW9qYwpRNVk4S3ZDQllTMHJOSHdHNU45SFFLQVAvQyt5WTdzK25qV3RFMGlib2ViR0gvM0YrbjZMT3RBOFJzYlh0SFIzCnhTVkJ4RXdadDRDNTY5cHJnZ1ZkdjdJZkZuQVBjVGJhSlQ3SjZUQXRuOW9idHowclc3NE0wWUZnRnpwbHVmcUwKMDY2aUlOUnVweG5QdTh2L1k0cEJVSHk2dkowK3JLUWo4eGVkcTM5aFNqMGJpTDdnQlczTnBMRElwRHZqMG5nQQpkUHB1KzJkRUtlT0VvaGNjSXIraG41NFdZOWZDZ25pS2QzMmNDOFIzdFVHZVRCVDVJZVN0UFFJREFRQUJvNElDCkpqQ0NBaUl3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJTc1YzWFhtT1FRYlh1L1RMM3ViYkwvRTQwQwpxVEFmQmdOVkhTTUVHREFXZ0JUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRNdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZXTnZiV2xqY3k1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdQpCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dmNqRXpMbU11YkdWdVkzSXViM0puTHpNekxtTnliRENDCkFRVUdDaXNHQVFRQjFua0NCQUlFZ2ZZRWdmTUE4UUIyQUdRUnhHeWtFdXluaVJ5aUFpNEF2S3RQS0FmVUhqVW4KcStyKzFRUEpmYzN3QUFBQm1wM3htNjhBQUFRREFFY3dSUUloQU5mU2pQcW53dmljNHd5NVZVS1RsK0NTNnJGawo5QUZ0WXFpR0ovb3VnZG5wQWlCZlVNN0FVTWVTdkZpWityU2xINGtpM1Q5Y1IwUWZFbmdaMWJKMjVhWWZqQUIzCkFNczQ5eFdKZklTaFJGOWJ3ZDM3eVc3eW1sbk5Sd3BwQllXd3l4VERGRmpuQUFBQm1wM3htOTBBQUFRREFFZ3cKUmdJaEFMcXpJMGtTSkpGM0ErMndYRWtzMXc3ODlMNWFsQ0JGOGpidXJxc05DbzJiQWlFQTlYT3dFVWdSUTRRUwpIQ09GMERCcWNSK3pVbmRROUh0Y0dXY1pTeGpXMFlvd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFHUCtocFpjCjQrSEVzem1oNmdDdWVNa2dpUyt5R3VkRVdkQWdyUmc1QTZlRXQzZHowQllWVU1NenFXVTBwMGp0cUVVVS9iZ3cKN0VRcENqVnZLeHR2dzd4MkVjcU9vYTM2TjFMMzg5bmZaaXBsZG9XRFltUjNZSUVBOFF1b3A4ZzE4cHp6b3ZLUQpBdHpzUFBrajR3dnJkWnYwZDdFVE5teHljTTZ0d3I0cks5TmFPZkxWREtuKzBNZ3FCNGFYWU0yNVNBYi9RWDZ3CkhaeVNUM0U3THl6dFdhcFVFWmhUM3h4dklxZHM0MGsrYkwwbXZWM3VraUF1bzVGYWFGU0pBYU1QbTFWampRM20KQWxiVXcwc0EyUEkrTzI5WHhuN2ZkakVkaDZtUXlmRWNsc1BJS1ZPYUFyZ0R5YW1LTkhackZuaUZPL3FTWmNVUApzckRzK1FKSEI5YnRtcFk9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQlRDQ0F1MmdBd0lCQWdJUVdnRHlFdGpVdElEemtrRlg2aW1EQlRBTkJna3Foa2lHOXcwQkFRc0ZBREJQCk1Rc3dDUVlEVlFRR0V3SlZVekVwTUNjR0ExVUVDaE1nU1c1MFpYSnVaWFFnVTJWamRYSnBkSGtnVW1WelpXRnkKWTJnZ1IzSnZkWEF4RlRBVEJnTlZCQU1UREVsVFVrY2dVbTl2ZENCWU1UQWVGdzB5TkRBek1UTXdNREF3TURCYQpGdzB5TnpBek1USXlNelU1TlRsYU1ETXhDekFKQmdOVkJBWVRBbFZUTVJZd0ZBWURWUVFLRXcxTVpYUW5jeUJGCmJtTnllWEIwTVF3d0NnWURWUVFERXdOU01UTXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUsKQW9JQkFRQ2xaM0NOMEZhQlpCVVhZYzI1QnRTdEdaQ01KbEEzbUJaamtsVGIyY3lFQlpQczArd0lHNkJnVVVOSQpmU3ZIU0phZXRDM2FuY2duTzFlaG42dncxZzdVRGpES2I1dXgwZGFrblRJK1dFNDFiMFZZYUhFWC9EN1lYWUtnCkw3SlJiTEFhWGJoWnpqVmx5SXVocnhBMy8rT2NYY0pKRnpUL2pDdUxqZkM4Y1N5VERCMEZ4THJIemFySlhuelIKeVFIM25BUDIvQXBkOU5wNzV0dDJRbkRyOUUwaTJnQjNiOWJKWHhmOTJuVXVwVmNNOXVwY3R1QnpwV2pQb1hUaQpkWUorRUovQjlhTHJBZWs0c1FwRXpOUENpZlZKTllJS05MTWM2WWpDUjA2Q0RnbzI4RWRQaXZFcEJIWGF6ZUdhClhQOWVuWmlWdXBwRDBFcWlGd1VCQkREVE1yT1BBZ01CQUFHamdmZ3dnZlV3RGdZRFZSMFBBUUgvQkFRREFnR0cKTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQ0JnZ3JCZ0VGQlFjREFUQVNCZ05WSFJNQkFmOEVDREFHQVFILwpBZ0VBTUIwR0ExVWREZ1FXQkJUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QWZCZ05WSFNNRUdEQVdnQlI1CnRGbm1lN2JsNUFGemdBaUl5QnBZOXVtYmJqQXlCZ2dyQmdFRkJRY0JBUVFtTUNRd0lnWUlLd1lCQlFVSE1BS0cKRm1oMGRIQTZMeTk0TVM1cExteGxibU55TG05eVp5OHdFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3SndZRApWUjBmQkNBd0hqQWNvQnFnR0lZV2FIUjBjRG92TDNneExtTXViR1Z1WTNJdWIzSm5MekFOQmdrcWhraUc5dzBCCkFRc0ZBQU9DQWdFQVVUZFlVcUVpbXpXN1Rick95cExxQ2ZMN1ZPd1lmL1E3OU9INWNITENaZWdnZlFoRGNvbmwKazdLZ2g4YjB2aSsvWHVXdTdDTjhuL1VQZWcxdm8zRyt0YVhpcnJ5dHRoUWluQUhHd2MvVWRiT3lnSmE5enVCYwpWeXFvSDNDWFRYREluVCs4YStjM2FFVk1KMlN0K3BTbjRlZCtXa0RwOGlqc2lqdkV5RndFNDdodWxXMEx0empnCjlmT1Y1UG1yZy96eFdiUnVMK2swREJESEVKZW5uQ3NBZW43YzM1UG14N2pwbUovSHRnUmhjbnoweWpTQnZ5SXcKNkwxUUl1cGtDdjJTQk9EVC94REQzZ2ZRUXlLdjZyb1Y0RzJFaGZFeUFzV3Btb2p4akNVQ0dpeWc5N0Z2RHRtLwpOSzJMU2M5bHliS3hCNzNJMitQMkczQ2FXcHZ2cEFpSENWdTMwalc4R0N4S2RmaHNYdG5JeTJpbXNrUXFWWjJtCjBQbXhvYmIyOFR1Y3I3eEJLN0N0d3ZQcmI3OW9zN3UyWFAzTzVmOWIvSDY2R055UnJnbFJYbHJZakkxb0dZTC8KZjRJMW4vU2d1c2RhNld2QTZDMTkwa3hqVTE1WTEybUhVNCtCeHlSOWN4MmhoR1M5ZkFqTVpLSnNzMjhxeHZ6NgpBeHU0Q2FEbVJOWnBLL3BRclhGMTd5WENYa21FV2d2U09FWnk2WjlwY2JMSVZFR2NrVi9pVmVxMEFPbzJwa2c5CnA0UVJJeTB0SzJkaVJFTkxTRjJLeXNGd2JZNkIyNkJGZUZzM3Yxc1lWUmhGVzluTGtPclFWcG9yQ1MwS3labWYKd1ZEODlxU1RsbmN0TGNabklhdmpLc0tVdTFuQTFpVTB5WU1kWWVwS1I3bFdibndoZHgzZXdvaz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdFRENDQlBpZ0F3SUJBZ0lTQnRFWDNTaGIwS0dUOW5nVkxjZnVwQlBITUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRFNU1UWXdOVEE0V2hjTk1qWXdOREU1TVRZd05UQTNXakFnTVI0d0hBWURWUVFECkV4VmpiMjFwWTNNdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUUM0WGFoQ0RMc0QweHMxd3NKVmttc0VwVEdoOFRobjVEZmEyOUlsNXlud0dMYWU0cURTNTErWApjM3g2dUE4VUNkWkZzL0hHWEZycjM4dlNYNTQ4UFdQdVFiNVUvdDZCYS9lVUcyczlTcm5SYmxNblhWVHBXaVBJCk0xUmwwbTNiVnJuMDl0OXBoRmRXRW81VDZUYXpvY3lEWXlQUzYzYm1Mck1Ea2pMZzhoRThlN1lqa2lKM3FOU3UKRjZmdzErMjV1Sk1aWEUvb0R2MzFFeGszWENqeTBFRlo5c1liNTg1VlcyenNINmkwVkkyV0U1V05tY3NyclNGMwprNkRiMk44TXVBYjFDQlgyZDRPT2s4RHRCNEVTOEJkSGFvaUl1Z0VoYkpQN3ZLczQwbXdJTUNwOUVMN1dWQkZ5CmtKQTU2czd4S1FLN1lPZHVBUHJndkgwVllaeFVyOUFQUmlScEpzSEl5aldudjVIK0NWbG10elBoR09ya0o4UEoKLzVqdFJnRk94b0F2V0RHbDl4UWUwNFovTjZpYWtBNklpcHR0aHhpWkUrVktpbXByRkd0YWswemlqZWprRW9qYwpRNVk4S3ZDQllTMHJOSHdHNU45SFFLQVAvQyt5WTdzK25qV3RFMGlib2ViR0gvM0YrbjZMT3RBOFJzYlh0SFIzCnhTVkJ4RXdadDRDNTY5cHJnZ1ZkdjdJZkZuQVBjVGJhSlQ3SjZUQXRuOW9idHowclc3NE0wWUZnRnpwbHVmcUwKMDY2aUlOUnVweG5QdTh2L1k0cEJVSHk2dkowK3JLUWo4eGVkcTM5aFNqMGJpTDdnQlczTnBMRElwRHZqMG5nQQpkUHB1KzJkRUtlT0VvaGNjSXIraG41NFdZOWZDZ25pS2QzMmNDOFIzdFVHZVRCVDVJZVN0UFFJREFRQUJvNElDCkx6Q0NBaXN3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJTc1YzWFhtT1FRYlh1L1RMM3ViYkwvRTQwQwpxVEFmQmdOVkhTTUVHREFXZ0JRQXRTbnlMWTV2TWVpYlRLMTRQdnJjNlF6UjBqQXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRJdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZXTnZiV2xqY3k1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdQpCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dmNqRXlMbU11YkdWdVkzSXViM0puTHpjeUxtTnliRENDCkFRNEdDaXNHQVFRQjFua0NCQUlFZ2Y4RWdmd0ErZ0IzQUVtY20ybmVIWHpzL0RiZXpZZGtwcmhicndxSGdCblIKVlZMNzZlc3AzZmpEQUFBQm05YzJUUllBQUFRREFFZ3dSZ0loQVBGdXFjUEVTaXVUSkx5M0tQT3ZQa3IycGl2bApBWkozZnE5OFVwQVd1QU5yQWlFQTFpeTFGV09tcGxrNm5GSXdFVldGazFDVXoxWWNNeTBFSFJTTDVsWXdsTXNBCmZ3QnhmcFh6d2ppS2JiSGpoRWs5TWVGYXFXSUlkaTFDQU9BRkROQm50YVpoNGdBQUFadlhOazRBQUFnQUFBVUEKQjFWYTFnUURBRWd3UmdJaEFLRElUb2NzSmxBMUFtV04wNWllU0hlTUdRZHQwRjR6RzdINFFmbWFzekM2QWlFQQorcDJJMEdtV25WaDZlWnJZNHdaMlk5RjA1dGlsc2hBcUVYQVJjbUZPWmhrd0RRWUpLb1pJaHZjTkFRRUxCUUFECmdnRUJBRHNVU0Q0TC8zaDZoMlo2TEJaU3JHZWRPR2dLaFNLdjlzaUQwQTlvTXlpeko2ZVB4SUNzK24wc1NPcmcKTElOTFg3NUJ6K05iMkNCRWZ3MkVRV3o4dW5EUVRIT0ROMmlDRjlBR3NnWW1BelJJMHZWcVE1UFJMYUFZN3RVbwo3NjRObDZqMXB2YlVaaG5zZDZzeVVJc1FvTklsbXFiSkZ4QjRjeDNKQUlYYU5lbmpmSmhSVklYOEF3TDJ2M0VFClk4SnhLa0pwTFNVTElIUjV2UnhwUGF6cnpBRkZHQXB5cElCNnpUQkEvSlVzeDJ1NGxMNm9MU0xsOVF2bG9TZnkKODBhTG5LMWdsYVdFSXdaQmJHQVdnckx0U0FZajRQRHdJVUk2ckFrMkRGZnk1eHdoUDdHTFFxUnZBMWxDZGlRMApYT3Bwd1QyWitaK0FqdlUwTTMwY0R6cDJmekU9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKSmdJQkFBS0NBZ0VBdUYyb1FneTdBOU1iTmNMQ1ZaSnJCS1V4b2ZFNForUTMydHZTSmVjcDhCaTJudUtnCjB1ZGZsM044ZXJnUEZBbldSYlB4eGx4YTY5L0wwbCtlUEQxajdrRytWUDdlZ1d2M2xCdHJQVXE1MFc1VEoxMVUKNlZvanlETlVaZEp0MjFhNTlQYmZhWVJYVmhLT1UrazJzNkhNZzJNajB1dDI1aTZ6QTVJeTRQSVJQSHUySTVJaQpkNmpVcmhlbjhOZnR1YmlUR1Z4UDZBNzk5Uk1aTjF3bzh0QkJXZmJHRytmT1ZWdHM3QitvdEZTTmxoT1ZqWm5MCks2MGhkNU9nMjlqZkRMZ0c5UWdWOW5lRGpwUEE3UWVCRXZBWFIycUlpTG9CSVd5VCs3eXJPTkpzQ0RBcWZSQysKMWxRUmNwQ1FPZXJPOFNrQ3UyRG5iZ0Q2NEx4OUZXR2NWSy9RRDBZa2FTYkJ5TW8xcDcrUi9nbFpacmN6NFJqcQo1Q2ZEeWYrWTdVWUJUc2FBTDFneHBmY1VIdE9HZnplb21wQU9pSXFiYlljWW1SUGxTb3BxYXhScldwTk00bzNvCjVCS0kzRU9XUENyd2dXRXRLelI4QnVUZlIwQ2dEL3d2c21PN1BwNDFyUk5JbTZIbXhoLzl4ZnAraXpyUVBFYkcKMTdSMGQ4VWxRY1JNR2JlQXVldmFhNElGWGIreUh4WndEM0UyMmlVK3lla3dMWi9hRzdjOUsxdStETkdCWUJjNgpaYm42aTlPdW9pRFVicWNaejd2TC8yT0tRVkI4dXJ5ZFBxeWtJL01YbmF0L1lVbzlHNGkrNEFWdHphU3d5S1E3CjQ5SjRBSFQ2YnZ0blJDbmpoS0lYSENLL29aK2VGbVBYd29KNGluZDluQXZFZDdWQm5rd1UrU0hrclQwQ0F3RUEKQVFLQ0FnQm53cTR6bmg2U3BIa241SmlpdUdqcWtGNUNtaFA0eElSNjlFUnRlSkF0eEhyaktRRUNNWjJuQ3lQLwpuUjgvVTluNEdMSDF4WHlXUzduV2lHSHgzVXNraUhPcU9sYlgxLy9hcHlQUHR3S2xUOFlVM1g0d1pyN0VxYjdTCkg0QWNkYzdxZ3haeHVEMisvMnFDNXpvV0Z2V1c3SEQ0Ly9SR3ovbUlCUHdGaGJjVnB6cDNBb1BMZklWV0JaSkwKQmZ1UkRzUWEvYzBxK1dVTVROZGdSTW4yL2lZSmo4MG5YMnJNdDB1eUNJOVdEbEF4S294OHlSV0RXMGorbDJOcwoxNzJRMXZGemJqMk9ITzA1alFhRFlEblFncmRYUmluWmFYWEJiZTVMTzMvUjF2dGVFRjJaVFpkWjRLNkJIOE5NCkZVNnFnejQ2WHV0aENjUW9QMnpXWDcwd0hGS25rV3lmK1VlTE4wZDJ6elZLT0U5THg3dk4yekhMT3ZocTFHSXcKMnN2VDQzQ2w2cVAySFcra2xHQmFqMWFWa21pa1I0QzhqNGJQcm9lQmpmdVZrY0l3U3IvNEExUTYwYTl6dXdDWApHSXJCWi9TaGVhTCtPbnlvbC82SDI3aGtQQmo2dFBqdy9aUFRNcEFQRGwvNHhUYzRqOURXTzZqNW44c0ZXdHlQCk1aTWZxSWFtbXl1RXdIY2tkU00vMFNaQldBVmwxcURQNXJKUDYrQm96QzR2b0FKYmptb3IzNjUzSmRWU3VkT3UKOVJMVXJXWEtUQU8rWEJvMklnN0ZBZWNJejN1VVBKUHFEUG1aMmZ3SU4yNmIrR3lnV2syT05tTlN2c3lSazQ3YwpFMnpzOVgvNWFzVitKUUJrdTExS243RDFuRlVIbXhnTnRtVmE5QUc4NHprQkpRdHdnUUtDQVFFQTFkczl3NHhoClBRalpNRFNKSFZFNWJUdlVnOGpCVkdYdHZXRkxDTFZMY3Q3ZEI3Z3RHWDJVV1VNM1UrZ0tkVGt2RzVZc2tKRFUKcjNZUnZyR2dJZlg2cDJXVFVOOWRLbVpDdS9TTjZpcVRaNk9Rdm5VSTV5cmljeW81VTlRSXpUb3pKK0hjcnd5SApnMlJLNUxwNzM3T3V4NUNNeVRxaFpyMTZjWHZQS0VTR1BWd1p6dERwYkhjQWxyK2l3VXI3SXZJQXo5RVZia2xDCmNkSGNBcEQ4SlJSYkZqYWx2MXR0UXVuVFp4a3ZWVENVT2tlbFNhTURKei9VZDJRbGhoUElWczYzWWViQ2ppTlcKSXNjOEQvRUdKdWhDSkhhOHV4UThsN3FOUlZHRnlxQnZ1K0wrSWgrRmcrem1OQUV5alRwdmVIN1Y0WnVNdjM3bQpxcEtrRE1LSEx1WUV5UUtDQVFFQTNMS29lUjNpMDNxNDZoQ3UwdXlHVFkyZnBnc1RmczNKZzJXbjNsRGhidmtECnVSbGhVQ2NQUkRyblkzc0MwRDlVS0dLWGNTbWhHTHN1R01pQ2N3ZUEzb3hCbzdyVklQbzVFS3FGdlVhdDluOUwKSUpJSFhWUENGSzJBOTE1M2dDV01Fc1hTWnBhL0NhTWxtQ25rZkNEcHlIRmQxam94TUoxd25MOXpBdGk3V01pMQppSnBZeGYwb2swN21zRlM3Q0dZZm9QUFdQaktHc1B5VmRlK1grWXNhVHZNbC9vT3F5Rzgvb20wK0dMbUdGSkxzCnFVOTV4NUtDYXZSL2NVRTdpMDFPTVpNemN4RENYUGxRYWhIOElwZDVhRExoVXJuUTZoRDhQL1FZU2JwNUJKdTUKK3d2ODAwNEt4SlFNTXRGQ1ptOUg2OTNWaisrYWxTaTlGRlVOWU9BaTFRS0IvMEgrWmhEeVFRK1VxM0UweFJ0Rwo5WEhBQk5TbUh3THNjWEQvbFNnYXlpMm9tSXpKU1NHVW56THNpeVpaZE9DM3hORytoZ0lXcjR0MTVBUDB6SFd1CmNxczFyVUJIclhob0ZpL3FSK0Q3UW9HNDkvSE9LL0VxU3JjL1VIR04vU2xYekhHQ1FaZkRSZzVGNU5hd3RZbFMKNlp5ci9zWWFVYlJpeEdaQXpxeWVlTTUybllBMDk5T0E1YTJmZFpvd2lVOC9Yd0RDaE5xRHdQMWV4WVlGTjhvNQpmZUpjK3NrU2JhVTRnd1JOd1UySXNEVkw1clhTbUNhRWpBeEwyMGlFMGszM2ZKKzVsbEJHbDA0a0xXUzkvQ2dGCmhHTzhRSUY2dlRnVldZTUtwVDdpUTVpM2M3VVVCUit3KzFrUkJZaVBmOWF2VFZGUnJ4MXBDOFdYZXdoMC8wSjUKdVFLQ0FRQlBjWVJSck45a3J1MTNYREFDUHlBTk5LaStWWWhjQWVuREFjbk9yaUNvR0wwdFdTUjlmTUh6RnAwSwpZMUpjOGg3eU5xTTdHZmdpZGVhZkJ6WmwvOUoweWRvcS9Pc1JadUU1elpnOHpQOThGdEJOVmlPT2hjTDhQSVNMCkJ4ZFBLclRrWVE5ZTNHN0NJbGM3RWdGc2FWQ2VWYWlvbitQckV4RmhhMDBVUGo0YU5JMmNNYXM1QWVza002ZTQKMjVkRDY3Y0E4aVV4MkhCQnIzcUJySkJ4UkpCZzBRZmhPVFkxMWszNnd3WXlVajRnazg3YkYzL0h4a1pxQjc4RQpYcTMzZEFsc3NRYzVLVlE5c1lVdjJXK0FhRFJNdk52OU1tUXdqWkt2MXNjVGF5dDY3QytqWGVwUmllczRYZTZTCk1GK05qZ3MrcldqZDJpc3ovQ2tyODMzUVhINU5Bb0lCQVFDZTh3NVZvZ3R3WHYvZGRwdDZaVVVnWjh1NHZPbXMKKzI2bGQzNVRFdldjbmR3b2ZPVC9OMGRoMGxiNzAvN1U1cVFmWkVBVHJtU0NRUkVmQlZIUEt4cXpFSHQ1UUIwMApRUmNSU1h5WEVyTFg0Rk5CVUpkREFMNmZKVUtZM0x0UUpscFNGaEZNY3N3bER6cjRQMkJYYVlwWWN3MGM5L1dqClB6ZHV5bXdtRUtZWUZIMW00OFhBSkZLSmFqT09SNzFjcVVBekRMTlFaZlpyRlRXYk5OSGNuaFdKQkNrSXk0YlgKQStFSDNwRERVSllhZ2drcThhbVFhdjlKS2hJOXF6Q1prQ3NsQmw4ejg0aklMU3pvSVhPY0dOM2ZXNHI5MDRjZgp3ODRwM3FMV3BZUlJPVnkwdnVPZWkxL0F1MkhMSjJGSHRFVm1RcUFHb3hraGpEOFZhZm9ickVUUQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=", "Store": "default" }, @@ -531,7 +531,7 @@ "domain": { "main": "recipes.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCekNDQk8rZ0F3SUJBZ0lTQlhkblhTaEN1OFJxR25sblZpN2VkWUJLTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRJME1UY3hPVEEwV2hjTk1qWXdNakl5TVRjeE9UQXpXakFoTVI4d0hRWURWUVFECkV4WnlaV05wY0dWekxtRjBhR0ZzYVdGd2NITXVlSGw2TUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEEKTUlJQ0NnS0NBZ0VBd0MxeU9mckpEc2Y4Qks5WjlNUm9UczJ0bURkVEJJSjlibytmNkFkRXdWSEk3bmoyZFpneQp1NkxBejlxZ2tmZTJKTmpLZXZxMU4yOEZYK3BsVXg0WDFqNnFZcWZnZ2dqQzFFdW5vTWs3VWtVWkVySkNwdld1CjFWQnUxSityQTA2aldtb0dXVkQ4YmZDRExENE0ydDlKRTFBREJaTUlCUEZMQWl5a1ZmOVR5YVNBSW5rVzZiYjEKMW9tQ0xrUmNicHh6RTllSkZCV2xpODRPN3pBUVF2aUxIbVdkbGtEdkhTMkVnZEFIZStiOVhmWEVVMzRSN0xJQQpEN29FOVEvb0JSMHFkejBsZmplR2hQVVN3V1JSWVJ0bDNWOCsxcjEzNUNudmJ5MTVkbGdwK3lPMGo0K2tibDBwClV1UzA2SHVPUVp4eXZuYnFHeTVPd3FuSldoUjJ1YnJiUFZsMkJtZ0laYjRIU2UvUHdiSTFYdVRneFB4K0wwb0UKOVArNXlGcmtJeUJKMExBczFDZEhDRmUrTWdQU2pIbExhTVhoV1ZXMjFjcnZxNENlQWRrZzBsbTVYRk9aM1VoSApaTWpNSTNnd05pd2EzZDQrTkdPUThtWWd1TWJWeXZ0MlM2MkFTcVB0OG5WWUhEcFRhVG1tOGdqeGpOR05YVTNmCnVDZ0o3d3JmU0VXRGRnM3NhR2RqbUVKeHBLdnlBazBmeExYdmdsbGVQZzNSMkVyMkxacmtmQlNsM3B2WHl5dzYKVGlOTVlsM1VzY1YxRmh2a2p5K2dTQmlPV0R0VXhHM0w2ZGZuaHBhU0ZWMDdLMldBLzN2UjcwYWZkOEZkZmZ6QQprS2NVMXdDMllOY00rQjFEYlVITzFDNVpRWXQwNkRBeVVZSndkcThNTnFLb3hIS0pLRmluZzQ4Q0F3RUFBYU9DCkFpVXdnZ0loTUE0R0ExVWREd0VCL3dRRUF3SUZvREFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQVFZSUt3WUIKQlFVSEF3SXdEQVlEVlIwVEFRSC9CQUl3QURBZEJnTlZIUTRFRmdRVVBKT0ZJNDdHTDVxblh3Lzd2aWE4VmkrNwpmT2d3SHdZRFZSMGpCQmd3Rm9BVTU2dWZEeXd6b0ZQVFhrOTR5TEtFRGp2V2tqTXdNd1lJS3dZQkJRVUhBUUVFCkp6QWxNQ01HQ0NzR0FRVUZCekFDaGhkb2RIUndPaTh2Y2pFekxta3ViR1Z1WTNJdWIzSm5MekFoQmdOVkhSRUUKR2pBWWdoWnlaV05wY0dWekxtRjBhR0ZzYVdGd2NITXVlSGw2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQgpNQzRHQTFVZEh3UW5NQ1V3STZBaG9CK0dIV2gwZEhBNkx5OXlNVE11WXk1c1pXNWpjaTV2Y21jdk56VXVZM0pzCk1JSUJBd1lLS3dZQkJBSFdlUUlFQWdTQjlBU0I4UUR2QUhZQUdZYlV4eWlxYi82NkEyOTRLazBCa2FyT0xYSXgKRDY3T1hYQkJMU1ZNeDlRQUFBR2F0eFhibFFBQUJBTUFSekJGQWlFQWlJQUhFUFp0VVA4OFZpZEdrQ3gvcDF2VgptYnhIM1VNbDQvdW9nR1dLd3RBQ0lCRmppcGllWGhVRmNNaHo0bVd1cGJnb0JXbWdSd0ppSXZTQnBkZ0xRWVBlCkFIVUFTWnliYWQ0ZGZPejhOdDdOaDJTbXVGdXZDb2VBR2RGVlV2dnA2eW5kK01NQUFBR2F0eFhibFFBQUJBTUEKUmpCRUFpQWpZalhuMTJvSUlLMUd0NFJISXhhdFFuWmozNUxIa2JmMlpKTWRQVllMNlFJZ1R2S1hDQksyVjBQVQpMdFl2dVNNM0o4QjdlQVZvcy9IWjlvYkNmS0ZFcEpJd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFEZDNUQmhmCjlOU3BDOXJDTUdOTXQwejJla0NOTjl3S3FKS2RZS25LdXpBZVNNT1RUUFp4K3VhaVFQWGZqN2VzVENXVHBsQmgKMVpFZDlnZU4yQXhiVldHWmkxMS9aUnoyOVlsU3lyc2JydWFKcmxjNElCTjh5MkQxa2ZDelZZcDJJMGxLeFpwMwpJdXc3akVhRzBtQ0p2endJd09xcUJyZHNUOW4wZjg2MDZVMTJNUjR4WnR4RitzWTVYOXM0bG1KcDNWMVNmL3FlCld1NmJKei9uR21DcU5FZUZaYnlkNnhDTHJqTld3QkhaazZUODVic04vdFRvUVBUR1ZsbVhKZUtsWTVKK1FqaWUKcFZRU3lJN1NBV25weUl1R0M5b0J4R1IwdXpGek9LREcySTlWOGxHcEJhdjdVWmJCUjBtcTBWMG9qWlQ5OHZmOAp6TWtFRTFVNGdsZjZQWjQ9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQlRDQ0F1MmdBd0lCQWdJUVdnRHlFdGpVdElEemtrRlg2aW1EQlRBTkJna3Foa2lHOXcwQkFRc0ZBREJQCk1Rc3dDUVlEVlFRR0V3SlZVekVwTUNjR0ExVUVDaE1nU1c1MFpYSnVaWFFnVTJWamRYSnBkSGtnVW1WelpXRnkKWTJnZ1IzSnZkWEF4RlRBVEJnTlZCQU1UREVsVFVrY2dVbTl2ZENCWU1UQWVGdzB5TkRBek1UTXdNREF3TURCYQpGdzB5TnpBek1USXlNelU1TlRsYU1ETXhDekFKQmdOVkJBWVRBbFZUTVJZd0ZBWURWUVFLRXcxTVpYUW5jeUJGCmJtTnllWEIwTVF3d0NnWURWUVFERXdOU01UTXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUsKQW9JQkFRQ2xaM0NOMEZhQlpCVVhZYzI1QnRTdEdaQ01KbEEzbUJaamtsVGIyY3lFQlpQczArd0lHNkJnVVVOSQpmU3ZIU0phZXRDM2FuY2duTzFlaG42dncxZzdVRGpES2I1dXgwZGFrblRJK1dFNDFiMFZZYUhFWC9EN1lYWUtnCkw3SlJiTEFhWGJoWnpqVmx5SXVocnhBMy8rT2NYY0pKRnpUL2pDdUxqZkM4Y1N5VERCMEZ4THJIemFySlhuelIKeVFIM25BUDIvQXBkOU5wNzV0dDJRbkRyOUUwaTJnQjNiOWJKWHhmOTJuVXVwVmNNOXVwY3R1QnpwV2pQb1hUaQpkWUorRUovQjlhTHJBZWs0c1FwRXpOUENpZlZKTllJS05MTWM2WWpDUjA2Q0RnbzI4RWRQaXZFcEJIWGF6ZUdhClhQOWVuWmlWdXBwRDBFcWlGd1VCQkREVE1yT1BBZ01CQUFHamdmZ3dnZlV3RGdZRFZSMFBBUUgvQkFRREFnR0cKTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQ0JnZ3JCZ0VGQlFjREFUQVNCZ05WSFJNQkFmOEVDREFHQVFILwpBZ0VBTUIwR0ExVWREZ1FXQkJUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QWZCZ05WSFNNRUdEQVdnQlI1CnRGbm1lN2JsNUFGemdBaUl5QnBZOXVtYmJqQXlCZ2dyQmdFRkJRY0JBUVFtTUNRd0lnWUlLd1lCQlFVSE1BS0cKRm1oMGRIQTZMeTk0TVM1cExteGxibU55TG05eVp5OHdFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3SndZRApWUjBmQkNBd0hqQWNvQnFnR0lZV2FIUjBjRG92TDNneExtTXViR1Z1WTNJdWIzSm5MekFOQmdrcWhraUc5dzBCCkFRc0ZBQU9DQWdFQVVUZFlVcUVpbXpXN1Rick95cExxQ2ZMN1ZPd1lmL1E3OU9INWNITENaZWdnZlFoRGNvbmwKazdLZ2g4YjB2aSsvWHVXdTdDTjhuL1VQZWcxdm8zRyt0YVhpcnJ5dHRoUWluQUhHd2MvVWRiT3lnSmE5enVCYwpWeXFvSDNDWFRYREluVCs4YStjM2FFVk1KMlN0K3BTbjRlZCtXa0RwOGlqc2lqdkV5RndFNDdodWxXMEx0empnCjlmT1Y1UG1yZy96eFdiUnVMK2swREJESEVKZW5uQ3NBZW43YzM1UG14N2pwbUovSHRnUmhjbnoweWpTQnZ5SXcKNkwxUUl1cGtDdjJTQk9EVC94REQzZ2ZRUXlLdjZyb1Y0RzJFaGZFeUFzV3Btb2p4akNVQ0dpeWc5N0Z2RHRtLwpOSzJMU2M5bHliS3hCNzNJMitQMkczQ2FXcHZ2cEFpSENWdTMwalc4R0N4S2RmaHNYdG5JeTJpbXNrUXFWWjJtCjBQbXhvYmIyOFR1Y3I3eEJLN0N0d3ZQcmI3OW9zN3UyWFAzTzVmOWIvSDY2R055UnJnbFJYbHJZakkxb0dZTC8KZjRJMW4vU2d1c2RhNld2QTZDMTkwa3hqVTE1WTEybUhVNCtCeHlSOWN4MmhoR1M5ZkFqTVpLSnNzMjhxeHZ6NgpBeHU0Q2FEbVJOWnBLL3BRclhGMTd5WENYa21FV2d2U09FWnk2WjlwY2JMSVZFR2NrVi9pVmVxMEFPbzJwa2c5CnA0UVJJeTB0SzJkaVJFTkxTRjJLeXNGd2JZNkIyNkJGZUZzM3Yxc1lWUmhGVzluTGtPclFWcG9yQ1MwS3labWYKd1ZEODlxU1RsbmN0TGNabklhdmpLc0tVdTFuQTFpVTB5WU1kWWVwS1I3bFdibndoZHgzZXdvaz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCekNDQk8rZ0F3SUJBZ0lTQlhTblBTRTVqaUtqN1kydWF4WGdUN0lQTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRJME1UWXdORFEzV2hjTk1qWXdOREkwTVRZd05EUTJXakFoTVI4d0hRWURWUVFECkV4WnlaV05wY0dWekxtRjBhR0ZzYVdGd2NITXVlSGw2TUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEEKTUlJQ0NnS0NBZ0VBd0MxeU9mckpEc2Y4Qks5WjlNUm9UczJ0bURkVEJJSjlibytmNkFkRXdWSEk3bmoyZFpneQp1NkxBejlxZ2tmZTJKTmpLZXZxMU4yOEZYK3BsVXg0WDFqNnFZcWZnZ2dqQzFFdW5vTWs3VWtVWkVySkNwdld1CjFWQnUxSityQTA2aldtb0dXVkQ4YmZDRExENE0ydDlKRTFBREJaTUlCUEZMQWl5a1ZmOVR5YVNBSW5rVzZiYjEKMW9tQ0xrUmNicHh6RTllSkZCV2xpODRPN3pBUVF2aUxIbVdkbGtEdkhTMkVnZEFIZStiOVhmWEVVMzRSN0xJQQpEN29FOVEvb0JSMHFkejBsZmplR2hQVVN3V1JSWVJ0bDNWOCsxcjEzNUNudmJ5MTVkbGdwK3lPMGo0K2tibDBwClV1UzA2SHVPUVp4eXZuYnFHeTVPd3FuSldoUjJ1YnJiUFZsMkJtZ0laYjRIU2UvUHdiSTFYdVRneFB4K0wwb0UKOVArNXlGcmtJeUJKMExBczFDZEhDRmUrTWdQU2pIbExhTVhoV1ZXMjFjcnZxNENlQWRrZzBsbTVYRk9aM1VoSApaTWpNSTNnd05pd2EzZDQrTkdPUThtWWd1TWJWeXZ0MlM2MkFTcVB0OG5WWUhEcFRhVG1tOGdqeGpOR05YVTNmCnVDZ0o3d3JmU0VXRGRnM3NhR2RqbUVKeHBLdnlBazBmeExYdmdsbGVQZzNSMkVyMkxacmtmQlNsM3B2WHl5dzYKVGlOTVlsM1VzY1YxRmh2a2p5K2dTQmlPV0R0VXhHM0w2ZGZuaHBhU0ZWMDdLMldBLzN2UjcwYWZkOEZkZmZ6QQprS2NVMXdDMllOY00rQjFEYlVITzFDNVpRWXQwNkRBeVVZSndkcThNTnFLb3hIS0pLRmluZzQ4Q0F3RUFBYU9DCkFpVXdnZ0loTUE0R0ExVWREd0VCL3dRRUF3SUZvREFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQVFZSUt3WUIKQlFVSEF3SXdEQVlEVlIwVEFRSC9CQUl3QURBZEJnTlZIUTRFRmdRVVBKT0ZJNDdHTDVxblh3Lzd2aWE4VmkrNwpmT2d3SHdZRFZSMGpCQmd3Rm9BVTU2dWZEeXd6b0ZQVFhrOTR5TEtFRGp2V2tqTXdNd1lJS3dZQkJRVUhBUUVFCkp6QWxNQ01HQ0NzR0FRVUZCekFDaGhkb2RIUndPaTh2Y2pFekxta3ViR1Z1WTNJdWIzSm5MekFoQmdOVkhSRUUKR2pBWWdoWnlaV05wY0dWekxtRjBhR0ZzYVdGd2NITXVlSGw2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQgpNQzRHQTFVZEh3UW5NQ1V3STZBaG9CK0dIV2gwZEhBNkx5OXlNVE11WXk1c1pXNWpjaTV2Y21jdk1UWXVZM0pzCk1JSUJBd1lLS3dZQkJBSFdlUUlFQWdTQjlBU0I4UUR2QUhVQVNaeWJhZDRkZk96OE50N05oMlNtdUZ1dkNvZUEKR2RGVlV2dnA2eW5kK01NQUFBR2I4UFhGYWdBQUJBTUFSakJFQWlBR3hLR3JJdXdoOWNwVmtLdTROWkZrRGRsNwo1ZU5XMDkvN0kra21zbWg3OHdJZ1ovNC82ODNUMzVidFRvdkMzc2pxb0lib3hzTzc4c1lCZmFHdWFwYm41YndBCmRnRFJicW1sYUFkK1pqV2dQemVsM2J3RHBUeEJFaFRVaUJqMTZUR3pJOHVWQkFBQUFadnc5Y2RKQUFBRUF3QkgKTUVVQ0lRRFpuRU5KYkNzbnR1bU1vZjdmYkorRWNqMEJxZVNGMUYzMWJWSlAxT21BTlFJZ0pLdnVONnFWblFXcQowaHJDRnhHQmk1WXpHSVI1VEIyZUNxQTFJbC9aR1Zzd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFKUWpRY1hkCmpSclkvL3N1bVlxRTZCTFFpZ1J3RVhPNnIvN2J6aDdOZE9SbVBUWVVYZE5UWXdKa1U2aDlWMmhscXJCN1o4UFkKT0FNalZZcVh6QXlGS3BOdWhpZmFtV0N6ZE9VUkVmL1JZRHVocEloeUhmbzVPK2F2a2M3YzRPUjJtcDF5ZC9UMQo4ejNDdTF1eGgvd2pwU0Vnei9lay9DRlRDUjB6ZmF0OFpxbklQNDZvZFBGOHRRUmhScXkwdzJGV3RSWkdtSExXCmhMOXpRMjNTMzhWcnRnSWNiVFFjQXNkT1N5d0tXajdqazZCNkZXOGo5dmo1MVZya003RGRXNUZxMFBZVzNxV1MKdEJVTDRwS1NFd1p4NmZ3TkRYMWlaRDBsSDdtTHIwdDdJUE9WWXJJKzhxYy95c2V5bTluU0l6UjNLeS9yNXJNaworb0c3Ti8yeWEycVBkTzg9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQlRDQ0F1MmdBd0lCQWdJUVdnRHlFdGpVdElEemtrRlg2aW1EQlRBTkJna3Foa2lHOXcwQkFRc0ZBREJQCk1Rc3dDUVlEVlFRR0V3SlZVekVwTUNjR0ExVUVDaE1nU1c1MFpYSnVaWFFnVTJWamRYSnBkSGtnVW1WelpXRnkKWTJnZ1IzSnZkWEF4RlRBVEJnTlZCQU1UREVsVFVrY2dVbTl2ZENCWU1UQWVGdzB5TkRBek1UTXdNREF3TURCYQpGdzB5TnpBek1USXlNelU1TlRsYU1ETXhDekFKQmdOVkJBWVRBbFZUTVJZd0ZBWURWUVFLRXcxTVpYUW5jeUJGCmJtTnllWEIwTVF3d0NnWURWUVFERXdOU01UTXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUsKQW9JQkFRQ2xaM0NOMEZhQlpCVVhZYzI1QnRTdEdaQ01KbEEzbUJaamtsVGIyY3lFQlpQczArd0lHNkJnVVVOSQpmU3ZIU0phZXRDM2FuY2duTzFlaG42dncxZzdVRGpES2I1dXgwZGFrblRJK1dFNDFiMFZZYUhFWC9EN1lYWUtnCkw3SlJiTEFhWGJoWnpqVmx5SXVocnhBMy8rT2NYY0pKRnpUL2pDdUxqZkM4Y1N5VERCMEZ4THJIemFySlhuelIKeVFIM25BUDIvQXBkOU5wNzV0dDJRbkRyOUUwaTJnQjNiOWJKWHhmOTJuVXVwVmNNOXVwY3R1QnpwV2pQb1hUaQpkWUorRUovQjlhTHJBZWs0c1FwRXpOUENpZlZKTllJS05MTWM2WWpDUjA2Q0RnbzI4RWRQaXZFcEJIWGF6ZUdhClhQOWVuWmlWdXBwRDBFcWlGd1VCQkREVE1yT1BBZ01CQUFHamdmZ3dnZlV3RGdZRFZSMFBBUUgvQkFRREFnR0cKTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQ0JnZ3JCZ0VGQlFjREFUQVNCZ05WSFJNQkFmOEVDREFHQVFILwpBZ0VBTUIwR0ExVWREZ1FXQkJUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QWZCZ05WSFNNRUdEQVdnQlI1CnRGbm1lN2JsNUFGemdBaUl5QnBZOXVtYmJqQXlCZ2dyQmdFRkJRY0JBUVFtTUNRd0lnWUlLd1lCQlFVSE1BS0cKRm1oMGRIQTZMeTk0TVM1cExteGxibU55TG05eVp5OHdFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3SndZRApWUjBmQkNBd0hqQWNvQnFnR0lZV2FIUjBjRG92TDNneExtTXViR1Z1WTNJdWIzSm5MekFOQmdrcWhraUc5dzBCCkFRc0ZBQU9DQWdFQVVUZFlVcUVpbXpXN1Rick95cExxQ2ZMN1ZPd1lmL1E3OU9INWNITENaZWdnZlFoRGNvbmwKazdLZ2g4YjB2aSsvWHVXdTdDTjhuL1VQZWcxdm8zRyt0YVhpcnJ5dHRoUWluQUhHd2MvVWRiT3lnSmE5enVCYwpWeXFvSDNDWFRYREluVCs4YStjM2FFVk1KMlN0K3BTbjRlZCtXa0RwOGlqc2lqdkV5RndFNDdodWxXMEx0empnCjlmT1Y1UG1yZy96eFdiUnVMK2swREJESEVKZW5uQ3NBZW43YzM1UG14N2pwbUovSHRnUmhjbnoweWpTQnZ5SXcKNkwxUUl1cGtDdjJTQk9EVC94REQzZ2ZRUXlLdjZyb1Y0RzJFaGZFeUFzV3Btb2p4akNVQ0dpeWc5N0Z2RHRtLwpOSzJMU2M5bHliS3hCNzNJMitQMkczQ2FXcHZ2cEFpSENWdTMwalc4R0N4S2RmaHNYdG5JeTJpbXNrUXFWWjJtCjBQbXhvYmIyOFR1Y3I3eEJLN0N0d3ZQcmI3OW9zN3UyWFAzTzVmOWIvSDY2R055UnJnbFJYbHJZakkxb0dZTC8KZjRJMW4vU2d1c2RhNld2QTZDMTkwa3hqVTE1WTEybUhVNCtCeHlSOWN4MmhoR1M5ZkFqTVpLSnNzMjhxeHZ6NgpBeHU0Q2FEbVJOWnBLL3BRclhGMTd5WENYa21FV2d2U09FWnk2WjlwY2JMSVZFR2NrVi9pVmVxMEFPbzJwa2c5CnA0UVJJeTB0SzJkaVJFTkxTRjJLeXNGd2JZNkIyNkJGZUZzM3Yxc1lWUmhGVzluTGtPclFWcG9yQ1MwS3labWYKd1ZEODlxU1RsbmN0TGNabklhdmpLc0tVdTFuQTFpVTB5WU1kWWVwS1I3bFdibndoZHgzZXdvaz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBd0MxeU9mckpEc2Y4Qks5WjlNUm9UczJ0bURkVEJJSjlibytmNkFkRXdWSEk3bmoyCmRaZ3l1NkxBejlxZ2tmZTJKTmpLZXZxMU4yOEZYK3BsVXg0WDFqNnFZcWZnZ2dqQzFFdW5vTWs3VWtVWkVySkMKcHZXdTFWQnUxSityQTA2aldtb0dXVkQ4YmZDRExENE0ydDlKRTFBREJaTUlCUEZMQWl5a1ZmOVR5YVNBSW5rVwo2YmIxMW9tQ0xrUmNicHh6RTllSkZCV2xpODRPN3pBUVF2aUxIbVdkbGtEdkhTMkVnZEFIZStiOVhmWEVVMzRSCjdMSUFEN29FOVEvb0JSMHFkejBsZmplR2hQVVN3V1JSWVJ0bDNWOCsxcjEzNUNudmJ5MTVkbGdwK3lPMGo0K2sKYmwwcFV1UzA2SHVPUVp4eXZuYnFHeTVPd3FuSldoUjJ1YnJiUFZsMkJtZ0laYjRIU2UvUHdiSTFYdVRneFB4KwpMMG9FOVArNXlGcmtJeUJKMExBczFDZEhDRmUrTWdQU2pIbExhTVhoV1ZXMjFjcnZxNENlQWRrZzBsbTVYRk9aCjNVaEhaTWpNSTNnd05pd2EzZDQrTkdPUThtWWd1TWJWeXZ0MlM2MkFTcVB0OG5WWUhEcFRhVG1tOGdqeGpOR04KWFUzZnVDZ0o3d3JmU0VXRGRnM3NhR2RqbUVKeHBLdnlBazBmeExYdmdsbGVQZzNSMkVyMkxacmtmQlNsM3B2WAp5eXc2VGlOTVlsM1VzY1YxRmh2a2p5K2dTQmlPV0R0VXhHM0w2ZGZuaHBhU0ZWMDdLMldBLzN2UjcwYWZkOEZkCmZmekFrS2NVMXdDMllOY00rQjFEYlVITzFDNVpRWXQwNkRBeVVZSndkcThNTnFLb3hIS0pLRmluZzQ4Q0F3RUEKQVFLQ0FnQlRuRElqT1pINkJWWUhMOGRDYjZVMkM5UW44b0lDNTBidE1EMlE5SUNjWHhtOWJ4RkRUa2xjUzAzNQo0Sk9WamlGSDNLNFRYVG8wZU8vc3NBMFBZWHRiY2Y0dFYvNmNkSFZYYWVidlZEMmo2SDRsSFR0VWFuVjdSemhBCjk0cXVzS3J2Ymt0KzFuWk0ycVFuUG9QWFFlZ0lKL3A0bFdTYXllUXBlUVN5aVppSmxURk9Ua0tDd21Bb3k4REEKb210WWtHYWN6bHhNU2JLeHBaL252cENFb3AvY1JMZVFKSVlqdXFiNDEybzZKT0E4M2UxaHFlcmdnUHozMnFYSApmUGtrS0hGT1dXTVRpOUxSeTlJeUk1UW9YSVF3RVAxRTdqL1lHOHFaSXo3Q0YwK0VmUjlVaWxrdXp3ZG9raXFICkx5SlFOMkhRcmVuaWszNGV3VUhpR0I4alpVRjJxSUhGLzNBc1E3Qi9zRjJUb3Z3Sk5vTkllNDB4bWRCVHJCbWoKQkpSd01PL0xIWlByUWNENjdJRXlFS2t3c3ZPeFV0dFhEbm5aRUp6UU9XM20zYnBpdUk5WERPaFpBZlE3Qlc3YQpOc2YyNEE3Si9PMm5zUGdNUTlVS2phdjRrNlV3R0lNcmMvT0QrSHo3STBRdGI4RnFXYVBCaHBpMFRwcVYzNFpDCjFQNW5Qa3QrN0hPdE04UUc1cHBXdFMxNWZiWndNSkpMRm9tT2FRNDA5WTR1T01JVlA4YnR0bFNZZ0ZOZmhrZHQKN01zOGlnS1Q1RWMwdHNTOWgyQkgzNkRXMXlXV0xCNFBKNHFyUFB1MUc2aURhaUxMamRjclR0Q2kvbEZ0dU5JSAovYm9VNHNNQ0Y4UWd6dmVKeHNoMi9hYml0aG93WEkvTjJ2SElQMW1GREZnaG12c2xDUUtDQVFFQXg3bldMTjRoCmFxV0ZBQk91a2xTQjRjNE9zam9DQ0R6Um5CZTdId213WENVV2QzOTROTkM2K0Z1bGJhU3o5OUNsSnc1eUxqUFkKZGJWaEVoMGJFb3VTcklRaVpaT1pPRUtUcUJlbzREaktNTFR3TkpGSE9teDdkd08xWDhNUGhZcTloT2tyV3lwdQoyVTQ0S2x1ZEIwTUJoc0R1RDhncVJ1bFU3Yk5pMW5US2c2Vk92akZwcWZmVFNHWVRDZWYzZEdDcG1FYi9DbWNiCmdtaHFOMGY5cXpiSTViNFh2TVNtZUtnTUIvM1V6QTZJVDFwdDBJeXNHbXRZSTBsR05xeDFDSnppdEd4aGh1cFQKYUlhcTI2TFFlRG5nZGRrSjBJcFpoNHZsUEM2R3p6UG5WdkpDZVMxT2pZTW9FQ3R3Y2psdjlmQVF5SGwxSjhDUgpUcXZITVNsVzEzQmJnd0tDQVFFQTlsTWxZaU45cS9ic1kzczNDcnB4Y2tHMGNTblowaXdrMG1lK3dzL2JHL3ptCklaZndNMlE1QTZrMEtQa1Y3T3VKOG96UmttK1MwWWpCRFRReVdaTVFIbU42TWRXZk12OFNLNFpxQVVFT2NmekQKc1FYakxoNXBPL0E4R0RZbVVNZGRxUDhYaU9vVitZZmVub2hUTWpHMnJhNGVRV1ZJekFVK0ZWcmhpckluaGRtTApzdSthTnRlZTJWVzZNNWhET0ZsR00vSjZ6clp5UWdqK1I4eHRxYnYrVUw1RDl1MXgybXY4SFU4M0w4WVltMVBPCk9GOEVGQnQ3STd3S1Y2N1ZUSFFXS1h4SVZ6a3c3QzBXOHlJeiszTGZUaWtRZkMvNHJnUmJUM2JKSnV4c09RcWoKdXkxQWhCUWt1dlQ2RU5heGVVVVRyTjByNWs3SldSdWxsVGk2SDhRK0JRS0NBUUFFOVZVZTJnamtWK1djWWVDMAptMHA2SzU1cnlFcmluM2Zvc3lJZkhDTjN0aWYvb1hkL2dDc1VIVnBYQlg2K1NUekFZbmh0TXpaTmZjcENJOXpYCk1nWGJLSkNlQ3ZNRDFZdEs0Z044Ull5bmR1Wjd0NXVZRkxkZjlnU2Jzd0VBcExnZHc1Z2k5RU82TzFuam0xQ2oKcklNdU1EMzR3RlJrWEVpU2VpQ2JDRjA2dFhEbUFkNElyVEZlbThJZlBkWUQycDU3UEUvNmx5SzBzeGpuOUc2VQp3SkJ1TzdEbEs5Q2lNREhVUlBYeWR1M2xZbTVWZmhpTHMxeUZ5N3psZ0pTTE9USGJudEV4QTBJODF4TUl6dHIwCkVTUEVhVFg0S21jY21WbUFpL3NteTdnVGpZSWU5Z1A4T1dSV09tM1pPQm5TZGpwRWI5ZDd2Q2tmVmQ1bEZ3eWoKM3BNM0FvSUJBUUNlSlN1dklsSWhBZHNxMDRTM0lwU0xZcHZTdTZmWlEvWXdEK050ZDcyWTdubGh3QWE3Ti9GUwo1R05VbXZiMHNSUlQ0UXo4RXg0VDROVHhBVDRDUEdUdzNiVXFJWmlnU1JzRlRycm9LemgyL20wMVRpNVpBYlZXCmdocFRBUkVBYzc4eUxQU1ROcGI5S2JwSDFnWjBCMjdkZXhoNXErbGM4MUMwclRCNHQ0Q2djdGM1L3BMbit1OUYKWWNDMk4xK1E0ZUFzb2RVdXVmd0pZWFMvN0FQTUlhSlpmSTV1RG13MmEzWGw2MkhuRGl2bUxad01uUlFsUks5KwpkYysrRThWbDNISU9HSGpwWnhKOXowVVl2RERia3hqRE9hSVgyVVN6bEtCN0dDeDFEUDArY2hKRXJmenB6M1QxCmd5cTVmTjFjbW5qVFZ2eEVWUGo0ZU1PS1ZtMUl6OWx4QW9JQkFBVkg4N1NuUHNZclpGdVovVTBaR213MG1BZU4KVWlkUjVMd2FZcUFNTUcySU5YN3dVL1ZRSE1wOHJLLzFMNytqd0xnTXlBRExjMmJGNlpDbU51VmgzaElFOWl4RApnbm9Yd1NsVjU0b0xGdTd6a2RKTUdKTWFRL3orM3gzZWtjdDcyTWRoMVMxelFhWnFpRzNPNHZLMkxOa2IxeTZmCjdMMitIV1AzanpyelUrS056aW9Gdmw0cjBiM1BRWHBVZVoxcVM4WDBVQ3hqL1FUR2FQUTVuSHZaV2VkSGlaZ2wKRk4wSEtjOWorZDlCcFRnbk9zTHkrTVdNMGp5VXJvSnVmRG80anJ3NS9qREw0ZXlYT09reXB2VmpWTk1kQXZYRQo2QTlUQmkyaVEzYXNFbGRnYXhuNVR2SzFaeTVkY3NyazVPRmJUeDNEWjNFQ1lWY25xaFRFd0VrTnBzVT0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -539,7 +539,7 @@ "domain": { "main": "siyuan.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdERENDQlBTZ0F3SUJBZ0lTQmdlRTlkSTc1TXkycjJ1emxRSEpIOTRuTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TWpBek1UY3hPVEEwV2hjTk1qWXdNekF6TVRjeE9UQXpXakFnTVI0d0hBWURWUVFECkV4VnphWGwxWVc0dVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUURjd3dDTGg3S3l3ZGhIalBmWkxCcitmUVRkbXc3QUxVeTBsbjZ4SDJUVklCb2wzSERBUThDWQpDRGpjdnVKQk13dk1nSm4vUUhySTNUdDBCdmdWRlV1U3dJcHNyYjlCOTQ1bVZzZmJEUG1JWSs3eFpUcDkycy9GCmVSa1BGTnRMQzdzeFpqWnpkUk5RN1N1bExVQVhhWDFqTGgrSnFVOXBEODA5MnJEVE1HWkhJaGZ3d0NPaVJ2aHEKazJFUHNYT3ovVHNyb25UZi9Ya0hZVzNDTkZObFF3bjUxcFcrNWZIa0NaNTJQREZZbzVrSFppYzRrZWNNelhmcgo2a2R1R3hnZWp3bXhDRFIwaWx0M1MvSzFRVlNJQ3VSd1dqZm56aHFqWEtCaHVQQTh0YnhQUlJmTVFtaG1BZldOCmpKQ0NEOEpZWC9oMEttZ01MUm9NWU94TzZPNzhXQUo5aHRpNUVhMTdybkZ6SUNXK2dqcks0U2dlQm44ekNsaDYKTjRhdlpwZFMxVm1lZFV1UytCSEFIRHIwTzVQMWJtSG9NVE1aZjhRQlV1eERXcFQ0cXZqZGhyWk5tVFNlbG1xYwo2TkpQUVVkQzZ5RXBzbXZkeEp1cWkyK3NWczdyWUZVWkhaVmQ1TnR4N2I5emxkTjFyWXUxbmlIV0FtaHljK3Q2Cmh5M2ZuQ0djQVV3VU9zY2xPTmp3UVJhSGtoZmFUemorSzA5Z2ZYK0N1SEpKL1JkOXYvd09zRTh3L20zMmpXd1MKWmQwMllhN0ZZcnRRbHNFWmk4dGliUktJbnJTTklYVWQ1NDhWTkhXRFpCdHIzTi80cTRibGpTQ3NzRkdPeGhwcwpvK1Y1MDhCTDQwWFk4UkFpTWIxMFRnZ3JCR2ZveWIzRGsxcEhOTWpCZDN4SUtzenlzeUlYY3dJREFRQUJvNElDCkt6Q0NBaWN3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJSMnlzQm9iN3lIMGVWRnFwcFFYUjVJNnhadQp0REFmQmdOVkhTTUVHREFXZ0JUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRNdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZYTnBlWFZoYmk1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdQpCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dmNqRXpMbU11YkdWdVkzSXViM0puTHpRd0xtTnliRENDCkFRb0dDaXNHQVFRQjFua0NCQUlFZ2ZzRWdmZ0E5Z0IxQUdRUnhHeWtFdXluaVJ5aUFpNEF2S3RQS0FmVUhqVW4KcStyKzFRUEpmYzN3QUFBQm11VnZHbHdBQUFRREFFWXdSQUlnY0VFanhQaUlGQTJiREFvUU51TmY3ZzJzZ0o5OApmc3lkYnBoQWhPYmVqNTRDSUVLRjF3NDE4RmFZQlVFQUVLWHFnOWRtM1p5SW5HYzl0Mk52aUpMMTVVZDZBSDBBCjR5T044bzJpaU9DcTRLencrcERKaGZDMnYvWFNwU2V3QWZ3Y1JGakV0dWdBQUFHYTVXOGNKQUFJQUFBRkFDZUQKSmdVRUF3QkdNRVFDSUFQdWdESm43cHo2QXhJV29HeG5Nb3ZVYURLVmU4SFBMclB4VVpOVmZIc2tBaUJTRkpseAptV1FhRVVnUkJibU9yRHNWektscGpSZkhqWkQ3cC8vcUlZNnoxVEFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBCll4N2x0WW1ZaGx5Zkw0eTR4bnArbm1DQTA1ZG1KblpKbk5UUFhQL1BJMGFyenRIVlJrVkJua1BpQnowRGZOSkwKaG1UZmZHTXlqNW1McHVuWk95TWxjQXYwK09jd3VKWTBCMmh1UHRrbDdoL2s4WWQwNG9jbit6NWJGRElIdFY3dQpVaEljcEppNTRvOFBhYU1wVHFocmJmNm9WL1F4cm9sR292ZlpaWVpHN3dJbmxrUWJjdXB1bkI1dDI1UWJMcDZ4Cm5ZQVNtQVRiMVo2TEluQ2NmOUZxYjR6S0Z1QWVsSDUvODdmcVBLd3Q3ZURGOFQ3NUhFSExPTlZ6L1NDR2RxSkUKdDVjZnNBUmd2LzFncmpTK1FvM0d2eFRQUnlCbkVEUDIwTVpBK0toREd5Uk1ITmFPUzRUN3RvQS9hZm94TXpPMwptZjRhTXc4dHlhTUErOGU3YTg1WkJBPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCVENDQk8yZ0F3SUJBZ0lTQlN1N3V4a0pvZG1tTU8yalhWSHdMSUZFTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TWpBeU1UWXdORFEwV2hjTk1qWXdOVEF6TVRZd05EUXpXakFnTVI0d0hBWURWUVFECkV4VnphWGwxWVc0dVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUURjd3dDTGg3S3l3ZGhIalBmWkxCcitmUVRkbXc3QUxVeTBsbjZ4SDJUVklCb2wzSERBUThDWQpDRGpjdnVKQk13dk1nSm4vUUhySTNUdDBCdmdWRlV1U3dJcHNyYjlCOTQ1bVZzZmJEUG1JWSs3eFpUcDkycy9GCmVSa1BGTnRMQzdzeFpqWnpkUk5RN1N1bExVQVhhWDFqTGgrSnFVOXBEODA5MnJEVE1HWkhJaGZ3d0NPaVJ2aHEKazJFUHNYT3ovVHNyb25UZi9Ya0hZVzNDTkZObFF3bjUxcFcrNWZIa0NaNTJQREZZbzVrSFppYzRrZWNNelhmcgo2a2R1R3hnZWp3bXhDRFIwaWx0M1MvSzFRVlNJQ3VSd1dqZm56aHFqWEtCaHVQQTh0YnhQUlJmTVFtaG1BZldOCmpKQ0NEOEpZWC9oMEttZ01MUm9NWU94TzZPNzhXQUo5aHRpNUVhMTdybkZ6SUNXK2dqcks0U2dlQm44ekNsaDYKTjRhdlpwZFMxVm1lZFV1UytCSEFIRHIwTzVQMWJtSG9NVE1aZjhRQlV1eERXcFQ0cXZqZGhyWk5tVFNlbG1xYwo2TkpQUVVkQzZ5RXBzbXZkeEp1cWkyK3NWczdyWUZVWkhaVmQ1TnR4N2I5emxkTjFyWXUxbmlIV0FtaHljK3Q2Cmh5M2ZuQ0djQVV3VU9zY2xPTmp3UVJhSGtoZmFUemorSzA5Z2ZYK0N1SEpKL1JkOXYvd09zRTh3L20zMmpXd1MKWmQwMllhN0ZZcnRRbHNFWmk4dGliUktJbnJTTklYVWQ1NDhWTkhXRFpCdHIzTi80cTRibGpTQ3NzRkdPeGhwcwpvK1Y1MDhCTDQwWFk4UkFpTWIxMFRnZ3JCR2ZveWIzRGsxcEhOTWpCZDN4SUtzenlzeUlYY3dJREFRQUJvNElDCkpEQ0NBaUF3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJSMnlzQm9iN3lIMGVWRnFwcFFYUjVJNnhadQp0REFmQmdOVkhTTUVHREFXZ0JRQXRTbnlMWTV2TWVpYlRLMTRQdnJjNlF6UjBqQXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRJdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZYTnBlWFZoYmk1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdQpCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dmNqRXlMbU11YkdWdVkzSXViM0puTHpZNUxtTnliRENDCkFRTUdDaXNHQVFRQjFua0NCQUlFZ2ZRRWdmRUE3d0IxQUdRUnhHeWtFdXluaVJ5aUFpNEF2S3RQS0FmVUhqVW4KcStyKzFRUEpmYzN3QUFBQm5COU8rRThBQUFRREFFWXdSQUlnWXhGcERGZTNPL3JRQjZROXBadU1hNnZKSnVhYQpDR3NBd2UvWkFONHhvaFFDSUhlTUVzTHZhQ1VUblFmbFVZZHNaUEpsa003SjkwaE9TSG1ha2Z4YWhDek9BSFlBCkRsZVV2UE91cVQ0ekd5eVpCN1Aza04rYndqMXhNaVhkSWFrbHJHSEZUaUVBQUFHY0gwNzRVZ0FBQkFNQVJ6QkYKQWlFQWtxZUVSSDd4UmpnUHl2d3dVWG1qOUREQXhUaEcvUDUvbklWUlZYRi9uZUVDSUNtWW4vckxiUFFhMzkvcwo4NTJRZXhPeUlEZVVzdVpZZFc3eHE5blllb1RnTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFBTjJNT2pjdnp3CnVCbUJEVGtVb1ZZMFkrYVcvMmpNbk9CVjVCVWpoanVUL2lBNVk1VExib09IY29LYkxLZjViWHBTSVpQc2VZQ2cKOStZUkt0dm9BS0dybVdyUDJqU1dRT01MTzFPQzVqV0xwZkF3TFkrZXU1TnRnNW9IOENhNDRpZ2czd2FJTW8zZApQalZuR2dHUitFcXFVczBBWGlxczB6dFBaQlJSaTZoM0Z4cjg5aVBWSjNyNThtY214cWM0N0NWczV6ZDFrWGR3CkZBd1d0Y1VnQ2xjeW8wY2pQS290YXNXeEM5UkRTZXBCdXR0Zjd6Yk5MdFh0cExxVExLVHpBMDEzREt6SWlJNVUKZTVKM0lJdERFTjRwaXAwQU9CMnlzYTZwTGxKcHhseUsyOFdTUnl3UzZLTC9HWjJ1cFE3TTZhOFJBVXM5YzdDTQoyYVNWV3NuaXNKb2YKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCakNDQXU2Z0F3SUJBZ0lSQU1JU01rdHdxYlNSY2R4QTkrS0ZKand3RFFZSktvWklodmNOQVFFTEJRQXcKVHpFTE1Ba0dBMVVFQmhNQ1ZWTXhLVEFuQmdOVkJBb1RJRWx1ZEdWeWJtVjBJRk5sWTNWeWFYUjVJRkpsYzJWaApjbU5vSUVkeWIzVndNUlV3RXdZRFZRUURFd3hKVTFKSElGSnZiM1FnV0RFd0hoY05NalF3TXpFek1EQXdNREF3CldoY05NamN3TXpFeU1qTTFPVFU1V2pBek1Rc3dDUVlEVlFRR0V3SlZVekVXTUJRR0ExVUVDaE1OVEdWMEozTWcKUlc1amNubHdkREVNTUFvR0ExVUVBeE1EVWpFeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQgpDZ0tDQVFFQTJwZ29kSzIrbFA0NzRCN2k1VXQxcXl3U2YrMm5BekorTnBmczZER1BwUk9OQzVrdUhzMEJVVDFNCjVTaHVDVlV4cXFVaVhYTDBMUWZDVFVBODN3RWp1WGczOVJwbE1qVG1obkdkQk8rRUNGdTlBaHFaNjZZQkFKcHoKa0cyUG9nZWcwSmZUMmtWaGdUVTlGUG5Fd0Y5cTNBdVdHckNmNHlycXZTcldtTWViY2FzN2RBODgyN0pndmxwTApUaGpwMnlwelhJbGhaWjcrN1R5bXkwNXY1Sjc1QUVhei94bE5LbU96am1iR0dJVnd4MUJsYnp0MDVVaUREd2hZClhTMGpuVjZqL3VqYkFLSFM5T01aVGZMdWV2WW5udVhObkMyaThuK2NGNjN2RXpjNTBiVElMRUhXaHNEcDdDSDQKV1J0L3VUcDhuMXdCbldJRXdpaTlDcTA4eWhEc0d3SURBUUFCbzRINE1JSDFNQTRHQTFVZER3RUIvd1FFQXdJQgpoakFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdFd0VnWURWUjBUQVFIL0JBZ3dCZ0VCCi93SUJBREFkQmdOVkhRNEVGZ1FVQUxVcDhpMk9iekhvbTB5dGVENzYzT2tNMGRJd0h3WURWUjBqQkJnd0ZvQVUKZWJSWjVudTI1ZVFCYzRBSWlNZ2FXUGJwbTI0d01nWUlLd1lCQlFVSEFRRUVKakFrTUNJR0NDc0dBUVVGQnpBQwpoaFpvZEhSd09pOHZlREV1YVM1c1pXNWpjaTV2Y21jdk1CTUdBMVVkSUFRTU1Bb3dDQVlHWjRFTUFRSUJNQ2NHCkExVWRId1FnTUI0d0hLQWFvQmlHRm1oMGRIQTZMeTk0TVM1akxteGxibU55TG05eVp5OHdEUVlKS29aSWh2Y04KQVFFTEJRQURnZ0lCQUk5MTBBblBhblpJWlRLUzNyVkV5SVYyOUJXRWpBSy9kdXV6OGVMNWJvU29WcEhoa2t2Mwo0ZW9BZUVpUGRaTGo1RVo3RzJBcklLK2d6aFRsUlExcTRGS0dwUFBhRkJTcHFWL3hiVWI1VWxBWFFPbmtIbjNtCkZWaitxWXY4Ny9XZVkrQm00c04zT3g4Qmh5YVU3VUFRM0xlWjdOMVgwMXh4UWU0d0lBQUUzSlZMVUNpSG1aTCsKcW9DVXRnWUlGUGdjZzM1MFFNVUlXZ3hQWE5HRW5jVDkyMW5lN25sdUkwMlY4cExVbUNscVhPc0N3VUx3K1BWTwpaQ0I3cU9NeHhNQm9DVWVMMkxsNG9NcE9TcjVwSkNwTE4zdFJBMnM2UDFLTHM5VFNyVmhPays3TFgyOE5NVWxJCnVzUS9ueExKSUQwUmhBZUZ0UGp5T0NPc2NRQkE1MytOUmpTQ2FrN1A0QTVqWDdwcG1rY0pFQ0wrUzBpM2tYVlUKeTVNZTVCYnJVODk3M2paTnYvYXg2K1pLNlRNOGpXbWltTDZvZjZPclg3WlU2RTJXcWF6enNGckxHM28ya3lTYgp6bGhTZ0o4MUNsNHR2M1NiWWlZWG5KRXhLUXZ6ZjgzRFlvdG94M2YwZnd2N3hsbjFBMlpMcGxDYjBPK2wvQUswCllFMERTMkZQeFNBSGkwaXdNZlcybk5ISnJYY1kzTExIRDc3Z1JnamU0RXZldWJpMnh4YStObWsvaG1oTGRJRVQKaVZERmFub0NyTVZJcFE1OVhXSGt6ZEZtb0hYSEJWN29pYlZqR1NPN1VMU1E3TUoxTno1MXBodURKU2dBSVU3QQowenJMbk9yQWovZGZybEVXUmhDdkFnYnV3TFpYMUEyc2pOalhvUE9IYnNQaXkrbE8xS0Y4L1hZNwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBM01NQWk0ZXlzc0hZUjR6MzJTd2EvbjBFM1pzT3dDMU10Slorc1I5azFTQWFKZHh3CndFUEFtQWc0M0w3aVFUTUx6SUNaLzBCNnlOMDdkQWI0RlJWTGtzQ0tiSzIvUWZlT1psYkgyd3o1aUdQdThXVTYKZmRyUHhYa1pEeFRiU3d1N01XWTJjM1VUVU8wcnBTMUFGMmw5WXk0ZmlhbFBhUS9OUGRxdzB6Qm1SeUlYOE1Bagpva2I0YXBOaEQ3RnpzLzA3SzZKMDMvMTVCMkZ0d2pSVFpVTUorZGFWdnVYeDVBbWVkand4V0tPWkIyWW5PSkhuCkRNMTM2K3BIYmhzWUhvOEpzUWcwZElwYmQwdnl0VUZVaUFya2NGbzM1ODRhbzF5Z1liandQTFc4VDBVWHpFSm8KWmdIMWpZeVFnZy9DV0YvNGRDcG9EQzBhREdEc1R1anUvRmdDZlliWXVSR3RlNjV4Y3lBbHZvSTZ5dUVvSGdaLwpNd3BZZWplR3IyYVhVdFZabm5WTGt2Z1J3Qnc2OUR1VDlXNWg2REV6R1gvRUFWTHNRMXFVK0tyNDNZYTJUWmswCm5wWnFuT2pTVDBGSFF1c2hLYkpyM2NTYnFvdHZyRmJPNjJCVkdSMlZYZVRiY2UyL2M1WFRkYTJMdFo0aDFnSm8KY25QcmVvY3QzNXdobkFGTUZEckhKVGpZOEVFV2g1SVgyazg0L2l0UFlIMS9ncmh5U2YwWGZiLzhEckJQTVA1dAo5bzFzRW1YZE5tR3V4V0s3VUpiQkdZdkxZbTBTaUo2MGpTRjFIZWVQRlRSMWcyUWJhOXpmK0t1RzVZMGdyTEJSCmpzWWFiS1BsZWRQQVMrTkYyUEVRSWpHOWRFNElLd1JuNk1tOXc1TmFSelRJd1hkOFNDck04ck1pRjNNQ0F3RUEKQVFLQ0FnRUF1QTAvOUJSemNNTmFQUFVUWWhWNmYvZmRTYURQNEhzaisxK0pTc1Nndld0aFFYV1M3MGpOVmpOcwpyT1hjSG4yZmRhVTJQdkFVTGtqOEcxVUFHaHZDQVJ6VGk1NGoyYXk2SlNwdXYzc0d3NmFGZk81bm9Ld0FFMlJOCjl4dnRaSmpvUFZ3NVEzTTFZb0FKcGxHZW9LWkxhcGYycFQvcU8rNTNyLzBXOVV2aHlhWnNEVVV6c0VTNU1hbWoKLzRCenRYa0hqdTZId0lORUYxb3NOd0NIRXVLY2U1WmpER0FMbHBKS2Njcm5YVDR3QkZJdm11TlJuWVBrV21UZApucmVxR1RncDNWVzQzZnpJR3lMUHZEdzJiS0dnS09lZXVuMUVDalRjWmZ6WkZkUnlwaWcxbWc4M21PeERPL3NZCk04ZE53WDVwMXZmUC9XN1F5OGMyM09jbzhHdXp6a1ZvYWZpODM4WWVQK0xDZ0xRS2pNbFRUM05tRmtxYlpIS2MKREZsWkJjbVpYM1oyWEFLZG1tbGxiWCtMV0dJbDdDODZPTlo4ZjVjUHpRM2J1N1V2TlEyNVF0T2N4a0hEYk15NgpkZXo5d1VFMlVOYUlJUGNDai92UUx5SXRjSVdxazYwZmFXMk5LTk5GWGEzZWUzWjNRTFNHSEZscUVGbFM1bnFXCkczOFpQZGp4Y2J3cTF3MS83Z1JYcTVlTU4rNm03Yk5CN1NNVk55L3YzU3JkSUd2UVAxbzZFNVB4bGE0U2VpWFAKcExLenprdmJLUE93MWRXN3dnTVNBRndhb1dDc2t4MVFuUGVhSGQ4YlRnaDlzQ3U3bUlPNXcrTUFaMjA1VEZWbwpIbDg5NWR2Q0Z3anJ3TERNTXVLZFgweENGWWtWTldUUkdFOWtISkx3WG9adUFucXdZQUVDZ2dFQkFPd1VKU0Q1CnZTOU9tYVZWTDFsbVJML2wzaGlKNnJBL2Q2N2JiU2M1cmdyYVFUc0xFa3ArNlB1djlEUlpZVWxvU2p3Z0NNOTEKL01wYzN5dnY2dWhUYWo3Skd6dnhmY2sxWEVrOFJlUE0zc3RYSkxWSWJFdllVelhvanFWREJDNDBmaEh6MEUwaQpIR2FBQmNnWVoxWmZ3OXlEK1cwNFlrM2FkNit5K1dzSWcwZHN4Z3FyM1FXWXc5S0lrdUd3b1NKNmJYWWpFaHhqCk5FSHZnRE0zTUQ2U00yMWF0b2JuMjRoejNTQ1RYOHFYKzVZNzQzTGcyMStmNXQvTkpmWUVCek1jY2s1dGx1NkoKU2N3Mzh5Njc3dWhkSm92SVpFc3dPeHgwam5XcWR4Rjc4Rzh5Y1hPVldseEJkK0RqOWppVDhSVHNjUzNUZVlrLwpSQ1BCc1k1cnhwVllwM01DZ2dFQkFPOWorWUhtZGNmazNpSFgvMDhWbmhyc2Z1cFVSaGhXR2VzTm9IWmErMWxXCll1SXJVRUtnK0pnZUFhc1FwNnpWVGUxU3RjRExvVlE1T0FMRWxueXg5K09ucnQ0STZmWmNTSE9wQWt3dnA1N28KY041WGxwb2hHQS9qc1d0VzNMemJ5N2FKU1EwMjVNVVk5VXEvYTlFd0FYWmxJZlhQaXRod2M1aUh4UEdtcFBYNgpoaGx5SGtuaXE5eC9HbzM4WkVDRVduMFN0Qyttb2t2WGRlQk1jOEI3M2JJWHl0bzZiMkFJUTNtaU1QTUF1YWVsClVBTW8xWnVxOU91c3o3TUxTZ2hqTWNrZWNrMGEzRGJhN3lPNzB4czcxSWhlZ0lNTytpZ1FNRkhtK2U5TDBOWDMKU2V2UzliRG9IcGphbzFvcmxXbWtyR1YzMHV1RnIyMDlsa3NQSFV4VTBBRUNnZ0VBTHJQcGlIVi9kSzFpL2U4MQpOOFZna21vQ0h1Nmh6QTR5T2hoVXBxN2xmR1lqQTNBMFJTS0lLc3ByVURQaWFDaEdqMUJ6RGIrMHE3L2xzb1o2Ci9VMExOcktJUGJxUGZNK2VteXBlVlN1Qlk4NndoMkIxZENldWhucWtSWk5WYjJLWkVpb2Vxak8yVkp5OUNCR3oKMThXSU5NYXpBR1ZvSlNpMEJzRXNVSDFWb3pxa2p4WGkycW1YQzc1UytHejk0NWsrc0dGTnd1bnBPNllLd1pjSQpaMGg2L2dZMUY4a2tpQUVMM05icTIyUm50QmZTN2pZSGtBcE5IVGN6YkZEdHI3SFA5eTM4N3VHZ0JOT0l1MVVZCmRVV0FTNlR3R21QSFBlRGRFZkFRTUJoSnYyWEdSZXhrL04xQ3Z1MjZGd1ZGYXpNL1RLYUtZNWx0Zkhsa0M5M00KWWwwd2V3S0NBUUVBeDIvTDQzdmpiaGh2TTFUbS83VHIxbFJtMjhRLzdYQjJBVXlGL1hTSTZJRyt1ZHdKN3FoNgowd2hVclhhZnFxNitVRlJTMVg4UU5jSEJ0eFNlcHQ0QnZpanAxMU1uejdaTUtnZUl3WDRHTUs1SHNnVFlsQ20wCkNURFJrN0ozRGVRemtDeEpydmVubWNqVU9tVEZaeTZPV1Z1aDhrN294cTdRcnllVlhSbFBYeHBLOUJJTng5SlAKQ2REZWg2SFl4Nk04Vyt6a0xycXRoVy9JWllocit0VjIrak0yTFo3M1FOTkJtNmtUREsveS9BY09aTU4xU2s0Zgo0K1JCMlZFemFVOXluN0o4MlYzaVR0VVEyLzFUditHVmk5TG5UOGgvZ2pjU2VubHFpZ0RveUFsUURXYmdoM1NxCllQL3RqV2E0QUo1UGZlMVl6QnpBN01xZFZvVU9ESlN3QVFLQ0FRRUFzMG1WWWtLRkNQS2hnakFuUXBqRU1qSXYKZ1ZEeE9XaHowTHJSeGNpN0l1dG5ZUHYxV1FIMWlCU2FFSEU0U0JrSkF0SGZCVGVIV1lXNk5BQlcxNW1lSHJLdgpxZUYwWnExWHRNZ0h2REdFYVpiTEtBMUFIWlZDV0gzdkd2N0RBYVRrSk5lOEVZWDZmWDZJdkYvR1FReDJVekM0ClN6Z29mVmNBSno0ZFA0UXJHdmQ4T1VOT1hnRjNBOVA0aEM3UUw3VWwwYXBHOEQ2U09YN21vem9YTTZLUkZTRmoKTHNVQTZYWHZRMExMT0ZQSlR5M292cnViTVpWZjR4VkV6TGhxclV0MnlpYkZ3Z1FlY2FPdFkvZDh3RU1vVWhyVgpGNHY0cTl0RXM5WG1YMmR0WlpOa0RXN1k3WjBNWHBZWG1iMnloV3l4WUtqQm0yWVBhSXBQSi9iOXcrOU5NQT09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==", "Store": "default" }, @@ -547,7 +547,7 @@ "domain": { "main": "backrest.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdERENDQlBTZ0F3SUJBZ0lTQnNOMUxqcFFyUGdzNVRsVkhKK2hkU2V0TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TURFM01Ea3pPVE0zV2hjTk1qWXdNVEUxTURrek9UTTJXakFpTVNBd0hnWURWUVFECkV4ZGlZV05yY21WemRDNWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVAKQURDQ0Fnb0NnZ0lCQU9neGVzZi9jSEZuZEk5S3NONkZ0MHArQVI4YnJqdXY2ODdZOGM0YXBuWXJ1dG01QnJ3cApiclVobEJ4dHF2Vm1hc1JoVzBjMkFxaTFwQkpPbkgvYThwZUF1aG1NbTE5TWNEa2t6dzBrQURNb3EvQXZzeFA1Clp1NWFZWkVNbWlTeFVtWnVlNGxuQjVhcXAxWEpyY1lvOVRMNkZKWE80WlppQ3pDblpZTGM1NkVtczR5QzQ5V2wKNytTd1AvVmxWWGV5MDI2YkluNU5Oa2NuR1hFaFQzN3AwTEk1emVsbnpaTkpoc2xIRktFKzRQMFZwM28xdEV4OApQeEZDM1RacStaZGx2ZUFhMnNxSFhvU2R5RkxvZk8vWmsxMlZibnN5VVRJVHZXY3lzb2k0eWh5Q0x0WDRBK25uCjVPVkZZZGRTL0M4Um1KS1ZpaFUxNWFPUFlMdi9rMWVLVFFHTFFWVlY2VmxTV2hUYkd4cWZxdlZFckZzc1VsQXMKb01taFRmMkkzR2E1c0ppbUQzU2VQWXpIa1k4QUREVitjMG9WZmZXaUdXV3BoZExmejI0NjVRcU1wTE5VRkUybgo3SjdkZFJSWGsrdjRQSDBuVU5hUDEwNi9UOGkyd3ludWc5WnhVRXJibXMwMHl1dkkwbStCVHpqT2lNbERxUUJwCk5KUWhSM1YxdlRaRXpvQzlma0ltL2hmWjlhSWhCdW9Ib2sxMDZPdmNMb1BrRGZmT0s0NVFLem5JWUxtcDFNOUoKaUZ3RW9VWGRJdzBPT1d2bVp3bzN4bENaTytzUlhrU3hhUlFkMTVsYnJhS2lkbDk2cTFNa3ZyMmtESXAwekNzaQpMd1JNUkh0dEl4Zi9xcHI1TWNKQWZBN2QrdSsvOVJRR1Vpa0J4M29hMkgvaEFnbHJ5MzVFMTcwOUFnTUJBQUdqCmdnSXBNSUlDSlRBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0cKQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZHeFcwQXI0blcxU2J1SFpZQ0VSRlNlUQpubmZjTUI4R0ExVWRJd1FZTUJhQUZPZXJudzhzTTZCVDAxNVBlTWl5aEE0NzFwSXpNRE1HQ0NzR0FRVUZCd0VCCkJDY3dKVEFqQmdnckJnRUZCUWN3QW9ZWGFIUjBjRG92TDNJeE15NXBMbXhsYm1OeUxtOXlaeTh3SWdZRFZSMFIKQkJzd0dZSVhZbUZqYTNKbGMzUXVZWFJvWVd4cFlYQndjeTU0ZVhvd0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QgpBZ0V3TGdZRFZSMGZCQ2N3SlRBam9DR2dINFlkYUhSMGNEb3ZMM0l4TXk1akxteGxibU55TG05eVp5ODBOaTVqCmNtd3dnZ0VHQmdvckJnRUVBZFo1QWdRQ0JJSDNCSUgwQVBJQWR3QkpuSnRwM2gxODdQdzIzczJIWkthNFc2OEsKaDRBWjBWVlMrK25yS2QzNHd3QUFBWm54djQvZUFBQUVBd0JJTUVZQ0lRQzJJUXdqSXdHZWFiQ0E1bVd4ZzNRQQpxMkhYNGRZbkxsaThmTzZwbjUra3hnSWhBTVdrb012VnEydFMvZzRtVUc3RktnUytDU0hTL1BIK0Y0aU5UU0FDCkt5RU1BSGNBR1liVXh5aXFiLzY2QTI5NEtrMEJrYXJPTFhJeEQ2N09YWEJCTFNWTXg5UUFBQUdaOGIrUDZ3QUEKQkFNQVNEQkdBaUVBMWFvUktMNUJhU3lZMno4RWZlMWoxVU9LclBsZjJvOHNNVDUxc1dYdnRkOENJUURMczEybwpRa2JuUzJyKzBiY1JRVGx6cHJ6OWhhTVRTK01VMTR0UVRiZ0IyREFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBCmVwQ3p3R2lDZ3Y0Wm15ejVqVU40bjFTZ3RwNWJKa1ZHOEdPSkhiTlZzZ3kwbWpLZ3lKdU5IVHB4NkVEMEF4MXYKWW03UE9PcFNFRk5vMWFjbnZUcUhlbkZtN05TU3dKMFZ6U0R2OHk3SDZjSjFQYlFEYmk1UlB3bGlmSE1rbGZlMQpiS0o4a0ZKSk13VGpCSnR0Rnp2Yk40bDJLaDZJR2llSHBFeGptRWlhbVhKL2szNTdWWHRiZ2ozcFBpSGZpUXJRClViaXJjTVIvZzNVR3ZuQVR3d3BhWHp1VHpiazNMSmswZXIyYThKQnZpeXF4Mk1LVFFuWjk0OTl0cUEzZFFJSjQKVG9MWXdxOWk2VS9iRy84MWxsKzhDWHB6elUrb2hVUENxSGxDU2NhNGVnRnhGczZjRGVzK3dNNkJDMUhjeFpraQpWb0dlSDRsYzRRRS8zY0NBb0FTeWp3PT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDVENDQlBHZ0F3SUJBZ0lTQlZPUUZyczdJNUcyVGRqdlk5OWYwZ2JYTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TWpFME1UWXdORFEyV2hjTk1qWXdOVEUxTVRZd05EUTFXakFpTVNBd0hnWURWUVFECkV4ZGlZV05yY21WemRDNWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVAKQURDQ0Fnb0NnZ0lCQU9neGVzZi9jSEZuZEk5S3NONkZ0MHArQVI4YnJqdXY2ODdZOGM0YXBuWXJ1dG01QnJ3cApiclVobEJ4dHF2Vm1hc1JoVzBjMkFxaTFwQkpPbkgvYThwZUF1aG1NbTE5TWNEa2t6dzBrQURNb3EvQXZzeFA1Clp1NWFZWkVNbWlTeFVtWnVlNGxuQjVhcXAxWEpyY1lvOVRMNkZKWE80WlppQ3pDblpZTGM1NkVtczR5QzQ5V2wKNytTd1AvVmxWWGV5MDI2YkluNU5Oa2NuR1hFaFQzN3AwTEk1emVsbnpaTkpoc2xIRktFKzRQMFZwM28xdEV4OApQeEZDM1RacStaZGx2ZUFhMnNxSFhvU2R5RkxvZk8vWmsxMlZibnN5VVRJVHZXY3lzb2k0eWh5Q0x0WDRBK25uCjVPVkZZZGRTL0M4Um1KS1ZpaFUxNWFPUFlMdi9rMWVLVFFHTFFWVlY2VmxTV2hUYkd4cWZxdlZFckZzc1VsQXMKb01taFRmMkkzR2E1c0ppbUQzU2VQWXpIa1k4QUREVitjMG9WZmZXaUdXV3BoZExmejI0NjVRcU1wTE5VRkUybgo3SjdkZFJSWGsrdjRQSDBuVU5hUDEwNi9UOGkyd3ludWc5WnhVRXJibXMwMHl1dkkwbStCVHpqT2lNbERxUUJwCk5KUWhSM1YxdlRaRXpvQzlma0ltL2hmWjlhSWhCdW9Ib2sxMDZPdmNMb1BrRGZmT0s0NVFLem5JWUxtcDFNOUoKaUZ3RW9VWGRJdzBPT1d2bVp3bzN4bENaTytzUlhrU3hhUlFkMTVsYnJhS2lkbDk2cTFNa3ZyMmtESXAwekNzaQpMd1JNUkh0dEl4Zi9xcHI1TWNKQWZBN2QrdSsvOVJRR1Vpa0J4M29hMkgvaEFnbHJ5MzVFMTcwOUFnTUJBQUdqCmdnSW1NSUlDSWpBT0JnTlZIUThCQWY4RUJBTUNCYUF3RXdZRFZSMGxCQXd3Q2dZSUt3WUJCUVVIQXdFd0RBWUQKVlIwVEFRSC9CQUl3QURBZEJnTlZIUTRFRmdRVWJGYlFDdmlkYlZKdTRkbGdJUkVWSjVDZWQ5d3dId1lEVlIwagpCQmd3Rm9BVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdNd1lJS3dZQkJRVUhBUUVFSnpBbE1DTUdDQ3NHCkFRVUZCekFDaGhkb2RIUndPaTh2Y2pFeUxta3ViR1Z1WTNJdWIzSm5MekFpQmdOVkhSRUVHekFaZ2hkaVlXTnIKY21WemRDNWhkR2hoYkdsaGNIQnpMbmg1ZWpBVEJnTlZIU0FFRERBS01BZ0dCbWVCREFFQ0FUQXVCZ05WSFI4RQpKekFsTUNPZ0lhQWZoaDFvZEhSd09pOHZjakV5TG1NdWJHVnVZM0l1YjNKbkx6ZzRMbU55YkRDQ0FRMEdDaXNHCkFRUUIxbmtDQkFJRWdmNEVnZnNBK1FCM0FNczQ5eFdKZklTaFJGOWJ3ZDM3eVc3eW1sbk5Sd3BwQllXd3l4VEQKRkZqbkFBQUJuRjBiVGNBQUFBUURBRWd3UmdJaEFONHp6Vmt2ZjUzR1ZsUUNad0g1NncyekRNaDJLbi94N1l4SgpNY25CLzRYS0FpRUFuM2lHc2xFTTlLbU1GUTdQZ09GdFVtTk9LVjlUODVuR0dzem1vaFZvcVNzQWZnRGpJNDN5CmphS0k0S3JnclBENmtNbUY4TGEvOWRLbEo3QUIvQnhFV01TMjZBQUFBWnhkRzA0ckFBZ0FBQVVBTXBMMVRnUUQKQUVjd1JRSWhBUHpiamdKQ21xWndNelFjSU82eU9KYzZmNUxEUEFuby9pMndJeDFkYlB6WEFpQXNFVWZlaGw3RgpQRUkvM2lXOXVSK3YrTFgxVjFpcnBZbTdkdVkrSTJONzlEQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFOTjJmCmZqK3g3Q3FwcHpWS1FnaHhFQ1RIL296V3h2UmRtS1pIZk1xQ2dhL21MOFFJRkhoeEFMcUxYSEZtWjFCN3BRekYKa3RiY0NnSnJxYjdrYkZlQUtFSDFBN2dqa3Y1MWJMSGlvSWtyVzlyZHVzaWYrVWFsSjI2cjQvSkFva3RnUWE4SQpUU0RSTUxmVVhhSWlSU1B3QzUyQWlaSk9PZDJWMFd2ZkF1eVNRMERWS3RJaGFnTHlJRU1jU3dDZzkrRWFxRkNPCk1QTTB1aGNxSDBiOGVUVVIrL1pEYlZ1Z2VaZGNhbElmTVNOWlhwbWNWQnFlMG9NRzZEM2Q5U3QrdCtjMVpwdWoKbVZaTUwzclIzTVV1eTNIM0w3Qnk5TUpEaHAzRjU4dkFMTG9lOWg3TGtpT2RMRzAxUVlOa0pwM2J2MEhBZTN3OQpONDY3SzRETG8xb2I3cE9tblE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJqQ0NBdTZnQXdJQkFnSVJBTUlTTWt0d3FiU1JjZHhBOStLRkpqd3dEUVlKS29aSWh2Y05BUUVMQlFBdwpUekVMTUFrR0ExVUVCaE1DVlZNeEtUQW5CZ05WQkFvVElFbHVkR1Z5Ym1WMElGTmxZM1Z5YVhSNUlGSmxjMlZoCmNtTm9JRWR5YjNWd01SVXdFd1lEVlFRREV3eEpVMUpISUZKdmIzUWdXREV3SGhjTk1qUXdNekV6TURBd01EQXcKV2hjTk1qY3dNekV5TWpNMU9UVTVXakF6TVFzd0NRWURWUVFHRXdKVlV6RVdNQlFHQTFVRUNoTU5UR1YwSjNNZwpSVzVqY25sd2RERU1NQW9HQTFVRUF4TURVakV5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCCkNnS0NBUUVBMnBnb2RLMitsUDQ3NEI3aTVVdDFxeXdTZisybkF6SitOcGZzNkRHUHBST05DNWt1SHMwQlVUMU0KNVNodUNWVXhxcVVpWFhMMExRZkNUVUE4M3dFanVYZzM5UnBsTWpUbWhuR2RCTytFQ0Z1OUFocVo2NllCQUpwegprRzJQb2dlZzBKZlQya1ZoZ1RVOUZQbkV3RjlxM0F1V0dyQ2Y0eXJxdlNyV21NZWJjYXM3ZEE4ODI3Smd2bHBMClRoanAyeXB6WElsaFpaNys3VHlteTA1djVKNzVBRWF6L3hsTkttT3pqbWJHR0lWd3gxQmxienQwNVVpRER3aFkKWFMwam5WNmovdWpiQUtIUzlPTVpUZkx1ZXZZbm51WE5uQzJpOG4rY0Y2M3ZFemM1MGJUSUxFSFdoc0RwN0NINApXUnQvdVRwOG4xd0JuV0lFd2lpOUNxMDh5aERzR3dJREFRQUJvNEg0TUlIMU1BNEdBMVVkRHdFQi93UUVBd0lCCmhqQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBZ1lJS3dZQkJRVUhBd0V3RWdZRFZSMFRBUUgvQkFnd0JnRUIKL3dJQkFEQWRCZ05WSFE0RUZnUVVBTFVwOGkyT2J6SG9tMHl0ZUQ3NjNPa00wZEl3SHdZRFZSMGpCQmd3Rm9BVQplYlJaNW51MjVlUUJjNEFJaU1nYVdQYnBtMjR3TWdZSUt3WUJCUVVIQVFFRUpqQWtNQ0lHQ0NzR0FRVUZCekFDCmhoWm9kSFJ3T2k4dmVERXVhUzVzWlc1amNpNXZjbWN2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQk1DY0cKQTFVZEh3UWdNQjR3SEtBYW9CaUdGbWgwZEhBNkx5OTRNUzVqTG14bGJtTnlMbTl5Wnk4d0RRWUpLb1pJaHZjTgpBUUVMQlFBRGdnSUJBSTkxMEFuUGFuWklaVEtTM3JWRXlJVjI5QldFakFLL2R1dXo4ZUw1Ym9Tb1ZwSGhra3YzCjRlb0FlRWlQZFpMajVFWjdHMkFySUsrZ3poVGxSUTFxNEZLR3BQUGFGQlNwcVYveGJVYjVVbEFYUU9ua0huM20KRlZqK3FZdjg3L1dlWStCbTRzTjNPeDhCaHlhVTdVQVEzTGVaN04xWDAxeHhRZTR3SUFBRTNKVkxVQ2lIbVpMKwpxb0NVdGdZSUZQZ2NnMzUwUU1VSVdneFBYTkdFbmNUOTIxbmU3bmx1STAyVjhwTFVtQ2xxWE9zQ3dVTHcrUFZPClpDQjdxT014eE1Cb0NVZUwyTGw0b01wT1NyNXBKQ3BMTjN0UkEyczZQMUtMczlUU3JWaE9rKzdMWDI4Tk1VbEkKdXNRL254TEpJRDBSaEFlRnRQanlPQ09zY1FCQTUzK05SalNDYWs3UDRBNWpYN3BwbWtjSkVDTCtTMGkza1hWVQp5NU1lNUJiclU4OTczalpOdi9heDYrWks2VE04aldtaW1MNm9mNk9yWDdaVTZFMldxYXp6c0ZyTEczbzJreVNiCnpsaFNnSjgxQ2w0dHYzU2JZaVlYbkpFeEtRdnpmODNEWW90b3gzZjBmd3Y3eGxuMUEyWkxwbENiME8rbC9BSzAKWUUwRFMyRlB4U0FIaTBpd01mVzJuTkhKclhjWTNMTEhENzdnUmdqZTRFdmV1YmkyeHhhK05tay9obWhMZElFVAppVkRGYW5vQ3JNVklwUTU5WFdIa3pkRm1vSFhIQlY3b2liVmpHU083VUxTUTdNSjFOejUxcGh1REpTZ0FJVTdBCjB6ckxuT3JBai9kZnJsRVdSaEN2QWdidXdMWlgxQTJzak5qWG9QT0hic1BpeStsTzFLRjgvWFk3Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBNkRGNngvOXdjV2QwajBxdzNvVzNTbjRCSHh1dU82L3J6dGp4emhxbWRpdTYyYmtHCnZDbHV0U0dVSEcycTlXWnF4R0ZiUnpZQ3FMV2tFazZjZjlyeWw0QzZHWXliWDB4d09TVFBEU1FBTXlpcjhDK3oKRS9sbTdscGhrUXlhSkxGU1ptNTdpV2NIbHFxblZjbXR4aWoxTXZvVWxjN2hsbUlMTUtkbGd0em5vU2F6aklMagoxYVh2NUxBLzlXVlZkN0xUYnBzaWZrMDJSeWNaY1NGUGZ1blFzam5ONldmTmswbUd5VWNVb1Q3Zy9SV25lalcwClRIdy9FVUxkTm1yNWwyVzk0QnJheW9kZWhKM0lVdWg4NzltVFhaVnVlekpSTWhPOVp6S3lpTGpLSElJdTFmZ0QKNmVmazVVVmgxMUw4THhHWWtwV0tGVFhsbzQ5Z3UvK1RWNHBOQVl0QlZWWHBXVkphRk5zYkdwK3E5VVNzV3l4UwpVQ3lneWFGTi9ZamNacm13bUtZUGRKNDlqTWVSandBTU5YNXpTaFY5OWFJWlphbUYwdC9QYmpybENveWtzMVFVClRhZnNudDExRkZlVDYvZzhmU2RRMW8vWFRyOVB5TGJES2U2RDFuRlFTdHVhelRUSzY4alNiNEZQT002SXlVT3AKQUdrMGxDRkhkWFc5TmtUT2dMMStRaWIrRjluMW9pRUc2Z2VpVFhUbzY5d3VnK1FOOTg0cmpsQXJPY2hndWFuVQp6MG1JWEFTaFJkMGpEUTQ1YStabkNqZkdVSms3NnhGZVJMRnBGQjNYbVZ1dG9xSjJYM3FyVXlTK3ZhUU1pblRNCkt5SXZCRXhFZTIwakYvK3Ftdmt4d2tCOER0MzY3Ny8xRkFaU0tRSEhlaHJZZitFQ0NXdkxma1RYdlQwQ0F3RUEKQVFLQ0FnRUFvcXVYazJwWUFuc3lZL2sxOUkvRm04Q3ZWSFgyR1Fia3M2TzF0R2xqV2NMRlF5ZW5ta2VFc2cxMgpVSHhjbTFSSFZKSElleGxSdjVTUi8rbG5Kd1BqbFZTd0RKby9lQUo3Vk8xK3lYd0JUOVljcjBjYnROQ3oxaVVuCjJaRDBwT1ErRUZreTMwNTVPSXNTZEwyNHF1Mmk2elhkR2g4NFdEMFVEZUFZOUJlRGg1a3ZqUzllSXgzLzlUMnQKY1dTdS9nOGdwWXEySGJwR1hvNzcraEFXTzVuZmhoMk5Md3AwTWMzL1NpQXNTZE5kbUxHRkJjOStJMStnWjUxcQprV2RjdVQ2a1NjOUduVUU5YkxlRjB0L2lONzg4eVFHWngyRzNGTmhUaDJzelBTb0pIdlB0a0NZVHg5bVl1UzlrCm5wQWE4WGJvWnptdzVhOCsxTm5zTVltYVZtZ2tEYTA5MnZFelJkNW5VWWtwb1NKTXhDZ1J5b1dGVGU0d3ZaMHQKTmJxSWM2VVU1MjArbDB2RGJ4eEJCeTQzZjF0b0NISFh2bzNRWkxyREZ1MkxYc1ZLVHdGb1hjbks2TG1kQlFEVgpGamxrSW9qMVFaSVRVU2tWbk9oZnM5M3gyVDZ5MjM1VmJwODR0VmFmRXJPVkVMZEE1VjdrckhxQVhuV1plVDNJCmp2eTIvcEYrNGI0ZXJpVTBjTHorV3Z6b1JUOWYxRmNzT2J6aEFIVFdlV3JwS2FWRlFBS2l2ckZSeTJLem1XYWcKbWU0OXk5TE1CK1NBTkltUHhWdEk1bGRYM2V0eEpkTENhM2g4MFhnZTQvWGVLODhiSnp1bXJjdWQ0T0UzSHRTcQpkMFd1QnBSSkpEbWs2ck5ic1h2cnB4cmptaXNTckFreDRBM2JhRjRIR1h1VGh0dWxVQUVDZ2dFQkFQUVFzL2h6CkJncGh5WTlKTzJuZktHRDJYTE5VSk1QL21scU5MejdhY0FJS3Bwc1QxKzdIcU45NlVQRStGdmFBYzd4dnRRdGYKQnI1TGpua3paQWkvSWcrTkJHdFdwajh4U2toQlV3bzFJWGYzNWFFRVpqL3hOWERla0I0a1czK0ZVMlZOQWJ3dwp4RHhYQy9vem0vQUhnM1VEY215ZXFRMWpyYkhLUzZ1REYwdFlQTEFLTDVtNW96aVJXamJFWlpmRGNsUW82Q3hBCnpqWGJYUEg2dXJ3YmYwZ2lhaVZqRmVNUGhndzRpemQrc09lcVBDa1YzUFZiQWFGNkdCdkRyZmRiSWpiWUwvcFgKNVE0T0Y2cUhHTStTVFBadjFneThKcmk2eTdSNlVXY2liTVF5REZmRkRJWThGNmNqckg2Z3R5Rk14TDlLWk5WVgpHVmFDeWVUbVhsZCtMZ0VDZ2dFQkFQT01LTGFtSXRTaS81Q3NLQmhtNFBJc3Bzcys1UWtvNVptdVBycVo1aU5WClJqWkN5YVU0TlNnV1ZNYjIvYmdNSnNzK1pyMWlYS0JiNFA2bjFneCt6ZllaUE4wMDNwSlQxUGZtMCtDcVlzOXgKZGpKNExhWENaMVQrN2lRYUo3MjdtbWIzKytzeVREMGhqeXNrMTBTWVM1UzVCMmNoN3Bld0NGbkhTdXlwakhHaAptcDFId1h1T1Q1UHY2dG0vdVJ0Q2ZvaUNkRWxtUi9QbUx3cXpFZ01SUlhyaTlvcDViOTJ2Vk9HLzZ2alZCaGZHCkJrOCtBMXF1d2VqS2FhSlk0N2dWL1RYVEk4ZXVCb2F6VGs5ZG91K095QXRDMXZDOENMNWgxUlIvbUlzQ0JFamoKTWF0Smc3Wm1oYW14VjdiN2w3OVFXd1FiMi9keU54V1VMbzBJbzU0RXh6MENnZ0VBSVE4R0laZ0s4R3NRYnkwZgpOQmI3RkM4cW5VdS9jeUR6R21MWFRHOHdEc2E4akhMaW84QTltbytwMlJOczd0UzFXSWZWQVFaTkZvZUxjOVZICkxud2RNL2dJNmpVaGJadlNrUGp3TTRqQTBNd3VPV0lzSzJzVHJ3Y21oRDZ1ZWhab0ZtZVkzWkhKY3RiamsyOWMKSnVZTm8xTGxNOXRGMEw5NHJvVlZQSlVVR2F1SkJOdE1XVWt3MTUrd2xZeUNxa3paOXBaWDVHNmV2K0xIc3lzZwpFZ3l6YitUaGRkRDNEUHQwVDhGMDhmNWlIZThNR1JDU0RsWFdZYlgxQUFYQVVhbnhkM1pQQVZ6WWRNL3AycnBUCjNRSFhGT1pQR3doOVFqWmpFejRpT3BNS0lvVVk4T2FLN0wvRkFHbXZtck5RT3QxNEpPVUJ4WGV5WitwdFNHai8KekdBV0FRS0NBUUFoTFpiZVN3T3p0QURjMUpjaHUrSXBHNndkUkJRdmkwSzhET0MreXZodkY4N1kxWUJpNGFWYwpNSzZiN0Vua0tNT2dMSUFTakxQUnBMS2gvbnRLZUh2V2F0bS95TlFKV3lKSUkwbjU4VHhFeGxBenordG9DWFBLClFIQnd1cDl2V1g5UFI3a3A4VkF4ZzhEZFA4ZVRzS3ViTnhtckV4Uk4xYzFOYmJqblJMRzlTU2FuQm45MU5ZM2gKdVcxay9KbGEvVlAvaE1ZU3VieFRuYWdLN1JvbkVOTkdTbVVMdUQ5bEU5MmNZMmkvUFVYM055TGs2SzNNVE1KZAoxRFZQeUl3OUo4RzI4MnlNWjBpOFVQRDZIdWR6ZXlBRmFMV2ZWZjVhOFRqMThldjJBL0JSZmFIbWs3MDl1L201CmhFOU92amVOK0lSdHF0M3NkOExKVGNhSnNBT2FJMHlCQW9JQkFRRE5aKzZudzluNXJINmdYWXNCNnp5enhuV2YKYzVnNUxVZkxFSk9vNWdYcXMrMXJkRVR3SzEvUXRzbjVRR0Z0aEpWL1VHVmREZTBRN0JvOEpGNUUzY1hNVDVOeApUWXUyT3RvREYxUDJvcG56a2pVZGc0dkIxNVQ3V3ArZW5NQ3ovZUxzTFBJdVIxVDVLaFlKRjJTTnhqenQwWHpoCjdqWUF2cVNRMnJQamh5QTd3VTc3M05iM0JJd2hjb0VDNmRjZmxjbFBvd0M5YWpqK2FwNWQyL3o0UzdpSHcyVUcKL1JSb0RmZmt1TzJPM1BPSUhBVVpCdXl6bzdMbE1sUUhobm4vZHROZ1ozYnhGVFNCMldsZUpzY0ZOR3B3VSt0RwpXTnBYMWZBbEdwMHgzM2NNY28zbVZKYVhEaXhpR1orTmlsVlNNNzhnUTlwOFhjaWthNGp4VEsrY2ptbjQKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -555,7 +555,7 @@ "domain": { "main": "affine.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCakNDQk82Z0F3SUJBZ0lTQlhVY2xrblFUM2JKYjVDbTRPRHhNODl4TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TVRFME1UWXpOVFV6V2hjTk1qWXdNakV5TVRZek5UVXlXakFnTVI0d0hBWURWUVFECkV4VmhabVpwYm1VdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUURnWFJ5bVBUTkMwamRGdDk1OTlDSjlOelBSYlFYVXZWRlA1WVpaZHVpZ2dRZ3R2dk8ybDhVNwpodjF0bGoydUI3VDY1bVByZVlCWEZaYTdBUGVKanhwY281NndKSFE1TE1lTGtOeG1xdXZBcDByRTBRVUttbE1YCmJmVE5SaXdmRDFnV1JqS2pxYkY5R2phMy9FMFNabEFHbTdJYXFDTzBqa1JyMTVXTW1GYTBxSU5hcXNmOXhNbXQKWjl2YzNaSk5LV2dvSlNaTlFSVlUva1dGTk81VnErdHJHUk1wWHNxZzZNdmp6aFo5TXlCZ0tNUEkwS3o0K1pCaApQb2lTTE9DYXI2S1ViZEg3N21kOWI5SHcrSHM4TUE1OXBPTWpJb0VHMmRjcUFtYlBZb29xOVRLUllwZ0szcEJoCmlFVHY0Umc4MGNFZWpyVDJZVHB6NjRlbUt3bkVQODVlSERBQU9TUzVoZnJtRUEwZmFSK0JORlpYY2JUL1NjMDYKTWVRYmJCcE5VcVZxUysvVTZCM240bG1pc0c1NlFRNTNlR2hXNWtGb0JmNGp5WUZ0bHhFb1FhNUp4YUU3ZERLMApFNnBLZDZFR09GYUd2bjZNUWhkM1ViUS9IL3p0ZDFPbktIQ1FoT0w0c2UxNG5VZUl2S3JEbXBTN2VyZVNqbzFmCjhoRFh4S0tVaW0ydWhRUFlxOUEra0F2cFBHd0o0bCtJcS8rb3N2eVp6NXFvbXo4K25UT2RldHlqYldKTlVFcU0KRnlUN015eXgzcGFhQ1pKdVg4R0s4ZzBvdCtLSkFZelcwT2ZqQTJFaDNCSGM0NnU2TWJORS9ZZG1OdzhqOVA3MgpMTE0zaTRPWXlicFBLeEpVRkJ3a21KU0p4akpzcWxobFA5Z29UbmRyRnYrdEJ4TG1pVnRWeFFJREFRQUJvNElDCkpUQ0NBaUV3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJTcDY2cXZFYVVMMmI1NkwxWlN1Y1VJaDB0WQpRREFmQmdOVkhTTUVHREFXZ0JUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRNdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZXRm1abWx1WlM1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdgpCZ05WSFI4RUtEQW1NQ1NnSXFBZ2hoNW9kSFJ3T2k4dmNqRXpMbU11YkdWdVkzSXViM0puTHpFeE5DNWpjbXd3CmdnRURCZ29yQmdFRUFkWjVBZ1FDQklIMEJJSHhBTzhBZGdETE9QY1ZpWHlFb1VSZlc4SGQrOGx1OHBwWnpVY0sKYVFXRnNNc1V3eFJZNXdBQUFacURicnBsQUFBRUF3QkhNRVVDSVFDcjdLb2xsd3h0QUtZUDhwVm9IWmpGYTBFTgpKOWY1U0haZlozZE02NFpJb1FJZ05LTXBLcnRUL1V1VTVFcDREWk9tZ2pmR1BMdzhkY2Evc2lOcTNTTVBCK3NBCmRRQ1dsMlMvVlZpWHJmZERoMmczQ0VKMzZmQTYxZmFrOHpadVJxUS9EOHFweGdBQUFacURicnFxQUFBRUF3QkcKTUVRQ0lGT0w3VGViWS9PMytFR2gwcnp4MmlpQzRkWmk5cnlpalpMeGJHNEo0UUR0QWlCNzhjNWZQZ3piZzYzZAo2cEx1bVNiSU4raHhjN3M3ek1DNGRTd1NKSmNuZ2pBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQU5SOVUzdXBiCjZTMzJGeUtxaUpiaFlhY0pMZnRBTmhFL3h6QmtzYkFsenhkOWZCbXFNWmw3cUFTczdGNVluQTNDNlVqZGt2WnkKbWl3YXhBTWt0K1RUdTJjWW5zUTY4ZHJPVzJ4QklKUzIxdDZYaU5rS0VueWd2K3VyTndBdU9iS3J6dGlqR2RJQgpCMitQZDZsTEljY0NGT0lDSXJvbjQyVTdtWGFKTVpLWVhxMzZvajVZV2IwNlRmZmhLSjlTbFVaaWpyV2doeWdKCndHcEJmTWJETnZsdEVybERRcnRiSTROVXZsc0tDcmJjYlNzdWJicFE1dUZaNUxHQ1NtemRna2kyLzFldlVHN0kKZitYRFBpYXRxL3k3cWVBMFNDcnBXRXZ5UVU5bEpSWHFFZS9hb3l4Rk5jaUFySGRuMkxUZlByVUR4MTI2ckFEWgpreklxYkgzaWdLSjBVZz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQlRDQ0F1MmdBd0lCQWdJUVdnRHlFdGpVdElEemtrRlg2aW1EQlRBTkJna3Foa2lHOXcwQkFRc0ZBREJQCk1Rc3dDUVlEVlFRR0V3SlZVekVwTUNjR0ExVUVDaE1nU1c1MFpYSnVaWFFnVTJWamRYSnBkSGtnVW1WelpXRnkKWTJnZ1IzSnZkWEF4RlRBVEJnTlZCQU1UREVsVFVrY2dVbTl2ZENCWU1UQWVGdzB5TkRBek1UTXdNREF3TURCYQpGdzB5TnpBek1USXlNelU1TlRsYU1ETXhDekFKQmdOVkJBWVRBbFZUTVJZd0ZBWURWUVFLRXcxTVpYUW5jeUJGCmJtTnllWEIwTVF3d0NnWURWUVFERXdOU01UTXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUsKQW9JQkFRQ2xaM0NOMEZhQlpCVVhZYzI1QnRTdEdaQ01KbEEzbUJaamtsVGIyY3lFQlpQczArd0lHNkJnVVVOSQpmU3ZIU0phZXRDM2FuY2duTzFlaG42dncxZzdVRGpES2I1dXgwZGFrblRJK1dFNDFiMFZZYUhFWC9EN1lYWUtnCkw3SlJiTEFhWGJoWnpqVmx5SXVocnhBMy8rT2NYY0pKRnpUL2pDdUxqZkM4Y1N5VERCMEZ4THJIemFySlhuelIKeVFIM25BUDIvQXBkOU5wNzV0dDJRbkRyOUUwaTJnQjNiOWJKWHhmOTJuVXVwVmNNOXVwY3R1QnpwV2pQb1hUaQpkWUorRUovQjlhTHJBZWs0c1FwRXpOUENpZlZKTllJS05MTWM2WWpDUjA2Q0RnbzI4RWRQaXZFcEJIWGF6ZUdhClhQOWVuWmlWdXBwRDBFcWlGd1VCQkREVE1yT1BBZ01CQUFHamdmZ3dnZlV3RGdZRFZSMFBBUUgvQkFRREFnR0cKTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQ0JnZ3JCZ0VGQlFjREFUQVNCZ05WSFJNQkFmOEVDREFHQVFILwpBZ0VBTUIwR0ExVWREZ1FXQkJUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QWZCZ05WSFNNRUdEQVdnQlI1CnRGbm1lN2JsNUFGemdBaUl5QnBZOXVtYmJqQXlCZ2dyQmdFRkJRY0JBUVFtTUNRd0lnWUlLd1lCQlFVSE1BS0cKRm1oMGRIQTZMeTk0TVM1cExteGxibU55TG05eVp5OHdFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3SndZRApWUjBmQkNBd0hqQWNvQnFnR0lZV2FIUjBjRG92TDNneExtTXViR1Z1WTNJdWIzSm5MekFOQmdrcWhraUc5dzBCCkFRc0ZBQU9DQWdFQVVUZFlVcUVpbXpXN1Rick95cExxQ2ZMN1ZPd1lmL1E3OU9INWNITENaZWdnZlFoRGNvbmwKazdLZ2g4YjB2aSsvWHVXdTdDTjhuL1VQZWcxdm8zRyt0YVhpcnJ5dHRoUWluQUhHd2MvVWRiT3lnSmE5enVCYwpWeXFvSDNDWFRYREluVCs4YStjM2FFVk1KMlN0K3BTbjRlZCtXa0RwOGlqc2lqdkV5RndFNDdodWxXMEx0empnCjlmT1Y1UG1yZy96eFdiUnVMK2swREJESEVKZW5uQ3NBZW43YzM1UG14N2pwbUovSHRnUmhjbnoweWpTQnZ5SXcKNkwxUUl1cGtDdjJTQk9EVC94REQzZ2ZRUXlLdjZyb1Y0RzJFaGZFeUFzV3Btb2p4akNVQ0dpeWc5N0Z2RHRtLwpOSzJMU2M5bHliS3hCNzNJMitQMkczQ2FXcHZ2cEFpSENWdTMwalc4R0N4S2RmaHNYdG5JeTJpbXNrUXFWWjJtCjBQbXhvYmIyOFR1Y3I3eEJLN0N0d3ZQcmI3OW9zN3UyWFAzTzVmOWIvSDY2R055UnJnbFJYbHJZakkxb0dZTC8KZjRJMW4vU2d1c2RhNld2QTZDMTkwa3hqVTE1WTEybUhVNCtCeHlSOWN4MmhoR1M5ZkFqTVpLSnNzMjhxeHZ6NgpBeHU0Q2FEbVJOWnBLL3BRclhGMTd5WENYa21FV2d2U09FWnk2WjlwY2JMSVZFR2NrVi9pVmVxMEFPbzJwa2c5CnA0UVJJeTB0SzJkaVJFTkxTRjJLeXNGd2JZNkIyNkJGZUZzM3Yxc1lWUmhGVzluTGtPclFWcG9yQ1MwS3labWYKd1ZEODlxU1RsbmN0TGNabklhdmpLc0tVdTFuQTFpVTB5WU1kWWVwS1I3bFdibndoZHgzZXdvaz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdEakNDQlBhZ0F3SUJBZ0lTQmp2eGNSTW53NUZYMkI5czNtSlY3N3BrTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRFek1UWXdORFE0V2hjTk1qWXdOREV6TVRZd05EUTNXakFnTVI0d0hBWURWUVFECkV4VmhabVpwYm1VdVlYUm9ZV3hwWVhCd2N5NTRlWG93Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUURnWFJ5bVBUTkMwamRGdDk1OTlDSjlOelBSYlFYVXZWRlA1WVpaZHVpZ2dRZ3R2dk8ybDhVNwpodjF0bGoydUI3VDY1bVByZVlCWEZaYTdBUGVKanhwY281NndKSFE1TE1lTGtOeG1xdXZBcDByRTBRVUttbE1YCmJmVE5SaXdmRDFnV1JqS2pxYkY5R2phMy9FMFNabEFHbTdJYXFDTzBqa1JyMTVXTW1GYTBxSU5hcXNmOXhNbXQKWjl2YzNaSk5LV2dvSlNaTlFSVlUva1dGTk81VnErdHJHUk1wWHNxZzZNdmp6aFo5TXlCZ0tNUEkwS3o0K1pCaApQb2lTTE9DYXI2S1ViZEg3N21kOWI5SHcrSHM4TUE1OXBPTWpJb0VHMmRjcUFtYlBZb29xOVRLUllwZ0szcEJoCmlFVHY0Umc4MGNFZWpyVDJZVHB6NjRlbUt3bkVQODVlSERBQU9TUzVoZnJtRUEwZmFSK0JORlpYY2JUL1NjMDYKTWVRYmJCcE5VcVZxUysvVTZCM240bG1pc0c1NlFRNTNlR2hXNWtGb0JmNGp5WUZ0bHhFb1FhNUp4YUU3ZERLMApFNnBLZDZFR09GYUd2bjZNUWhkM1ViUS9IL3p0ZDFPbktIQ1FoT0w0c2UxNG5VZUl2S3JEbXBTN2VyZVNqbzFmCjhoRFh4S0tVaW0ydWhRUFlxOUEra0F2cFBHd0o0bCtJcS8rb3N2eVp6NXFvbXo4K25UT2RldHlqYldKTlVFcU0KRnlUN015eXgzcGFhQ1pKdVg4R0s4ZzBvdCtLSkFZelcwT2ZqQTJFaDNCSGM0NnU2TWJORS9ZZG1OdzhqOVA3MgpMTE0zaTRPWXlicFBLeEpVRkJ3a21KU0p4akpzcWxobFA5Z29UbmRyRnYrdEJ4TG1pVnRWeFFJREFRQUJvNElDCkxUQ0NBaWt3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJTcDY2cXZFYVVMMmI1NkwxWlN1Y1VJaDB0WQpRREFmQmdOVkhTTUVHREFXZ0JUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QXpCZ2dyQmdFRkJRY0JBUVFuCk1DVXdJd1lJS3dZQkJRVUhNQUtHRjJoMGRIQTZMeTl5TVRNdWFTNXNaVzVqY2k1dmNtY3ZNQ0FHQTFVZEVRUVoKTUJlQ0ZXRm1abWx1WlM1aGRHaGhiR2xoY0hCekxuaDVlakFUQmdOVkhTQUVEREFLTUFnR0JtZUJEQUVDQVRBdgpCZ05WSFI4RUtEQW1NQ1NnSXFBZ2hoNW9kSFJ3T2k4dmNqRXpMbU11YkdWdVkzSXViM0puTHpFd01TNWpjbXd3CmdnRUxCZ29yQmdFRUFkWjVBZ1FDQklIOEJJSDVBUGNBZFFDV2wyUy9WVmlYcmZkRGgyZzNDRUozNmZBNjFmYWsKOHpadVJxUS9EOHFweGdBQUFadTRUOVlZQUFBRUF3QkdNRVFDSUFjZGg0L2lDZGhGdkEzK0MrZjVrRkM0YUhocApoQXM2bFhIWkNySnE3L01QQWlCVWRrZWlpMUorclNERzFwTHU4aVhNUVJIenFENHZSY1V4bjhucXUrczZYZ0IrCkFLWEplSkpkVjBZWGdvY04ySWxtQzF4VlpJdDlBRUR5N0Fkb1VkR0lhUm4zQUFBQm03aFAxeTRBQ0FBQUJRQXUKM3R4cUJBTUFSekJGQWlCcTMxU0RWRGJWZFpLMCtxMkQxbk16d3ZBZm1WWDIxeUNpcVpOVUxXalRsd0loQUlhVgppTHcrV2NrQ1o0aTIrdVZJYTVZUDlqaUx4RlU3d0R1TmFZYzkyVnR5TUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCCkFRQ2d4K1hrQUJIR0JHek9JWi8veUp6aWdydHpGL3pOd2pIVVVJWkJFZlNWdTZGc0lxT0NyR25xUm4rSVNUK2EKaDRHalRpZXdJYUVKK3VMSjVkUDdBdVd4azI4aDY5SXZwSk5NZThRdmJLV2FaaldmN2NWcityRDJHTWRIR0RJMwpNNmxkbjBidjdjZlMyRFNDcmY5eWFCOHYvblJvR3RqSEdTajlubzRhY1VJSVFHQkZGbWY3SVN4djlJMjg3YlE4Cmw2blpwZ1hUYU9qVElXU2V2R2NSRXNQRXJRNzZKSGlpcjJ6d2Yzb1o4MzhZalBlWnVoaUJsbGdkR0tZWXlKamMKbEZYeGtDbE5KNFhFcndqQjQ2VWZWbVQ1Yk04TnVhYnZYT3g3QWV5ZWcwYVI2LzlKMm5VZ25OKzVDU0t0eFFEcAo4a2Z6dU5NOXZpQXFSU0xtbUptZXo2OTIKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBNEYwY3BqMHpRdEkzUmJmZWZmUWlmVGN6MFcwRjFMMVJUK1dHV1hib29JRUlMYjd6CnRwZkZPNGI5YlpZOXJnZTArdVpqNjNtQVZ4V1d1d0QzaVk4YVhLT2VzQ1IwT1N6SGk1RGNacXJyd0tkS3hORUYKQ3BwVEYyMzB6VVlzSHc5WUZrWXlvNm14ZlJvMnQveE5FbVpRQnB1eUdxZ2p0STVFYTllVmpKaFd0S2lEV3FySAovY1RKcldmYjNOMlNUU2xvS0NVbVRVRVZWUDVGaFRUdVZhdnJheGtUS1Y3S29Pakw0ODRXZlRNZ1lDakR5TkNzCitQbVFZVDZJa2l6Z21xK2lsRzNSKys1bmZXL1I4UGg3UERBT2ZhVGpJeUtCQnRuWEtnSm16MktLS3ZVeWtXS1kKQ3Q2UVlZaEU3K0VZUE5IQkhvNjA5bUU2Yyt1SHBpc0p4RC9PWGh3d0FEa2t1WVg2NWhBTkgya2ZnVFJXVjNHMAovMG5OT2pIa0cyd2FUVktsYWt2djFPZ2Q1K0pab3JCdWVrRU9kM2hvVnVaQmFBWCtJOG1CYlpjUktFR3VTY1doCk8zUXl0Qk9xU25laEJqaFdocjUrakVJWGQxRzBQeC84N1hkVHB5aHdrSVRpK0xIdGVKMUhpTHlxdzVxVXUzcTMKa282TlgvSVExOFNpbElwdHJvVUQyS3ZRUHBBTDZUeHNDZUpmaUt2L3FMTDhtYythcUpzL1BwMHpuWHJjbzIxaQpUVkJLakJjayt6TXNzZDZXbWdtU2JsL0JpdklOS0xmaWlRR00xdERuNHdOaElkd1IzT09ydWpHelJQMkhaamNQCkkvVCs5aXl6TjR1RG1NbTZUeXNTVkJRY0pKaVVpY1l5YktwWVpUL1lLRTUzYXhiL3JRY1M1b2xiVmNVQ0F3RUEKQVFLQ0FnRUF4Q3NGUXFCZDhuM0VqL09jMkRtZDhpZFM2amhOa2QxWmUrYnVHY2pxeW5NbkNJQmRySGQwbm9CLwprdEo2NlcrWm9JblNNVytSZEJMUE1JQSs3b290ZlhRZDZscGxPQnhiK0Q1WFJua0pHZS9yWXJ4eWtQdXZ6TnQ1CjRBVUx6TGhveDBqbk84dkNBT1RybE9CSEx1QS85aGNwbVQ4THdQRm5CM2QrTFdpQTN3STdud21WUk45TGlvODEKWUI1bXJZcVhwQW9mUEFxOHNReUZFbHZlU3crL0RXdm1JaFRjUytaZlpyV3BXaHhhb1ZqakhmQytYQTR3VzZZRwpXUEJlRFVHbGYrdXBYb0hyQUhURmRkQjhSM3FwSU5nTE5Jd1ZqanpuY0xhYTE1YUx3ZFdUT2lTZlZWbVZtWUZBCjdRKzlWbWY3VjFGbERjcWpCZm1ZS0FTWFRIeVJYSHBlUzluZ0VESGRVa3hjaHlja2FIVVp3dCsxREdSVGxMbEYKdGRGUmpKTFBuTGRlUWlYcFBvNDZRMWRtalV3SUlHQ1IrMldSMkFoUys1VzVxK1lQS09SaFNodXFxcmU4SDV4YwpaNTRQN0pyUEJGUHlDQ2ppeS8rUmc5N2Q0aUlPWEJNMitGazZUTzY0b09Obml6MWRGUWF4VXh4UE1EQ0Y2OVQ4CmFUUTY1MzlPSURlZGtRMklSUlh2MFphRDhOYnZoOUk0c09YWEJXbnVEWi81VzB5TWJhOEU2RkQrd2VmeEc3OVgKdGJxT2lYaHhLbFAyNjlFUzNacVFIVFVGTllLa1NsQkZ5T01kcTQxWHdVWHNKcWJsL1BDQVZtaDNCanM1UmFpTQpSbjNKU1YzZUhFQXB4TnVPUENQTWRWSjVDRHZwWXdVZ01veDlYVkdtTTNFMWNYT2tkT0VDZ2dFQkFQTFBIL2ZtCkRmWHV3Mm9XdFJGWFJzV1VqWWkyUjdvT2RzY1EwNXExU2YrWWRIc2p2YmVrbExUU2NwUG8zR2U1SHVCc1ZQckIKZzdoYmJzek1xdHJST2QxL1B2WDdkUHN5ZGJ4UERmWTh2SVBOdko2V2hKcnV5dTJZaHQ3NFUxOU5pY2Fyb3NLQgpveE01dDhCVXR4WTdZdnB2RDE0TGVBK0F3L0ZrZkc0OUQrYmxKSE9XUFJaV040cGRGSk15NUhMdVdpSG0wNUVTClhXd1dDOWdJZXBHL1B3ZElMVXgzOFE1Ymh5a1hpSkRGaDJNaU83Q0lvWHV3d1E5QmhYamgraGF3SXZvK3FwNkUKNDl1cVYvL0hiL1ZGZTRoSjZkK0NBMGR6Qm9JeENUR01TTk5LY0tLR0JYVlZqQzVEOHhZcGFSTjA1cXZXZ25SVwpZTFVJR2g5ekVpTGxPajBDZ2dFQkFPeU5kU0l6R0I0Y2grVXdkeTh5Rk95d2toQUdURlVFcWV2UUhmY0tyWWtICkhCY0dMQWphYWRwOEJuWU55RlZrclZyalRCSS9EZ2FZZXlES1FHNzVCN0dSSGpramJRTE1CUkJoQmFRS1VmVkgKNzg0S01HQTJpRk9mOS84YWhBUGEwcUxEbzdtb0Q1WE4rY1dNc0x6TFRVRkI2Y0lST2VqV2dUWHNBK2x6Nk5zYQpmcUhRYmNwSmdyZDZOb2d6V0h6UDVaSVdXandBZXFlRzJTRU9oQUdPTlc2Zlo5aVNHa2tLcHlsQVNnYmYzUXlkCk9MMFpTNHM5MEp5OVhudnZOVVFieHRyUG5uQ1FJek0rcEZiZWNyNXZKNTdCdGRQMGc3cVFKUzRoUE5iMmF3dDEKcFRpcGhWanBFL1JHOWRnWVRKS3RaN09adi81Y3FwNXMzd2dPTDYvaktpa0NnZ0VBUFVTb2cyd29qNnNjNGpNeQpvMXFMZ0NXNUJRdEIxQi84TnNUM01DMllxNGN6dFRMU2wzbFBFTVdkcGRiM2JyRFdxcmlMUk83NXB0WmpnZ2dQCkFNSVV3T0J2NmEvMjE3L20xNHAzTW5BbS9YYzNwaWpDOHpsWU9WWG9pbkRNME5xRzdudTJ5Uy9mRDJYY0NRc1gKVytQR1dQMFhPcHJZUThreEtFTTc1ckUveHZxQkZTMk80b2tFNE1RV0FnS3doSlBDYUpXUFF5Y0lMZEx1VUNmcgpqY1ZkU1NBY1ZoUlozazZZTDNWQnY0NG9XSXAxMTFqU3JweHVTc1Ewd3NqNnl5ak0ycXBmY1RxRktKTzJPdE4vClc3dVpyVTFCVjJXK0lCUlZTeHJHZ0JzdThTbnlmQUFuZG5FTXUwdm9GZXFER2liQVloSHh2eHRnc2EyR3NmTGUKVzdITjNRS0NBUUVBaFdCZEl5TmIvZDVvWVRtcWVkbnJJbW1NY2F5YmJYUnJ1cUpsd3QwcWE1Q3VyZXkwOTJqdgpObG1uNnZocWRIdUhveTkxdlBRQW5JZHRKVmZrYkszTlFMbHFLUjFvWWFOWFY1emM2VmxJVE54Nndkbk0zUExpCmV3US9lSDhpNEdtSlNteTA3QUZ1aUREVEhDZnZud09pVTZFdWhGWGlLUDZKYkRYZkhzcFVDUFl2WUYxOUNnblkKd2tzT1pFMVBIMUM1U0YyQ0UwTFI1Wk9LNmJDZGphTDVUWjVqbHlFSjRSVTRtM0c4UzVQOXR4Y08zdEJjWCs1QwpxWjI4b0hTSHZCZE5VQ0t3V3hkcVFZS1lkc0tHUUFtOGRTOFRycWEzZjRHMjlRT1lvanZlcjE5dUFUelVDd1dnClVxT1FDbi9vN09zSkJhTXpOZUJaODJtL2QzTklRQXY5d1FLQ0FRQjZDV0ZCL1hFczE4YWlrY1FNNXRkWFBZSVEKYnhka2lCWXExaUdpNy93L3JidnhDdGlvV0V4M1ZyY09tWnBINlR2ODdDbzJkZjFUWXBZZzRiVEJrSGthTTRwTwphTjdSOVNMRzcwcW80ODdDaVN2WmVTYk9EN1dzOGFGci9YdDRDTXJTY3pDTzRlalZEK3d1NklIYmNDUkRoSWQ3Cit6NXBrdFBIelkyN1JSQ2I3TndmNEx1U1NhaWlOYUZWVGZBL3lGM3d3djUrNGx0NVQ2SFpyNEMyaWFrUmlhUjUKeG56bUczRXlSdFljRFo2b2orR0kyYkRiakMyeFZNYktUVDhsbkp2dkVnd1ljSDU5VjY5eGx0M21qZDZJWTBQawpJNmtSWWpxNmpZMEM3dGVaenNtT2xiSkRVZGJvaUE3eENHMkRDQWN6d3E0cnQ5YXhlU0ZFQ2pPYXM5N1IKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -563,7 +563,7 @@ "domain": { "main": "wud.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUYvekNDQk9lZ0F3SUJBZ0lTQld5WDZjdVZyQXdvMmMrcFFoSUg4eG5lTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05NalV4TVRFMU1qQXpPRFEzV2hjTk1qWXdNakV6TWpBek9EUTJXakFkTVJzd0dRWURWUVFECkV4SjNkV1F1WVhSb1lXeHBZWEJ3Y3k1NGVYb3dnZ0lpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElDRHdBd2dnSUsKQW9JQ0FRQ3I1bVpsV0Q4elowb3pYa1pJRCtIVzBjK2JBMWUxYkVGL1EwcXI0STh4N2wxVzdGbm0yQUQ3MHVhNgp2VHZBOGlNdEhWcDFEVWFDbzFyQm1ZdHExK2w0T2o3UEMzUENxUngwYkRPLzA4djJOQTFnWXFWaStUWU9iTE92CnphOFFsYW9FVHg5M2FONlhnSkhtZWFiTFI0amRmTXU5eFdhNzhFUmdmWWpYK1BMS050bEhwU2xKZFdpVW00K2gKcWI0SjBBSkc1Z2xobjZ1RGtYWlkyZnl0VzdGUFFzOThNaU45QjE5REswZHQvR3U4RnJLNHdOMm0yNkFtWU5zRQo1S3N5eFBiM3FlSlRLbGIvRGxaLzdrR0h2ak1vWHVrSXRNY25peTZUTnNtdWdWMENvTzdCUUZCWnpNRGNkMmRECldPYXRpRldwQWN3Zlh3cjBST3p1Q2JGTW8vYzhPQ09ZRXNWbUpleEZoYm5UYm4yYXg2UkJoUkRjZVZKU1pONnEKeHRybVNpTWxBcXdNN3BUTTFTQTJyNUl3Z1BzMDZYQW14U1BFbTJIUzNFVEdSWXVvZXAxS1lFayt0L25KaVZZYQo4cHBKb09CUnNCRjhzRG9vZ2ttVStIcUFGaDVXczRQbVZXUFVWaXFBQ2puZHNsQmxMQzk5dVVhZ1hZTjlxYWJzCkIzNExNYXpQcVFOSnRmcWNqWVhrOERRaGdjZGtlVWZWK0lQVG1hSGh4anJMODFseTMvdVp0OE1JdVdZMXo0am0KM1Qzb0JsNzdjMFA1Yis3cG41RXk5QmFSQkxWaFNjQm1JUmZOL2JKamE4YmpNZ1RoZ1ZHL3VTcDUyaUR4a0tXYwpNbmJmOHlPZDdzSE9UQlQxc1BObE5neitSTGRHMlZyTGJxakxrSXlrK2JTZitOQktaUUlEQVFBQm80SUNJVENDCkFoMHdEZ1lEVlIwUEFRSC9CQVFEQWdXZ01CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUJCZ2dyQmdFRkJRY0QKQWpBTUJnTlZIUk1CQWY4RUFqQUFNQjBHQTFVZERnUVdCQlE3NExGSkJXMkxPOXJwTXI1bnlkNlpwdnh4L2pBZgpCZ05WSFNNRUdEQVdnQlFBdFNueUxZNXZNZWliVEsxNFB2cmM2UXpSMGpBekJnZ3JCZ0VGQlFjQkFRUW5NQ1V3Ckl3WUlLd1lCQlFVSE1BS0dGMmgwZEhBNkx5OXlNVEl1YVM1c1pXNWpjaTV2Y21jdk1CMEdBMVVkRVFRV01CU0MKRW5kMVpDNWhkR2hoYkdsaGNIQnpMbmg1ZWpBVEJnTlZIU0FFRERBS01BZ0dCbWVCREFFQ0FUQXVCZ05WSFI4RQpKekFsTUNPZ0lhQWZoaDFvZEhSd09pOHZjakV5TG1NdWJHVnVZM0l1YjNKbkx6azFMbU55YkRDQ0FRTUdDaXNHCkFRUUIxbmtDQkFJRWdmUUVnZkVBN3dCMkFHUVJ4R3lrRXV5bmlSeWlBaTRBdkt0UEtBZlVIalVucStyKzFRUEoKZmMzd0FBQUJtb2x6ZDZNQUFBUURBRWN3UlFJaEFKTmY2ekVaOXhkanZmZkRRdzl2N2Zzd0tJWjJTZFhLZWpUSwpZcENRWjFPZkFpQlVXdFBFbXNHVU5Fd2F0Z1ZiQ1JaWWlHUHNJM25xV0lEdGJyNXlPcTV6S3dCMUFCbUcxTWNvCnFtLyt1Z052ZUNwTkFaR3F6aTF5TVErdXpsMXdRUzBsVE1mVUFBQUJtb2x6ZDZrQUFBUURBRVl3UkFJZ004bzIKUElRblhIOXp6TGtXSkQyVlRuMUFiblNSV3B3RWI5VHRxZTYyNDE4Q0lHU1kwbXdHcEcxNk5UbDBJeXg3clUrbQovMUxYVCtBQnh5Ky9wSUxnVzlWT01BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQVVYTHFpNzlvM2NESm03dzVQCkdTYnNyd1pCc1VDT3dYbHpyMGZEVDRrMGZuMHBCdTFvbjY3TGdCNFJLd2FFUUliRWZWTXh2aXBzazhTYVVTTzEKR3ZDWTV0VU5hVExkVC9NVkIzY2haZlg3V1NldmQ5bWtBMjQyWTJYU3NiVWQ4Zk9hQ2lzMHJhdDVXcWNLVm4rWApKOEJLTCs0OG9ZcWluckZPZm5tNEhtaG5uN0FaZ3Z0TDlsOU5Xcm1STzVqQ3IxbTdDaW8wM2lPMXBkaDNJMytJCjMycENWdU1MakhQWlBQWlJzNUJkcWY2TzZHWFNHWW9nU0pXekllSEFOVHBEZDZSMHE1TkdvcUc1ekZYTW53S1YKTm0yaUhBdzRCYlFvN0lYdWI1YkRYRDQ0YmptZWU0U21RdGM1ekF3RFpOcUxpcW5HOXdiUUtjckduVGNxa0RDTgpJdTYyCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDakNDQlBLZ0F3SUJBZ0lTQlp1cGZCODhvaEMzdHFrUDFGU0FwYkV0TUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TVRFMU1UWXdORFExV2hjTk1qWXdOREUxTVRZd05EUTBXakFkTVJzd0dRWURWUVFECkV4SjNkV1F1WVhSb1lXeHBZWEJ3Y3k1NGVYb3dnZ0lpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElDRHdBd2dnSUsKQW9JQ0FRQ3I1bVpsV0Q4elowb3pYa1pJRCtIVzBjK2JBMWUxYkVGL1EwcXI0STh4N2wxVzdGbm0yQUQ3MHVhNgp2VHZBOGlNdEhWcDFEVWFDbzFyQm1ZdHExK2w0T2o3UEMzUENxUngwYkRPLzA4djJOQTFnWXFWaStUWU9iTE92CnphOFFsYW9FVHg5M2FONlhnSkhtZWFiTFI0amRmTXU5eFdhNzhFUmdmWWpYK1BMS050bEhwU2xKZFdpVW00K2gKcWI0SjBBSkc1Z2xobjZ1RGtYWlkyZnl0VzdGUFFzOThNaU45QjE5REswZHQvR3U4RnJLNHdOMm0yNkFtWU5zRQo1S3N5eFBiM3FlSlRLbGIvRGxaLzdrR0h2ak1vWHVrSXRNY25peTZUTnNtdWdWMENvTzdCUUZCWnpNRGNkMmRECldPYXRpRldwQWN3Zlh3cjBST3p1Q2JGTW8vYzhPQ09ZRXNWbUpleEZoYm5UYm4yYXg2UkJoUkRjZVZKU1pONnEKeHRybVNpTWxBcXdNN3BUTTFTQTJyNUl3Z1BzMDZYQW14U1BFbTJIUzNFVEdSWXVvZXAxS1lFayt0L25KaVZZYQo4cHBKb09CUnNCRjhzRG9vZ2ttVStIcUFGaDVXczRQbVZXUFVWaXFBQ2puZHNsQmxMQzk5dVVhZ1hZTjlxYWJzCkIzNExNYXpQcVFOSnRmcWNqWVhrOERRaGdjZGtlVWZWK0lQVG1hSGh4anJMODFseTMvdVp0OE1JdVdZMXo0am0KM1Qzb0JsNzdjMFA1Yis3cG41RXk5QmFSQkxWaFNjQm1JUmZOL2JKamE4YmpNZ1RoZ1ZHL3VTcDUyaUR4a0tXYwpNbmJmOHlPZDdzSE9UQlQxc1BObE5neitSTGRHMlZyTGJxakxrSXlrK2JTZitOQktaUUlEQVFBQm80SUNMRENDCkFpZ3dEZ1lEVlIwUEFRSC9CQVFEQWdXZ01CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUJCZ2dyQmdFRkJRY0QKQWpBTUJnTlZIUk1CQWY4RUFqQUFNQjBHQTFVZERnUVdCQlE3NExGSkJXMkxPOXJwTXI1bnlkNlpwdnh4L2pBZgpCZ05WSFNNRUdEQVdnQlFBdFNueUxZNXZNZWliVEsxNFB2cmM2UXpSMGpBekJnZ3JCZ0VGQlFjQkFRUW5NQ1V3Ckl3WUlLd1lCQlFVSE1BS0dGMmgwZEhBNkx5OXlNVEl1YVM1c1pXNWpjaTV2Y21jdk1CMEdBMVVkRVFRV01CU0MKRW5kMVpDNWhkR2hoYkdsaGNIQnpMbmg1ZWpBVEJnTlZIU0FFRERBS01BZ0dCbWVCREFFQ0FUQXVCZ05WSFI4RQpKekFsTUNPZ0lhQWZoaDFvZEhSd09pOHZjakV5TG1NdWJHVnVZM0l1YjNKbkx6UTJMbU55YkRDQ0FRNEdDaXNHCkFRUUIxbmtDQkFJRWdmOEVnZndBK2dCM0FCYURMYXZ3cVNVUEQvQTZwVVgveUwvSUk5Q0hTL1lFS1NmNDV4OHoKRS9YNkFBQUJtOEtjZ1dFQUFBUURBRWd3UmdJaEFKNnRIS2xZN01xNEt6SmI3TzJ1bThsMmw0RFg3citOTUN1eQpiS0E1UERoZUFpRUFzRTNZNk55UTV2Mk5tZVpDSHppVmpmamJnVEQ2dWVTTmtNK055dEpxOWhzQWZ3Q2x5WGlTClhWZEdGNEtIRGRpSlpndGNWV1NMZlFCQTh1d0hhRkhSaUdrWjl3QUFBWnZDbklOMkFBZ0FBQVVBTHhUa1hBUUQKQUVnd1JnSWhBTVZMT3RQTVZFbncwWXpFeGIveGsrNXIzRHJ5QkE1Z3hRUWczOStRWm1hekFpRUF5T1ZzQUxpZgpVbHN2T1RFSjN6Y2hFQ2dwSHBSUWI5Z3BCUVcwcTZvKysya3dEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBRHA1ClM5RjFndmk4Y0U3Z3RpQVZyZWhrTTlhajJneCtHOU5jeDJ0cVdVM0lnV3hVaFUweGhWTGY3VXpCNnNoVm00QzgKT1R2Y2VWc1pTS09lSk03Wnk1NmJVdGZZUTRNem1lb2hHdWJPbFNPTGNqNmZNQkIwdytmMTlmekhOQlBvQUV0NQpyN1QwRGZPS2RTcWl6Z1RMMGswNElMYWxmS1NWZlZ6dUZucnNlODNObGtaVXB1RGIwR1R1VHZqN3VXM1VUam9yCk40aVdVTGZ2ZXNENUpWU2ZCQ25kdW1GU2hNc0grNGF0YitTYXg1eFg2TUNiWWRDMkplcitjd0Fmb2ZlU0ZrZ2UKTCt3QkJQQW01UXZnSUVTbDdzT3RXMEpWSXM0ZU5iQ21FQ0tWbFBadHRTamdib3hvZjM4TC81RnhiZVVsUWRCSApqMXVMdTNRVEVCY1hDcHVFT2o0PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJqQ0NBdTZnQXdJQkFnSVJBTUlTTWt0d3FiU1JjZHhBOStLRkpqd3dEUVlKS29aSWh2Y05BUUVMQlFBdwpUekVMTUFrR0ExVUVCaE1DVlZNeEtUQW5CZ05WQkFvVElFbHVkR1Z5Ym1WMElGTmxZM1Z5YVhSNUlGSmxjMlZoCmNtTm9JRWR5YjNWd01SVXdFd1lEVlFRREV3eEpVMUpISUZKdmIzUWdXREV3SGhjTk1qUXdNekV6TURBd01EQXcKV2hjTk1qY3dNekV5TWpNMU9UVTVXakF6TVFzd0NRWURWUVFHRXdKVlV6RVdNQlFHQTFVRUNoTU5UR1YwSjNNZwpSVzVqY25sd2RERU1NQW9HQTFVRUF4TURVakV5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCCkNnS0NBUUVBMnBnb2RLMitsUDQ3NEI3aTVVdDFxeXdTZisybkF6SitOcGZzNkRHUHBST05DNWt1SHMwQlVUMU0KNVNodUNWVXhxcVVpWFhMMExRZkNUVUE4M3dFanVYZzM5UnBsTWpUbWhuR2RCTytFQ0Z1OUFocVo2NllCQUpwegprRzJQb2dlZzBKZlQya1ZoZ1RVOUZQbkV3RjlxM0F1V0dyQ2Y0eXJxdlNyV21NZWJjYXM3ZEE4ODI3Smd2bHBMClRoanAyeXB6WElsaFpaNys3VHlteTA1djVKNzVBRWF6L3hsTkttT3pqbWJHR0lWd3gxQmxienQwNVVpRER3aFkKWFMwam5WNmovdWpiQUtIUzlPTVpUZkx1ZXZZbm51WE5uQzJpOG4rY0Y2M3ZFemM1MGJUSUxFSFdoc0RwN0NINApXUnQvdVRwOG4xd0JuV0lFd2lpOUNxMDh5aERzR3dJREFRQUJvNEg0TUlIMU1BNEdBMVVkRHdFQi93UUVBd0lCCmhqQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBZ1lJS3dZQkJRVUhBd0V3RWdZRFZSMFRBUUgvQkFnd0JnRUIKL3dJQkFEQWRCZ05WSFE0RUZnUVVBTFVwOGkyT2J6SG9tMHl0ZUQ3NjNPa00wZEl3SHdZRFZSMGpCQmd3Rm9BVQplYlJaNW51MjVlUUJjNEFJaU1nYVdQYnBtMjR3TWdZSUt3WUJCUVVIQVFFRUpqQWtNQ0lHQ0NzR0FRVUZCekFDCmhoWm9kSFJ3T2k4dmVERXVhUzVzWlc1amNpNXZjbWN2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQk1DY0cKQTFVZEh3UWdNQjR3SEtBYW9CaUdGbWgwZEhBNkx5OTRNUzVqTG14bGJtTnlMbTl5Wnk4d0RRWUpLb1pJaHZjTgpBUUVMQlFBRGdnSUJBSTkxMEFuUGFuWklaVEtTM3JWRXlJVjI5QldFakFLL2R1dXo4ZUw1Ym9Tb1ZwSGhra3YzCjRlb0FlRWlQZFpMajVFWjdHMkFySUsrZ3poVGxSUTFxNEZLR3BQUGFGQlNwcVYveGJVYjVVbEFYUU9ua0huM20KRlZqK3FZdjg3L1dlWStCbTRzTjNPeDhCaHlhVTdVQVEzTGVaN04xWDAxeHhRZTR3SUFBRTNKVkxVQ2lIbVpMKwpxb0NVdGdZSUZQZ2NnMzUwUU1VSVdneFBYTkdFbmNUOTIxbmU3bmx1STAyVjhwTFVtQ2xxWE9zQ3dVTHcrUFZPClpDQjdxT014eE1Cb0NVZUwyTGw0b01wT1NyNXBKQ3BMTjN0UkEyczZQMUtMczlUU3JWaE9rKzdMWDI4Tk1VbEkKdXNRL254TEpJRDBSaEFlRnRQanlPQ09zY1FCQTUzK05SalNDYWs3UDRBNWpYN3BwbWtjSkVDTCtTMGkza1hWVQp5NU1lNUJiclU4OTczalpOdi9heDYrWks2VE04aldtaW1MNm9mNk9yWDdaVTZFMldxYXp6c0ZyTEczbzJreVNiCnpsaFNnSjgxQ2w0dHYzU2JZaVlYbkpFeEtRdnpmODNEWW90b3gzZjBmd3Y3eGxuMUEyWkxwbENiME8rbC9BSzAKWUUwRFMyRlB4U0FIaTBpd01mVzJuTkhKclhjWTNMTEhENzdnUmdqZTRFdmV1YmkyeHhhK05tay9obWhMZElFVAppVkRGYW5vQ3JNVklwUTU5WFdIa3pkRm1vSFhIQlY3b2liVmpHU083VUxTUTdNSjFOejUxcGh1REpTZ0FJVTdBCjB6ckxuT3JBai9kZnJsRVdSaEN2QWdidXdMWlgxQTJzak5qWG9QT0hic1BpeStsTzFLRjgvWFk3Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBcStabVpWZy9NMmRLTTE1R1NBL2gxdEhQbXdOWHRXeEJmME5LcStDUE1lNWRWdXhaCjV0Z0ErOUxtdXIwN3dQSWpMUjFhZFExR2dxTmF3Wm1MYXRmcGVEbyt6d3R6d3FrY2RHd3p2OVBMOWpRTllHS2wKWXZrMkRteXpyODJ2RUpXcUJFOGZkMmplbDRDUjVubW15MGVJM1h6THZjVm11L0JFWUgySTEvanl5amJaUjZVcApTWFZvbEp1UG9hbStDZEFDUnVZSllaK3JnNUYyV05uOHJWdXhUMExQZkRJamZRZGZReXRIYmZ4cnZCYXl1TURkCnB0dWdKbURiQk9Tck1zVDI5Nm5pVXlwVy93NVdmKzVCaDc0ektGN3BDTFRISjRzdWt6Ykpyb0ZkQXFEdXdVQlEKV2N6QTNIZG5RMWptclloVnFRSE1IMThLOUVUczdnbXhUS1AzUERnam1CTEZaaVhzUllXNTAyNTltc2VrUVlVUQozSGxTVW1UZXFzYmE1a29qSlFLc0RPNlV6TlVnTnErU01JRDdOT2x3SnNVanhKdGgwdHhFeGtXTHFIcWRTbUJKClByZjV5WWxXR3ZLYVNhRGdVYkFSZkxBNktJSkpsUGg2Z0JZZVZyT0Q1bFZqMUZZcWdBbzUzYkpRWlN3dmZibEcKb0YyRGZhbW03QWQrQ3pHc3o2a0RTYlg2bkkyRjVQQTBJWUhIWkhsSDFmaUQwNW1oNGNZNnkvTlpjdC83bWJmRApDTGxtTmMrSTV0MDk2QVplKzNORCtXL3U2WitSTXZRV2tRUzFZVW5BWmlFWHpmMnlZMnZHNHpJRTRZRlJ2N2txCmVkb2c4WkNsbkRKMjMvTWpuZTdCemt3VTliRHpaVFlNL2tTM1J0bGF5MjZveTVDTXBQbTBuL2pRU21VQ0F3RUEKQVFLQ0FnQjhpRCtxTDlJcGRTekdKZ2dZY0prVnZZMy9LTjdEcWhlUkVManA1NWNWZnkvVHB3cENPRDRPTVczQgozeEdJNkdJZmJ1SjNaaFNzMDVjT0ppUmdWT2JvbUptaitSSDE5Zm1OUmszL0xIcllkRUUwa0lKc1AwcXdESVBvCldzUDI2ZFh2cFRxUWtVS2cweDNmc0VYcmdubGVxK2dXSlFvV0lTd0lFeW10L01ZM1JLRUlURmlxeFFuc2p2M3gKQ2oySWNrOFQrZGJXQ0l5Q2xrRDhnWCtTUDVrbWFLcFR1U2NJanV5dWhvNEsyaEZhZzc4YUpXN3VVTEdtM0FnUApkWEdwS0JRYXU5SWdtYzNJblNTQkxhUC9xUVQ2dkRkcWZUekNJd3lzemNZeVM3bU1DL2FydmVINERHT3oxRFRWCkQzU2VSdVIzdWJ1ZEJvZXpDclB5aHNjUlZML29pY2xvYWN2dWpJZFAzdS9ES0g1cStFelNieXJ0NzRMVTVxSW4KUWs5eWlXcldkQUs0NHEyRzdLakpQK29zZGgzcThiV0ptdms0OWsxbHViSE5UN2xpZUFGT0c2L1NPRDJselZpRApBbVA3d1hYTUh3aUhhWjE3dDVGZjEySytHRnp0WEZKL3lIbVR3V25TdjdzK0dHUTNCdG8rUEdTb01UWGZYR1E1ClZYNi9EUTZ0ekRQZmZ2V1VWSEQwRWIzZDZPRnl4dGZZUkxzWHlwODY4MitMbld2dGhkVDVRMFY0TmNYa3ZMWGcKb2l2dmFkV1dHenJmSWVlSkRleHZpMjVHcHZMVVFKblFia0thcFBiWVRocnVrcXk0Nmc5MFAxZ21oeWpYd0VEawpOOEJFaEpwRWlPWE1ROEZNbHRRcTFFR1NmOHIvUVlSMjBmU3VvNUw0bFkvVTNUbytRUUtDQVFFQTRGRGd2c21rCkpSWDlJT3cwOXBkZzgyMjE3dkhNeFgxVk1XZG5jOWJNblpxL3gySWJONjBWcnVxOXhDanJKL2NtdDRWUHZDNUIKVlZ0eTF3Qy8zbW94Rkp3OGo2SnVMaTZMbTNuT1M0LzhPbzVtSzl2eW42eW9IditsQnhha2lnUXB1VUxlMVd0bQo1Uzh0cHpPaWlwcEhFNzNSRHcraVB2dXpwQ1VZcStBUE9RWUpiUlRleHBlOVNnQnRGWWRSQmtFb0ZEYSt6SW9wCjRHTDVYOVVBWTFpSWpJOUp5bjBESUtvYStuZHFKbEg0Yk9PeXUwMnV1NnJsOFFxc1J3cWk3ZCtDb0w5WklyaWsKdnFpWTlFZlhTNjNPUEFUOUwrelQ5Q3lPWGovUmE0bGRLQWJJdVJZTHJXYUE1MzB1cGcrbGpCd3ZaOTR4VktDNwoyU0xxK3RydFc1MWZuUUtDQVFFQXhDNHgrbVk4a2pITno3VFdSaHkxa2lGVVRCVU1RcEJwYVBXV0w0THZ1d1RkClNON0tSU0hnR0VuU2R6VGhab3d5YmxrVHZ1Ny81L2NsNDZUWlBnVENMWGNTcEJJNUlhSHRxM0RJRjJkUUpFMloKRHRWTkR5S2RXODlGNjFESW1zNVlNVjhhNnFDR3Z2T3ZtRWFHbjRUeUoreEZjQVVVMTN4SGs5aThJWHIvaXJYcgowbm9YekJXbTh5eVFCeTVFUnNYVXB0V3RBRElsZmhHWWt0dHVlR1psM2pXeVNTNWRYRVRIR2o1MXNhVXNoN0dICkVTUFhXdHo2dStaOEJhdUZhZVZwNnBIeTh6UnJZdkRVZXQxdlJxSTkxMnVXNitsbmtoK29sZXRPT0JUQWtlWksKMWFqaXJCRVMwR3lTK29MaFN0bCtHb21OT1RCaEhMMnpRM0hlSEZ0dmFRS0NBUUVBMjB4V25FODM2WVhZeFlJSAp1WGgvTVIxMSsxZHJzVHQ1dVdYMVR0dVZpUk5NSUpuNkwvRklQSXlEMzYxOVVNSWdtTlI5QW1WYVBCKytZeEg1CmduRGc4TnhabkxiWTdzOVViemlqQlY2TDRaZHJyYjlITVBHMEh6SWczWkEyWmpQeHNvdjhuRHQzQ2VLWXlGa0QKdEd0bHg1Z1FOYUE4SjBVZCtBRElZT2daR2MrY0VZZVEwQ2h5eDFFcFZCM0ppY3JUYXdlbWV3TXNNNUd2YVJBdApZL0tlOUlQMVNULzBlYyt6dG1CZVozNUYxL2EzdXNRVWFxYUdUS1A1ank2SDRQUmRtZGZZUmNpc1R6VTI2OEw4CmFhRk8rWUNMSW5wdk1NMEtsbnZmdWprOTJLN2hONG1rK3U0Mllab1JyQW1wK0JOcUNTckJvWkhPZEZiZDBVZU4KTzc3Y1JRS0NBUUJpbHJDSkhPM2RybWUydFRObG9ySGcwUjBTNnhUeE1xKzJqb3krTGJnYUxWU2pkVXNET1FYcwpUdFVWRVI4aE1OMTdOUXJHVGtlT3BGYUhNMlgxVStEZGhsUjQzYXVXYWxFTmNpMHNEY0JwcmhGNE1kdDYrck5ICjJ6OVJCWlQ2cnk0RkNiMTJJZHYxaEhNL1BGb1ZPbk9UZXBwZXREOElGNjNFOEF1RGE5T1dPdHhiTnY1VWtxRUcKM2VNM3FKbXBVMndOdDU0c1ZnY2ZkdXBOQ3pkV0RHZXZKeDhFeGVjbkltMUlsQkVEaUhWN2I4em40VEl0dUpYTQo3Z1J2dVFYZjlPbW9kMVkzd0tVaTROSjNPR2JlZ1ZSQXVSSHNWcXkwODNIK2ZYVWVtOWMydXh2cWllZjMvdENNCnE3T2xiemFYTGZ2QWpGWExZck83Qk41Y3k1R0tnS3paQW9JQkFRQzZaUXEvZ2JrLzZuVmg1aEYzZVZUZ0lLOGMKbnVYaDRLb0p6K2F0ejh0QnNtYmpzaGk4endVUFNtTzJiMkRBdnNja2szc0loZHJmRkk3TzVxWk5ZWkFaZEVzagorRGxySHgyWFVHSWpuU1QyV2M0NTdEUzhXc2xUQkswOEhaUHRoWWptM2lvcVhLS3gxMnRWV3lDTDVFYkN2eHVrCmc4U082NUFEYldtZE4wWmJ4d1pBNU1KMjVpZS82QkEvS3RYUTRGUnR2YURrYVE0Wnp1d1N5Y1lPeGI1WFpjU0EKRjdPYmRYWCsvUkRKR3FXRk80SWNGenlJaGtvdEY2a0dxTVJQY3Z5aEc0eC9NcE5CalQzQVhJY0VMU0xRYWtPVgpMSm1BQzV5eWZpZm9pZFpGREc4SjU4Y3FBTkpmWFk1VTFCbTRCa2E3dkJVcDQ0RFg5clBVcXkySWQxRjIKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -571,7 +571,7 @@ "domain": { "main": "booklore.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdFVENDQlBtZ0F3SUJBZ0lTQmFzRW1oWTBvVG0zc1ZUVkVsZTZGblJMTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05NalV4TWpFeE1UWXpNRE14V2hjTk1qWXdNekV4TVRZek1ETXdXakFpTVNBd0hnWURWUVFECkV4ZGliMjlyYkc5eVpTNWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVAKQURDQ0Fnb0NnZ0lCQU55WXZMWXAzV3NDbXZ5bnZBb0xxbm1qSGhieHNGaXM2VndRbDd5MXJ1Ykdwc2UvU1YvdApJZ1kwbDlvMjFWWjA2bmxEMFNJZWdNajl0eUMwTWZyNDU2SnJJS2YxQ1k4SWthQ3ZCVW5CdDMvTTlyUHJJUmJECnlzUzhPZFVlVWlaaGNLUTJFVU5hNlZzeElSUHMxaXBKWnUzakEyM21mdm0rZFNRN1NpRGNoUGRRc3hudXVobXcKUUFsbXpTSHhkdU5mSllBTFZld0ZOQXZQODFDblVncVM0cVJxaDc5bWhmdVEwenNhUENhQWJmNFR1T0pobkJDUwpHaURWbHZ4NXFXQTVQb2dPWmFkSGM4RkYremhVM1ZSVDUzNWYxbTNYeFVpWnpIbklyd1EzSkFNTVJIa1RzS2E2ClFadUFYbWpUdHZRanBDSEhibDJOTWNKNzBGOVJCSjFKSlBqSzZ4bTI1ck5pdTAxZXRLaFAxdUMwTFM2M1k1emoKbG5GNmt0ZjNEN0JWbXAxTEZlTk1tNzRnaVA5SzVqK1FYWWJnUXhHM0lvNEtvbW1NYXNlN0VUU1A3ODVIL2RzcwpCT3lCVHhoRWpJZTAxS2lONFFhOWYwdUJjekUvNTRKK0tObjBnWVJubHJFMEhhNjJZaDRCdDdvK3kyam9BekRhCm5BNWNzbHdOMFVxSjRXdmRBK0EyTjRnMXZmSThsV3FiMjROZGJpWGNMaTVoRlFnNm9aZzl5SXRNVzlXY1VzNkgKOHgyTXRmVVRrWjBlMEcrOXdRTkFmQTE0YUx6bmtzeW01dzZMRU90ZGQxN2Z3SVZmK1Y4K3JxTGtocU02eDVIcQo4SU5iOXlxeS9iQUFMeTFkaUlHOEtRZ0o3cm9ZM2NiMHAyVmZENFk2ZFR4bzlCUWxQdnBkQU5VcEFnTUJBQUdqCmdnSXVNSUlDS2pBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0cKQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZNOEhwQzR5K2JaM3V2ZEgwUTlKQitvcApidUJPTUI4R0ExVWRJd1FZTUJhQUZPZXJudzhzTTZCVDAxNVBlTWl5aEE0NzFwSXpNRE1HQ0NzR0FRVUZCd0VCCkJDY3dKVEFqQmdnckJnRUZCUWN3QW9ZWGFIUjBjRG92TDNJeE15NXBMbXhsYm1OeUxtOXlaeTh3SWdZRFZSMFIKQkJzd0dZSVhZbTl2YTJ4dmNtVXVZWFJvWVd4cFlYQndjeTU0ZVhvd0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QgpBZ0V3TGdZRFZSMGZCQ2N3SlRBam9DR2dINFlkYUhSMGNEb3ZMM0l4TXk1akxteGxibU55TG05eVp5ODNOaTVqCmNtd3dnZ0VMQmdvckJnRUVBZFo1QWdRQ0JJSDhCSUg1QVBjQWRRQ1dsMlMvVlZpWHJmZERoMmczQ0VKMzZmQTYKMWZhazh6WnVScVEvRDhxcHhnQUFBWnNPZFlZaUFBQUVBd0JHTUVRQ0lDVkp0UE9IdSs4Yi84TE1lUndnZGFHQwpJcVZvNTBUR0ROd3VkSnA3SEhIYkFpQm5RUGFMTHR4Skl6cUgvNnYxRGtJc3p0cXI2WkhhMnNZZW15QzlpbEU1CkxRQitBT01qamZLTm9vamdxdUNzOFBxUXlZWHd0ci8xMHFVbnNBSDhIRVJZeExib0FBQUJtdzUxaVR3QUNBQUEKQlFBcnZqZDZCQU1BUnpCRkFpQmpjdW40eHRmRDZHMzcvWENRcUI1RmkzajlmSFMxMVhxL1ZOcUJ6bWhkZ3dJaApBSWtpTnAvaG1BQVhoWVIxZGF1UEdNOEZjQUVlM3JicU1kWCtSWTFMcStFL01BMEdDU3FHU0liM0RRRUJDd1VBCkE0SUJBUUNBRUE2MG80S1BaR3A4bnJjS0xQcnBkZDlhSzRwUTFabytWTjhIeit3WmNENEtENTZxTllVUUNGUlcKajBYYmRLZXlaRU9udVk4VHl1a3BMZzB0eFR1NktrR25CVVJrMWlDeEV2TDFGakNPWGt0THhmRm5TNXhKeDhmdApibHV5RGlWZVFtZ1VOSWFqWlZOMUJmajhBZUdJZlVSdnIwNzJJU3RXcnExZDFaS2FNMm13Ym53aG1rVTlZYmk5CkFzcFlpenhRQVViSzM5M0hiK3ByK2JmVXc1V3RONTM0RnJLWEFQQXNWblJYa083aW5NRTRCcmY0ZjZzTFRibUsKWjErS2xmaTJGWGxTaGs0UGNFYmxQaWJ0TXNvbFZlNXF4d0loZG95NVBrNVlTekNzdnRRT05PL0hKSlFrOHgvLwp5QUdUa2ZoM2NmeEluUXNMek1qdUNVZ3JWUXR3Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQlRDQ0F1MmdBd0lCQWdJUVdnRHlFdGpVdElEemtrRlg2aW1EQlRBTkJna3Foa2lHOXcwQkFRc0ZBREJQCk1Rc3dDUVlEVlFRR0V3SlZVekVwTUNjR0ExVUVDaE1nU1c1MFpYSnVaWFFnVTJWamRYSnBkSGtnVW1WelpXRnkKWTJnZ1IzSnZkWEF4RlRBVEJnTlZCQU1UREVsVFVrY2dVbTl2ZENCWU1UQWVGdzB5TkRBek1UTXdNREF3TURCYQpGdzB5TnpBek1USXlNelU1TlRsYU1ETXhDekFKQmdOVkJBWVRBbFZUTVJZd0ZBWURWUVFLRXcxTVpYUW5jeUJGCmJtTnllWEIwTVF3d0NnWURWUVFERXdOU01UTXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUsKQW9JQkFRQ2xaM0NOMEZhQlpCVVhZYzI1QnRTdEdaQ01KbEEzbUJaamtsVGIyY3lFQlpQczArd0lHNkJnVVVOSQpmU3ZIU0phZXRDM2FuY2duTzFlaG42dncxZzdVRGpES2I1dXgwZGFrblRJK1dFNDFiMFZZYUhFWC9EN1lYWUtnCkw3SlJiTEFhWGJoWnpqVmx5SXVocnhBMy8rT2NYY0pKRnpUL2pDdUxqZkM4Y1N5VERCMEZ4THJIemFySlhuelIKeVFIM25BUDIvQXBkOU5wNzV0dDJRbkRyOUUwaTJnQjNiOWJKWHhmOTJuVXVwVmNNOXVwY3R1QnpwV2pQb1hUaQpkWUorRUovQjlhTHJBZWs0c1FwRXpOUENpZlZKTllJS05MTWM2WWpDUjA2Q0RnbzI4RWRQaXZFcEJIWGF6ZUdhClhQOWVuWmlWdXBwRDBFcWlGd1VCQkREVE1yT1BBZ01CQUFHamdmZ3dnZlV3RGdZRFZSMFBBUUgvQkFRREFnR0cKTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQ0JnZ3JCZ0VGQlFjREFUQVNCZ05WSFJNQkFmOEVDREFHQVFILwpBZ0VBTUIwR0ExVWREZ1FXQkJUbnE1OFBMRE9nVTlOZVQzaklzb1FPTzlhU016QWZCZ05WSFNNRUdEQVdnQlI1CnRGbm1lN2JsNUFGemdBaUl5QnBZOXVtYmJqQXlCZ2dyQmdFRkJRY0JBUVFtTUNRd0lnWUlLd1lCQlFVSE1BS0cKRm1oMGRIQTZMeTk0TVM1cExteGxibU55TG05eVp5OHdFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3SndZRApWUjBmQkNBd0hqQWNvQnFnR0lZV2FIUjBjRG92TDNneExtTXViR1Z1WTNJdWIzSm5MekFOQmdrcWhraUc5dzBCCkFRc0ZBQU9DQWdFQVVUZFlVcUVpbXpXN1Rick95cExxQ2ZMN1ZPd1lmL1E3OU9INWNITENaZWdnZlFoRGNvbmwKazdLZ2g4YjB2aSsvWHVXdTdDTjhuL1VQZWcxdm8zRyt0YVhpcnJ5dHRoUWluQUhHd2MvVWRiT3lnSmE5enVCYwpWeXFvSDNDWFRYREluVCs4YStjM2FFVk1KMlN0K3BTbjRlZCtXa0RwOGlqc2lqdkV5RndFNDdodWxXMEx0empnCjlmT1Y1UG1yZy96eFdiUnVMK2swREJESEVKZW5uQ3NBZW43YzM1UG14N2pwbUovSHRnUmhjbnoweWpTQnZ5SXcKNkwxUUl1cGtDdjJTQk9EVC94REQzZ2ZRUXlLdjZyb1Y0RzJFaGZFeUFzV3Btb2p4akNVQ0dpeWc5N0Z2RHRtLwpOSzJMU2M5bHliS3hCNzNJMitQMkczQ2FXcHZ2cEFpSENWdTMwalc4R0N4S2RmaHNYdG5JeTJpbXNrUXFWWjJtCjBQbXhvYmIyOFR1Y3I3eEJLN0N0d3ZQcmI3OW9zN3UyWFAzTzVmOWIvSDY2R055UnJnbFJYbHJZakkxb0dZTC8KZjRJMW4vU2d1c2RhNld2QTZDMTkwa3hqVTE1WTEybUhVNCtCeHlSOWN4MmhoR1M5ZkFqTVpLSnNzMjhxeHZ6NgpBeHU0Q2FEbVJOWnBLL3BRclhGMTd5WENYa21FV2d2U09FWnk2WjlwY2JMSVZFR2NrVi9pVmVxMEFPbzJwa2c5CnA0UVJJeTB0SzJkaVJFTkxTRjJLeXNGd2JZNkIyNkJGZUZzM3Yxc1lWUmhGVzluTGtPclFWcG9yQ1MwS3labWYKd1ZEODlxU1RsbmN0TGNabklhdmpLc0tVdTFuQTFpVTB5WU1kWWVwS1I3bFdibndoZHgzZXdvaz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdFekNDQlB1Z0F3SUJBZ0lTQnNqT3I3cC8wS25tNzQ1T2gvbTdCL3BWTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TWpBNU1UWXdORFEyV2hjTk1qWXdOVEV3TVRZd05EUTFXakFpTVNBd0hnWURWUVFECkV4ZGliMjlyYkc5eVpTNWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVAKQURDQ0Fnb0NnZ0lCQU55WXZMWXAzV3NDbXZ5bnZBb0xxbm1qSGhieHNGaXM2VndRbDd5MXJ1Ykdwc2UvU1YvdApJZ1kwbDlvMjFWWjA2bmxEMFNJZWdNajl0eUMwTWZyNDU2SnJJS2YxQ1k4SWthQ3ZCVW5CdDMvTTlyUHJJUmJECnlzUzhPZFVlVWlaaGNLUTJFVU5hNlZzeElSUHMxaXBKWnUzakEyM21mdm0rZFNRN1NpRGNoUGRRc3hudXVobXcKUUFsbXpTSHhkdU5mSllBTFZld0ZOQXZQODFDblVncVM0cVJxaDc5bWhmdVEwenNhUENhQWJmNFR1T0pobkJDUwpHaURWbHZ4NXFXQTVQb2dPWmFkSGM4RkYremhVM1ZSVDUzNWYxbTNYeFVpWnpIbklyd1EzSkFNTVJIa1RzS2E2ClFadUFYbWpUdHZRanBDSEhibDJOTWNKNzBGOVJCSjFKSlBqSzZ4bTI1ck5pdTAxZXRLaFAxdUMwTFM2M1k1emoKbG5GNmt0ZjNEN0JWbXAxTEZlTk1tNzRnaVA5SzVqK1FYWWJnUXhHM0lvNEtvbW1NYXNlN0VUU1A3ODVIL2RzcwpCT3lCVHhoRWpJZTAxS2lONFFhOWYwdUJjekUvNTRKK0tObjBnWVJubHJFMEhhNjJZaDRCdDdvK3kyam9BekRhCm5BNWNzbHdOMFVxSjRXdmRBK0EyTjRnMXZmSThsV3FiMjROZGJpWGNMaTVoRlFnNm9aZzl5SXRNVzlXY1VzNkgKOHgyTXRmVVRrWjBlMEcrOXdRTkFmQTE0YUx6bmtzeW01dzZMRU90ZGQxN2Z3SVZmK1Y4K3JxTGtocU02eDVIcQo4SU5iOXlxeS9iQUFMeTFkaUlHOEtRZ0o3cm9ZM2NiMHAyVmZENFk2ZFR4bzlCUWxQdnBkQU5VcEFnTUJBQUdqCmdnSXdNSUlDTERBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0cKQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZNOEhwQzR5K2JaM3V2ZEgwUTlKQitvcApidUJPTUI4R0ExVWRJd1FZTUJhQUZBQzFLZkl0am04eDZKdE1yWGcrK3R6cEROSFNNRE1HQ0NzR0FRVUZCd0VCCkJDY3dKVEFqQmdnckJnRUZCUWN3QW9ZWGFIUjBjRG92TDNJeE1pNXBMbXhsYm1OeUxtOXlaeTh3SWdZRFZSMFIKQkJzd0dZSVhZbTl2YTJ4dmNtVXVZWFJvWVd4cFlYQndjeTU0ZVhvd0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QgpBZ0V3TGdZRFZSMGZCQ2N3SlRBam9DR2dINFlkYUhSMGNEb3ZMM0l4TWk1akxteGxibU55TG05eVp5ODROaTVqCmNtd3dnZ0VOQmdvckJnRUVBZFo1QWdRQ0JJSCtCSUg3QVBrQWR3QVdneTJyOEtrbER3L3dPcVZGLzhpL3lDUFEKaDB2MkJDa24rT2NmTXhQMStnQUFBWnhEVzRRTEFBQUVBd0JJTUVZQ0lRRFZZZHlRUnlhelVEbWdUYW5rYlVFaApBSVFwK1JrUUpIaFNKaUNMMVczTmRnSWhBTlJZVkYvZW9HM2tjRHFjbDJKZ3EvL0ZwR2M0WTFNS2RWMVhYck1lCnhMQmhBSDRBcGNsNGtsMVhSaGVDaHczWWlXWUxYRlZraTMwQVFQTHNCMmhSMFlocEdmY0FBQUdjUTF1TTlRQUkKQUFBRkFER3NkTVVFQXdCSE1FVUNJUUNTRmhTSks1N3pCalVOeGNkRjY5SEJ6bUFXK3RNTW14QWFHOVpjNVRpbwpYd0lnVi8wQ09lNlBrc1FkTWVhd3FZbEFiaGpOclFJam5TdlVNMmpOZ3REN2RyY3dEUVlKS29aSWh2Y05BUUVMCkJRQURnZ0VCQUtuQ1ZvRWtIUkh2Nys3U2dqOC9kbHRzWmNHcEg3Uk1ISXpQV2V0Wnh4dkVWOTRiaFZhSW5MSzkKSUZWTXQ4NllmL2hjQzZia3N3M2J2NWtaaThSdkJlTGU3cTQ4MmIzWHZwRzlNckh6Zk9rV1B1cjh3Q0taTmYxVgo1TWo2eUNhZlB1bEQwY3VubGVjazZLSnR0bTQwbzlDdit1SXdndFFBVU9KQ3gyQm9xajd2WlorMlF4c3pGQThDCko2UUM0YVpzOFNoZmRLVk5WM2p6aCtJbXV1eEdmTjFuRFVxc1U0Q2Z3Vi83eDcvV0xKdVBPVWNoUmUxbFRuUDIKVUtrS253ZE1nekFYM2ZaODZmNHlPVE5RV2NjajF3TnZidUVqVkl6d0E3MmgrQ1B1U0ZpTjhqQXVqbzA5R1RDbQpMdGV2SURTd3I1a2VFZkZ2M25JYlYya0V6MkhUREZjPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJqQ0NBdTZnQXdJQkFnSVJBTUlTTWt0d3FiU1JjZHhBOStLRkpqd3dEUVlKS29aSWh2Y05BUUVMQlFBdwpUekVMTUFrR0ExVUVCaE1DVlZNeEtUQW5CZ05WQkFvVElFbHVkR1Z5Ym1WMElGTmxZM1Z5YVhSNUlGSmxjMlZoCmNtTm9JRWR5YjNWd01SVXdFd1lEVlFRREV3eEpVMUpISUZKdmIzUWdXREV3SGhjTk1qUXdNekV6TURBd01EQXcKV2hjTk1qY3dNekV5TWpNMU9UVTVXakF6TVFzd0NRWURWUVFHRXdKVlV6RVdNQlFHQTFVRUNoTU5UR1YwSjNNZwpSVzVqY25sd2RERU1NQW9HQTFVRUF4TURVakV5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCCkNnS0NBUUVBMnBnb2RLMitsUDQ3NEI3aTVVdDFxeXdTZisybkF6SitOcGZzNkRHUHBST05DNWt1SHMwQlVUMU0KNVNodUNWVXhxcVVpWFhMMExRZkNUVUE4M3dFanVYZzM5UnBsTWpUbWhuR2RCTytFQ0Z1OUFocVo2NllCQUpwegprRzJQb2dlZzBKZlQya1ZoZ1RVOUZQbkV3RjlxM0F1V0dyQ2Y0eXJxdlNyV21NZWJjYXM3ZEE4ODI3Smd2bHBMClRoanAyeXB6WElsaFpaNys3VHlteTA1djVKNzVBRWF6L3hsTkttT3pqbWJHR0lWd3gxQmxienQwNVVpRER3aFkKWFMwam5WNmovdWpiQUtIUzlPTVpUZkx1ZXZZbm51WE5uQzJpOG4rY0Y2M3ZFemM1MGJUSUxFSFdoc0RwN0NINApXUnQvdVRwOG4xd0JuV0lFd2lpOUNxMDh5aERzR3dJREFRQUJvNEg0TUlIMU1BNEdBMVVkRHdFQi93UUVBd0lCCmhqQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBZ1lJS3dZQkJRVUhBd0V3RWdZRFZSMFRBUUgvQkFnd0JnRUIKL3dJQkFEQWRCZ05WSFE0RUZnUVVBTFVwOGkyT2J6SG9tMHl0ZUQ3NjNPa00wZEl3SHdZRFZSMGpCQmd3Rm9BVQplYlJaNW51MjVlUUJjNEFJaU1nYVdQYnBtMjR3TWdZSUt3WUJCUVVIQVFFRUpqQWtNQ0lHQ0NzR0FRVUZCekFDCmhoWm9kSFJ3T2k4dmVERXVhUzVzWlc1amNpNXZjbWN2TUJNR0ExVWRJQVFNTUFvd0NBWUdaNEVNQVFJQk1DY0cKQTFVZEh3UWdNQjR3SEtBYW9CaUdGbWgwZEhBNkx5OTRNUzVqTG14bGJtTnlMbTl5Wnk4d0RRWUpLb1pJaHZjTgpBUUVMQlFBRGdnSUJBSTkxMEFuUGFuWklaVEtTM3JWRXlJVjI5QldFakFLL2R1dXo4ZUw1Ym9Tb1ZwSGhra3YzCjRlb0FlRWlQZFpMajVFWjdHMkFySUsrZ3poVGxSUTFxNEZLR3BQUGFGQlNwcVYveGJVYjVVbEFYUU9ua0huM20KRlZqK3FZdjg3L1dlWStCbTRzTjNPeDhCaHlhVTdVQVEzTGVaN04xWDAxeHhRZTR3SUFBRTNKVkxVQ2lIbVpMKwpxb0NVdGdZSUZQZ2NnMzUwUU1VSVdneFBYTkdFbmNUOTIxbmU3bmx1STAyVjhwTFVtQ2xxWE9zQ3dVTHcrUFZPClpDQjdxT014eE1Cb0NVZUwyTGw0b01wT1NyNXBKQ3BMTjN0UkEyczZQMUtMczlUU3JWaE9rKzdMWDI4Tk1VbEkKdXNRL254TEpJRDBSaEFlRnRQanlPQ09zY1FCQTUzK05SalNDYWs3UDRBNWpYN3BwbWtjSkVDTCtTMGkza1hWVQp5NU1lNUJiclU4OTczalpOdi9heDYrWks2VE04aldtaW1MNm9mNk9yWDdaVTZFMldxYXp6c0ZyTEczbzJreVNiCnpsaFNnSjgxQ2w0dHYzU2JZaVlYbkpFeEtRdnpmODNEWW90b3gzZjBmd3Y3eGxuMUEyWkxwbENiME8rbC9BSzAKWUUwRFMyRlB4U0FIaTBpd01mVzJuTkhKclhjWTNMTEhENzdnUmdqZTRFdmV1YmkyeHhhK05tay9obWhMZElFVAppVkRGYW5vQ3JNVklwUTU5WFdIa3pkRm1vSFhIQlY3b2liVmpHU083VUxTUTdNSjFOejUxcGh1REpTZ0FJVTdBCjB6ckxuT3JBai9kZnJsRVdSaEN2QWdidXdMWlgxQTJzak5qWG9QT0hic1BpeStsTzFLRjgvWFk3Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBM0ppOHRpbmRhd0thL0tlOENndXFlYU1lRnZHd1dLenBYQkNYdkxXdTVzYW14NzlKClgrMGlCalNYMmpiVlZuVHFlVVBSSWg2QXlQMjNJTFF4K3Zqbm9tc2dwL1VKandpUm9LOEZTY0czZjh6MnMrc2gKRnNQS3hMdzUxUjVTSm1Gd3BEWVJRMXJwV3pFaEUreldLa2xtN2VNRGJlWisrYjUxSkR0S0lOeUU5MUN6R2U2NgpHYkJBQ1diTklmRjI0MThsZ0F0VjdBVTBDOC96VUtkU0NwTGlwR3FIdjJhRis1RFRPeG84Sm9CdC9oTzQ0bUdjCkVKSWFJTldXL0htcFlEaytpQTVscDBkendVWDdPRlRkVkZQbmZsL1diZGZGU0puTWVjaXZCRGNrQXd4RWVST3cKcHJwQm00QmVhTk8yOUNPa0ljZHVYWTB4d252UVgxRUVuVWtrK01yckdiYm1zMks3VFY2MHFFL1c0TFF0THJkagpuT09XY1hxUzEvY1BzRldhblVzVjQweWJ2aUNJLzBybVA1QmRodUJERWJjaWpncWlhWXhxeDdzUk5JL3Z6a2Y5CjJ5d0U3SUZQR0VTTWg3VFVxSTNoQnIxL1M0RnpNVC9uZ240bzJmU0JoR2VXc1RRZHJyWmlIZ0czdWo3TGFPZ0QKTU5xY0RseXlYQTNSU29uaGE5MEQ0RFkzaURXOThqeVZhcHZiZzExdUpkd3VMbUVWQ0RxaG1EM0lpMHhiMVp4Uwp6b2Z6SFl5MTlST1JuUjdRYjczQkEwQjhEWGhvdk9lU3pLYm5Eb3NRNjExM1h0L0FoVi81WHo2dW91U0dvenJICmtlcndnMXYzS3JMOXNBQXZMVjJJZ2J3cENBbnV1aGpkeHZTblpWOFBoanAxUEdqMEZDVSsrbDBBMVNrQ0F3RUEKQVFLQ0FnQnRpYUJIT2pHYXhlL3MzbU5tZjVWMmtmTktoRmZES0pVMTVIMWNOTUUxRWRaV0lGdVFlUUVvb0t2NApyTHF4bEJ1ci9HdFg3RnFac3paZ1ZHbnZDL0tGT1htOVBOVXl3NWdBZUhnQlFHSmNZUXZ0bWlkVGxRUldQWHJnCkl3NjZ4UzY0TTZyTnpkSkxPSEdLNGRNVXExOGpaOUxYbXhsWTdPUmhDZG5NeUlOMEJRdnlLQk1iMTJOczU3R2IKbGJtcHZLQ3ozSzBkSmhaS2VVZUNPSnRwNmJjRjJtb3V0ZnQ0eDlqRG84clRlWGxrclNsa3JBQmhVQk1PVTlFRgo3R21aQU1QV3JvTjJsV25hd21PMC9KcnNtVDg5aHR4RXJkeG1LUXlhT25jQmVsbjA4MzM2dXpiQUM0T3hjZ1F2ClBGWEFGQVNYeTE0M3NQbFE3OGN2MVZ5YnQyclYvV3FZaytINWFyNDk4eGdCZ2grbkd3c0pTWUZzWm95ZGdwa0MKK1ljUWY3ck9CSGZHZEhlUDN5RElCQ3A0NnMrRmpWUXVsNldPQ1RKOE9YcU1mQ0c4MzF4eDd1YWd2bC9nVDdLMwp4cXlxRFJBWEhxZHcvbmtNN2JGMFVrRk02bUd4UTA4UW5WeHRNUUhRTlFwUzFVVGRhbUEwcldJZ3ZTMGJ6akU3CmUrY0ZOcHp0TWRzNzc5OEVzOFRFTnhZMWdVYWRnVW5NbXZCbm1zY2dpbWtXYkhqbHFxU2l3MDlCRzdyUWhkYlgKQ25QWENnSXBKaHZia1ZVWVVjK3pRSEVZdzNtTG5CNFozVythSVZQWFJhKy9tTmFxcy9oL2x2ZGJBR0ZmcWlSVAptaFJoOXZORG5PZ05yekVqNC8wc2ZKQmxtL1Y1eUpqQ2Q3MzBJNTJnbm5ocmhyTktRd0tDQVFFQTZNQkRTU0VDCjZTby9lMGZ1ZkhrS3FyYXdCdEZkOHpSQ29QVXphUDhnSGIvbTJnWUZqUTVYN2RCRDE0VVFqdksrUlcyem02QVEKdmNQdC95emwvYm9rZDhqM3laU3YzdEpIVkgzNDRHdjkvbFE2cEYybU5IenVFSzFDYUNmb09rT1d5ejVrNDZHVAo1TGFLdU5vdEU3ekp4SEcvaDdXM0RTTkt6WDJhN2psNyt0a3l2TThmQWVSa0NlN0NXUTIzcDRPM3R0RWpQc2NKCjd1ZWtUTUxHVS9pbUEyR2FzRGw5ckwySTQxUXFhSFdDa1piQndVZWtDaHhnRDlkcTNrazMxV0gzR3J5cU5nVXgKZWhnbzBjamRUZjl1S0t4S1lHSGcvbkdicWR0L0NyMkpydVRKa2N6ZnB2TDhBZ3VHTWhYTElFU2xHWGQ4RzBZZAo0ZDhLWWY4bE5zdHlMd0tDQVFFQThxR3J5ck5NZWZadkd3WERPcXlETHh1SHhuNXlQdE5ZRnRkMlJYS056QUFZCnpzOXdabTFhRC9Zd2JwSzlKRUZId3lYc0xpVUdScTJJZVJQUHNqRDUvUUppcjdMZzNnK2RGbXVibWlyY2NzM2gKLzRrTlBHNWQ2QnRtWWV6Smhzcm1iZVJmdjBPRFVrQWwzaUdQMGJhKytLYnRZL0pJNTdoUGpEbHRBQjliSUdnTgpWWDNGUUQ0NkxnSWZxRHBnalRQWnc2dVhoRC9QRUdTb3FPRUZIdWZLR2dIZ2xRM3U5OG9WeDRzejNOajNTbWlSClJscURmdW9tRFV0NzRMZG81UDdJcURaSVl4MWMyR09MSGlvY0dobWtLT0VFZTlVMGNibmVlOWtZNHQ1ekcramoKNXhSNmE5a0cvY0EzVUZFa0hhV2xvNGR3di91TzdmYkE4TUx2SHJpUUp3S0NBUUVBM1NVWWlWbzVSc3RpaDhNZgp3TnJOSE1qNTFYQ0dvTGJ0KzdzZWZzdXhlekxEcURJQ2dqUzNyUGl1RFErY1hRWWRiU0EvZ0VXRXdwbHYvMzFzCmhUaWd2OE9PVTlUWGlaSW9QZ3AzTnR6RTl5cVdrV2Q5ck85cXp5T2dMaENFNFI4cEhyR0k4Sk9zVHFwMmdnNmkKdDljdnFsd2RqRmRHdHMvcW1mYVhCM1JNN1ZvRGtFd0hmU2ZCT1lMRzNCQmhpR05wWWVXeVpFcC9rS1E5Z3NXcAo1VTBpaDZIc2RUWWF4ODlLU2h6Rk1uMDhjeEpYeEVwS2ZXVGFqUkt6c3NMRXJ4VW0wUnVqYWpKakFVd0ZOTlp5CkYxTDBHdWNnd0JVZnp3S28wYW9CT25ZK1pKTnpSZm53SXROS1NMTWtiV0F4b05ZNFBFcy8rellTM0hLc2pkSDgKVE9UZTl3S0NBUUJWRllpdXptMTFINHdheDh5TW1NNXdDSkYyZEFVUUx3RG5FYXV4OHRmeXY5M3pPQjlNYS9CMwpSSGY3Ym8zUlZ1c1piZ1VDc1kwZjM5N0p4cjdBMkJmeU41SHYxeVN2K24yMXpRcUY1NTNpekh3Q0prZHo5NmdLCnF3RWVPZkQ1eWRGQW5DTlBhUmQyRW5TMURzUG1ZTlZiVVA1U1hEWmd1K3Q1V3ZIMFp3cUh0TFZvVTNDR2RNdm0KTW14emkvVXJ6eEVBWXY0QkxIY3FZb0lhcHI0cTlsR1RDVEYrVTZLSFZtQ0kxekhhc21NVnZ0R2pBRDY0bE5lLwpOY2M5S0ZRcWFZWm9KcEQvNE40Y0s5d3ZPY2tkQmZ6aE1QZG5qWDZVbXYrQUlzTnRXMkMyV3RjQXc5ZWlWanJ6ClpTS0FrZE8rYWNaS01FYkRyQzJWR1VEVHJTZzVkN05sQW9JQkFRQ0c0TE9PU3JFWnY3RTRVN2FCdWZGKzdxM0sKSENMVTRyMzU5WG9rQUV5RHE1cllZQkdZRUFHT1hyYTBGQjFDcWZCTlB2eFh3RTBON05sYXlseUd1MGFycnBFeQozK29XNzBwVlFMNEk3eEtQVjVEN3drU3BGZmQyL0ZpeXFCZy9GREEzbERKMlQ5OHJFVDdPR1lFU2JjelV5L3NVCloza3FBUWdTK3VFV3NsSUx4VThJMzlxY3c3b2JWdTJYSnRFN1dRa2tjRDZaOGtNSVE0V3BvYVNqeEJDTTU3eWEKS0E4WW9SNEFYbUxFL0M2NHBVSk9wWUtqOXEreGVLSkhlM1NFS3JDc2syYk1YemVIM3Y5T1V4VDZSckhMdVhWUApFK3RqWHBzWXRuN1VTZlV4aFo5NXc3T3Y1NmxvWmxnbEpsUE5ZN3lSTXJGeTk0TG55dnU4R29zc2R3dDIKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" }, @@ -579,9 +579,17 @@ "domain": { "main": "homepage.athaliapps.xyz" }, - "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdFVENDQlBtZ0F3SUJBZ0lTQmZTamdSbUJ2ZVR3clVDbEdKek53L3lvTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05NalV4TWpFeE1UY3dNekkzV2hjTk1qWXdNekV4TVRjd016STJXakFpTVNBd0hnWURWUVFECkV4ZG9iMjFsY0dGblpTNWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVAKQURDQ0Fnb0NnZ0lCQU9vTTYxdExJaGpoYU41SnZDd2NrR2NCWnFlNDEwb3JmSks5bWxZQTBySndNaWkvZ3FuMApGbHU4NS9QbHMwOHBJMm1EYkl1UnNrUlhUT0swcERBWE9xY0d6d1YxQ3lkMGNFMWpaakRpYll2UDBwU3lWWUVCCmdBbjhQSU4xTU4yVDVqUzJYRDA3bUlpVm5yUW5Hc0JGbTVDK1RmSGNGaExMU2xKN3ZBemtxK3FuY08wNmNmdUYKYXVKblpjODdpVWlBMGM5MVNvT0U1YXdkUVZhUnBzK0VsWm5XeDMrYTJRVE8yRUpSR3FDTnpORlhEcXJjaEVadApZNk0wSmFpcnQ4dDFMWnFaNHBvZExwcS9kK05manF1YkYzcmNhMGd2ZlpoWWZtVXZYMnk2WXFkNzEvbjRBSVoyCm8yakcxekZ0czQrZG83TGxOV2N3U2hMQzdvSWtSa1hoNE56cXAwYllSOExsVlNnTlR5MzhjcHRLM2lxZHU0QTAKYVFlaGRmb0dTTUlEYjZwTjBEK1ZQT2ViNy9FUVYydytOMW5OUk51TWdhQnQxZ3NJY0lsN1BkQk1oSjNBQmdJWQpzZjlwNnFab1VIMDdxQkFXcS9JMXV1cDRsWmk4NDl6UkxLQks3L2VDODBjWk1ML3YySWltNW5wOWU0TjVKZ2R6ClJYRU40SnZLUlhDd1JyUkNuM0lEV2kwWStYVGpMWFdWVUtXcUhQdHVmUVNwekRSaFVnc2tMVnFpRnNpUSsrUXoKcmg3WHJKYnMzUzUvRXR4UHExdzRnZmVWcWdpV0d5a1dDTEdmWUVTU3lTdm9iZXR2bmNWLzZVL1oxOUkxR0FuSwppLzBUeDREODluSG11dEVEbVg3bEt0NlVVQU9PbXdHSU92aElaUUpjYi9zb3dMUTVnVmk5WmNkckFnTUJBQUdqCmdnSXVNSUlDS2pBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0cKQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZEODdxdVcwQ0ZORnNJdlp1a092eFJ5Kwo2M0xOTUI4R0ExVWRJd1FZTUJhQUZBQzFLZkl0am04eDZKdE1yWGcrK3R6cEROSFNNRE1HQ0NzR0FRVUZCd0VCCkJDY3dKVEFqQmdnckJnRUZCUWN3QW9ZWGFIUjBjRG92TDNJeE1pNXBMbXhsYm1OeUxtOXlaeTh3SWdZRFZSMFIKQkJzd0dZSVhhRzl0WlhCaFoyVXVZWFJvWVd4cFlYQndjeTU0ZVhvd0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QgpBZ0V3TGdZRFZSMGZCQ2N3SlRBam9DR2dINFlkYUhSMGNEb3ZMM0l4TWk1akxteGxibU55TG05eVp5ODBNUzVqCmNtd3dnZ0VMQmdvckJnRUVBZFo1QWdRQ0JJSDhCSUg1QVBjQWRnQkpuSnRwM2gxODdQdzIzczJIWkthNFc2OEsKaDRBWjBWVlMrK25yS2QzNHd3QUFBWnNPazZzTUFBQUVBd0JITUVVQ0lRRHphMnkranR2SkVxdEhBNTVRVnZFRwpFeENaK0NCTmtGaVpSR1ppaFZHS1l3SWdDWWd3bEV2KzVML05ZOXdSc1g0MkZxVnpTa0ZkV1dKT2Ixb3B4VWpTCmFvUUFmUUFhaTUxcFNsZVl5Sm1neW9pOTlJL0F0Rlpnek1OZ0RSOXg5R24veDlHc293QUFBWnNPazYzVEFBZ0EKQUFVQUkyc0xhd1FEQUVZd1JBSWdJdWZzL2d6TWQ1TkU5TENMY3d5Q0Q1dTZhdnJqWGlrYzhseDA4Y3BvTW8wQwpJSG1nOWQ3aW9wUi9hbXd2bW9Oa1QyU0tydURHeXJ0ZW44Nm9QWEZDUHp2c01BMEdDU3FHU0liM0RRRUJDd1VBCkE0SUJBUURNYU90V1VLTVFMeDArYjg5Qko4N09GWktEd2pnV2ViSjdKUVZKdjV1OUdFNm45OW5TcU51VCt6My8KaWVOYXdla1B1RHNVUFh3eVg5RjlZTnlHZnVFKzZjU3dKY1JsWklBSzFmYVRIVkM5RjRxdTByK2dCaGlzRkhVVgpHNmJWbm1LZmwxeWc5Z09jNHkwcjdhSFBqQmpJZmNqMURsRkFOMHhzdmx1Nmh2QzVDbU5ibzVlVUM1QUV1b0I4ClhtaHFvS0oxdit5RkpHMGsxalpjQzg4V0dVa2FlZFVnTlRhdzBEbjlUaVVxOTAzZDlmZmRDd09jVVVtTk1aZlEKUjJSM0VtZDg2U1F4RGVFZHAxSEwwOTZIazZ2MW9SOUcySzVmVmNZKzIwOUpraXlkazVkbUVUbjNMY3hJbEt6cQpZM2hQTkZFdTdpdHZmTFV0ZGJPVWg1UzVUQm5jCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdGRENDQlB5Z0F3SUJBZ0lTQmp4amN2N1Nld1MraVlqQmpvbGRUb3liTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TWpFd01UWXdORFEyV2hjTk1qWXdOVEV4TVRZd05EUTFXakFpTVNBd0hnWURWUVFECkV4ZG9iMjFsY0dGblpTNWhkR2hoYkdsaGNIQnpMbmg1ZWpDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVAKQURDQ0Fnb0NnZ0lCQU9vTTYxdExJaGpoYU41SnZDd2NrR2NCWnFlNDEwb3JmSks5bWxZQTBySndNaWkvZ3FuMApGbHU4NS9QbHMwOHBJMm1EYkl1UnNrUlhUT0swcERBWE9xY0d6d1YxQ3lkMGNFMWpaakRpYll2UDBwU3lWWUVCCmdBbjhQSU4xTU4yVDVqUzJYRDA3bUlpVm5yUW5Hc0JGbTVDK1RmSGNGaExMU2xKN3ZBemtxK3FuY08wNmNmdUYKYXVKblpjODdpVWlBMGM5MVNvT0U1YXdkUVZhUnBzK0VsWm5XeDMrYTJRVE8yRUpSR3FDTnpORlhEcXJjaEVadApZNk0wSmFpcnQ4dDFMWnFaNHBvZExwcS9kK05manF1YkYzcmNhMGd2ZlpoWWZtVXZYMnk2WXFkNzEvbjRBSVoyCm8yakcxekZ0czQrZG83TGxOV2N3U2hMQzdvSWtSa1hoNE56cXAwYllSOExsVlNnTlR5MzhjcHRLM2lxZHU0QTAKYVFlaGRmb0dTTUlEYjZwTjBEK1ZQT2ViNy9FUVYydytOMW5OUk51TWdhQnQxZ3NJY0lsN1BkQk1oSjNBQmdJWQpzZjlwNnFab1VIMDdxQkFXcS9JMXV1cDRsWmk4NDl6UkxLQks3L2VDODBjWk1ML3YySWltNW5wOWU0TjVKZ2R6ClJYRU40SnZLUlhDd1JyUkNuM0lEV2kwWStYVGpMWFdWVUtXcUhQdHVmUVNwekRSaFVnc2tMVnFpRnNpUSsrUXoKcmg3WHJKYnMzUzUvRXR4UHExdzRnZmVWcWdpV0d5a1dDTEdmWUVTU3lTdm9iZXR2bmNWLzZVL1oxOUkxR0FuSwppLzBUeDREODluSG11dEVEbVg3bEt0NlVVQU9PbXdHSU92aElaUUpjYi9zb3dMUTVnVmk5WmNkckFnTUJBQUdqCmdnSXhNSUlDTFRBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0cKQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZEODdxdVcwQ0ZORnNJdlp1a092eFJ5Kwo2M0xOTUI4R0ExVWRJd1FZTUJhQUZPZXJudzhzTTZCVDAxNVBlTWl5aEE0NzFwSXpNRE1HQ0NzR0FRVUZCd0VCCkJDY3dKVEFqQmdnckJnRUZCUWN3QW9ZWGFIUjBjRG92TDNJeE15NXBMbXhsYm1OeUxtOXlaeTh3SWdZRFZSMFIKQkJzd0dZSVhhRzl0WlhCaFoyVXVZWFJvWVd4cFlYQndjeTU0ZVhvd0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QgpBZ0V3TGdZRFZSMGZCQ2N3SlRBam9DR2dINFlkYUhSMGNEb3ZMM0l4TXk1akxteGxibU55TG05eVp5OHlPQzVqCmNtd3dnZ0VPQmdvckJnRUVBZFo1QWdRQ0JJSC9CSUg4QVBvQWR3QkpuSnRwM2gxODdQdzIzczJIWkthNFc2OEsKaDRBWjBWVlMrK25yS2QzNHd3QUFBWnhJZ2Q0YkFBQUVBd0JJTUVZQ0lRRFRUSmQ3bW1EaE4zQ1hvUWdSU1FGRwo0cUY3SFZjV0JOTmE1T2kwUWdibDNRSWhBTVpERFFGdDVuTkdjRTlZbWNFSHlwREMzWDlwS1lpQ0lwc1pXRUwvCkFhdXZBSDhBY1g2Vjg4STRpbTJ4NDRSSlBUSGhXcWxpQ0hZdFFnRGdCUXpRWjdXbVllSUFBQUdjU0lIZWdBQUkKQUFBRkFBa2JUMFVFQXdCSU1FWUNJUUNDRDVaYlhGVjBETlAxRTk0N2l3QUVRMnEyZ2J3c082QVJEemYxUjZEUQowZ0loQVBKNlBsanRzNjh6QXVONUErU2VkUjRRZFRLVzR3S3N1aFN2Y0U3dGZMMzRNQTBHQ1NxR1NJYjNEUUVCCkN3VUFBNElCQVFBTzd0TGZqMHhyRWtwaEdrb3NzaDFYakdIK09YN2tJdXE3TEJXWHgxQTdaVE9EZzN4b0FMTW4Kcit0UmZ2S1ZjamdxaFc3NWlWbjVHdkplVkJXYlZRbmhYTVROdWRtZ0F4QXU0a0RjWVNUeWwvT2puT0pvczVsZgoxczI4anU0S0tSWDRLN1NZeUhNaEErazFTR1l6cnpQRVVZbGt2QlRSWnA3SFhneW0zMVpnNXV4N3ozcFRvdkRsCnNaVU5UQUp5M2tTMFBVaDNNRWc5QVNuYW1CMkl5dkZFc1dBbVg5dm5nVE5IbTg2TlpFbFVuemRyb21XOGpaQmcKRzRRZldVbVVhYzBNVE5XMlJMT1dFWlIrZ3ZvQ3I0ODRvMEVGSS9jM2hicmVQa1M0SURhY1VYeWxvMWh0bVpOcgozL3J1WTRwcGh0QXYzZHVDb01pMS9URkJXNUNZWXY3eQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJUQ0NBdTJnQXdJQkFnSVFXZ0R5RXRqVXRJRHpra0ZYNmltREJUQU5CZ2txaGtpRzl3MEJBUXNGQURCUApNUXN3Q1FZRFZRUUdFd0pWVXpFcE1DY0dBMVVFQ2hNZ1NXNTBaWEp1WlhRZ1UyVmpkWEpwZEhrZ1VtVnpaV0Z5ClkyZ2dSM0p2ZFhBeEZUQVRCZ05WQkFNVERFbFRVa2NnVW05dmRDQllNVEFlRncweU5EQXpNVE13TURBd01EQmEKRncweU56QXpNVEl5TXpVNU5UbGFNRE14Q3pBSkJnTlZCQVlUQWxWVE1SWXdGQVlEVlFRS0V3MU1aWFFuY3lCRgpibU55ZVhCME1Rd3dDZ1lEVlFRREV3TlNNVE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUNsWjNDTjBGYUJaQlVYWWMyNUJ0U3RHWkNNSmxBM21CWmprbFRiMmN5RUJaUHMwK3dJRzZCZ1VVTkkKZlN2SFNKYWV0QzNhbmNnbk8xZWhuNnZ3MWc3VURqREtiNXV4MGRha25USStXRTQxYjBWWWFIRVgvRDdZWFlLZwpMN0pSYkxBYVhiaFp6alZseUl1aHJ4QTMvK09jWGNKSkZ6VC9qQ3VMamZDOGNTeVREQjBGeExySHphckpYbnpSCnlRSDNuQVAyL0FwZDlOcDc1dHQyUW5EcjlFMGkyZ0IzYjliSlh4ZjkyblV1cFZjTTl1cGN0dUJ6cFdqUG9YVGkKZFlKK0VKL0I5YUxyQWVrNHNRcEV6TlBDaWZWSk5ZSUtOTE1jNllqQ1IwNkNEZ28yOEVkUGl2RXBCSFhhemVHYQpYUDllblppVnVwcEQwRXFpRndVQkJERFRNck9QQWdNQkFBR2pnZmd3Z2ZVd0RnWURWUjBQQVFIL0JBUURBZ0dHCk1CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0RBVEFTQmdOVkhSTUJBZjhFQ0RBR0FRSC8KQWdFQU1CMEdBMVVkRGdRV0JCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekFmQmdOVkhTTUVHREFXZ0JSNQp0Rm5tZTdibDVBRnpnQWlJeUJwWTl1bWJiakF5QmdnckJnRUZCUWNCQVFRbU1DUXdJZ1lJS3dZQkJRVUhNQUtHCkZtaDBkSEE2THk5NE1TNXBMbXhsYm1OeUxtOXlaeTh3RXdZRFZSMGdCQXd3Q2pBSUJnWm5nUXdCQWdFd0p3WUQKVlIwZkJDQXdIakFjb0JxZ0dJWVdhSFIwY0RvdkwzZ3hMbU11YkdWdVkzSXViM0puTHpBTkJna3Foa2lHOXcwQgpBUXNGQUFPQ0FnRUFVVGRZVXFFaW16VzdUYnJPeXBMcUNmTDdWT3dZZi9RNzlPSDVjSExDWmVnZ2ZRaERjb25sCms3S2doOGIwdmkrL1h1V3U3Q044bi9VUGVnMXZvM0crdGFYaXJyeXR0aFFpbkFIR3djL1VkYk95Z0phOXp1QmMKVnlxb0gzQ1hUWERJblQrOGErYzNhRVZNSjJTdCtwU240ZWQrV2tEcDhpanNpanZFeUZ3RTQ3aHVsVzBMdHpqZwo5Zk9WNVBtcmcvenhXYlJ1TCtrMERCREhFSmVubkNzQWVuN2MzNVBteDdqcG1KL0h0Z1JoY256MHlqU0J2eUl3CjZMMVFJdXBrQ3YyU0JPRFQveEREM2dmUVF5S3Y2cm9WNEcyRWhmRXlBc1dwbW9qeGpDVUNHaXlnOTdGdkR0bS8KTksyTFNjOWx5Ykt4QjczSTIrUDJHM0NhV3B2dnBBaUhDVnUzMGpXOEdDeEtkZmhzWHRuSXkyaW1za1FxVloybQowUG14b2JiMjhUdWNyN3hCSzdDdHd2UHJiNzlvczd1MlhQM081ZjliL0g2NkdOeVJyZ2xSWGxyWWpJMW9HWUwvCmY0STFuL1NndXNkYTZXdkE2QzE5MGt4alUxNVkxMm1IVTQrQnh5UjljeDJoaEdTOWZBak1aS0pzczI4cXh2ejYKQXh1NENhRG1STlpwSy9wUXJYRjE3eVhDWGttRVdndlNPRVp5Nlo5cGNiTElWRUdja1YvaVZlcTBBT28ycGtnOQpwNFFSSXkwdEsyZGlSRU5MU0YyS3lzRndiWTZCMjZCRmVGczN2MXNZVlJoRlc5bkxrT3JRVnBvckNTMEt5Wm1mCndWRDg5cVNUbG5jdExjWm5JYXZqS3NLVXUxbkExaVUweVlNZFllcEtSN2xXYm53aGR4M2V3b2s9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBNmd6clcwc2lHT0ZvM2ttOExCeVFad0ZtcDdqWFNpdDhrcjJhVmdEU3NuQXlLTCtDCnFmUVdXN3puOCtXelR5a2phWU5zaTVHeVJGZE00clNrTUJjNnB3YlBCWFVMSjNSd1RXTm1NT0p0aTgvU2xMSlYKZ1FHQUNmdzhnM1V3M1pQbU5MWmNQVHVZaUpXZXRDY2F3RVdia0w1Tjhkd1dFc3RLVW51OERPU3I2cWR3N1RweAorNFZxNG1kbHp6dUpTSURSejNWS2c0VGxyQjFCVnBHbXo0U1ZtZGJIZjVyWkJNN1lRbEVhb0kzTTBWY09xdHlFClJtMWpvelFscUt1M3kzVXRtcG5pbWgwdW1yOTM0MStPcTVzWGV0eHJTQzk5bUZoK1pTOWZiTHBpcDN2WCtmZ0EKaG5hamFNYlhNVzJ6ajUyanN1VTFaekJLRXNMdWdpUkdSZUhnM09xblJ0aEh3dVZWS0ExUExmeHltMHJlS3AyNwpnRFJwQjZGMStnWkl3Z052cWszUVA1VTg1NXZ2OFJCWGJENDNXYzFFMjR5Qm9HM1dDd2h3aVhzOTBFeUVuY0FHCkFoaXgvMm5xcG1oUWZUdW9FQmFyOGpXNjZuaVZtTHpqM05Fc29FcnY5NEx6Unhrd3YrL1lpS2JtZW4xN2cza20KQjNORmNRM2dtOHBGY0xCR3RFS2ZjZ05hTFJqNWRPTXRkWlZRcGFvYysyNTlCS25NTkdGU0N5UXRXcUlXeUpENwo1RE91SHRlc2x1emRMbjhTM0UrclhEaUI5NVdxQ0pZYktSWUlzWjlnUkpMSksraHQ2MitkeFgvcFQ5blgwalVZCkNjcUwvUlBIZ1B6MmNlYTYwUU9aZnVVcTNwUlFBNDZiQVlnNitFaGxBbHh2K3lqQXREbUJXTDFseDJzQ0F3RUEKQVFLQ0FnQUJpdlJDTmN5VHZXaWpqbmpmRVpFaUhMQkFpc2RnaGNqY2JzT0ZyWnUxOFdkalBWL3ZIdHpHM2dmcApZNm82NjFxQVo0MWZuaVkrclJTa3Fld3JKUHdOL2MxL2k3WDNISjFnNVRiWE82YmROUkYrU1c2bTJ3dXRCU3lnCjhUVFJRUmhUWUtCYkJ2bUtiUElPM2ZNZk1WWkZMZnYxakMzWkVkMzdqVFZBSUlIQm1qajBWMTVJK2lncU5lUkYKNlc2T084c21RdStxemtWMVRQd1JSZ1NEZWF4Q3gxZXBUNnYrakI2QTBXZ0xodVBDdllBclFDamZEZm1LS2QzVgpyc3dYV3o1aHRvSDM0aGxjaThhT2lTSzNudDRZd1RzenpweFZWTUFBaXI5bVNCUStabUtXRXp4dHBucU5Sa0pFCjRTUTkzaHdtSWJ5b1lYa2JobzFyN2pGSVpLVEd6TXNMQ1VqYk9UcmhGWUpvcHcrTGxQR1dPRWJ4RkpqN3pqU1kKdGhRanVUR09GVXlJdDJKOThQcGdocEdmWFprQjc4SVpmaEFNMEJUbTZtTlZxV21nZzhCOENSend3cFI1cENpMgp6RXlmSGVSWExqd3N4cEFwSTBFTjB5WWhFOHAwK05pcFVjQUlINjI5LzdzZW1Cc3F2VGpUcDg4VXdvMThQejRKCmtibFRsNXlUNldhUi9OemZIVVhOenRrS0o5azJMd2hEVThUanA2S3ZsN3JINXFvVTEzV2xPcG9kMXpBUmJ0TTMKeFdNdExzWldOSU4zcitMc0dCVUdPOXRkdTRTQlR5SXhGUk0reEI1NHR5UkNLeXZsSHU1bU9TbStrcnp6MFR0bgp2RkRhempvM2FhNndCd1o5bmFSdGYwMXFYM1dPVzB0ZVo3d3ZEc3Z5QnhlRGttazFBUUtDQVFFQTlaTHZCdElOCkRVRUExVTZsdEoxZk1Gb1BnQWZrVEF0Qlc3VHp1ai9hMW9tRkY2WXpCa25PRzBiMXZDSGkrcER1Y0hHcTl1V1UKZWp1dktOcFZpazJpS0hCdFNHMitQcmpwOERqaituMElKU2lmOVJPZXc5OHVIaG00Y29UL2NySWxBV245enJFbApDaXIxUnh3TjNxelE2U2hiUWJ6ZGR5Q1k4RmZlMitQWE1UQ2FZY00zbWNOV1BwZzlKTUtJZGNrTVJwMTRzVnpVCm9oRGllZXI1bmJya0x5SDE0U2hrSzJaWERkQjdsblNmTkZ5VVRUV1o1bWFWZ3V2TjQrU0FoaEtKR0J5cDNIa0MKZmI0Q3lEWVJvazl2TEF2QlVicVhadTM2ZFAwZjB5WHpOaWYxdzRocFlFTFdxQnlwbnM0Y3NSaFplRmNqWGM2dQovSEVnZEVTSlduYXplUUtDQVFFQTgveTlqTWhmUmoxeTF4NFE1Q2tBamZpLzcvbnFaeVNsa1Y0Y2FsaHRmeHE0CjJvb0tQSFN2Sm1XNFplWXE2VnJYOGlNS2ovUnFzRGRseG95eElNUmZHZ0ZhTCtlL1pSZkVnY2UxK2dXVXlKamcKWWZvWTd1N2dRWHM4blZ4Y096THJHNFN4S2ZucFYyWDdrRjZvUnk1K3JxZjRicTJSVUNXT00rSlV4cjFEbTI0VwpWZWh4UkZiYVVybDNXNHVFVFBFUHd6dTkrcUNIYkVWQ1FCSDBPV3VrOFh1R3NEYkxISHVQampjRFJuQ0VwM0QxCnVsdVE3UUZTRWhTUGdkdWtlNnd2Mm9YWXhyWXVpTVMvWnRQMmt1V09hVmM3MEd2VFNkTURzamJYMk44ODNRRksKdDdYL0s3WGZqQ3pBQmNjcEVCRHpwRjEwMitrZnZYNS9BZlFlMXA3VkF3S0NBUUVBdGVSVlF6b0dETkVlNnQvTQpBTkdubGNxL1BGZWNFMjhxdytCdHZvQlplUnAzQ0NORUc5NUMyUlZnSWk3L1RoUlhaOVhwaWVKV2JZc1RuRERMCnR4cjFodnB2RjN5aHN4ZUh2elNFT0I2d0Q4WGRaTXRaaHo4aGk0NEZmbDFnVC9YL1R1TFE2VzF3UCsyOXF5UHUKYWdhYTNuZlQwQWN5Q25DTWwwaWVlMFJ4T2JBRVNYRXRGNmtGa210MHJtdWdZNDI4bC9rL1VpK3VGelJtYTJOTgo3RFJubXptT1EyMkZkRmZqRndwYTRBQVZnOVVteTJGdVVxZWRDbEhhT0hnaGNpejhlbTJRcXdxK2U2Qm5zeC9KClErMk9MSk93WnZiTCthTS9KYlB2QkpoUllzV0tWWUFPZlF4RXJsUThsckdYc3R5VU9IeGlaN01WRFVwRmZaamUKRzdGY0VRS0NBUUVBang2RFpkQ25xb0VqR3pLa3YrR1pWSzVFa0pVdHZhRU9pZTRGaHhBbDhyZ1BGUXFDSktKaApsNGwxbURoaWxZM1hQRTczeENlZ2FZdWxaTWxrb1k3dkprY0N5elVLM1ZjS3l3SUdLZ29hRTIweHVlZEZ0dXBpCm02YVprTWo3eFRJQ0hadEJmUmorbW1qVkh3T1hmR0cycCtjWjRIcHAwZlNscktPb0RRZzZYek05WU5rL2o5SE8Kc1ZYZndOQmZJKzhIeXdNQlZzSFJqbDQyRlhVeXFIZ1BRaU91aHpFdEJhRXBQVWZoNFBEaHI0S2djZGVDZExRZwptMEI2U2JjNGpkOGNGdmdLaDgyWUVGd3cxaldoM3R0UEpWV3BYWUhTWit5aXIyaGlSdkgwTnNPcU80ZERqalZhClUxUndzekwzVUZoUlF1b2JRV0JIWVJXUmxPakpLaVh6VndLQ0FRQlBvdVEzUzk4ZHU1b2w3azdqcGljdFNDSkgKaGM5bG1pQ3I5QTJES0tzSk02K2JiVlM2ell5YUZLRUYxMHlrM3RPbXdEemFWT0dNWld3dXdJbFc1cVZoNVpjUgpVckFBdTkwR2NqaUxDQlhRSHNlNW5OMHNoeTlxQkhWRWNPcjB2Y01BR2pKUXl1WCtjZ2tRVUp6RkdLeGJnTDcwCkxOUmFBWmJySFJUclhVSVIvYU0zRDBkQVZQeWJpdEJTQkxpNDNMSXdXakxCejdrUG1WWFNjV3FCWWRFc25BTVQKYkF5YmU3VFFXQktPS3JEa3lBVDBOOVVqeWFQMVNkd1BZY0oycUJOYUo3aFQ1bnB5NXpRSWlDQzBzVzBJeFM3KwpZWGI1Z0lGbGx6cUNnS2JseWt2Q3l1RVpLeFRCUGZQMmpHZi9zcVowaVJuejU4NEc2YUZ1dnEwMjdEUWcKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" + }, + { + "domain": { + "main": "jitsi.athaliapps.xyz" + }, + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCRENDQk95Z0F3SUJBZ0lTQmdtWVZ6Z3UzMVRLRy9kY1F0d0lVTlNETUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TVRFMk1UY3dOVEk0V2hjTk1qWXdOREUyTVRjd05USTNXakFmTVIwd0d3WURWUVFECkV4UnFhWFJ6YVM1aGRHaGhiR2xoY0hCekxuaDVlakNDQWlJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dJUEFEQ0MKQWdvQ2dnSUJBTWtyUExEWWFvUGdPdTBHMWhVaDVBME1sSDh1bDh1UjViTXBYajVWakYwMXU5U3lIOURNRDdTSgpoNEZxemlQblJQVUd6ZTREUmhXZDNmMGREZDdyUGo3UVJLVnc0ZDR1Q0xudEZhZVp3RklYaWIxTW1Xa1BoaUJXCm5xaW13Tmg5b2U4ZEJKR01CS3lJdVFLSDRvMnNmSnpvbDhXazE1UmxhWUx6Smxxa0ZsYlRjTVpoNHBtajY3Q3EKVkUxZkVIdW83d1MvaFZpQWxyOURVaFN5RUl2RVNRMVNLTHI0TDhobkhGdXNwSm1ZTjZySjNEWlVzcHpBWUpDOQpjazYwOXg1YmVtSmxzNlc4WjRhdk9QcU1XcGxjeVlHeW9uNzVhdTU2TW9UWjJkSWNFK1dVS3VCSHJBeWl2SndvCkVjZlgzYXV0WTNTcjUwWHl0L2ErZVdVbjE4c1JVaVpsbXBqaGZLdkhCYWhvVWtjb0pUZzVlTGZuKzNuckg3TlEKY0Vvd3VWNkhLdDRmYVVVU1BzdzVaRUxDWkJwT01QVVc2OEg3Z2NaMllKUCt4ZU9ieFRJYVR5SzQrZDhESnJTUwpINFhibFZ3emhNSnZtRkpUZ0FSeFRzdDZUUjk3Tm14UURQZ3FITVl1ektydm51NGUvbXlIUGNUU0FjenpqVUpxCkQzMlQyK2ZDVFhLVkNzWDBydkJBMWxQR0dCcTRkTUZvS1FmS0JVaWVjcDVaZ0d0c3hZbElTV1JKc0pDOHVKekUKUWtaL1NheWdJUEVJR2dxa0dmd2N3cjhDenkyWFh1SXBOS0dKQUZoVktsaEt2dG02UytzcUhEbFVzT3RrcXhPSQp3aGVYK0tJUEJMSElENDZtWGlnWlBSV2JaTkFnZ2xWRHhmeE9vZ0JETGtBSmF0Ui93c3hUQWdNQkFBR2pnZ0lrCk1JSUNJREFPQmdOVkhROEJBZjhFQkFNQ0JhQXdIUVlEVlIwbEJCWXdGQVlJS3dZQkJRVUhBd0VHQ0NzR0FRVUYKQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3SFFZRFZSME9CQllFRkhNZGQ4OW9TRDZtQXNLTVp6c1BoNkNCUEVxNgpNQjhHQTFVZEl3UVlNQmFBRk9lcm53OHNNNkJUMDE1UGVNaXloQTQ3MXBJek1ETUdDQ3NHQVFVRkJ3RUJCQ2N3CkpUQWpCZ2dyQmdFRkJRY3dBb1lYYUhSMGNEb3ZMM0l4TXk1cExteGxibU55TG05eVp5OHdId1lEVlIwUkJCZ3cKRm9JVWFtbDBjMmt1WVhSb1lXeHBZWEJ3Y3k1NGVYb3dFd1lEVlIwZ0JBd3dDakFJQmdabmdRd0JBZ0V3TFFZRApWUjBmQkNZd0pEQWlvQ0NnSG9ZY2FIUjBjRG92TDNJeE15NWpMbXhsYm1OeUxtOXlaeTgwTG1OeWJEQ0NBUVVHCkNpc0dBUVFCMW5rQ0JBSUVnZllFZ2ZNQThRQjJBR1FSeEd5a0V1eW5pUnlpQWk0QXZLdFBLQWZVSGpVbnErcisKMVFQSmZjM3dBQUFCbThmNmROTUFBQVFEQUVjd1JRSWhBS3dGQk1EOVN1ZEFzVnB6eTlSWjFjektDV1liZTJhQgpVc2crZ3FwbjM0NHNBaUF0NERaK0hEZkUwWDJOWUhTOFBaYURaTFh2MFUzS2RtajZGY0R0VmREcldnQjNBTkZ1CnFhVm9CMzVtTmFBL042WGR2QU9sUEVFU0ZOU0lHUFhwTWJNank1VUVBQUFCbThmNmRhb0FBQVFEQUVnd1JnSWgKQVArdjhTRDQyOVZaTVdmMWN5M1plamV6NE9MbWFldEUzQzdWN1BkcTdSSzFBaUVBa0dEZU5mdTBERHdhOVV1dAoydm5rQllaSWNWVUl4aFpxQkR0ZVJ3dWxBWmN3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUVBWDFDejluemVZCi9ORFYxY0pwVm1jZGxOZUFDdHBjb1g1RDZHWHFNdHlTTXVPdSsycGVpNkx6V2dzZG55d3RiZytWSGVSUU9waGwKMVpWWnhvOHQrRnZCeS9SbWpkY1hWdW1GbmU1R3dPSXVSeE1meUs5UGlUaTFjTW5ZbENvakFxUVZnWWk2aTRteAp0RXNnL3lNb3JuRGRkRklyMVZHRnFTcCtEOUVLeUdJN3JNclZrU2U0NWVQNFF0d0E0QmsycDVFVGVlTVBYeVdPCmg5cFVzUjRJZitBQWhJV0ZCeFNRQ0Mwdnpjc0RKR1Y4R3lXM1B1OE92TWpFOWtpM0krY05DSzhQQ3dZRVpJUzQKSytlUVg4ZlU3M0JBd1JiZlcrM2EzZVZZakhhMW5LMXdrM0puVUdkYy9VWkdMdXExWHlIODhza2tBc3B0bCsrSwpGNXRLQVBHSGRlND0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCVENDQXUyZ0F3SUJBZ0lRV2dEeUV0alV0SUR6a2tGWDZpbURCVEFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXd3Q2dZRFZRUURFd05TTVRNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDbFozQ04wRmFCWkJVWFljMjVCdFN0R1pDTUpsQTNtQlpqa2xUYjJjeUVCWlBzMCt3SUc2QmdVVU5JCmZTdkhTSmFldEMzYW5jZ25PMWVobjZ2dzFnN1VEakRLYjV1eDBkYWtuVEkrV0U0MWIwVllhSEVYL0Q3WVhZS2cKTDdKUmJMQWFYYmhaempWbHlJdWhyeEEzLytPY1hjSkpGelQvakN1TGpmQzhjU3lUREIwRnhMckh6YXJKWG56Ugp5UUgzbkFQMi9BcGQ5TnA3NXR0MlFuRHI5RTBpMmdCM2I5YkpYeGY5Mm5VdXBWY005dXBjdHVCenBXalBvWFRpCmRZSitFSi9COWFMckFlazRzUXBFek5QQ2lmVkpOWUlLTkxNYzZZakNSMDZDRGdvMjhFZFBpdkVwQkhYYXplR2EKWFA5ZW5aaVZ1cHBEMEVxaUZ3VUJCRERUTXJPUEFnTUJBQUdqZ2Znd2dmVXdEZ1lEVlIwUEFRSC9CQVFEQWdHRwpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBU0JnTlZIUk1CQWY4RUNEQUdBUUgvCkFnRUFNQjBHQTFVZERnUVdCQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBZkJnTlZIU01FR0RBV2dCUjUKdEZubWU3Ymw1QUZ6Z0FpSXlCcFk5dW1iYmpBeUJnZ3JCZ0VGQlFjQkFRUW1NQ1F3SWdZSUt3WUJCUVVITUFLRwpGbWgwZEhBNkx5OTRNUzVwTG14bGJtTnlMbTl5Wnk4d0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdKd1lEClZSMGZCQ0F3SGpBY29CcWdHSVlXYUhSMGNEb3ZMM2d4TG1NdWJHVnVZM0l1YjNKbkx6QU5CZ2txaGtpRzl3MEIKQVFzRkFBT0NBZ0VBVVRkWVVxRWltelc3VGJyT3lwTHFDZkw3Vk93WWYvUTc5T0g1Y0hMQ1plZ2dmUWhEY29ubAprN0tnaDhiMHZpKy9YdVd1N0NOOG4vVVBlZzF2bzNHK3RhWGlycnl0dGhRaW5BSEd3Yy9VZGJPeWdKYTl6dUJjClZ5cW9IM0NYVFhESW5UKzhhK2MzYUVWTUoyU3QrcFNuNGVkK1drRHA4aWpzaWp2RXlGd0U0N2h1bFcwTHR6amcKOWZPVjVQbXJnL3p4V2JSdUwrazBEQkRIRUplbm5Dc0FlbjdjMzVQbXg3anBtSi9IdGdSaGNuejB5alNCdnlJdwo2TDFRSXVwa0N2MlNCT0RUL3hERDNnZlFReUt2NnJvVjRHMkVoZkV5QXNXcG1vanhqQ1VDR2l5Zzk3RnZEdG0vCk5LMkxTYzlseWJLeEI3M0kyK1AyRzNDYVdwdnZwQWlIQ1Z1MzBqVzhHQ3hLZGZoc1h0bkl5Mmltc2tRcVZaMm0KMFBteG9iYjI4VHVjcjd4Qks3Q3R3dlByYjc5b3M3dTJYUDNPNWY5Yi9INjZHTnlScmdsUlhscllqSTFvR1lMLwpmNEkxbi9TZ3VzZGE2V3ZBNkMxOTBreGpVMTVZMTJtSFU0K0J4eVI5Y3gyaGhHUzlmQWpNWktKc3MyOHF4dno2CkF4dTRDYURtUk5acEsvcFFyWEYxN3lYQ1hrbUVXZ3ZTT0VaeTZaOXBjYkxJVkVHY2tWL2lWZXEwQU9vMnBrZzkKcDRRUkl5MHRLMmRpUkVOTFNGMkt5c0Z3Ylk2QjI2QkZlRnMzdjFzWVZSaEZXOW5Ma09yUVZwb3JDUzBLeVptZgp3VkQ4OXFTVGxuY3RMY1puSWF2aktzS1V1MW5BMWlVMHlZTWRZZXBLUjdsV2Jud2hkeDNld29rPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", + "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBeVNzOHNOaHFnK0E2N1FiV0ZTSGtEUXlVZnk2WHk1SGxzeWxlUGxXTVhUVzcxTElmCjBNd1B0SW1IZ1dyT0krZEU5UWJON2dOR0ZaM2QvUjBOM3VzK1B0QkVwWERoM2k0SXVlMFZwNW5BVWhlSnZVeVoKYVErR0lGYWVxS2JBMkgyaDd4MEVrWXdFcklpNUFvZmlqYXg4bk9pWHhhVFhsR1ZwZ3ZNbVdxUVdWdE53eG1IaQptYVByc0twVVRWOFFlNmp2QkwrRldJQ1d2ME5TRkxJUWk4UkpEVklvdXZndnlHY2NXNnlrbVpnM3FzbmNObFN5Cm5NQmdrTDF5VHJUM0hsdDZZbVd6cGJ4bmhxODQrb3hhbVZ6SmdiS2lmdmxxN25veWhOblowaHdUNVpRcTRFZXMKREtLOG5DZ1J4OWZkcTYxamRLdm5SZkszOXI1NVpTZlh5eEZTSm1XYW1PRjhxOGNGcUdoU1J5Z2xPRGw0dCtmNwplZXNmczFCd1NqQzVYb2NxM2g5cFJSSSt6RGxrUXNKa0drNHc5UmJyd2Z1QnhuWmdrLzdGNDV2Rk1ocFBJcmo1CjN3TW10SklmaGR1VlhET0V3bStZVWxPQUJIRk95M3BOSDNzMmJGQU0rQ29jeGk3TXF1K2U3aDcrYkljOXhOSUIKelBPTlFtb1BmWlBiNThKTmNwVUt4ZlN1OEVEV1U4WVlHcmgwd1dncEI4b0ZTSjV5bmxtQWEyekZpVWhKWkVtdwprTHk0bk1SQ1JuOUpyS0FnOFFnYUNxUVovQnpDdndMUExaZGU0aWswb1lrQVdGVXFXRXErMmJwTDZ5b2NPVlN3CjYyU3JFNGpDRjVmNG9nOEVzY2dQanFaZUtCazlGWnRrMENDQ1ZVUEYvRTZpQUVNdVFBbHExSC9DekZNQ0F3RUEKQVFLQ0FnQW9JZjZWSDArOHFIYkpBN1NnK2Fabjdnc1FCbWtWSFRHd21QK3F1dUZxVlFaNGErTEtBblBkcGhSSQovdGhLTkdDKzYxRVkrMEUzbmN1RUxCQXcyVWlOT25wL2NQSTJvNE50S0QzS05uTzJUT2pYUVpsWGF0ZnN5cXNUClpWVVN1NW1iUFBSRTN5U3RrUWNyMkpVYmczNUd4V1pGOFZscXl3S09NOWtDZXpyVHJwSVFtY1dkdGlTV2xaeUUKNVFMQ1VOVUNZdjBFeDM2TGdMQTIzY0ZNU09mMEJ1Q0dVRzRqOG1JbmJkMVdvUlgxOWhoL0pFMlAxUmRPdU9TOQppLy9DNkNnVnlrbFpOcW1HcHAxYzZyUkdaVXIwRzRHc2lERExpOGhaVmFiTmNubUxzeEFNdDIrOUE1aFNKUEpMCkpxY2NFVmJHbDJibnZ3RHhjbFdBbHo3SFRkalA0Z1BxRUlyYmpPWjdGSWpTQk9kamN3K1I5cHlRb0dNVXpPVloKdUZ3OHZ5QWdjSVVjYVY2RzYrNmJEei8vSXpGN0JISS92dFFVQXFBRGpNcjNDYmk2cm1Od0FEeklZRDhmUFpKeQp3YytRZmlVeTZxV0dqalNNR3FaNWY2UUtDbHNyK3dtQUovS3cvQllIUndQTS9TeVFGVzFHLzZQWXBka1F0dFM5CjI2MUY4elI2NnhLYUJEQVNoZ3V5UytVWFFpVFNadWE1MnB6bVJnSlNlVGM1bzVKcUUwMjVicytmSzNtYWxSWVgKekZoR0JLeUZWUTlybXkvN1dXV3ovS2V2aGxkOHhnYXUyWVhrbDFYTmxMcExpcE5KWmxLSVZZUmNBSDRyUzlXTApMK2ozeDFvSFJyaXNBMFIzcVR2Q1Q0dlFLS01MRTY1VUJlK21Db2NzNUtFVmUvWWxqUUtDQVFFQS81cWUvdGNtCkJxRFlUZWJIb2M4VjZRaExYR0pRMlduMW8vVm45aDdrRnhrbUU1QUVqVSszNCtWTE9zeW8va1JFVHJDNUQ3cFQKcTBKTk1ReTBLdFZPL0VqWW9CR1BEbTMzZWE2bW9qejhMK0RPTGxTZVkzS2NGRW1kVTRObzlRSVFvQ1JDeTVlbAp0OG5qUzVhYXNOcXFhRzJuTHo3VU1hTHg3blJySXhCc0g1VFZ4VHBhWlRtS0FEOFVjM21PRWNaMDZmVmZvVFJrCnVaQkMwVGtWWmgzK1FQejRBRWYzRlBIWEd2Vkd6cWoyc3dJWXU0Yzg1bXVvZDdCYVBRSWZDSFdFaUh1RTNyaW4KQ2psKy9vdTRJVTI3UERHVysvTWZodmlEdng3RytJbHh5cW1USFJJSzRMNWxWVklaUWY2OVNGR09UclVOMFFobwpuWi9xampuVkI3djJwd0tDQVFFQXlYc0drdmVGcUl0czNIWHNha0txSE94c25yeStHcUptNHFvOFpDSTNHRDdDCi9ScVZGZ3NRUUpmN0RBOUQ1dmtTSXNZSHZDSm1zRjhTei93Ti9xU04vWkYzaWc0b2oyb0w1czA1ajc3ekFmanUKTjY1ZkRhOVJ1WkxsNnhQamZmS0Y5TnhYQVFJcXFTSzZPai9mNDNqdnUzN2hJQWRBYlRlbmtUNGNuN1RKZ1pCSQo4SHV2ZjJhelRyYXFyYnBORyt6SEt1OVdQODdPb2NNQ21VbzFGaUdwU1Fob0tobFVuN1EvaXpGa291a1hWcGtECnkzS1NVckdPaGtmM2tVT2o1U2JpVjJxQ2xkZnRWeWF0R0ZDZEZRSEFWSmlOSS9NYzBxUWxJb0ZmVnBCZmhHK0MKalFpa05TU1ZjL2xUeWJld2NoaVA3RXZPRWhLUEJLbCtPTEFqbW1DZWRRS0NBUUIwUDNBOFdzRlNsbWlKMVlISgpsNU5SYnBKSHEvYzFTam1Mbmhyd0Z0Q0pxTWhtY1VPQXVWYmE4UGVzQUZTRGY2ekpWUnAxaXJwdTB6S2tNakRtCm9palFHSmxkQTE5YW9xekF6S3ZBY1pnSWRtZVBMckR5YmJlS2lvaGc2UTBkRVJsYW0rTTlFUFV2aDBRMnBvSW8KR09zVG4zcy93NFZpSmNkK09iaFlOQ25ZbXlvMkR2bjV1NWVGMFNxTjhpU285T2RMV0d0cnQ1WnZ4cXA4MlVkZwpNQmZvbXFSNERFTFZaYi84NUx5VlZNY09Wcy9FeWhicWZPQWJ2enJyTUVISTZSbWpzUG1YQ2NmK29IT2ZkUkFECkpZVVlOVDJEek9qenk2YXZqMkhTdXovamVnZ01XcDVUNUlQVnNBY0l1c0IvV1lndFI2N0crTm9MaGlWNUZkaEwKTWpOVkFvSUJBR05wSUVWRGU5ODlhK2tiQmhzbjZXZDcvOXdTcEhuZng0UHZHdjBOSk1JQnRaUE1tZUxXY3A1cwpYcUlFcGl4QW1JSXYwNEV3T0JxdHprcHd3emJ4V2wzU2VIalZvNDJmZFYvYndwcjZURXljMW0wQ3pFT2tUVjZTCjdINmd3WTVUSzJVMWtuZ2M2WStxWXRoNnk2MGc3cWhFWWkrN1pENS9SMTZTbHV6MTlyYkd5alpkMEttN3NwMFQKNUFMeitUZmVEQ2RURCt0THp3aGhmOWJDbG83azdQSHNBL2xCcGs5bVVEUU5tdW9HdUUweUVuMC9lcEx5cUsvNApzbDRxVWFPdkc5NmwzdWl3TVpyZXFtbGszUnlRVUtWczM3YnRMVHVCWWhFMFpDWUI5aDhTSmdnUVMzVXRKOUNoCkpJWlM2K3hmMGlOMUE2aEhIK25jOXpwaExpL3RuRUVDZ2dFQkFKK2l5dDh0RW9PdVRNd0lKL3V5UWxjS0JaMWsKcEZNZlNZa3hjdFVlLzg4b20xQWpWcHd5UmVERE1VK1VNOSs2bjlIZG9HMDNmQnpxR2lWeDJ3RWdhbVhJTGtlLwpxdVNLVUxENGw4VnhRcGk2OEJnODI5THhqb3V4SktOQjczc1RjLzZXdFhaSTVTV29uOVdiMEZFWVY1RDZiZ1FrCkxrNE1KM1FMckdKM0pidnhsdG1sSG9tWjdnTDExRUNSSXZaSnRQcFJYTVB5ZkMyRmdWb3Q0NlJobXZnNkVIZjEKNjJydklOQWgySEtsVkVaK0tkdk12WmhoUzUvTUFQTXJWMngwUkh5TU1JRXlZWGEwMGdsZWRHRGxTcGtDQXJ4aApaUkZHUjkwZDVsOVRGZGNHbXBFdFZocGViVEd0MUJpQUF2N1FFc0FZTFVSMmZEZURqWVQ2ZUpxZjZJaz0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", + "Store": "default" } ] } diff --git a/docker-compose.yml b/docker-compose.yml index 29a5e03f..088cb943 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -239,7 +239,7 @@ services: volumes: - ${CONFIG}/jellyfin:/config - ${DATA}/jellyfin/cache:/cache - - ${DATA}:/media + - ${DATA}:/nasMerged devices: - /dev/dri/renderD128:/dev/dri/renderD128 labels: @@ -750,7 +750,7 @@ services: - MYSQL_USER=booklore - MYSQL_PASSWORD=${PG_PASS} volumes: - - ./mariadb/config:/config + - ${CONFIG}/booklore/mariadb/config:/config healthcheck: test: [ "CMD", "mariadb-admin", "ping", "-h", "localhost" ] interval: 5s @@ -1019,7 +1019,7 @@ services: - WUD_TRIGGER_GOTIFY_DOCKERUPDATES_URL=https://gotify.${DOMAIN} - WUD_TRIGGER_GOTIFY_DOCKERUPDATES_TOKEN=ABgJGCGhSBAmQ2o - WUD_TRIGGER_GOTIFY_DOCKERUPDATES_THRESHOLD=all - - WUD_WATCHER_LOCAL_CRON=0 1 * * * + - WUD_WATCHER_LOCAL_CRON=0 15 * * 0 ports: - 3007:3000 labels: @@ -1029,7 +1029,6 @@ services: - "traefik.http.routers.wud.tls=true" - "traefik.http.routers.wud.tls.certresolver=myresolver" - "traefik.http.routers.wud.middlewares=secured" - ############################ Yamtrack START ###################### diff --git a/jitsi/.env.bak b/jitsi/.env.bak new file mode 100644 index 00000000..0e21606d --- /dev/null +++ b/jitsi/.env.bak @@ -0,0 +1,227 @@ +# shellcheck disable=SC2034 + +################################################################################ +################################################################################ +# Welcome to the Jitsi Meet Docker setup! +# +# This sample .env file contains some basic options to get you started. +# The full options reference can be found here: +# https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-docker +################################################################################ +################################################################################ + + +# +# Basic configuration options +# + +# Directory where all configuration will be stored +CONFIG=~/.jitsi-meet-cfg + +# Exposed HTTP port (will redirect to HTTPS port) +HTTP_PORT=8000 + +# Exposed HTTPS port +HTTPS_PORT=8443 + +# System time zone +TZ=UTC + +# Public URL for the web service (required) +# Keep in mind that if you use a non-standard HTTPS port, it has to appear in the public URL +#PUBLIC_URL=https://meet.example.com:${HTTPS_PORT} + +# Media IP addresses and ports to advertise by the JVB +# This setting deprecates DOCKER_HOST_ADDRESS, and supports a comma separated list of IPs +# See the "Running behind NAT or on a LAN environment" section in the Handbook: +# https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-docker#running-behind-nat-or-on-a-lan-environment +#JVB_ADVERTISE_IPS=192.168.1.1,1.2.3.4,192.168.178.1#12000,fe80::1#12000 + +# +# Memory limits for Java components +# + +#JICOFO_MAX_MEMORY=3072m +#VIDEOBRIDGE_MAX_MEMORY=3072m + +# +# JaaS Components (beta) +# https://jaas.8x8.vc +# + +# Enable JaaS Components (hosted Jigasi) +# NOTE: if Let's Encrypt is enabled a JaaS account will be automatically created, using the provided email in LETSENCRYPT_EMAIL +#ENABLE_JAAS_COMPONENTS=0 + +# +# Let's Encrypt configuration +# + +# Enable Let's Encrypt certificate generation +#ENABLE_LETSENCRYPT=1 + +# Domain for which to generate the certificate +#LETSENCRYPT_DOMAIN=meet.example.com + +# E-Mail for receiving important account notifications (mandatory) +#LETSENCRYPT_EMAIL=alice@atlanta.net + +# Use the staging server (for avoiding rate limits while testing) +#LETSENCRYPT_USE_STAGING=1 + +# Set ACME server. Default is zerossl, you can peek one at https://github.com/acmesh-official/acme.sh/wiki/Server +#LETSENCRYPT_ACME_SERVER="letsencrypt" + +# +# Etherpad integration (for document sharing) +# + +# Set the etherpad-lite URL in the docker local network (uncomment to enable) +#ETHERPAD_URL_BASE=http://etherpad.meet.jitsi:9001 + +# Set etherpad-lite public URL, including /p/ pad path fragment (uncomment to enable) +#ETHERPAD_PUBLIC_URL=https://etherpad.my.domain/p/ + + +# +# Whiteboard integration +# + +# Set the excalidraw-backend URL in the docker local network (uncomment to enable) +#WHITEBOARD_COLLAB_SERVER_URL_BASE=http://whiteboard.meet.jitsi + +# Set the excalidraw-backend public URL (uncomment to enable) +#WHITEBOARD_COLLAB_SERVER_PUBLIC_URL=https://whiteboard.meet.my.domain + + +# +# Basic Jigasi configuration options (needed for SIP gateway support) +# + +# SIP URI for incoming / outgoing calls +#JIGASI_SIP_URI=test@sip2sip.info + +# Password for the specified SIP account as a clear text +#JIGASI_SIP_PASSWORD=passw0rd + +# SIP server (use the SIP account domain if in doubt) +#JIGASI_SIP_SERVER=sip2sip.info + +# SIP server port +#JIGASI_SIP_PORT=5060 + +# SIP server transport +#JIGASI_SIP_TRANSPORT=UDP + + +# +# Authentication configuration (see handbook for details) +# + +# Enable authentication (will ask for login and password to join the meeting) +#ENABLE_AUTH=1 + +# Enable guest access (if authentication is enabled, this allows for users to be held in lobby until registered user lets them in) +#ENABLE_GUESTS=1 + +# Select authentication type: internal, jwt, ldap or matrix +#AUTH_TYPE=internal + +# JWT authentication +# + +# Application identifier +#JWT_APP_ID=my_jitsi_app_id + +# Application secret known only to your token generator +#JWT_APP_SECRET=my_jitsi_app_secret + +# (Optional) Set asap_accepted_issuers as a comma separated list +#JWT_ACCEPTED_ISSUERS=my_web_client,my_app_client + +# (Optional) Set asap_accepted_audiences as a comma separated list +#JWT_ACCEPTED_AUDIENCES=my_server1,my_server2 + +# LDAP authentication (for more information see the Cyrus SASL saslauthd.conf man page) +# + +# LDAP url for connection +#LDAP_URL=ldaps://ldap.domain.com/ + +# LDAP base DN. Can be empty +#LDAP_BASE=DC=example,DC=domain,DC=com + +# LDAP user DN. Do not specify this parameter for the anonymous bind +#LDAP_BINDDN=CN=binduser,OU=users,DC=example,DC=domain,DC=com + +# LDAP user password. Do not specify this parameter for the anonymous bind +#LDAP_BINDPW=LdapUserPassw0rd + +# LDAP filter. Tokens example: +# %1-9 - if the input key is user@mail.domain.com, then %1 is com, %2 is domain and %3 is mail +# %s - %s is replaced by the complete service string +# %r - %r is replaced by the complete realm string +#LDAP_FILTER=(sAMAccountName=%u) + +# LDAP authentication method +#LDAP_AUTH_METHOD=bind + +# LDAP version +#LDAP_VERSION=3 + +# LDAP TLS using +#LDAP_USE_TLS=1 + +# List of SSL/TLS ciphers to allow +#LDAP_TLS_CIPHERS=SECURE256:SECURE128:!AES-128-CBC:!ARCFOUR-128:!CAMELLIA-128-CBC:!3DES-CBC:!CAMELLIA-128-CBC + +# Require and verify server certificate +#LDAP_TLS_CHECK_PEER=1 + +# Path to CA cert file. Used when server certificate verify is enabled +#LDAP_TLS_CACERT_FILE=/etc/ssl/certs/ca-certificates.crt + +# Path to CA certs directory. Used when server certificate verify is enabled +#LDAP_TLS_CACERT_DIR=/etc/ssl/certs + +# Wether to use starttls, implies LDAPv3 and requires ldap:// instead of ldaps:// +# LDAP_START_TLS=1 + + +# +# Security +# +# Set these to strong passwords to avoid intruders from impersonating a service account +# The service(s) won't start unless these are specified +# Running ./gen-passwords.sh will update .env with strong passwords +# You may skip the Jigasi and Jibri passwords if you are not using those +# DO NOT reuse passwords +# + +# XMPP password for Jicofo client connections +JICOFO_AUTH_PASSWORD= + +# XMPP password for JVB client connections +JVB_AUTH_PASSWORD= + +# XMPP password for Jigasi MUC client connections +JIGASI_XMPP_PASSWORD= + +# XMPP password for Jigasi transcriber client connections +JIGASI_TRANSCRIBER_PASSWORD= + +# XMPP recorder password for Jibri client connections +JIBRI_RECORDER_PASSWORD= + +# XMPP password for Jibri client connections +JIBRI_XMPP_PASSWORD= + +# +# Docker Compose options +# + +# Container restart policy +#RESTART_POLICY=unless-stopped + +# Jitsi image version (useful for local development) +#JITSI_IMAGE_VERSION=latest diff --git a/jitsi/CHANGELOG.md b/jitsi/CHANGELOG.md new file mode 100644 index 00000000..ab4762e9 --- /dev/null +++ b/jitsi/CHANGELOG.md @@ -0,0 +1,1201 @@ +# ChangeLog + +Look at the GH releases from now on. + +## stable-10008 + +Based on stable release 10008. + +* 1f7544c fix(build) fix local build +* 2a329fa feat(web): include custom nginx conf files +* 862986a feat(web): Drops userRegion comes from backend now. +* 2b5c291 misc: working on unstable + +## stable-9955 + +Based on stable release 9955. + +* 3ba77e1 feat(prosody) - Added TURN_USERNAME and TURN_PASSWORD (#1989) +* 82e98d2 web: Added P2P_STUN_SERVERS environment variable (#1990) +* 02499f8 feat(grafana): prosody monitoring dashboard created (#1879) +* 3af0725 web: add option param for Automatic Gain Control +* 9bc57e2 misc: working on unstable + +## stable-9909 + +Based on stable release 9909. + +* 9098202 feat(lint): add tpl lint step for each project (#1983) +* 70b75f5 feat(build): Checks config.js syntax. (#1981) +* f18b182 fix(web): config.js syntax errors (#1980) +* eea18b1 feat: Add an option to enable VLA. (#1979) +* 9527545 feat(web) Add defaults and env variables for codec preference. (#1978) +* 6ae3414 feat(prosody): Sets recorder prefixes. +* 07ea79a feat(prosody): Enables connection resumption for jicofo and jvb. +* 5341065 Update docker-compose.yml (#1968) +* 5e8b702 fix(prosody-visitors): proper variable for transcriber jid in rate limit (#1967) +* d3db3a5 fix(jibri,jicofo,jigasi,prosody,web): respect previous XMPP_RECORDER_DOMAIN value if set (#1966) +* 2d9c3cc feat(web): allow comment at the top of config.js to be overridden (#1964) +* 9fe5b8b fix(web) Remove no longer used config setting. Av1 has already been enabled by default. +* a53775c misc: working on unstable + +## stable-9823 + +Based on stable release 9823. + +* 51a1214 feat(jibri) bump Chrome to version 130 +* 345f8c2 fix(prosody,jicofo,jigasi,jibri) rename recorder domain to hidden domain +* 47d974d feat(jibri,jicofo,jvb): custom hocon support via include for components that support it (#1960) +* 6443c6f feat(transcriber): fix exposing transcript path in web +* 74d913f feat(transcriber): flag to enable translations (#1953) +* 8909050 feat(transcriber): remote config auth parameters (#1951) +* bb17a29 feat(prosody): enable muc_max_participants in lobby component (#1950) +* 26b6f27 fix(prosody): remove admin_adhoc module from defaults (#1948) +* 4ae7438 feat(prosody): move external_services module and config to global prosody.cfg.lua (#1949) +* 74a536e misc: working on unstable + +## stable-9779 + +Based on stable release 9779. + +* a5b719c :sparkles: allow configuration of a custom translation service (such as libretranslate) (#1946) +* d6251b7 feat(jaas): updated jaas URLs (#1944) +* 2a87a50 fix(jigasi): ensure tpl doesn't fail even if no JIGASI_SIP_PASSWORD is set (#1943) +* 5164db7 feat(jigasi): config for jigasi in visitor mode (#1942) +* a88c6e4 feat(prosody): allow s2s whitelist additions (#1940) +* b89c328 fix(prosody): install the new version of jitsi-contrib/prosody-plugins +* 0b75cd1 fix(transcriber): fix bosh and xmpp connections from jigasi to prosody (#1934) +* 4369907 feat(jibri,jicofo,jigasi,jvb,prosody,web): trim empty list entries when splitting with splitList to allow trailing comma (#1932) +* c58a9e5 feat(prosody): allow components access even after max participants is reached (#1930) +* 5e1fcd8 fix(prosody): default value for PROSODY_MODE (#1929) +* 7b7f101 feat(prosody): new flags to disable incoming client and server conection limits (#1928) +* 02aa4f1 fix: Only set app_secret when defined. (#1925) +* df0bb25 fix(prosody): install the new version of jitsi-contrib/prosody-plugins (#1926) +* ff0cdc7 fix(prosody): tpl errors on container startup due to missing variables (#1924) +* 905943d feat(prosody) update prosody contrib plugins from 20240117 to 20240817 +* 1f2b14d feat(prosody): enable recorder domain for s2s to visitor nodes to allow transcription support (#1905) +* c9b6679 feat(web): mount load-test volume to expose load-test client from host (#1910) +* b726312 feat(jicofo) add config parameter for ENABLE_MODERATOR_CHECKS +* 2d39624 misc: working on unstable + +## stable-9753 + +Based on stable release 9753. + +* 9e17f95 feat(jigasi): allow unique account UID for each entry even if the same auth is used (#1917) +* ad2a577 fix(jigasi): transcriber VOSK URL variable into compose file (#1916) +* 6c08391 feat(jigasi): transcriber configuration supports vosk URL (#1915) +* 1db83ed feat(ldap): Start and configure only if enabled. +* ceb4a51 feat(prosody): Skip some modules for prosody-jvb. +* e7786d5 feat(jigasi): transcriber configuration for OCI and whisper and to skip saving (#1909) +* c5afcde feat(jigasi): support graceful shutdown via sidecar (#1908) +* 5d40297 feat(jigasi): allow optional label for xmpp servers (#1907) +* e7cb0f4 feat(jvb): autoscaler sidecar shutdown hook on finish (#1906) +* b0675c0 prosody: recording metadata module (#1734) +* 36b2e16 feat(web) - Added NGINX_KEEPALIVE_TIMEOUT environment variable +* 24bf3e4 fix(web) add HTTPS port to URL in env.example +* 2280f6b feat(web) add ability to run the web container targetting JaaS +* ff49cd9 Revert "feat(jigasi): install openjdk nonheadless, currently required for dep…" (#1899) +* 66c6ad8 feat(jigasi): install openjdk nonheadless, currently required for dependencies (#1895) +* 3f67408 feat(jigasi,transcriber): transcriber component and jigasi configuration updates (#1881) +* 3e93212 fix(jicofo): pass compose variable for jicofo transcription support (#1893) +* 084266c feat(transcriber): transcriber password in env.example and gen-passwords.sh (#1894) +* e1b14f2 feat(prosody): enable brewery muc modules in internal muc component (#1892) +* 1889c5d fix(web): enable hidden domain when transcriptions or recordings are enabled (#1891) +* 46377d4 feat(prosody): transcriber account support and flag configuration fix (#1890) +* 9f2489d feat(log-analyser): updated grafana dashboards (#1885) +* 1e589f3 feat(log-analyser): transfered docker logs from docker containers and updated readme (#1884) +* 1f056b4 web: remove unnecessary option +* f893e49 base: update tpl +* 7617503 fix(log-analyser): added Jitsi network to loki service +* 27150a2 feat(prometheus): Docker Daemon scraping for monitoring (#1865) +* d6b64a2 misc: working on unstable + +## stable-9646 + +Based on stable release 9646. + +* 0dad31d fix(jicofo) enable jigasi brewery with ENABLE_TRANSCRIPTIONS +* fae66ad fix(jibri): IGNORE_CERTIFICATE_ERRORS as boolean +* 54baee2 feat(prosody): custom metrics of stanza counts for prosody service implemented (#1862) +* a88dd8b feat(jvb) default to using dcSCTP +* d2c26aa fix(jigasi) add missing variables to jigasi.yml +* 41559d6 feat(log-analyser): added grafana dashboard provisioning (#1855) +* 2e9e6ca misc: working on unstable + +## stable-9584-1 + +Based on stable release 9584-1. + +* 29a4523 feat(jvb) add JVB_CC_TRUST_BWE environment variable +* 0f7be54 feat(prometheus): Prometheus container and basic scraping configuration (#1838) +* 9c87bba feat(jitsi-meet): added grafana loki and otel integration for log analysis (#1844) +* fcb90ba fix(web): whiteboard config.js syntax error (#1851) +* 811518b misc: working on unstable + +## stable-9584 + +Based on stable release 9584. + +* b4604f3 feat(whiteboard) add builtin whiteboard integration +* 49bd165 feat(jibri) update Chrome to 126 +* 980703b fix(jibri): display modes in xorg config +* c65d2bd feat(jigasi,jicofo,jvb,jibri,prosody): add healthcheck.sh scripts and prosody http_health mod +* d2ac43d feat(jigasi): Add new environment variables for jigasi configuration (#1841) +* fbc250e feat(prosody): openmetrics module support (#1832) +* 2adac72 feat(prosody): Drop non existing config. +* e22b4f3 feat(jibri): Adds more fonts. +* 982e577 feat(jicofo,jvb,web) default to using SCTP based datachannels +* 55c975f fix(jicofo): use integer for port value to fix addition (#1826) +* 7c8763f base: update tpl to version 1.3.0 +* 1d3c0f1 jibri: fail to start if the SYS_ADMIN cap is missing (#1816) +* cacee4e jvb: adds autoscaler sidecar hook to signal final shutdown (#1809) +* 726b0f0 jibri: adds autoscaler sidecar hook to signal final shutdown (#1810) +* f2b2cc4 etherpad: update image version and settings +* 731d6d1 base: update tpl to make toBool more resilient +* 59c4eb2 jvb: add fallback WS server ID +* 9a54843 jvb: add ability to configure the TLS option for colibri WS +* 79a4635 jvb: add ability to disable XMPP +* 77ce86a jvb: add ability to enable SCTP datachannels +* 76ffaa7 jicofo, jvb: fix OCTO + SCTP behaviour +* 0298a30 misc: working on unstable + +## stable-9457-2 + +Based on stable release 9457-2. + +* fed87fb web: update acme.sh version to 3.0.7 +* 11285cd prosody: Fixed the wrong position of the JWT_SIGN_TYPE setting in the file (#1796) +* f9ff2a4 misc: working on unstable + +## stable-9457-1 + +Based on stable release 9457-1. + +* 09bbfaf misc: working on unstable + +## stable-9457 + +Based on stable release 9457. + +* 6f98bbe prosody: add ability to customize TURN TTL value +* 8fe3139 jvb: fix autoscaler sidecar config (#1785) +* 48d803c jigasi: fix autoscaler sidecar config for shutdown url (#1784) +* c951116 jibri: fix autoscaler sidecar config (#1783) +* cae1e40 feat(jigasi): Adds trusted domains option. +* e939230 prosody: add ability to customize JWT signature type +* b0f9eb2 prosody: integrate prosody-plugins-contrib +* 604ba22 prosody: Switches lua gc back to incremental. (#1777) +* 68d4b1a jibri: fix xorg modeline for 1280x720 (#1778) +* 8094a17 web: add ability to change CORS header value +* 03b6ca2 web: remove no longer needed mime type definition +* 70ba4cb base: update to Debian Bookworm +* dc5cbae misc: working on unstable + +## stable-9364-1 + +Based on stable release 9364-1. + +* a5ebb99 jibri: flag to support prometheus-style metrics (#1768) +* 80fc10e feat(prosody): Cleans up gc settings. +* 69bba17 feat(prosody): Adjusts lua to use generational GC for brewery.cfg.lua. +* 2798426 feat(prosody): Adjusts lua to use generational GC. +* 28d2b32 feat(prosody): Make sure muc tumbstones is disabled. +* d5df19d jigasi: autoscaler sidecar support (#1738) +* 0953ca0 jigasi: skip SIP configuration when configured as a transcriber +* ca1d670 fix: :bug: wrong quote in default config (#1761) +* 360361e jibri: move xmpp config for easier override (#1748) +* 452f5ba misc: working on unstable + +## stable-9364 + +Based on stable release 9364. + +* ca61ea2 jibri: add ability to ignore certificate errors +* 615396e java: use Java 17 +* 140db22 jibri: check for chrome bin before pre-warm (#1757) +* 648612f feat(prosody): Always report visitors support when enabled. +* 28f3cf8 jvb: lipcap from apt to allow for pcap dumps (#1747) +* 33350c3 prosody: fix env var default value +* d6dc1e3 base-java: install nodejs 20 from nodesource +* 8f84f2f jibri: use storage.googleapis.com location for chromedriver +* 1bbb4ab fix(prosody): Updates a rate whitelist config that changed in jitsi-meet. (#1741) +* eccf68e misc: working on unstable + +## stable-9258 + +Based on stable release 9258. + +* a198d56 compose: add jvb dependency to web container (#1739) +* 5c5742b prosody: var for speakerstats modules +* a1d1f2c web: Add env vars for setting 1080p and 4k bitrates. +* bb69407 Remove "ping" in ViarualHosts (#1728) +* 14efd9c prosody: disable "offline" and "register" modules. (#1727) +* 8e28256 misc: working on unstable + +## stable-9220-1 + +Based on stable release 9220-1. + +* 1e97277 jibri: update Chrome to version 121 +* 310b80d jvb: add env var to control require-valid-address +* b0092bc jicofo,jigasi,jvb: fix accidentally enabling Sentry +* 102281e base: update tpl +* bf237da etherpad: update etherpad image to etherpad/etherpad:1.9.6 (#1725) +* 7381471 misc: working on unstable + +## stable-9220 + +Based on stable release 9220. + +* 4eb5575 prosody: c2s encryption flag from environment +* cc34823 prosody: tune internal muc settings +* f512116 prosody: jibri and jigasi skip muc passwords (#1718) +* 6c1f384 Add flag for require-muc-config-flag. (#1717) +* 6e6dd96 web: nginx config for load-test client if present (#1715) +* 11d7d75 fix: Do not load domain_mapper under breakout component (#1714) +* 4ca5763 prosody: the new version of contrib-prosody-plugins (#1713) +* d31e164 build: simplify detection of the target platform +* 21f04ea base: update tpl +* 9b686c6 prosody: Drops unused module. +* 1365d7f base-java: include jdk package +* 4584779 jicofo: fix enable sctp octo defaults (#1708) +* 2a3f8fd web: fix config.js syntax +* df88c7c Fix/web settings prop syntax (#1706) +* d64ae1c web: remove 'startBitrate' that is no longer supported. +* 1cba0b5 web: Fix the maxbitrates config setting. Also, remove the 'enforcePreferredCodec' setting which is no longer supported. +* 1dbe5cd web: cleanup config +* 3a888fd jicofo: add support for max-ssrcs-per-user config +* 5093efb feat: Add testing flag for Av1 +* 7f86006 prosody: remove muc_meeting_id from lobby +* c21a598 prosody: visitors config whitespace fix (#1694) +* 8845606 Move trusted_proxies from visitors to main prosody config file. (#1699) +* e41e4f4 Require tls by default. (#1698) +* 80e4ee6 Remove unnecessary modules and properties (#1697) +* 2915176 prosody: skip recorder account unless in client mode +* 46b98b5 prosody: brewery mode for jvb/jicofo discovery muc +* 52eef2e feat: Add an option to set jibri-sip brewery jid. (#1689) +* ab30f56 prosody: enable muc_meeting_id in lobby component +* 5cc0ef0 jicofo: fix duplicate line +* 2a67885 jicofo: trusted domain list +* 78fb030 fix: Fix typo in var name. (#1690) +* 1ad045e feat: Add an option to enable sctp for relays. (#1688) +* aa898e4 jicofo: fix visitors auth domain (#1687) +* ec8615a fix: Fix default JIBRI_PENDING_TIMEOUT. (#1686) +* 483bbde web: trim deprecated options and defaults +* 11cbfcc web: provide bosh URL as relative only if flagged (#1682) +* 60100d6 jvb: expose public IP in autoscaler sidecar config (#1679) +* b8a9080 task: fix shutdown script +* 2e3c272 jvb: fix terminate script for autoscaler sidecar +* 3519113 jvb: finish script for graceful shutdown (#1676) +* 4fba8b5 task: support logging to file in JVB container (#1675) +* 431cdcc web: allow desktop framerate to be automatically determined by the browser +* 4c009ad jvb: fix version for autoscaler config +* 4531615 prosody: add smacks to guest vhost +* b4428bf prosody: use mod_smacks.lua from prosody since 0.12.4 +* ee2f3c9 docker-compose.yml: expose jicofo and jvb env vars for defining max memory. +* 940cd97 env.example: add jicofo and jvb env vars for defining max memory. +* 71b3892 jicofo,jvb,jigasi: fix SENTRY_DSN cannot be defined +* e6a0c04 jibri: add check for /dev/shm size +* dbffba1 Revert "jicofo, jigasi, jvb: fix SENTRY_DSN not being read" +* 073f85d Revert "logging: fix reference to old variable" +* 8415c84 logging: fix reference to old variable +* fa2b4db jicofo, jigasi, jvb: fix SENTRY_DSN not being read +* 42a2153 misc: working on unstable + +## stable-9111 + +Based on stable release 9111. + +* 825730d web: nginx ws-colibri proxy regex updates (#1645) +* 54d3aca jicofo: add AV1 options +* 0827186 prosody: stun in external services (#1644) +* d67938c misc: working on unstable + +## stable-9078 + +Based on stable release 9078. + +* 3b9afe4 release: build images before comitting the changelog +* 54d422b jvb: autoscaler sidecar support +* 9f0658d sample: escape/encapsulate string +* 5d05ba2 jicofo: support jicofo log file for tailing (#1632) +* 8555fe1 web: param to control config.hosts.authDomain (#1627) +* cd1c9fb prosody: remove muc limit messages from visitors (#1626) +* af50dde prosody: s2s whitelist duplicate param fix (#1625) +* eb91893 prosody: add ping module to auth domain (#1624) +* 261caa3 prosody: guest ping module, var for auth type (#1623) +* 7fb1026 prosody: params for limits (#1622) +* cf894ce prosody: variables for lobby and breakout modules +* a827437 prosody: param to link room metadata to main vhost (#1616) +* 5120595 prosody: var for config in main vhost (#1615) +* bebd748 web: flag to control sctp bridge channel choice (#1613) +* 6bfa830 prosody: visitor mode support (#1611) +* 7bfc5c1 prosody: update version of prosody-plugings package +* 3a77aac jicofo: support visitors in jicofo configuration (#1610) +* f860c5d jvb: don’t send Jetty server version +* 63380fa misc: working on unstable + +## stable-8960-1 + +Based on stable release 8960-1. + +* 9bd3258 jibri: fix variable names +* 807b7bf misc: working on unstable + +## stable-8960 + +Based on stable release 8960. + +* 5c5575c jibri: make some ffmpeg arguments configurable via env variables +* 09b0df4 misc: working on unstable + +## stable-8922-1 + +Based on stable release 8922-1. + +* b3abfc0 ci: split unstable build and test workflows (#1601) +* 603d461 jibri: adapt to new ChromeDriver zip file structure +* a76b1f4 jibri: simplify ChromeDriver download +* fd1c308 jibri: fix new ChromeDriver API endpoints +* 2c0a793 jibri: update Chrome to 116 +* 916bccb jibri: autoscaler sidecar tuning parameters +* 6e59319 misc: working on unstable + +## stable-8922 + +Based on stable release 8922. + +* 1cbb8f8 prosody: add hybrid_matrix_token as a new authentication method +* b5b8ea2 jigasi: add toggle to enable REST shutdown +* 6bb2455 jibri: add extra fonts +* 497015b jicofo: add JICOFO_AUTH_LIFETIME as environment variable +* f18acb4 jicofo, prosody: allow to set different AUTH_TYPE +* dc1994a jicofo: remove shibboleth authentication options +* 58d4736 misc: working on unstable + +## stable-8719 + +Based on stable release 8719. + +* 6f72293 jibri: bump Chrome version +* 94c7060 jibri: params to override statsd host and port +* 0569bce jibri: add autoscaler-sidecar service support (#1562) +* 57a7c22 jicofo: add ability to disable auth +* a41578c prosody: update the comma logic while listing TURNs +* 9776714 prosody: allow multiple TURN (#1559) +* ce59d1e jibri: upgrade chrome to 113 (#1555) +* c2f01f3 web: update livestreaming settings according to new config.js +* e4c8c2a jibri: pre-warm chrome first before starting jibri (#1549) +* 809f63c compose: add ability to configure the Jicofo REST port in the host +* b81bd5c misc: working on unstable + +## stable-8615 + +Based on stable release 8615. + +* 57e3bb3 jibri: bump Chrome version +* a0a3410 fix: Allows jicofo entering rooms without requiring a password. +* 1c27da8 prosody: fix ranges redux (#1538) +* 9fc8ffa prosody: fix ranges definition (#1537) +* 39de818 prosody: enable rate limits (#1536) +* 3568542 prosody: add timestamps to the log +* edb5e76 workflow: tag jibri and jigasi images with version (#1522) +* 5d1d80d jvb: fix missing dot in env (#1521) +* 0b1b45d base: use FQIN in base/Dockerfile FROM statement +* 29f0cb2 actions: tag images with detected versions (#1518) +* 7c50cb7 web: support loading pwa-worker.js from subdir (#1517) +* 3af59c6 web: fix bosh for subdomains +* 2fdc643 jicofo: use bool instead of string for codec flags (#1507) +* bdcae29 jicofo: fix syntax error on opus end brace (#1506) +* e5d4213 jicofo: additional conference options (#1504) +* 6034e09 jicofo: support opus red audio codec (#1503) +* ef7ef9c jicofo: disable cert verification for jvb xmpp (#1501) +* a8fe1aa jicofo: fix template error in jvb xmpp server (#1500) +* 7d1bf8e jicofo: flag to use presence for bridge health checks (#1499) +* 1a4f9bd jicofo: fix broken rest template (#1498) +* 76f886f jicofo: add bridge region support and local region (#1497) +* 9c2f742 jicofo: fix rest bind in container (#1496) +* ed095bc misc: support alternate xmpp server for jvb (#1495) +* e1c1f1b jicofo: enable rest interface (#1494) +* ca0b92e web: allow custom colibri websocket port (#1491) +* fe5dea3 misc: working on unstable + +## stable-8319 + +Based on stable release 8319. + +* 57e852f build: fix native build on M1 macs +* 1cdf970 prosody: fix "" issue in prosody config +* 4a0b48c etherpad: suppress errors in pad +* 15335c0 misc: working on unstable + +## stable-8252 + +Based on stable release 8252. + +* 076dbf7 jibri: fix downloading new (>= 109) ChromeDriver +* 8f40804 jibri: update Chrome to M109 +* 1cf8638 compose: fix whiteboard collab server variable name +* 9e0305b prosody: set JWT_ENABLE_DOMAIN_VERIFICATION to false by default +* ac551c3 base: update tpl +* ec972ee base: update tpl +* 8684b0b misc: working on unstable + +## stable-8218 + +Based on stable release 8218. + +* 8d7728b jibri: update Chrome to M108 +* 9cfbaf2 misc: drop JICOFO_AUTH_USER +* 68751c2 prosody: add metadata component +* 07f7054 jaas: pass the jitsi installation type at provisioning (#1456) +* e219bcf web: add ability to configure whiteboard +* ac12313 misc: working on unstable + +## stable-8138-1 + +Based on stable release 8138-1. + +* 8923b72 web: fix missing quotes on config.js string +* 6b11a89 misc: working on unstable + +## stable-8138 + +Based on stable release 8138. + +* 1e49d65 web: simplify build +* dd399fe web,jvb: remove ENABLE_MULTISTREAM +* 723d661 jibri: add single-use-mode config option +* ca14c52 web: add more transcription config env vars +* ccc5746 prosody: add ability to configure TURN server transports +* 17d047a misc: working on unstable + +## stable-8044-1 + +Based on stable release 8044-1. + +* fd70f04 env: add note about JaaS account creation +* 046bb79 jaas: register JaaS account automatically +* c44c59e misc: working on unstable + +## stable-8044 + +Based on stable release 8044. + +* b212dca web: fix parsing IPv6 reolver addresses +* 53b2654 web: auto-detect nginx resolver +* 9fbb5bd jicofo: fix XMPP config (all moved to jicofo.conf) +* a2333b3 jicofo: remove JICOFO_SHORT_ID (removed upstream) +* d764db9 doc: update README +* c694a9e web: set charset as utf-8 +* 8660089 misc: working on unstable + +## stable-7882 + +Based on stable release 7882. + +* 4fcba2c jibri: update Chrome to M106 +* 957a225 misc: working on unstable + +## stable-7830 + +Based on stable release 7830. + +* dd95b3d prosody: fix arm64 build +* acb2f4e misc: update stale.yml +* 02e32e5 jibri: update Chrome to M105 +* c53de72 jvb: add JVB_ADVERTISE_IPS, deprecating DOCKER_HOST_ADDRESS +* 723acc2 web: add ability to configure the room password digit size +* a1e82ea jvb: migrate config to secure octo +* 91043c5 prosody: upgrade UVS module to be compatible with Prosody 0.12 and luajwtjitsi 3.0 +* dc5b6a1 fix: multi tenant setup (#1401) +* 47804d0 prosody: add JWT_ENABLE_DOMAIN_VERIFICATION to compose file +* 832b178 prosody: make GC options configurable +* bf6a68b web: fix setting prefix for subdomains +* 5fabec9 prosody: add end conference +* 7f7a9b4 misc: working on unstable + +## stable-7648-4 + +Based on stable release 7648-4. + +* 6449c60 prosody: fix installation of lua inspect module +* 6664c89 prosody: add missing lua-inspect dependency +* 755bd3f prosody: add jigasi and jibri users as admins +* 8c5fba1 jigasi: add ability to disable SIP +* 4fa0a2f jvb: allow configuration of videobridge.ice.advertise-private-candidates +* 74e5942 misc: working on unstable + +## stable-7648-3 + +Based on stable release 7648-3. + +* 7890183 jibri: fix ENABLE_RECORDING issue +* a2b86a0 fix: Fixes undefined variable $ENABLE_JAAS_COMPONENTS. Fixes #1377. +* 9f3c81f misc: working on unstable + +## stable-7648-2 + +Based on stable release 7648-2. + +* 24b6adb feat: Adds room info http endpoint for jaas components. +* 475be2a misc: working on unstable + +## stable-7648-1 + +Based on stable release 7648-1. + +* d9921a0 prosody: fix syntax error +* bc6ce20 jibri: update Chrome to M104 +* 7c7a43a prosody: add ability to configure max occupants +* 85a38d9 jibri: add ability to enable Dropbox recording without enabling "service recording" +* f8b7037 jvb: enable multi-stream by default +* eb0dd6b web: fix receiveMultipleVideoStreams flag +* 674f134 misc: working on unstable + +## stable-7648 + +Based on stable release 7648. + +* 12941f5 web: turn on multi-stream by default +* 1d4b265 web: add new flag for multi-stream +* 4264f25 prosody: make enable_domain_verification configurable +* 2a7db7c jigasi: fix Sentry test +* 2d106d8 jigasi: adjust log formatter +* 6c9e305 jigasi: temporarily disable G722 +* 9edecf2 misc: working on unstable + +## stable-7577-2 + +Based on stable release 7577-2. + +* 55e0eed prosody: remove explicit dependency +* e0bc4e4 prosody: add missing net-url dependency +* e811d7b misc: working on unstable + +## stable-7577-1 + +Based on stable release 7577-1. + +* 20eb991 prosody: clean build +* 6fb422c prosody: fix not finding the basexx and cjsson modules +* 1768164 misc: working on unstable + +## stable-7577 + +Based on stable release 7577. + +* b670959 prosody: simplify container build +* e05a9c2 fixup: template syntax for newly added variables (#1355) +* 164d28b web: migrate deprecated recordings options, add some more +* f126f7a web: set config.videoQuality.maxBitratesVideo to null if no bitrates are specified +* 0364d94 jibri: remove deprecated PulseAudio module +* 1c93e1b web: add support for brandingDataUrl (#1346) +* 4372717 web: add support for wav files to nginx default +* d804ba4 misc: make ignore rule more generic +* b224131 prosody: use ENABLE_IPV6 environment variable +* be8c41f etherpad,jigasi: fix compose file version +* d7cee00 misc: working on unstable + +## stable-7439-2 + +Based on stable release 7439-2. + +* b2f704a misc: working on unstable +* 62655d8 release: stable-7439-1 +* 22dc822 prosody: fix XMPP_MUC_CONFIGURATION +* 11de38f fix: properly use default SIP config +* 82a5382 fix: add missing $ to JIGASI_XMPP_USER +* 76ff646 misc: working on unstable + +## stable-7439-1 + +Based on stable release 7439-1. + +* 76ff646 misc: working on unstable + +## stable-7439 + +Based on stable release 7439. + +* ea37859 prosody: add ability to configure MUC modules through ENV variables +* 5ff69fd jvb: fix jvb.conf parsing error +* 8f38fe6 web,jvb: add option to enable multi-stream +* 701dadf jvb: add ability to disable STUN +* 264a3d8 web: add prejoin config options +* fec78e4 jigasi: build on arm +* c04f658 web,jvb: allow underscore in JVB_WS_SERVER_ID +* 55a4591 prosody: configure unbound resolver +* 576e5a9 web: start with clean config.js +* a7f260e web,etherpad: fix default public URL +* 0cbfbfd web: don't proxy HTTP traffic to WS endpoints +* 7ed5063 jibri,compose: avoid mounting /dev/shm/ +* fbb8a2d jibri: switch to PulseAudio +* e7533f8 jibri: simplify Dockerfile +* 7e74308 jigasi: switch to Java 11 +* a9d1ed6 misc: working on unstable +* b227b73 build: fix multiarch build + +## stable-7287-2 + +Based on stable release 7287-2. + +* ab08247 build: make sure JITSI_RELEASE is passed when invoking make +* 5109874 prosody: update to latest stable +* 343ef56 doc: update README +* 829841e jibri: add support for arm64 +* 8d5a9cf jvb: fix not setting WS server ID +* cffab8f jibri: fix log location template +* 94833b5 doc: update README +* d3901ba build: also release a "stable" tag +* 9217b0a misc: working on unstable + +## stable-7287-1 + +Based on stable release 7287-1. + +* 22e727c build: adapt release process to multiarch builds +* be422c7 jibri: update Chrome to M102 +* 1463df4 compose: add ability to override image versions +* 7c29b57 prosody: fix reservations API +* 8337c0b jicofo,prosody: migrate to new reservations system +* 70c5cbf misc: update dialin numbers url setup (#1298) +* 7790012 misc: define ENABLE_JAAS_COMPONENTS variable (#1297) +* 62ad172 misc: update env.example +* 74ef7de web,prosody: add support for JaaS components +* 902a673 misc: move security options in sample file +* 2a23095 misc: use the "unstable" tag between releases +* 741ec4a build: add native arch building support +* 68d97c8 ci: add GH action docker build caching +* 8b02b8a build,ci: add initial arm64 support +* 3b86df0 compose: add ability to change the JVB colibri REST API exposed port +* 458515c env: add link to handbook +* 261577c web: stop using the default config file +* ed6ef89 web: remove config option to control FLoC +* cb5a753 config: simplify configuration +* b505d58 misc: add stalebot +* 5ff2735 web: add e2eping support using env variables +* 6284167 web: add more audio quality options +* 515bd19 misc: working on latest + +## stable-7287 + +Based on stable release 7287. + +* 41d6a9a jibri: bump Chrome to version 101 +* 88bb1bc feature: support multiple XMPP servers via list (#1276) +* 95af778 jicofo: add optional XMPP_PORT value (#1275) +* da0a43a misc: working on latest + +## stable-7210-2 + +Based on stable release 7210-2. + +* 2634e96 misc: working on latest + +## stable-7210-1 + +Based on stable release 7210-1. + +* a8e6a34 prosody: completely disable external components +* 8587d29 prosody: add mod_auth_cyrus from community libraries +* 3a070e6 misc: working on latest + +## stable-7210 + +Based on stable release 7210. + +* 1afa278 prosody: add temporary workaround for JWT auth +* 6fe240a prosody: update to 0.12 +* 097558b ci: dry run Docker builds on PRs +* eca5d16 web: fix matching etherpad location +* 3afc1e3 prosody: update package version +* b0617c0 web: fix Etherpad when using multi-domain +* 0ce0f09 prosody: update version +* 201a1b4 prosody: pin to version 0.11 for now +* 29b4c23 prosody: use a more recent version of luarocks +* c5b049a jvb: forward port 8080 to docker host +* 6af7cd8 doc: update CHANGELOG +* dd7b70b misc: working on latest + +## stable-7001 + +**IMPORTANT:** Starting with this release TCP has support has been removed from the JVB. + +Based on stable release 7001. + +* 6e0dd04 base: replace frep with tpl +* 1b51c77 feat: Enables polls for breakout rooms. +* 0b019ee feat: Enables tenants/subdomains by default. +* d50df67 fix: Fixes missing variable for prosody plugins. +* 88997f5 prosody: authentication by matrix user authentication service +* 7a93978 jvb: remove TCP support +* c37706c misc: fix label order in dockerfiles +* 0de062b misc: add missing quotes to labels in dockerfiles +* 76424fd chore: add opencontainers labels to Dockerfiles +* 3b8ed7e misc: working on latest + +## stable-6865 + +Based on stable release 6865. + +* 8004ffe Use the new log formatters, clean up stale logging config. +* a862e84 web: cache versioned static files +* 48d499a web: configure remote participant video menu +* 78791ad env.example : ETHERPAD_PUBLIC_URL : incl. /p/ path +* a504b59 misc: working on latest + +## stable-6826 + +Based on stable release 6826. + +* 238a636 jibri: correct chromedriver mismatch +* 555a40e doc: update CHANGELOG +* 825b4cb misc: working on latest + +## stable-6726-2 + +**IMPORTANT:** This version updates Prosody to version 0.11.12 to fix CVE-2022-0217: https://prosody.im/security/advisory_20220113/ + +Based on stable release 6726-2. + +* ae3e7e7 jvb: make MUC_NICKNAME configurable +* 0be9c8f web: allow configuring buttons in toolbar and pre-join screen +* d9d12f0 jvb: fix resolving XMPP server aliases +* 81dc384 jigasi: allow jigasi guest participants +* a8a596b jicofo: configure trusted-domains for Jibri if ENABLE_RECORDING is set +* d250ad7 misc: working on latest + +## stable-6726-1 + +Based on stable release 6726-1. + +* 9ac7b59 jibri: update Chrome to version 96 +* fb2326e prosody: add missing package libldap-common +* 0600ece sample: add ENABLE_BREAKOUT_ROOMS to env.example +* 6cf0176 misc: working on latest + +## stable-6726 + +Based on stable release 6726. + +* e9275d5 jvb: remove deprecated option +* f40a8d5 jicofo: Handle special characters in password +* 6f56e5b web,prosody: add breakout rooms support +* 3208296 base: update base images to Debian Bullseye +* b02a689 env: fix unexpected character bug with recent docker desktop +* b5dbfa0 misc: working on latest + +## stable-6433 + +Based on stable release 6433. + +* 487bcca jvb: try to use the correct IP as the default server ID +* 9e982fe examples: move to jitsi-contrib +* 192a623 jvb: add ability to configure the shutdown API +* 5dcf7b4 compose: changed REACTIONS env variable name in docker-compose file +* d94f4b6 jvb: remove unneeded alias +* 7cd71a2 jibri: default to recording in 720p +* bee4b6a jibri: use new configuration file +* 76a16a8 jvb: use modern config for ice4j +* 18ac85b jibri: allow graceful shutdown of the container +* 3c19ed6 jibri: uppdate Chrome to version 94 +* b858b37 base-java: update to Java 11 +* 2061b86 misc: enable features by default +* 343062b misc: fix/ improve shebang compatibility +* ff8c1c2 web: regenerate interface_config.js on every boot +* bda1502 prosody: simplify code +* cfd8d3c web: add config options for polls and reactions +* 537fcd5 misc: add support for sentry logging +* be1da0e misc: cleanup Dockerfiles +* 09cf0a8 web: add env variables for configuring vp9 +* 3df32d9 web: persist crontabs for letsencrypt +* f748484 jicofo: add enable-auto-login config option +* 96419ba web: remove no longer needed code +* 1835d65 web: recreate interface_config.js on container restart +* b555d41 jicofo: fix boolean values in configuration file +* 6be198c misc: remove quotation marks from TURN configuration (#1111) +* 407a98d misc: working on latest + +## stable-6173 + +Based on stable release 6173. + +* c95f0d6 prosody: add support for A/V Moderation +* 856e414 prosody: add ability to configure external TURN server +* bcae3b1 prosody: add domain mapper options to default configuration +* cf90461 web: fix acme.sh pre and post hooks +* 65563d9 misc: working on latest + +## stable-5963 + +Based on stable release 5963. + +* 6f6fe77 prosody: enable limits +* db3d790 prosody: fix: restrict room creation to jicofo (#1059) +* 281db36 misc: working on latest + +## stable-5870 + +Based on stable release 5870. + +* d9b84cf jibri: set base URL for joining meetings +* a77a43e jibri: update default Chrome version to 90 +* a90e4ce doc: drop confusing port number from PUBLIC_URL +* 8620caa doc: clarify env variable +* 6f52f71 web: add FLoC environment variable +* 014aa59 web: add default language variable +* ce25bf6 doc: update CHANGELOG +* 6bf1336 misc: working on latest + +## stable-5765-1 + +Based on stable release 5765. + +* 7a47202 jicofo: make sure client-proxy is properly configured +* 5c32833 web: add start environment variables START_WITH_AUDIO_MUTED; START_SILENT; START_WITH_VIDEO_MUTED +* 3d93f2b misc: working on latest + +## stable-5765 + +Based on stable release 5765. + +* 9bc262a prosody: fix building unstable images +* 0cbe0d9 web: add a env variable to enable/disable deep linking +* b22421b misc: publish nightly unstable images +* 78699fe web: allow to configure shard name using env variable +* a6853ef jvb: add octo configuration options +* d6fac8e jicofo: disable octo by default +* 1fa5048 doc: add link to Kubernetes setup +* e1cebcc web,jvb: add ability to disable web sockets for colibri +* 6c4dce1 jicofo: fix ENABLE_SCTP type +* 953a4d2 jicofo: use a client proxy connection +* d27336b web: always try to renew cert on container boot +* 73acbad web: remove deprecated config option +* cb4d941 web: removed duplicate host headers +* ec570ba k8s: fix PodSecurityPolicy +* c4fc3d3 web: make a custom interface config possible +* b45b505 web: always install acme.sh when container starts +* 94ca16d etherpad: remove quotes from all env vars +* c89ccc9 jicofo: reintroduce shibboleth auth +* a6486b4 examples: update traefik v2 example +* f4ec023 misc: working on latest + +## stable-5390-3 + +Based on stable release 5390-3. + +* a698da5 misc: add jicofo reservation env variables to compose +* 86c3022 web: brandingDataUrl -> dynamicBrandingUrl +* 88e950d jicofo: fix healthcheck +* 493cbdd misc: fix typo +* e12d7f2 web : Add DESKTOP_SHARING_FRAMERATE_MIN and MAX env vars +* fa98a31 examples: fix k8s example +* 88d1034 doc: add port to PUBLIC_URL +* c876b40 doc: update CHANGELOG +* 5cf14b0 misc: working on latest + +## stable-5390-2 + +Based on stable release 5390-2. + +* 3e04fb4 prosody: fix lobby when authentication is enabled +* 24781e3 misc: working on latest + +## stable-5390-1 + +Based on stable release 5390-1. + +* 3ac5397 misc: working on latest + +## stable-5390 + +Based on stable release 5390. + +* 0f541c8 jicofo: migrate to new config +* 12823cb prosody: fix jibri recording websocket error +* 7594ea2 jigasi: add ability to control SIP default room for incoming calls +* b0e653a jigasi: fix when using authentication +* 4564170 misc: working on latest + +## stable-5142-4 + +Based on stable release 5142-4. + +* 6f7b2b4 prosody: add internal domain name to default cross-domains list +* ada7b95 jvb: fix check for JVB_TCP_HARVESTER_DISABLED +* a7fb101 jibri: don't provide a non-existing finalizer path +* d013053 jibri: add missing dependency for `kill` command +* 0b25141 web: Add ENABLE_HSTS flag to disable strict-transport-security header +* f856037 web: add more config options +* eedac14 web: add ability to disable IPv6 +* af6f3ac doc: update CHANGELOG +* e3bb5c1 misc: working on latest + +## stable-5142-3 + +**Important:** This release should fix some update problems users found in -1 and -2 versions. The main problem observed is the introduction of XMPP WebSockets, which requires extra configuration for the /xmpp-wesocket route if a reverse proxy is used in front of this setup. Pure docker-compose installations don't need any changes. + +Based on stable release 5142-3. + +* c2c6460 prosody: fix cross-domain WS default value +* 8261f72 jicofo,jigase: add ability to extend the config file +* 6a4887d web: use env variables to set worker processes and connections +* 5679578 prosody: add env var to config cross domain settings +* effb30b prosody: always rebuild configs on start +* 905d431 jicofo,jigasi: always rebuild configs on start +* c52b64a misc: working on latest + +## stable-5142-2 + +Based on stable release 5142-2. + +* 700c04a web: properly handle acme.sh return codes +* 4cb181c web: install acme certs to persistent storage +* 1d2c68a web: fix running acme.sh on the right home directory +* 5c44a84 misc: stop using apt-key, it's deprecated +* 5f06c3a doc: update CHANGELOG +* 0f780b4 misc: working on latest + +## stable-5142-1 + +**Important:** This release includes 2 major changes: migrating the base image to Debian Buster and replacing certbot with acme.sh for getting Letś Encrypt certificates. Please report any problems you find! + +Based on stable release 5142-1. + +* b0cb4a1 web: update TLS config to Mozilla security guidelines +* 0601212 web: replace certbot with acme.sh +* 43f678d build: refactor Makefile +* b00f92a web: use Python 3 only for certbot +* 880b9b0 core: update base image to Debian Buster +* ba01190 web: prevent s6 from restarting cron if it shouldn't be run +* 42a4346 etherpad: use official image and making skin full width +* c36c4d0 web: always rebuild nginx configs on start +* aea4411 Adds private server. +* 6b69576 web: add ability to configure tokenAuthUrl +* ff6d9bc Fix websocket +* e5746ae misc: add ENABLE_PREJOIN_PAGE to .env +* 465816b web,prosody: turn on XMPP WebSocket by default +* d747bfb web,prosody: add XMPP WebSocket / Stream Management support +* 130eb55 jvb: migrate to new config file +* 5290499 doc: updated link for running behind NAT +* 7cb470c misc: support/encourage usage of ShellCheck +* 04a210f misc: working on latest + +## stable-5142 + +Based on stable release 5142. + +* 7ab45bb web: add ability to configure prejoin page +* 0c95794 jvb: regenerate config on every boot +* 3ef2221 jvb: add ability to set the WS domain with an env var +* 79d2601 jvb: add ability to specify set the WS_SERVER_ID with an env var +* b277926 jvb: make colibri websocket endpoints dynamic for multiple jvbs +* 991f695 web: remove no longer needed settings +* 8b7cbc3 revert "jicofo: no auth URL in JWT auth mode" +* 33b386b jvb: add missing variable to docker-compose +* 087f024 web: configure brandingDataUrl with env variables +* a404653 web: configure startAudioOnly using environment variable +* e195cbf jvb: make jvb apis available from outside the container +* 409cade web: configure Matomo using environment variables +* b731c60 doc: update CHANGELOG +* 0fbf3b7 misc: working on latest + +## stable-5076 + +**Important:** Starting with this release config.js is autogenerated with every container boot. +In addition, bridge channels now using WebSocket. Some setups may break on upgrade. + +Based on stable release 5076. + +* 5ceaf5f web: add IPv6 support +* aff3775 xmpp: allow recorders to bypass lobby +* ad5625b jvb: switch to WebSocket based bridge channels +* 8110336 web: add ability to configure the nginx resolver +* 2f47518 jicofo: no auth URL in JWT auth mode +* c149463 web: build config.js on each boot +* c792bbc base: update frep +* bec928c prosody: configure lobby on the guest domain is necessary +* bcbd977 jicofo: pass XMPP_MUC_DOMAIN through docker-compose.yml +* 8f9caa4 jicofo: set XMPP_MUC_COMPONENT_PREFIX +* 2a0120d web: set security headers also for non HTTPS +* e6586f2 jvb: set LOCAL_ADDRESS to the correct local IP (#630) +* 97f5e75 base: optimize size +* b78c89e misc: minor Dockerfile Improvements +* a754519 misc: working on latest + +## stable-4857 + +Based on stable release 4857. + +* a81ad73 prosody: add support for lobby +* baed605 web: fix removing closed captions button if transcription is enabled +* edecacd etherpad: add ability to use a external server +* a7563d4 jvb: use JVB_TCP_PORT for exposing the port +* b235ea1 prosody: disable s2s module +* 1d428a8 prosody: use a 2-stage build +* 613c26c misc: working on latest +* 4d72ee3 release: stable-4627-1 +* 22b7063 examples: update Traefik v1 example +* 1381b08 prosody: fix installing dependdencies +* 2900c11 misc: add extra line to tag message +* c57a84b misc: working on latest + +## stable-4627-1 + +Based on stable release 4627-1. + +* 1381b08 prosody: fix installing dependdencies +* 2900c11 misc: add extra line to tag message +* c57a84b misc: working on latest + +## stable-4627 + +Based on stable release 4627. + +* fdf5030 prosody: update configuration +* afafe23 prosody: shrink container size +* 8e7ea34 base: fix setting timezone +* 58441ae doc: update README +* 3c12526 etherpad: update to version 1.8.4 +* 0038e71 jibri: install extra dependency +* 0615ed6 doc: add missing volumes to quick start +* 2781865 doc: clarify usage of gen-passwords.sh +* a8d0b6c build: add PHONY target for "release" +* d4a35a6 misc: working on latest + +## stable-4548-1 + +Based on stable release 4548-1. + +* abf2f73 jicofo: fix setting incorrect auth URL scheme for JWT +* 3472ab0 jicofo: add ability to configure health checks +* ec3622b jibri: install jitsi-upload-integrations by default +* 0e7bc91 etherpad: pin image version +* 4fa50b9 jwt: do not load token_verification module with disabled authentication +* b0d76a2 jibri: add jq dep for upload integrations +* 53b58fd jvb: add jq, curl deps for graceful_shutdown.sh +* 2d063ad doc: update installation instructions +* e73df5f misc: working on latest + +## stable-4548 + +Based on stable release 4548. + +* a79fc0c misc: add release script +* 0f0adc8 compose: add image tag to compose files +* 0177765 misc: fix config volumes to work with SELinux +* eae3f5c jibri: chrome/driver 78 as a stopgap +* 78df6a4 doc: delete unnecessary dot +* 4426ed8 jibri: fix case when /dev/snd is not bound (https://github.com/jitsi/docker-jitsi-meet/issues/240#issuecomment-610422404) +* 125775a web: fix WASM MIME type +* e70975e web: enable GZIP compression for more file types +* 774aba5 misc: set ddefault timezone to UTC +* 3c3fc19 prosody: enable speaker stats and conferene duration modules +* f911df2 jvb: set JVB_TCP_MAPPED_PORT default value +* 1205170 jvb: allow `TCP_HARVESTER_MAPPED_PORT` to be configured +* f7796a1 prosody: add volume /prosody-plugins-custom to docker-compose +* d44230e prosody: use hashed xmpp auth + +## stable-4416 + +Based on stable release 4416. + +* b039b29 web: use certbot-auto +* b95c95d web: improve nginx configuration +* 2dd6b99 k8s: specify namespace for secret +* 7aa2d81 ldap: avoid unnecessary copy +* e1b47db exampless: update Traefik v2 example with UDP +* 0940605 doc: fix typos and minor grammar issues in README +* 1c4b11c doc: correct minor mistake +* c06867b doc: added steps for updating kernel manually in AWS installation +* dc46215 web: remove DHE suites support +* 367621f prosody: remove no longer needed patch +* 34e6601 doc: clarify acronym +* 2c95ab7 web: revert using PUBLIC_URL for BOSH URL +* 7fd7e2b Add docker-compose.override.yml to .gitignore (#438) +* 67a941b misc: update gen-passwords.sh shell code +* 4e2cec6 misc: add configurable service restart policy +* 729f9d2 doc: fix typo in env.example + +## stable-4384(-1) + +**Important security note:** Previous releases included default passwords for +system accounts, and users who didn't change them are at risk of getting +the authentication system circumvented by an attacker using a system account +with the default password. Please update and use the provided script +(instructions on the README) to generate a strong password for each system +account. + +Thanks joernchen for the security report. + +


+ +Based on stable release 4384. + +* 768b6c4 security: fail to start if using the old default password +* 1ffd472 security: add script to generate strong passwords +* a015710 security: don't provide default passwords +* aaec22d jigasi: fix typo in config +* ebfa142 docs: fix grammar and typos +* bab77e0 doc: update env.example +* 7652807 examples: traefik v2 +* 10983b4 prosody: prevent item-not-found error in certain cases +* 3524a52 base: fail to start the container if the init script fails +* 7c0c795 jicofo: only configure Jigasi brewery if Jigasi is configured +* 40c2920 build: add prepare command +* 93ba770 prosody: fix installing prosody from the right repository +* 3c07d76 doc: improve wording of README +* ed410d9 doc: fix typo +* fabfb2a doc: fix typo +* 5e6face web: use PUBLIC_URL for etherpaad base and BOSH URLs +* 264df04 jvb: switch to using Jitsi's STUN server by default +* 655cf6b web,prosody,jvb: prepare for new stable release +* ebb4536 doc: update CHANGELOG +* 06c3a83 doc: fix references to running behind NAT in the README + +## stable-4101-2 + +Based on stable release 4101. + +* b15bb28 prosody: update to latest stable version +* 75cb31b doc: add build instructions to README +* 25dbde9 doc: fix typo +* badc2d4 doc: add examples/README +* f6f6ca6 Merge branch 'dev' +* 52a1449 doc: clarify DOCKER_HOST_ADDRESS +* f26c9e6 prosody: fix ldap config template +* cd4a071 web: check for certbot's success and exit in case of a failure +* dea8d6c doc: fix typo +* 573c6fa doc: update diagrams +* 29125fd examples: add minimal example to run jitsi behind traefik + +## stable-4101-1 + +Based on stable release 4101. + +* b0def9a prosody: use epoll backend +* 8fa9f94 web: update nginx config from upstream +* 2f17380 doc: clarify account registration command +* edfd8f2 ldap: actually fix anonymous binds (Fixes #234) +* f4ac7cc misc: remove bogus quotation marks +* 0a68be1 jibri: start once jicofo has started +* 76acc65 doc: add tip re. ports to open on firewall to README +* e92a00c ldap: fix anonymous binds +* df40447 ldap: add option for ldap starttls support +* 1ebc535 doc: make localhost link in README clickable +* 33abdf3 doc: add mkdir -p ~/.jitsi-meet-cfg/... to README +* 2c93dce doc: fix typo in README +* d7bb2e6 doc: clarify HTTP vs HTTPS in README +* a1df1e0 Revert "prosody: fix restart loop on rolling deployment" +* 986071b jigasi: add missing transcription volumes to dockerfile +* 01eca74 jigasi: generate google cloud credentials from env vars +* cc2c042 prosody: fix restart loop on rolling deployment +* 5423a8a examples: adding simple kubernetes example +* 6eebabd jicofo: set owner jicofo rights for /config directory +* 69ba9ff jigasi: Updates jigasi client default options. +* 2b9a13b jicofo: add support of reservation REST API +* 8bfe7fb jicofo: add support of reservation REST API +* 9b17c05 web: fix letsencrypt renewal +* 6234a18 web: fix letsencrypt renewal diff --git a/jitsi/LICENSE b/jitsi/LICENSE new file mode 100644 index 00000000..0da277dd --- /dev/null +++ b/jitsi/LICENSE @@ -0,0 +1,203 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/jitsi/Makefile b/jitsi/Makefile new file mode 100644 index 00000000..14870c39 --- /dev/null +++ b/jitsi/Makefile @@ -0,0 +1,63 @@ +FORCE_REBUILD ?= 0 +JITSI_RELEASE ?= stable +JITSI_BUILD ?= unstable +JITSI_REPO ?= jitsi + +JITSI_SERVICES := base base-java web prosody jicofo jvb jigasi jibri + +BUILD_ARGS := \ + --build-arg JITSI_REPO=$(JITSI_REPO) \ + --build-arg JITSI_RELEASE=$(JITSI_RELEASE) + +ifeq ($(FORCE_REBUILD), 1) + BUILD_ARGS := $(BUILD_ARGS) --no-cache +endif + + +all: build-all + +release: + @$(foreach SERVICE, $(JITSI_SERVICES), $(MAKE) --no-print-directory JITSI_SERVICE=$(SERVICE) buildx;) + +buildx: + docker buildx build \ + --platform linux/amd64,linux/arm64 \ + --progress=plain \ + $(BUILD_ARGS) --build-arg BASE_TAG=$(JITSI_BUILD) \ + --pull --push \ + --tag $(JITSI_REPO)/$(JITSI_SERVICE):$(JITSI_BUILD) \ + --tag $(JITSI_REPO)/$(JITSI_SERVICE):$(JITSI_RELEASE) \ + $(JITSI_SERVICE) + +$(addprefix buildx_,$(JITSI_SERVICES)): + $(MAKE) --no-print-directory JITSI_SERVICE=$(patsubst buildx_%,%,$@) buildx + +build: + docker buildx build \ + $(BUILD_ARGS) \ + --load \ + --progress plain \ + --tag $(JITSI_REPO)/$(JITSI_SERVICE) \ + $(JITSI_SERVICE) + +$(addprefix build_,$(JITSI_SERVICES)): + $(MAKE) --no-print-directory JITSI_SERVICE=$(patsubst build_%,%,$@) build + +tag: + docker tag $(JITSI_REPO)/$(JITSI_SERVICE) $(JITSI_REPO)/$(JITSI_SERVICE):$(JITSI_BUILD) + +push: + docker push $(JITSI_REPO)/$(JITSI_SERVICE):$(JITSI_BUILD) + +%-all: + @$(foreach SERVICE, $(JITSI_SERVICES), $(MAKE) --no-print-directory JITSI_SERVICE=$(SERVICE) $(subst -all,;,$@)) + +clean: + docker-compose stop + docker-compose rm + docker network prune + +prepare: + FORCE_REBUILD=1 $(MAKE) + +.PHONY: all build tag push clean prepare release $(addprefix build_,$(JITSI_SERVICES)) diff --git a/jitsi/README.md b/jitsi/README.md new file mode 100644 index 00000000..4768e06f --- /dev/null +++ b/jitsi/README.md @@ -0,0 +1,39 @@ +# Jitsi Meet on Docker + +![](resources/jitsi-docker.png) + +[Jitsi](https://jitsi.org/) is a set of Open Source projects that allows you to easily build and deploy secure videoconferencing solutions. + +[Jitsi Meet](https://jitsi.org/jitsi-meet/) is a fully encrypted, 100% Open Source video conferencing solution that you can use all day, every day, for free — with no account needed. + +This repository contains the necessary tools to run a Jitsi Meet stack on [Docker](https://www.docker.com) using [Docker Compose](https://docs.docker.com/compose/). + +All our images are published on [DockerHub](https://hub.docker.com/u/jitsi/). + +## Supported architectures + +Starting with `stable-7439` the published images are available for `amd64` and `arm64`. + +## Tags + +These are the currently published tags for all our images: + +Tag | Description +-- | -- +`stable` | Points to the latest stable release +`stable-NNNN-X` | A stable release +`unstable` | Points to the latest unstable release +`unstable-YYYY-MM-DD` | Daily unstable release +`latest` | Deprecated, no longer updated (will be removed) + +## Installation + +The installation manual is available [here](https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-docker). + +### Kubernetes + +If you plan to install the jitsi-meet stack on a Kubernetes cluster you can find tools and tutorials in the project [Jitsi on Kubernetes](https://github.com/jitsi-contrib/jitsi-kubernetes). + +## TODO + +* Builtin TURN server. diff --git a/jitsi/base-java/Dockerfile b/jitsi/base-java/Dockerfile new file mode 100644 index 00000000..9bd9389a --- /dev/null +++ b/jitsi/base-java/Dockerfile @@ -0,0 +1,13 @@ +ARG JITSI_REPO=jitsi +ARG BASE_TAG=latest +FROM ${JITSI_REPO}/base:${BASE_TAG} + +RUN mkdir -p /usr/share/man/man1 && \ + mkdir -p /etc/apt/keyrings/ && \ + apt-dpkg-wrap apt-get update && \ + apt-dpkg-wrap apt-get install -y unzip ca-certificates curl gnupg && \ + curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \ + echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list && \ + apt-dpkg-wrap apt-get update && \ + apt-dpkg-wrap apt-get install -y nodejs openjdk-17-jre-headless openjdk-17-jdk-headless && \ + apt-cleanup diff --git a/jitsi/base/Dockerfile b/jitsi/base/Dockerfile new file mode 100644 index 00000000..d862ab5c --- /dev/null +++ b/jitsi/base/Dockerfile @@ -0,0 +1,40 @@ +FROM docker.io/library/debian:bookworm-slim + +ARG JITSI_RELEASE=stable +ENV S6_BEHAVIOUR_IF_STAGE2_FAILS=2 + +COPY rootfs / + +RUN \ + dpkgArch="$(dpkg --print-architecture)" && \ + case "${dpkgArch##*-}" in \ + "amd64") TPL_ARCH=amd64; S6_ARCH=amd64 ;; \ + "arm64") TPL_ARCH=arm64; S6_ARCH=aarch64 ;; \ + *) echo "unsupported architecture"; exit 1 ;; \ + esac && \ + apt-dpkg-wrap apt-get update && \ + apt-dpkg-wrap apt-get install -y apt-transport-https apt-utils ca-certificates gnupg wget curl && \ + wget -qO /usr/bin/tpl https://github.com/jitsi/tpl/releases/download/v1.4.0/tpl-linux-${TPL_ARCH} && \ + # Workaround S6 bug when /bin is a symlink + wget -qO /tmp/s6.tar.gz https://github.com/just-containers/s6-overlay/releases/download/v1.22.1.0/s6-overlay-${S6_ARCH}.tar.gz && \ + mkdir /tmp/s6 && \ + tar xfz /tmp/s6.tar.gz -C /tmp/s6 && \ + tar hxfz /tmp/s6.tar.gz -C / && \ + rm -f /usr/bin/execlineb && \ + cp /tmp/s6/bin/execlineb /usr/bin/ && \ + rm -rf /tmp/s6* && \ + wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | gpg --dearmour > /etc/apt/trusted.gpg.d/jitsi.gpg && \ + echo "deb https://download.jitsi.org $JITSI_RELEASE/" > /etc/apt/sources.list.d/jitsi.list && \ + echo "deb http://ftp.debian.org/debian bookworm-backports main" > /etc/apt/sources.list.d/backports.list && \ + apt-dpkg-wrap apt-get update && \ + apt-dpkg-wrap apt-get dist-upgrade -y && \ + apt-cleanup && \ + chmod +x /usr/bin/tpl + +RUN [ "$JITSI_RELEASE" = "unstable" ] && \ + apt-dpkg-wrap apt-get update && \ + apt-dpkg-wrap apt-get install -y jq procps curl vim iputils-ping net-tools && \ + apt-cleanup || \ + true + +ENTRYPOINT [ "/init" ] diff --git a/jitsi/base/rootfs/etc/apt/apt.conf.d/99local b/jitsi/base/rootfs/etc/apt/apt.conf.d/99local new file mode 100644 index 00000000..a2fba330 --- /dev/null +++ b/jitsi/base/rootfs/etc/apt/apt.conf.d/99local @@ -0,0 +1,2 @@ +APT::Install-Recommends "false"; +APT::Install-Suggests "false"; diff --git a/config/jellyfin/log/.jellyfin-log b/jitsi/base/rootfs/etc/cont-finish.d/.gitkeep similarity index 100% rename from config/jellyfin/log/.jellyfin-log rename to jitsi/base/rootfs/etc/cont-finish.d/.gitkeep diff --git a/mariadb/config/databases/multi-master.info b/jitsi/base/rootfs/etc/cont-init.d/.gitkeep similarity index 100% rename from mariadb/config/databases/multi-master.info rename to jitsi/base/rootfs/etc/cont-init.d/.gitkeep diff --git a/jitsi/base/rootfs/etc/cont-init.d/01-set-timezone b/jitsi/base/rootfs/etc/cont-init.d/01-set-timezone new file mode 100644 index 00000000..71e6dec4 --- /dev/null +++ b/jitsi/base/rootfs/etc/cont-init.d/01-set-timezone @@ -0,0 +1,10 @@ +#!/usr/bin/with-contenv bash + +if [[ ! -z "$TZ" ]]; then + if [[ -f /usr/share/zoneinfo/$TZ ]]; then + ln -sf /usr/share/zoneinfo/$TZ /etc/localtime + echo "$TZ" > /etc/timezone + else + echo "WARNING: $TZ is not a valid time zone." + fi +fi diff --git a/mariadb/config/databases/mysql/general_log.CSV b/jitsi/base/rootfs/etc/fix-attrs.d/.gitkeep similarity index 100% rename from mariadb/config/databases/mysql/general_log.CSV rename to jitsi/base/rootfs/etc/fix-attrs.d/.gitkeep diff --git a/mariadb/config/databases/mysql/slow_log.CSV b/jitsi/base/rootfs/etc/services.d/.gitkeep similarity index 100% rename from mariadb/config/databases/mysql/slow_log.CSV rename to jitsi/base/rootfs/etc/services.d/.gitkeep diff --git a/jitsi/base/rootfs/usr/bin/apt-cleanup b/jitsi/base/rootfs/usr/bin/apt-cleanup new file mode 100755 index 00000000..1d3d61b5 --- /dev/null +++ b/jitsi/base/rootfs/usr/bin/apt-cleanup @@ -0,0 +1,3 @@ +#!/bin/sh + +rm -rf /var/lib/apt/lists/ diff --git a/jitsi/base/rootfs/usr/bin/apt-dpkg-wrap b/jitsi/base/rootfs/usr/bin/apt-dpkg-wrap new file mode 100755 index 00000000..84ab0e27 --- /dev/null +++ b/jitsi/base/rootfs/usr/bin/apt-dpkg-wrap @@ -0,0 +1,8 @@ +#!/bin/sh + +export LC_ALL=C +export DEBIAN_FRONTEND=noninteractive + +bin=$1 +shift +exec "$bin" "$@" diff --git a/jitsi/config/jitsi-meet-cfg/jibri/recordings/de5a80fe-e70e-496a-b9ee-b6277187488e/metadata.json b/jitsi/config/jitsi-meet-cfg/jibri/recordings/de5a80fe-e70e-496a-b9ee-b6277187488e/metadata.json new file mode 100644 index 00000000..010a5323 --- /dev/null +++ b/jitsi/config/jitsi-meet-cfg/jibri/recordings/de5a80fe-e70e-496a-b9ee-b6277187488e/metadata.json @@ -0,0 +1 @@ +{"meeting_url":"https://jitsi.athaliapps.xyz//waaa","participants":[],"share":true} \ No newline at end of file diff --git a/jitsi/config/jitsi-meet-cfg/jibri/recordings/de5a80fe-e70e-496a-b9ee-b6277187488e/waaa_2026-01-16-18-53-13.mp4 b/jitsi/config/jitsi-meet-cfg/jibri/recordings/de5a80fe-e70e-496a-b9ee-b6277187488e/waaa_2026-01-16-18-53-13.mp4 new file mode 100644 index 00000000..64cdd1ec Binary files /dev/null and b/jitsi/config/jitsi-meet-cfg/jibri/recordings/de5a80fe-e70e-496a-b9ee-b6277187488e/waaa_2026-01-16-18-53-13.mp4 differ diff --git a/jitsi/config/jitsi-meet-cfg/jicofo/jicofo.conf b/jitsi/config/jitsi-meet-cfg/jicofo/jicofo.conf new file mode 100644 index 00000000..66fd47a1 --- /dev/null +++ b/jitsi/config/jitsi-meet-cfg/jicofo/jicofo.conf @@ -0,0 +1,132 @@ + + + + + +jicofo { + + + // Configuration related to jitsi-videobridge + bridge { + + + + + + + + + + + + + + + + + brewery-jid = "jvbbrewery@internal-muc.meet.jitsi" + + + + } + // Configure the codecs and RTP extensions to be used in the offer sent to clients. + codec { + video { + + + + + } + audio { + + } + rtp-extensions { + video-layers-allocation { + enabled = false + } + } + } + + conference { + + + + + + + max-ssrcs-per-user = "20" + + max-ssrc-groups-per-user = "20" + + + + + + + + + + + + + + + + + + + } + + + + + jibri { + brewery-jid = "jibribrewery@internal-muc.meet.jitsi" + + pending-timeout = "90" + } + + + + + + + + + octo { + // Whether or not to use Octo. Note that when enabled, its use will be determined by + // $jicofo.bridge.selection-strategy. There's a corresponding flag in the JVB and these + // two MUST be in sync (otherwise bridges will crash because they won't know how to + // deal with octo channels). + enabled = false + sctp-datachannels = true + } + + + + sctp { + enabled = true + } + + xmpp { + + client { + enabled = true + hostname = "xmpp.meet.jitsi" + port = "5222" + domain = "auth.meet.jitsi" + xmpp-domain = "meet.jitsi" + username = "focus" + password = "94ff7046987877b99cbf8b1e15aa4c84" + conference-muc-jid = "muc.meet.jitsi" + client-proxy = "focus.meet.jitsi" + disable-certificate-verification = true + } + + + trusted-domains = [ "hidden.meet.jitsi" ] + + } +} + +include "custom-jicofo.conf" diff --git a/jitsi/config/jitsi-meet-cfg/jicofo/logging.properties b/jitsi/config/jitsi-meet-cfg/jicofo/logging.properties new file mode 100644 index 00000000..ca0fefea --- /dev/null +++ b/jitsi/config/jitsi-meet-cfg/jicofo/logging.properties @@ -0,0 +1,13 @@ + +handlers= java.util.logging.ConsoleHandler + + +java.util.logging.ConsoleHandler.level = ALL +java.util.logging.ConsoleHandler.formatter = org.jitsi.utils.logging2.JitsiLogFormatter +org.jitsi.utils.logging2.JitsiLogFormatter.programname=Jicofo + +.level=INFO +io.sentry.jul.SentryHandler.level=WARNING + +# Enable debug packets logging +#org.jitsi.impl.protocol.xmpp.level=FINE diff --git a/jitsi/config/jitsi-meet-cfg/jvb/jvb.conf b/jitsi/config/jitsi-meet-cfg/jvb/jvb.conf new file mode 100644 index 00000000..7070da29 --- /dev/null +++ b/jitsi/config/jitsi-meet-cfg/jvb/jvb.conf @@ -0,0 +1,93 @@ + + +videobridge { + cc { + use-vla-target-bitrate = false + trust-bwe = true + } + ice { + udp { + port = 10000 + } + advertise-private-candidates = true + } + apis { +xmpp-client { + configs { + + + shard0 { + HOSTNAME = "xmpp.meet.jitsi" + PORT = "5222" + DOMAIN = "auth.meet.jitsi" + USERNAME = "jvb" + PASSWORD = "44d9e2703b1f2a09f518e88adb2bff5b" + MUC_JIDS = "jvbbrewery@internal-muc.meet.jitsi" + MUC_NICKNAME = "4e7d9023d072" + DISABLE_CERTIFICATE_VERIFICATION = true + } +} + } +rest { + enabled = false + } + } + rest { + shutdown { + enabled = false + } + } + sctp { + enabled = true + use-usrsctp = false + } + stats { + enabled = true + } + websockets { + enabled = false + domain = "jitsi.athaliapps.xyz" + tls = true + server-id = "172.21.0.5" + } + http-servers { + private { + host = 0.0.0.0 + send-server-version = false + } + public { + host = 0.0.0.0 + port = 9090 + send-server-version = false + } + } + health { + require-valid-address = false + } + + } + +jmt { + bwe { + estimator { + engine = "GoogleCc2" + } + } +} + +ice4j { + harvest { + mapping { + aws { + enabled = false + } + stun { +addresses = [ "meet-jit-si-turnrelay.jitsi.net:443" ] +} + static-mappings = [ +] + } + } +} + +include "custom-jvb.conf" diff --git a/jitsi/config/jitsi-meet-cfg/jvb/logging.properties b/jitsi/config/jitsi-meet-cfg/jvb/logging.properties new file mode 100644 index 00000000..670b28d5 --- /dev/null +++ b/jitsi/config/jitsi-meet-cfg/jvb/logging.properties @@ -0,0 +1,10 @@ + +handlers= java.util.logging.ConsoleHandler + + +java.util.logging.ConsoleHandler.level = ALL +java.util.logging.ConsoleHandler.formatter = org.jitsi.utils.logging2.JitsiLogFormatter +org.jitsi.utils.logging2.JitsiLogFormatter.programname=JVB + +.level=INFO +io.sentry.jul.SentryHandler.level=WARNING diff --git a/jitsi/config/jitsi-meet-cfg/prosody/config/certs/auth.meet.jitsi.crt b/jitsi/config/jitsi-meet-cfg/prosody/config/certs/auth.meet.jitsi.crt new file mode 100644 index 00000000..456e9e6f --- /dev/null +++ b/jitsi/config/jitsi-meet-cfg/prosody/config/certs/auth.meet.jitsi.crt @@ -0,0 +1,27 @@ +-----BEGIN CERTIFICATE----- +MIIEiTCCA3GgAwIBAgIUROLDqMTQcjv4ed46Vwnn5GwdMNAwDQYJKoZIhvcNAQEL +BQAwgZkxCzAJBgNVBAYTAkdCMRUwEwYDVQQHDAxUaGUgSW50ZXJuZXQxGjAYBgNV +BAoMEVlvdXIgT3JnYW5pc2F0aW9uMRgwFgYDVQQLDA9YTVBQIERlcGFydG1lbnQx +GDAWBgNVBAMMD2F1dGgubWVldC5qaXRzaTEjMCEGCSqGSIb3DQEJARYUeG1wcEBh +dXRoLm1lZXQuaml0c2kwHhcNMjYwMTE2MTc1NjQxWhcNMjcwMTE2MTc1NjQxWjCB +mTELMAkGA1UEBhMCR0IxFTATBgNVBAcMDFRoZSBJbnRlcm5ldDEaMBgGA1UECgwR +WW91ciBPcmdhbmlzYXRpb24xGDAWBgNVBAsMD1hNUFAgRGVwYXJ0bWVudDEYMBYG +A1UEAwwPYXV0aC5tZWV0LmppdHNpMSMwIQYJKoZIhvcNAQkBFhR4bXBwQGF1dGgu +bWVldC5qaXRzaTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ6l2BBG +35BzAnR1Zlu+CFkLDd4P6mrMCWUQ0zQwNvbjGD664BkwmuyxNmCIL/Gn/kOJa9tx +4hcIdMOj3gUJtVcfhiLwum8+ZrsPbzu2jusZ7Ot1kHnURXaQh5bw3rKIWEpU5IdH +PWn58Q/CBQFhHITbw6bQc5eGEis3wmNSYqtd4TL8a1J5GgLlspK/7QBoBatlpu+P +IttNbNTTtWhdOfdKPGRPNj8SYRNga+aefK7Pkz5Wx4l8ypeguUvZTWSJxJetScH/ +xRR9n/DUnDrh9AGiyTy/fWJH8++o51s4J/LpKObv+tvp/4+2ilqu2IHwx61n4+Fn +hljIF6IoD0inmpMCAwEAAaOBxjCBwzCBkwYDVR0RBIGLMIGIoCoGCCsGAQUFBwgH +oB4WHF94bXBwLWNsaWVudC5hdXRoLm1lZXQuaml0c2mgKgYIKwYBBQUHCAegHhYc +X3htcHAtc2VydmVyLmF1dGgubWVldC5qaXRzaaAdBggrBgEFBQcIBaARDA9hdXRo +Lm1lZXQuaml0c2mCD2F1dGgubWVldC5qaXRzaTAMBgNVHRMEBTADAQH/MB0GA1Ud +DgQWBBS/u1DPLBur9ylkND3heEIhbtYVxjANBgkqhkiG9w0BAQsFAAOCAQEAAbc/ +5aVW0PRJ7pj3UHagTarQqKXbcUucj/b4jJiEZqAygECG5GLWJ7orhHr/uUWLXXuH +Ii7yfAiI9gfakAIzqO+B+B6W2/cK/WYOtKLzbhNDaqLkwroW/akxdVlIWau1XBPq +wQuk/8WoaNO+/62bkA5txVVMBG2Pd3XbI/SU0g0xUIjYuUFry+EZ1BIPDzXSqe32 +a4vK4jhKWJt51D9trUeqHuCsRxuY5mmcyPXu3L0wPsYPARqUCuH4c1CJ2pCwtnzY +3pHndxtAmvt97W08fJbmwvH3CrS4n9lUm4R1umt7nvvv3X8Uy+r1J57k1ZF+dTX0 +CB9fzc3S2lLKZz4hxg== +-----END CERTIFICATE----- diff --git a/jitsi/config/jitsi-meet-cfg/prosody/config/certs/auth.meet.jitsi.key b/jitsi/config/jitsi-meet-cfg/prosody/config/certs/auth.meet.jitsi.key new file mode 100644 index 00000000..6f6df559 --- /dev/null +++ b/jitsi/config/jitsi-meet-cfg/prosody/config/certs/auth.meet.jitsi.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCepdgQRt+QcwJ0 +dWZbvghZCw3eD+pqzAllENM0MDb24xg+uuAZMJrssTZgiC/xp/5DiWvbceIXCHTD +o94FCbVXH4Yi8LpvPma7D287to7rGezrdZB51EV2kIeW8N6yiFhKVOSHRz1p+fEP +wgUBYRyE28Om0HOXhhIrN8JjUmKrXeEy/GtSeRoC5bKSv+0AaAWrZabvjyLbTWzU +07VoXTn3SjxkTzY/EmETYGvmnnyuz5M+VseJfMqXoLlL2U1kicSXrUnB/8UUfZ/w +1Jw64fQBosk8v31iR/PvqOdbOCfy6Sjm7/rb6f+PtopartiB8MetZ+PhZ4ZYyBei +KA9Ip5qTAgMBAAECggEAHyNP4An5EUHxhmgQegs3Wjq4MxCOov1/Do4Z1hFsiFKU +TKOjHm6SycgScynntxeQ6TKMr9qPVJP9TvTXu8dnBz2Rt0PmY7UstqRV4bN4I57I +CILfo3nNVHMTmcWXABWQtq4o2IBcBnPfI4eiMd4cmdsEcLZTKbdP05mzFolyAk4w +rB8QTh3zb/AHbWvE/av4BltL+njHaA2eyuYFpBeg0GrloUnevu2WsXJJ+ecS9zr5 +vzY+DS2LadmBq4A6Yzt7iaBHVSGR/uAgkd+u+MQmbkW5wD/Znq0bOAo/G+dYWXGb +LRUa8mS/nXJuDlio3RyskRL2H42fSiRjGkppmYNZeQKBgQDJjluquTTLHcCbmMXM +yuJ9kDCrXCtEekQr3Z66WXUClpc1mhWiTupLQfja+TgJKwszqZFukfdvJ6KuwlT7 +1p+6bHfH6eZC9bfJDYZBEimdRifB3wupB1zG52fyQ4TkJjG6YyI0y+4+/Tsy+6Rn +ax2gFixiPWCcxn9GPDRvOHZHXQKBgQDJgF8ljuSMZQaxKyatpOTtnsDJtLDpcqs4 +PPy6Dk3/SvjXie5tVQiMS04QLV1HbPXj3cWUw5/a3MdM2cORyfsuEeWzaXdS8Yhz +4A6Xz8FpA5ALfHqdHdMn/n4S19hv08NC1giQUSYVbj1Bvf/FI9mW41PNiXFkNmc0 +GVGLkMz6rwKBgQC7lydx6hZcxUAykSnnxRyvyLfDhXEvtqwkN4w33HKvCgGJ/fMM +sW4WxTwccb/ZqJowZy3YPzqP1c/v3ybBjav0EmgZRHTu9UsscM33WjQpENaH9lQf +6Z5L8awpKvZQccvusb1wbi07quyiMtt89ZEJIhoFBSMaRxTGBdq3eVF8cQKBgG9M +V8GgDr85Yhvj8MZC6SwS3vvKsVkQvGAg15tRIWXcnFw5VJfROxp60dB/riEwnxTQ +vzyvXRF/lxnswmg5f2LwAcc6fu0yeiM+4/CYkYUWsa6WgAdenO5fVHXGAUerWRQG +ss479GQr8uvoLWlPpvT/9Z72xsoKfrC5N2B2h7IDAoGAJY114ZODRPa+5zdb7w5g +OxHZgBKaqrhCJEa6V8XD9gPiwpN+zKj30y0qFlZQyoGnc06FaD3oTo3SnqofS9VT +IxRhfhoE0ALFMF5Fgu1KxVVAFELnjkocX9rFs0CPv9t+QaWvI2v6N/IjlKT5ps0e +L49rnKVKmCBxRAQhQkX5YMk= +-----END PRIVATE KEY----- diff --git a/jitsi/config/jitsi-meet-cfg/prosody/config/certs/meet.jitsi.crt b/jitsi/config/jitsi-meet-cfg/prosody/config/certs/meet.jitsi.crt new file mode 100644 index 00000000..e5697c16 --- /dev/null +++ b/jitsi/config/jitsi-meet-cfg/prosody/config/certs/meet.jitsi.crt @@ -0,0 +1,51 @@ +-----BEGIN CERTIFICATE----- +MIIJBzCCB++gAwIBAgIUH+KYpsT4hdVdVRHyRjdOC3nuuNYwDQYJKoZIhvcNAQEL +BQAwgY8xCzAJBgNVBAYTAkdCMRUwEwYDVQQHDAxUaGUgSW50ZXJuZXQxGjAYBgNV +BAoMEVlvdXIgT3JnYW5pc2F0aW9uMRgwFgYDVQQLDA9YTVBQIERlcGFydG1lbnQx +EzARBgNVBAMMCm1lZXQuaml0c2kxHjAcBgkqhkiG9w0BCQEWD3htcHBAbWVldC5q +aXRzaTAeFw0yNjAxMTYxNzU2NDFaFw0yNzAxMTYxNzU2NDFaMIGPMQswCQYDVQQG +EwJHQjEVMBMGA1UEBwwMVGhlIEludGVybmV0MRowGAYDVQQKDBFZb3VyIE9yZ2Fu +aXNhdGlvbjEYMBYGA1UECwwPWE1QUCBEZXBhcnRtZW50MRMwEQYDVQQDDAptZWV0 +LmppdHNpMR4wHAYJKoZIhvcNAQkBFg94bXBwQG1lZXQuaml0c2kwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIX2+FTCLVn10kfWdfsakC9zBrJf6+1URz +N8t3kpnx86tOBxbmm516JB30AfvvxP/nPY5fMw8m6MXN/D/PJKHXmS2qOPVlueyc +HxXR9yFZ4eeFYO8UxnDpvNnyadY0velt5vqmc2qT+icXevfTJHkFiL2zmk+SR0sM +LqxcamagtsoreYhqWfwoJaP0VLSGqz6Ox7BJ9OEc0+h9LgXb/B5G4zku8Qkvi1/6 +ml45WMvrf1kqr7+WQJ6nG0QmrtOH3AhNrOFIhRk5ObQkRV5cIxZRt8aC4P71Bi6O +rKz0FmQIIpv7lvoO6d0Y0vAF2ISBQ//LHvVVa/v6WzI+jOOArU6XAgMBAAGjggVX +MIIFUzAMBgNVHRMEBTADAQH/MIIFIgYDVR0RBIIFGTCCBRWgKgYIKwYBBQUHCAeg +HhYcX3htcHAtY2xpZW50LmF1dGgubWVldC5qaXRzaaAqBggrBgEFBQcIB6AeFhxf +eG1wcC1zZXJ2ZXIuYXV0aC5tZWV0LmppdHNpoB0GCCsGAQUFBwgFoBEMD2F1dGgu +bWVldC5qaXRzaaArBggrBgEFBQcIB6AfFh1feG1wcC1zZXJ2ZXIucG9sbHMubWVl +dC5qaXRzaaAeBggrBgEFBQcIBaASDBBwb2xscy5tZWV0LmppdHNpoDIGCCsGAQUF +BwgHoCYWJF94bXBwLXNlcnZlci5hdm1vZGVyYXRpb24ubWVldC5qaXRzaaAlBggr +BgEFBQcIBaAZDBdhdm1vZGVyYXRpb24ubWVldC5qaXRzaaApBggrBgEFBQcIB6Ad +FhtfeG1wcC1zZXJ2ZXIubXVjLm1lZXQuaml0c2mgHAYIKwYBBQUHCAWgEAwObXVj +Lm1lZXQuaml0c2mgLgYIKwYBBQUHCAegIhYgX3htcHAtc2VydmVyLmJyZWFrb3V0 +Lm1lZXQuaml0c2mgIQYIKwYBBQUHCAWgFQwTYnJlYWtvdXQubWVldC5qaXRzaaAy +BggrBgEFBQcIB6AmFiRfeG1wcC1zZXJ2ZXIuaW50ZXJuYWwtbXVjLm1lZXQuaml0 +c2mgJQYIKwYBBQUHCAWgGQwXaW50ZXJuYWwtbXVjLm1lZXQuaml0c2mgLgYIKwYB +BQUHCAegIhYgX3htcHAtc2VydmVyLm1ldGFkYXRhLm1lZXQuaml0c2mgIQYIKwYB +BQUHCAWgFQwTbWV0YWRhdGEubWVldC5qaXRzaaAyBggrBgEFBQcIB6AmFiRfeG1w +cC1zZXJ2ZXIuc3BlYWtlcnN0YXRzLm1lZXQuaml0c2mgJQYIKwYBBQUHCAWgGQwX +c3BlYWtlcnN0YXRzLm1lZXQuaml0c2mgJQYIKwYBBQUHCAegGRYXX3htcHAtY2xp +ZW50Lm1lZXQuaml0c2mgJQYIKwYBBQUHCAegGRYXX3htcHAtc2VydmVyLm1lZXQu +aml0c2mgGAYIKwYBBQUHCAWgDAwKbWVldC5qaXRzaaAzBggrBgEFBQcIB6AnFiVf +eG1wcC1zZXJ2ZXIuZW5kY29uZmVyZW5jZS5tZWV0LmppdHNpoCYGCCsGAQUFBwgF +oBoMGGVuZGNvbmZlcmVuY2UubWVldC5qaXRzaaArBggrBgEFBQcIB6AfFh1feG1w +cC1zZXJ2ZXIubG9iYnkubWVldC5qaXRzaaAeBggrBgEFBQcIBaASDBBsb2JieS5t +ZWV0LmppdHNpoCsGCCsGAQUFBwgHoB8WHV94bXBwLXNlcnZlci5mb2N1cy5tZWV0 +LmppdHNpoB4GCCsGAQUFBwgFoBIMEGZvY3VzLm1lZXQuaml0c2mCD2F1dGgubWVl +dC5qaXRzaYIQcG9sbHMubWVldC5qaXRzaYIXYXZtb2RlcmF0aW9uLm1lZXQuaml0 +c2mCDm11Yy5tZWV0LmppdHNpghNicmVha291dC5tZWV0LmppdHNpghdpbnRlcm5h +bC1tdWMubWVldC5qaXRzaYITbWV0YWRhdGEubWVldC5qaXRzaYIXc3BlYWtlcnN0 +YXRzLm1lZXQuaml0c2mCCm1lZXQuaml0c2mCGGVuZGNvbmZlcmVuY2UubWVldC5q +aXRzaYIQbG9iYnkubWVldC5qaXRzaYIQZm9jdXMubWVldC5qaXRzaTAdBgNVHQ4E +FgQUfUndA7nZG7ipv25FeT9o+RKo/FMwDQYJKoZIhvcNAQELBQADggEBAE7OyO81 +OfRw2yhp3bTCpsakv8TP6HG4vSfui4iDQgAuyY6/OhX9IFNLcgLLkQNChKH4jI6L +naCeM0sI4q3LqJnE1UUVngn2ov+dyY4A9+CEPXBRVgN5XRBnQXsFNL39q6+fucXR +OOjQpvakhRQKB64GWgt/vlZxoEuofsnmPc20zhpktJL3NDTsXRPjVoHQlHalaDTk +uh9MgU/MOP/wMzCHAq2L4aWetMxgirrtFqBgL2MEtSRBcqu2gIARnejywfmPgG7x +tSwtHL//FyT6fS+TG0fB7mxIDCVdJkMScdIvFvPa39DqZb+l4g3VL5DS+ctbQHlX +L+xdHJuEssWajAU= +-----END CERTIFICATE----- diff --git a/jitsi/config/jitsi-meet-cfg/prosody/config/certs/meet.jitsi.key b/jitsi/config/jitsi-meet-cfg/prosody/config/certs/meet.jitsi.key new file mode 100644 index 00000000..55a8301b --- /dev/null +++ b/jitsi/config/jitsi-meet-cfg/prosody/config/certs/meet.jitsi.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDIX2+FTCLVn10k +fWdfsakC9zBrJf6+1URzN8t3kpnx86tOBxbmm516JB30AfvvxP/nPY5fMw8m6MXN +/D/PJKHXmS2qOPVlueycHxXR9yFZ4eeFYO8UxnDpvNnyadY0velt5vqmc2qT+icX +evfTJHkFiL2zmk+SR0sMLqxcamagtsoreYhqWfwoJaP0VLSGqz6Ox7BJ9OEc0+h9 +LgXb/B5G4zku8Qkvi1/6ml45WMvrf1kqr7+WQJ6nG0QmrtOH3AhNrOFIhRk5ObQk +RV5cIxZRt8aC4P71Bi6OrKz0FmQIIpv7lvoO6d0Y0vAF2ISBQ//LHvVVa/v6WzI+ +jOOArU6XAgMBAAECggEAE27ODgt4RWeTTPqsj+dXEOaQV5PzxOZCITqEDTC2pXSQ +ZJzjZ7In77SZAxU+Ld7ZQsABktIM4iUpKfUQ6zIOUC6W8y9a/Wauv+Vz5E0neuQh +5Bmmlkk4ojKioJQLJkpU3UfNf18qMvfL2sceSef7pMHCRCzvEqy/ZosQRFY9ZdCo +h620izh2xkPFYkaLJY+Q3EUmXC+CLstu6dsYrdHUJi9eR1ok0UfBI3rM7D2F1JQ1 +lwi5vXaQLFIosFRLNBs13rv0RvFKFBDuztLpt+F+HWlOXtkWNxuNQu8VM8y6KnMA ++saXTdh5eWHMUnBV7aO7mA7Ae7D7UU+EE0AmT2tawQKBgQDtiXWcERyI0ZBlqokg +G5vLEzJmLyAIVnOjCEyLWnGXsT/9jyo7WGfsNId5DLk76kR9x9UKEOtmLTC/usz7 +u/ainOCAil7DF49ksX5LPusn0kjuAnDyranK0aSAWcgwR2V5s9CiS3NPtKEe583W +JSPzR8+x3A66DFZ/BSbna3OziQKBgQDX8nqmjTy5yx9TohXLB4w2RLnBRUngalGK +rlCzqY5QIS0fUhsOd71fqobgYTT8qvSG1cq6bVDOB2+NLp8pyLzhLozHvCdDEPMt +JGj3SoWBT5t7NtVXghgQqvlYyo9fH77EmuxxCjLA3vznqbIOn2a5tklH4v3r95IY +xY2N5xTJHwKBgCujfT/WxO890NFcqySC7fQ46qFrNu9RMp1ZAPb4/rVnkuH6Uz/j +1fPHErxiYgVn3H1fIPxgb16uHq6amt4EgiMNvxDeWtpskaNmGFWqkXkXYN6ZBDcR +QIhKS3ZpCCYWd8YMCuBGDEEwZglPfLlCyYAASV/blbkIWzuqrqMFUpRBAoGABYXB +9ThvcSDssCrY+9Q5lbm0NmkbNo4Bf9ZtYerYJNx0VvS2lGwjf6rQwDQ8Mqn8juYw +xQu+oUY3aBjlISBtFCUonIMHTgPE9EaWGJzjRSdQBpqkYhSFoQd+UPL9L6WUL1r2 +6P0lxyDsvs/sKcuRyPYMcbYwYDR4nAGRWSursGkCgYBY2H1C7vH2v7d1pTdL8L78 +IJw3xrD2o8MoG8SXpQeer8Edk335Y07TEJaPXsDIk84gyKselD284hSQyRQiv+A6 +yfrwS+4gIKA/4n68k3fX1bnOF1pxFWINQmHwtDfBLiMCZ+Tz2V6/XBqzymO1HxQB +SLBrJopVWCn09lh32GqoQw== +-----END PRIVATE KEY----- diff --git a/jitsi/config/jitsi-meet-cfg/prosody/config/conf.d/jitsi-meet.cfg.lua b/jitsi/config/jitsi-meet-cfg/prosody/config/conf.d/jitsi-meet.cfg.lua new file mode 100644 index 00000000..e330e9ba --- /dev/null +++ b/jitsi/config/jitsi-meet-cfg/prosody/config/conf.d/jitsi-meet.cfg.lua @@ -0,0 +1,210 @@ +admins = { + + "jigasi@auth.meet.jitsi", + + + + "jibri@auth.meet.jitsi", + + + "focus@auth.meet.jitsi", + "jvb@auth.meet.jitsi" +} + +unlimited_jids = { + "focus@auth.meet.jitsi", + "jvb@auth.meet.jitsi" +} + +plugin_paths = { "/prosody-plugins-custom", "/prosody-plugins/", "/prosody-plugins-contrib" } + +muc_mapper_domain_base = "meet.jitsi"; +muc_mapper_domain_prefix = "muc"; + +recorder_prefixes = { "jibricorder@hidden.meet.jitsi" }; + +transcriber_prefixes = { "transcriber@hidden.meet.jitsi" }; + +http_default_host = "meet.jitsi" + + + + + + + +consider_bosh_secure = true; +consider_websocket_secure = true; + + +smacks_max_unacked_stanzas = 5; +smacks_hibernation_time = 60; +smacks_max_old_sessions = 1; + + + + +VirtualHost "meet.jitsi" + + authentication = "jitsi-anonymous" + + ssl = { + key = "/config/certs/meet.jitsi.key"; + certificate = "/config/certs/meet.jitsi.crt"; + } + modules_enabled = { + "bosh"; + "features_identity"; + + "websocket"; + "smacks"; -- XEP-0198: Stream Management + + "conference_duration"; + + "muc_lobby_rooms"; + + + "muc_breakout_rooms"; + + + + + + + } + + main_muc = "muc.meet.jitsi" + + lobby_muc = "lobby.meet.jitsi" + + muc_lobby_whitelist = { "hidden.meet.jitsi" } + + + + + + + breakout_rooms_muc = "breakout.meet.jitsi" + + + c2s_require_encryption = true + + + + + +VirtualHost "auth.meet.jitsi" + ssl = { + key = "/config/certs/auth.meet.jitsi.key"; + certificate = "/config/certs/auth.meet.jitsi.crt"; + } + modules_enabled = { + "limits_exception"; + "smacks"; + } + authentication = "internal_hashed" + smacks_hibernation_time = 15; + + +VirtualHost "hidden.meet.jitsi" + modules_enabled = { + "smacks"; + } + authentication = "internal_hashed" + + +Component "internal-muc.meet.jitsi" "muc" + storage = "memory" + modules_enabled = { + "muc_hide_all"; + "muc_filter_access"; + } + restrict_room_creation = true + muc_filter_whitelist="auth.meet.jitsi" + muc_room_locking = false + muc_room_default_public_jids = true + muc_room_cache_size = 1000 + muc_tombstones = false + muc_room_allow_persistent = false + +Component "muc.meet.jitsi" "muc" + restrict_room_creation = true + storage = "memory" + modules_enabled = { + "muc_hide_all"; + "muc_meeting_id"; + + "muc_domain_mapper"; + + "muc_password_whitelist"; + + } + + -- The size of the cache that saves state for IP addresses + rate_limit_cache_size = 10000; + + muc_room_cache_size = 10000 + muc_room_locking = false + muc_room_default_public_jids = true + + muc_password_whitelist = { + "focus@auth.meet.jitsi"; + "jibricorder@hidden.meet.jitsi"; + } + muc_tombstones = false + muc_room_allow_persistent = false + +Component "focus.meet.jitsi" "client_proxy" + target_address = "focus@auth.meet.jitsi" + +Component "speakerstats.meet.jitsi" "speakerstats_component" + muc_component = "muc.meet.jitsi" + + +Component "endconference.meet.jitsi" "end_conference" + muc_component = "muc.meet.jitsi" + + + +Component "avmoderation.meet.jitsi" "av_moderation_component" + muc_component = "muc.meet.jitsi" + + + +Component "lobby.meet.jitsi" "muc" + storage = "memory" + restrict_room_creation = true + muc_tombstones = false + muc_room_allow_persistent = false + muc_room_cache_size = 10000 + muc_room_locking = false + muc_room_default_public_jids = true + modules_enabled = { + "muc_hide_all"; + } + + + + +Component "breakout.meet.jitsi" "muc" + storage = "memory" + restrict_room_creation = true + muc_room_cache_size = 10000 + muc_room_locking = false + muc_room_default_public_jids = true + muc_tombstones = false + muc_room_allow_persistent = false + modules_enabled = { + "muc_hide_all"; + "muc_meeting_id"; + } + + +Component "metadata.meet.jitsi" "room_metadata_component" + muc_component = "muc.meet.jitsi" + breakout_rooms_component = "breakout.meet.jitsi" + + + + +Component "polls.meet.jitsi" "polls_component" diff --git a/jitsi/config/jitsi-meet-cfg/prosody/config/data/auth%2emeet%2ejitsi/accounts/focus.dat b/jitsi/config/jitsi-meet-cfg/prosody/config/data/auth%2emeet%2ejitsi/accounts/focus.dat new file mode 100644 index 00000000..b849b86f --- /dev/null +++ b/jitsi/config/jitsi-meet-cfg/prosody/config/data/auth%2emeet%2ejitsi/accounts/focus.dat @@ -0,0 +1,8 @@ +return { + ["stored_key"] = "d5f30854172b578423d1f634a0123d458b77aa83"; + ["server_key"] = "4dd8d1597bc8ebd4a4927f4766c3f50b7f15ce5e"; + ["salt"] = "cfa75b87-3310-43e0-96de-3d9cd877c42c"; + ["updated"] = 1771159995; + ["created"] = 1771159995; + ["iteration_count"] = 10000; +}; diff --git a/jitsi/config/jitsi-meet-cfg/prosody/config/data/auth%2emeet%2ejitsi/accounts/jibri.dat b/jitsi/config/jitsi-meet-cfg/prosody/config/data/auth%2emeet%2ejitsi/accounts/jibri.dat new file mode 100644 index 00000000..1b3da3ea --- /dev/null +++ b/jitsi/config/jitsi-meet-cfg/prosody/config/data/auth%2emeet%2ejitsi/accounts/jibri.dat @@ -0,0 +1,8 @@ +return { + ["stored_key"] = "72999fc0d164b80af2aada0e3e010d7159a9b135"; + ["created"] = 1771159996; + ["iteration_count"] = 10000; + ["server_key"] = "5c8b1ecd580e79be5bf0c78288aa2a6facbeb8be"; + ["updated"] = 1771159996; + ["salt"] = "1ab9fcf9-d2c7-45a2-8159-a7b21e64537b"; +}; diff --git a/jitsi/config/jitsi-meet-cfg/prosody/config/data/auth%2emeet%2ejitsi/accounts/jigasi.dat b/jitsi/config/jitsi-meet-cfg/prosody/config/data/auth%2emeet%2ejitsi/accounts/jigasi.dat new file mode 100644 index 00000000..e837a3cb --- /dev/null +++ b/jitsi/config/jitsi-meet-cfg/prosody/config/data/auth%2emeet%2ejitsi/accounts/jigasi.dat @@ -0,0 +1,8 @@ +return { + ["stored_key"] = "6ccd1286118f62e771a6d0b810a5b3816a3cbbc8"; + ["updated"] = 1771159997; + ["salt"] = "22d87674-9ee6-4797-8b68-675238befebc"; + ["iteration_count"] = 10000; + ["server_key"] = "d8a8186ebcac156a5ccd4ea0672ce6ce16b9f572"; + ["created"] = 1771159997; +}; diff --git a/jitsi/config/jitsi-meet-cfg/prosody/config/data/auth%2emeet%2ejitsi/accounts/jvb.dat b/jitsi/config/jitsi-meet-cfg/prosody/config/data/auth%2emeet%2ejitsi/accounts/jvb.dat new file mode 100644 index 00000000..ab623a42 --- /dev/null +++ b/jitsi/config/jitsi-meet-cfg/prosody/config/data/auth%2emeet%2ejitsi/accounts/jvb.dat @@ -0,0 +1,8 @@ +return { + ["iteration_count"] = 10000; + ["server_key"] = "682417cfb5ab08af468c63939c93a77627092f8a"; + ["created"] = 1771159996; + ["stored_key"] = "31c1eaad2c7864fcf687e8a2a598f671b7078bd0"; + ["salt"] = "f21edf85-bab8-4cff-9a25-0bd407c3e8d4"; + ["updated"] = 1771159996; +}; diff --git a/jitsi/config/jitsi-meet-cfg/prosody/config/data/auth%2emeet%2ejitsi/cron.dat b/jitsi/config/jitsi-meet-cfg/prosody/config/data/auth%2emeet%2ejitsi/cron.dat new file mode 100644 index 00000000..df088804 --- /dev/null +++ b/jitsi/config/jitsi-meet-cfg/prosody/config/data/auth%2emeet%2ejitsi/cron.dat @@ -0,0 +1,3 @@ +return { + ["tokenauth/clear_expired_grants"] = 1772304798; +}; diff --git a/jitsi/config/jitsi-meet-cfg/prosody/config/data/auth%2emeet%2ejitsi/roster/focus.dat b/jitsi/config/jitsi-meet-cfg/prosody/config/data/auth%2emeet%2ejitsi/roster/focus.dat new file mode 100644 index 00000000..2ae20c73 --- /dev/null +++ b/jitsi/config/jitsi-meet-cfg/prosody/config/data/auth%2emeet%2ejitsi/roster/focus.dat @@ -0,0 +1,10 @@ +return { + [false] = { + ["version"] = 2; + ["pending"] = {}; + }; + ["focus.meet.jitsi"] = { + ["groups"] = {}; + ["subscription"] = "from"; + }; +}; diff --git a/jitsi/config/jitsi-meet-cfg/prosody/config/data/auth%2emeet%2ejitsi/smacks_h/focus.dat b/jitsi/config/jitsi-meet-cfg/prosody/config/data/auth%2emeet%2ejitsi/smacks_h/focus.dat new file mode 100644 index 00000000..e18d316a --- /dev/null +++ b/jitsi/config/jitsi-meet-cfg/prosody/config/data/auth%2emeet%2ejitsi/smacks_h/focus.dat @@ -0,0 +1,6 @@ +return { + ["29mD6U3eKdAM"] = { + ["h"] = 256283; + ["t"] = 1771150708; + }; +}; diff --git a/jitsi/config/jitsi-meet-cfg/prosody/config/data/auth%2emeet%2ejitsi/smacks_h/jibri.dat b/jitsi/config/jitsi-meet-cfg/prosody/config/data/auth%2emeet%2ejitsi/smacks_h/jibri.dat new file mode 100644 index 00000000..f3fb0eda --- /dev/null +++ b/jitsi/config/jitsi-meet-cfg/prosody/config/data/auth%2emeet%2ejitsi/smacks_h/jibri.dat @@ -0,0 +1,6 @@ +return { + ["q31fs-cxAA87"] = { + ["h"] = 85388; + ["t"] = 1771150708; + }; +}; diff --git a/jitsi/config/jitsi-meet-cfg/prosody/config/data/auth%2emeet%2ejitsi/smacks_h/jvb.dat b/jitsi/config/jitsi-meet-cfg/prosody/config/data/auth%2emeet%2ejitsi/smacks_h/jvb.dat new file mode 100644 index 00000000..09533724 --- /dev/null +++ b/jitsi/config/jitsi-meet-cfg/prosody/config/data/auth%2emeet%2ejitsi/smacks_h/jvb.dat @@ -0,0 +1,6 @@ +return { + ["8GG5iSn1TZ3P"] = { + ["h"] = 768516; + ["t"] = 1771150708; + }; +}; diff --git a/jitsi/config/jitsi-meet-cfg/prosody/config/data/hidden%2emeet%2ejitsi/accounts/jibricorder.dat b/jitsi/config/jitsi-meet-cfg/prosody/config/data/hidden%2emeet%2ejitsi/accounts/jibricorder.dat new file mode 100644 index 00000000..87b8ca9b --- /dev/null +++ b/jitsi/config/jitsi-meet-cfg/prosody/config/data/hidden%2emeet%2ejitsi/accounts/jibricorder.dat @@ -0,0 +1,8 @@ +return { + ["salt"] = "9584f0d8-cb40-46a8-933a-df4e348b7b11"; + ["updated"] = 1771159996; + ["created"] = 1771159996; + ["server_key"] = "f300772638dfe10690cceabd8ca9623880eb4167"; + ["iteration_count"] = 10000; + ["stored_key"] = "c675b6787bd42e88463966582e21244084a2f17a"; +}; diff --git a/jitsi/config/jitsi-meet-cfg/prosody/config/data/hidden%2emeet%2ejitsi/cron.dat b/jitsi/config/jitsi-meet-cfg/prosody/config/data/hidden%2emeet%2ejitsi/cron.dat new file mode 100644 index 00000000..df088804 --- /dev/null +++ b/jitsi/config/jitsi-meet-cfg/prosody/config/data/hidden%2emeet%2ejitsi/cron.dat @@ -0,0 +1,3 @@ +return { + ["tokenauth/clear_expired_grants"] = 1772304798; +}; diff --git a/jitsi/config/jitsi-meet-cfg/prosody/config/data/hidden%2emeet%2ejitsi/smacks_h/jibricorder.dat b/jitsi/config/jitsi-meet-cfg/prosody/config/data/hidden%2emeet%2ejitsi/smacks_h/jibricorder.dat new file mode 100644 index 00000000..1e571fe5 --- /dev/null +++ b/jitsi/config/jitsi-meet-cfg/prosody/config/data/hidden%2emeet%2ejitsi/smacks_h/jibricorder.dat @@ -0,0 +1,6 @@ +return { + ["kQ5j80obn78Z"] = { + ["h"] = 30; + ["t"] = 1768589795; + }; +}; diff --git a/jitsi/config/jitsi-meet-cfg/prosody/config/data/prosody.pid b/jitsi/config/jitsi-meet-cfg/prosody/config/data/prosody.pid new file mode 100644 index 00000000..9ce0f492 --- /dev/null +++ b/jitsi/config/jitsi-meet-cfg/prosody/config/data/prosody.pid @@ -0,0 +1 @@ +241 \ No newline at end of file diff --git a/jitsi/config/jitsi-meet-cfg/prosody/config/prosody.cfg.lua b/jitsi/config/jitsi-meet-cfg/prosody/config/prosody.cfg.lua new file mode 100644 index 00000000..8d957bf4 --- /dev/null +++ b/jitsi/config/jitsi-meet-cfg/prosody/config/prosody.cfg.lua @@ -0,0 +1,220 @@ + + + + +-- Prosody Example Configuration File +-- +-- Information on configuring Prosody can be found on our +-- website at http://prosody.im/doc/configure +-- +-- Tip: You can check that the syntax of this file is correct +-- when you have finished by running: luac -p prosody.cfg.lua +-- If there are any errors, it will let you know what and where +-- they are, otherwise it will keep quiet. +-- +-- The only thing left to do is rename this file to remove the .dist ending, and fill in the +-- blanks. Good luck, and happy Jabbering! + + +---------- Server-wide settings ---------- +-- Settings in this section apply to the whole server and are the default settings +-- for any virtual hosts + +-- This is a (by default, empty) list of accounts that are admins +-- for the server. Note that you must create the accounts separately +-- (see http://prosody.im/doc/creating_accounts for info) +-- Example: admins = { "user1@example.com", "user2@example.net" } +admins = { } + +component_admins_as_room_owners = true + +-- Enable use of libevent for better performance under high load +-- For more information see: http://prosody.im/doc/libevent +--use_libevent = true; + +-- This is the list of modules Prosody will load on startup. +-- It looks for mod_modulename.lua in the plugins folder, so make sure that exists too. +-- Documentation on modules can be found at: http://prosody.im/doc/modules +modules_enabled = { + + -- Generally required + "roster"; -- Allow users to have a roster. Recommended ;) + "saslauth"; -- Authentication for clients and servers. Recommended if you want to log in. + "tls"; -- Add support for secure TLS on c2s/s2s connections + "disco"; -- Service discovery + -- Not essential, but recommended + "private"; -- Private XML storage (for room bookmarks, etc.) + "limits"; -- Enable bandwidth limiting for XMPP connections + + -- These are commented by default as they have a performance impact + --"privacy"; -- Support privacy lists + --"compression"; -- Stream compression (Debian: requires lua-zlib module to work) + + -- Admin interfaces + -- "admin_adhoc"; -- Allows administration via an XMPP client that supports ad-hoc commands + --"admin_telnet"; -- Opens telnet console interface on localhost port 5582 + + -- Nice to have + "version"; -- Replies to server version requests + "ping"; -- Replies to XMPP pings with pongs + -- HTTP modules + --"bosh"; -- Enable BOSH clients, aka "Jabber over HTTP" + --"http_files"; -- Serve static files from a directory over HTTP + + -- Other specific functionality + "posix"; -- POSIX functionality, sends server to background, enables syslog, etc. + --"groups"; -- Shared roster support + --"announce"; -- Send announcement to all online users + --"welcome"; -- Welcome users who register accounts + --"watchregistrations"; -- Alert admins of registrations + --"motd"; -- Send a message to users when they log in + --"legacyauth"; -- Legacy authentication. Only used by some old clients and bots. + "http_health"; + + + +}; + +component_ports = { } +https_ports = { } + +trusted_proxies = { + + "127.0.0.1"; + + "::1"; + +} + +-- These modules are auto-loaded, but should you want +-- to disable them then uncomment them here: +modules_disabled = { + "offline"; -- Store offline messages + "register"; + -- "c2s"; -- Handle client connections + + "s2s"; -- Handle server-to-server connections + }; + +-- Disable account creation by default, for security +-- For more information see http://prosody.im/doc/creating_accounts +allow_registration = false; + +-- Enable rate limits for incoming connections +limits = { + +-- Limit incoming client connections + c2s = { + rate = "10kb/s"; + }; + + +-- Limit incoming server connections + s2sin = { + rate = "30kb/s"; + }; + +} +--Prosody garbage collector settings +--For more information see https://prosody.im/doc/advanced_gc + +gc = { + mode = "incremental"; + threshold = 400; + speed = 250; + step_size = 13; +} + + +pidfile = "/config/data/prosody.pid"; + +-- Force clients to use encrypted connections? This option will +-- prevent clients from authenticating unless they are using encryption. + +c2s_require_encryption = true; + +-- set c2s port +c2s_ports = { 5222 } -- Listen on specific c2s port + +c2s_interfaces = { "*", "::" } + + +-- Force certificate authentication for server-to-server connections? +-- This provides ideal security, but requires servers you communicate +-- with to support encryption AND present valid, trusted certificates. +-- NOTE: Your version of LuaSec must support certificate verification! +-- For more information see http://prosody.im/doc/s2s#security + +s2s_secure_auth = false + +-- Many servers don't support encryption or have invalid or self-signed +-- certificates. You can list domains here that will not be required to +-- authenticate using certificates. They will be authenticated using DNS. + +--s2s_insecure_domains = { "gmail.com" } + +-- Even if you leave s2s_secure_auth disabled, you can still require valid +-- certificates for some domains by specifying a list here. + +--s2s_secure_domains = { "jabber.org" } + +-- Select the authentication backend to use. The 'internal' providers +-- use Prosody's configured data storage to store the authentication data. +-- To allow Prosody to offer secure authentication mechanisms to clients, the +-- default provider stores passwords in plaintext. If you do not trust your +-- server please see http://prosody.im/doc/modules/mod_auth_internal_hashed +-- for information about using the hashed backend. + +authentication = "internal_hashed" + +-- Select the storage backend to use. By default Prosody uses flat files +-- in its configured data directory, but it also supports more backends +-- through modules. An "sql" backend is included by default, but requires +-- additional dependencies. See http://prosody.im/doc/storage for more info. + +--storage = "sql" -- Default is "internal" (Debian: "sql" requires one of the +-- lua-dbi-sqlite3, lua-dbi-mysql or lua-dbi-postgresql packages to work) + +-- For the "sql" backend, you can uncomment *one* of the below to configure: +--sql = { driver = "SQLite3", database = "prosody.sqlite" } -- Default. 'database' is the filename. +--sql = { driver = "MySQL", database = "prosody", username = "prosody", password = "secret", host = "localhost" } +--sql = { driver = "PostgreSQL", database = "prosody", username = "prosody", password = "secret", host = "localhost" } + +-- Logging configuration +-- For advanced logging see http://prosody.im/doc/logging +-- +-- Debian: +-- Logs info and higher to /var/log +-- Logs errors to syslog also +log = { + { levels = {min = "info"}, timestamps = "%Y-%m-%d %X", to = "console"}; + +} + + + + + + + + + + +-- Enable use of native prosody 0.11 support for epoll over select +network_backend = "epoll"; +-- Set the TCP backlog to 511 since the kernel rounds it up to the next power of 2: 512. +network_settings = { + tcp_backlog = 511; +} +unbound = { + resolvconf = true +} + +http_ports = { 5280 } + +http_interfaces = { "*", "::" } + + +data_path = "/config/data" + +Include "conf.d/*.cfg.lua" diff --git a/jitsi/config/jitsi-meet-cfg/prosody/config/rules.d/jvb_muc_presence_filter.pfw b/jitsi/config/jitsi-meet-cfg/prosody/config/rules.d/jvb_muc_presence_filter.pfw new file mode 100644 index 00000000..2f7713a2 --- /dev/null +++ b/jitsi/config/jitsi-meet-cfg/prosody/config/rules.d/jvb_muc_presence_filter.pfw @@ -0,0 +1,13 @@ +{{ $JVB_XMPP_AUTH_DOMAIN := .Env.JVB_XMPP_AUTH_DOMAIN | default "auth.jvb.meet.jitsi" -}} +{{ $JVB_XMPP_INTERNAL_MUC_DOMAIN := .Env.JVB_XMPP_INTERNAL_MUC_DOMAIN | default "muc.jvb.meet.jitsi" -}} +{{ $JVB_AUTH_USER := .Env.JVB_AUTH_USER | default "jvb" -}} +{{ $JVB_BREWERY_MUC := .Env.JVB_BREWERY_MUC | default "jvbbrewery" -}} +# Drop all presence from a jvb in a MUC to a jvb +FROM: {{ $JVB_BREWERY_MUC }}@{{ $JVB_XMPP_INTERNAL_MUC_DOMAIN }} +TO: {{ $JVB_AUTH_USER }}@{{ $JVB_XMPP_AUTH_DOMAIN }} +KIND: presence +# Seems safer to allow all "unavailable" to pass +TYPE: available +# Allow self-presence (code=110) +NOT INSPECT: {http://jabber.org/protocol/muc#user}x/status@code=110 +DROP. diff --git a/jitsi/config/jitsi-meet-cfg/prosody/config/saslauthd.conf b/jitsi/config/jitsi-meet-cfg/prosody/config/saslauthd.conf new file mode 100644 index 00000000..79cdc0ad --- /dev/null +++ b/jitsi/config/jitsi-meet-cfg/prosody/config/saslauthd.conf @@ -0,0 +1,30 @@ +{{ $AUTH_TYPE := .Env.AUTH_TYPE | default "internal" -}} +{{ $PROSODY_AUTH_TYPE := .Env.PROSODY_AUTH_TYPE | default $AUTH_TYPE }} +{{ $XMPP_DOMAIN := .Env.XMPP_DOMAIN | default "meet.jitsi" -}} + +{{ if eq $PROSODY_AUTH_TYPE "ldap" }} +ldap_servers: {{ .Env.LDAP_URL }} +ldap_search_base: {{ .Env.LDAP_BASE }} +{{ if .Env.LDAP_BINDDN | default "" }} +ldap_bind_dn: {{ .Env.LDAP_BINDDN }} +ldap_bind_pw: {{ .Env.LDAP_BINDPW }} +{{ end }} +ldap_filter: {{ .Env.LDAP_FILTER | default "uid=%u" }} +ldap_version: {{ .Env.LDAP_VERSION | default "3" }} +ldap_auth_method: {{ .Env.LDAP_AUTH_METHOD | default "bind" }} + {{ if .Env.LDAP_USE_TLS | default "0" | toBool }} +ldap_tls_key: /config/certs/{{ $XMPP_DOMAIN }}.key +ldap_tls_cert: /config/certs/{{ $XMPP_DOMAIN }}.crt + {{ if .Env.LDAP_TLS_CHECK_PEER | default "0" | toBool }} +ldap_tls_check_peer: yes +ldap_tls_cacert_file: {{ .Env.LDAP_TLS_CACERT_FILE | default "/etc/ssl/certs/ca-certificates.crt" }} +ldap_tls_cacert_dir: {{ .Env.LDAP_TLS_CACERT_DIR | default "/etc/ssl/certs" }} + {{ end }} + {{ if .Env.LDAP_TLS_CIPHERS }} +ldap_tls_ciphers: {{ .Env.LDAP_TLS_CIPHERS }} + {{ end }} + {{ end }} +{{ end }} +{{ if .Env.LDAP_START_TLS | default "0" | toBool }} +ldap_start_tls: yes +{{ end }} diff --git a/jitsi/config/jitsi-meet-cfg/web/config.js b/jitsi/config/jitsi-meet-cfg/web/config.js new file mode 100644 index 00000000..593d5855 --- /dev/null +++ b/jitsi/config/jitsi-meet-cfg/web/config.js @@ -0,0 +1,238 @@ +// Jitsi Meet configuration. + +var config = {}; + +config.hosts = {}; +config.hosts.domain = 'meet.jitsi'; + +var subdir = ''; +var subdomain = ''; +if (subdir.startsWith(''; +var subdomain = ''; +if (subdir.startsWith('