From 2758923c341493315cb33fd26d2f21911d994b6a Mon Sep 17 00:00:00 2001 From: Sung Won Cho Date: Mon, 30 Sep 2019 11:02:09 +0800 Subject: [PATCH] Implement personal knowedge base version (#254) * Allow to add and edit notes * Implement search * Implement settings * Implement checkout page * Implement paywall * Fix inconsistent margin * Render mobile menu * Allow to logout * emails * Implement user migration * Always build standalone * Embed digest in email * Move browser extension * Fix test * Use system font * Add favicon and app icons * Make tabbar smaller * Initialize focus on editor * Fix various UI audit issues * Simplify asset serving * Register sw * Upgrade deps --- web/.prettierrc => .prettierrc | 0 .travis.yml | 1 + Gopkg.lock | 76 +- Makefile | 21 +- README.md | 16 +- SELF_HOSTING.md | 2 +- browser/.eslintrc | 16 + browser/.gitignore | 5 + browser/CONTRIBUTING.md | 18 + browser/NOTE_TO_REVIEWER.md | 18 + browser/README.md | 28 + browser/assets/demo.gif | Bin 0 -> 531390 bytes browser/gulpfile.js | 79 + browser/manifests/chrome/manifest.json | 31 + browser/manifests/firefox/manifest.json | 38 + browser/package-lock.json | 9819 +++++++++++++++++ browser/package.json | 52 + browser/scripts/build_prod.sh | 14 + browser/scripts/zip.sh | 3 + browser/src/browser.d.ts | 3 + browser/src/global.d.ts | 6 + browser/src/images/close.svg | 1 + browser/src/images/hamberger-menu.svg | 1 + browser/src/images/iconx128.png | Bin 0 -> 1402 bytes browser/src/images/iconx16.png | Bin 0 -> 362 bytes browser/src/images/iconx32.png | Bin 0 -> 517 bytes browser/src/images/iconx48.png | Bin 0 -> 631 bytes browser/src/images/iconx96.png | Bin 0 -> 1040 bytes browser/src/images/logo-circle.png | Bin 0 -> 3660 bytes browser/src/popup.html | 15 + browser/src/scripts/components/App.tsx | 88 + browser/src/scripts/components/BookIcon.tsx | 28 + .../src/scripts/components/BookSelector.tsx | 110 + browser/src/scripts/components/CloseIcon.tsx | 11 + browser/src/scripts/components/Composer.tsx | 212 + browser/src/scripts/components/Flash.tsx | 16 + browser/src/scripts/components/Header.tsx | 36 + browser/src/scripts/components/Home.tsx | 100 + browser/src/scripts/components/Link.tsx | 42 + browser/src/scripts/components/Menu.tsx | 35 + .../src/scripts/components/MenuToggleIcon.tsx | 43 + browser/src/scripts/components/Success.tsx | 85 + browser/src/scripts/popup.tsx | 49 + browser/src/scripts/store/books/actions.ts | 59 + browser/src/scripts/store/books/reducers.ts | 48 + browser/src/scripts/store/books/types.ts | 35 + browser/src/scripts/store/composer/actions.ts | 47 + .../src/scripts/store/composer/reducers.ts | 47 + browser/src/scripts/store/composer/types.ts | 39 + browser/src/scripts/store/hooks.ts | 36 + browser/src/scripts/store/index.ts | 29 + browser/src/scripts/store/location/actions.ts | 8 + .../src/scripts/store/location/reducers.ts | 22 + browser/src/scripts/store/location/types.ts | 16 + browser/src/scripts/store/settings/actions.ts | 14 + .../src/scripts/store/settings/reducers.ts | 23 + browser/src/scripts/store/settings/types.ts | 20 + browser/src/scripts/utils/config.ts | 5 + browser/src/scripts/utils/ext.ts | 37 + browser/src/scripts/utils/fetch.js | 48 + browser/src/scripts/utils/services.ts | 9 + browser/src/scripts/utils/storage.ts | 51 + browser/src/styles/popup.css | 375 + browser/src/styles/select.css | 435 + browser/tsconfig.json | 18 + browser/webpack.config.js | 58 + jslib/.gitignore | 3 + jslib/README.md | 3 + jslib/karma.conf.js | 49 + jslib/package-lock.json | 3896 +++++++ jslib/package.json | 33 + .../books.js => jslib/src/helpers/books.ts | 13 +- jslib/src/helpers/books_test.ts | 184 + jslib/src/helpers/filters.ts | 95 + jslib/src/helpers/http.ts | 131 + jslib/src/helpers/index.ts | 19 + .../src/helpers/keyboard.ts | 3 + .../libs/obj.js => jslib/src/helpers/obj.ts | 25 +- .../libs/perf.js => jslib/src/helpers/perf.ts | 4 +- jslib/src/helpers/queries.ts | 66 + jslib/src/helpers/search.ts | 262 + jslib/src/helpers/search_test.ts | 438 + jslib/src/helpers/select.ts | 62 + .../libs/url.js => jslib/src/helpers/url.ts | 60 +- jslib/src/index.ts | 7 + jslib/src/operations/books.ts | 59 + jslib/src/operations/index.ts | 15 + jslib/src/operations/notes.ts | 68 + jslib/src/operations/types.ts | 31 + jslib/src/services/books.ts | 81 + .../src/services/digests.ts | 53 +- jslib/src/services/index.ts | 24 + jslib/src/services/notes.ts | 108 + jslib/src/services/payment.ts | 69 + jslib/src/services/types.ts | 4 + jslib/src/services/users.ts | 216 + jslib/tsconfig.json | 14 + pkg/cli/client/client.go | 74 +- pkg/cli/cmd/login/login.go | 27 +- pkg/cli/cmd/logout/logout.go | 3 - pkg/cli/cmd/sync/sync.go | 21 +- pkg/cli/cmd/sync/sync_test.go | 101 +- pkg/cli/consts/consts.go | 2 - pkg/cli/context/ctx.go | 9 - pkg/cli/context/operations.go | 48 - pkg/cli/infra/init.go | 13 +- pkg/cli/migrate/migrate_test.go | 22 +- pkg/cli/migrate/migrations.go | 2 +- pkg/cli/testutils/main.go | 2 - pkg/server/api/handlers/auth.go | 286 +- pkg/server/api/handlers/auth_test.go | 312 + pkg/server/api/handlers/classic.go | 276 + pkg/server/api/handlers/classic_test.go | 227 + pkg/server/api/handlers/digests.go | 149 - pkg/server/api/handlers/health_test.go | 28 + pkg/server/api/handlers/helpers.go | 6 + pkg/server/api/handlers/notes.go | 257 +- pkg/server/api/handlers/notes_test.go | 324 + pkg/server/api/handlers/routes.go | 88 +- pkg/server/api/handlers/routes_test.go | 49 + pkg/server/api/handlers/user.go | 171 +- pkg/server/api/handlers/user_test.go | 652 ++ pkg/server/api/handlers/v2_books.go | 98 - pkg/server/api/handlers/v2_notes.go | 100 - .../api/handlers/{v1_auth.go => v3_auth.go} | 168 +- pkg/server/api/handlers/v3_auth_test.go | 417 + .../api/handlers/{v1_books.go => v3_books.go} | 97 +- pkg/server/api/handlers/v3_books_test.go | 531 + .../api/handlers/{v1_notes.go => v3_notes.go} | 83 +- pkg/server/api/handlers/v3_notes_test.go | 304 + .../api/handlers/{v1_sync.go => v3_sync.go} | 9 +- .../{v1_sync_test.go => v3_sync_test.go} | 0 pkg/server/api/operations/books.go | 4 +- pkg/server/api/operations/notes.go | 4 +- pkg/server/api/operations/sessions.go | 6 +- pkg/server/api/operations/users.go | 57 +- pkg/server/api/presenters/presenters.go | 32 +- pkg/server/api/scripts/test.sh | 2 +- pkg/server/database/database.go | 2 + .../20190819115834-full-text-search.sql | 41 + pkg/server/database/models.go | 12 +- pkg/server/job/digest.go | 18 +- pkg/server/mailer/mailer.go | 11 +- pkg/server/mailer/templates/main.go | 4 +- .../templates/src/email_verification.html | 4 +- pkg/server/mailer/templates/src/header.html | 4 +- .../mailer/templates/src/reset_password.html | 2 +- .../mailer/templates/src/weekly_digest.html | 129 +- pkg/server/mailer/types.go | 31 +- pkg/server/main.go | 62 +- pkg/server/testutils/config.go | 27 + pkg/server/testutils/main.go | 30 +- web/.eslintrc | 13 +- web/assets/index.html | 49 + web/assets/robots.txt | 2 + web/assets/service-worker.js | 30 + web/{ => assets}/static/404.html | 4 +- web/{ => assets}/static/500.html | 2 - .../static/android-icon-144x144.png | Bin .../static/android-icon-192x192.png | Bin .../static/android-icon-36x36.png | Bin .../static/android-icon-48x48.png | Bin .../static/android-icon-72x72.png | Bin .../static/android-icon-96x96.png | Bin .../static/apple-icon-114x114.png | Bin .../static/apple-icon-120x120.png | Bin .../static/apple-icon-144x144.png | Bin .../static/apple-icon-152x152.png | Bin .../static/apple-icon-180x180.png | Bin web/{ => assets}/static/apple-icon-57x57.png | Bin web/{ => assets}/static/apple-icon-60x60.png | Bin web/{ => assets}/static/apple-icon-72x72.png | Bin web/{ => assets}/static/apple-icon-76x76.png | Bin .../static/apple-icon-precomposed.png | Bin web/{ => assets}/static/apple-icon.png | Bin web/{ => assets}/static/browserconfig.xml | 0 web/{ => assets}/static/favicon-16x16.png | Bin web/{ => assets}/static/favicon-32x32.png | Bin web/{ => assets}/static/favicon-96x96.png | Bin web/{ => assets}/static/favicon.ico | Bin web/assets/static/logo-512x512.png | Bin 0 -> 4155 bytes web/assets/static/manifest.json | 52 + web/{ => assets}/static/ms-icon-144x144.png | Bin web/{ => assets}/static/ms-icon-150x150.png | Bin web/{ => assets}/static/ms-icon-310x310.png | Bin web/{ => assets}/static/ms-icon-70x70.png | Bin web/assets/static/offline.html | 41 + web/declrations.d.ts | 7 + web/index.html | 55 - web/karma.conf.js | 12 +- web/package-lock.json | 2863 +++-- web/package.json | 99 +- web/scripts/build-prod.sh | 5 +- web/scripts/build.sh | 15 +- web/scripts/dev.sh | 11 +- web/scripts/placeholder.js | 39 +- web/scripts/setup.sh | 14 +- web/scripts/webpack-dev.sh | 8 +- web/src/actions/calendar.js | 70 - web/src/actions/digest.js | 63 - web/src/actions/digests.js | 101 - web/src/actions/editor.js | 88 - web/src/actions/notes.js | 267 - web/src/actions/ui.js | 79 - web/src/{client.js => client.tsx} | 37 +- web/src/components/App/App.global.scss | 8 +- .../App/{App.module.scss => App.scss} | 47 +- .../App/{HeaderData.js => HeaderData.tsx} | 10 +- web/src/components/App/_buttons.scss | 13 +- web/src/components/App/_font.scss | 2 +- web/src/components/App/_grid.scss | 2 +- web/src/components/App/_responsive.scss | 11 +- web/src/components/App/_shared.scss | 91 +- web/src/components/App/_theme.scss | 4 +- web/src/components/App/_variables.scss | 14 +- web/src/components/App/index.js | 176 - web/src/components/App/index.tsx | 184 + .../{BookItem.module.scss => BookItem.scss} | 0 .../Books/BookItem/{index.js => index.tsx} | 25 +- .../{BookList.module.scss => BookList.scss} | 0 .../Books/{BookList.js => BookList.tsx} | 69 +- .../Home.module.scss => Books/Books.scss} | 11 +- web/src/components/Books/Content.js | 198 - .../{Content.module.scss => Content.scss} | 37 +- web/src/components/Books/Content.tsx | 230 + web/src/components/Books/CreateBookModal.js | 180 - ...Modal.module.scss => CreateBookModal.scss} | 0 web/src/components/Books/CreateBookModal.tsx | 178 + web/src/components/Books/DeleteBookModal.js | 196 - ...Modal.module.scss => DeleteBookModal.scss} | 0 web/src/components/Books/DeleteBookModal.tsx | 194 + web/src/components/Books/EmptyList.js | 33 - .../{EmptyList.module.scss => EmptyList.scss} | 1 - .../Modal/Body.js => Books/EmptyList.tsx} | 14 +- web/src/components/Books/HeadData.tsx | 14 + web/src/components/Books/index.js | 161 - web/src/components/Books/index.tsx | 60 + web/src/components/Classic/Decrypt.tsx | 138 + web/src/components/Classic/Login.tsx | 117 + web/src/components/Classic/SetPassword.tsx | 75 + web/src/components/Classic/index.tsx | 70 + .../Common/{Auth.module.scss => Auth.scss} | 8 +- .../{Button.module.scss => Button.scss} | 0 .../Common/Button/{index.js => index.tsx} | 27 +- .../BookSelector/OptionItem.scss} | 54 +- .../Common/Editor/BookSelector/OptionItem.tsx | 69 + .../BookSelector/index.scss} | 133 +- .../Common/Editor/BookSelector/index.tsx | 207 + web/src/components/Common/Editor/Editor.scss | 79 + web/src/components/Common/Editor/Preview.scss | 8 + web/src/components/Common/Editor/Preview.tsx | 20 + .../components/Common/Editor/Textarea.scss | 43 + web/src/components/Common/Editor/Textarea.tsx | 91 + web/src/components/Common/Editor/index.tsx | 163 + ...m.module.scss => EmailPreferenceForm.scss} | 0 ...ferenceForm.js => EmailPreferenceForm.tsx} | 45 +- .../components/Common/EmailVerifyBanner.js | 2 +- .../Flash/{Flash.module.scss => Flash.scss} | 4 + .../Common/Flash/{index.js => index.tsx} | 52 +- .../Menu/{Menu.module.scss => Menu.scss} | 0 .../Common/Menu/{index.js => index.tsx} | 44 +- .../MobileMenu.scss} | 70 +- web/src/components/Common/MobileMenu.tsx | 76 + .../Common/{Page/Body.js => Modal/Body.tsx} | 8 +- .../Common/Modal/{Header.js => Header.tsx} | 11 +- .../Modal/{Modal.module.scss => Modal.scss} | 0 .../{ModalBody.module.scss => ModalBody.scss} | 0 ...dalHeader.module.scss => ModalHeader.scss} | 0 .../Common/Modal/{index.js => index.tsx} | 46 +- .../Common/{NotFound.js => NotFound.tsx} | 4 +- web/src/components/Common/Note/index.js | 68 - web/src/components/Common/Page/Header.js | 56 - ...ubscriberWall.module.scss => PayWall.scss} | 1 + .../Common/{SubscriberWall.js => PayWall.tsx} | 46 +- .../Common/PaymentInput/{Card.js => Card.tsx} | 16 +- .../PaymentInput/{Country.js => Country.tsx} | 20 +- .../{CountrySelect.js => CountrySelect.tsx} | 20 +- .../{NameOnCard.js => NameOnCard.tsx} | 19 +- ...entInput.module.scss => PaymentInput.scss} | 0 ...ontent.module.scss => PopoverContent.scss} | 8 +- .../{PopoverContent.js => PopoverContent.tsx} | 105 +- .../Common/Popover/{index.js => index.tsx} | 26 +- web/src/components/Common/Popover/types.ts | 2 + .../components/Common/SearchInput/Actions.tsx | 54 + ...archInput.module.scss => SearchInput.scss} | 39 +- .../SearchInput/{index.js => index.tsx} | 88 +- .../components/Common/SearchableMenu/Item.tsx | 58 + .../Common/SearchableMenu/Result.tsx | 66 + ...leMenu.module.scss => SearchableMenu.scss} | 0 .../SearchableMenu/{index.js => index.tsx} | 146 +- .../Common/Sidebar/MainSidebar/MainSidebar.js | 340 - .../Common/Sidebar/MainSidebar/index.js | 49 - .../Common/Sidebar/SettingsSidebar/index.js | 4 +- web/src/components/Common/SystemMessage.js | 50 - .../SystemMessage.scss} | 14 +- web/src/components/Common/SystemMessage.tsx | 81 + web/src/components/Digest/index.js | 80 - web/src/components/Digests/Content.js | 45 - web/src/components/Digests/DigestHolder.js | 32 - web/src/components/Digests/DigestItem.js | 51 - web/src/components/Digests/Placeholders.js | 32 - web/src/components/Digests/index.js | 119 - web/src/components/Edit/Content.tsx | 86 + web/src/components/Edit/index.tsx | 78 + ...rence.module.scss => EmailPreference.scss} | 0 .../EmailPreference/{index.js => index.tsx} | 105 +- web/src/components/Footer/Footer.module.scss | 44 - web/src/components/Footer/MainFooter.js | 33 - web/src/components/Footer/index.js | 49 - .../AccountMenu.scss} | 11 + .../AccountMenu.js => Header/AccountMenu.tsx} | 78 +- web/src/components/Header/DemoHeader.js | 2 +- .../Nav/Item.scss} | 39 +- web/src/components/Header/Nav/Item.tsx | 22 + .../Nav/Nav.scss} | 19 +- web/src/components/Header/Nav/index.tsx | 27 + .../Normal.scss} | 140 +- web/src/components/Header/Normal.tsx | 86 + .../Guest.scss} | 12 +- .../Header/{NoteHeader.js => Note/Guest.tsx} | 17 +- .../Note/Placeholder.scss} | 8 +- .../components/Header/Note/Placeholder.tsx | 11 + web/src/components/Header/Note/index.scss | 56 + .../DigestList.js => Header/Note/index.tsx} | 36 +- .../AdvancedPanel/AdvancedPanel.scss | 102 + .../SearchBar/AdvancedPanel/BookSearch.tsx | 222 + .../SearchBar/AdvancedPanel/WordsSearch.tsx | 36 + .../Header/SearchBar/AdvancedPanel/index.tsx | 143 + .../Header/SearchBar/SearchBar.scss | 58 + web/src/components/Header/SearchBar/index.tsx | 110 + ...er.module.scss => SubscriptionHeader.scss} | 7 +- ...ptionsHeader.js => SubscriptionHeader.tsx} | 33 +- .../components/Home/Actions/Paginator.scss | 60 + web/src/components/Home/Actions/Paginator.tsx | 114 + .../Preview.module.scss => Actions/Top.scss} | 27 +- web/src/components/Home/Actions/Top.tsx | 25 + web/src/components/Home/HeadData.tsx | 28 + web/src/components/Home/Home.scss | 23 + web/src/components/Home/NoteGroup.js | 114 - web/src/components/Home/NoteGroup/Header.scss | 40 + web/src/components/Home/NoteGroup/Header.tsx | 37 + .../List.scss} | 16 +- .../{NoteGroupList.js => NoteGroup/List.tsx} | 77 +- .../NoteGroup.scss} | 37 +- .../NoteItem.scss} | 70 +- .../components/Home/NoteGroup/NoteItem.tsx | 97 + .../NoteGroup/Placeholder.scss} | 93 +- .../Placeholder.tsx} | 34 +- web/src/components/Home/NoteGroup/index.tsx | 56 + web/src/components/Home/NoteItem.js | 150 - .../components/Home/NoteSidebar/BookFilter.js | 263 - .../Home/NoteSidebar/BookFilter.module.scss | 67 - .../Home/NoteSidebar/NoteSidebar.js | 419 - .../Home/NoteSidebar/NoteSidebar.module.scss | 136 - web/src/components/Home/NoteSidebar/index.js | 49 - web/src/components/Home/Workspace/Body.js | 105 - .../components/Home/Workspace/BookSelector.js | 235 - .../Home/Workspace/BookSelector.module.scss | 115 - web/src/components/Home/Workspace/Editor.js | 142 - .../Home/Workspace/EditorPlaceholder.js | 42 - .../Workspace/EditorPlaceholder.module.scss | 97 - .../components/Home/Workspace/NoteActions.js | 163 - web/src/components/Home/Workspace/Preview.js | 56 - web/src/components/Home/Workspace/index.js | 107 - web/src/components/Home/index.js | 121 - web/src/components/Home/index.tsx | 105 + .../components/Icons/{Book.js => Book.tsx} | 6 +- .../Icons/{BookPlus.js => BookPlus.tsx} | 13 +- .../components/Icons/{Caret.js => Caret.tsx} | 3 +- .../Icons/{CaretSolid.js => CaretSolid.tsx} | 3 +- .../components/Icons/{Close.js => Close.tsx} | 5 +- .../Icons/{Dashboard.js => Dashboard.tsx} | 4 +- .../components/Icons/{Dots.js => Dots.tsx} | 4 +- .../components/Icons/{Globe.js => Globe.tsx} | 4 +- web/src/components/Icons/Home.tsx | 58 + .../components/Icons/{Logo.js => Logo.tsx} | 3 +- web/src/components/Icons/LogoWithText.js | 55 - web/src/components/Icons/LogoWithText.tsx | 67 + .../components/Icons/{Note.js => Note.tsx} | 13 +- .../Icons/{Search.js => Search.tsx} | 12 +- .../Icons/{Server.js => Server.tsx} | 4 +- .../components/Icons/{User.js => User.tsx} | 4 +- web/src/components/Icons/types.ts | 7 + .../Join/{JoinForm.js => JoinForm.tsx} | 64 +- .../components/Join/{index.js => index.tsx} | 69 +- web/src/components/LegacyEncrypt/index.js | 16 +- web/src/components/LegacyJoin/index.js | 2 +- .../LegacyLogin/OauthLoginButton.js | 2 +- web/src/components/LegacyLogin/index.js | 4 +- web/src/components/Login/Login.module.scss | 125 - .../Login/{LoginForm.js => LoginForm.tsx} | 39 +- .../components/Login/{index.js => index.tsx} | 79 +- web/src/components/New/New.scss | 57 + web/src/components/New/index.tsx | 133 + web/src/components/Note/Actions.tsx | 9 + .../DeleteNoteModal.scss} | 13 +- web/src/components/Note/DeleteNoteModal.tsx | 139 + web/src/components/Note/HeaderData.tsx | 68 + .../NoteContent.scss} | 58 +- web/src/components/Note/NoteContent.tsx | 162 + .../Placeholder.scss} | 8 +- .../Placeholder.js => Note/Placeholder.tsx} | 12 +- web/src/components/Note/index.js | 95 - .../Note/{Note.module.scss => index.scss} | 0 web/src/components/Note/index.tsx | 110 + .../components/PasswordReset/Confirm/Form.tsx | 80 + .../PasswordReset/Confirm/index.tsx | 92 + .../PasswordReset/Request/Form.scss | 10 + .../components/PasswordReset/Request/Form.tsx | 60 + .../PasswordReset/Request/Request.scss | 3 + .../PasswordReset/Request/index.tsx | 88 + .../Account/{EmailModal.js => EmailModal.tsx} | 110 +- .../Settings/Account/EmailVerificationRow.tsx | 77 + .../{PasswordModal.js => PasswordModal.tsx} | 110 +- web/src/components/Settings/Account/index.js | 218 - web/src/components/Settings/Account/index.tsx | 140 + ...CancelPlanModal.js => CancelPlanModal.tsx} | 45 +- .../{Form.module.scss => Form.scss} | 0 .../PaymentMethodModal/{Form.js => Form.tsx} | 34 +- .../{index.js => index.tsx} | 42 +- ...aceholder.module.scss => Placeholder.scss} | 0 .../{Placeholder.js => Placeholder.tsx} | 8 +- .../{PlanRow.module.scss => PlanRow.scss} | 0 .../Billing/{PlanRow.js => PlanRow.tsx} | 19 +- .../Settings/Billing/ReactivateRow.tsx | 61 + web/src/components/Settings/Billing/index.js | 358 - web/src/components/Settings/Billing/index.tsx | 294 + .../{FrequencyModal.js => FrequencyModal.tsx} | 73 +- .../components/Settings/Notification/index.js | 187 - .../Settings/Notification/index.tsx | 154 + ...SettingRow.module.scss => SettingRow.scss} | 2 +- .../{SettingRow.js => SettingRow.tsx} | 20 +- .../Settings.global.scss} | 63 +- .../{Settings.module.scss => Settings.scss} | 9 +- .../Sidebar.scss} | 25 +- web/src/components/Settings/Sidebar.tsx | 46 + .../Settings/{index.js => index.tsx} | 45 +- web/src/components/Settings/module.scss | 57 - .../components/Splash/{index.js => index.tsx} | 11 +- .../Checkout/{Form.module.scss => Form.scss} | 4 +- .../Checkout/{Form.js => Form.tsx} | 142 +- .../{Sidebar.module.scss => Sidebar.scss} | 0 .../Checkout/{Sidebar.js => Sidebar.tsx} | 8 +- .../Checkout/{index.js => index.tsx} | 8 +- ...cription.module.scss => Subscription.scss} | 4 +- .../Subscription/{index.js => index.tsx} | 90 +- web/src/components/TabBar/Item.scss | 9 + web/src/components/TabBar/Item.tsx | 11 + web/src/components/TabBar/TabBar.scss | 43 + web/src/components/TabBar/index.tsx | 120 + web/src/components/VerifyEmail/index.js | 54 - web/src/components/VerifyEmail/index.tsx | 68 + web/src/crypto/index.js | 3 +- .../{accessibility.js => accessibility.ts} | 6 +- web/src/helpers/{markdown.js => markdown.ts} | 4 +- web/src/helpers/{time.js => time.ts} | 33 +- web/src/hocs/{guestOnly.js => guestOnly.tsx} | 37 +- web/src/hocs/scrollTop.tsx | 18 + web/src/hocs/{userOnly.js => userOnly.tsx} | 24 +- web/src/img/github.png | Bin 2625 -> 0 bytes web/src/img/google.png | Bin 709 -> 0 bytes web/src/libs/auth.js | 34 - web/src/libs/books_test.js | 140 - web/src/libs/config.ts | 3 + web/src/libs/{dom.js => dom.ts} | 31 +- web/src/libs/facets.js | 52 - web/src/libs/fts/format.ts | 0 web/src/libs/fts/lexer.ts | 88 + web/src/libs/fts/lexer_test.ts | 202 + web/src/libs/hooks/dom.js | 144 - web/src/libs/hooks/dom.ts | 175 + web/src/libs/hooks/editor.ts | 26 + web/src/libs/hooks/{index.js => index.ts} | 9 +- web/src/libs/http.js | 118 - .../libs/{localStorage.js => localStorage.ts} | 4 +- web/src/libs/notes.js | 30 - web/src/libs/notes.ts | 87 + web/src/libs/operations.ts | 8 + web/src/libs/paths.js | 288 - web/src/libs/paths.ts | 226 + web/src/libs/restoreScroll.ts | 155 + web/src/libs/search.ts | 26 + web/src/libs/services.ts | 8 + web/src/libs/{string.js => string.ts} | 10 +- web/src/operations/books.js | 50 - web/src/operations/notes.js | 66 - web/src/reducers/index.js | 45 - web/src/reducers/notes.js | 305 - web/src/reducers/ui.js | 129 - web/src/routes.js | 187 - web/src/routes.tsx | 162 + web/src/services/books.js | 62 - web/src/services/digests.js | 44 - web/src/services/notes.js | 89 - web/src/services/payment.js | 63 - web/src/services/users.js | 161 - .../auth.js => store/auth/actions.ts} | 136 +- web/src/store/auth/index.ts | 3 + .../auth.js => store/auth/reducers.ts} | 80 +- web/src/store/auth/type.ts | 122 + .../books.js => store/books/actions.ts} | 46 +- web/src/store/books/index.ts | 3 + .../books.js => store/books/reducers.ts} | 30 +- web/src/store/books/type.ts | 46 + web/src/store/editor/actions.ts | 82 + web/src/store/editor/index.ts | 3 + .../editor.js => store/editor/reducers.ts} | 34 +- web/src/store/editor/type.ts | 53 + .../filters/actions.ts} | 43 +- web/src/store/filters/index.ts | 3 + .../digest.js => store/filters/reducers.ts} | 45 +- web/src/store/filters/type.ts | 39 + .../form.js => store/form/actions.ts} | 4 +- web/src/store/form/index.ts | 3 + .../form.js => store/form/reducers.ts} | 9 +- web/src/store/form/type.ts | 16 + web/src/store/hooks.ts | 34 + web/src/{configureStore.js => store/index.ts} | 40 +- .../note.js => store/note/actions.ts} | 37 +- web/src/store/note/index.ts | 3 + .../note.js => store/note/reducers.ts} | 42 +- web/src/store/note/type.ts | 37 + web/src/store/notes/actions.ts | 115 + web/src/store/notes/index.ts | 3 + .../digests.js => store/notes/reducers.ts} | 68 +- web/src/store/notes/type.ts | 71 + .../route/actions.ts} | 35 +- web/src/store/route/index.ts | 3 + web/src/store/route/reducers.ts | 50 + web/src/store/route/type.ts | 22 + web/src/store/types.ts | 47 + .../Status.js => store/ui/actions.ts} | 46 +- web/src/store/ui/index.ts | 3 + .../calendar.js => store/ui/reducers.ts} | 42 +- web/src/store/ui/type.ts | 33 + web/static/fonts/Lato-Bold.eot | Bin 256056 -> 0 bytes web/static/fonts/Lato-Bold.ttf | Bin 600856 -> 0 bytes web/static/fonts/Lato-Bold.woff | Bin 309728 -> 0 bytes web/static/fonts/Lato-Bold.woff2 | Bin 184912 -> 0 bytes web/static/fonts/Lato-Light.eot | Bin 253030 -> 0 bytes web/static/fonts/Lato-Light.ttf | Bin 617492 -> 0 bytes web/static/fonts/Lato-Light.woff | Bin 310884 -> 0 bytes web/static/fonts/Lato-Light.woff2 | Bin 181500 -> 0 bytes web/static/fonts/Lato-Regular.eot | Bin 253461 -> 0 bytes web/static/fonts/Lato-Regular.ttf | Bin 607720 -> 0 bytes web/static/fonts/Lato-Regular.woff | Bin 309192 -> 0 bytes web/static/fonts/Lato-Regular.woff2 | Bin 182708 -> 0 bytes web/static/fonts/Lato-Semibold.eot | Bin 256876 -> 0 bytes web/static/fonts/Lato-Semibold.ttf | Bin 614256 -> 0 bytes web/static/fonts/Lato-Semibold.woff | Bin 312952 -> 0 bytes web/static/fonts/Lato-Semibold.woff2 | Bin 184076 -> 0 bytes web/static/img/bg.svg | 9 - web/static/img/logo.png | Bin 16508 -> 0 bytes web/static/manifest.json | 41 - web/static/robots.txt | 2 - .../static/heatmap-learning-thumbnail.png | Bin 42518 -> 0 bytes web/static/static/heatmap-learning.html | 460 - web/tsconfig.json | 29 + web/webpack/dev.config.js | 8 +- .../libs/demo.js => webpack/externals.js} | 3 +- web/webpack/paths.js | 2 +- web/webpack/plugins.js | 38 +- web/webpack/prod.config.js | 8 +- web/webpack/resolve.js | 7 +- web/webpack/rules/css.js | 12 +- web/webpack/rules/index.js | 2 +- web/webpack/rules/javascript.js | 43 +- 567 files changed, 35475 insertions(+), 13411 deletions(-) rename web/.prettierrc => .prettierrc (100%) create mode 100644 browser/.eslintrc create mode 100644 browser/.gitignore create mode 100644 browser/CONTRIBUTING.md create mode 100644 browser/NOTE_TO_REVIEWER.md create mode 100644 browser/README.md create mode 100644 browser/assets/demo.gif create mode 100644 browser/gulpfile.js create mode 100644 browser/manifests/chrome/manifest.json create mode 100644 browser/manifests/firefox/manifest.json create mode 100644 browser/package-lock.json create mode 100644 browser/package.json create mode 100755 browser/scripts/build_prod.sh create mode 100755 browser/scripts/zip.sh create mode 100644 browser/src/browser.d.ts create mode 100644 browser/src/global.d.ts create mode 100644 browser/src/images/close.svg create mode 100644 browser/src/images/hamberger-menu.svg create mode 100644 browser/src/images/iconx128.png create mode 100644 browser/src/images/iconx16.png create mode 100644 browser/src/images/iconx32.png create mode 100644 browser/src/images/iconx48.png create mode 100644 browser/src/images/iconx96.png create mode 100644 browser/src/images/logo-circle.png create mode 100644 browser/src/popup.html create mode 100644 browser/src/scripts/components/App.tsx create mode 100644 browser/src/scripts/components/BookIcon.tsx create mode 100644 browser/src/scripts/components/BookSelector.tsx create mode 100644 browser/src/scripts/components/CloseIcon.tsx create mode 100644 browser/src/scripts/components/Composer.tsx create mode 100644 browser/src/scripts/components/Flash.tsx create mode 100644 browser/src/scripts/components/Header.tsx create mode 100644 browser/src/scripts/components/Home.tsx create mode 100644 browser/src/scripts/components/Link.tsx create mode 100644 browser/src/scripts/components/Menu.tsx create mode 100644 browser/src/scripts/components/MenuToggleIcon.tsx create mode 100644 browser/src/scripts/components/Success.tsx create mode 100644 browser/src/scripts/popup.tsx create mode 100644 browser/src/scripts/store/books/actions.ts create mode 100644 browser/src/scripts/store/books/reducers.ts create mode 100644 browser/src/scripts/store/books/types.ts create mode 100644 browser/src/scripts/store/composer/actions.ts create mode 100644 browser/src/scripts/store/composer/reducers.ts create mode 100644 browser/src/scripts/store/composer/types.ts create mode 100644 browser/src/scripts/store/hooks.ts create mode 100644 browser/src/scripts/store/index.ts create mode 100644 browser/src/scripts/store/location/actions.ts create mode 100644 browser/src/scripts/store/location/reducers.ts create mode 100644 browser/src/scripts/store/location/types.ts create mode 100644 browser/src/scripts/store/settings/actions.ts create mode 100644 browser/src/scripts/store/settings/reducers.ts create mode 100644 browser/src/scripts/store/settings/types.ts create mode 100644 browser/src/scripts/utils/config.ts create mode 100644 browser/src/scripts/utils/ext.ts create mode 100644 browser/src/scripts/utils/fetch.js create mode 100644 browser/src/scripts/utils/services.ts create mode 100644 browser/src/scripts/utils/storage.ts create mode 100644 browser/src/styles/popup.css create mode 100644 browser/src/styles/select.css create mode 100644 browser/tsconfig.json create mode 100644 browser/webpack.config.js create mode 100644 jslib/.gitignore create mode 100644 jslib/README.md create mode 100644 jslib/karma.conf.js create mode 100644 jslib/package-lock.json create mode 100644 jslib/package.json rename web/src/libs/books.js => jslib/src/helpers/books.ts (82%) create mode 100644 jslib/src/helpers/books_test.ts create mode 100644 jslib/src/helpers/filters.ts create mode 100644 jslib/src/helpers/http.ts create mode 100644 jslib/src/helpers/index.ts rename web/src/helpers/keyboard.js => jslib/src/helpers/keyboard.ts (94%) rename web/src/libs/obj.js => jslib/src/helpers/obj.ts (70%) rename web/src/libs/perf.js => jslib/src/helpers/perf.ts (90%) create mode 100644 jslib/src/helpers/queries.ts create mode 100644 jslib/src/helpers/search.ts create mode 100644 jslib/src/helpers/search_test.ts create mode 100644 jslib/src/helpers/select.ts rename web/src/libs/url.js => jslib/src/helpers/url.ts (67%) create mode 100644 jslib/src/index.ts create mode 100644 jslib/src/operations/books.ts create mode 100644 jslib/src/operations/index.ts create mode 100644 jslib/src/operations/notes.ts create mode 100644 jslib/src/operations/types.ts create mode 100644 jslib/src/services/books.ts rename web/src/components/Footer/Footer.js => jslib/src/services/digests.ts (53%) create mode 100644 jslib/src/services/index.ts create mode 100644 jslib/src/services/notes.ts create mode 100644 jslib/src/services/payment.ts create mode 100644 jslib/src/services/types.ts create mode 100644 jslib/src/services/users.ts create mode 100644 jslib/tsconfig.json delete mode 100644 pkg/cli/context/operations.go create mode 100644 pkg/server/api/handlers/auth_test.go create mode 100644 pkg/server/api/handlers/classic.go create mode 100644 pkg/server/api/handlers/classic_test.go delete mode 100644 pkg/server/api/handlers/digests.go create mode 100644 pkg/server/api/handlers/health_test.go create mode 100644 pkg/server/api/handlers/notes_test.go create mode 100644 pkg/server/api/handlers/user_test.go delete mode 100644 pkg/server/api/handlers/v2_books.go delete mode 100644 pkg/server/api/handlers/v2_notes.go rename pkg/server/api/handlers/{v1_auth.go => v3_auth.go} (58%) create mode 100644 pkg/server/api/handlers/v3_auth_test.go rename pkg/server/api/handlers/{v1_books.go => v3_books.go} (84%) create mode 100644 pkg/server/api/handlers/v3_books_test.go rename pkg/server/api/handlers/{v1_notes.go => v3_notes.go} (72%) create mode 100644 pkg/server/api/handlers/v3_notes_test.go rename pkg/server/api/handlers/{v1_sync.go => v3_sync.go} (96%) rename pkg/server/api/handlers/{v1_sync_test.go => v3_sync_test.go} (100%) create mode 100644 pkg/server/database/migrations/20190819115834-full-text-search.sql create mode 100644 pkg/server/testutils/config.go create mode 100644 web/assets/index.html create mode 100644 web/assets/robots.txt create mode 100644 web/assets/service-worker.js rename web/{ => assets}/static/404.html (76%) rename web/{ => assets}/static/500.html (82%) rename web/{ => assets}/static/android-icon-144x144.png (100%) rename web/{ => assets}/static/android-icon-192x192.png (100%) rename web/{ => assets}/static/android-icon-36x36.png (100%) rename web/{ => assets}/static/android-icon-48x48.png (100%) rename web/{ => assets}/static/android-icon-72x72.png (100%) rename web/{ => assets}/static/android-icon-96x96.png (100%) rename web/{ => assets}/static/apple-icon-114x114.png (100%) rename web/{ => assets}/static/apple-icon-120x120.png (100%) rename web/{ => assets}/static/apple-icon-144x144.png (100%) rename web/{ => assets}/static/apple-icon-152x152.png (100%) rename web/{ => assets}/static/apple-icon-180x180.png (100%) rename web/{ => assets}/static/apple-icon-57x57.png (100%) rename web/{ => assets}/static/apple-icon-60x60.png (100%) rename web/{ => assets}/static/apple-icon-72x72.png (100%) rename web/{ => assets}/static/apple-icon-76x76.png (100%) rename web/{ => assets}/static/apple-icon-precomposed.png (100%) rename web/{ => assets}/static/apple-icon.png (100%) rename web/{ => assets}/static/browserconfig.xml (100%) rename web/{ => assets}/static/favicon-16x16.png (100%) rename web/{ => assets}/static/favicon-32x32.png (100%) rename web/{ => assets}/static/favicon-96x96.png (100%) rename web/{ => assets}/static/favicon.ico (100%) create mode 100644 web/assets/static/logo-512x512.png create mode 100644 web/assets/static/manifest.json rename web/{ => assets}/static/ms-icon-144x144.png (100%) rename web/{ => assets}/static/ms-icon-150x150.png (100%) rename web/{ => assets}/static/ms-icon-310x310.png (100%) rename web/{ => assets}/static/ms-icon-70x70.png (100%) create mode 100644 web/assets/static/offline.html create mode 100644 web/declrations.d.ts delete mode 100644 web/index.html delete mode 100644 web/src/actions/calendar.js delete mode 100644 web/src/actions/digest.js delete mode 100644 web/src/actions/digests.js delete mode 100644 web/src/actions/editor.js delete mode 100644 web/src/actions/notes.js delete mode 100644 web/src/actions/ui.js rename web/src/{client.js => client.tsx} (72%) rename web/src/components/App/{App.module.scss => App.scss} (69%) rename web/src/components/App/{HeaderData.js => HeaderData.tsx} (79%) delete mode 100644 web/src/components/App/index.js create mode 100644 web/src/components/App/index.tsx rename web/src/components/Books/BookItem/{BookItem.module.scss => BookItem.scss} (100%) rename web/src/components/Books/BookItem/{index.js => index.tsx} (78%) rename web/src/components/Books/{BookList.module.scss => BookList.scss} (100%) rename web/src/components/Books/{BookList.js => BookList.tsx} (55%) rename web/src/components/{Home/Home.module.scss => Books/Books.scss} (86%) delete mode 100644 web/src/components/Books/Content.js rename web/src/components/Books/{Content.module.scss => Content.scss} (68%) create mode 100644 web/src/components/Books/Content.tsx delete mode 100644 web/src/components/Books/CreateBookModal.js rename web/src/components/Books/{CreateBookModal.module.scss => CreateBookModal.scss} (100%) create mode 100644 web/src/components/Books/CreateBookModal.tsx delete mode 100644 web/src/components/Books/DeleteBookModal.js rename web/src/components/Books/{DeleteBookModal.module.scss => DeleteBookModal.scss} (100%) create mode 100644 web/src/components/Books/DeleteBookModal.tsx delete mode 100644 web/src/components/Books/EmptyList.js rename web/src/components/Books/{EmptyList.module.scss => EmptyList.scss} (96%) rename web/src/components/{Common/Modal/Body.js => Books/EmptyList.tsx} (79%) create mode 100644 web/src/components/Books/HeadData.tsx delete mode 100644 web/src/components/Books/index.js create mode 100644 web/src/components/Books/index.tsx create mode 100644 web/src/components/Classic/Decrypt.tsx create mode 100644 web/src/components/Classic/Login.tsx create mode 100644 web/src/components/Classic/SetPassword.tsx create mode 100644 web/src/components/Classic/index.tsx rename web/src/components/Common/{Auth.module.scss => Auth.scss} (95%) rename web/src/components/Common/Button/{Button.module.scss => Button.scss} (100%) rename web/src/components/Common/Button/{index.js => index.tsx} (79%) rename web/src/components/Common/{Sidebar/MainSidebar/MainSidebar.module.scss => Editor/BookSelector/OptionItem.scss} (60%) create mode 100644 web/src/components/Common/Editor/BookSelector/OptionItem.tsx rename web/src/components/Common/{SearchableMenu/General.module.scss => Editor/BookSelector/index.scss} (50%) create mode 100644 web/src/components/Common/Editor/BookSelector/index.tsx create mode 100644 web/src/components/Common/Editor/Editor.scss create mode 100644 web/src/components/Common/Editor/Preview.scss create mode 100644 web/src/components/Common/Editor/Preview.tsx create mode 100644 web/src/components/Common/Editor/Textarea.scss create mode 100644 web/src/components/Common/Editor/Textarea.tsx create mode 100644 web/src/components/Common/Editor/index.tsx rename web/src/components/Common/{EmailPreferenceForm.module.scss => EmailPreferenceForm.scss} (100%) rename web/src/components/Common/{EmailPreferenceForm.js => EmailPreferenceForm.tsx} (78%) rename web/src/components/Common/Flash/{Flash.module.scss => Flash.scss} (95%) rename web/src/components/Common/Flash/{index.js => index.tsx} (67%) rename web/src/components/Common/Menu/{Menu.module.scss => Menu.scss} (100%) rename web/src/components/Common/Menu/{index.js => index.tsx} (81%) rename web/src/components/{Home/NoteHolder.module.scss => Common/MobileMenu.scss} (65%) create mode 100644 web/src/components/Common/MobileMenu.tsx rename web/src/components/Common/{Page/Body.js => Modal/Body.tsx} (88%) rename web/src/components/Common/Modal/{Header.js => Header.tsx} (86%) rename web/src/components/Common/Modal/{Modal.module.scss => Modal.scss} (100%) rename web/src/components/Common/Modal/{ModalBody.module.scss => ModalBody.scss} (100%) rename web/src/components/Common/Modal/{ModalHeader.module.scss => ModalHeader.scss} (100%) rename web/src/components/Common/Modal/{index.js => index.tsx} (82%) rename web/src/components/Common/{NotFound.js => NotFound.tsx} (92%) delete mode 100644 web/src/components/Common/Note/index.js delete mode 100644 web/src/components/Common/Page/Header.js rename web/src/components/Common/{SubscriberWall.module.scss => PayWall.scss} (98%) rename web/src/components/Common/{SubscriberWall.js => PayWall.tsx} (60%) rename web/src/components/Common/PaymentInput/{Card.js => Card.tsx} (90%) rename web/src/components/Common/PaymentInput/{Country.js => Country.tsx} (82%) rename web/src/components/Common/PaymentInput/{CountrySelect.js => CountrySelect.tsx} (81%) rename web/src/components/Common/PaymentInput/{NameOnCard.js => NameOnCard.tsx} (83%) rename web/src/components/Common/PaymentInput/{PaymentInput.module.scss => PaymentInput.scss} (100%) rename web/src/components/Common/Popover/{PopoverContent.module.scss => PopoverContent.scss} (92%) rename web/src/components/Common/Popover/{PopoverContent.js => PopoverContent.tsx} (51%) rename web/src/components/Common/Popover/{index.js => index.tsx} (77%) create mode 100644 web/src/components/Common/Popover/types.ts create mode 100644 web/src/components/Common/SearchInput/Actions.tsx rename web/src/components/Common/SearchInput/{SearchInput.module.scss => SearchInput.scss} (70%) rename web/src/components/Common/SearchInput/{index.js => index.tsx} (57%) create mode 100644 web/src/components/Common/SearchableMenu/Item.tsx create mode 100644 web/src/components/Common/SearchableMenu/Result.tsx rename web/src/components/Common/SearchableMenu/{SearchableMenu.module.scss => SearchableMenu.scss} (100%) rename web/src/components/Common/SearchableMenu/{index.js => index.tsx} (61%) delete mode 100644 web/src/components/Common/Sidebar/MainSidebar/MainSidebar.js delete mode 100644 web/src/components/Common/Sidebar/MainSidebar/index.js delete mode 100644 web/src/components/Common/SystemMessage.js rename web/src/components/{Digests/DigestList.module.scss => Common/SystemMessage.scss} (82%) create mode 100644 web/src/components/Common/SystemMessage.tsx delete mode 100644 web/src/components/Digest/index.js delete mode 100644 web/src/components/Digests/Content.js delete mode 100644 web/src/components/Digests/DigestHolder.js delete mode 100644 web/src/components/Digests/DigestItem.js delete mode 100644 web/src/components/Digests/Placeholders.js delete mode 100644 web/src/components/Digests/index.js create mode 100644 web/src/components/Edit/Content.tsx create mode 100644 web/src/components/Edit/index.tsx rename web/src/components/EmailPreference/{EmailPreference.module.scss => EmailPreference.scss} (100%) rename web/src/components/EmailPreference/{index.js => index.tsx} (52%) delete mode 100644 web/src/components/Footer/Footer.module.scss delete mode 100644 web/src/components/Footer/MainFooter.js delete mode 100644 web/src/components/Footer/index.js rename web/src/components/{Footer/AccountMenu.module.scss => Header/AccountMenu.scss} (93%) rename web/src/components/{Footer/AccountMenu.js => Header/AccountMenu.tsx} (67%) rename web/src/components/{Home/Workspace/NoteActions.module.scss => Header/Nav/Item.scss} (77%) create mode 100644 web/src/components/Header/Nav/Item.tsx rename web/src/components/{Home/Workspace/Editor.module.scss => Header/Nav/Nav.scss} (80%) create mode 100644 web/src/components/Header/Nav/index.tsx rename web/src/components/{Home/Workspace/Workspace.module.scss => Header/Normal.scss} (52%) create mode 100644 web/src/components/Header/Normal.tsx rename web/src/components/Header/{NoteHeader.module.scss => Note/Guest.scss} (87%) rename web/src/components/Header/{NoteHeader.js => Note/Guest.tsx} (80%) rename web/src/components/{Common/Page/Body.module.scss => Header/Note/Placeholder.scss} (87%) create mode 100644 web/src/components/Header/Note/Placeholder.tsx create mode 100644 web/src/components/Header/Note/index.scss rename web/src/components/{Digests/DigestList.js => Header/Note/index.tsx} (60%) create mode 100644 web/src/components/Header/SearchBar/AdvancedPanel/AdvancedPanel.scss create mode 100644 web/src/components/Header/SearchBar/AdvancedPanel/BookSearch.tsx create mode 100644 web/src/components/Header/SearchBar/AdvancedPanel/WordsSearch.tsx create mode 100644 web/src/components/Header/SearchBar/AdvancedPanel/index.tsx create mode 100644 web/src/components/Header/SearchBar/SearchBar.scss create mode 100644 web/src/components/Header/SearchBar/index.tsx rename web/src/components/Header/{SubscriptionsHeader.module.scss => SubscriptionHeader.scss} (90%) rename web/src/components/Header/{SubscriptionsHeader.js => SubscriptionHeader.tsx} (68%) create mode 100644 web/src/components/Home/Actions/Paginator.scss create mode 100644 web/src/components/Home/Actions/Paginator.tsx rename web/src/components/Home/{Workspace/Preview.module.scss => Actions/Top.scss} (74%) create mode 100644 web/src/components/Home/Actions/Top.tsx create mode 100644 web/src/components/Home/HeadData.tsx create mode 100644 web/src/components/Home/Home.scss delete mode 100644 web/src/components/Home/NoteGroup.js create mode 100644 web/src/components/Home/NoteGroup/Header.scss create mode 100644 web/src/components/Home/NoteGroup/Header.tsx rename web/src/components/Home/{NoteGroupList.module.scss => NoteGroup/List.scss} (82%) rename web/src/components/Home/{NoteGroupList.js => NoteGroup/List.tsx} (52%) rename web/src/components/Home/{NoteGroup.module.scss => NoteGroup/NoteGroup.scss} (74%) rename web/src/components/Home/{NoteItem.module.scss => NoteGroup/NoteItem.scss} (67%) create mode 100644 web/src/components/Home/NoteGroup/NoteItem.tsx rename web/src/components/{Common/Page/Header.module.scss => Home/NoteGroup/Placeholder.scss} (54%) rename web/src/components/Home/{NoteHolder.js => NoteGroup/Placeholder.tsx} (60%) create mode 100644 web/src/components/Home/NoteGroup/index.tsx delete mode 100644 web/src/components/Home/NoteItem.js delete mode 100644 web/src/components/Home/NoteSidebar/BookFilter.js delete mode 100644 web/src/components/Home/NoteSidebar/BookFilter.module.scss delete mode 100644 web/src/components/Home/NoteSidebar/NoteSidebar.js delete mode 100644 web/src/components/Home/NoteSidebar/NoteSidebar.module.scss delete mode 100644 web/src/components/Home/NoteSidebar/index.js delete mode 100644 web/src/components/Home/Workspace/Body.js delete mode 100644 web/src/components/Home/Workspace/BookSelector.js delete mode 100644 web/src/components/Home/Workspace/BookSelector.module.scss delete mode 100644 web/src/components/Home/Workspace/Editor.js delete mode 100644 web/src/components/Home/Workspace/EditorPlaceholder.js delete mode 100644 web/src/components/Home/Workspace/EditorPlaceholder.module.scss delete mode 100644 web/src/components/Home/Workspace/NoteActions.js delete mode 100644 web/src/components/Home/Workspace/Preview.js delete mode 100644 web/src/components/Home/Workspace/index.js delete mode 100644 web/src/components/Home/index.js create mode 100644 web/src/components/Home/index.tsx rename web/src/components/Icons/{Book.js => Book.tsx} (90%) rename web/src/components/Icons/{BookPlus.js => BookPlus.tsx} (89%) rename web/src/components/Icons/{Caret.js => Caret.tsx} (93%) rename web/src/components/Icons/{CaretSolid.js => CaretSolid.tsx} (91%) rename web/src/components/Icons/{Close.js => Close.tsx} (91%) rename web/src/components/Icons/{Dashboard.js => Dashboard.tsx} (92%) rename web/src/components/Icons/{Dots.js => Dots.tsx} (91%) rename web/src/components/Icons/{Globe.js => Globe.tsx} (97%) create mode 100644 web/src/components/Icons/Home.tsx rename web/src/components/Icons/{Logo.js => Logo.tsx} (96%) delete mode 100644 web/src/components/Icons/LogoWithText.js create mode 100644 web/src/components/Icons/LogoWithText.tsx rename web/src/components/Icons/{Note.js => Note.tsx} (88%) rename web/src/components/Icons/{Search.js => Search.tsx} (64%) rename web/src/components/Icons/{Server.js => Server.tsx} (96%) rename web/src/components/Icons/{User.js => User.tsx} (93%) create mode 100644 web/src/components/Icons/types.ts rename web/src/components/Join/{JoinForm.js => JoinForm.tsx} (70%) rename web/src/components/Join/{index.js => index.tsx} (64%) delete mode 100644 web/src/components/Login/Login.module.scss rename web/src/components/Login/{LoginForm.js => LoginForm.tsx} (69%) rename web/src/components/Login/{index.js => index.tsx} (61%) create mode 100644 web/src/components/New/New.scss create mode 100644 web/src/components/New/index.tsx create mode 100644 web/src/components/Note/Actions.tsx rename web/src/components/{Footer/MainFooter.module.scss => Note/DeleteNoteModal.scss} (86%) create mode 100644 web/src/components/Note/DeleteNoteModal.tsx create mode 100644 web/src/components/Note/HeaderData.tsx rename web/src/components/{Common/Note/Note.module.scss => Note/NoteContent.scss} (73%) create mode 100644 web/src/components/Note/NoteContent.tsx rename web/src/components/{Common/Note/Placeholder.module.scss => Note/Placeholder.scss} (92%) rename web/src/components/{Common/Note/Placeholder.js => Note/Placeholder.tsx} (87%) delete mode 100644 web/src/components/Note/index.js rename web/src/components/Note/{Note.module.scss => index.scss} (100%) create mode 100644 web/src/components/Note/index.tsx create mode 100644 web/src/components/PasswordReset/Confirm/Form.tsx create mode 100644 web/src/components/PasswordReset/Confirm/index.tsx create mode 100644 web/src/components/PasswordReset/Request/Form.scss create mode 100644 web/src/components/PasswordReset/Request/Form.tsx create mode 100644 web/src/components/PasswordReset/Request/Request.scss create mode 100644 web/src/components/PasswordReset/Request/index.tsx rename web/src/components/Settings/Account/{EmailModal.js => EmailModal.tsx} (69%) create mode 100644 web/src/components/Settings/Account/EmailVerificationRow.tsx rename web/src/components/Settings/Account/{PasswordModal.js => PasswordModal.tsx} (71%) delete mode 100644 web/src/components/Settings/Account/index.js create mode 100644 web/src/components/Settings/Account/index.tsx rename web/src/components/Settings/Billing/{CancelPlanModal.js => CancelPlanModal.tsx} (73%) rename web/src/components/Settings/Billing/PaymentMethodModal/{Form.module.scss => Form.scss} (100%) rename web/src/components/Settings/Billing/PaymentMethodModal/{Form.js => Form.tsx} (80%) rename web/src/components/Settings/Billing/PaymentMethodModal/{index.js => index.tsx} (83%) rename web/src/components/Settings/Billing/{Placeholder.module.scss => Placeholder.scss} (100%) rename web/src/components/Settings/Billing/{Placeholder.js => Placeholder.tsx} (95%) rename web/src/components/Settings/Billing/{PlanRow.module.scss => PlanRow.scss} (100%) rename web/src/components/Settings/Billing/{PlanRow.js => PlanRow.tsx} (86%) create mode 100644 web/src/components/Settings/Billing/ReactivateRow.tsx delete mode 100644 web/src/components/Settings/Billing/index.js create mode 100644 web/src/components/Settings/Billing/index.tsx rename web/src/components/Settings/Notification/{FrequencyModal.js => FrequencyModal.tsx} (61%) delete mode 100644 web/src/components/Settings/Notification/index.js create mode 100644 web/src/components/Settings/Notification/index.tsx rename web/src/components/Settings/{SettingRow.module.scss => SettingRow.scss} (97%) rename web/src/components/Settings/{SettingRow.js => SettingRow.tsx} (82%) rename web/src/components/{Books/Books.module.scss => Settings/Settings.global.scss} (55%) rename web/src/components/Settings/{Settings.module.scss => Settings.scss} (93%) rename web/src/components/{Digests/DigestItem.module.scss => Settings/Sidebar.scss} (71%) create mode 100644 web/src/components/Settings/Sidebar.tsx rename web/src/components/Settings/{index.js => index.tsx} (58%) delete mode 100644 web/src/components/Settings/module.scss rename web/src/components/Splash/{index.js => index.tsx} (66%) rename web/src/components/Subscription/Checkout/{Form.module.scss => Form.scss} (95%) rename web/src/components/Subscription/Checkout/{Form.js => Form.tsx} (52%) rename web/src/components/Subscription/Checkout/{Sidebar.module.scss => Sidebar.scss} (100%) rename web/src/components/Subscription/Checkout/{Sidebar.js => Sidebar.tsx} (91%) rename web/src/components/Subscription/Checkout/{index.js => index.tsx} (90%) rename web/src/components/Subscription/{Subscription.module.scss => Subscription.scss} (94%) rename web/src/components/Subscription/{index.js => index.tsx} (62%) create mode 100644 web/src/components/TabBar/Item.scss create mode 100644 web/src/components/TabBar/Item.tsx create mode 100644 web/src/components/TabBar/TabBar.scss create mode 100644 web/src/components/TabBar/index.tsx delete mode 100644 web/src/components/VerifyEmail/index.js create mode 100644 web/src/components/VerifyEmail/index.tsx rename web/src/helpers/{accessibility.js => accessibility.ts} (88%) rename web/src/helpers/{markdown.js => markdown.ts} (96%) rename web/src/helpers/{time.js => time.ts} (72%) rename web/src/hocs/{guestOnly.js => guestOnly.tsx} (64%) create mode 100644 web/src/hocs/scrollTop.tsx rename web/src/hocs/{userOnly.js => userOnly.tsx} (71%) delete mode 100644 web/src/img/github.png delete mode 100644 web/src/img/google.png delete mode 100644 web/src/libs/auth.js delete mode 100644 web/src/libs/books_test.js create mode 100644 web/src/libs/config.ts rename web/src/libs/{dom.js => dom.ts} (65%) delete mode 100644 web/src/libs/facets.js create mode 100644 web/src/libs/fts/format.ts create mode 100644 web/src/libs/fts/lexer.ts create mode 100644 web/src/libs/fts/lexer_test.ts delete mode 100644 web/src/libs/hooks/dom.js create mode 100644 web/src/libs/hooks/dom.ts create mode 100644 web/src/libs/hooks/editor.ts rename web/src/libs/hooks/{index.js => index.ts} (91%) delete mode 100644 web/src/libs/http.js rename web/src/libs/{localStorage.js => localStorage.ts} (94%) delete mode 100644 web/src/libs/notes.js create mode 100644 web/src/libs/notes.ts create mode 100644 web/src/libs/operations.ts delete mode 100644 web/src/libs/paths.js create mode 100644 web/src/libs/paths.ts create mode 100644 web/src/libs/restoreScroll.ts create mode 100644 web/src/libs/search.ts create mode 100644 web/src/libs/services.ts rename web/src/libs/{string.js => string.ts} (87%) delete mode 100644 web/src/operations/books.js delete mode 100644 web/src/operations/notes.js delete mode 100644 web/src/reducers/index.js delete mode 100644 web/src/reducers/notes.js delete mode 100644 web/src/reducers/ui.js delete mode 100644 web/src/routes.js create mode 100644 web/src/routes.tsx delete mode 100644 web/src/services/books.js delete mode 100644 web/src/services/digests.js delete mode 100644 web/src/services/notes.js delete mode 100644 web/src/services/payment.js delete mode 100644 web/src/services/users.js rename web/src/{actions/auth.js => store/auth/actions.ts} (54%) create mode 100644 web/src/store/auth/index.ts rename web/src/{reducers/auth.js => store/auth/reducers.ts} (75%) create mode 100644 web/src/store/auth/type.ts rename web/src/{actions/books.js => store/books/actions.ts} (62%) create mode 100644 web/src/store/books/index.ts rename web/src/{reducers/books.js => store/books/reducers.ts} (71%) create mode 100644 web/src/store/books/type.ts create mode 100644 web/src/store/editor/actions.ts create mode 100644 web/src/store/editor/index.ts rename web/src/{reducers/editor.js => store/editor/reducers.ts} (74%) create mode 100644 web/src/store/editor/type.ts rename web/src/{components/Digest/Digest.module.scss => store/filters/actions.ts} (62%) create mode 100644 web/src/store/filters/index.ts rename web/src/{reducers/digest.js => store/filters/reducers.ts} (63%) create mode 100644 web/src/store/filters/type.ts rename web/src/{actions/form.js => store/form/actions.ts} (86%) create mode 100644 web/src/store/form/index.ts rename web/src/{reducers/form.js => store/form/reducers.ts} (83%) create mode 100644 web/src/store/form/type.ts create mode 100644 web/src/store/hooks.ts rename web/src/{configureStore.js => store/index.ts} (51%) rename web/src/{actions/note.js => store/note/actions.ts} (66%) create mode 100644 web/src/store/note/index.ts rename web/src/{reducers/note.js => store/note/reducers.ts} (67%) create mode 100644 web/src/store/note/type.ts create mode 100644 web/src/store/notes/actions.ts create mode 100644 web/src/store/notes/index.ts rename web/src/{reducers/digests.js => store/notes/reducers.ts} (64%) create mode 100644 web/src/store/notes/type.ts rename web/src/{components/Digests/DigestHolder.module.scss => store/route/actions.ts} (65%) create mode 100644 web/src/store/route/index.ts create mode 100644 web/src/store/route/reducers.ts create mode 100644 web/src/store/route/type.ts create mode 100644 web/src/store/types.ts rename web/src/{components/Home/Workspace/Status.js => store/ui/actions.ts} (61%) create mode 100644 web/src/store/ui/index.ts rename web/src/{reducers/calendar.js => store/ui/reducers.ts} (59%) create mode 100644 web/src/store/ui/type.ts delete mode 100644 web/static/fonts/Lato-Bold.eot delete mode 100644 web/static/fonts/Lato-Bold.ttf delete mode 100644 web/static/fonts/Lato-Bold.woff delete mode 100644 web/static/fonts/Lato-Bold.woff2 delete mode 100644 web/static/fonts/Lato-Light.eot delete mode 100644 web/static/fonts/Lato-Light.ttf delete mode 100644 web/static/fonts/Lato-Light.woff delete mode 100644 web/static/fonts/Lato-Light.woff2 delete mode 100644 web/static/fonts/Lato-Regular.eot delete mode 100644 web/static/fonts/Lato-Regular.ttf delete mode 100644 web/static/fonts/Lato-Regular.woff delete mode 100644 web/static/fonts/Lato-Regular.woff2 delete mode 100644 web/static/fonts/Lato-Semibold.eot delete mode 100644 web/static/fonts/Lato-Semibold.ttf delete mode 100644 web/static/fonts/Lato-Semibold.woff delete mode 100644 web/static/fonts/Lato-Semibold.woff2 delete mode 100644 web/static/img/bg.svg delete mode 100644 web/static/img/logo.png delete mode 100644 web/static/manifest.json delete mode 100644 web/static/robots.txt delete mode 100644 web/static/static/heatmap-learning-thumbnail.png delete mode 100644 web/static/static/heatmap-learning.html create mode 100644 web/tsconfig.json rename web/{src/libs/demo.js => webpack/externals.js} (83%) diff --git a/web/.prettierrc b/.prettierrc similarity index 100% rename from web/.prettierrc rename to .prettierrc diff --git a/.travis.yml b/.travis.yml index 9213aa88..c208106d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -27,3 +27,4 @@ script: - make test-cli - make test-api - make test-web + - make test-jslib diff --git a/Gopkg.lock b/Gopkg.lock index bc8e5a53..d352c06b 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -90,14 +90,6 @@ revision = "9eb7a3d310e89e471c2cdf1ea3ec8d7fc1ab969c" version = "v2.5.2" -[[projects]] - digest = "1:318f1c959a8a740366fce4b1e1eb2fd914036b4af58fbd0a003349b305f118ad" - name = "github.com/golang/protobuf" - packages = ["proto"] - pruneopts = "UT" - revision = "b5d812f8a3706043e23a9cd5babf2e5423744d30" - version = "v1.3.1" - [[projects]] digest = "1:bfb6d8aee23cd9b2db8fa3760ca11d7a934d9a05993d5233406f1e6042e4c110" name = "github.com/google/go-github" @@ -114,14 +106,6 @@ revision = "44c6ddd0a2342c386950e880b658017258da92fc" version = "v1.0.0" -[[projects]] - digest = "1:c79fb010be38a59d657c48c6ba1d003a8aa651fa56b579d959d74573b7dff8e1" - name = "github.com/gorilla/context" - packages = ["."] - pruneopts = "UT" - revision = "08b5f424b9271eedf6f9f0ce86cb9396ed337a42" - version = "v1.1.1" - [[projects]] digest = "1:fc51ecee8f31d03436c1a0167eb1e383ad0a241d02272541853f3995374a08f1" name = "github.com/gorilla/css" @@ -138,22 +122,6 @@ revision = "ed099d42384823742bba0bf9a72b53b55c9e2e38" version = "v1.7.2" -[[projects]] - digest = "1:e72d1ebb8d395cf9f346fd9cbc652e5ae222dd85e0ac842dc57f175abed6d195" - name = "github.com/gorilla/securecookie" - packages = ["."] - pruneopts = "UT" - revision = "e59506cc896acb7f7bf732d4fdf5e25f7ccd8983" - version = "v1.1.1" - -[[projects]] - digest = "1:e5bf52fd66a2e984b57b4c0f2c4ee024ed749a19886246240629998dc0cf31ce" - name = "github.com/gorilla/sessions" - packages = ["."] - pruneopts = "UT" - revision = "f57b7e2d29c6211d16ffa52a0998272f75799030" - version = "v1.1.3" - [[projects]] digest = "1:870d441fe217b8e689d7949fef6e43efbc787e50f200cb1e70dbca9204a1d6be" name = "github.com/inconshreveable/mousetrap" @@ -214,17 +182,6 @@ revision = "bc6a3c0594130b1e34005880bc600b6d3f49fa7f" version = "v1.1.1" -[[projects]] - digest = "1:1241b137a50b99f7f395e6d3d917cafa4330bd17c55dacef18bfa8d87707533a" - name = "github.com/markbates/goth" - packages = [ - ".", - "gothic", - ] - pruneopts = "UT" - revision = "3b8012093d951beedd026d120be1792db01a08f6" - version = "v1.54.1" - [[projects]] digest = "1:c658e84ad3916da105a761660dcaeb01e63416c8ec7bc62256a9b411a05fcd67" name = "github.com/mattn/go-colorable" @@ -367,28 +324,15 @@ [[projects]] branch = "master" - digest = "1:1294ed02c7f91baa918f37b4cd7041b3f6ed39aa2ee9644fd39eb9cf6adb0066" + digest = "1:d7b978a787736537d0ad2f84c0e8b75b05c2febef0537198e28edf1cf2768afd" name = "golang.org/x/net" packages = [ - "context", - "context/ctxhttp", "html", "html/atom", ] pruneopts = "UT" revision = "3b0461eec859c4b73bb64fdc8285971fd33e3938" -[[projects]] - branch = "master" - digest = "1:8d1c112fb1679fa097e9a9255a786ee47383fa2549a3da71bcb1334a693ebcfe" - name = "golang.org/x/oauth2" - packages = [ - ".", - "internal", - ] - pruneopts = "UT" - revision = "0f29369cfe4552d0e4bcddc57cc75f4d7e672a33" - [[projects]] branch = "master" digest = "1:fe40fbf915905f8a2397b321b3f10190edbdf5d293f087d01d7eb3a6d1a4adca" @@ -408,22 +352,6 @@ pruneopts = "UT" revision = "9d24e82272b4f38b78bc8cff74fa936d31ccd8ef" -[[projects]] - digest = "1:6eb6e3b6d9fffb62958cf7f7d88dbbe1dd6839436b0802e194c590667a40412a" - name = "google.golang.org/appengine" - packages = [ - "internal", - "internal/base", - "internal/datastore", - "internal/log", - "internal/remote_api", - "internal/urlfetch", - "urlfetch", - ] - pruneopts = "UT" - revision = "b2f4a3cf3c67576a2ee09e1fe62656a5086ce880" - version = "v1.6.1" - [[projects]] branch = "v3" digest = "1:7388652e2215a3f45d341d58766ed58317971030eb1cbd75f005f96ace8e9196" @@ -469,8 +397,6 @@ "github.com/jinzhu/gorm", "github.com/joho/godotenv", "github.com/lib/pq", - "github.com/markbates/goth", - "github.com/markbates/goth/gothic", "github.com/mattn/go-sqlite3", "github.com/pkg/errors", "github.com/robfig/cron", diff --git a/Makefile b/Makefile index 5a19a1af..b7566daf 100644 --- a/Makefile +++ b/Makefile @@ -41,13 +41,17 @@ endif ifeq ($(CI), true) @(cd ${GOPATH}/src/github.com/dnote/dnote/web && npm install --unsafe-perm=true) + @(cd ${GOPATH}/src/github.com/dnote/dnote/browser && npm install --unsafe-perm=true) + @(cd ${GOPATH}/src/github.com/dnote/dnote/jslib && npm install --unsafe-perm=true) else @(cd ${GOPATH}/src/github.com/dnote/dnote/web && npm install) + @(cd ${GOPATH}/src/github.com/dnote/dnote/browser && npm install) + @(cd ${GOPATH}/src/github.com/dnote/dnote/jslib && npm install) endif .PHONY: install-js ## test -test: test-cli test-api test-web +test: test-cli test-api test-web test-jslib .PHONY: test test-cli: @@ -62,9 +66,24 @@ test-api: test-web: @echo "==> running web test" + +ifeq ($(WATCH), true) + @(cd ${GOPATH}/src/github.com/dnote/dnote/web && npm run test:watch) +else @(cd ${GOPATH}/src/github.com/dnote/dnote/web && npm run test) +endif .PHONY: test-web +test-jslib: + @echo "==> running jslib test" + +ifeq ($(WATCH), true) + @(cd ${GOPATH}/src/github.com/dnote/dnote/jslib && npm run test:watch) +else + @(cd ${GOPATH}/src/github.com/dnote/dnote/jslib && npm run test) +endif +.PHONY: test-jslib + # development dev-server: @echo "==> running dev environment" diff --git a/README.md b/README.md index 42925a3b..827ab511 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,17 @@ ![Dnote](assets/logo.png) ========================= -Dnote is a simple notebook for developers. +Dnote is a simple personal knowledge base. [![Build Status](https://travis-ci.org/dnote/dnote.svg?branch=master)](https://travis-ci.org/dnote/dnote) ## What is Dnote? -Dnote is a lightweight notebook for writing technical notes and neatly organizing them into books. The main design goal is to **keep you focused** by providing a way of swiftly capturing new information **without having to switch environment**. To that end, you can use Dnote as a command line interface, browser extension, web client, or an IDE plugin. +Dnote is a lightweight personal knowledge base. The main design goal is to **keep you focused** by providing a way of swiftly capturing new information **without having to switch environment**. To that end, you can use Dnote as a command line interface, browser extension, web client, or an IDE plugin. -It also offers **end-to-end encrypted** backup with AES-256, a seamless **multi device sync**, and **automated spaced repetition** to retain your memory in case you are building a personal knowledge base. +It also offers a seamless **multi device sync**, and **automated spaced repetition** to retain your memory in case you are building a personal knowledge base. -For more details, see the [download page](https://dnote.io/download) and [features](https://dnote.io/pricing). +For more details, see the [download page](https://www.getdnote.com/download) and [features](https://www.getdnote.com/pricing). ![A demo of Dnote CLI](assets/cli.gif) @@ -56,10 +56,10 @@ Dnote is great for building a personal knowledge base because: You can read more in the following user stories: -- [How I Built a Personal Knowledge Base for Myself](https://dnote.io/blog/how-i-built-personal-knowledge-base-for-myself/) -- [I Wrote Down Everything I Learned While Programming for a Month](https://dnote.io/blog/writing-everything-i-learn-coding-for-a-month/) +- [How I Built a Personal Knowledge Base for Myself](https://www.getdnote.com/blog/how-i-built-personal-knowledge-base-for-myself/) +- [I Wrote Down Everything I Learned While Programming for a Month](https://www.getdnote.com/blog/writing-everything-i-learn-coding-for-a-month/) ## See Also -- [Homepage](https://dnote.io) -- [Forum](https://forum.dnote.io) +- [Homepage](https://www.getdnote.com) +- [Forum](https://forum.getdnote.com) diff --git a/SELF_HOSTING.md b/SELF_HOSTING.md index d2fffe73..00f925ae 100644 --- a/SELF_HOSTING.md +++ b/SELF_HOSTING.md @@ -135,7 +135,7 @@ The following is an example configuration: ```yaml editor: nvim -apiEndpoint: https://api.dnote.io +apiEndpoint: https://api.getdnote.com ``` Simply change the value for `apiEndpoint` to a full URL to the self-hosted instance, followed by '/api', and save the configuration file. diff --git a/browser/.eslintrc b/browser/.eslintrc new file mode 100644 index 00000000..23fadc75 --- /dev/null +++ b/browser/.eslintrc @@ -0,0 +1,16 @@ +{ "extends": ["eslint-config-airbnb"], + "env": { + "browser": true, + "node": true, + "mocha": true + }, + "parser": "@typescript-eslint/parser", + "rules": { + "@typescript-eslint/no-unused-vars": 1, + "react-hooks/rules-of-hooks": "error", + "react-hooks/exhaustive-deps": "warn", + }, + "plugins": [ + "react-hooks", "@typescript-eslint" + ], +} diff --git a/browser/.gitignore b/browser/.gitignore new file mode 100644 index 00000000..b6da8558 --- /dev/null +++ b/browser/.gitignore @@ -0,0 +1,5 @@ +/dist +/package +/node_modules +.DS_Store +extension.tar.gz diff --git a/browser/CONTRIBUTING.md b/browser/CONTRIBUTING.md new file mode 100644 index 00000000..6c8f2355 --- /dev/null +++ b/browser/CONTRIBUTING.md @@ -0,0 +1,18 @@ +# Contributing + +Use the following commands to set up, build, and release. + +## Set up + +* `npm install` to install dependencies. + +## Developing locally + +* `npm run watch:firefox` +* `npm run watch:chrome` + +## Releasing + +* Set a new version in `package.json` +* Run `./scripts/build_prod.sh` + * A gulp task `manifest` will copy the version from `package.json` to `manifest.json` diff --git a/browser/NOTE_TO_REVIEWER.md b/browser/NOTE_TO_REVIEWER.md new file mode 100644 index 00000000..ada384f5 --- /dev/null +++ b/browser/NOTE_TO_REVIEWER.md @@ -0,0 +1,18 @@ +# Note to reviewer + +This document contains instructions about how to reproduce the final build of this extension. + +All releases are tagged and pushed to [the GitHub repository](https://github.com/dnote/dnote). + +## Steps + +To reproduce the obfuscated code for Firefox, please follow the steps below. + +1. Run `npm install` to install dependencies +2. Run `./scripts/build_prod.sh` to build for Firefox and Chrome. + +The obfuscated code will be under `/dist/firefox` and `/dist/chrome`. + +## Further questions + +Please contact sung@dnote.io diff --git a/browser/README.md b/browser/README.md new file mode 100644 index 00000000..3dece9af --- /dev/null +++ b/browser/README.md @@ -0,0 +1,28 @@ +# Dnote Browser Extension + +Dnote browser extension for Chrome and Firefox. Capture new information without opening a new tab or leaving your browser. + +![Dnote browser demo](assets/demo.gif) + +## Installation + +1. Install the extension + +* Firefox - https://addons.mozilla.org/addon/dnote +* Chrome - https://chrome.google.com/webstore/detail/dnote/mcfbfmihbijfaambfbbfcdcfibcjcahi + +2. Login with your API key from https://dnote.io + +## Overview + +We learn many things while reading technical articles, or browsing StackOverflow. Unless we write them down we forget most of them exponentially. + +This extension integrates seamlessly with [Dnote CLI](https://github.com/dnote/dnote/cli) and requires [Dnote Cloud](https://www.getdnote.com/pricing) account. + +## Hotkeys + +Write new notes without even moving your hands to the mouse. + +* **Ctrl + d** - Open the extension (**Ctrl + Shift + v** on Firefox on Linux). +* **Shift + Enter** - Save the current note +* **b** - Open the saved note in the browser diff --git a/browser/assets/demo.gif b/browser/assets/demo.gif new file mode 100644 index 0000000000000000000000000000000000000000..b122a441b0d6f110482bc6a923ab45d588b81177 GIT binary patch literal 531390 zcmeFZcT`jF(=QrA$52F6Ktx2ONeQ45nuHD^6jA9af*>FwU5aApA@ok@ozScFDj+SP zO9zqOMS9N(-(NlNx^G$Q{&DU)S6Csiv!8ipX7A0Kna^iNNktJN_Ns-bgy;YOz~OLa z003SXjVAmK0DSrK<>=@LZ-&ML0A5~R0Dv$6XV%`{juS=;1BA`c0Gu!$Cu}B+!(Y7N z2&>S-Xq+(NEHvJXum+FD3kzpwXA2XK{0M+R)I@3~h$PeB34&{DYtaOm1hp>CG9!FoMi58Ph#=n#kGoLiLaG^Iy|8d< zYAQi{GlDe27eODw={U5RFd86?#uKap2=DCd-~j|(%m_;_cEb}66U-y%PY_So)65J_ z_>Hg>Ck!x)kB`^Z)+QK6_$Ejq>_pHD4KPCs<1SvpH~>M6Fph(RgRmtlE34UsV1kG6 zgcAue2yZxoM+y58bP^UeH#a9pAt;L$CTN2utdy6RCm174Py|ibmSEF`QUHQh1kVyw zC-|MNH! zec{&&;|M1a&LFHK`~;X;TU&>Og#5LLU=2aag|hzs{>H|}1gkED5_TroNZ1>V*VNP` zTwsFr7j7ar{^BAKY$OOGya=8b#uGjx*nHuGnjn{862b8V{}S$cUS3|pEpr=xNnPRT6FC`81z`a&G10}LBN9?c!p+8aaZ6o1 zCVqb&l0Og0|DPWc3OrztfDacYYn-5pqha!FcS0HcWIWJgJQi^v;E z6pKn}MrQ=~lU&2j(#-A{ut`^fN?8^z9%8>b*;$s|n+)}$x(O@C^rtIF@ILP<&l$|t zOot`HzT|$-(=D@{>iUv5Qe@PEx~W=`KUQWwnESlDqF|!ZX09tywX$%k)_G@js=Ko2 zMCaUb$rg62EzkW1%bw7mGRsEjph`9H%r>=TusV`kMS-rkyZ*8>f z?T?=N+Jj#+Edlsj8Vz+vJIjN4FMAv6PY$-`x|3;>2kGYy+I}nz1xI+C&hg)#L6BTC zpYfpJ#LRet9xl&#(J6BO^k&dD|LMbMhI!?U=l}V`ooHHz))uf@`O}{}3p0!2t5}{5 z06#js<$piU94d7;Sf?pia({U)1WLv;A1Z&%Vm?fnGiN>={%~bJLQ|1vAyO6Cm+ZPb z&&|qZ=(MsBW8}-T82dWfVi9egm9rRURk5-dZ}W|3DZ!!8#RLR#GG~=q{=Tx5j3DD( zPVv5GxtwZAuhffV^Cf3XUb@Y@k`bwGxsn;n9;ZTt9%5w6STyBb#biWVuI4x}H>nWa zimN2SETrOj*YeAUE$_wUx}x6}nq6Zva%3f2OSZow+^&+{?jHNn9Sy3TEa+3bw^1Iw z-F4UYoLV)jNMAh0q_X2`tzj7}>s!OJQ722jFY6U+o3(HBC+=1xWQ3y%x9vLl9S_2~ z5uaKglH1sl%r52IZE@yreI2?+ZU*AB`VFi%-h4YnzeOiv+cbS1^RD8+!;PhdBgV=u z>*z(d%1s9=8TFz@^^sqau9G{0?cGz^C{|a59JY4`(Ne}MQs}nbugt~295@0j_ThFY z2A6ah=}X@H?1~lggY^0bY|-U#ntOS$=BCxIutY5eQ!JgTGzHR?0We18vVUn z_I79r)dWgcB%odz+7|%`F_BtWhg(Uj&PXk%KsG=9@}T2*dXtZf>X};c$5#LG!F9PW zRtr?dS`$&Zt65aqV;Zlq+oRm_U~(ICexjjEI`*3_o~4)PSX+@v)RkKa6vtbBIbAma zc&BU$bqd=TymL{xR7Tak&jW}IkP4vC(Yx0EaD-|{tCTK;e3=yN`;CXq4zgTw7HjL) zNtDJsLcxXFK%rnmS7U->xK4&lE~OU_Pe&_NwfMLAAck6^$hhT9zR1~*r1i61Z~vw! zJ^+88VNBo1ks^RIxwH$>mI~B;q_P?iVsSr)Xca&sfHGp}gx$0|7AaCUz3jhgJb&kn zN_U70oulhXIK|nO5+^qHYmUlo^c5*oG|W2@2kA+at(UzR>C$~<21hSJ*dQa%G>nXP zm}p!S14});%*|Q!_}g>7Mf$G<{jSxPfV`=8(%*#LEN8b*VJvqurw(nxzT(@`#;3m( zR(eCZZU*dDEFTHmNuiJ$%v){;$`7UA)Hml!ZhDOvG-Z$OOjY8gO7U?+m|U6#058eg z&^j})UEOOkzbzNl7hSV!g1kb?E}YXtf;EYFH9NFcNP@V|5Worod-!cDfir@}_1 z*oKuaZ$>5G?A06fN>@!CPG_RWMHDHqKI`R195iN)a+$+5`(KKK3as9!PK@KnAF2oy z(_8L6VQEG$r8Q9(+W4tX&N3fVb*L5E#dJ?DiXT+>1r<7Et4^)zAJp`|Q#yxIvH})5 zp9xVFIk&4$Z^s?f3Gn7Vt``}Vd>-~_E2!w>lIo9RWAeyfQ^7Df@9Fd7gGK;NF+y-Y zsb>73i9)^D^Sb1%>e3I2wKp}SIN?933=Y3C_7wYyVt>-O9k#I1lpvMhv-I(Yt=#G* zC>_38g_777fh?QAmsUTCCJw(rdP;&#%Afz^-V zxD|D`kFpNV{g?r(VpMIZl`l>wACF->f7P*r}Nx+jp{C)p6%$`(*&u*5)*@|XJ%}}=bUarB} zs%~%1aAnV4q1)M-5pC^gyZU}<{Mov>M(y}W&wfSi*@jI>?c|dBLCwV3rgLxY^g+)- z!^zn%1Z~|6xyIqw8|Pa{jk?+Ey@%f<&VPr7)Xj5g9CaC-Z^!o5EsFLY^|+nyq|nwc zD`^}L#GmhCH0oD%dXI-|&-aQ$>et_BoQzML?^pHKZ+_@KnLar`XrgV{^3yn-y@5aM z&}i6>={;SPz#sL6H0)+;oUIz*k4JkO_A7hOHr?2zD zTKw5oNaN{}2L5;ge}358cz)1}KR+R)FpLNw1VN&UAah1g#3HDw5TH>6%^`x0(Ssi1 z!JzAL&Dn!7)`PjqgJsl%_0WTj(UTqG$)W4X>FmiJ>&aW?$v5gLaOeqU^b&@6-PiSc z=7k0eD^UmhGQDU{zFZzaj4)IqGQ#&FN69r$ zCyJk4u|UVfp)Ilik$=lkYG!hBrd=$uoRU`F=2wv2TQ3fqjay41ojJ-yw?153FSBB< zT`Ao;O()Io2432zm~@gzFOLhSL~yrG-l0h=cFo(YS+}OxOncd|6+*$@oo0!uE3W6ALtgRNEa^~AKobytJ@UkO_NwUeaYq#1MrPl<}ACtsrA@+1~aH0Zj z5CFrJoiCho4ot|2nWYmUhn!=>nu?HirQ1D{s>g+tf)2-b#YDWWlyF1l#&!na#N#&Y zf|ENT(wBR~sPem#CU=JoUygy3(h)4%EO?TFH(9|>gd9csd~zW%7b_!(+p(D}DY7Ul zIGE-;$Ab_MeH(x`>p3GejS$oZ5Ynvsw)za{7teZHM2OK2_qx9xf83pvrb!_xG7czM{`jzvuWKrs_K1Ei{zu&&GESv;e|4ns z0Ya6<@=a_bDtRw)uQ(a7mvu|vH_W-KCMj<~zL7{AZ2It+oNHVrrH;i*(Q9bd22Z25o#Q$cT(TbReUd?DCWnhzZG<}r=68@yU^>f^a=ZBW?_g(aI_p74`=jIEAqY?g8@Wn{Ec13K5}v_+y|Y76 zd^;>OFoT0jr4y#V9UhC#;1uobRCnEuNC9PXE2(s8#cfAo;F-KSon6{B+fl`VnS6vC zMSpxdx(b^q@S(H&#qoAb6DSMpr-C(R-ihsiX9>r2V$H;N(0zef_p?=Smijw!qu8v6 zm7O?i*PZwoP&TAprN=IACt(?$Ek4rO<5aVgxD}W!xunwTI=+*1h|PX<(24JLKi)|O zP-CFvus%=b-4qHnjO_KUK400VO zzL%pJl>0Or_B~gBFIN|rt6kakz0h?p&xkrtw;eWI8n>5ku9l}i(luOBvsYjflxMgE z8>t!JD|E)?y*TI^X*k|1LQv-$k*kh=W!^7Fs^uGB?;iaozF!g=l>eGbb*xK&zcdz? zZzkG3*5kTgmO@=%uB19X5Vv2BQ7f?2=^pVq=-BlnS`Vcx{eqa?3G@xC#28LbN7C14pcUb*8j3ILHyWPd|G4bDgz>$G?Wrzt0P`4ve~<5 zC?S*rAZ4?$#yQMPu*MQmYTLNtYYoY1by+SC7r$F$Af||iv;q}>``#XZC6dY5$`-wa zd>LBzI1qT*;|e+Q5}nEAiRk8fN1+)=iV168RYfO1;+i#xmcL2PMO@)V~&+!$~ zSp+%z%w^L%-H=XwsQj#hRUP+R85ZFz;Q&83F1|a)_-+#cyO1#W9QeljCc0pc;AEDc zlfdc5N!pmA$70s7fST@5M9DqWDVqYsr>aVvkEgX}_!tK*Yh_A?Ia; zr`62)sd%&GVpDvS=#1I{Q=hJ{U(U;dML(K@7N~Lpil5pWURl%QpXF#rdeiDw!1#cD z1%D|mwUv5f%GX)Ow)~)*D^q5N{pmg6#3;k{HxaSK1BxPFMn0}7tZ7e7RER7W8Uo}4 zzxK~nIDU%ApPPKl*aEE*qBDQ~)^9dunyuko&<}oVX&twE6;9#6fF)~|d*d_nX21Mm ztmbYsGWF2KAG~<|FGQsy|6Fr(PWy^{c8A9f&E>oDa?=I6^6uuUi9X~ zsOvv+6elrKl0TvLAI$6zX7;~fW`9EM|02}x6imebK1nEV@h3X>sr>Pu!2y4T+NnMy z0zzyE(#;Qv{Cb84}J!KFGB76!{&2A5G`f40Lkr+PQ+j;^2evWa>f@#{{as8 zE7aCC%UOv28ysLvi9mF{qR4PR?>FIami`wUFl@0z2(@#Tl0NSL6AswUF$O94cD&@= zi-m?zUWD2ioL~az$vG53X}6oAvz(psSEzjf2VhoJSfuU&by?B@x_H+W0vsTIFC)gX zW-d1=Yjv%t=_1r_O(Vbv@tZaBQkCPY>t!ahBP%X#+HW_$jGE=~r;^!dH6bMgWN5QE zp>G8MbHXWE?t^ia8?{^C?)|EBc3R7--yhdQgdQZS=G8<8yIE8(0Bt5wSliN^uXh$> zUUI(SRr=M+pkq~1d~~iniGU7N3w}O3c3Y`h=t8Y@lHKszvZD*Y6x-6hPgu9RK4P_l zgN)o*`bGd6y6TxKk4oIhknlW8QkJ0YX55%)MktA5f?>~7op*a}ZOu%?mkjEf$`a&u zxP_YmSh>J!q!EdBw)aFnBqI;S>lbZxM&2DvwUJGkRXXSZ5b>xOadRj4E%O$=c8QNC2rCQgHC1E2Vc`Kq!VSre$ zz|Q_itN=qK^j5(3_i}bfL;b%H2wO}C!g{pgv8 zqH`Dm955M;lD|!L<+Ou@p`48itlM0l*`v1q_64wS{|*8ACOU|}mGEd0jGyXqwTLH& zEJCY+6j%gcOJjnAtn~5&xaE_86hf#C$v?~qz0zqybkqHH&CzeZmo{^)!xeO1MPq(f z1V?2@w4K>XzEk-w3wuD2LgY4wCNz{#y)yO+xdo{Dhsc0Asb!-EHhMy+&G+o)JQr0% zXGky^_~uGsN6FCG+qc;*I+d~6sQ0#)6^3q%UK$|fv5UOS0%Y)EwlJ*~Wnq- zAjeCUb^oUL66*1t$CZfdlFtaCw)?UE2)sW!;4T`{N0Y1@5e#+@%thCeR8k%MpNiN9jQ7fh8v1LZDTQh z^UdWcuNE$j%Z{YHQjMR;l_h@c=vZYS99V8}Bi*!*L5!{N3-RR=j2v%tG3hh90aI$9 zj7u7vH2gLI3fC=iPA+m1nkFwdEcQ0=eY~1Acd0+*br&|V)bqDFO2l3b0rXYmc3uc`1 z9!M|C{F{`qO0v(mv}W-XgO0KEMb)(O+%zELz__NC?F_DCb0w&_s#nwl-|GyCqZQJomo zLee+66*M#&-bx9N3a*7$FFHKuoL)?K>hpU2`o>27Lo1!<8wbj-x=MmSVCPs*4*!A! z@)*2?>I*!^e)iU2iO2psIKWJx(xh#ff%Y@KX%b8Izuw}EH!vSKl zJMmFLf8c=sqi_KJ|4VRyEW}%0*IUuqTRGMnR^<&J^;SRh)@1b2g7`eu_0e|r(T(-d zuktY*^?7mVW5nod4Do%f>ucuhYaZ)sS>T7-IYs2Vg2k~>z^>cFebB^_Mt@8Ug z>gRswhhRi{LXh6NNMC0pG8T!dLI#c^gYk#RP)7f7h<~K6f3&lIY^;A=m4Cvhf6}3U z3M0xvnHCDAaY&)U#G-PmQ2C>%LJZ0QN&|(`;xz**oCB(218S-Q>P7<^4g;DP1HVE7 zTXh4!IR|#c26j~iVn+jeFoEb4(jrLEkZw>uh7`ROI9?SrIT|#57&OBeJPQe)iKWaj z3R;d0E{vrbQx4ud4Blc4*@lGd>W0*D2d&129AilLM?=mJLjX*nK$YO#ln^p>NI4{w zsyY-j7D_V~0<{UHw+Mo6g8BGX>6r!&r|{^TlE8V&NQm;pfh%Tj=m&^Kibg zaDk(6EGAqSjRNaMJambG;Kd?D{39gCA|9c`#Cam5#UkbPBF`8jc`YJg)sgU(AZ2v8 z8dH>(SX8TdXxdg}u5y%qb(G-|?QsVY-blI#qw;dzARQ6>935?G5qZ=>RK-rUJ&3yM z{rLNW_>PVAU{$nhb&P0E@GRmns90&M3}w%B4`dUIbm7UNiz)1g2|kLw>mTg66+>zt zE65h>ttaddO7;d!UIL~<=BSo{WAiD{SuSzcEP@=H3>G{o?Dv3vE20@WR96}9IX0os zL*vsBv0G43U^NQEl<<`)^m|oYl`z$LC|Ro}07)5>p%?ElhIWO*TG?ojE@BU!#kEu? zPBMiIDU%B!?or}rXy33sEon;dBEzk!0%J0DoI0*Z)f)+iIE(8vJ zfKUKiv-Sbqr3tUt+~TB-qohDFTHj8+18_X1Dw$q96{j3DZ^N@gm$Ky|t-njVc?am) zq;z*KsR50e2dABt;!xMF-YW@B z8$(A4x@IWn27K=T9)RT@#-R)cGw$Dyqts8sK&bA@fvlco+(&1;h|5r|Aw2-6+(V_m zhQ&X!%*>@rD$z>1otyZQIh)@yh^IVFG){IMoi*m4S%42QTm8Wn~KXP6?Y^kR3k$?C~T!=$c z;kIkU&7;C2#_*lEA_1nb{oLTIIYj`2aMH1&mDo@sx8fWAAtb6nr^sTO_^`#Q;=zt! zT7#17OhNP$s8RD0mbYOU=BP_I0?I~9I1EZT-AcLROL=Qc`6fyQPD;Ty%7i7#?i-Xn zq;e~R#FvR1EFsDJi!1& z2#HGwfG(5*{a1OUGh|;kl#VCpcr=tjFYKZ`vJy~27sj%JDhUl^V+tpfM^2qlH(kOp z6f_*wf0aja0=bzYFo)sy|0<6N<9Q-Pt1rqU*U=F|D-p7U@qd$(tNV){u_o==sB`L8Xb7hin(&M58#}qDKlt=h1g6+3}HnLBA z^JNK zm(WQL7Eh$NX}dznhE$TNYEnkIgACZ%cS4g_#bWFU+^dvi0CPMLg({(oCyz@3F{iP^ z0tXL8f8->Uw8Z8>6PAr)iN-+=dgSj)Nf~QUcU;pUT>*p3v=#^&TuyxZP`dOgtspFh zvX7HpGd(vp9X_5>rW|xmM-Pol(~3)#_Dlk!P?MdMU(lJVs~JY(X^T}!h00m%ni(a7 zNz&{za$BhnnX_zaQk3*E47O;!T*$EgDesxHKcW)t#bZOS-roVoZ&hc1a>djgW!n$X z7|ewxyINw9%sC-Bm;*bhojwq~cqThrPJ(!jQfGRrSbV%#?u>uh@39+L}eyAY*>VYIF-#Sm$`Ye04r{ zHGiNh!h*735feTbSMZ=ZY#0@ME2m&)Je+o{UQjQe;C+*TB!-$%70p^|E-n!4=v;mE#wa^5a<_#ZK_A#J)+D8t#l7M7-;v^E@oCr|$)1G^O#m2XIyavMUzO$9Ff zHwLy)poNGGXj6#%GX)(B9^8EEpA77I+5&RKb*Lpn^oi2`?v^Jb>>mtl*sb7v)@Tw0 z?;bSm>%=v1%KgFCG5{1N-qqW`y5$g=Ko;HV66`hRqZjvq7};)>i4x_|tmOOzZw1H5tgw=Pla44K4XGhJ}8H`jmLC5oNB zR(se64lW6N1D|95dza|H(L(-oiT=On620;tx_{=}^K zzOUEcLj1~X0hdXOpN^mZlr#RTQ;`!)q=|4tA{dK_{rLATqUWEiq%#XVU;fsqh@X+a ztcO54mCIc+U`vw}`;7;_v{ctF;{%APWBkNgXK&?Hkwcb!yMLf^_6`t*>%`P3eHU>88z=N;u}i z?zCrtDVn#;2g0KrkZ8;+TNEn)_m^L+jo^WUC~e1f^)vlxz+FNK!Ct0+0@ykqyn zJGWs3TJ}jQ?Imam{Lr2kywV}rCmkXKvHDW~!>CeLhdRVU<-^A2jS_+iAd z(kETDm+tq|VL{o*))JD+ICDy$^t{X$bkEr8jGhR6lF8o{zo*ZM$y2?V|7ayc`?%_2 zn#zXlwc4Q*Jogs^DTT)>l)E8tt5qnvBlShev1jbJCewr&#Pe6;hN@Rrppa8c=+k@h zVpG}`7jg2+la?;Uhe+^^7z4N3WO(_V=LrRGL9LGgL_(p&%Eo{LWz_H(C}17@K) z5JkS=z3{(JQ~7_4lTBIF)QP7-tZ09?VPz1n0yTohhpv@kY=MB; znI>fS^H-MX-AR{*F=6FLY;2-kpUxq2O)|3o)ijmQRniY1*?7EX;kb2BB|QM%3cZpr z2gE1Kwac)3hRu~4#%VdBw)1e=&-KTn#9f+nUf2Zx=hIaDYQDLs??qfkkRjRQ|#Tw{A%vscC=GLjO30NlRlBuPJRP(HsYrJ!jM5LLMBk+JwjaW15Q02eR2v zo}5b4^%yl#CA0oFz-=7_?*})wFtQmoDrl1wX`kjyvEx*wtv&cN$={}_96FF85udUU z-NWwair2J^9#C@EzY((slP?bW^Iw-ZZz4*7(%3sAFYv)w2Y-w}Le@vnu$5|u_a{!X1ucJ4 zMjOW_N@TH9lC!EC#%_jym9YWs*?<-ZiUc~OL?x={Fwl(KRgT>E2bY6CQb38o*giy} zxL*4^1q@!dnK2?@Yh+{gfo{vRydP*O0a~pypJqalWLrLcx*_|JkLfWs6(fNn7-VWR zqJ%rZYBcD}D0d{}^X+E9UX!1zd7zsz2>6v!9}vP%PP4HE%ytf8t`4*IbL+r_XmcUY zkU@Z>*CwK&FncI_vK%W*1+Eemyj|r0= zLE$@)oGY#*IpO3y4i-i{Z?^m!%>#iPKm#MeStGG$lr-mb_au)Zj3}cK*L~6%p0znf z@7#U4;z&E(L9`kkMC1}4SrOS@5iWuuCxg;#jrtoNsqI$^^3tQ0N9}gNAupMtkvU0j4`krG;If3fs%HQE-sNfj$f3DH4^X!9GBJ^wbvI= z!jve*6e&sWQm=!qp$v$%Q0rMjgvbUC>Hq}sDZw~O)C_>_T{z`0NK~{v*)xUs0jA_$ z3g3h`Hm3(3+%eW;IqnmkK|CwoGkOR*bB`x3f#(2-%#}+ePZBEcqX0Is+f1n@%b!_C z9^f){XgT%U+M-D@$*oz56A<_mrPmMt00qkT*E*saF?N6^q5W64UbgyGX4s)9Qt4gO zWz8May`#-7c(&UNS;W0qk5S{?p=e6CX+0iJSGTKK!Ktl&=f$M9K-$MVP}~Y_w@Esr zCi5;NTE5*;(uGW}CSGOCT^W`J6aPdY^{-Y%-R>YdDiv~OggrY7KG&p$0+J1DvZ2bK zlF7r*xqvuukO@_qB4LIjWr}K-tpy%RoDv zWR9ZH!<;gueZ8OdJ~m5MCnAec@cN%5CW zUCP7CxeB~7$m3*M#uSm|Bu=`_-K{&bbOlU+-mEl_Ft?Y&4N?My`qJJF&+;saQ9{kpZt*_!>o#Yz!pQ|&9{0Y?g~4XW-?RFb-t8W>c{DA~R2E_z`C zbg)r$+;|Krz;#o?lFPYXVej;MeI7 z-_#p$)sElrCO)aNy;NR_m#C@kMp3x9O}I6XjG}^p^{cMA>v6SGl{TEBjqdGr`)-Yg z@r}oC8_#Fz9=$EqpYYzub#QspQ0>=10YX?;H~e^8yBSbhn&Dp}(#&AkoC;~4CPz&x zMcuG!W<70YWBJN1`IW=)E9b|r+zDTK>%Q_$eib{%{<|oW!*Qc$#1*~ZR>efsI|7s`Ly5^D|NG%py;Qo*I&Dzwj)?N zJS9844Lf{4b|4cvQ24rzz{!r_(~eM0$7g@C02p+THc1pVz4*hm8-2=Tr>miN@ z0PU`_wmULN$L=aVUb5mY3W!rPr< zM0ZC5)~mETX0khOvZ493p%ugxk&7Mvh;#dj&0p`frNlOJU|(X1%IZYS_a2OX>{+f8 ztxM=E1mS-0;Yv?CnVw)*411UJaXphgb|*b_EWNvuBm$Pbz<0PqY)>P$^Sv^*97`#O z5c~q-vd!h)W$F7M+iPptUm@AYEX74S)kRL-ow(k+b9x7$)-Pc%$oiD)$|u3^bpy;I z1KjU=nCkoQ;|qFlR((@}eKlEqLTZ$2i)jJ{11|JK-o67Y1tJd;hi>9`dnujw07zov%4x>mXI{`dBT;E3)!imZ!h#slZz6&s zDD+b}eW?ePrbco^dav^j@2AyVMh|3t8i>C+UV3SO-lr=$%R&7KqMnLDA^NRfQP9}n!2ntFBMGka12TVoy z|2M#FG7mrNQc-WG+2kCFSWcE=`|xS>G;%SzU=ch`6Y*{`(OTC2Cb63KPo&Y9z7bfk zi?TB42h<4YeT|rfE^J;I>U%c8ph!DOZKW|iEuz5b{z!7uY4(u_mESr4HQchr)M)=? z@4Kl9DwEN6km$b547(OUznCPxN9eaUt+V^$bEGQ~``Q+GEvo*twU3~x4Sd^dY`10+ zdVWV0Jfa@FJ}>fQWQYGf@ykwyS5X^d%{^lKK!Bh7y7cpT(NFW2Sf?azuH=Yl&T5V) zy`b%sN3~wAYZsQdv%R8MXg&4yXD9I2bVC;N6%lD!+9U-Q^%skFn^Sn%I}pCVT)wiM=xG#(tv(jpPdD0jiGo>BD;nC8ZoKsspS-Plax>P`<4dnt*Y zwMO*wSLr>gnu2RLdv<1BHg{*HmD7F`dv4#q`d;Mxhlr_8l$w@ap`n-nTka*2wP$1T z^zRRZegI}Bq@^Vle7{pP;<}S|3(9wU1%?6Ca}oUSuif8czOyE8JhnN-xeGngM~DN0 zmzce`w-6(%i=6EoPYyp#@5{{Ee?lC>HYcZeh{LCSpHD;-2({lI{VXVHVai3dxvZ2s zU$Vg&X(ZUNV4eKDC&%PuVbU6!W+f;!ocwN5a7w6Aaic@<0rdHh=jW5pNdpRasl%i7 z@p{@7|Mx?8H+IH9pO2QFY}O6;^vqk^-FgyqzWq{YwP+ZIAGOB4Y$goE`hj1er8~|C zfFJi7)xs%7_+NEw{g6XmzN?<0+dr!ic3`pRUZ*4Fna>rTp%N+DSaH{Ibn8{C|JA{d zc~1)mYn< zbo{kAHF40Nfr;ld+!(KVJsPXj1;7d)ykG9m)KEH&_MmjV_2o*)$H|kSc?0}cL+-Xq5`ItzJ9g5jJ1glvrClVxG-X3}ssgpU+p6Fe279=0 z_x&CC{lTa9Y7hIpQxVti8|LQBCYA5pA{BWRO2js<(kn@EkHJAxHZ@Nv01qJLpcB6Q z>!Wa812c&yYt&b&a!t6%cZL#Igb@I-zMBytp|s&$E(m~N+ACrnI_^Ew{hsFMwMGLg zki)=8FAvZk<#TBpd0nl*s24qngmKz`zbfLg=2L+*1+cA!Qsr* zu|l+f1JT3HY0t~i&a3PK(2TO2bXI(@pbY@0f+YY$n1$-<-CZ3X^o>55W zy<31if8kQ5ZD9IfDb8?u%wz?6uJd~2;Wca-`Fk?e6|{I+@xVl^ao`(#q{+D6Vv5;| zanni56PQ`N#|yZ*uMnrWV7QR|KBhQ<#>(GG7{ss?ouFR*?#c@=(JK6YKGP~lZL4~z z$W54SQ)42P*)onPTiOuYDu0MuKhoj9(lsMi>m$XRcE5}YmDbvM||?<1XVAxsJ~jVmKWqo>3)Xxxb!9_?I|f z86*Smt0eQ;66fqng+({X^qqwwq9c;3WqqOZMn(2qUWxXcjH0Z-EgL4@Fgoh3#ye>O zh=R8-d^sVaOrDm$d=}|cM^&w4)x94!%ry@m?d8cbxBB1@pAPLtmx7M_0T=@qLTjLM z{XT`iJLTj}X^avXMepZZ3=7vTjVicMQwM$!(r0>-mP(enN!oR3;T_aRA}nxTZ^G@i z+IeNSVnr*U;z_6Ay}P1`LIT!#$L;)|SHi=vVg9_AJ2Un1?DA1yySS7VGYPv+0KdR( zsQB6q`uAh>V;cjJ+4r@1^D1H5s4$ObPdd5g_GKcGS42s2ma;M2UBje{T6b)jSBIM6C+ZWa1TEhq9TQPEinvm0@gnF_)MkODU<>CkLT4RikSZRy&LPM%-(ur2P zFLCH!kqVD7k_%$^}81B_^p9$u2`V`gJklC zaXGb_3fNDJx0dF4mvQ^pWxL2?QMoB6!j#!@T=&Kt#i8GD! zi=NpForn9DHm}gM8d`C|X(6-I*49QQR&4lhI^WtH@w)Ay8C!4!U zmi%@42DPBqd-X^#h5C#zSjQDBD=_w+_RL)V^N}%Xm;xODvVhax>yLB~$`mmfFg*O8w!hu3yqjq~01n$sYDN=^w%8(>Y( z-^E?QEs9n;^(a)>C&^7LF%i4=1xPvgU7cEPR1|NDY}hpvt$(56cbuP@B#^69|6ON9 zd-#jHWuajA+DmfBQO5^PrEkX9GiBYzZ`V61eVN+u^F2wNfAj%5GW9g`+ev##L6_~1 z`d`n7Ptp$`IlEtOK@CwGHMPT}PZ z{$oVgbZ=I&*g^|vt)r}AsZe7dBQ1E+m3l5w*^Za$bNF?0`k=w2@fLdZCjZCO!G@`d z5UFi+;px=Z>BA+b^PLfX>u&PKV~RWHEpd&X^5lMO)Am0)JotW=_UXrIzT)S%U5)3; zFQq3ubfiza1;z zD06GU^}uX;Y_rmYOf5j>7M6i6pXxTtS6Loe{8t%{N%p%Ww47G5%Pz9?Ycf0>k~dyI zx>qMlm;M!vk`>rx6vQI$faEBdTIj}PMXY%6_b1C3v2~<|awQfmuqSe24qy46J^laaWu;LoIx2T;)VzNW)bDf+ruHz8J!Lt3{^!R~jf#e~9( zz$nAII(<;9(YhSN$9h@AHbN=ICSIEQ^*1xCm{)vl7WV@!Nxr@1kbRjU`flknDH?|294-=kQutM@5+_P!8|!ecdw>;#Jq7itPv}E6=1*31d+S=TnK0 zREdPEL>a0?TdBl+REZ5#K_{rh<*UResPMB<5M91%{i*CTWd;8Gs$J{w-cxuVNUfhmEgw!?OmelM>Cx56b~3TBZ7Yo+>JwHdYv_ zuhprqW7RhdVX5ovq1@QtcN7sUJsW%)9q{gS5G>7G?eihg=+oW|5bQEtSL=P)PF-)i zRgb(a*UD+@iiGMZNV5n|oW|ghdg|d;RmiC6bDYt;#{dJWd5M8xiY_YG{R-qfI5 z7`*4Gc^Ttd0suUV)gX5COVLL%0)Q%gz*Nv}DQBYL8frW9KB>Dym-e1)VH@dhJk_Xw zJPRjgGRjq9C;Oa2Oa|~10gw~-k=ktWe8!L^=lY7W!>%!ANxmD<+IXTd)+hY{yRtrD z)HblUOD;u6F0JPYXCu4J=rfdZ`!gMjROrxCZlXv8n{*EOKFRRwv!Pet`_E4mtgrYF zuMgR_X;3&0q$Uu%hI&7uBVRbW>IxzLpbMmN2HVUG-z|;;h7LGwJkfVi#LW-rKh@dh z(*-^6-{&J!iXz9So)WRmki2;Su-Wp{f8e3(b3+~MDKhHWPuX=}ne=hWV?XMC5s0q+ zMqi8J=tK7JQ4ciAtu(AZam&YM-mUVxuQliw-ajUUh?F9J?u>aagt$)UVHVpLclI>q zyOznG26iV4Z90IsS-CnFKyYJZt$rabh)ghQ;2T!iv^SJasYn z_MnIJxgmK$-!6xtXZ=_=zef9%W`~r{`|^p_+{wQ0JtDDvBTxH*{F7{VVWXcknV$bI z_UA3?bbh&A{wY z*LvRdytVhW5B5Izb3A8rFxU0F=X>8DH7t^mu};_!vofmQxWB1jwh<0r+L|dU9=3XI z{JIGa9ecXi4?{4M&0C7asN-)}PWQ?ptb$B-woS^a)mD~9(}FOj$X>r|N!ep+-XJmA z!cjjTHQr4yJzIYAl_J{Un@Oa^+@Ut*W+yR#4DWS6{EXHNGw})Cwkp}d=fhiSNqU5% z_d+#d)Tq9y!As4EAZElcGZM)BA-3_J3Xa=g@)mk1NY4y6F`*+aj7mbSkHd`W*yM`2oB?cpm(!ea$B-Zw54Uoz4iNjTZsF3Zx(`4= zc^?3r2XIj1a7bWt?wE63nR5dzc)%9CoECgy7ASsIi-#r_kDM(8f-M9SErf!9Xi!`D z4q|cuFx_G>$RA-u=uxx5AXYD0?^%lY` zlN~G5D=Rag^)s-wIj6OSn6;&uZA(?$|e+O z8wR!w=d^t;W*ebu8);%26{++Y^`x}f=N$-6@f5FMs(WkWaPbxdzQx+9kT zqH$*}k;Sn)(Xl7bvA5i@&)KnEhs3ygQ$8Xt>$~G1&}j(lG|cHVBIY!z>NIBJH16y) z5$rUXxIMZKk(=|?kX|uD=H&>jUSA(6` z5}nucoHxpM*ryy}1H=2C6+ZAqin%zJH zZnSf5;9WO5lp8&%I|H5jT`qS}snqPLJm9G^=c&5usfO}Y zC-u^x^U~zZRl2r5oaTT`fZ4=^co8)bm?`>bItJensr1la0Z<0Em7t@?b6J8WeCD(7G!v9DYolJPw#MZ0eUBzeE)T!f1#zdHoRbsYw95B)d`3Z&f}qs5 zdGLh+6O_vI9dt;h=>AYC#nT~rh5tJvucSxTDbyyn^b92_39%D*%IczAdsFG}NEX|$ zv@CeXkJn!>38N%Kdh5PW(i7Pd{VO}ef9@t9qIZ*zs|@eFuo@)(_uXW`uoa5`p|Ajod7ND>>rC*(_mVF>9M-*giCk*7K6->nQ!CO#vTIhBIh^QM3Bc~f_UwzD(CehP_&k;fm#B*qOP3Bu_&RvWuop|I{xDqqxkpnF-aykW;)5AuXV-h z^(G3(HJFR6mx_~v0?jA*!I!AJsPQ6`_^KQ zbjXAX@a@sTyQ?8b|2wmExPKT$#S5$j8@9uCS{3Ew9CS;ymcNZI50@N@1wajs%B#Wm zY=1QTVHByrZV``fGg0FaynBY8+1~s%)sK79`xm1a>wPAES9SlzdyF4<>4o18(1%C2 zBZ)tr;(b`(|6qhAIxdrbHuj5AWHnfkp*k<*3U*6;0bj5yIHTEV#c+G@XvX9>qv-Q` zhHN4;GywjaQEVEwA;bGrYO>e-n^6ob#&W?lexUQ4Q9Og4CW{CEW)%IvzMfwVcC&vm ziWSa4U+`h^FGdly!IzPz?QHX#QB-OGFO@laZU4Vx6t9PY{dKn8Q1UcVIcHw@>wz&&C44?FaH__LhmMjdkLCC?420fI zX7PK)mig-bw^v3duIBRIC~h~JlcbwecGS_y9BsPZ(s;>~tZom#+1k`5Jy}hW6iUVZ z=xGN4YT_lw6xgch+p2uTi99w3#4@4GTy*`6QG1w?-uKwgUYpURnG2;^>Ze)zrP-o) zlhMOKQ)$j;X|6Qs?n3FF`sv<&>Asoi=-p)WFi`MWdMHgsxDa|7IU~w1BPKH=?psFu zR0et&D48bnl~87?erB3qW=3Xa*0;=@sm#2y%mSLMLi8|@einK+`9o$_$+xW1sjTv| ztV){fFGAVX`q?#p*=E##c3(uUpS9P|+UsZS^|SW+S$qAgy?)kSKWnd_wb#$u|L$4q zj?p1$%Sv@V81p|qYgrStR6d`L6u=_PXI>Hjs;Se$9HZY-7?NtzW%lE8OIp&5=Bm$} zkJrJzmizQ?s?`>O%P5a3LP)mE?_5lFtJZu;@BgnH(4%Vk{%z-**}WUGUTf1~x+>%W zqmIsa0N|)K<+6Z+&_QyUV*dvnfw;-;chQiO{@vjJVfQ6)VE}ye`NS!lnvDOg3W!W} zueZc}^K9aW`H_4=DLr@ljHD9^_nX(}fYr@i#3&#W2bil+Zr-^=QsX?z6u z#I`q8+c$UtG0(9goX-Me1B?OKhW*mP0-lSPch&ziX~(O8ugU}dmN$>TWM6LCsx?ec zz>aJF^jW7aB~Qvnnsy9Ug?YB~PAcY%H`|vU!$;`D{g&+e@p*;3DN_%gOa*P4H#hvV z&nhr*1`D|QS@7#wtL8skM7tY!B0TXGb`Gf!WAdB0*ce*2*JA}go`wZgp=dwmB`y-* zo%COiRzoh{L7jH1K@QUA&L%4$JE;@?x4&>=j`e|eKaoNZ1IdKNg_{~j^FFAWk9lwW z9#HoCD_m|a!>*1SP?vj2&B#@8)P$PYQEBtV;Uy$!LWz#a%ZC)i?HG5HYbtt|E`rWIudzC?K{u)D@k)ZAixNXYFHOTu>;dv4TtJS}dP=umwHI_p`Pq`bE7$sN~uUUd;Ff)_8BhAUl8{s3jtePkN1C zy7lh{ZD&lvuV?LK;J3P1fX^8((R;Tb{O4tO-pQ-}QTVSKCSNepFftQ3V#G%LYR(SEcVfRJQX~ew#Sx$h zoR@I^xt3yb_PU)azy`AVKylNPa3-QQr&IoytlR6x&VkvM$+8RuPTsXtWbJ zKa~F5jp->AZH9iu{2ym0!M>N3UVrs(&pJ6oAZK=2aXoh>?K zM0aO%e|KlS^)k@U+A`gsEq-Iy<1B4CDjngCh%uL%KOZ$!L!#f3O=979`NGYe4%+(@iaRzHoJa3tqs>*1*Pw2mn{D% zR(0)62i=@K;HUp7A*UrI=YNmTmL~UDKf_cv|77)L%gIalwm{SM8HZM5w(dAK8 zWIumJf6SO^mXd8JWMgK0p7};F>tzsCs#I)H_?eG{Pc|Sco6#UxhB^+YAH_lsw6Dt~ zA^hE)ttxnZmSBhtR9XAtwy0vZxG1^zQN@|b z?Zr>FEa;>jYLMBz)hl@$=pP%{rCLdlohD_)Blm8|=3Ovbpdf5Ni<|^OEX@@+2|HujFoK3H6r})+h0bmgzPh@C2EKKS$>kD-z2seQe4q ztHlq)67tPlPyJrv3&V?*de3ETggg64IA})4gM9>N|BH2D=zPU znDQgF60F29s3doNDE(zj84W6+>Z@%D%CD5kp;CV1 z1O7!Qx*@CiUmCJ4>5q%=VIJ*azKE^TGfYDBp&~O?%okOqx2r$dlqpXaq@}zr)eGX2 z@$q5OO4Lk-e%NN{@)s$NSZeeVIs> zDQfhdQ17^Wm=(>D#TL(eeb-0-!67ps-Rm8-gQvP;$|tWfbTzi1x|XQ^+eIU|u3>Sy zAs+ABN?eo};f=UDcAgf)mmNwEQJZfDA4Bxnni7!`NCNmN-ThRU2PaEp1 z)Q^AlS!WYvl$E#Y;z|7ft@?d-6alr%v$RWYCCfq+$-Wgh z#;Ym>c07T8cNgjMH0tsW?DEa&@^9=4obCE&pEU#&NWal;k78-3SB{Y??IgZ=Lt ztIO%DZ|rNF?SmluT0qb?5om`I6g3E}jR&F30N-b!FeG#k)ITiJKWfyE?z46U_T@?7&;2 zf$ByWX3)Tu(I9TnAb##(J@H^w-~e{nAQ|n@4bh=f=-}5z7)9>T?WQ4+aX%$VAN3_; zA4uVBc!(uvm@RksJ#wfbP{o*e_&)6jujmLqs(-iw3Z0Z05pEh0DI0hcG_rkPM^toF z#&~oAIa1!(uO!jiU^S|GIjU|9RdDLvt~V@d!2kiUV+wFkm7^fCF*Dk6^QPfx;w-&w zgXrOV5&&!qIQn{O^r>+#)-X__0EdXtS@vk$ziEPxb^@VHx>umY#%zvVh~wBl5tBQ4 zXL|xw;MRDH^#xYc=0}DksYy!le@qP{=qBugWu%Gqu?Kc zc|U|9KSU5e#IAlwfS07imSjwp*U#+-;SKY-{Jxx}Oj3trF2ThD^5=OEVeuGR~{ z8--#U#U>l?f;T?oZInPZN)a37R~wb!%`ak`)h3%Y!JBn?oAr>*M#LuMYO@8r)h4#p zVY2l-c&j^as~55bMQp*Ywg$o5!(!W`Cfnn|+mm_Q(~#|1#5Uq;dmg;AD7Ld?va=Gr zvzE8B0omC??Cf0a?16U=#C8u&c8`O1PxE%qA-hP#?$y;UfNl>{d=J}n4>x2FKYx#~ zd5?H*4~W_$quakBzE5GgPZ_dLoxgv(c^@>l4@T|N(;eIuKVULFU6g`0nh%>5KY{gj|PloCIbF+G$EIaJ6$eA0ZVJa?#y zI#j1S(iA_^GCk4>Inv8NGH5kb`w7(ARuS5Im(Ed8KzYguML;LH{{yMb34(+c)`|HsDI0?&$O^i!?w>LS5_EHe_Wlss-ao(3oEC7{o}{u^XejliXdaj^Fa za5lZCJ_XIxiNbC_ALdfml4S-`R%6%X&U6^hjv*OS=Z9*#2D6=JVVARA$bRXv!9ipA zxD)i`&B#O(e3k>sgW4V%g~Jy`5ub@i=9ST*J%XYMaa@Ynfy0Su5xb&uolXNQDs!jC zvvafkrR;NOmvaE{Jf_$@w#hth@H~FrJRxMB7%>mLnkNG<+z?x!Fj=4sUZBofxD8nV zAr`<_3-sW{yJCw>CW|b=i)?v+h4!3Ri`>_t{r~@=y~F=kp}i>GHI{mfrCwvH)|tH5 zSgOMutm!&`zs}#U^Y`og{W^cY&fl-|_v`%qI)A^;->;A6uaD-hkLItB=C6Kst|LG8PknzK1DpCA1YVpuCXG(jY)(+K8zqiiE^ zKmHXT2JDay0O-oF59!Q2{H;2$J5eu%RTLppx%*h-!Nu}be%lH?8@ z9t>Wv!w5u&ij80oItip(G^te#S)0@_Xa^rNvQ|$I-zyt>+c7kP+8SE>G+6C5#FH>g z+BYn@qJ6wIvT`)S_EtcOV}wj*1dq0tPNn5sZs=~V%CF3xNDr%?=RE(elvFQ##Fk`8(&XrJtG zP76RneX{Y74@G7+lrmw5wv}w~+?#L8=&`1HT+1<7%(7XY94~o(T5V<`)fvrPySy-_& z1|M#MM)psPD$}%MyiifA&mBEC8fijZPN|9xXpM5b=)`ypFUM8aazX1*+=knghJSD< z7rn`^ma@fgv%Bu1`^Es=PQJr39ND)l&cjVO+|#&x^jzH2S8$enBJ37fmWDBoBUjIv zONqw*Q3x$UT@-N#o3vhQ)V*kugas%oD;Af_UtFfN>tw?cf&Y}E`J1mNZVMo;$qX}( z=fPFfO0F;${k*%J1VU45KXU58auKAyw9@pdD(jPk#0-@Q-?t_Kc+)7lPqDy?cwmL; zL~VHy250|bxXZD$!MuW&p(I)F#^n;g(K1vx94$k63ez8WDoAh}eo>L?o{ah?{Amat zm6<&2ooE7T!C)zvR7b(aG|D-S%`sz=0oh;mf4NX(BQ(Lwj9m*1{gV?<*RLWLGZW^H zLgBtwKeho{P^%3Vtw|mUd!|JE$ub;*9p3Lj^Joxi`!*KV2cAhMsXcrqZ#mK}5+!38 z#y$to_UqcMs`Q8DIA{|p<%(lEa9!7AT>Kq(28pIxH8wxzU7P|OC5a7?hi8#kXy@m7 z+~qId#X@B}?KdL1X0M*gvo1OD&WP(w8gXtfwHyATpct)k09tcbn{nk^yWtZl;B9UA zn6}vX7;=WuNxvKM1*Fa-i^H@Zz+T07_e1cCD1NH*4A$^okSL67mj#VLZNd!6 zI5(9-r_czLO}XA=kWHz{>?8-U9{f|3%Sv1<^l)%a;miK*E<@3=P3IfUCgOXzUMpNt zOPIq=5@c8kkbCkzbeIt5r@+Grb9=}Bz3thdIe5c3M1V^4_}BkN{7224Qy>YZN%)+T z6zS^AUPx zLlQDvK@ujt!FkCDf?J%HlYg>ljjm}FE57Emnm#n|N@9@D5)m5N&@RdLG=ItqLd7^Hf)l#-{Szlf-BIg+M*1-jgEc8+DZi zK0e%&CX=Rc>mX9ukEzW$&we05S!Phd3v?8Y{i6Is2BVP3QQ?l?mZ08*ybZI zpIlVP-Z!l$XFUnEwGmpfuG&Q-P^D#Hj_-^Ejki8&c`z?dTLAF=BX0C6@oZNARQlksp;W~QG3g!*Q{eCbF!Z2kJl6T zywa_xn%w0LV^p6n8m5}QpzK#Rg)T+7z+zrKo-_-?L)5;BTK!svaM;!6n2W}HzFTn$ zO5=Fb0yglBt-CRNx)4lq?7JL61S2-<7en|iWHM7Gn7eTRffk7rB>JVy(?dzHL_8ut z(|i@*R%{`@DbfY#As>b{s<0>go9UY~$LQtPW$*Ntbv;U0D?d4@64~UA{5UIMPF)!Z z^{3VozUdDT>~Y}Q#Gqe%el>gtaLP+Suo3n}Ro}WY3HNbf!6w3gUr6Y&KVOs$`R*Ro-XxH%Duijd-eM=Q2HwsNCywYihC0HobWV0`0>O`$S+Xeo5|I zHP{Ya*vW*|#v5hP_7xJz!sCvW^+!L7QGx_8(H{(Ph&2p>Q)WW*xd-_0rE%7=hol}2 z7!qcStNbVNP69Z0=}~5b6OV9IEBMB$Ozg+KEAs=@Z1Do~FgPc`xVKyU4hyp3>ght4 zfl0QPn<*%4toHNE_Og)Dxa%B0rheoitaSh$h=f$hDl zYtr+xJM=>t)HiB)cv%nis3UQk^E2G}=xJgC76s(O*HqY%!;0M-)?{YDV&~N7bkb5i zvDR(deq1v}+&HMVzR&6}<3rkw1itCka%;Y#SMqHY#ChJ}@ZFBDi+$!n-wh>wL}VK7 zP!A&Tqe8=xX0Do&xmZYBL&dX%eB2K+J#o5qmrxg%OU(>cp7#>&uXqAug;`jKAL{aX98uf0{CXb_0VX>m>=^$bj3O=ox+ztN=ebkK|hv9{g5^l^=W54ASUx@GAtng zo$}LoQ@Xo}_8F~b-D=26aY~HOJuq3R{6y1I%aT3f+JtLld+ha$7n$jZt!T9Bj?Ekt z;JlSMqn_FNx<>xW09 z{GNzQXNM;OS`=+Ch#K>(WTJ1{xIIo=ra7w z6B-t{WJG}S>;AOwa-58`G`{E8bAO*FwQQE{o*E6aHpD%BGu4X2W2(=hhBV_nyEX57 z8Ubq)-mEd?N_LN+kwIQ;_ClZyGT0gBnHZb9k6iWa@iPu|j?KpiTBCOH9f)Az^_}yw zkdYT2aEQ29SM?7eC;Ou5 z=`S7LHL^|HkGyAQvT%I}Iz^oo(`WowbfD-oEf`|E*(hA=*UmB!0x$u{Y$0;f_ahHG+Zm)Q>cH$4kDk8kxw|B49Ef=koXm zvrB0gQP)8_Dev+C#1FOs&}zDU5$am2Cw zchu#YR`Uh_i3x8d-c?bAxDuR-uB*%E$L{Mne_7J{gPxG9KI1u$4c+{e30D67uP&@B zeS8;lc)}-VTR{iW_mJL_A?MB2!K6uZmm|+ZjF-hjK4s^_w!2V)8>SYko8qrWnzv22E zL`nLgmiQykBZ0v7lNZvK+0w$Lq&$|qBqEI>@oA!-k9m>ORMqX)?b1?4eA20pWRyE% z^*bCKWaNtzB#L|@eDIch2vRgdqsr)GpsjpNyh3b_LR_f=>P4eMJX9fJ zRv~dqAqlCFO#BxD_3{_M6!s~LCrajZG{3@sAW)5pInW*-?C{IUq`8*Pp8<@(LB&G$ zCq;h{DC};2iEgoVLJt|aXk~d{e#L(xP!&s0$maoUVZ9$ZARmqXg+TTBiD2b9lHN8@ zh+^*)D^;ld3xVpZJ;ZxhA1li!lCCA+ECS7n@AfHv(yrA-rzh_d-{nbx;pM1YBBKmd zhKiEkNn=ue!w-cLtAs0Kc~gXWq0J@VFsc{~?Mh|uKou{he*O$BpHgTiw#pDxB{V{b zZ>XZax)1ftPZ17+g*bKz0m7gCahD39y`HK*Oe(8~cq^95i;b$mODZrBwDUrF3#l4V z3jKvHk(FyHJjW(0zgeg3?WpQitlXWdJZz~vi>-EH+0|cMU6j(xP64|>s%?m<1f9~g z|BWssV21uNmpuPAmyELTP8zM+(IWK866@V`v+X| z0^Jey4XYX^cCUnz+|qy_s?U}7ku4AHcJ%WnW6UtHneX8Vn*m$}v0S+U#(-$1gJ^q& zLi=O}Z%YiBUiD*&;f2E?*cPnnaF`)TC1eoGZSoarh5>CY;dGtSg=E|o4IR>A3(KF+ zG zg#~u+<;^rncr5MqXuG3o$Z43lnTDUMGW~o6|1W9@@7_ZUR+8JlsU^%h#jan}Ql+X^ zf4^E&=Ow>V6ZNRH(3m+~DaJ_qaU_dOWf5~79;K$bZJ}xlPv|o=wG{f!<`1=0&~J0} zRQ*z&{_AUv@O&v1-R2yqk4yyT8G-NGSW76_Ur(M=;V!uXmMd8peF@&Fr;guPp9LKD z1=@MFM(8U$8DZ6j3T=XVGU3I;pHfa@l9VYADtB>^MY3E@#>zq?nUnIBb)t_*UdBwm z%GG@Ze>%xO(z&Il`gJNjS67idI~7O6$7#yCUmqfZHI1#Z!mg6^TDe*)zf2$dK02Fxz(~y%hSP%&?8aD6F)fk1Seop9DoVQqxI*=9M-h4BE?# z`bY+{wdM1)DwnG%JO45@YJtxjkn}hrFYzX!?egu{5*}s4f-k)KwSnmM{%l}585N5y~Gtw(FGT<|E@Ut77 z&u)r6qfmWz%VdEt5raynANu6}mF=vz*F-sevTHABZ1x#==NaAAGx~oaP-5mxs^-il z<}A+Utik4NiHl%Lx{s3N`un6yDki0HA|y{f!410q6@kjL5HA104SR#hAju9}#H?Oe zZp!ZqN%TrZse0iKf=K+JNaue+piHc-omUKDmM~EhjfYAG-g2-&Ye$&16XJhD zpjK^y<-R9a={qZw`>q<`$_GGf0%0~m2%F#?n~*Cxf805{v?tAPZCWj-LjHk3JqOyN zlol)pf+k}iw(&6A1cYtkj&0JFZ8FgAKM*L~bx`c;J?P8SV7rV&yUaYhta7_-h}|m$ zd78Hr%lf|~P&+SkSJsREAW*^f9}+j16*q3D+JA!Bm%{AJ5F4@JwPMN}C1?bSQW#A0 zpAaaAxc@FjE4h;~8Mwmkr;-3hVV;iSqyO?8#s$-{#<9BDruHb(lP!LBb%&{Ng z2-|TSxcXlZD5t4Br|EL183_6&*$Mvd2$b_8r}Gan=OtC=WfSLrL!i=_0Sb|y-4eYg zF`pD*duH_Oo#O3-T@E;1eu}vqs{V~Y1-qOkx}4>?oR_=&jX>=p!HL*p7@}rC(Zx_d z+o&C#C~IG}D-%~-7gxOhK%n*()N%Hs46F(w7}lIg-(y>yI^$Hhq7kT@;%*dbZnsSL zPvjD?sdpEga6Q#=Z@77?7L&2Lg3Vo&+%IM(r}duW(=+WWY%EHv$#nPQ~Ry zUU%Tvc<>AbYi z2$ZhJsO>?B-jQ|)8i6|EOgdtjI22m*Qr$fg;&#{X@g1U6#LdUsH{T~<*C&L|B@pEml+$iiRYIR;`NfwFG<`l&F3gp_c$v5C@ud?C&bUd$2V)> zOrh3KbHXnl??^G<*C72YpX)q#&f~$VCpDFKk;}O}ssH<=^QY1NA1lt4Y&<>dMe9`F_KaG`zgYe<0D$?livfcj{!9zZB|Oyr}A0LX4Y zGb*5kG_aK}u#GFQT|BTuEwIxx@ViT3S4d!YQeaQ*Q7GUybVYbQE^<9Cay>3`JuY&6 z+6o|(6Km|GBu?kwCl8vZ`m$rc~a^p!u}0*(di0}mZ*ia$hB()e)mN- z6O^{;i??R_d}a>hR0ymO+8yP=jWEg#yN%rmr0Nh(kYwoRSh0cKhXY zBm~B}9+2h$dYv$PIiL5W1omn_?ScFCWR~{WKzkCmSPB~S>*V)Ji7yZ$VKBm1E2&@|$R3`gh$vb6`vQpetZK-6E4 z>|e`)Z8XB@OZz`T`^%s(1?3o)!5;MPxcJ@PujpA3Gp+;V0DyLIa|_l%Jb+*y!~?;K zMEVXI1~vm=OYwu~MQ{qIwkh`Bc4UU*ct4)zkS(Q?}xsOq$kNk2(Oa*q9Gav$oQjxUC^+T`jjPhQN zZYYm(G^KHq^s6^@vlxsJ!3StZ%5%7}TP#Kv*+)-jN6~l8mX{-ojbo?r z>|-=4WBbTa!Y1e-dta>xy)>ES)a-}~ZHwdfctjIaftHoTX|i8r65Daoop!2Rd16M{ zMVofQ&v z&g=`PSteB3lw#R{bpmVRHvE0UIC;}-e-mQ6bk@rlN*gp*r!wpO1-qBbER17PNfee) zHh$?e>sL7bUUYiVczi2p-Ud0#88mgE0`E1N7QZX5kRTe;G(uTENevk9pkAx zPBRZg=dxAkc~n6l2?8$eA2XM%4}lB$$OjU+KXl4RC98@*{+yP$MBviSsf*4rJt9r5 z6n|n1XuOov0N;NI8*$iSl@D5WhmDaW#21C)FIFxy0q1z&^YoYV{f?kl5(I@UfZjch zR1`o{^J+mL_`aLis;&uWlL%16P55z-ba4=Fy}dj{vNCeHdb^zGRV9gZ0Wo0#QBLy8 zsS3i?gw+|gk_22AG?@kfNI#mb7Xe5!Av}_*Gt$nBvWbfyoD={B#HsT@q3toBgOxs2 z)?$_AFNr_u8?nFU0bX{AXpt zL2mg$e%{zv!sy)P;4QA7{B(!zPCrSLev()G3>AY>RP>E-9;%8Tf=n05=(gA^rZBHY zBv6M2rb9Bj+bzJIGay2`X-X{r$S~v>AAWR__cN(*Y`pAHG`a?`4(MX2M!0UM7;E>ZctW$_do6h!X;u8tigQXbpGs^aLS*{8H0l>m~bp6Cx z9_p-s?z~X^yx8>o4OjdNHTRcgC!2D`YZvF0bQe6~=ZWFjpoFuCHFXIAhc9y%5Y)vj z&C{;~vA(-QLR;z}fIh+EdCMFUMt2dnyJsbGY7v7Z-a}62UpAXgyhS-2`ie%O3VN%* zBX7LATPb(NRKj)}y=*^sWp|FiSB+U{zFH z^K!;(rPW)Bn465ekK4+8@wN>nioUHw<9k&44V|)RBSY298(N!2v!`xLH^f(I;j`aN z(?grU6xmNYKpl2`VF9f-S)E)3pKdza>x_N)4CGV9)GXsYTiRb9NNPZy1tIB`@K_ph zGh+OR!?z=|9qqd!gghB~KiBCg0K_7h!rtFDrZ3(_A2-K$Ly*Fb&duwD;jIA0CGs!~ z_ZB-m+_368i3pArHnUi7nap-N?Upc%QmVr}d2DsP4g!E{2g6Fd&wZ#25jpZ39>8Cf z0zXF2z9c$>2FE-sQVfaFMHsgB>`f07j=4mVkW6xz9I)isX8^rhoaUn(ISm|MlAohD zrGcV{DO_Y~4`R3#cNnY*P&bhni|@2xfWka%q#r|yUduB;sGf|T2CJwXPiuXrpdCSu zy@^?9hSszsHi(A)mL!$v&Mb@$*DR(r-(Sx$8W}(6`C>k>{XReBb2Wja=d!>Ldn) zO0^~4r>6`-W@1sG##%nTe`gze%n|0d!V{K9BuEwsQfIUDDlnFR79Z&+IQS@qjYyr@ zJjaAA3=DK8o_yS9{_Gh6`Ro+=Ko*gJ(Z_5Lot)xa912N_n*iU1NPC37d7>6}_=HwS zI5gs`zvq|i=Ncd1y#%`on_%LL#!%*bFPi@NoI0SkfpsoOJ2U!=vbxp57iQ|@RN#rT z`%r|&j{c%|uj6eE5a=>2Og5Wc1nIv;@+8o0M?Vh6kHII2JrUF;5C$X{TqDoHoF2kb z5Y#q$fO|ZU?p8Lf7on4+EC{ekr8*_$Ss(|np_A9~N1?v94uT0t~pSi2`nfw4oxQYF8Y zGl4-2&I|h=i6uh{po;rXj?_=T3zWD<3OOvO(*I2RVuq`hxKCi|TXcIj(1Bn=GeH89 zB9}>H>mSw8@8dh%C8<)ug2If$FjJ@Qj!;i_U9vo066|vS`h%;JP=i&)?}?VdQc3~x zW(mFf31vu2i9fFa*nBGPY9Y*r zJt9N~H?WMfiW!;h6eZ0yQleOj2;sI8LK~VdC;8s;y|q)h6|I?VZuJ&SOCs-AGMFCB zUm(?Qr;*^VRXR`c@!pi3y1>TM44~J?r*G}Gr3L;GCfhGa6~7f zm|%`|p@-^zWK(Ib@<23caj2-fsv=vq)S9nhD(W);KWn>`O^!jW|Hi{FpRAm;S+d7^ z3%&D{GPbSA`=;i(wW?yK!v)U`2BC3xZ>3*4IwS-br8JJ0d}elX6Ox?q3r;I4IomeZ zxX>6NoTws_b@plcG+Xjrhk~@QOi*v|hWm$b9Qz;GLS#Hi93nA5g90p~4T&VD&-8g* z>YbDu+>Gw{6D~5PFuA@1qJ?@#kKE@*#L`$}Y6}R#cg(;988*-K)I&L4-hcsS zl0Hi{%$P$9)sJZ0bUy~Jem0=_=#$GTT0>7r85+(FEQ!q_*#pYZ*BH~l)3PuM2<2{C zgS{pXa;S0*L~N!@{Kf38$RCqll;HLlsE_%RCg4k?Wncsyc|4v3J@@{w=ukMBYq$Ju zjmp7bLVmegL$vHRPis+yl0-*ZH%}5c<(q^}-usuE&%()TpMz*Aae`lpInjTN2p<| z?dJh=e6{TKV@<|yJ;rNNS%a2QK<5P9(S>LCxkp8bj5FQ&KQrhHwJLG>_L&~;-H%3% zQ;KX(%)CO*VcMMzO*QG}&p{5qnXYy{eSxn%KRcHTXLs6G`B_x;@S?X_^k=J|?_0G` zz|jz7r-Rs5i0z&7X}S7iUDzcgpgD_9Jl|iIJP4~X6vxmk%w?UMw4?2_@&`PL7dY`e z09yxc%6WPX@<`#yaE*EP(;|^Gi+7VHco&7y)ap3G-Qtw=4}abV(5qLimSDNF@u1H% zan&oB0ij$0VVK?ASOr+ZAEK!QIUZ-XoIV!aHK^nfu3*?~xp*r1NIHo-AdI60pYlVr zpZ`PK3j*{to&N_cZ9r&hfH-Y@10e+q-6$rd0y{?mzq>10ISmd_5A(4Qy)ZQ+O1prQ ziSHI=3xVpOxXhd9KxyoPUa8q1l1WOUs%E73Qd$2m_TDq7$-iya4K>n2vkQoHkzN#~ z1?kdzuhOJRm)^VdCMY1%qzekDNSA~F354DfdhgPaKvw)e^rag}jJ18eo76@ni`Hn5U_E91Bp}48Butv%kZvQSq?BDc3xq<4(Gc_~1tnxVOZ=SFd0WlED252Z@o z(z7vcl@!D9^FE6EIx0hV`lQdk)zU?YMm}jWm1;Dt&c4&~_Di+TPhJ>NU+ak2kHhrd zv_@bm=Mx4Jk2zw8FX^;8V1}jp>8h&bCaTnN)mBUL-`Id;i_Fpy48GrhTn`%cJh^)o z;qMRNptx!?Kbnh8(A`Dihp(YeXoQGD!PvlXwNL2?%oVuSL^ykP{VI3(-GKUh%SQGq z!lC|Z^UjYKy2^sL9%vi3^U~C_TdJ#DhVr%-(~6T{A(q;xQiovrV1&4@uKo3*5dDOF zX91DO>;C!PW^-MQO&bjup|nFp3_NXs_cV@oEs2p{6ZZParO3C<=437>O~%0c@6+Nw zt;Z&b*IbEu(3OGw7EpHs7E5uhgvbf8cz~Stte~+C4Ox?O8M&qSu_B!-GT98i3fi^3xbfQ9k-BjPK}&dMf#D6X2Lqt!Aa6vH0B1wa1)! z&5e#gQUQXaTUrlndHqB0^jHCOv}CZNW;zdDbRGrih$ZSg&eM5Pts~x|BZ1J7MC(Xx z>quYdfX#+`v~;+BU14tjf}FfDW2CF#qN^CBtCXm#oTvM&T34k-R~4bFhSpWz*44Ps z)vO+Ad@>^b{3&7!$qQ+^z+BNT`RpHCp}Q?kZmVb3*I<~}te+>84U-Ei;YU%p>vnpkIGi!@D2>%Y9vccU_JXEgBO zHSm-)@KQ7IHZ$;XF?bbZ;G1aRmuKK#Z4l665Qs1cLK_5c8-!dKgi;xXF&c*R8b(MO zMyeS`nHfgA7{&w{#wHrZNFs`LCsbe(x%xm&R(xhI^q`}Oj(Z%Fz zkjb}1lkYgVx!UAMi%B!Wqy=r#x^2>SVbV@z+QDdwgPVU!ns%v~Ld;B|qxHmPS7~ES zd-6~{Br%2#DDOg31lp9g-PCQt6uE6WP+f{dqXrSEp-j}UJbJ{;Y&;0ptZFuyXEs%B zHr--|LYSe^=n&@Ub+S9zDSL@ztfVuLTeM;iH4lI(mhb#%qRME|3rF7vSOa3nDkDziEr@nf46|zuV=XVd=YajxB*%h!*|j0e za}+x?PfpQ?j&o-hbLRzfWWz+%53Mk;Ie>V?HM{xqy_jtmONy-dRfn`~^vvCkc~IQj zvR_vBn56Di6kbwiJvN-*R^)RB4hl^e4o;a1Nw#42Fja*JS zMTn)TsD9u(!(7Pn6yy~h#Htx8Dhy5bYb6bYek|i;>C|!#?7p@Lop}KrdkuZHFXzhu zqc7^VZSL~Gfn@Bkcx*FoB>V?=AneIO?Q4mii6PkVIV?z`+h2${O|>VVhbN1&`;4N; zjZVG%XV3fG-k)^6r{cXiJe*vkHMp{__M+a#1nw$KhdZVhry(7W?9~qJ>s00Xo(oZJ zhGZ^uV-KH)clESNz>%u(SYw#9YOfcaN(K#Lijo@w?^dgV*N@h)boO*KBUTbP(ax~u zEeH-aTgCLRNg$FaJ2x3P_vw`;B6|0l2mI3dM@%du~=ph|27A!+5mftFytOt1~WNj0p;vdGG>zD_b5|<0C`agd6DI?ciQle=3#So zvS|V0-U2{VI~m`0zk*~B4*gO^jOtK{D z^vbhsVMTdP`@~lIZJED;UcBfYPnSM1y|Ey*mXK{3YN~PDpb6(H=&wM?0mCS4tBa#W zLz)ntMm78z{UcG5^MrPs;bL--VX9Po%3Pid6FIe8HI>viRl=b3k!re=XZn@ObOWQ( zK*Dr6@4%a?;T)>|3PMyJFRE~B9AL(2Wjg_*LNskRG&A<=c})+h^$erG*fV%N!sekp zsoKQFQQ2y-Jqb_d5>X3k&^L)=5X9&D%o)!XG}|=#4~6w+_IJxH20eTESGCv$Z$g&Z z%#O>9db4YjGaOefMyEQL^tpROwF5-r^<`xaS1qis&tX)FZN1EYAH-RfH_-r4$eHS5s>4 z1+u6R4xj`GEHUMTqj&_ztPF8F0yZ&I%bwa_M6u>CWdMy)cdVXnU z|4KO^H6p(?2LLi3wksh8ZFsLg{Jc~lK>n(=GYvpI%Ip}%wAs&h?~8eHLyg_tYu^qE zn4Rt7zpT`I7Eo+OuZeULium0lG^1)lZVlw`fatbapKJ?Q0@9eNS=s?hwV497ca7Z$ z@*e}whd_k_suci`0N7*tK4F2|?gj~9jz+f}LC65GAj0v);(x+2Si0=F?AO z)&s6kgZH$`Eh~;v0GD%?bpTKnOUd@$&iMymktN|*J|_aY%+XrQuJ-&@HX=oS!lnY? zqqfbjYTNcBVd7^ngBb|)jjr5H!z>}F=rJbPNFNtAq$GU{PtM>k< z3KGSvgD0O*$$V2m35yhj0MC^DZ^QfB0zi>C+dI^NOQf|NDQHH@gLNE4+Gfvz+~(E* zozP^m7f?`Y0_K>BsPB{U&r$pD;r<+;I`9N(J7IaP9rWri#~~>e8X|AxK6i-vb#C!4 zW+DZs9eFaBjQ5UP(rI1m!R+M0WzBAwIFKKU1W_dKHMiD&))!d;t&wU1>e?F%G*`(# zJqX;rC}%RcCQp5%ouCj5DzM!76vFHzP0k9W;aPEK&gubk__L6g`2$&p({8Y=xo0oF zOsZiAQZ>GYSjSy?1)}1+_jmg5pK85^;Kw%1h4}<&w2$j6fgoK2|GBkP;=+%N-%?bj zZV4c3K!PEHLSa9EpdwAZgCshY68XrQ7%K~8`LRHH76pd_+C*E7%lIZ~*O|^THEBXZ z`Rf`x^wg2lM4if$W$ZeAndap8L{hb;`f~LQ8QQbTuX1Z{^j>mqz8`?5VLtwHq1?=b zrs5Gf))E?0AHhBV7ES*70#16MTakGIuvQM0>j>@1D;K_Grf>tVmD3S0)7J%5r17QS zz~saemG@VYMmHMX9QcOC_^sYUbN{6_HH~Y`5AFm#qLPiIx!)M*$^C6@4NO(dPDe-> zZ74Uf@m*Cl#T_Ka*L$V>=7lmz?oC6H4uK}?4%e$8ax_*MK3QcSZ$D7teh`gR5())L z#y26|PA06<+rT{F=xChkXlw7GaTw!BE7%=)9xpH#LZ(`yRu3ugs)N*t5*ae19H2@|tfrF%Pu5ravZi z(4aeG6EZwz5l-V}YQ)I9E*`%pF zJhREr(f6~>GVwXH&3>-#XYIJ#AZC)|xx)55FW~shz98bd|JsKaeAj2+Sup#*D1GPi z`$bt%|Ku7rJU#2TW7U^2f2SI?Qh%$^I=v>R&wUTio$F05n-*#_6W^}ZFJ=X}Hi?>x zTU6#mpD(s-9-qH#k7~WM-bey{`zi4p6zC4Uqv+@Mj$+`2^M^BSOaTY3N7J)kCK@%< zd=@?Jktn>9bC^dvV3>Bp5Mb@qDt8NV*zfc;=-0qJRo?Td$3{;Vl~i`~(p7zdGm*Sq zlSaNoa?0}FT`%7R`+xDYe|6Gj6?6V-<#E5m*+>Vl?QB)$<7MDsLu0VnmdXuwf_gF9 z7?MVqR#cQ$Fefn8uQBvJh!+_~;$09!u+~AC&;q_@QYK4~1qQ8pvneg8Sdj4EtUoHR z400eK#8P)P{l)wnDzrkirYmwFA)$r0jr~Lzgb!hwEE%3DgRv=^K$M~BL2}BhzVj^cl99$K_RL%-C zpe!RN3X%omzhzB<0o&Kbv$XdBB4m*jq6wEl1$2g0K+{(BA!T+ z7*j$?81_{2IZl2@&5!I8xK*J<%@>I|WoaCoDm>f@Dj5gFvzWp?vf&Z#J!LYKrh)43f z^R1QEQtx_LDwk#Y;+?&RS#Q?{`@II~&AYGmYKrdb6b>J7d~MGWJFpcg`gjMuug)nH zq^?{1wQ{Xd;C}1&HgDnl!ObmD1tJwX;?7<@rX19*y?9NexMQMFKJbWg?}p!yAMj}WP*lPT zzdik+g7A|(*JzbadehVt>3CyF^{q8cmB(|1QA8$lT)QbvMnN8pUyQH0dTaQYnCD$} zjn$MtVS4ssHcI4!q-~iu!bEw2aO7K-Xzp6DJpeQkR>>qYdy3)gB0jK7jx=Sl`0D52?vwW!shEZ0cOt$;?%@e2*ISG^}Xxh$tFXs}=P<*T~^ z>$F6A6LsD{b1eu$!Ai5EVGOFpL_{~;q(zs1k&tN4XRc``-++UZ_nCT`^^P-N642u-BRfhqW0OKWH+?0O-Sbzc=sxFSdn z;;~A~DO<={%N7&}k0PO-m)mquin;Mt8y>;oS((8V2fCg@zgIw%w>(|v6DgQND&{Ha zV@IeLOEkQ@9GWSt4_^rKMK|&#>`3`K5MT?#P30IAkav_?fgWQU;CQf z-xDym|;rbqCF8pDX`3igxKvh|o$h4j91BLe^Ul z?_Nr5zeE2#*a<%WTy?K$dJd>@Y(+FW6K9|6aHVbdx#;Du9KGhxH#oUqYBRz~(>;rv z_TN|Kf{l-}nwN#`je0lhJ>CwZR=hg>`b}CrX^&8=oIw9rrs?4iPR(n#jUR`k^R1NF zbJePcJo#Xu{w@1sqmAyTCnKMjG}D~WHm%#gTZ)oClt0%gvb}pWiOtwa;|*(vUKgD{ z-}Ip%(ZA|-nvX_Y9vww9exID)b-vN-)^>hlZ>|6L999W*Y6~AIVg_NSg<5bhtp0-b=2bK_6s^i%1hm#{vJpB+L$ zKQ4~~gtlO-?4GMh))XqSCA;yK@&GqM)@{>Hrl`B71DmC9iofk$m-rsJy7@Whgp6+Q zQOL!ho%ExYrRVXpCh|@ew1nvrGe?I;029k^{LGrb@RNfvBCFUEIO(@6|Tt(m9aHk{g zLB~`r)$lVJ8iqSH&t(FqZ`_pldeQeJp;i$ED0gHZkpAiYfzeK8Lyv5Y@Bw!#unTPr9mAuFOPD{3l>edsLvC{R`` zLH2PjPHHME-YhEtmz6}xN=e983djNqfQ@tQ`7jxBR7b5i#g$vBMGkU`fpSU-a>}`K z&#L59nsI7PIW?4=`j(sqMoyDbUaMG6f>o~MW@kH*jLMJBgi4@}h}@)#oW3)}Kn_B# zE6d$j%9e=1G^96andrVTfL$$ zk0N7kcU7fga1~#mNVkJmcUXN*I7X4GusgC@F+@TxGy@W&3&X}H$eUIvg*U@&P>P9H zYoan>(Uh=cV&x=f#bh4kDRSimIi<`5o~$jHDJ|@cZdJD2pY^}NrXGGTx5!mCvU#ND~7y@gxyJ`%m9Ue8KIo_)xDRa5xws0vF^?ZJIgm1WdQUODM#B;!vGK zvIx_@um!+Gt~!qI+iX_ff~#+%)OWVjcQNXFlp4PnH1>Hk4kR=Vc?Lx0LT|3cS^24d zlaN|hRsUV3ao((ffooi#G%mL^CW#4GY}Bc{dP?U2SP4yHHBAyTO;Q)+ylTYq)h?aL zftG~F>&|MEsv1;iP0+R`^@S!4l@=|@;Ic0PfQ!~IVPLIG6X>FKBS;HJ{M{-+2m>@r zugI?2z{sh@w{o@aUT85>Y2Rx=jIqfzDh)DbYFua3#w7Y?*93FVBGf7V?pIImOVnn&c=yd^5d5y>&cC(RrOxQC0rZJ&g ziV^3pIDam{y9=XKm(J%~29T>|`A1`c4aOXj<9E5Dy)t9&lMtRwQn>BKM7J2aAu0aI zUM*|&AW!f9M59GrnGk06e^lcHe@%rwPMAs+6o$~a!(8ZCqgR^?( zx2~BlOivE#kuRamcY?H>M`za5W+xN0AB>tm;GMm9G{Xtk3pt|s#b~-8WdW2V61N?c z*V8#J8RWj0JehE^{0j;JhKGW8CFX0IG;o#lbEe`LO& zBg2SVx}z;|YE#Z@Qwp|8CGA=ZdEAPJG(#moOrp7^ycI*g)l&1YFpk5{$TXrgd+px^ zzW?Ew+3=k)D|Yh*RHWWJ5+pRxDxL5uw0NEnoOYBsqF6mcyKT*XY5hlS3R-+%JE%(o z#I9VGv!=BMx~kI0hTZTT!q{3rS(yo39ul=xt5jMHv0ki(BteUo15jcaU8T5V1FZ2ywI z5+18Qr*BUZZL~Q*q5=Q_LXi!O4*+(qcJ{$`4oP+|^6eaJ?3`Nv8?~uj5`pLC&*u-- z%FV`^vszU6XlDz^Z5jnD%k2NF+SEQ25YFciA>|PHM{T+mKq@z!%b`YPjg_96 zQmL^nO|iGhUzI}ryV`VJLUmQOe@e8}A|z-P+`8uVU)83${V(!nUgYomo7%K-U3Dey zX)ZXER5z<}?REcBVUlBczGFqr-_@q?rPhno9W64};_Mu6MX%b(IDT1itXFqxFn4Nn zb^03o->FR>Iu-k<-U^nBjkCIy1ix|U^#83kZOek!UEk{9*s9~$9OQ8smU0GSVu(;AlvS2>lqo9Q$zbN{W{w8nL_)paY{Rf%mUJ*8{w z(sd8?@}FwcjV!qxP?DDO%aeaso7Qw4+3lXsyu93biM@OYpx)Dh?`G1t5lOodYq*hE zxFKCF7y9K0likQ(QepDlDB9d82i&M;-9WoIkF*;NwL9%y_kUBHx?g|kej~*FX0rRO z_wKhpx!-AXXBcp2oc)*D^xj<$7Jd&_X%99H4|WR=j+g&Xo4)tp{^aqX&4XvagLn2H zYEx=Y!MmP9|5TfbT6jKu`FFMHLb~GtTKM=vU)6kax4Knal3IM&iP9I(TQi>X$-&k z%FVb}0d21W2VMouz6!>vO|h>+seQxl`iArSMo9ZcYWPN3_(s3or}00%2KP13AczanY>Vh#Ti3;)s^VQ#b}USdQZhVeHwNejRFmJaw= z&-&Nw`hS`|(VZg$fn$!A$UHPjKcB>WvIuB=8SpjaJgF@vKhZDtIziz}zi$HpEwcfw zF#)u`1o^Qf-#^9>*8a9@|K0jGwdvP0;yJQMi)32ha}k%ozP3R4048djDBqXBeU2>T zTR_8j;1GY%Fnta5iZE zZt%i;KQ;wmrAB}+fAGr7U|gA#umdU1qgxmfyxA7K1w55VLM#si?_w{vEG~C|A^ZFx z2ht&j8X-p(A;&L6PC`OXlS9tlhy4B&a^4n#83?(U4Y}M6!2)AL2!V7w4tvaodo zoY(g5b;Z(gYF9b@Vu2>ye&n&W_KOvk!lIbQ^J1T^H-p>Yv-A2sJ3L#+eyHlj0Y`uC zlUMs&>j#|3f~PTbypD%lL&eYD2)S$=-XAH`{-|B;c*H$cW&G7+d*kTAM6Gpq8n4qa zk8v6S0p9rv0AR6LA-wYy?|j8OU-8aYJoSyIzVXyIp8Cd9-+1a9PkrO5Z#?ylr@ryj zH=g>&Q{Q;%8&7@Xsc$^>jiKjje#@zgh-`o>e=c7em)2Y#$)(+9a-(nK)kv;>*yu0gP$nXC*>f6@>;s=fq-ea{cA$~UJSMtffvdzB= zM|~&1;zefP(2N$j`A)Zhxb`HbS~{R!BcQ<|AUZi}=tZ>1Tz<%v-(xlbKiUGC2LkGE zKzZE)`qKR?#sfO;26pme-kb=i@7W|O13qi${0s?%B?tEK`@UZ_6Idh;DLC($4eZ~= z^gJR+vI2aj4jjNy-_jTL8YD^gVxWpa<2dSD+Fx=m+YX7DX!}Eb_oYfl*lCiM8${a) z1fX%$H-B(c2x10!DJ<|8^}YM*OSkWQNbts|zo_ql;O*Jqon0LD9lS>!^6Tz@4)y&^ zfcY=Jn+t#i@Zh#*06z)p2x1TjgdGlg7WyN+MgRZ}4Gm{!XILBn4FE($MBsL800_J8 z?rwxojt~IHMFS8*ScH(B5CZ$>7Xo)zj!+Il2zONu)(&?MHU}#t^zq|IA>8X&EWi%; z0`7b}0Re$O_Y2|BYP;d#VLKt*0l2ep@8Ui-$JEr+F2@dmMRas@;12%r<3|qeOx$Dr zxylarh8^xW+!Nu>x5Fa-Jj$O_?Qr)C34QqR0r&KFxYKYyxaYxLj>xeS$^i)F;6QHN zuY-dFECBZ`cDP&dR&NB}>W#O0WYHsVyIpApKOVz@4u=o+!dFoJJD7f_+$W=|2#XT< zUf{rK?f}%;d@@7(H)a69h)i(??0a&60o9j0Nb(ls84np2Oew(JO@}~UH5**n5?z4z zUvC*?sO}qn)34<`z$iJy7Sz{Upfn^g$lfx4asQU_K=gR<#ds*= zM7ZQcq}fDt(8Q12q1cuQWYt8%#YETEM2h5O6VGHu(Bzj~vh0@0`l`v?i^epsBLFsfw1VD)dy%#Z)ch^k>QGdb8=qpy_XU(@ibY&FJaYi|KYoRHr1W%M1k# zLc#J-y)7s>8r6S+LNcOO5L>_vo1&ur3~YZSY2JUadJ{^`5u4AE2G3o|pCfOb!&$vSmvb~s^K?@4 zSIy_I2hZcI-nU!l8D{30F6Wt<7FeVf*lhUPg)lxW)`I`7r{(RPo11r<|}r=D-QW9j;$-sGb^r_D{f4y9#X4b=BqxztG@ZG{;jKl zGpoUutD#J5;Zkdn=4;WxYq6j5*Wz2(5@yztF4t0+*3+ccGtAesg4eV2*Wb3T=gzF> zU#=H0Z4^pv6q|3925*$*Z&b8yRLyMETyE4dZGM*8tT*3m4Bq^fzuDBf**vq^db!!o zwACrK)n&c~4c>y~Z}qlr!DqJmFSn3P+e1>@Bj(#OuL-XC^;N8>w-QTX=ct;67!^UUWIrt14pJC%O z>=QHupJ9V37i#etHa^3~XV~}*8=qn0Gi-c@jnA<088$w{#%I|7X&JU1*Pjeq0;2mr z$*|#&92!XO9<>Vc|B+#&~UefZb!2o$G@J!eO~^b5!qg zlsl0&yq5tnB!T!L!TeJKewe}kGq-O9g_yx0-lI4sB)VUQCy)XVbGiK+&HYiihz<$( zNgY*2JD|6{{}`8HJ9l?52ugDd2x<>yaJ9Pb62G1USL4xJcLO+e4fl80fG6VcEW7{h!Q|_1vFQr**%Jc z?8e$!%NyWo5D#1kS@sBV+4eCN$Qwgwj)AfQ0iLz|<+uq1t}Ui^fv0tbPrdta4ss&n zi2GvdEa$uCKmzT!YZfK@XFN5#6_Aj*6f%Jnb5hIixPC?s8Yg=Ixy0qt92GH>`Z5oI z2w0`QTT8sLLT$;nvYd!^HYGGe&F+9F&IdsZ01%+S{337OO?`$u2^wJzQ7M?O#Wvcp zDN3Ew{=a9~tuya1y?V_(1{l_HXGrno`c_L1F3c_hb(ha}-a$ZW{6Q*YtCsZY^JK!x<%AS;)K#$OS?j7p`+5l6IhG@{91%1Gfa3&{D^hy*P7lXy_(oe!$*fvp8+5OyhK-Mn zhO1YdOlt4vq$mketMlDG?7Cn*1V7;kHSbWC=BOp9E|efHB;RrC3uQTKMgSm8k_SkM z$h@Pv>%W$Y$aO{zHTidKsCxvMAdL0{cC#>(7Vg**LB-^Q{d!{WIZ@J-&$mBudcQo; zW>`8ZII&Mg0Q+|*M`{pk$Mu&7t_!=brF)X7&jR`P63qH7j$|%t&X)Sm^4`O2_#nvx z{Q=2)L2cWIhqdiY)%EJ<3kkm~lVR!-kWX#>b+elvL2N&r`F}D9+k0Sw3-?;2VQnu7 zu>j`+{__X6h-Z1Hz`L9?*d5HkZZ~+9YlQmT{;rMpTg_M1XDICM=;cKq!=>Lqe^n=} zfp=qPx33XCp?*$ncNe=!Ny7mc5pG|fm5C&~#%D8uoR^KIWmhjY99)o3xFzbkG%;8t z8$r53PymeVkoG^?XgHr3T88*+uL&0P%*m_eKK9;OnjBu$D3FN)u^W%9X%#DH^4U)5 zu2PgeQmf+e6I$+lW7P1Z*uEY7L)EGyn%!h<%c%avXpQak*tW?x_vQW)lkpw1X1}8} zv!O>iaCYoQj);5avVK?W<}FNjkCQblm0hFMbaG$i6DiGY26#bj@6R{#il$qmzhu*K6yD;q4i)3^L@r)iDq5UjzR3qb8WChBf09e zq7rdexP1{(tB|B=^Gj+5ghKu#bie8WTX$vKXJMotL4cX~4>f;+k~2J>!4itK3)vzz zx1aI-kVx$Uv;-_Al1^KMU5{3S>BzaRL6Y~{sGRBr>MHD-%mr_& zmdUj`UBMnyojiM{4Pxx3*=U1|A(f=Jfn|hb**IVN)#C}RxaA>3n|Cg{lMiydeWo6N zDA6`{{DQa&zjD^4Z{qf5IScvnr|8L$`#H~vsgF~=PcM%}bLObeW`m&F%aD>+-Sgq~ zC$qn1GC!k!=MtY<{vvMGosG_pptFj7-SyQtT4svJI^oB=3H6{0bnQZdY`&@$%c5DC zWwN}!QC%Xz_QZ2ZgRIAbX?KHe$>zRTd}WtE>U?X^qG9XJVE${S!7p^9RQ|1z+7ExP zzl|F48pVFBH0N?;Sj-!EQTZA=g?@*)TI2M&tyIftHk)nQ@r%9O55Wpya6xO|)htE1MOWn(x!ArJ7L>Y^*5EPM_X{YDNneTT!|A$}+5I#)vOjQ3svM zGLve>%Ho??PUW~1wBmJ&t*=%4%JbN1y*630zR_|jFA%Mj@SN@W zErhRvNU2sLu9@-<`cy#-s+Htf{G4&yS5aa`D>-24`Q3|CMKGy$N(7tDJt{vXIS%dA z*ETk+jAu$p3fgJu#Ww7`e#)wL+Uf6>Y&a#)lr^KZGm6-3@2mMe(=FA`thBLxV0QM* z5UQQ^rP!9&1=mcuqW$K_k}VTKN~mF|Eb&h^JASo{IAR)|9B8f)>-|DQn}c^ObatZMWGwFa^m!|~A0vk*)qySa`IKp^5+u3G=k~shYT$TSvh8MW|Zu$HL(a8&SzRa z&*X?N#fY9{3??K!J1k07wx{g04vz)V1FY`1OY8o669OkFoHD&{Gn4}uUAtG}A4~nX zp9UEbx_DP`yIcdIoDl97&cJolEphvKXj(491#CVFAFzwKnyc#D3#(oU-%KZ|7qe)&rUEx53#jp75hygV(w4uk|8*&pxYrWw*w{WMg1jdcc2xGl zBHYN0=bk7F7mP0B*MuXzwyH@aZP?yhr#qs5hC%diz^LiR*=h znh3A*bK0d#R{Dw_V)oE?Q}fVXBI;XnRab{MWvh5Psha-{*nv^T79c;QKuAeIEFIFZ`?=KP$)2 z%JH*u{Hz>5E62~u@w0OLtQaD@_)-=OD1oqUL_BG=6y(C~nERdJZfbW>TcHF*KAhdO>k3sm)th~1h-YNk>G{cd& zS$SY@VHFEn=&yY*(;gLO$oUt<97F#C4@{+&3M(ML_}8r52?H(W=-px%*q0d4rzFNA z5hreU51R)t@cuL;r4}V|M(zCzQzR*GKLe6--wR2JM)pboTdPQjF5n=u!RuyyLNpNE zSerO#km+KuvjM{1o=^^PQ%iM(F}ql=8kBYjp|E|803v=Az*t|qvqAa zIv1nXY9pbj(dR*94tZmaEo08;G1rSRxBtPu7j9M_-!hSao=C#Y${8oqBquY>CbMv} z^1R8nEt9#pS^33e0pnC5ZdPtKRf^yD`u~65EBZfR-|IaS4Zdm`Up1Wru*2wm@@zFFsn#M=d_-Gm*P2;0!d^C-Zrt#4eOx>7;lS${`7>-+=7mYLtRa~eTlj) zo4cHxy8{Cs`NDs2H+Kg~!1NBfhws2V;m}B&itOQY*o)k@a16&Sd!>mkSQh3%QbJow zF3e*A%yra59ne$g%$YAL{c@=uJZjf^6<~VLrno5W$6TX@;IB^vuli2vjcTnCZ_6 zN|8MshBN>%lDw9G3bCQeIhz1$tAb6kk;N8J7JwOWakM`fE{+!1bnaOqQR!sh+@|b= zV>F1v|7{x!nST-3BlD$Lh65S}oIs37|-Tyj+0%ff*-XOOL>|-amJ>aOt+; z*l-~wU{7E~mWuiTqos?-$l9I$ab1xN0pi$NL2&Ibo7$)iTuMI=5KA*6<*BmXB=#l ztg&YB;>nxVrD_uofcZ%FsV6*XZ<*}8fOuaFLDj&?d8h`p@vd!Dq*5OxO@44$z<*Vd zQO$HJK@f=}11+wl41G8i8C~E^5?yznY6pnK>kH{071>$<>L77&j;-vuiOK8$PZp?nJWx;gdJMNX;3hnFl5K@0UhOXP*- zZ2gOxHTR@i%fPO4i(T_EonP|1xrJr%v7{6x3okAV6i0R zu?`So(LebBT(Z1JlTJpaNkv;Iz|Tx*3|K1$-3ym0j0|2b2c&M={hXT0;U;v)-DG+Y+z@q%l*ov;&rEGX-kz8oLqXKL(x;feHmwaZ76g zV2|nhgavy$8zg`^8U_135W1Dvm?rQfly9^3E|`Ymoi=q>`_q$Qpp6a5d1^w3{oZ*8 zAe)^~sFrve$BOUm2+r-|w(0(?+adS=zHW!z+gV`RS*m#l?M8=NAD$LIQ^@1r+`T1&e~0Q0H9%rwG~Q<%a0|jnCXDkFGXGPXIMFXSL75I=0iLUu^vpy7Qack z(iK|QwWOSJU$4eya%fp4ThO+@*l2h~Em!CkzzUpf-r^%8OocESDMNh72_LIe9OzOf z2gaChBYl6tHBYoSGlxUhFD7@p>`*Q9=(Szw~K_t`MSzr0tlGVsayyTBjwb2)*KV zivk+k8mLYXo&$*G`W_jPuL^EY^zR^G2xVVb(Un!-QO(;YF$yJms*!mGAarjfzp{e% zUiuA8c|1{t(0sw|n={rQB$kMCpI7<-m|s7gd2;w?jZ37b@qKu&(j!`(D$V;}Ln9o& zt*>z@SF?i%38M|=*0`HgRgvx>IqoKcJ~ny){fEdjnqnp5PgzKotTd?SYT+jognUF~;K2!+3zOR)n5nrlNG}X*~Q>|N#r`A#HE)T8Z!T{|6^{3bUY|>O7 zp4nvR==<4bnfRR9WLaGi1O&tyi8w7cesm-8f`sK}8yw&X;_XZ&sjYTo9{E2!$ ze*E;Li8ChYwvlE@zLvEX2|%uPj%5A01p$?V=t&DjaE{n}0_*nhWOOn;rDcafV+tEl z8DS9azdRQBCJXG{kxXBt8O63UenTskMbzXq0lo!5b+ncTNSndT^N(X3kn$oFl@yl)l|G=^T`c&nA7F1P41rXPvRL z1V>>Swp?|kW&aKQoI#{z^2rM!NVZG;ih3}MvVE{lUOzp%f@(Xxb$t5UCHS~{Ra%z! z%9l9OG9X}$VBp1P!SrR~rpvKFkQ1o_GD6;p6vSqja<9gu%CgIs3YWZ4bMe>7#chmaMulqJXQvORN5WIXJDaYc;d34k0(UITi%9)3an%=sOQSWzMZEyGWE=Qw~?onU! zG<)rB>RtHnu~Aw#cL%fk97WHN^~}^Y0k(_;I{w<9rW#6|OSmnlrX`w4eX4yWou3E2 zF~l~ErPU>sIIl2^_lJ$qUx})Awr6}b>1TJG`0mL0#Vw$58OY~zsqOZR=DFTPR71lT z#IzF$g?{Id{#Umz+t#9elW5XM&Mlc+FQWoXYiYl}h042nekwKfPrClCzhq~q;K9^O zwXaRnqEp_xy{0?SUma%jczq!O=DDdizE;Y=40usGGqEz(a*%l|Fox6Q_sY2KaVAsn z(fMq~ualrl61OmA4oecciFOJFw=370=LjF&jG>O+3t{JxCpQplyTM`5U0*p*B`*58 zFOx5p3O?`dH_=6VUC^%0WZ|00H^_$|cc14xi#17NO%Ge$V?DPP_B+3IAIR5z)0MDc z8NiA)Y>M)y4Vc)tGEVlaMF}+)OW6L>KQlIf3cYG@=H+|!y~(0RKO3@TDx}i~w^wj| zo7Z6XkYXIs6YiP&O5EONbh5u5a!_~JygGI~X&6FU|ANGf=jn~9FEJeYh1blC6wZ4G zlYN|vJw;zUyE``Yt<$UYtZCiEdurH?q@h|)((y}H)Bj@cy`q}%_kPU)p@)Eiib{zf zO}e1c3B85TJA~egbV4s8p!5#XL8^eLpddx0mxSKC^bXQ{2L12-zWbaxYp!P2Icp8K zxgoja_j$h0qg*KcOjF~MN%Na-*2g2YQuBJa?s4bHw=0YC(@I-}#Ng-?Z1;*+{F@Ya zCdWQWeho{gw^MyCDA^nGoFSit&PK~SX7sswNL7XnL-SF?-sM;0nynnW|7?O832&tl0LfTqLT!ZGqMU(P7Nv9Ea1p_)*NWi}vB}yvWp2qkfI8uE_rI zaNV;P?KS4c@cH25^l{PIPZc6;2XgBdIw#Uz_Y)l`GGAPNk!&yT&j)uG-eXwT;?y5; z`RrCs+Osij;x%T?ca(-qVX?LJo}9jNuWmQkb}96p-tzOPTQS)2Uh$s2yz*$o&)m@k zK!td)5*Uv4zF6|T6216|><~ok#TWW4vHN?XED`%@D?Tg27|*^?#6cdD@0y~&*U(EE zf@2`jeCxDfu`^)rOQG+Uy}$R=3gWnS1>?Kpi}9YrH#})(^7|d>@3VMMl!PkmrxH!l ziBq!LQE{Q)VVS@0rlsNe^k;2a*J(0EoWdP`qyGf()!w(i`vj@GfRBTuM}9E?alKCq3*He^?#W&`&y)_~5yign$@{ zI`qzvI5$wZBMk>a$%-%kilJv zPXhUs!_{SRHgtl>$Hb^xelouidnhC>P%0ss-Xa7N&sIplO_x+msG~m!rR~FqXNR8W z-PYK}2d7Z~=6iLoBiP%hPGt`0yc4d34(=Fl7fn;&-=vWfYRKhl891n7)siHsEG@Pb03fzo{is_ zje`fk=jH|&0Px{f`2Iy9$kLD?q|jYi5uq~L(y$aLlORi#rB{|i2xKd(3LoAS1M>qmc~vK{ng=Y;Jv!h4o)FqSPg?bs=M@4j!XG_PKUhA2Ave znL8l#un%;AA_WuhxO-Msab{ByucdX`M`)=|{NjtEOiSB5Z_mPk+#FRm(Dc@jQ1@yA z{7~@K6Lqm?l1+M*Vh=#QO9>K7uqOCo59tLu^b;Jv8D0Q^9|6Ti7hCrAdw$pbh_~x` zP^v`gs`Pu|+XnFNt6co8;Fb)aGM>Hi#zUn@D%3qPc~GzteHsfnKMa^5LaDEWf2m9+ zEX*o|bXCy+6ru^hKaW|6EWxGvnZ;3 z7OJa~P{ueR1JzFk2-Q{jBGvda)C9@~DTh#=Mgg~R*}kO|x5g>eBY=GQR4vk?L|8>hfjk3iawRw7TN7I($oA=~7+UULDzo%?`j`eyB#?L14kH z_9Rhh?z)tyTtwp=h+U+iSFfRu)-agXKx}CkUTPSTXc|*%ny_n{3Tv7vYML8pT2u{F zB1htahMR2by_AVkby+v3`k}9fgXvgaUTQj$XgN`9IkRiI2y3}2YPlI`x!Y@b_-Y{| zwLCLM9Tl0ipJAE2W27+Gpe`GTsU&iU)QEkc9mKBvN?1EsQTw&QSah7G&z)}HrO^|V zCg$t8mUX>$1X??CT03e>JNi;PhD0ZpS|^TOCtg@5K~X2sKqu)?+vkw**@Hfo*TQcV z2mM<|lh8UD(>j@3I$4)G*(AF0zGKOeI-YN}BXnZzru(e|bqX1Diz0Q4GjvPJbU)PV zmZEjbrgh7=bU$9|R*>j@qSpKDrki443sQU%p`$_`C@Aq%uR2n%CPVLgnO<$ZUL9Jm zep;_#OYg^}UL%SAPip-yk+mSHiTC-%&GvdfZS~uI^*bW;{9v{XGU6;;~~to05lo4aOo3#xo2i$_ys!4W`fr)6)hsTLzff zOM^M|^gH>9#OmTXVZ@>$V#xrpY>!y+Ma;Yp<7X@+4HuKbaP?ry!|<+NdJH_O$fApmTIMPr1` zVT2=M1cV#mB8>1HjPU)82%?M#GmVJKjffkJKs`nzGe+QTBho7)GO+P28spm>#^fT# z6ma7^2;;jB#`pY;DWi<ZA^P*3;~-wqA{W4FrgPQc?>sU zK$tK(m@xU7Fh`lNWSTrFH(_lsVe2trpE2RsHsQQ7;R2g-)0jTxFy#?3#qh#SpCJ~2 zcmcq$*XV@X{F$Z#<)*hz@P&Fzg=b7fwoOH^Orc;iF&Z;*4l@Z6GfB9a6v9l}!A!=_ zOg73)PGk`#3lMBrRLC?_oH2uMn<-tHDTB>bXv|f?i(E}+>PZW#2y;ybb1gq}?I?2{ z3o`|{xq7C#evi4qj5%U^2|+`u*I;f)V`0K!VJc!_w!EMVwh)9{So&F5MOj#9E>amU zTVz_;^;p=?Tz_I}TVUz{wsfMgbhcP}S-#*5w{$~Ty2BS;@K)TTEIl(V-TYSg3oLzl zEPX>Pyfv46uPg(=t2*13EVry)iC6_+nFTeNVm%4)-dz!sUcm%sTD_fFd3_aHy9fk3 z)&<>Ngq2&xfY;m_Rw)TmRjfkVYE7fBtYRIklY5rKM{tm`0ldn1d=XYje%2W?Yo-mW zkL~bWuRFUV3;c5n{3)-}m#y;=>-r65cV&s3Q%qH4-?Ebh-XkDlhpqumLxGTxud50w zF}Izwr2$3j-WE2Ma9iy*GelG7xouR8HGUgUV9YK2XYWh=WpUvp^upP%Vo&jL!f>Ou zt*SWen(@qG%K-+r*O}K~aOj`<@Ana_9F9`=lh7x(?!Q|MZfY{cTW#@IUTdbYABZx8 zHK1Z1;UzTS$Nr50cj952TZQzLzv{4%ho6LcDcfWGv+;$V1KJoj2WTATMa3)>7_6XC4mNU1YF)Kj*~`6cQ}vOc7*DJ;M4Ec_ zHgDM08u-2>Wze|DtEsC{@9J%fKGR+J+TPVmK)b1W)N28o5Z+blTgWY*fS0b!Y?8<= zUb4XRo|j8^U+;Xi_9t*8VcJnI2#p!X#y+N5k+#P3aKue^6zbWrP>vzSgo0)rDLJ>) z{iNVrLosrIW515osGW8{haHqXygJlh+ljb+fwyttUbGVf=cc-aeNT^-zp^9s3UJNA z@$~3-?o}uR6H3qK%ptSKK)PS~b*U44AA{Go^Nj5`tIQf3sWa$!kKV(HJIf{i>ykR< zedi9RTgv-1mM-ib`y3btu0j`a4{N=VSFzT3EVKL6-}Xd~dqjVPzPRVg&*`dwzh)%z zr&_#{xy4Ml#RCn!Whtcc@#P`gVOrF_f}tDi+fw`F!P%8770@QfLP$5XSu5HOgZEN% z=kSe%#Y#k+AfDQyx+Kddw9@Rt<6}3A(Uq4pn?XsYR!ZVJ_jW<|b}V|`!x^pYciama ztX`6OWE@#|-}P|0w`Q}w;$rCW7P0JX>4AJD-fbL?Ke z`1-DW0OyIbyD1-@$16i*$V+6XKawUa8u=y*`Sv3+{0B1Pe@IQA`hyAnBEv#AHj5jZ z#SJoigACsw!#BwA4KjR#4BsHbH^}e}GJJy!-yp*`$nXs^e1i<%Aj3Dv@c$o?VGtAE zE~)4qX}n!02HKgP-FYP5nM`GrO4XJ7Z=1!RdU4&qY!?62i!1-JSzOnPr@EkYT`k6) zX+E6^o83)RU1@dQe{2?YDAeD2@gJK7Rd>H>XVXQu{ZsTr9eV0-`Qh4TQD@inv+k*= zX6M)i<9uDu=HGhpE>+J@eH5kwm{TWunBMur4s}7*d-bUv*PnA8IR=zr97&JGz>5&@ zYBmVk2QI;I0bKww59@V0T16<{DHs>Wr%Zx9pNaV>;6-ND`og+z_IKY>-z> zWmn_phYN$+8N<5u!-aOem;kWXDe3$!DPA)c8rsQ}4PqYzxd3oFWUp~kDJXjQPrX>N z|L!zCrb0CMMW-&5FzqvmO+BrpGKoYIUNP6G$6uSpF03~TZafk(7V}M=*d6zV&ATKHaZ1I(u6*6QaT}3HmDU732xz@{1l*y z-sQ;_p1!UZ*F~b^Bb=D?JHJiqk4yHh|9?;~p16R#RejVYL|=e{upt(TV79hNh_|Y} zq_-C+;yQ0VT_84Dkc4-Us8V_3Ep*!T62$cykSsz)7V}YygsO|0JqySWY>G1r3LHz) zQA-HL1-0!ZEyMz{7Fb?jA>Yt#BGP5M{ikQl8ud*N0R9f8+B;aTsiW22UUU?BBwh}2 zc32=0AMAU#K!(9yHgI@kM6;5ETG0?$WsCYoWNPFU)%{dtIhJFMHIp!ojCdP>bAAhl z4xqQ=Xyg?@&~kvi3sDI(YK`hyW8knM^<3G?#xDsFWB}l3eaB^tA$n;p?gAjn1#jTf zZMe`R5@tKN%o*h>V=DjvE!m8OL`1Z>;2eid#i>5$C))($s9CKAP>}7(zw}b}mic zH6uKR*qrFuVg@S%=15)VNLx4vON_>d!_8IJj5e>c$J@iZi23W7MI3~PPML%YV#9V# z9|Hh$%8$8iwz!FQcSLr9N+S42QS=@%QVXQoBj9EZ&ADt`EdNbP(fQ*X#G}tF93Rc~ z4t^?N()TE$S`!D1gvx)fOYKu+HV`)f%(j>tm&byuN4=*V*!=h8e;gE_&2Nz(9PE-F zLMH6G0MZ4&g=l|Gg7>#1pyIPOQNkgAAo4`IM{$Q>xUJ~Uq3GCHFftb~w8g~GrJqemk;ukfG{5-19cNkGNos-fTrRx1u^dwI7ln*byo7@taSFQ9CKDdd;WR$OhLNHE98{t`N8+; zC$K5o2F!UQ?M0L5MT_A@oBu^e)>Sf{eWxMTptE= zI2e7oPMQ#d(1#IF|o&`GG?!j`z*eHMJs+ zwL7rlK8RS%!zzcRiQx^c3gcF|Sxx0)XOZ>r)d$bRJjGBga*NjrZd-rK58F$%BX)xg zfgWG0&Xpa+GIZ96ET+bOn|4TIaw9>h73k*BvL3g|nmx?0V zI5A2HW2^gh_It^*uKGXahxYuyLd7zj4addKMEW}o7goO)w7GlJx2MkB#?haM*~@E9 zme={eMKh7=dY@(ni+Rn4&0Knq#{Vh|?e^R7xj22;J*xDj!D+4G%Lh?x;^4QUINfJ2 zAMLt|Gm8<>`w)o{3aa*&wSbzRd?6A%AY&wAt*a1e(RCq%qMlzkw%$oT3#GX$<62RU zkHZ#Qg{3oeOZ=X(os(Gj10U9Q>hMic20TPWza)K{Yg|6Xm)mQ!O3iyNk@rs1Zcspod6 zp>3Mzrm1WD2N`x5cGE(5A0A$pAMUto|AP$2Yq;xJq`4jGSmh;6TC?Y<1V>p9dO z9_cwY|3!wM9qYReYIqp9PrCg@%2%r6755sF@_}DN2=PuGHi1_)5QScvR zIOL)GiE$Wx64K-?>oqbQ!83w1jS@UMF^!Slx%>IKUFD#rxBWlJ@IsQe!}pD^f01GDmksAf=Pw)o zBE!TlE*x9PwS1hek>Lxc4*Fyt=PuSi$S}{Sk4ul>@r6sD#64fv0fiTru0v{nkYPQK zOSdu8WMB6Q+i#cdQ~zClcy-SYIUoM-^22hP$Cc-5Ub3Ip`iE~~+7u`216TnDoH-o-8E$`<-ok!}wk7kNW#xo&UT1ppSq8{*Hd!H>2Op=yx;v z-Hd)Wqu2Op==Xox=*RfvdXQ7S zAXO1+)%0oAPH)w%Yt^4>MO?HRQMH)}wVCO+S@^VBrMKDCwb@OzIb5_E)v>770Uh<* z-F@1T>Fr*1?LJfOei!X#`mL%|twErU5TA~)^p3aJo}h@S4hI;Ox_(ELP-lXEXOd56 zN_wZ3ers@PXXZs`_TSMD0c&@Kb^UAfi)hDr+L|%d^;xLwZh(~H9eqbN2vECy>}W$2nawQm-Ygv`_M2_%pACDw--C3k7&AE zB^|Fg08M;7`l0(UF@Q0)9`cO-2lZY1b3G3)`yrQ|lw19j)B}vZ15pt@%=H6oBpopq zq%~6mPlX3PF>F0Yus;fWYgmT@ln|IZ2&En}X6v9~AG*%H>s$=RMD)o{4?Sh?a77Kl zg@>7^J5?2jwe1H!`E=<_4{KzgjkbnOgh$K_My_-3Hwyb-6o_AU{eDqq{<_Y(Q_cLM zx%vg6nWqz(e~g%C^qXhSoPW|V&o(p9aW&6Hv+z`8ffupx+;4#|b3veCL1<<{B?Vqx95>u=okH}3k>r%zMS z=$kj`n>Xp3H|d)<>6Xp3H|d)<>6Xp3H|d)<>6Xp3H|hWL-lTuE z7^=cJ|5IO|_n9kzx7DbWUBf3$E24F&t2O&}tHGT%J1REQzaD!_pSO8IPWC?St$S@V z)@>u&TM_=6sq>qhn^6NSg8VF2Po8e$r!bMk|57VcM zpU$xELZ2?IyTZ%3kISaIyQY|aM6|+6TNCHoF$bn4rF7`mYK9A)wRNbeO-3}TU6Bnv zY==1h^hbAZod2S83cY!)uea-HD(#|PfF2q5Twj|6T+nY!^;}#q?p!n%l=5IT>3g5b zOH`mQOHmm8W~{QV|FYlz4@V|{Z%oo-Py`u$<#m1UsCv@V72^U3x&TBij|exilc7*T zGK^_Y0vS#&l(6es)TclQ$VSsE4g^afDuPuL>;@oIy%xq|`2cPllDHdemr2AHYSF7ekZ>8FMok z`4TaLU?8020w!bw0NB7T<;P51!wL|>l*{MVT%`D0;~v*)edxq{64D?8lxWbz>SW)) z)cVR)&;am%U8i_lU#D;p;ZqMaVC+>lai$0Z2y(Z0WR`kfUv|iqO*E%>{88=4{W(<` zj0AJmS27QSiYt0&ecQ+C+By{LyQod}FARs$p9y^#otd6Jd;emFdahn@E{kpeG}BGy z@clLoGjkO%LAmb^Vqh(!bAtp8Pak+4$60^*tIp?FRNAixV4yd*cr zLIi99VY@ICY$E`k*DRf}RGgnju?N2I5aZ|&n)xC!!(>=Lr_f-i2>)zJ<@!o^=?VCU zAnUvoJgh%LKv!g0AKoUJIU(Kix$@aEEn*4Rd+FC&==T>Zu80+PzZGQWidVym2SwoL9DjWnBg;x;r-!0aAwvXUz+akHUe~)C2uXeIBcd&_eQXzz&=D^pAdu|AJ#UU8K z06z>0;{=f2eoX-I|1HY4J1e)lwHvcK1HQJ)SF2%jIp*sbVHfXeGVlz<~BR{OnLpZhs3xm;56Ik!bg?^=Njj_G+$Mgy8h*7NO5FqMbI74RugfY}ho8H7pJ7Ke z*1V)^nmzBBjedlE5uvx)L~KG=`_4FlD$N|JWrizslo7_)xNx(n@y6Efa(`r zGTASt?p^-+aTR#-Bof4 z+u9##gvmhxm9+!`KV@PbNku)@8Th}u>lr)mK@0)eqfsi|K#4>kBXj zX%&`zl2VpWrzgKj2EjFCgf~ZyoURX1I4x(UxVLM*M_v`oJghRD@2PsZGBbVd(b6ZO z^bsMlbNDOZ=SR!gnalHz`TXeThN3K9MeF#@E3>m0%);V_@E7MqLPVmGt5}X=cn@7; zo??0MI5vfnp|-_9JVRuS1f6-i62WXkFC}g(@T$~;*Klr0-coY?Ek$Xr5Zic1%Z^)` z%4JC9^L^XW-)+>dC{#OWe9gG48wMUa%P|_W4agD&+BwTVq4v2gkCR{OtiUl_dt2eW za?=_1^xOGu*nSI}i{f*8L2~r^kev%$K*yWBXLhmFMM;FImRxBg2FCtFg!oxPJEl7K zAz9zqfzUy}1ja0ZSLRWbtCAd(u#)noblt(A2+#0AxxCmjH<*fyM#+$xUj9=JjaZXm z4c*Y-XCs4r8lN>0HFbAJiQE_}wM+^x?pzz|4a&4F>=j*w?!+=^j1#9--EB9`$BoK; z99n-gdGE{cb4eRv++%%`R_f#u=YBU23AfRVLj$kzaE~d^jp1*#-c@K1!+^96tqFge z=ae;pvFs;CA(jf1W3L}3ja7v@MIucio_*jO3FkSg{v4^Xbz&MP=B&ul`zv^m?BlN>#euV}_Y+R=AE*E6j2Rrj{{n!JiNuO3aBl>WW}KHsLVp?1}& zKNj&+Nlf+|6`vp9lea-`( z&xBEEHKqv{Qn6l*0|SFX&qHawZSv;W9u)))3G8smAe=I?O{ zZN}Hfy!zeCyN_d(2Go9leb-SD|GoMZ#R)s!Izu3-MmsPdh^f-x-6at0bEF`$8+RO;$xt zemoL@zh-SQzU`sja!%0yrcIBIFpW>jPUF)nt(M&QN~9Qvd%u)&LLx;gvYvB>Gs2SX z*8Sd5iRVXMkzWMo2^UsN_`7-|JbY#?DGqDyY@0{>lxET9EY(9fj3a}6lxcoy$=rLY z>SY}_j8~1TBnu(iF zR@c2Vi8$4qWBQ8%sXOtThD}ok&CV{wZ5QE2-h9?XYi5h2zSLf}Wm;2Avg|DqskF&O zix>5$ijE;_=?jl7`O%(m*8;VS4Kqu@=~KA74Hh7~6R1*tUzRxI7wBp?ROGT#DF9DB z8;8M4jKoVhm{C24_!K$#^!S?;G4v4Kz2-qSN!%PD%PCKRaWvzl8g7@Vo5 zw5k8wUH`5i5QjUZTR%!i9{Bno_h0V%_lz3F3g%Csfe?xu0$@xB&|0m`OQY060k1P3K1Y}_-ibSL; zdVAwEzkCobF}e>Wwe=c$>uGLp&;BmN?`=SqXmvX=f(%FF{oShUX(oq3u26rlM`c!( zy$i#-?ifv6B0k|0mke)%&@&e>lq*WlBqoF>{chF#C6hzz2I;QX-P#R%W>?d2*%rje z_s#qrsES}HEz0;wv8)7kfiw0Oj^oNJN-nG3w|c!j-x`SBKe`rvke%SrZUVI0TOIx+ z^zw11*iwEi%2xq|n_&Yikz$P7IlU^5K~z`F0eVSX(Yv|N8_6xWlyeoj@U@cL$Z5(6 zO0Y}-Me~*4-9q)&f2L6aFk-iL$1H`DvP17xGLWZhWAg`pn4>oQ_LDEOJnDL&XeA1!j^KW4~3oJ#$ zrFAi?trU62utz~EW8}?OT!B~z*^BB4jqF?6*m)b=x}vmR^+6(=GM9Lh5tO<^W9$w^ zm)!VXvbm)5WFQ$XA3P7XKpaMGY(Cz4;P;_CKsMsAh(EhawfAVKM8)ls?ZcVAyLlaZ zV=JTqjc=qL0;sM6c(Q)>Tf-@Tf%K5!B7-qRDn+B?J;KeOB2zcniHL>)R!84?SO@xS z-jOpxTZjvsNxdiourRbUFTAkGQe3md?wv=y#X>-WEFhyZX!{qRcdTuSdunIM{Y$N} z-iCdxZUyX8z6g`B19ijfea~1DzIN6k zM4+g*F^K(y|7QmEH|7!4)H@7S1>bRTPa?ZU_<_*6>dr<)4qU$?OJl9r{4Ano=C`Sg zR>{2|0=;YXhhH`hK^^8CNEgYu=s@@o~4ZBI4>=;Ouh~%_So;w(IUAyb0TD^-VFN4A?+gD-{k zQt{q+PCmm-Cw62emwBAXJT7ZOmAq!^W?IGdz|kfbC`QcAx?5cq~SAzXC6eqZf5 z9W0WVS3EkUIc-c5zA346A*l?KQlV;1ZImSEYn81dB1~^23T_?}l!8S_>7+~PmP+Z> zN$I1c45p+In^J}sQbr(YV=8GAHfhrqDfPNf-QkTIX07N2QFTEnej#a_Qfb>dX}fD> z{gkxBfs{3@&A#bJiIwzS8!0WA@R)o%@rAUzos5T%3^GE-GhN23RK~kb#s?+iJ0;_{ zDdT@3HY`H+O}gycQdvxRooob3HgZZfYEw3v zqT}U+kX*WCw~cUYFjE3dE>T}D$xbfWM=nKOE;d1ufL><(tUk3g%rZhQb5kzsLM|I5 zpM&a5HIt6p{9FQ&&)1hPu#+$JkuQpnFHV;)DV6_FCtr$^FPoD8&_a~9m|r?4|A|WB zGn>K}A%#kqLRFo7*-4k4E^&2)LQT5D_fm!0I)yrvLb+r2w;_ce7YdCa*iR~0lR9w& zFslg$Yt@If*}>Y=!LNi+6@0L+QqW{8|_CgUe2ZH~ig3q(T7lh!8F!+)_eAy1Z z;salefUl*)*Gu8o|HW;h;9FDh?M?X31$-Bz^qWd)k4>6v8a`?*_AJWfArYNxZ6YsN=W(b=Ui~jt4j1d@#hUHT5wL;r>ewb8hggF0)1vJ!?fV*#A)8^V; zU!|%w{4bsMK9S0^3>=qBd_1X-yjFO)<3UKp>$=e>gPX=Qk(TSK7E#74VyQ90#D0F} z0O5S)=?CoKxnK+s8fuUG$6Zg8sB$-jz}Zn*B_-^SZJUgMy-yPW2?Ij#z($q#$Z+u( zLYa9007@MKdu{mGSA$4p%R8@wA~hpPbaM>)?`J%Kx!|P9ar|K%GJ3pg^L941Zk2(aXJY>wl22K$`J14@U+gE0 z*|iVD_~EP|#6s{b;{YOZtdExyJbjv<%#~FyL+?RDv&{9{eWyq=`V;9vCVeB`%pj9& zplgL5L^;HwFIs?a(zZ6T>kuE8Fe0l}hv=Dv5U83A2fwYAz2n+lUp0DPBigfK3v zWdkwtR(L(b`iESBkFtU0kdP)>TyyQ2X@&^i3T@%$iI2}fM9(6OCGdOe$0nu`RrxCH zkcfK$qxT>Y>RdCt1PE7U(ra1wCVPZ8*Nlbo>n7xkFC9KkwyuT|mPR(t)z+*wa%L%V z(rXEUeWmrFez?&pgqMr|R^Jp4)bMb4ikA%Q*v&{K#Spo~q*84NSH@e=z-uEhzNKmO ziQS0&xzPjRX?Ca)`L2Qe>$w`Yxd#jp$5NBT?lYimCIK=KsmP?oi7^C@^Jr#7QP`Ni zV1!PQ8$JhZk_GJN^ELsne?=PGOKCqi()X`6h9kB12aItVXX=TI{O5G#g-v*lhB0*Y z`akYy`a2piF9TWNhEFnU*Xlz-BPJX(8q{E|efdG2s|Af`sIH#~JtYQaw$-#;%fc^`)Q z%bK4FzLLK?hJ~>7^Bd%6Sir}%Do6LJzaA48UX|Xmd>u0Aim(c$nF#T-GJVrFCOka! zreW1TQBAAWDoR9)w`w&CY;CwT5O&u(etRf7b0{9M2B#i~v#?HaSEn3aNhx2Gky6I> zwN9I{&fK=ny0Xp&+vL#Ldf(RGVVN~c|VS9>YF zb;~b$PkX$t_OnUrS7i)Od19^(ij?ZtwR+D+YOf9}qU%=_InO61ua2sF>$g36&xZ#a zjvGlEc0-je<{ujFUGX*SCHGz|3t~=_ltc~+l`hxyFlXh-B1hkPFSorh=a@bb%t^b_ z)n1zD@x17dv(etGqn9F=+tEKRR%ZQ91~FGBy+01OK4PxUF_`pkZjeU-*X=SLCTu+! zkGJjqfUyAZNkD>!$8Bv7uXcYBK_F#H;Aygl9uu}{yPK|zH&J!Kb*+vu#lQ1j5FT@& zQL@if3|^E+AQRs!-V@(PltEs*q)*!bZ)MEic#uXiy?VwMEJ@&tLm6~T#wytH%JB$0 z>{uY;MUWKVYxNFa@)HjVBpv}}@O8Tuf%JKSd`(UnQc&oofAZQYC8YL65G2gQFVuq& z`Pzmr)Ro!Wt{PXM;}xba*e6Vj7%vzv3@NT18mt|*qZOjl4!_+Nnj~({jd3S6u?&mj zdz0}Zz&iW&?P??kL8u8|Si;Gh>=dLYQ&{e*2aYTZ-S;Mw@@=Vh7*R*y0MlzsV_-4? zxFY3ESxR_WhufQb#Gci`-h2lB)d3tu;cWzOb?*5=ZV@Ytgeo#eIN}Andw8^KM~;Mf zb|NDusw2ftyr)hgCsHEk_@aiHqZW}-wX2b<)lmsnQJW`GZLT7^FTHIsn1ZYj{6aGYXo!63{iOQ*o zs^g3XYp)G!;60UiQ|d!gL#^Ypj#G@S zQy;t`NFXC#go1OqNOSw%h0-(G$fdRhYJRNbe*5BGc1=pEPJEV*XTi9?${Qq(I9MWE zAzlq8h7Se+NHeX|>9EsV#qceSxL&3{JMK^GVu}y#OvztMFv7^Cn~cZr$E43VYvDFx z(a~Y!LPc2!)4A6q-R4Ne+EcNfXH60Mki;V&eNOsiooMCxZpK`N!z%yXhNQNH5dE0c5-)|ve(~{Re*wa_?b$e zU=#!RQw31Vm3AKro+lHW?*r%VYM$Sgr6%&B^P+9~3T*4ld8d_o>XD1%oT&x`KTi~J z0pzesL7-gt*<6sgY+<}cESCzFT&Q%S6pT$7@Cg7$>>H-aB}qK+UVPSPUSoN~f5MXg($DX+0ri zgnB$xrrMh$-2;AB#sfbSfY2FzCUh%2EBTzBOn233q1KsVZ({T50LjnlFK8>d3pF`b z)e%2pjHbulYl+n*D@_M{KJEv*46~;?J{Pkn)UNe%dh;>meno0(%HEq~(}(`%;RG%a zbM||N?8!vIx~ViFIj_$oLsGLmCcc%e#NJ=Xa=!odzCiMa?-kzsIoBp=Do9#+&G&sM z{(ekJRAE9}aSbW5db_>wnOt?r_u6rR+Lz+BRSMr@#!~`oYui|>?-AAgWX;as$f7Dv z`||L6tYy{v;<^@=I^bFAqxHJzZ;8XU^^BOe^(5Y3+BcB(wFz3p4O^DA8+w`4ry2K4 zYNuI~*NGG7ZF85blRxX##f?@S+WtTZ`j={wMh77e0NM6khC~q}k4{M$1CVbS8e23Q zF;HcKx<*QUAwlazOdt3*$S%4G0BuzHasESHyO8QM@fMpuja_3RHjui|{;5ziuYU7$ zpJu-FW`VlqamF}IpUuH&)18YZS5s$cpBCBlmabSrDo14LUNd$&@(~CKoN{VzYyNK+ zfKYSv09d3hUVPJ!Rj4)cww?Wm?LRI6N2+#bp?25*asg1;Kx9aDjf6$(ntpqxB&J(0bB5ZcTi7)ggPLluhdIf@27V*Nr*JM|FF>SqyyOz=XJi1Fg{%F+orPr=|oEMnR--D3K=>RcPeCM%K&>MB_S=Lpo z@l_HLs}uwknKbktdwcf_#`lA2`|+pxjfNSIpDAcHLt`_QrY(8vXvMp3D! z#sNp%0hsTw=kqCDnY4;`l;To_fx6#rl08zKNu9#T3n%%!MI@DOJVZFf=vnIhctTJG z3+kz!>(-e27MjWzwP6RaZX9KVDDjus?3-hs#u=^e(MPCqw1x}>kAs0YEOgJgs#!Sh z;ZCNOIelp&#FkLjH(*&;Endx~`zkzWr8o(0b?Q^IaYB!Bld$A#vPjKKC1P?JMVEE) zztZKfPh?D?q|v>e(~J@o6Iu3v3~C6y8i!fac(0n-lic7hdtU=RC9w0jqvHmdmz05~ z!erEtS!xK+SFv?$yA*Meqya^?tue!JO*}4+)&dTWGRs74;WI|o18Q4(a@NPN$peF# zW%lkl5A??J+<3yGJR9W@4*NJWS`ocd`+kR}aRHiNA>+f9Xn+7h(7~Q_edNjW z?S-Rx<;=+GGxr|mJJadtQT&h*zHQ}2d)hCNocVad&!bdz$`+VKhE}H0XQ4xa5`?&U z4ogjRAi#?hXE8YqmdE*J=xUj38*!!k*+3UH>bQRYhtZ9E`~VGIJV_dRixP z@B<;W1h(u>2FUieJzF{{zQeBedFyVwYm3*c1&0H;a8)g8S7sHodE-(+UD@ou@zRb1Z zSYSTIw#&R)YmPulMf&Gm$xA@zUQsUxUyf?s9fT*Ft>5O!Qfw^0>iL9i*ToJg4Phyh z7NM6g`>@=Hqe>c^pn6oUO)4@*(%|%4nCZ|$n81KnlEY@OiY1xO=C1ksNBDMC4$6(OFrPWZ z2enu`OgPc?*sWKU}E;zw-~Q}^1=j`C5n2U!o7%pZ{$919to;bfdr4|k@2>@SAdh2b9+OAvnfq13^# zL=klYh&;1;IletLSUj8bzTq&3x?3P@S-EDWI_q*3#ryz6fS$E&(&*@9C}N!x4V|C8 zOpB{qQVO2wyj-2F-7pMZi4H8Cik(ySzm_@*%ks z!1OAe*I{w2f8l@0UGmdV$STh(rt`aPU&!>+DP@bj1~cdmt^VOI*Gp@L*3^PUNTB(; z|8SRkcHf6t;l+lnf4R%ia?9ZmjmeQMy=o_tg2atP`@aHkYWd`s!?pgnq>Oc=FOBm9 zZ(Vbj+8f60l6PdTxyz@@9myW>k*V?h75`K*nMI+A1M8+-6&|+wiNlR=CC0RN7~#pI zt#%xz7p3*r0`T{rUmoKjrcU6$zP_QgoT)S38}H6gDg;x1bzL8i*7J`vIQN*HGVsPX z^!s`;yomlN6G>C$b@W@bR+Pl>%D4MKak72($EU0Qll_;CL$0=PC^k7S3c5_DzAIJ( z0HVbRSnU*=dYLO7B|dWSD@A7qD6k`#Kb@~z$4u1;-vMwKw>2QCy{ zZC#E-zhw$2g?eNl;SpgnU17Y=av?DhFgeD&_j0le*$JxhOw?cYD9>j5T zH3OYdtzEooGQ79cTofNnvTZ8z86?DW32aFI?)kYlq$VkXyT7jl#<{dr#)z}?CU8oU zzjo}ef8eGrCVLp?s*25u-cW^I4pMN!1zUFpzl-0|5K&!vdZ>P+8fmMciFUcep>2x$ za^#y$m4=}H^nlywdJ)^UmQlt=6}w5e`Sw`VlXvnu;;F){I#%KFBWyMwF1IE=e;#&! z;n2BvG&$KsZL9CxOMaKnbMa@7>DfZ9lr>>jwby2@Z{?lcSP9$(zHzgFTya!pCYv+T7hHJtVmVUlPf99 z`E==riMx%(yL*+zVsS1G{mc1|NB23i$u~T$piD=KR__;{2(T2SMJcXfrgM|d#7msM zoUMP!l(w-g@7_COu4tyQwae>z{;;exRM2Y+*v}zvU+psK+3{`TsM3CEZ{$2DoR83_ zBphTVlNUsEPycr-F-C?ShtAL^uMxMsXt#^~+mutst*kDWC=M^7${yM*xjY8ud%kaK zKOCIzggh|BzNOM3mz_!3(HZP4+3}|CSOvuOD{F`+xo#J`L&c9qW#T^79s^*E%IT-v zY#7puL%x2$w>Uc8rK6S<9l${JvXFXZwSfBq*unki6h=l!;{xWJ1IBu;{{jML1)m0B z^|OO-5prSS0AhqYo#@=Y;E109ztyh@gKvd}rLT#90}ilo1l~oZV{noK8gS~t?nH!! zpyf}&L$5=qsF(xzo{9uG<33hGr%5RVwG+9#m1vMPl_y38UG+{hqunJ2cG};$>%K#OtpE>&q7E2RY0H-iIJWfiQ)6c20;gk@p`RWcK*>`|9xliBi_chT4 zS_OCle!V)PpyDNN$C7?4;m9p3_2gYUK!xoQ7GVdFKF_*4yz*7#CY_a7**!k`2eI$z z7}g#c>js2BZcIuuHDJ|{0he-Yhm41ph`4nGn8fu07R=H`u#5nJFuM1IWCcs>{k5u$ z06=jE6aU#bI9vCzD|Y9S(`r9Y1mCkqiwe+dsIeX66=s5r&Bq4-?vFoSSEFLwo#HA? zt?qCb0gm$+pYGllKBjhmtq>L{=}##_-gq03BgM$S`bkZ)U>{fP8J!SCQ5`m0P7xIW z9ho%KRMUf%ilApju=I2NRcWp7gT90!wuQJ%XYu~2jVw$E$EFSyXNsIbs$V9Mw-eku z$;AX{K5y|*Psv*;xw25KP2^Cfqr%dwxy)Me@AUZua~j;%(MpDUhie z(&5(Q{1UZ5qre}S*bG^7$6tJ$9PP>in_6A25vDWbbYv^oKQ4Mv(^5m(!c#mYG%0j% zsNYoJu!t^{#MeraNw+`T!ZnZj(n?lFcObsNHJ=^*E2cr)F;&y$H{0Iayy6mSQQ}c3 zxyKS2C%7k$c40=zbwSZni<_cMf%#AG3kwW zTeyG8xU{p9(VG}7cwUKndlTlPJodirYlX^*y&dtr*VRCeubu3hPr!PRyT9GPe&E}7 zvOJ&M%XF-$vbS|i*vs{t(hKl!!{V3et*54BaVRLw5|_3>}JqNJ}@0fCz|! zgmfd_AfbrF&^655qt}05|2X&F_c`m{`CF6(O8&+rIxD}a#?I44pQuYZ1U4md`6}GEgTr+1scqmY9on}?-gN&( zY2Z3H+;70v^x)<9!0%#czY$FCvXCR_hbr8EywvpQwQbN(6SV(yx9Rb_(x7c;c)=xIAg@ZK|c;2HASqkbwW8H+Ay9(oE1#i4fJV`Iwq#EbT(bpypufTf3xNu z_C!DZ?rU)K;&38SQNd5mqh%j-eR)p4-(BiKf1n=gzezn-L+~ViAhjR-tRdEPIziAq z40Jm_D&1?@3`CoVH^ZVy`~%$X2_|IJ?SQB(qeGtJkv+XJ^Fq8gl-Djg@wTNk1=1WyR0f|CX8{m0?$gj|U+YE|2f0&1n?f+Xbmfvk6+nKC=#dPTP z+!OpD`q=Du9}*ltWZ$Yu{%||-3qJS=A}3H3Pq7XzT$Us>i;|YjL1}>TALdfsNsoG% zIBXx?ke-b+c!?@!vY-i0Va_}8(c@QCzbOBZ#|4xDYY#I!%w*CsUymzAhCWOTkIqoLQ4uauaZRftM#<0bc7hd^ zQe?Cioiu)IPg>RwaBuI6iJMjaG|6wPt;Ps#$9qAhH-qM%Brhs4EkAjsb&ActTvoXr z9(u@PSu9yCtZA!p`~96N3dc9TdR5~eiYNTu^1#58-G#JwD$pWKSVmFqAFfc|z4i!-fsc^r<)*G3Yf)BMbULaZtUqOvV=xWW_PA42R9{FLzq!>K3P6gaXk(=(MD2j)WSiEA4AeLZef z7S6$AeV_DG;51!RY+`-)Vj5GA5D-25wC>AO#)8*=O4CoSdf(;&;YJtMf4$YBFWeks z)Vy{7Q`2j|;+IisoGqxA(T5iwj$ej+3@AH$9r@r%jPQ92iE$*>Rz8kOYlTf~no_uh zUz_H1>&>`uFl`%=dvm%^8xdFPE#uGh({1!l&8Gq7G!=y-wx4;kLOHWOQ>esv_WMyg z#UO6Aiv|V?sI)VZydo_Ndo+3L{9>IAcP z#=AG@IJM|ibXru18>@6GIdzWBbyzlabv*7e4eT<@>e3(R@(g_764)px>V8GE$icWf z*y(`}$tQZ+F1T@z4rR~U)2;xt@$Dd|o_HsL7~_^FqHTeq-L(@sK4HCstS+#E-UMU$ zuN{PF%nUhiUrFGaqI%b*KH0$p&P9^OjDPc3+{&Kx^Q@zwESsFz!?4?JJn) zF5&7c;QISc`-_==1NrsmoAvxd)`hLQ8bsDZwVeC3ir zvu(4!Y2+}b_loG#2+6a4cXtH@BPs2Hk?G@st3h9AFp~`n!=DGR$elqeAq2FEgg=@F zZv~BVW{=)k7}$*K+t~a92_b+mDxlFJLz3@CF_R6Lo%R{0(U}2p!w>>QHJ^}4pPb1U zdk6uhIZAY4Tx`Y_3>a?pes-K52*Vam(LM`qdx{V|-d zKDNUN%gad^-PAG{sUZkg8V~oX4MU;vpxCoG_sgjey6NsfGs8U70I^3?S$!_d({T&a z@mKo?&cTe{BVA5|hsf#l?3sj5lN&b`W&-Lq z9DM*`IFyn&l!1T!+oS|NaM}pGnFDX;z?(VnW)8fW18?TQn>p}i4!oHIZ|1<8Iq+r< zyqN=U<`3n7H*?_49C$Ma-pv2@W{%lcme>ausr2DU^(|=iy=v;K_z&OATWJSAiw;x_ z5LPtdqRILSR0am-2ZoRXBea8~zh{moY5V&s`g-C9dIJX+k%P;$Lzp*n%*=6f#Xwiq zK!gMvo>cr*X(G{DD8R5i;j z$3}WGFhc$N&78m)gy1E@?ZPSqfqSxsZkqg>Ip%a8>=I>!Boe)hB-r>k`bxB~ADuON zKj_!Yaiu6D=6*Q_q;Zp_uT-TkCT|QgbFA>}3++4H6<#7SZqkA#KB4S!ZIcPzg<)sx z(by~Cau6=R>ZtTpP&sVk_ssFHM|DEp=WB&m3N=8zP6KZv`VL`}-a%8oR|mEa#xfun zGa!SKu(}R55l;|JF^C(E~gWNrf4nuB1Hr*=9!;nvKD4?E@$%S zW`Q^J|FW6m|J&cpN&n%^+?Ss0_v*4J@I($gkpoZUz!N#}L=HTW15f0@6FKli4m^oB?c(SZ_HROMlW zR`q$W@p_-mT5o_A4I7!S8Ym__J?1@G^db z+`Tz;Hm=i9!SOL}$X}&5&Z!q`edr%cOPjeoe>Ijy52VwMpyI?Y@)aQa*!sEyLHr{d zfqgTqMA9Mk$-KDIAYn2bQa+HdyOgOj+THCA>!47h4u>Q4r_Kd`?lm7 zFYeN)QD`l02iX^o0;086;}tSuWti*7vo zfu{qYpMg9F%R_je-^Hb5W2;TLe-@W=J;Z;>Ok|~P(9wZ?g^YN4S!j)GQpyVS$K!o< zpla~wPl0#1#IXhoeO5dNe0UT$Dbq*;8;BQfA1UgIYJs7EM!NBD zozgg;L57g|#!K$ZxOwG@`7IUF0igTw$LW zI;!&?Uj6#R5_E-e9w&*=ke6uxa_(j{LFco6I{I!`x+%umQR(W@KExW=!Zd~0P?AP9 ziV>%i35;S?|4eMX44J@T#wO0x5E=SHGBP*v4!02YCCABOy5sABQy1>wj59OQ(ZJ%( z#|BbeLs-cQuH2_kwplSGuzFzuPzLdZ6sT>l*_m$3RU-Pzu?m%NBj-6}jT+4~hMNB{9e z-r|I*5q;CVTV?tqV?X^9_3v0Y^iU3dsE~W8)N-h@bf|_t%*S&-%)9b!;6R4Ed-$C+ zTg#F0($OBKJe0ajcXyJDC#*jnA)+SUTE9cwvQO`NY{#(cAh9bF(D{+#6d`lljV%Z-LvrCO_cd)3JM}gQ5t!sv%gyX)M$=0NNMidP znYp{E=X$n`WI?wQmZFu=)#nvU=auO5YKDs%iHln3MLqnYA@|~A%SF@DMKk)Ml>zx# z0@(pYcIBSaTY+9Ph;=U^htS9ohRacj%W>%CB>eK-k__|8xfvP^nnqtPGoV%^P-{@s zH}plBD?_E_?K?H+n8wdVIBH)4eF#M#!_mi8$fp~gd^mNl!DQR0tE~F}-2TU=R;2%B zMKZPU& z=U!Vge_LHfeC7zr0G?_G&n+#@kc~6Gwv9_Bmwb8HDWy@qYxtor) zd%sqf-Q?*54)^34!>QaAn4b#nE3m%M#;h*C^xRkEEKJ6%F2AnbSK@j%j#*u9Jlt32 zZKv{3;qMnbP!Sx{#;h*Sc^;?=uO?$wmw(nCsEHnoV^)_h4iD5JIM+Niq=PJlJnEMBsd)@bs;|Y9yY;6QaRQURmhq2{Pc0Lrsr{^yl<%KeB|p~nvraYg zKC@1@O!c$LbgVzK$?}-=v&{)OKC{gWr}noiczXZbuIPoXzkSI|?{oXI!ee1Zz{Efx zG#U+5EoA^E2ACLNVt|POCI*-oU}AuY0VW2R7+_+6i2)`Cm>6JUfQbPn2ACLNVt|QZ zw)y}Q`>U9k{}{J4rt}Q~uI(g5kNnS>7#!KN%buLa_l9As=bue%I`^^_ZHb4@Be}r3 zFoWNo{lmoIsEu6ICK{=ncOIa~duQ~QjDf0A7!y0qMW45zkvta_U@|Pm5S6=@{N;l4|U;H+-iP+mwDSVy(@LegCzHWxA&A88hGy+Pq4k3}q&r#Cfh3UXq@GE8ZzGbXkSYV9W~O^m3R*s4LaVb>bg*o~U}j&|1P z(kzs5U^hU#W)`q7Dngg{Z04u;R+G6OUd``r#Vsv5B%5p`o;k1`$-kvcpQOlM3P0TB zw#U~!bew)`tuBl1f%UYoz4O}rwqRtfIoBKs<}hty-kj@7;jz8<@jhEk*-OC0{=1r3 zs=ovH)$96mhl+QT{*IN6x(@*(%K(fl17tG@0*q`BFfzc%03!p83@|dl$N(b)j0`X` zz{mh21B?tXGQh|HBLj>KFfzc%03!p8?5}q>)}s8sa5q-9iC2Bz=7Jpfm%Fju3sqL; zO7L+S+WitU$@Ayk*g(Sh@mG=50_NAQ*fMyaZw%-^@5ZWg|KV;7gk<@T@5bc+;cg5M z<=DNv`VV(w5BY8`TS2TJh5o)9gXH~rH}*JP)bG!`v1(7kiJyPmjXh2L+uhht55@oB zZmj>0yD>26Q_j&cJ?3s~f4wahYs|6x2g4_S<=Ns+W6a&yxN-o+VH4}oFCz;-L?c~) zI$`d{cGVh=?qlx8BB7>q`_S#Ly%-}~oCog4{#)OTrTTB;B;a8Gz8&KS`V@gaMc{S} za52Ee02c#X3~({P#Q+xrTnunAz{LO;16&MnF~G$D7Xw@ja52Ee02c#X>@VbE!0i}t zI|lSA{%7_n{(HA$M1YY2Mg|xeU}S)i0Y(NG8DM09kpV^q7#Uz>fRO=41{fJ&WPp(Y zMg|xeU}S)i0Y(NG*IDs$~i>?Ld=)Ci+~AGF-lH*F zWEV~97cKCMy5Wm=;EPWZNYA8;W>;i0n&mSX)3t~kfg_zQE-;&8n103Cmdknc(m&mf zeS@QBcKL}8*^|jQTG1C163A}XiyA1}%i^*#0ollN`I+Yu2_{3M+*Vje7$qYJuTcmJ zkL0(9UAdykh{Js=wH7U-Fip`DR(J6-hu{ma5oz-{eeziUyhtdP4nu!k{cOEzCJS*8IJgU+j zP{6VkH}u>b{gPQsBs>3mb4*9q6m8KOkxE0*tE5KPVC$NnVqk=OugSq|G&7oGn9HZu z>DT7i1LMh%BAY&{@w<-ixIG%=+Kkq?&xNhmAl*DB3I25so4+>4cHi!Gu_eXa))+~D zq1vs)qAHlx<*_5&5_Ues-#emA%1iLngIBC?^Brb$%u>3irH0>)tLBKYsiHM}i=Xrr z<>SDS_e;1=36g7TVLZ~mHplLC5je!*P?KqH<@R6;Cbm+T%j}7+E(W-@7DX}dDtvoF zQu+SYug$R}dLxoYO3C)6>`ZA}ai5rE1KlCiNA8Y_tZ8?_%EGHn&)@v4&$D{UW`#Wh znas3$@t#o6Q(YCoD%d}QmR#5N)I7g$Rl%o##!>2P-lF(1(wGzYO5a*Eg+RNm zk8u%q73Ci5=!nQOcnDFFJ!f{2VOFGqvDPXj^J-sN3M&^d$rkbIkQRFi)3JIX7Dt(B zSV~=_HmS-T<=Os5%oLH$4?WrH4{jV1zP%4pU)Ym==dyDR2apzcQ>)@3pz@_ zQkirJ$G)m`ZDC+?F|d5%L8az9=br+w8J+*K%`uFTq5rX8@%Y@ax}7?}siyz_g;VXA zZh&+BocD!u!)j`P%g3Mf7cNZ)lL4;H7snT_tvJ^MVV{W~AYmPpdVy|Tw|tOpJuGQ~ z?tORPBi#oCrUE^N9-SaPMx?I?d5$VSxbz%hx;VkC-r;G4;INuuUG;_FvTKAATbbd| zok9rYG{Pv0%&u_zN|M-Ugx^{-L*t8`N|HrsM6j@$6RP@3QI%*!-nB9(HaV4|>C%W2 zC^En5>?=+CO(XiznmIV=RGJY_Ge(-#g8Z4U3@f{4tg@8_W%j8Ir<~@K$3+&`-uTLL z*=RmBTC=$R=~R|CN;A%q)$+!mubf~Bxrd*H<*kKNIpHqNcn>EQ5Cs`AY%MW9V9k~PY(%Wyo zI2zgI#LEA|px>I`<9P#Bk3h;nuavzSWhUO+Z};`mRi#beF)fdT(|==ByJmC15GnIr zLMAUdU_P8?yn|hsa7NX45r-Cq`1WA?N4LvRD9y!Tw8WFMVR7$wsaLqm9vQ`qMBLHF zz3OEr#-t=4yHb;TyJ>@7z;IB>u(r^RWCQZ!_UQBGx7p|(4q>&-q2#2)VsuQY=-CHN zsxIvkCT9Y^o&4z7#lw6No!jb>H^#$O4kKiOEET9TwTm+o%UwJj_@hN8L}Me;^*SB6 z8aI_H?u90&lKi9)H|Q&ONUAU|X4QZDYEm-w+H;reJB-g>b=S<2CpfG*LNCwtTJdzN z!`YmMu>ZJ~1RNOH*#kO6fez76fCB>#3^*|0z<>h-4h%Rj;J|#3^?##%z=^MtdR5ng$_}k3rvUTsr&!XAzF3Ou?Oyl|FZ*k=bo2U@vUKY z_F7O|OQ;<*ss^r#kU$?o(Z6=~crFkK>{qS~XBY>@C1w5hJ4BJCd2}2&S;FzG2BT|= z$+vZWIq*8fnh1izv0q+S{oBqSN59H_`!K4ru?@{4#gu#2n=s-6IG&W8v*E<%F9%j~ z;z%4zdSl)h&t^2aPW|fs(@g8R$!((s<)T?CqNyE|CchVx*FNa(LR&+xxMtm{*)i*g zy~a~=M}yn4=Q*4DuMSb`feaznZ}Y!*_GA;-O@4KVmg`j6Ec|w0>){f#$=tE?uMW{~ z3v(yGIz%x$d-JDmYe0vn+M}bx#~S~I9iqkLA-EP;^0>aMDSC@;0*Yp)fj`(DQ0nXt zp3DbaW}g^?aJ#OXg&zq$NR3#PJz0p7g*>o`<%kzHdBWE`y%Hs~lfD`uMtZ|4T=w3F zyeDmgzKqmbSlBUsG*R-z-1@L-!_YQG$Wswo_Gp~EP`nj-#t@q}2KaL43{)p9hvf%% z7@h?cI<1cLW(@bJFw2kPgJ+pIzC+VD$@7owN-`dj`Q3=o&zuoix4)_zNo$d*xXO_K z{o&jW_hfUobLDHH>0E))Y9ny|dr0?=Kw61X#>GdzZIN+*}OWtiAaYeGZtv&Le-tQ^gqvxDq2WDr|xa*S>*13m8Q#9ydszbR!O) zPx`x_=%7*FXTXZ% zPc+_gp8`*K{i6d9=+Ko|c)y10x4m$dXT?}MjgXr;+GUJVnLFkI9~TwtzD>){s- zxfdT>E}E7un$Z`n49L$C$POs73y$o`MfSB^-1A^SC!Uw1ky5rG^ayt{nP6!P@_)E8 zmAG)-N1jrMze1m%d^xX1v;2gj{#+}@Tv$^5 z;A`VVbLru?f9PV-=Ty8@SWIUdV>A;xQPTc*(kTAXs)Jb@%tGP8P#S)L$@}}?l2jbX zKY`@!=}DB-QVt?b7m$bz zH?`trFjuB;@4l=37$+HiSfj#@?@Hya!2DEjA82CzPi|uU-+5*F-j5!S-(EgTM5e4X z+q>sX9=E&gc3!r&3%uvSsHbJB1e6m{PCz*UZjX_XKB!tA=V538I=VoLfe+}h>7#K-Q)P(Gg!^=*8_FDyz`GdT}?~JDd3A6 zp9E0r{K+t656@Zn(nUY|xHY%>mH=`NoxmfVcrjX~(>r|9y>s#wJ;)wHaD7`atPx zuk^qKIFyHm^^R%1-zffeL-|`d_iHm^ZIu1lX+ZWF_RKP|WN8Y_B`R$cv3yZ60S&Cr z8rev1%c&YnZW+|tPgGjZ9k2AI@>mX4_<3w#ZYYn=x%_KQM~hW+<&saeEgC;3ooj^g zX^htUnd5&f{@V>@yBFbO8?j8;lX!NM%re!Mkc>$W!{=O*q;G{4jM1OXV`4*#kRQVH zE2?dN-%!S9yqh1+-_EpI476MFR!FII+4jdE>rc+x?H^em3n;~yh7<~dqo!AWOjOw} zEeiDyc}PwTuFaz^$K(pp+4uCJn}Q_Sh1E`G75FnGr6=`oVKy!BiKEkUW{`6U@t_gq6EfInG8 z=0@G2mI|M{V4uRHPW#cj0@u98RUTX$f2<&x@N@v{?vs0?#`q6gQq)ULy@?z9n<6G5|fZgS-C?l6<9M}HcTCD3xSSp8Z0;Dda(%F#fE^h%!U}59i&&3ax zyQxK|o&FS)&*eV`4x z62p(}-4}w7)W>G2gWy>Vgm#S%*EUeME#{L#=e6k2qjzE|i7hmIZw6}Pho`=W#`3}_ zx2_TCq(7vV`x$;s`77}o`Ol#lyqsjU`7IV3?DWTprV>t%$s##aXx-SWv?S=HAVO^4V#EB=8R?Kd7J+a)H_VHUcS+mC!lu9ZR zqqYiI%Ts%c4U#OwaM^}sdTCWs-L*?;GdQHn`ZC|v2$n~%m00!iYfVywzFb?Q=T^9H zLYkQNX`GNd{6m?M(qKxf=(paahwqHfhh9P;uGmeaT^5 zviLc++D+W{<#*Z@-q^EpuNunOoj?xZ^_e11|HSwgO&s@sD5?Y;3+SP@tRYu!76$I{ z=HN%tNItaJh{_qvkBYF9u@%%5(;Y7WD{U}c|EOu>rR})x#H=6?rTNg|Fd%AX6f(=l zK|XW)j%22NVzA&1vA2gJ53DuSB|AprtYUdhV*5WSoenhwCBKX`z-E?_jK>{k!CNC! zkRg*KjWzb7!fRDc4gUBThbn~DGCP`+tgtwg3kxJ1X)l`!Nr)v#c{4d<9}{B5j6*AH zbW6s8FXf{)4r>T4JDDRp*;^fQw-B5xNQdZV8zCBGHX%fkcbl0aj|$Y9!e!uahb&5o ztd#^-wN<#yd`@nsE8f!;L-dvUnY;1K%H3!igY? z%i}9qc7wz{Oi#2mPFfGryLG>Rg}TRB5?XV=hNvLS%WR~o3)Ar<@JFF-B^DnTsIPc` zXL^nuQ$SBh*2yV@74egXO1>1*9?Agsb@ zS_i%81VJPqkYcoP14F}V${B@0RK(4QpZe8&(S+C ze*&csr*<3Vi$W!7L>i4NXEVdGrCATqZ`9$3V-zz&pY5OVj_n$)l|IVKpni7yDFmuB zwJdZhdihL4wdkVX$n>-pET-!0KlWZErz){~j=%l2-(e~A@~18QVgVg|+6_e=l)^8! z;c%p*>BNh@O_b_5+85_dS=pViR>HwspN1MKvGc2O;vQi0#ZAFlsoS1Rwi0&XaOa1K zPuB1-_ZK1!*(W($3TPxLxFjh>C8<;-uNg~HJ4s#-l%$E1ypbhIV;sA0$^DWOLO#Iq zrGdPVlYN(fXPmPo1@`1+Spwpm$`@OTw&Nu`m(;Gl6jR*ihS<*|cK8|k!fS<`Wdc}~ zc7(hn(tNbi{9MukqSAsY(n7}4==)C64+5oyAlv3X2ut7beDvG_^~_#f#u}Kx(DsMcd^Cv9iXbz)lT8hF2fX%cyP1s3T=GNMto> zWwp3u)yJ_x>BOn&_27XH0bv|CB3du2Q@=vis7cm%K-Oel)^tl2ij*}Yku#^2v*41m z6qU15k+U|IgW_T#k3h16m0UoReBgk5(7b%`mOLEUZHSAV)&4LurfY4EgA}9?X{-?C zq!1mb5F^+n21qGqMyjD-?}IaY9vyq;a1;9VjcGk$Xv^luxTvz}06WLn^z~o9y2EOi-zGyxVb2 zL4RIB9~r7&)M*qbOP=2MIHKj_Ye!+Ac!?nIjW93#Axwov!sS(^IBq|+(T?Sd(PpQ6R3>G7eW??#h8f89nyI?8h$+wQqb6c zAfw(&J3Mu+dVs63N2_)t<}OYiz6Anb#0&%z#)0vIOhEW*cKGnJDB?F!DT%Vw%XfB@ zJJEs~)l?ec9SXIqUvL%_#K`bF5Tq7lp_EyfkXprggK9#S$Vm0OX= zQrty;Wei;qH?YEmhxa`C)gjk)ArK6KPb`Fm`7Kf74HKBgJ`3y=$sF;;IIb#hJr3GKCA)byEtT#dgE7=tch@ZvB>T4ngho{ zV%j54ikGcYa;jQ7K}v5bWMzCII3dyEgRNJd$x=6HkSpN8$gsE^8)rPn4eAu7>H2lK zhr^r*m69i{xckhW4eHI;Fo@w$Ph*o0s+P}VYsQR}$V}R&^jfnGgt2PTg~eaS=(=-H z#o!LR)u}cK4l2|QR^qDrnmp!{ox&=v*NdE#TbL4B?=Oi^d5=^ZOO}l&)?<(Ce9x*D zM%Rb-NQw1i8!IN6_J>WyvMD*fk)7|*i=-Qm&ep5g($BA$J`?`p#nu)UF(G%=AW+sI z^Nm5EwmzfK`1RAL*~lq=YrXV0-Q~&pFS!j1b-J2Gaoj>;Q;HL0oDI@sQ#Edl$A}re z{xl0MQi?ys4<(V#brxolCIWGWX!a=ebtt`1F{(2$s&_VeA2c^8I-^a7pGA4^mftM@ z5wRUxU0I-B#pRrpn0i%Uzg|}V$4~lk+**Yp;J4SJuPa2heNt@5Htu_4-2chA;ggbi zHa?#IEYE;6gN$6gTj0&j3~=u8?Tv+kLb%?!OT(gV*7?-mzncURE7 zRF*u4pLtv?9|T(p$6G$ku@tGaMWTAo`mwmRwwkq$skN?) zwO+8be!R6ojwNbOR@uZbNpn*7QjgG_`a$nY*-p1mdjitDamAH*5%8cW19g6qu za$(6T$Ht-3#0Z0_;x~SJ3+&5PXHr`?dRzB}o z8`CGvc5y>?&lc_CckB|xCBt>g66o!d?%BT(w@;35>mjxWTS%q`+oy}OT#K{Mth9gG zY@an`pS@_Gvtyr&vd<%R$ftKGxaUwP?og!WP;BZ@;^I&m>`)f(P@d!Ps?ys=h*2Rk;zJATM<{8;JO*zDLeeNQ>^!c7sySP(_np3B#QHty*(WlWR7j_<3bDl7DhQ&nUfbc-*Oqo3t4s9nT>K@|F*T_?XpQ7x)$#;7$3P=xuf5@GkAY{+r_*PuM#1AoDd9$? z?sg68M(yf$9qvYxuy;Kn)O!Tc8U6$u6ytY_4^MPsK)W%5-I*BNnR(nif{rF`~$htLscHH#}Z!JEr;~zXlM|DCcz}}5AZNcEC84^tbub^l{1lUzWOOGrPyzO(34XeVV zTStgF@XPZ0e+C>Ym3qU#K5h)2bvRxm30PB!M-tJ;ZmvE)@RPd_?#Y;WV!mO<0?RY~ z$Tiw0c-IG><|Zy5tu_p^p7sbr`$VYwMn2dRu*35#JB(9BrN$nm+(u5`%pI^Y!nWX;eP3^CsCy*=~aF&Tl}(y{j!(*a(4Z4 z(SCVg|9l4j0v`WD3I8H>|6-_riK~Ap+`lZrzdYCfRh9qi7XON2|2IqimAn2`X#Z+( zz*~lZ8lHf65&^a90d?x9As`^23i*VBpMHf1BKza!tfbjV`?yRUl>spjJO4cNJWfw{Si<` zEKMQ^@qY)D(J*p}-vMPF1eGf$pzLLs3F z+9G-k$1)P$jywmr?>kL~BettmT3&kVt0Np4d}J98I{gV?G~O1zL@*9-Hx3`)2Oj5> z;jc5p$Jp^>mP3qB@LvbScvl_!f_<4vU0akx^r=F-{bT$&LmCA@Qebbi!>(s&t}ok? zhg2GWgwB;29FVV>a}4+dUE=$k$NfC@t-pfL%J?u>IX*XmHXQEd13r76>&Kveto6Vv zanK7lAGfamP!%3Sqq?n(kNvI0udsX13jc+4>7c$!xD5o~8WQ~w-^VlBi~AH`;`%}1 z(m7k{Zi|XDd8CSr?^$jO!K7S-^^|`lG=Mq{X7ONutg)9?eAF@h)F{C8zZ}x0*Mk3K2=^( zvihH814oBd;HUV5-vcM0Fx<3LLwLWT%(k(W^Q_F}I5cSfI?Mol&wEDKrGdwPZaC;G z6mf=k`c)#BZ0T}XKKPrS+qU=Rw}fB{b(ht&;GedLFZZ@LTY`6XgLl!v2rzt)0lv=z zKahYQs>6?<@MBl_2^@Z!06)v!0n*kP89>?^NLy#{^JfeKX=@;D4WzAsv^9{nmITt) zK-wBeTLWopAZ-n#t%0;PkhTWW)SfH6JKS(pXe zTpsD=^Z&WgTV&-h-zzj&Vif62aWMeBoP=La=U)DO^!9zi`3Mhc70ogZMs4JxHd|0z zOQ;<*>hsdMa^m?Lp384wG-mYnyakP1LSKT(vPfX(C&R6+VQ5@Z+N6=M|H0^OZ$t-* z3A-RJyfuROp^%Kh*f-Tb>!4$~C^#?VNyaIn`R%c-XUBg$F4HVl+g2bee-w#J+*c&? zx6xZV|;@7z&JS*Z)=aQ!wvBcRQ_Hr^%LQ~uL-yj-Vhr$L6ciF?_Tdl7ATF6cP_!K+m6 zoagFCO~d#1y&LCF-PXL)7#E)MnnSyLi`7d_7tX!5X6jtOFD_j8Aij1ca6o^J-u_Vs zeHn1Nw?147T|xyR&yIG#{~o=?p@KoMi3Jf5TuN=2B;GC0U!%9lFe#$DwFoH^fpM5L z>7zr0G#O^}R)#`Za8HKnv9_BmwUOr@rVcvUO%5}9yC+BMG43W$A8@!Q&lnDj-kQg- zr21Ms`A;6b1;2V-f9_E6Zqnbevav*n5oja=j0`X`z{sZGIW7$WMg|xeU}S)i0Y+8> z7#Uz>fRO=41{fJ&WPp(YMg|xeU}S)i0Y(NG8DM08F(ac@*r4Y?SD#lbomZmIs~Il- zKa5QM!qpww*Mb~aLJpykBMg_L5|`sk7roGbHnKkW<+2274T|~(|7B!vc~G0bjSRtn z-sidaCWJnQ|2DE+g z-;=4P^B5!RP2sU!oImr}`10S|$O>dIlc}0=x4aHD6-+I$k=uMqWoc`j#nPx`vLJ$y8&H2`@d3v zG4=mhcVZfNFyR9YzBoF8hTu^9nuQVH7tRMxyMWU!%!URqqye0E0c=Gpb{899D}b#4 zwgT7+U@J0!tpK(H*a~1PfUN+w0@w;*D}b#4wgT7+U@L&F{&H;9u?L2{P&JUIl{Vu+ zV{W|2E^46{_3(>^+>4Jb7fnkS&FG6(2IOZ6WCs-41xNPe{*A3#63%Pjs(0#e(Iebd zyX>!ak$*q!T4q44VA#s_;vKl(t@36~=Aj$tba^da;&TkT%FgP;4e5GH}h zf`YmDG!nee9^+yt=DPUt)nze`DGZNAMH@0Fk9N+j7 z({ad%Isd{Lfa6`Q6<}7n0Rr(6Xgw*fX40xQ?~MP=R?jeZV1+Uytx4Heu3A0e>$q3U zluQF#xjDw9UW+;H!mt&uL5BT2xl@^jOB)+RrpLKwVp+O1TIdh9io;_i6ikQp^k?V& zW~(}lFZ-_^nxcLEIohXwvDGIdK~ZZS71q4N&-|MMpMJ4b7FQ|TTTV@_sGbn#?B48O zr(KT}QgIuZo8DYrU{1R}_y`fCA)Svfr(Gutr~Jibrj(Q{|W7 z0Ov}qbR(xq^z)1DCUorjPIG%sqiZW6!#u2+T(5B#PBc8{R>`zvxS!k8*5}e-UNT>* zZ6UHs0^gWK!tzDb39@a5$S&6h8Ac03{7HDR=wTE+td#yzEw@}-1VSD2y=U{KPrfYS zaYT7*-F_MA?Gj*~9LaxXeA51&Gl5bQ^8M3#BV`OBEnKQJI-iZE2UjF|R?_6?^KPs; zGO~mGd(ODDZIFv*fjY}o_&$^q&r<`RK-3&655nNsUkQO+_Z@Er_6$3fV!y->_=sMGgCDZ;&gkRccRD5BnV+I zSY=>VF_H<~kcIceMO(Eqay@kJ(bS`6B4pk*ab9t!kw}Or&ZCq)uqSR^ zX81ha04{!K9A{z-;Z?eaCnpK%J5_maq-U034&**bRIUb|Ycvd6+UeVaFK*t*C)$(K zNipAfrAPUb|HI_{TCHs-vo~{7@glli>pE2d>yFUNbG=r)NeL`0;B*lYwAz<>b*1`HVRU(SFx znis1h+@xX0x!}GeiPN~<Tr+jocf-k{HouAN6L?PSBxj^lW~u1X@Q z)V_XWZvi9O*^uv`XPvoU9!bj%yn2wt`2VnXU(s+k{QB@`v_V8~5z%|}PV_n$GYAQy z8@>15i6MFyH3Zn*{*SB?>Oi4?z(B%XAU`eQf<7)5YY% z5Xk8c(9|R}cgXV>|9wNPiLL*bE^dz($O~XjstjYG(}@d2q=1Ru7FedFScKNEEfSLB zq-Zi=nM8pTM9uNusM%mMhtf#TuKjbmI4`t0lq>xcGZlC8&vY?UwNQVU<5`&jtEvG* zR0cmL=>7m1g^LQ67wGIOW&;KSQI9DZ%84}id%6hvTAcg=mM<5j%3?Gxs@4Ci#As08 z>GAvw$y|5pL?m%c#oR{m)OFP*!7O2<`;y^byywMlB|QJC14z&Ma8S0tnC0d|=R@5u z^yHCKqLg34D~6mwSW`;;GQ>V5htbK06Ul#gPe^>r5~;bp=%x6{0oxU)Ik!NP^$X`m zRrvZ0$(2ezKx$Qdrr{^vDLx(H7;HYKwGX)d;ytx-I=e#ccIBC#;2nP2$bFi?pi=v$ zfNE5x+O*lpkw~*Pg_b`qPa_27a1k7OQ0K?v=^V?%GBPyac1?XrggxjwEM@$Q&bcs`0;li|FFc}bdka#MMpG8h(gRdl_YVDrt{Bq(VWWb`?Fz5ktv(i zKhs6n>oavfbR)inEBLQ7lkl^fGtH2FW^cnVk~`khoWip9hvi{SvRT{{=){UIU!3-; zs-*A*TsYYy*)-9Zxxp~SJncd_;hTfcT4dpZw`HzhdD%vm;ZVa+Qh@NKbyhGw)n@U; zWP^3VyR=IdWa^_9?`e(nS_udeHMYQpC0Ir@4gLw{>U8J$y)B*%BJjev8(0OX^t z%?W9tE6Z zc1m5It=6?wT*Ox(18=SRk!Lrjuwd>B+C4N;8I1P@!Ie);&>rc&J&>&kSf8WmYCMy{ zD~E>^*_j}*XzM#hJVwHBFibZTM85#jG+bE~Op)3}qU5y)fjra(covk>R7Zm^MHGzj zf7Z&=1P(_!qMH$xiFAD?8$}GrGt8vaE360+*}=jY_6zC-Ii6K{KF8B1ujv)%UL1I3 z%xOsZLRg94cPNHI-kgf7PAR5lG&VlWymL*or*l%%#H)*O`Gk^J>NlTLQ1x>vir9Mfx5*ceU8=PXUa8gV190Ba%hasT*}rH&9sErCy``Nlv;AXD<0zd^f_lWe6w!=huwEd z!1<`uQtGs?%CEmK51Fki)A<`3T9TO8MQtrdWI0kwKk+6tjBS=lT(d{#ME-tv(HHU^ zwK&fcH`;Csu;L|mZ0oPLtdE#fjBT{iLLV2Z>f1n8g`YM}PQ176-1awV95*|yb`r<5 zoermJa>T7DLbz|U2Q_NX2~8%$B5Z%!UNm}AMU?2=WN0%t=#-al7lkw0>gH@u;)G6? zT2tA%Of*g{zNratiuf5n+gM+~QBe+V`Uu}@oW?!X@%15NHZf<>?Y*9?B$g}Pz_yz~ z%5Fz7{0e>rrzOqO$Yj&*{PNU-`RB($d^?_OMVzvs>hO=zJRkMB>@-(DVJIL%sd0*w z@p@&`;^{)E=|+FC;mPFJS$}(s#Rd?Ic|xEGv8uiXwp*1kCozw73Jyoal{E_y?P*x( zlo*!%9@!qO31tGV@yfaggkUeNM4=PNc1i4X-~e`?$>Q~LG7vkH0l*>>P9a=`7&>X| zsu)D@*F-^5b9$HyQ5yZ<%P~He%sdQb!kT-N3heC&K|_Rbs+q{RZ-!v|R-4ll^LB)7 zRXytC{_(}X9|L_h(KKNqj9R})Spm?VjNr}h25^A=Lq_820D#U`TV=d1&GQ zfm;E<`-r}cjtQhv7Pk3aKcA)xV~sK*aL#o8kY%}UEkDxU%FaM@AncRxiVPas`VR_S zb_O20NH#6LRsLafn${dpdLMlpGaW?(oKH5-Dl6(R&Wy(KWp7$f7B1PD9;rw!2#iY? z?aL%X`i>Bjkc~g}_sm!-UiT67#XHRJ@4o<6Gz3_62XW}MUk`v`d;PL9s>L>Rn*QF%{e8-kFd zmYFF7iUQ*6trSFcf~LiKTdEQ>NGUNs(vkv z{oMon@b!Q$#pPb*+k160ZCIvPjSEIv^^a@Hm(t3}MP0lSx|f>B>=q9C&giFPv8FW@jMz$W)14*=5v3;x9j<^R3sQpiD=&Y zOm8hb+NG$fQQse@u(JGg>_8o(bo=s^#>Y`eL_h>PK!ODQBbnTf3Ok=94Ai)m@+ z!u%0;LsB-ApDNcObA?VeRw9EL6Nk+DlxN*U;$OTB=Z~}R0C9sq@T!08k7KJa8-MIX^akHI# zlvn2Q54=pb7JB!RWf%NkiMTR&3bND+a-0hC5()|s1w{h|C3^*Be+96;LiPwv>_c4s zYx(E4c%qrOgnC4DVdTF$qRQx^&jFtdTt7fdyFxS-H4TWguN9t8a6E^{cw);*QrFa} z$&&B_bG8(XuN6)3luW6W%s7?IC6wS0B?|*3OM4|N|F8MjRYuzQ9(s8Bm0!>5l^jZy z?6fItv%l6iDfwnZ=OrlFt|_f2e04neYGa^m23IB-k)ZEVB)u-TYF73iP!5<^4%}4^ zx>gRx>kXJd0|4T(t=kP0J_v}S2OUI4`1ihy0Y_znqf5caSIyv<0dVX*IBpjle+^E+ zQ%R&&N#ayVmQabs2=#7O3NKau(145Y4bIF~d0ncK)vS^|pprAMlDn&tcde3-r}~Ck z^)09BI|i0oAhkegp>E;COSswF(1-8Gl*z zvxHhTM6Jd^t(LS;P^0hq=~t3F??9u%w*nGIR< zhXKem@D_%bcFR@hp?EhV2nA@+IWS-u!?*sMrZq_C0EF-T3IYfg@D730M@HQ+DL#o%!YywIGawS8$YsX~fT>SvtOviqfL`%V z{!q{{Rv(K`OWW7562AC_G&{3vDpRgZBq@^@d7XGxzPzDA|@id2XWE8fkf6Xf5NAKQBRw! zkGL0iyGv?^DNey1zzT%-kqN;dhr-md{K%K^5OJ~)K>&!TvSuS}#3Mj=SV8xeS_g!u zmV;1^6w(_x(FGay8XQjun1pa`Y2I@fY?pwC2pc)zKS-#98k)Wt5H>2^sX| z7?dc?!5&RhRK|SMHYmXCs)WxJdZ^bI8jNunCU*@95Ju*X=%4dWHxPGO1M9E+UyPR- z&Mov#yX#k+C=NYRLu!1)1+WEcW$OOyL1Qck39cO}*Yl2&DaW&cbP30mWHyTJz6l((L4F)%l!Z3b zLdVGBnWM$?KnvYC3%y(m{c?*JtriAD7KV!!MwaV_C+giJ`T#7bm%gqRw}tGU#oc!; z9WAW_Ev@4$ZOScRx9cYO_!=yhQ~Z{W69y(&8@BjXE;LrI+*WQu{)bgpu`2N9)KyYebwi zGAh?Px^>g^dftA+3PQa;Oa_j>wNAjdNu;q!;{XpyR03MJ2?!JKxVrR=Jqb~Q$JwT^amfp+z^D`atYjpcStt#-{r zb}frPi)ntUtk|{V+jr2|f8n-Q=Co{kpRWM1|LVAl;8*C0v+v8b?=QFi)@na6WIwoQ zKeT5*d}}{~?=VW^FvjgLF6A%*b(l1Am~wQO4s@7_bNHU?Fk9|0*Xl4olfLz>j zSh{ss#&`Td8jP~ddTT!(dl+?KL;xq1A&=9 z21Mg=M&~&Q0y|?GJ7YOHgMyr~n0xCO|q961Wi2x)3T? zqf5J>v$~KOyO2A%Pz1S9#=AVobD^3(cr5EeTH*3&$%SU$g%;^TN8m~Z15iu5&`Y~A z!CaY*U0Ix5L7-p;5m(kcSB?tT$8D~hUd{~ht{B6vJV;kw0yn)kXkuY6L{ztd(hLK58l0wuQ z$_A)wIS$l^(0V^sL0@Z@Ld=A6(!YeXdy8wlv~2g}J_7|;+;c}@MinJ;nhHW^ zLL-pgc}r((&+Gj(u-r4yqh^SzG_Y(QV~gj9r`NeqBk3#S_>fQ;Uw3O*!)7?82G-iOZ)@9WrF58} zhPQYEwpqLHTEWxzUcMQdM|IPFs$AGEg!hOHrG1@!P4@i;2u?HN!EuV--zY*lVAr)G zZbs?;L5RPzYY7(OrKakzY1jobW?;(u3{i-jj!2w0(y*FAas|r*$=uHXiw4OkL{aa5!sIE15!mCD`4dB<-!U;rJS}9yVwmzWy5{^s3Z@+aw z--RG%)he|mcC@cMbh z?JFG2{Mv(#l3*{qGmldT3BtI6L49DgyJW+<@0{8&zFjy zFF7KmZm%!zdn)fzF*zDXX)O9|-3X{YZ;m=43;4mOyAX7xB1#`Y_H5EP{9YB|E1E&~ zbplZaUXY&uVF(N1OA)<#hF4sT8Jf}f>$Nl1tz0khoJIZKlFv18ZIYep(cV#ibbAn+Vqwm0Vw{Mz(jcQW!F5Re0a?-lgjMvcJ!? zZDjwD<9o?o^d?%Iqqy+3FGopnNh8O{vc^k}(yD&($7MCMzCS%sJ$#hKhO*c)Em1vu zR1Y83!(Tx4@Iz(rR!}{BR1Y83!$VgJ$zIT zAJxN0_3-~4d-#)U###ax$b-wS!%HN9_0#{(Vrxgje!$h`gS9G#afX8a>j|Mdi>(zV z_2ctO)e>Jhk^l>ERkP2sg1r56Lg;UcZU5>|YySY9H+b{`I-&gSjle-X$%haS84dM+ zJt6c!$Z>6E^q(h$3KY?kf(Q6a0B^peafvlhuZ%5!2^WR!t^KFP=5EqNv6gaUu3-|T zhJJ8IpQSCcGe?LKEe_aD{Cxhm#a3$;Q!M{d!y+Mxl39U8NfWIOFpycm<`Ud*f*sZbI`ky_#|fbif_OE|Ad5^hRXI>N@k+YhneE>vgczA`(2*3M z3s)$)GCBNQ^fw2yt0D+kjr>0sNcGEPg4>^ri?9DOE6_~9`KgxGUi0wIV!Jxa7hqm^ zR{~gUgCuRSz0*g-`apk=b>Hy*;%&h71^ZBS?Cg3H#4>a^KXhxZMCyiE+qq-qoMc1* zh$9ZB%fefWmc$v|^+ePuM#wr{qG(WUBzZW|2N|D-a z!bO?J@2?&{sVkV_mEaMWDOuZ9g(b`VNQLcPimNKe$Lb?h&d(FBYTQjHM{2yCq;3%Y zZ-U2=yB@xqy6~L)vAXDLiW^k?XZ0~u;&{RhCUtdk43j}8bJvi&Cv>9mr-%PHe<$kL#{o2Lz`5-G-i=UAv9QQv|q=sfpaU zPdt4d;4$^W>&9coJUzg3)~@cxbKY$_z-!U(?8a+3tWJ^+1!bY2EEJT53g}P)9V(zh z1$11ffG(%>0*MOfPyrn(phE?8sDLgC70{sqI#fW13g}P)9V(zh1$3x@4i(U$0=j?S zfUe{AqLB0-AQtl;q^=^pC~p@yHT<9lM?QF`(s=QojF$7K;lH`8ops~EHoo$S5N2cG zGwF^j%ZB5Sal>Z_-~7|Q>bkS991O<(GoV}ROL!Ul9vD-~}fq1JUoCEz0_? zU~)5GLZIf?9~&~+B6BTtAMgNSXi`pJ-YKZ)q2;AeJFd@8{zpJJwX2IDX4mg3N@P^6 zcUd2LRGefXna*o5tKd5kTwwW3V8OuE3HudBKN}HxWjGxa!B>L+z$~@H*er!GlTs09 zp190^IF7||_QYnQ`00ln-9xjM7>@0s_ejGh>tCCE%%`$0GWLm8x>DE=Z0Nocx(KEh zxUf$0z?TmcWLj0Ci9xTiDDg}Q_4BPKe{{#Q8ZTaVBFesh@yzP`?RW0-tJdzq)yt`1 z!imZnq^CuzYErL~V9D=Ji|QgJ7@Bn``Q*h+mh~gP}Xm;H?LoGi&^9t-(FZ3 zSm8JRc;jYy(dC<*=DULoPminJwt3Z>W?SB*G`W*i6{ut9-f|bv-S1G+v)AoYx(nz8 zw6lJd=H-g+)E`ehX>QndoO4XCTl91O(zi3WFT22f7tpncQ@gN}Io$S#d<7Elo4|GjYd1}wX zm!M`-{D9tsN53l~rI}U=b#f&+Eaf;7{|y~Z z$1Dn7Asb7$rvTq4Z2$v>$2{Z1;kQf|;;PSx1Je}@S%fmBpf87#^YDz>ghW)eY==`4 z7n)N12`SXV{^=S8O_6YVfxT@0YDQz2(Ni(Pil|WkD zV6LDxHYqNs1>!mjIzp=8ZjPpERfcj;4}a4FqkGD} zI#r+cKE9Q=(^spTVy~Gj%MG*JSreZgejpTO+HF^|gG<}``&2t9V!;seo9LI^;mSxZ z12d;OUF28%p{i-OVl>9b>Mf1DmFeB%@BonB(AUAwRcH>@OTx1&sZ-Tf@?2<-UyV%W z3Vf!Ux3?FW(BEhgep#E!rT0yFgny?tx_R)S;}5Ml;aP=-KpW*^&iC^!nBUBna40KF zvL4y%lxk0^_qLQaVJwXi)OXx0sXf2<=%4BqU&j8Ox+R*p&*sWs8ErZZz@$?S+N6)Z z)kxGPjO#%RhTSGQd`e8B<023% zfYzXP0GIDJDQ3D@e{k_T$NMYgWdu{d3wC*One_u> zEu8v9W8e4cakP)%85=biP+oE!syrIb{ubQ*T1+zDXU2;rnI%#*?O+Ls{}to2krNBQ zM6^%JB}>wfGe?(%oo2HSjVOCC+fE`tGe(Y7rgunn;^{LcsCJEEcOP+e{-QRe4E39h zu6i+GxP<`ob7Mzt=+@|x+T0n-3SCc7U*eW#iZ4!aB~Ob}5^kxp+&$#G-tg4!?hv0f zT$(j!yp~s(&O6tcBxl_1p9JV}T>z%7Sj&J9&cvnzdLyHA8@~gC>7voBWqYs=DuGIG zFw=r47yNBNfG+xI%I07t-u|<9G%3Mr&So@yDu97*ynP?*5O%n5yF@VEn%~me!uKBl zG2Xyr$^r&5fMqaST0$@e{L9Y4dtr4ZC3qsq$*7S5H|s>{#u_DHOC5G1fh&`Yq48wk zRM#`G*X8U6F4p1HCYt_0#*y+yVNtk26o3Z+XkJUqD;G!lN8JzB*3G7-a#EhIdr4yV zE+EFLY*+E6pDrbHa2H;NyQG3F;EiWM77sT*6{Z^X(JeCWr;8KODy4NBmN?&w z?B;OFcK?A6{*ceWe5zb;?O=RTK9K~MZ*{3g!N1)o{Fzo>{ZhJRWf2! z{y)$07!>SNRzveg<()tZ{sn*V~bn*Xp{z?f`a+>dFW)>JzsAYBkh zw*llYC~M#?M(CzrYYg@`ad&q7V94M+Waw`wtGZwCpr7Iu_^4^%h(qn}!CLLrr~TDu zV${E9tIw7We*eR60p+jCI=XVd;He{*@t{Abp(~uw0txg!cbr$@vE%UWetoso80dC3 zbftdF%4WBXg-jH-u)PD20EomgkWzq zvncS)e)#kxl8&tZWEXaJJ^DahYpMVnmke^R8^#)LQ`~`DO<{>hAHe9Lf);z~D0$gPV%V67y4G*f5G6i79o=DMDJi;h_ut}H z{%7 z+dYX_sPoMonwCGDey(mEJ4F)k><_qg9-se?fYSjV{|~qYvcRke=LA>{PFb%9yH^i~ zmP|FbKl93&L|%uO6_NU|!47`v`~kPG<{&d2j0VP#Lo{K~YwyT2fl71ZP0 zaU@?&B66UgOSLT4F>=7wU%}8U;B=XIW_1gGyL&rv8-#} zs^vRH`>S=h!FUcqXiCc$Y8VHz(N39Bsr|^ExD`#e@VjVcVSOR3N(^x`yj^2-EV)zw zH)Kd1@P-?4RoA8gg3%}=PN+3cs@1Otjc*o=Z+{shV>M4sBDD!4H#4$3m1f$IgPKl8M>zxX|}dPHL3yvNj#l zEH3@;kHwn$w7_iRdb|TS>^!Xk_pE|$t%CoCvRJGFj4XV*mgPO6wt?XF*iC<_zoD#h z>sPJTF+_*8c)!ZCkzE^1hR`hL*n#yueKBVNv`W%CgC7waFf`$yv0?-TN<4 zR!VKpV(f-5e!0Tl!fSuqqBz^)T-%az+m9QI=$-^=flKe9wtFqMmH2j5G^$hyN&LkEc>3o-PZE% z!rXL|(*Fi!vDoL_|5qsMmtOYnyxBjYtY1dWuxZaSgMq)GET=}rrT>dimJ{;U2|(Zs zq;>uSWl1|@!2Y*T7BPxXZ!Y2=+{_R?f|RcLq(C|f*E?=Y^0{l2i7RWQD=mcqJ#G_;po&J%VOkMfbf(aIWHgsvJiDY((!PgIp%CT zRLk?wzk{;cJPd|CUcdnA700?1{gyHycNtd&)+I}8EJpP(bDmKR+TW5OPb+12!#q#h z3QxN>Py0G|z?O$G%pI4d|8d1p+l{6o=*%_GL}}R5!`REy$;<15r_rV-_0rKp0#&^a zu8PJd{sdl%>8HMJXI=!}A++A1Jl=fqm_B)4VaDDsoxCH1yph5chv6_UM1}XOHt!hP z^Qg9?m_JaKcS7E2?1%FN9-m}spA?GYM3_&SlTSLqMQV^wW}eS$p7V?fpX_0uoV?#z zOFnr>pZuVcTms*>JihN}kKaTdYv+Q3<4+x>eT(8RJz$q2ZRwi2>PdM=>gm4a`@XqL z=YqqRTy5zXGM+X)uFeVG5%C@sPJVUqCt1^BXx0KG!60YsCWyvtVm!Y#-ne30WCI04 zv;idEb5<7Q*9E)g-}H1X0%6hlKePgBK15KQrz^{P`NRXmia_5m1)#mI4WGSAp8JpS z+!*DdYcgun8_E!-d^Wg<)bjWpMH@j!giS&S;-dVG^fQsb2ZTa`1E6$I1M<$tcmh{9 zJ*RlC1PCKS5J2}zT)K=St-|orT7E^Z=7ZLul5C|LAuD#@f@7x$TNQG% zE!HoW*-?+%M$B!GJm+2Mimt)^y*Wb*fo7&)VJ!=nn1s9i%>C|~GBXyI3)%s4>Kv?0 zlsy0J_)8zY5l$T!`bu@6-J(8IHc&9r#%TfT}edmpe%Tg z4U~RcP3>^@+kFOt-hE1LYG%?RICxF;@hqN1vVXZ#s>10G%DOb=a#LN_RghGkeA=#u z)tpXZnVHiQ1>}qQGH#tcA%M%U*WwlLUnP`68~Moh{KvDWgNHP%GAZlv9Bz*=0TTH1 zMOh}r)XZ;WZwo@_V)kSCpN3|J+(B8gxHg))#hjWj2cexqIgL~6#FsJI-qYqWC(BCl zp11Rz?FLu?WPn|eOx{gu|D&FS8LWzFH7|ztx~}CXhii*+~mhk?P=XlVPC0U zfdxX=?>-y8`}=2V<1?R7=5+39+sEPS`OeoJYwl1gV5>Y?Ws9(V!qajZt(QpiVjg|y z1;apZ3cSfWyl48=Wa#D z8%jADHOU$`96a@tw`$5aBb_IvYeJKzuUe=8RBt7OXKi2(HQ#KTZfg58i(G}~J?3KV zSnTTpM3w>saPL&H>X^?<5f1}JSE3%bimt{!xfNYYRFe{0Pkj+6wvlPqDz=&9cPqB_ z=9QHAHaiFdHCR9m7Epr))L;QMSU?RHP=f{3V8IGCSb!rBtx$sn)L;QMSU?RHP=f_) z)L;QMSU?RHP=f{3U;#B)Kn)g9g9X%J;oo$yP&kD1mncRc&5u#Be_0W9RiAg&*ml*t zbk&NyYNx&aB7NOueEl`(x;O8-zwLTp>3RrxJwkg^vwykZdiB}(YAo+&w(VvfxpcFL zytxy_R-|v+kc^+4t~Oy;pJ2DUOSgOfA&Lz+0cNCccH(bO+K|^v$XfzJy+x%IIj1TU~5C=qg;3Or*`$KZJJtnM}&8^OZX>;3SUg` zEhPRj!d;-8<}hjx!6bk-O~0Kff#dL4&d=}-|A8+<(UOYSb zNcm^5Fig{Wp7hyvrpjXYZm{t8W$*osg}F1Q<&Hn1*!;Q6T3;%U)#Chx+tz3y?1Rz5 zrN{2~8mB*^nAgES1`9qX+mjVmON%#t=ZEXVAB>m&h+?Pvn@dZ`AOJe4vkclj!2=l# z5^ZN$tcUIgve=9%e=d7h|2Y_lbCU~eo`bQKaf8l4lRq=xW7QB2TOvas*RkH}OJ*_s&-n<{mU;Cc&US>uJV!mvBu4G}kSW zC6cyE4^-JMD0hN}>R+!3jA(A;Sq77X?cK+M8#k*=rD`op9I%QXxR1y-<_qpV`@U;A zajR_ExKG||*OZJ&x0j`Zc8OP>N7I}yFrY;4*!2ina@dw0TX+-+vdlPs3Br4V~ z;4nziued1Q(n{hM^#Dkgfvmvf?FWJGF8nSwQJw&k<{y65bwxRpd$N*eK^s7mC~0EZl0a#CMBuV+&^PataX7kx^U0@_oHp-gH^4Y8Ig*5;{zA~rVL!yWEE(XPN7@d7mm}#HYZ7p{nTej(DAzYEl81Y5|ftr znFA#_4yELL6Rw+D%uy^HSq%6QdaDtE#f1j&o;XNDDj0B(TFW8{-kVjFKTza+@URYt zV+24HU};>aQlriJhUS4zmh{O%Xx@bUJsW3xuA2*OL}4h6<{M?$jSB(R^$-A{!DOhs z8LzD{3E(pUiZfBElR=N|3Qv_6#}b58tJAU$mN5wFu<%1LXOuc;pNs1letB)S)r zd(g6s4d0Z#UeQsqGmAFhfC@Od&pWzpZ+ymT{B4COaulh$A|PT)eC_`6;iKYAk*W($ zho6rtg1C|z5ARbt3_3eKyP*;xkUKD)km$s`__!qCpAkxZ_&Qju^v9)VY%(D=t%ve% z60!1md(2#~AG<9Fcw@-)w>zJRB1AT1q%8R%baN>`t?^|;&v|z?;SuPUibU%dk%W)( z2%1`F0_XFm7;XppOQL;!mi2BP<0QS*_49Z=lQqfR?d~3>>nymFN@=`W@FWA z#AGN6?w*IgSp8;GL#?9qec-3U*lVljnvR|xUmuhJMJ1o}FiqFKr_I#!sQ(FsOvRFC zOoZO>ydHEi!Fe%LMey6+TKUE7_K+vVByxkIME@**+@U|98#yZwWdU zhs$}~ktP77##QbAF5B-9`cV$Ms)140!EQ$Wd$!-Y&r%b_;`j+;()j8^_CK@z6Jz9P z9^YpC?Zt5a@Bb;=XNDH&j=ohy#}ak8t{Yu#i=mO{{!x%PuJ|Y0hkqYiSIgkD7%JH2 zh4;m(@!QhBSH72EDdYTFLhnDa{n-hdFU*hBUk-TRv4TD+Y$4{AiPoAS)Om5tFaFB* zAMuZf3cU-Vl*dgmNV3%Kt1x-8qcbqJI$%4@V6|;?G=Qym`X-J`ukd# zVJO3;=Q|126L)T#G!uS!U$Icd-LP z&J4X*Q@xCQf7YBC`5#Yu83$gSo*4(DlY5(l-V^@6ek~07|9LI!*J}Wnj@(%x;qF@4 zwk3Nbh%0tCW%b_iYD9E0s5}jtsHwBqQ0hN5mfnS~~1bqTT z*f}8pV>#z9_mvG?`W{6Zxb_nqfmR{feGAzciody&YVXAZw^C-itc-duz?<} zeY2`)dT%)*+v6FQjZ{9|h^H;O=)&|}@Z6HblJOa^@eRm7#L+Ui+8$;z&Oe4hY5W_; z<1laUzGMXwjeV64x;cFAheTdf1fATY1A?&I&=?Mw*8no;LeB|j2l0Y==rvS^@}+KN zc|-ZK=#aAf)`_@O%RW};`7#K;C-+MV!ts7COK$+{A*A{E4A#nvy;aggT?{0xKNOzK z%7TKrcz_YBUBr+CTqIOGj(r-w{7B_4`ZzzP@|cG}fP@iY8XBQ%P|g4jI=^OD zZ1t+oF=a3Ix@9l7*_cUx*c$D4u*x$klY9E~FE_>IKwTDEKDW9Bz?Zxjt=(T34>Vpr zYed#3a+$aWwX7-Ny<|<%J&H|x^y4AceX)3W`GN7W8h|Y|Bu>nG4YU5~S4UwvkgA}3 z=4bQw&-0^171jzK==&_vh=pL!{St7aK0weoPveEv%4eIt3Foi&8S1EUGFd)Wrt+M| zvvGve$jcZ|A$}0~@3;lgGuf<|RVMlzaoxA_wh`ef(HLlT-f-Q_u8BA}Oo&0-c&|kQK_;GnVz*gmHzggi%=~-ajcJu+(2xZ4v~H!b*J` ze{V&svr#Qhe2kX!pm&j&745^~=aR>#s?R<8qkP_?hY8&;)%|fc4RP1O0APR6e{vL$ z%o+j;DNh!)JA04ClA2U3uPLaO>DLi@l4WOlv*K);Xn3a_e|9zBQfjBy4I=DhvSC)% zrH)k5#0&rAoRh=0>=NHF$;jFTo|nX%{obGPF(NGM z_40F)J*6GZVCWEe(Jikf(RVo&iaUIz|05mi2CuHbm}zTYAuV6rJ>}EwkksblNNmJq z{7rFaWI?zxXNd1h7yNJ%ocu^l=H}7wMCM5d(HzF7^ak~nfJfRo#Yi(vKv)Tq!6lAb zF~kpnm@Og?_Vos;?7WE()aEUVe%DDZCL52D|L!aI0GpG*CU~)9iq@(gF7#Lx9%R23 z?vDONI#{MoXg}^l+=;co2Cv4vq7H^@d6vdrwltA@wUhoE3UMdZ);)6wL4~q_a4Le%6N8c|#5?7)p1Xp~2mk>bn zG-p%9z!SPP- zcfy4IMxX4S;}lHn>eTvSxYh%Q)ysb*+g<3#IzZd!Du4b4Nwjj!gbw&Ed{ynL0+M_Q z)!lmYpfBd(Q=W@&#)0lj*bos}s>PT{d4rYD-4MdW*@w&^zb8X+#b#YhK0LWjSgQ~`L8}gdiN%?qwXxCsto{CwETgz?Rk@wFrW)u))fQe>GBij?U^Z>yvZC=21kt$*|3B>_&>4*e^nb+ z6k{F;*{;EZpDM>^r%}>fXu_KW0phMyN1FL+P^6jTf3gMN$2XPG`O`BvZCv5t0xqjB zDHr40Pm44Qp@sUVEE05E)rc$len6PzvP=hWB^_p=B;h451r2g6ZUu=P4GZwoh z16HsRr!y9$*G@RT0O*2XYazTKSeUI-x7sNDyV?NaRuPD10ueDXce{en3qmYoo^V9W z`F^ten=Nn{ZI|rK7R}yfvw2aHh-6Zc>oGC;mS6LSEie$X8dmcR8c2D6qKy74nxJ59 z?BWkw0Aqe{zbK7OKO zUi)UP9mM`7vgQWxhb`z70AN?h^cNI->epvyf}R|6%ipmDM8f#B8R)@pE025My^(?A zd?It3aOr7aQ+X$qEb}Ff?d{RW1m!<>7Fi1L?`?BEcz%ia!u+xNNR{*RgsU2N)5(z< zZzri6g#Vl1F+^}&+f7|~&izt>* zNN{)8Uyd zC-c?QQ4@OHS=80{)i*Hpz0fzZ&hRxbac;dZF!P@GH8c;pxG=PgAoDY_iWj;xviWCc z(Js&T(%7La!_UO2uJzKy<^8;$saxm8rK!gN*?$skaBchU_qemTo%u)`_Szw;bs&U)Ngy>^&jz_s)Ato+89& zMor}2XBVUl;w3Wir>%wjF0sE9PnTuKdtAe*Dg>vixc)^AmfkK}{WXn38}^&yL1_i+ z&zGVq0hM0g-y@ubh0w^!kiTotM)oVaXr70wovfZ!2BKnnaT5J%_tj_6P`%HWf^!J_ ztLx)07CF#4X%yO_wBJp$z=REX+zX$6L4bn+>BYz1=! zQUyBbZh*}Ejf8kQq&$awEevea`j&|#Fq785421tqi>6TJ#`7yL#t!&~_ zG#LW2#LD52p;eelRJRGIp-8ZnwMvOC2`;BSES9HM^hiRUlTYXCh@qU%PFB`@mzp)U z!=?!9f+mEgF)8;-^H1aBENo^WvgPjyRo*j(Gov3Wqg@OVl_xeah@EMdJY7O?B=gIi z(U)p7ie-XW4_IX43nYgHB5Xj8*payp!;vzCU=5;jIW}|-Mp`>${1sYnJ9%}GU+<|T zSSFT^jpM7S!Zfb6@aaG5LggQIAt+D4ID(1+o6-zhK}p(SfpdflPKA%|6g&1hJafx> z2|<5HWk_mur5W&^F)*EEzJ~r%{9RNRAu|bENyPD6v6nbEWkq#V$gEQ(x$1CB9{cJT zbyrNC zD;L$XZKEdithd(c>t}a--;>~S%}g@f?D$WnvSd$dg!UU4@KD$l2k84e)XH@ct8I83grL3l0;0+D4 zH0nS;qsPr|#A1?6#!~ZpV@--CX|g1)9~Viv*{LKUX*NW{iKq@0-c@+PvPWPgm_c&B z(dg|-xx?SSF36Y!S!hj5C~4=KX9DdVRWvPLhZcbysqQp!$+BZa7nTN|iwc zl2tFVPcPaWJ-O_2Y#As0NcXR}m=#E%;$_*M+(lY3zjxMN>jE%&8o_5EKD#<+tg;U? zPAtL2%+lUNkZPwS0GL{6uQ^hkxw3)d`~pxdo!lZ z0&cB&>I&#tY0{!G|7fjtYnC!m?8zh%G*O*DV2BDoL*{ziXFPd(fc(U$XN!MowS9oO zFYIx1xzncXgj{TJTSWG|ko+F5PYp6+bEW`nkm6w$;Hj_thk*!{2(xt;XLF<<(<=W5 z>NmE;lI1l_sjdkeo|1(kih=k0T3`0pO80lf3AyBGXHkBwSzXjC;$TmARX%6>Rwk8< zhTPWWDCspD50_)SJU&qoX_7Z0#CcIJ+8~|IAcs(u1s%1;(Ngr$>=w&>wdkf=d$YaG zd_2n*w_u;7j`;~?*!w#lA&i1RNd6g4@8Va9`~jB$6IbRx=qJ!}?- zJxZ91X^7y2FPUjWL!!h{(k-;YYnKs*^nY)wr1tov88y}=uIi-?|M*+n%9WK=Fow(c z^`u_l7+d|W6M+_m5h9A5dwy$t>ApXs`9&l>4W?Z%?qODyK{Jy5Ng7?rkQoMtLm8au0F z4f-~VY&QQb_v4Jj>2}Jv6^kH84M9h{8kzj=KQj`a_g;2^Tx5s|eTqS2I1)Aj4*z(J zON7`UCu<<8z^`AmpcJIamVag>g15g9xC=}R6_3F@A7>;el*|cj)i)Ze9%m%FjyHG4 zvIcz)SMMO_b|cs!&VP6-&Vd<;{|t}ei^dRU)Jyc*u`;JHjs`@TY(j>xox1)~1RX@$ zaHzvs%%$;}=?!#7Kgaw|uRr|o#VKZ@SA0dC*dfr3=q*#U3;K+9WsU&xOzuAP6FSJH z8NvA7rFk|n@X%KP9OYIu{dhQ{mP)*g%BTO~=btg0bsF#SMonw4?)i)-e?CtCHZ7Sa z`NRIkE|=)Z{vt{3E$*TS;^!sQ#*hLumu0YzyJhOXO25^p$#ET(>~G5Wb5(P7WtP!j zJs_&d-Qnif{2SJ*QW72NixYqLp5T*dY3aN3C5xWD%byWnB7eUxl32dlu0xTqx;w2p z`pd@&6%1Qm$hDLD2)4!HGe$nT1Iui%P8p-*KdK1%PYA}7P+g)h1P9C`skWdmoW1XH zrGm2e@I`qL2~`QwRG$clACG3+8h-igUH^fx0_rex0cP`Azd&}AF{%2nB&aF!zi&~n z@yjM|C?3%_4-W=d%_RCwZ9{jg6nJ)Z>X*W)tB7 zOD`1cgULkV2vZy_Pk9(tP$%3}CNesqM}KVL|3-d1K%v7}nr(1G45Rh9(jwh2c^tUl zEsTWA`6aciNgolR1kNeaY;`CJoS)=FZNgDxIBeCA5R6@Shwr$%?kcPzbE2Ipw_Iw{ zV{!7Dd$Qq{_``Z^0@s&qByyU0Im!`>sgP8z;3&!pbxhjJm+DwYCzIhq|KwhZQY9n1aFFWQJBl5(%tjt|in-jpbW zXM0$sYfY?2soKh^|6@>JOWfd>Cz@LfSu;HIyty-?R{Fe{ zkUV|v-Qp}8J5!MG=%sHNH0rlfmFi+$t$vFRDZ{njo-}mBH?_V(-d3oiFS4bH(-FQS z4d0yR;!q$cy|2ge{fY%XS$MnY!o@TywwRKs*YO_B=H1MNRxGhIvur-nTyb*z`gPbYPVLZ@V@q- z6T{ZB!!;SPO@e9U4!Wi@3_d#5q)nYgKRomPh)KfDgspTWU%u~DEgw|B>-l=K((cW7 z#LFL-;urYb(Tfeg%XpmDc#7!wWxV}&Q3@IHs40vr<$m*FD+n%TGrp`#YCa2RAows` z#_&~o?^MweS*e%p!!z-p)ix+!(%hKSW6!Oca?)JdhM6)sq5E0L4p@PH zUpt9FZ`|XkjC(ar53SP;OTmMWdR#EN2Yg#hjRVBz)47Lq8!=b8_Pd-Sev|O#*vs(> z!${_h?mqHsw}X2Oyhgw1k$Yp8EZt~?TbX`)Uj)gF8+Gf`PQjg#BjM2iKh4?0q{gvx z;nxENh7Ww5t>fRlohnT~hQZw?^y{e*hlzf#YPiA&j|ly8p6u>szxYt=cm&--5AU-L z_c*&Y-8lSw*pEgh5#3quE_1iOFZ0dAnx`$m)MvG8_2mh7XUy}gI_LA7XrZ^PJb09X zMIEfhS(C4Imn8mTd_hX=+z~r=8s*-c7WpYX#Fp&%e3EWL5#%k3LhEgn_rz^v?}GB? z?kE3}IA53Bd5ybQ)L!&YYynE&4V_4|<|%oB2eFv1BMpTYF3~o>TqKqstnmYqR@bhN z{O88Ij_6z)E|H74n50-%_48KuII=#BVSQ@wdjs!hOuQaR$q!zkv)}eysXz5JXObAC zosMz4>auW6ApPLF|61#ugP;6wCA;3YzuK5YZFM1m9YbOp(8m7n#Pq*EXNjLi`3Jk{ zYlVxDZY>uP+)sSJ4E9Xw>|lc57pnB!%6XgZgpiAXNe&%U1fbU|h|sGq77u4t(EG!l zG8hPe767yWpalRe0B8X~3jkUG&;o!K0JH$01pqBd0BF$>lWqh+3jkUG&;o!K0JMk! zpalRe0B8X~3jkXDZx1cX`ItXr$)8-G6W>Ix9~D5aS&!6v8ndd44v-cmsr)yG5-p6KoI94l?%77Jeg2D?T%*XX$;+X2~4adY`lgv)Gl-E?le`Ypw zgbRy7XSv7`@Z3m_VpL3IF`n5``L|6EUFu=IMmj=tw!I~nZ``w!tg=z~tR{1N;Bu7= zZmt^vU9G%xbzYE_K$=_(6|qg3y(U%dtvTen#+^!vf>@y>7aH~Q^`b&@bL^Qs3BkKjG3Lo!ZK#L8 zj}$4b(>-5?IUzSTo#KCGc|jMXchKxtnmhX9YEegx*eV^|TTdBHXkW}a!@J=J2@0l?cLf47Fi6;>rvurVpW+| z4+Tw8QF#WHHkBbEmAwH6DX!X*^Wx6C^T)#%uTcdh2Sz2%7v)IaxG0Zq1vz8kTm2#y z!;f~*EE8Ds5#&|bIh`uws(S)QvXwc-W`b~(D3x+dM_%e{@~04MhAlg?MaPIP4G#pL z;a)y&dSp5p(O|3+8As0QwsqMRMETM#EsmFWgUvxP#I7nc)k$6&d&g1g3s2h%C}*^b zhu@YL>MoKER_dDtr{*P~G37O_qoOHL| z``W?#5@gXuD|}F|aJ+YP8`<#s>HvjB=bE>maKL#ib)oV*wz2jr)(J``yh5cUt-5im z$!`yT%gQ4kz^J=imYaHpPAJ`{tlD9ar$v1;e`QMEHoiVqTYWED)#VK?=U!FIK`5`t zm9*&LaT=3YHj)R(k+zkGr9^C?uqwBbe%6i_IG>n-+e%fn5(e;$(cpz#$ukt%ME#uI z#OJKyxI_cTs+nyOdK)QJpLztUms^qf{~TPG1$*hVSW$FQNggfBH&AS+DYsWO=YH z*Dp#nW8vt`wjEY#&z!H-^{D|}ER{4+tg*p^ciCU{w)j#$klOO=<_h}k3Zx;3#~tlR zqUKvFts|+FT%*0CR}Lxzhv9=*ak>TUEcRkV7vnw+x`kWLRT2^5_=sf+7L z%hTC{2UG`H+Mi0pMAL;Mkw2;MZl<7EE%~TX4vH2m({4I*rBBB3U)I-v6Qf&r=t9_( z6$5oXC6nf`DLSgXD%G)kH&-E0fF&2wuKjs9y;4Gd+0t!KCST_$-y?xt>&=aF-WG4X ztbUwkQlMV;?o5r=4@W&)G5y+^x!RgRCxcfX^}&AgbsT8UY(wG(DVaj4_KKWJ^SR1x zZS$q>cs6D~u)!bKrW^c)9L&FW7BTsJVVslC9oZZyK@0h%|@mUqs)1=G#7^2@Gm*brN z%dI_i;Z3RcklMnL)M@8$fn&&Q?pj4dR@b6XLy$d=#Wi+g*X1e)k2-g?C=*=}JMN00lAtS^FlwNuf#!IS_ zi+sq|+9gV>IFNrtbHU2#IG5fX3RQ6AH!aTg=9|gVh z)x>`0FDy+I`*??LezFg|H139?pOc|=nafd#`v>6fX2#b#=<=IXKiTCkfA!QcT70=A zGx5BnC(l8X8E;k{$+!CNFUQ@? zMx9E;yShZMz-ZW-{MiV@DzQB+1>xCBFGP_*{$JSDsbm$9E0IBA?h;JJPv6|WjDZil zQu3S1D`;KPNqNGm*X54iUO+$`p{4<+q2Yju9=%6Je;!76R%|S>n}SUO3jVbsKQXnQ ziiO@%wue!JA=aXu6b1sZZ}$ggVIq4mv{-Y27;g5I*%AZaR_swi!g|q=LCVb`nofK& z?Y?vt9@3JF#C%9%FH`>bt(b0MT@i}yf!(~L~J&DDTfGI>|9QcDkE-8qUP6L@p>FDc=DzIfJR*j7A zHCih6^5Zd(vSHNOu70F!E+o1gBeiQV2BHNnp~(2(9#5gI0%PBdgao9bZsf6I z_N>ez&vl5SWMeQ?V}rGsK{h!YP%b^rl4638Pq*VW`8XOt{iIRG42?q_A+` z6IOHQd#KZRGP!q(_tEF~$Vb>_4 zsAF^>!YJ}|sjt;Be(zs^l%r5sV$fV-SjY1FWV&9me#e?1@=a@Z?1*-~|<@VWJ$g$9|73F%75Ocv9DiyMY4IAC&qc zAV=EQLt)w95D^3KXkUQI;rEI&EGAS9f5>y{2)e0MSrL*E==GXK)*K#;0DVxWl+z3d zQxk*F;4p;OrBV_`d3|mFsfHGoEzMmX0ofzoBZ)%gfDM+#Oe2Yb_fpaFB@-B=hw3nr zNxC31M7%U;6OIKlBpBWM5)L+^jtP7Lf3OhFr0w=)3@~p}B&yi3w8AzS;g~-91`ja~ z<9MuJ!}uTR!%u`NOJ!PgRBSuj>WfusIq5RXN7Qr*pb}q#r`x!8@*(kjO6P3_X97+u zg65`e)1F1X@dWCzn2rJ&%f-ZbPl^foQ>|xJoW2gf)&2&9~7Xyv4RFR9j|uGVU% z*5;zt9<0`pp!OkO?c-aumdJvzve;-3yonFk?H$Ddki25v0wj}yS{F=xl>vzz?9Vn7 z5y_ZWm~r*V1-$?rm^6n@hy0K zp&V=SExbr3(eb?Dk7#z43~6b(a;rBsBDVv(c#){Jv&wNtW4U~I2X}%}Vq)E80@F$J zk3&pBlbo`Gs)~)`#ERz8f#&g@<_WIWDUH^j=UQiyTIcFo7iL?gWv{TPDhATB4n_unM%X>$P#Z zv~kC^@m96*S+%%8u>R`Uu>=KGi3ouc3@9&{Oc6}(3Z@7FQ@#OH6@aPh!B4utG~-~} zRWRKlnEoEjfTzP)4`#5`zWJny`Ge083}$oHVGq&ac%$>QK<8P#4riCn^Kl)nRUPg_ z9iDp~Uc6au4HSHM7$`&8k%kUoNTnm}sw)zrEBZ!PtUy=1UY8sV*?ecHkP>{b!i(Re zD}$#eORFcxr6+$lEy$shUZ=&PDEQiBhMY`Sr9e-$UQew{PkmfZV@Qu^14hx?>7YKV z^kQ0`OJDbezMh7@e#o>yuWrrN!nD}B>0eY0`>R~geX(^^s*I?}B3uV@WK zU3JKXrb!j2N$!zs6%8naz(k^8omXJ1`UO!}ee~j(o;>AATm$F(1xAesQZgjc`>>#Z zFbX)5ezt+5#sUf1H^J-(GS_c*Xof*(Ixh1I+ON97U53y@Fj+ywQ$cvDScF5yLc}Yu z=L;jKas=ew5I#N~yt;sh)zf|b#wZ~Q>{t*%zX!iiL-}kPPU5jZDzr%Q#=thjz*Es6 zb=)XR-yna=Q1FK#Yu92{h_UBI4E+>_W-*2iZIquj8gv8JI*bYuMM?gEL4wENbrQp` zkO<*jN^M=rd$Sn3`mOoxQf=3gA6b}_k%T_n!0SG@`+Eu{D11_Ex??ti0ybuCV_3Ut z0_|GP88>my_@2dtPjKK5DqvPLgE-+pYVkpP*SrLYT;q!$TG1apuEgDh80ljg1o#_=T<7kE-$<&@p zvbz?<2^GAmb6rHFDo%?P$Gi#XWB9e?5=Ks9gzVw)$}N5pS=o3kYEfVVrWCBLH1uj@ zadofNFk*hm>WUg-v|xw&3I&7#l`$jXSc%&}WfqO#+LIvBh+wf)(1`}krMN=X)l6f@b25gi7Bq9fN$i2l;m&I7c(u*G! zheMWDQ3m9Skp%pp0FU+2b5l~=utBmgK@bMfi4?bjF#>JVtYFP$)v_}R7yaJy$$~zG zp8*M8&!TM@SGI{GnE}ZvGMK@P^LdXnaXuq+98rT+C`(Lc4U95_9zy4id^?hEQ&Tm`l zvp%EUbjIO|c%{XQORFU=8}0{dLHwP4wA8|>g$IqDi6|S*BO8(W?e&5+3OKG&g$?J! z*o%q@Ei+xmabvAeTO;xr$O{zD;aD2J?7J7Xdfd#!O5 zT-^;KQ%2cq7&)!#ITqSEHP|_K+qtwEJ6*)+5n`AJYnkmD*fwL4h{{^eZ@t$1DROCH z!)i#P_|09@T1d*aXmLV|G=@Ss%Fk}z<;WiTU=PFJbLqDB$i_ggwk65dnj-yqVYzKv zBKjt;2Z0+Y7T4eq-|dhv;qYe7A@Rr|>A@ix-!X;GF_qgfP0BG{(=nslAz%ub3lz?O zZ%1+x>(Q_ny{5~E1e?E_L+0p3zH%(acPgQCD&=-6lX5E8bgD3Ss&sRz3U#VZbgC(I zs%>zpd-z2;?Brt$DnJKc2ggm?>~Wgg8O%ANi#q#gIJcTRx4AjDhdOs8I)5m1{@CE$ z+3oyk!nteBx%kk*KU`w z377FTmx&{n$p@DyeAj6@*BNftks~LAyRw0o2Nv&bu2_D&J91hobX{(6{od`mGU2+q z=89N5a$SFL-N1L-q;uQicH5S6Td`AgB}+0jcW~>{5Dq>3p?UcErQ3eD+rfm};hNjg zk=yZu>u+wCqx7H8G-vigU3JWle&M@cy1D-ib-zkh;ocE6i&zh85IIC4ik z9M2gX|DbdKV|OS-=X}1aoz$)^X{#!O_+Ss{DH6GNoL_m?(RteJ;kRzoi~{H>DTcp)3aK}lXBgY?%0za;mOcrOT*)_ z{npc4?u1dxi`Bx5&E1O~>cx@d^|Z+AS)&(ckJs}_FRmD`X+bY{;&CnlZ$5f&ejaax zfV8)umNzH61`oUNVz9SplDAlqw|JwsM31-Rr1uMVZ;@}_(g<%E0v}m=A2}YM`5kXV z0Ut#RpO@}FO3-uB9t{QdR{0_ywH_a2P7U>SAI)PQErgFYfiIZeSBJ+}SK3!k%U9pR z*TCJ^5bA4`HBKk*ZkPm0^w^(;P;x|&x*&-TH4P>%g@%r&(7V? z9_r_iF2uc=XUJpj_~s!@b{$m_u}#QmiG72^7pmy_jC96hx!L3 z`9q5Q0~`H=di;YY{X^FMLy!HT2!9wsKp1^MI8Q)?^p!OR40Vr?$RQvG8i0T&1;iEw z#5G<;_h5)uqv&g+S;;IwuQ14m11c^s^a&w4_ZZ;efc^^%qN#`kie-}ffE)w{sq0lv z4%%Jb`7>f#q6(6&8V&?txW^0FMAjb`m661d`ew2$g|k zNE>H;yRsRA5M9MIK?C3M1ihCIYS9X6wFqi+52|7}7&7(tICp$l1%4?Wk5S|Q7gA>VsKRwhFbtLq_a$06&8kPU*+ zP5RI+p3rUS&>gMN9~Pmz?x8=Sp?gW8zluVCH-_%_gdR+W9wr}WT2 zJkT>~=(!g3!UB5f4*d&-UL`@Vi=a1+(Ays9-6ZsW9r|z#MPR_8$QZ=W9ZnefBe5y? zUG`2G2jRr*I&U3LnLZ~_i+COEoiYz6GbyD$cl^ULn*Pl2oy)I3tYg{y_A_rC&)6pN z#r^*r{5oTwDwc~O=5jjcm?>Ay;&=Uh{&cQdr%I>Z>EhYKTa$LL!`~O2i%nKvQn{Qj zpD(vKeS7D+f62Ad;q`N--uW;0+NZ$3e-8Km@@({mV~}vWa9;6l4aQLjxE);a?F^@~ z>o&Mt^Y4!3ig+I#Tnp??l`5riyWR-?o{L362K+eS#{oYM_;J9G1AZLvfod9Ps0S9|!z6;Kun*M;p@Bu~flUNK&GbRxw?l(E zk^*B90SW#$2}QRZlR;ho?#Jna`+0%~q=N^wf`=@EKf4Ei`5!;t82q&-cx*Cwd_8#L zICv5fJVg*P{Xc$OD`egxWWhb;8#H7wDP*bW|McUF|G)I(B}hmB_6D#wfV~0i4Pb8o zdjr@Tz}^7%2Cz4Py#eeEU~d3>rvccT;Y{WwfV~0i4Pb8odjr_}5WwC5_6D#wfV~0i z4Pb8odjr@Tz}^7%2Cz4Py#eeEU~d3>1K1nD-T?Lnus49c0qhN6ZvcD$2Vw63v;WJn za0JG`j)nh&z5kKk2n-@+m>xNrs!U9jEv$++#SR3kQbx0Nh!(htxtKz+B{URgV7@Un zie>+1<9hYx|LItG%nP{t4csuWx+s8X3Po5G#a1RJjrH1(7n1IdkzxPn#<8=rAh{F} zC?Qgf61X5K@bOsqzp!`EhoYeJ$;c+(z^ba-GWKtFnE4sfL5b24-4+lMMGRYpV1MD@ z_lO?@7Qu1;0bT!fEc_9B+ux%0-hS%2EAszoCxhW*3F$@rn6fawag2`An4Y8vnIyPR z`w{%#*c%!Inz|cr3_&Eg2k7N< z7d^xn2DP+59DIQcC;iv4a70N`)X$jE)Bipej;M~={9_Sx`CrGvwGe+}5I6sIEWGOO z76X$Af&RZZ7G4DZ=UDii!@nO3k7BV;O!%K;;gA$I?V|ra7Oqn)n9^-?TH5;}1*KNT z1x$p|?=O0mc==15$=u(v12M1vrk6Sz&pUcqv z9#z9W*mc1|z-N!wc{jb7%5D;-M8ZS&QPAlH+HWdeBm%Q=^_;zw7c`u@?wW_o(=`t~ zVOZm8>g95YS4CdC6D4X@+*XC>>MZ+s>bxgIJ$@#+p2Mh_v&4s>4N9-iQ~{O-rYX7v zDB!3;ISEAAML&n7?TnGHsVn0qwDdp`7X?9v3gV**MQ4m5HCZ%5&c}^>t*nNdJ}Se8 z%c4o`A0|Y|eo-!K>4=Ff#sXFyCt_qb5q&ucRpZ?#N?307L$~}p*vn$H1@}%e-?~F! zfF!T(2UL(`=%QI+TF96N67}QqQ|WvQf3>KE9|n-bu?8(+@oexi#e6hkF^&=u*Qg)v z_V7OzxO>{AxP+2z@>t?_$Un5=>+twcE1K^xlK9iLt>}$REe)1SEro742oV}_6M5D; zzq1n%V`b_Be#l|Y)VWLIgVG&3PaR5zsPkqFnmv+L1+rSPGwDjV;&$pXXCi-D6}V2)-LkO5c+BbV^Fy z5R9S>ee(K>=sh@}3R{&FUcy8YUNB;?_j-qE;V9y~$fOa>KTIkAynpCDU8V4Mx1Qf_ zP1)nGVGGapRb#(ebduXFy^)YghWrdi!yg1kz(10B4U~9Eq5K0 z)uW1^^w;M(wyY_AVL-Pg$*t&-uzLjt)6N(Xu^3`AHix_+72l{b|7wh zSj4g~Lg{Pv=r`yYKlP?KS1}#Y!mQ`=% zjGi;Ui6xP_N|Dw}p>2XWG8_ghV%W>!vV;xEKTM(ID(Ddq^{R=wf*E6a&wB+1;~2V2 zls3J7Fa_zW@=5-g9&=;we@gAZSz{#kf+Hs9NwmNOWq=JLc)*&sZd9qPl zZ&@^E>#WI&>||FRuyCL*Fnglzlh7a4A{oIFK{l~+@Y(iUGGk(Ii5i-$%d)$J>ze#j zyKhI`-j07Sse@GmKX#9Po4AVeNkqwSAM`?;2(U8cvyvD)%o2Ny(eyvRg*R^1ar*DHpbwoZQu`5Vh3%mdM+MGh7^D4JLB}%2%dH5=r<_G-5BJ*j20aCZSaTHtroIacFZZ_T7ci1 z?fV&g2-Ju3G4ih+z7t^wY1;&CbFQcR{B1ew;tAzT#nKND>3O(sl;a0m+#+}MqSJwq ztzIvGqwDCy59N(ye!hvN+tE+n%^NN7b`#ILV}R~~7cT#NiwHZdV~|aXFRqc85U2+M z^&p@g1k{6odJs?#0_s6PJqV}=0reoD9t6~bfO-&64+82zf^#sUOJeq;0uWkgz1)&1nr3B4q7T?<<`xqMumwbN5tf4QoW53e@mwG7Oo0` zJWaA8RgH?#p_Rvo9nQ-CMKCgwHc#CcNSWT;WHXCpKQ{t0rw&<(OJ7rE+=#2yxk6^! zsBZWX5q8dOT_M{f3bxmN+WxGO*ttHyuyO7~#XO{$$Ae(uOBv0xw+L}YB-3cG4`?J* zD7ABJhrEg~8~Lu-EHA3qS@C8;wfGXmP4g=CJ0kvfC^g)JQ{_y_*ttMG2&e}E^&p@g z)CtssfO^n>Kt1U8lmO9-g=j);>$&~3e%p<>?WMo#m%bacxcdyf8!oyV?YSFUznehZ zP0`=aNZ-#{+z+_ZcWN;#^xUr?*6-I4_Z##NThb3Z77rsmPutu1D znXlgX9xS!G|6E(W^*`AhN@BNIyMvtnns2mUU%L;wI{h(OWwHJca(8`k{BwOB0R^Fu zddMK-2%gBGlIVHJqCfFDk;PU zp)AAC#Hp_J(!}Ncyq~FC=f$O|#{ikXnb%jLzh*wO`u?x{zWe@t6|kM*Zyvbc`qw=8 zY~KF`xsD2J80wJ<^BaNGT>ErABL-2V$aaQBdZL%Il=(5ovZ5IRGs?9LP;v4;6Awak z(d}?)DbdZSC!wNSv7Fta+i$RlU++3Ap0ID*!G<{bU*~QM(EG)r`?;P{ zCPe8i`pNAof}m@iZQ0^s7y7VQ^zggq;ox7n+XO=YW6~|cl4l#id{TtC`G3sa!tz-( z&H6`RgYhIW>N}|ambKh+_ z;r*B=kTN6Xqu&<3?Ab5Ap9v%3bN-@XIoI?VsWiq?WCGZ^dy-0jR6XhWM?(`=vRKY_y z4Yh%s#(4oAmRBgaOrGcRe%hdut}V~=iQ9*PhM@hOlKWxB@!B=CiM?ofrS9*o$aFh<_5H;r)Z*acE22Bp$r@bb zR9UrF^y_|;#}Ube8VTvD2c@&f!kn$o}fj`D~H>K)f7yePmVw{l*0!_ zdiWo27lYdvQdk)p-ElEDC6Sdy?I7B$HNEgl)GM)ixD2UG$CqzcpVPr7_3r!%qK?lKIU4M~gIj1sT`7Lc(LPnAU%%NVIn#JYh^8ek-x*Bg%-~O%#EY&4>x&b$A(; z&CgSv4u5u^f)&PKl~L2Ab-71K5 z&W4>hHGry?@`j_Sx;tnPMn^&vBYMOr_R0$xbP~{~fDIbI5A$Z)G8 zLE_6;Oi=u+fI6*`yUIJE&@TB{Rbp z)7W7-A;AloX!<)n-)NwLZMkoSi{dlWNp0=h;rSZAuv$Gd{v-tBSR(9Vuj0^3H7QM% zJ8yYzb+6iC*8Jr{Kq#$?sYUkSN{eewJ};+6(T8P9h57oT0Vjv)O!OJ@j3#0g*lQwZ zq9G~$Hr;|4XMrneF6A9Ga6LP_4&%4k)7rowW^?Mjsre6K^7SqST=?K8OHDa4Ok1#q zHJ@1H@mj5-e1>SxR?}tWOM~}nc-+=8w~Nq|i>P8D*l9Ksa--i|+3b9tw9~EXx_Nuc z>OGCq*Y9TUmmA#c-kiLi_qPPI1avB840{X3!v~*PH|IONm4wd4Lei zUh~Z0`==aMnSb2~v zfo{eP%e*CEgg9M7StMJ^Lyjz4HtR=8vy`Xj8p4usaF1}h^a5rl1<7P$dE=*im|N9K z9LT4dgChnP8Aqv$L_g~@#lM)H;KWYv8vfBBV6okm{*AQ3gV0*0EO}qOFPp5KHXxPq z$|b{AZOkrue9?%LLunXn&Kq+*ysZ$qb(exYni++L*c)!9vIfIG)iMP>P!8pM>zGbc zy^2EM2jHT2ZwkQVY384T_>7v|i0mr{(JH6$$^uU$fU3}zTf?qgN;6{Les;phakG~NouE~%Z3@){j~r|j63u#ca>|J zGKollb-C%Juf6L&QN?%TJ>w4lcPQqGtjPEdY=$^>G=;}7_T$#9BWEK?al+#3wK+V# zvC6qt@$j-p3OLXvAa$FBGTT;&lGe~bG^6r zBE=~&Sjqo~f}Wwu$qQW<9Bzxhwa*6+Anw83^N8<KsP1`UeD+b$*;Ra@A(omf!A|mSXP7y<4O5xYJ9D^l0k&iA8xew z+Sj$f++q(4_=Q z?u7M1wY!kZ`v}UpF+cVFc|y}n)c-_PHoB>gA()MLMcRCton*)P$hsW0aOW~N&r;?s1l&f?FXomd42zIK$QTh1W+Y_DuMoI zsFIpQ4f&JnUgDd`^`iplHS3XjUt?Bv(E-xJB$fZ>P=e>)M5;hq(`z#EKEz`i_V(j3 z=cmalx8tiq1OfXkja0MN4t1IN1KI-;`B%3;>J~o~nk#WLL)eChA=^twU*5>v-+8LRZsSLb;@$$;@ICT2uq;tRi?>4t)g~|Lgy^5S<^a}fM zq~zipZ4(ws@b+k$tzjk?2i9260RBFL0^i?>wu0=iaX%l8zwM)T16!O*iMJbwp*HO z<_w2*8h(*^ZZ)XzG}G)~ZEjXwa@9G97v=A6TprupgQ`!bl~L;Gnh(4j%I%`%$C`qo zEg6w)IT+DF=e##h(Kn+htwhmZGDQTq#;E#soJ9mjl;;fs%&;Yc`i3QTs32O{ zX*Vi?CG1O4pSamC9^2m^-Vkf!77wcatIeI$bWR|E)Z=q8U)4|ZUJxD3uTt(OtOHL~ zW?ix?T-SWx!a^XX{qi}SMHU0zzgrtgZ1egcg#>@X!8uPaRINHESu<53UaaZKK}E`= z^@xS!hQX!u{%LdH>UH7vj`4?GtQp$UzEPh&Fmc4fw>q8W#gE=|D;Hqsx?oh<>6>Pe z`YHfNvX#qlW`J;%C^3tXpe-(+@48eM`{l-lJ&*EWQDak^Mk=O~$Frm`e^ez)Y>?Ks z6c&Y@bB2AP_pZ(bo1zme{a|xY3~|(J>YAiDjoyD&6FZ)28@I!59ty?XZocu4clLu4w>j%3 zuX4YBYn@cpa#d9T4;6IKWbG7glEQwntLzPH=McZl-222jM;A^b9{1!IDv|Mt5)~Kj zVl*+4z#L_%`uX17+1N<9gCZ4f8pLBKEvDTg&{X3N!b?QzZDI03>TF{9H;oF8S5sZR zGl7PQb1W7u&sR|tSTa7d&7=TsFaZX?09RF4C#J`bvv1PUyX`F$fgl}Q&-o|u^`gXC ztZ)=MQ&0>yc0g~xk1JQ7w;7UXQ9tW7E6VOw4^q<863C!G-KW7FCbK6cSOr%K`A8Mg zXMfhQ>lf3JGDi$ftiSf?y_3cC+IcQOI)-cPoploC5o0M>+_NyF!0{QJNRVQciTk&Q zvw=5WHqV;={z^%&WC{Yo-JpAosjR@JlX6?LU7PDKDknFYykKg>$^{w8!6Z&iQD0$^ zg{x>s>!jokGP4)`Q~_7&WWZS}o+80V^*`%mYP$R%?7an0+fldf9bAe#6fahaOL2F1 z2=493ch&v4a+QZSKhJ2x6g$n{n@`v;tHwX3?W1wZQQ- z$;(cAiJTmb;E<@IM+OH@1Paa1j^~l-Yz{Kmx#|Vj1SKdG)iUg?U&Gb;KHdNnMHYPpIji9W21VvZ_z+1eTMkrf;j2ZWXsGr*VWo>=c3HFg7Z@~yP0kS`py z%rU1#Q1yysb}O|ClvT>bo70uo9K!r=zf{@zdPwU1RBgST^Yi4dHbZeXRASW6Po1lC z&LA+duGMcF;y2TJN3SP@WbkqClG{!1rP<}JfycCOfnRH^IYJOH|J1iUO3uZa_azV( zL*Q4TdRcAF9wa^Drrpd_aY)B`x74dYl;XQq2N3zDGg;Zj6g$Uat>Q1#+0_m9$vF7W{D(l4W6?;F)pnAsf?>I1ql{PTd#^v#O?hRtv)s0Y^pi+;mECVjxAP0-R|z&Dmv>r^ z1k*jRRtNC8par79Y_EZ=M;OK@i&w7~`yL`1sWsx}FbD#(ywd#5~$CDPWygm)5Xqks9xW<+EmoZh?8Kx zzTdZA%jp-+)$#&(^-|DS%q5g$MWtW{XTVlJPvMKS(}Tv0#Ay$KgqZu| zL=iuIN3vRvrVy}saYP;^uxf{^!P2Ak%F{{vzW&VZbt>jeB8@Va5>@^;ge9x08M(&j zs`IU4o3O%IwymXdVxPf^AZFRENucg}h}WpQyxZbJr{o+Ww^UHg>JlYns1aojFXfRvsakm)(n2SJQR;#RTf zCD`Z2ZE3ZpuHiy>5KrB8@0^U)Y1+?YKd!VerYBojxZa0^cI4@$GqMyUEB z$TlbE(oULgvMHEL;i1&$inF5i8aSTCardQ?@fe3a=cee$C&7r>K6LS0Zw-9r*-1pBRw zRCF;~*p;v^z$fEV1x3)ZSG5Kt|0 zB#-t306g&`$pRqZhGA5yxHd`v!L5iua2j%T0b{ll%52ywPz)&>jrJ7%6&pIaCzj;1dnP`-FrH)*X@7VSxHw z%l_Ib;BMjOCFHNZSMx*MIJjSfB@h#X9bNZY0rI}6g((JOSE6-aH%GN z1w_)KDeqf*Cu1~ZSxYR13jqTe9AeUUG9yc;)lUle3|kC`CRzw@XyW2nh|yYLW9xo? zKG4F(JKU@yz&0zyz8T>gf!^^YLS-j{6n#XYvpYE`nG6r5z*`t!H8PAv8dx44c$$V! z6p73NI4XmlG(FckP2*tbNp9>rdW+VP(-VkCU_^2HfXTOSc@ZiMO7!OzA2UV1 zAW45p3&M*53o&e!9AYT(5Pj=m`x4^ZK0x%M86ez&PV&KJv|BQxXI^_iC_BEcLC~u|IvEinyMACyIN2U3$?N zT?x$oE?Lx>obPZT_x*;pWs@vk5UZo5s3VdJ9-N!VYqgQZYRcdOG&=&!Y#MtPI)@72L?l78wm_gid;UjO= zby0cpB&O{ox@jzO!X$uk65xooKskZKpv3hHlMo$~NKK2_RExw_i!@k^EJ2IBK#Ss? z*7Ghc$}ue}IZRMCHQ;8d41M|lADf11nuwV21-rI4mNsY-vuuBgh8UYkP5TA0HYiZ* z1wR7x%@{tF3fGJl7q$*Jl@1TP4zHLFpPCMgpIwI?0R9Gu)nm|-zKi7*L<&8H3Xjc* ztm%j!=}0{2NMh?sQRzyv>&l4f%Btzgnd-{B>M8{5DkkVkqad;qYk!MZd-*m~bWKC3AjDIayvb}` zsSLc>4ZOt+eAE`ai4kxDAiK}_OsH5*TlGQj41&50-i#SYh=p4p#WJDbxrqr>BI*UR z1H;9D5o(K)V+0JQ^WW|p1NDG04|*{5wHfzT9nniDO}mcR(Tp%Lg2?B^!~$Sy#bQY@ z8V*rMQ#df5-7qV1makU_zkP1EtHBGRm;ta7KG~zM%M`;C1Wqu&CO(w8HFk$l_VH7Wh|$u88&^JtD-V)y#&IC z(SYNqRl|>s!w9eSOHm9%dspI77P7k*TTEA4)s`!|<|;4sd&O486ATmP(A103;;AD2 zG*Ln~0gw@7fFM%sN2o9rz1Jz!gfBj@cR9J$co4;;kAEeAe|1{Sq>vcmbSkC?SjzcK z+1Qdr1_*O+(%GH~Cl!o`#jh^)n68zHnO0_q&k>uovM=+oP@fc|S)HN@TL3%+ktnB7 zJT@czPN7b{>rU4gqP7r9d{a?uvmIZjiG~GrGzCrM0h08_90`CH+HOWzY?ic%{6a9C z9q>(9EnK}5NF24yOJ?bLI1MFELw*!HW8V&6(@oelS69SVHVg}D7bYS>C%j&E!;ci6 zi)2NOBO!v=p&P+iUN663+IpWsjdz5}tZse&d09*@f|~~raJtor_YBmoL(*%8uZZM< zhmg!04eDKC&a@6U{ocoKp|3k%JULCIZxexS)A4SG9BY%;0>Vya-qQ-CA&ES2U6QS| zd1Gr+ra2GB78FR_5qxbM$!My5Y-ogPph04&$z%#t2kKUmLO<&&)}twL?3%XC^P(?j zq8R5;nYMk_v8~+g9$RT(w=<*Os?f7NBU&WMEwrq(i|E>c>+ek-ZQ_qs45ITp=^ z>=^BKFLdVx{I(s|SA6R2gO2s=NH$-DK&Gw@6prV)wx$AR=aThSgTx&o5_L<&kUVKI z&Fi!L%-Ug>s(7Ld+d2IE5#tUCB)TRzo7Q5}=BN%d3B!nFC`oI}iFyVZW{#O|j#(j& z*&)j*YABu_Bh;5g(erjMiTA|nfL7}c#jkfaALeu3&E&N@`i(pKtH%;0D0l`ybZLJE zCpgyDJH738s!McCB;EQEOh=< z@7&St+&S*tweH+~?A-I{+>7J#AqtIs5|Or8FYh&^y!U`WKDl|F6tIcy&klaY2Kd(P zGCJ-uw(c^1>@xA_GKu3lMeRDx;W{JkI;-wFXXZNZ=K3uWVX@l~HQGf0MZ4L|HvHLs z%4-A|`z|)B1vn4eZHwA%o5St9xZ94p+pd}0o}1f`5V!qAw}V2rpY?9Px{tRWkCyyq zN+-#q^_~1f4ny`_mkV8w#N98{-7n4D|G2qdg}7fQy5AJK-`2a|b-Uk>yFaYEKkBFD7>{=1?z|B(Il6UaSpXuX@gCNj-@pe_ZbT1_av^*-!P2dGT<1 z!+0gU`82%w&Anf{dkchm3nqCB6?qFcc#HI$v-xWUtb1}QOd#T(^JDu+(fCMn`p8IJ z$ZVXSWKN1-ol9(-L*;#xihPtC{=y#Nug7wvzYv(eC@lDB;`(aQ_-b?d>PYzNYWV7z z`|7*<8ie`+lY9-)eE+!kkmT+gPWYN`_?n&gn!|i8aR2E0YZ&A5Jc#<)X!zNh``Nks z*@yZ$B>6dV`dMfBIrsRvO!&EO__>|<-Io6$J@@mZ@%Q5N_m;S_ft{&eo!uh)`-fhs zhie2B`GXq#gL?emO!xXlMW|Iw{~k z!5%jP5>En>U;)XvfhjbBshojn5`pO&ff?q3neK2xV_2GH9cP~8OR-3F-s1k|tq0w{u?<0CY42H{_$wP*yjng{(m z?9u&BYZOzf7}-Y=sl^^p0Y2C&@+WQWR{TcobW#yLVP5lc8wuzXe+#vcXrWBp_3t38bPA2s8`U?OSI@v zM6~}N_DBoBrx0-J-2eUkGp{{PtmyZXqMlS_omjR-0*29S9{cG!IP6h90z=Sk^x(Xz zKkXHSfZgeWWxAZ$`uAb=#mm`h?JDhewL~U5`1&8bj(%Rg0+t&Nq_R8zVOwsto@sXd z^@rUg+4=kQJLfC6<&SXh+tIHN)$2WQ*dxb1jH}TSda8OjTI;*FJ(NVKQ;&t;WEDa`wG7DaBs1_0<49agV!+v?m=r3l?Ivrl(zdR?{h(f%!mdJg{> zW4=NT)>?Wkx|ZbeOBsJAVtXX|0*NZJV32QGT0$Cgyvf!z^s5k~!|QxzL65gx6G<%e zjKa2K_4W!MHaz973Q{&gsxthGEq)wmNs6In18@Z~Y*I1AR(%zc1#>(|Ohf?D%>80m zUi0c$SJ!Qmq5!rOB?RB-$?=FC2e~B4GW7D4h@6)5By`{V8FdkOC(dzDK0pZ?DN0N< z5WxgQ?~OpYFN;ltjsB(%GyKC(Ds;&OvnZ8kYk5y+&$)Q5!L)*)sEK9crLRH3H1>W_ z!i^#s;NVQnkXXP*Mms6WWJ`}nj~E$cYEM5!hsV6RI`BpEdFo9~yFZ$S^fy%IPk7$a`q9or~E(I*U`Im`;S43oF+})`&_vecGazkJ z#n)#GCKn#_>x%J1U>wG;fIdf&bYK>Pr)Xi*x~R;>%ILFvTY5ys^n5Li0zka+f#e^* zHo3t;hY@nBTkJeA4@->2yWUzZ7$}Ozk%2ZDL54+@z3(7ql8YIoq*g3!e`*kEU4lNdgO^s>tSkBP?Gi&p~7GS36}ww+8_`pMOF;?4>1b@EV)<4|0aRr}G zH~Fo=`qZu!9m`WYuCrrclT6GtEa7Vs+idx+TYj0H2q4?QD})3IkIa}5Y&5`&TC*{n z)UF2?h|b`39y)jcLu~fM2T_U2UY1ToxH>5qQ7Q5ePpYGRNj-$i+5#DufXd`$I70pw z@Egfz@_`B{SUe)uETA8P4Y9V^1r;9%()W#hR1?pqgI;rd&Z&%1i$V4@9iJ!3J@B*& z9$TD}Afpu_tiucWkXN*3!9sx#wicsr&)BG~8UWz@fcnLMHMszzdyPuH*jdCwbErfC zOX2a-oNt7xYBCG*56}!2lQHj?42{kWydGSf5YwFd+{z8s>Jb_E)11c7yIrsTxL-_c z3;g)i)57vG`vorSgymcL=x4~`7eWRhtt73~uby7q>DOI=~7-1aP(vDnL({W92D+Huc-%{hJ>eduQCV zgI{QBJxJ^U09;7RcdvO~=F;`_=b`2Oxi%D$JCBaZcT0|1h`&oEyl$AhCX>=P7gNd~ z9o65xIW)j1*uwdYHj#2`!||7e87rtM)+s4;IT?0OE5{#6%|Lw7PAulImlVWhA%+T& z+|R#JrN(bbMU6&yHi=N~UGcHc=N1b8*1xSb5%*!rMKE?(udeeuSP2 z`+bHRuidM+>F5k?j@M8Ru^`~O@B%QQ>?pK2Xx+25t&2wMl?vNns$fkrX#OQpRsO4% zI7lVK3&`=C@3WK%Wbbe3^OXwchiBzV2HD5ZS9y$`$I$MI*f=-ti4=8=;Iz?h1J`Gza__*c=? zt9@aeT>7$0CmCd-*J;HO?H=9D@|AfxHNu; zc~)UZ?ue9C%@+%;|DH$OH180m8yNC!w8#Es`%0E4d%Pvp&fCV8W+*&IhrWT4e%l59 zCejM>0d{K_yBkpCZsfbTKpk&MtW{aZn*EsU$FZa1z)&&(M)c>3UA2?o^Nx+jM}b}> zj#CI>=O(IzU_W8~X(Vsw7EY+(;0uo5F*=l+2nbImt0$AylgaAIWc6gSdNNr(nXH~n zR!=6YCzI8a$?C~u^<=VoGFd&Dte#9(PbRA;lhu>Ss^!UK#ZWNJ^klMnGFd&Dtp2B% zth$eOM3JS=asMxonef)V6loX^D@>o@CaZ=2fXw`t*1h8}>q|)t!EuZ=7}L+c$V}Lu zP}nuRb#Kx`_-%VCy z@yLCUJS6Z;9~~+t=0nWPzE-(X28Zo3pN$f`BuftM4d=dQnEJo9?tP||>oNr1m#nj# ztG8X5KU#^BR>|Z)o#@pIlifPrU0FCWPhpH?MLJEQWgL)=L;P#9`reHS=)_xKBSr$K zOwOBP!I7DhB}p7Haxv3*GwI7E4>@`lf03EiM6ga-jxS^H?BT6@js3o4$iCd=UtPL_ zBQv-3`GH;*(%-+rk(uK@yS^=-%M6~7ng8D-GymVW?tOuvNK4`&+xU;xz2qMQf0q3C zA)GG7oDgnRT~(-+?zk6OMyQEeQg$$fQ~(SA87-VpLVPw{q{6EtY2P?NV)?21;O55x zZ>+fRK}BB3ZEVv3GwRbBib_q?~~XwJ3~>fyh_#~qkXL&v%9UHc~_6+HS8 zG&*M*Zb&*r2BxH{a$3kK?y*Yq$nT3f1QbS!MumP50lr;5s(VIhN`(JfJsJS8?LvQ%r-X&hgE@YK#0$tq zyN&oE5=E9wh@MY%MdtPK(sJTO%}5+<`&2*@aYz>TR8f*5ox43f-pY@rCE4Dr7SxnvZrCMh0m}6 zBZCqIl2|w`0{~9E$gz>%h%12JG(@8G#a{eyzt!J%+wF-6K*{vLx=Al%4>c)SZV@Z4 zO<`mN0QaVYC`rqAVNNm>DIQo!J2KH=_-o^SDQ#|%+ItyF$K*{ZbnPTQV5)lsQ5Bbv zWU?PiB5OX`5AvVC)4m}q;Q9b#Os(*H?jMv~mKZPu;TEI}c*kERZYDx@|0J^PF|KXA zVKKpB6}$fLC@3$%!p6*6>TD2%6jddW*8)jlhsk+ShE^1+9(Xv#FA%t^ze%Xl;;>iG zdQozzGDSs6IKsQ_=H=O|&Uk3Nek`MM&VRw248lXjN_3W2WdgjYL%@ zUXdUIM>%M3{XPX8zKX)XA1x=fS%Ni#mriI*mVbh0#0LlCl1s8Eim*U%(y39Yh*iIc zrvI4^1xPtM?(a$LK`3AqzfV&?)1m%2*21&8_brTd9n$&LDAfH}PMvWHmBl`t0pB{h zV^mj9?rA2IW;1y}c9E%ArsA7pkLnyFU3l>zsdm|R-coY1h{jjr;rmi;W9YT!2*!9_ z^R0~^`7 z*Z|Erk%G^MD6La3*m0Repj50LsnL(=`4ReJ4_{d9R`_U{$33xeFgER{^ytm6jN;r7 zxyJ2RafozGl%{WdJNQEzd$T|6mLxcLY|x$^4f_ghNk~(!^lfYO8mOOY@NnB+$$g}S zJYS^*E15nsC+~oHcot@fF5KqQcG}bOO5sU4@O{@GI}WDUa&h>0?^O!8BbIVFS^YkL zbmJoX%#|r(NTz}Snc85_YdrZ5*8@41OxBY_2-6FfymqNOS-r0Oz3KrkMMG}>WPb~x z#g6*3jPVBkQ8AXIBrRCDgY;gJ-WI-i9-S{nhS-2u*zHfVUv*virwT$LDAb?;jk;^_o_;QLl1wt(@4S z-r=0a7d4%qg^?}V4cEC*QH?I)(B99`&{f*AVrt@{x_~J$*#l@IBP2WTv@YYbJb zvLg-Jm%`=h5Uh&(1E8*j$X^0&O6r2=A@*1m@C($1FGio!@DD0PNFLvimf6FaWH z@1j2ECW(z6abqXG@)3SE+2jTMz(Iln|G_2LPtu~zNRT0}R~Y;GBW+gZnd3-_x4i;d z`Sc5f{Y_Y{HM#n}u3|cMHGd&>3*oAyc>(P_`}^-0h&S~b>thxxMw^HU!c%>E4aHZ( z3Eo2nw3}GINzSM9jq~wB$OdiIm*V5SoFR1;bo{M9TJc+Rb1&O~o`DtT^EhY*#NUyv zuEo{Sd-4tQcXL_sJ@VD8CEwoVbxL!2%A}Kv&@;X&9mUVJ+Y~R*tiqW=v}7&i6D%D| zVLc3@{N-KE`yJWiRMLsC@?A;GuoTqseb+JqB{rqh%deEP!hNBO`N!5$q_c>0K}@qk zd7~ZV)T&jCgGGdV9G+zqGF#7=w5p!xQ{k9YhOyLtY9?P&q6DW>y|e1aHIiZ{VkI7w zoD@QW$qJ%BXQQ8;V#V#J5-gJur2oJ!BBNnlD*9GBskUGEf>sbw_V`A)u}u1BToIe7 zOj}A_9)!05!VAWv7t1dm!K9ytz}sTWm<0`zjne#n^=kS?Ft27%zMNVRD-Zj59*^h? z6qEEvA#{>x6fr@{)!H0U1KSSS&^Q{^D#l zrH&E>3ZAkU(JxWiN-CBG&O|v`L?fwR@=CDC8x9oHQpj_al(S=$Yx0$A>y+PiD%XuF z^J6@LvvZ!*H&5!DC-u#f`sPV}^Q69cQr|qOZ=TdQPwJZ|_05y|=1G0?q`rAl-#n>r zp42x_>YFF^4eOKo24Ez)`lP;jQs4YfQQsu0HOJ2&{COc`u?IWFl{mZm+s4EEekk;Q zr0D)@&;97e{W$D?lICGr;$hbO;a|Yn%RLWcunBQ-wLAAz3>X)3^C(6SF7xVt0B4`l zz|JIKgZ~iY5Mqq~k;b6(e)L4dgCXNE04F#9x9XeZGz6ui>HXWQlo8xLx*6TV>q|jebs#lb& zHYfL&2ZTEnqcUEc%HX|}IePg_Nmfa?v|O88mc-cSH|y;B*-=;JBllNj$Y_%SLz=Fa5>uYfnG#D``rj7EEoaJX?`OSKIN&XgRk#L-yj6L=@tv#k z&FFfoy^nBJ^L;UXITtgCx7+#lu#($v+lO@#i(UO1ed!eQH zBEv^p`Bm$Mwkq$OkB+*?<%N!>46(27KUy5?>gf6E>Hkkq-~3;Jv;A%ztIIM$PJhAK zw@!8M=RwZ(9e-|};p&?pm*#J;?_64D^n+a6R{ZW<+rMW9xqbT8cIVc4J|E=XefQ_i zy%&k}jYt18fqRcZLW4J+L(l#1Jx5+-z47|`>chR)DDMJg8*q>Ahqu_Y-~dhNBmU=e zc3Fvne4y-=LPVe_8Z-9vNlZaLuRNzB^0axwbIJ(`i2+}HRRvSu31b>6za_`3VZRA) z&R~E1*oM5Tt(nOXI4*mm@ZvD*D&%6J&tJ?V)GI55_OJqN5te@Rj>&0;5tdt^um?zC*=dG9-?8996T6ne zi_(mE!C;A@79dSjsTujo#`2lzwKUm~W)yF^CAMpT4CS6CRAk2zH+aAGiIkf2R7M0m zl@XuHh)-q2r!wMG8S$x%_*6!GDkDCX5ueJ4Pi4fXGU8Ji@u`gXR7QL%BR-W8pUQ|& zWyJocG9s-lJLyvy@qb_$vB;b=RpL7S6KEy4=F`W^9% znP|`adl_*epO^QuuF?cD5-lt5%gzzLQiMtsHsM_cCG8>_E>>w7S3T+?f=@au_2nsG!Cw_%;CWqzMa*Wx(q*Q-QMxzN9 z?FwDuFjGW7i;anZ-{UAe!{<7U1YMZc#) z$V;T&Vz39&DT|hN=H>_cjbdpH+yJno!ZXhhyw3pCTm&>CGM_voN)J^44&#e`Nd;0= zD^1tp4Z$xFlpe=517Kh@oqT$DZ;o~18CYe4#`btAi~v8gcxPY_bn#n(RsqDpeNgSp zCc==09NX*{EBsaDw35}K-tPK^Tg*T4t6)3{nU_%yQDk8fsC)E7bcFIH$oa6rFjf_k zy`>WskQKr(fN;mrj=FwON;Zd-00ilQJxsxD zp;vG!j0j#v%z4i9>2s})m!7_-)wI%R_b=rVMg}^0auka=OLR|UBYJHAh&*jhrA^CM z{MsyAlJuxiiZjJ+e(ZojK6yxNIOUJn&s6W)o%T>RVlRKRaedEK%K>3IKnXOrjY@Ou zvqq53kfsAHF_dnE)$6qHF0VGyw8PY!4#>Wh>qQs_&owji=Ec@cEN}f}RsNJ=lNWgU ztO3|IxFeZUQJjiQMeC*VjzC%Z^(M8X(AH)=ghO3U@NKS=3cXTG_KW@%o?Pbw|IF+v zasYOtVX6N~MOL;c!rw9?zi@^H>;#vbt7zlLzm{e@5UU( zM-<)sp?0za-i5-gz@9cRT`GcFkEMpGzsyXM`A;4rHy#mSFD_*x;%BMs^@M7GRKA_I zC1CU;VfMmu(8v<^=)|uN<{u|@#F~8`LxsiWw?5i&tRz#r$P$SuM@thQ3yuvP_tBvA zA~B{G%Vec%A@(U@$f`uI!|+C=&|ssx$aYo;2`v@?#M~N{z;I=z3xE{HYY#qDk2EZw zvOHjV41paFijE#EecCI;d4hg^m|t)wV?vXl$^R%X;` zy%k4-0RT%@J;WVj8$3+XTk`Cq3zNX$bA1IYO#qIIB@V!W_G3Gl(5aGZl-kl)gV$B< zVsKI_#=(o)>~;w$OrBViS8)!j=%u_^bl3|kS?p!0^2Xg-0*=Ll911ClFDm6-^^g-S zaR_>Ctac=bN;X*E!D@yX_1QC5(n;wo8RcGn@lZAkS7ByUdbQG6Y2N@LW6>KPHyo>d z3CLxZ3Lq@hG1Dmu8r|D(f2rb5L6CpP;2?#K*&6ctcaeI&?N6Lr&1m@+A&kgfX_bXZ zfU<7c^IZo;7EHysGu*O(LkA_b+Nq?d^b&-%Tp5j9?QD6z3RdEmDq2}n*?YQGwfQgA zlmw;=Q1z+<4{J0UP-jb+^lG$T)oS5K%~r_k)s{Kc>JZz_$f)bRH7;;?RkNq@R-E`P z(ykLcLD_~_^%6@{V%>>b{q~UZS{J!g-? z3)sAsZcPrU@!Myq-2A#$J|3}t=-6Q7?CpQP`a9F0t61dNr>0|dHN?B+S4G3jc+kql zyg^T;6DM%v`SLZUPxl?8NAmIA@;wQ#4ksg9PAOnj+KgG-_}pM$3;_i zH`n?|8asdF5ktPZffom4e*W4sj+f1lG^I(g?D=7cisK=Hc~Htwt12aK)i6tASyc!E2|?R#h{OyV-B%f84Sih3$B( z7e-m-ymJdW_LAF{#s(wb%k7H(Sf39p@gF*OxxCj9zY1&(-Lor3Q8SWupP7X2xs+Oe zbdWcgp8{Z?x-~p^WGZVfWgTMocLO=9Dj3du+4ZUNy*tqK5158T_|zhG{A6xho(qh; zRDPB4(@>#({vpk`{`;q2x$DAjyUn;7IhC!fXaZ*|)Y+TU3J!4J`p%5jD>W3E>RZER zmlo>X+nVfL-JIuE6xRIOKXke{HMFnpq4Iv35mU5G%UIi`^6&2zbFY{;uKP{R)jfB3 z?7y-{ySmMt5nznp?YZn{qC|mq zqa;_zkebz5&fM^8SkKHT(|&B1^TcJeDa|XljOhExP~f=jr*ogH)gQR6ftL2-KEoty zJ_-uAmKo!~N&%`yjimU=if)ZsgRJf1?pxFMk7RHC*K*CF4OLKfKP9AsWlM!1)-T=V z)gK<}+|e4BcG<5C-WDvm3QlF64d0gz)zo`v^ArSPs8y59eVOWHW_xRp|AU`^euB%!Vw#D6f-%&$i&mOw zM-e6|W+j;zgoBK~1O9sY&X%s-M~xnZR^j{y9cIju7ly#A3Y|*vA>=)^Pz+(TB(f|X zGu}<-^h|L*cid8t=x^Rm&hS{Wk!%<(8V(D*{ox1=R74@%kHb+FUu*1b zA3;WSK*NfN1<|6hE0W$?V?Znb#3q^H`_!}!Xf*)vvxw*od?+Xx6H7IYw6_}q0L1*3 z@*saU{7mAvvtY+Bfxcf@gtSnt{T@Gu?sFA@I2{_@cK;q>WS|3D=O!4ru@r}m2zHu` ztEGrSMpPP@jpm$##>Rl=iATXhgtE?sAhOe?D%b-@z4B2;zY^`qp+gfPf}>s$B|kD~ zRYQ^SBDL@$Q^^yV5G1a`MA2t?gr~#SR8WxcpgcRs+B?V!e1IE3A`YKSbuo1ByR~5+hwJL?LGdvH&28U=`V1Q1b8uEn04Tc3`h~=HL*%4OqLg z#PaZ&%MJrzQ>Ge@z-5aDk#)a8LpqSV+ku^oYjWvL+ z4o#~OueBTvz#`MCO6o#{_Us1JGy8LdrphND45aMd@y4M8nVzi1UO4BKP`a;y3!;b& z=#rJ=>Ku`l8Y0~vA&o%Wbm+b#!^hE-qGgFIagbzr)7$u_{mc8IwHd^ZTSLcRkYnMD z*AcSn#sTZ;?x|=5t;Mb%#)#~Skq|O@^=dSja5mHyK~75%jJPNb0!JU?N7^pQ^Qb;E z+UW=F7YgM=r31fcf#Z0ZWjx8AAqDiSF(^!>V$>6gL_L- zS8`(FG{k6(Nuu|EZ}Bo|b}Ai zzOUlxn^<(Fn2RjT_;k#REEJt&FYr*FWk}^dXU$z)eEyYOdlMZ;*lA+Zx|di?X~nz! z#6hrx<)5TfQ=QkYIs(Buf(bf81v8z$^IenLcq>)muCPvA` zR20XATdi~%FW7G#7Mi&Iw9%)bbw|hPd2P}H1Z)3YGV91q|^jG!vZ~{ zcY4MN7$BDNgGIgU{WVQZMz{0f5hn7+iDu9U|epr)Z&I15n1ll2U`$3_^|!LLUsk z*gyysFzjDRslZ56VAO*FZKJ+Xtu*b48I5t zz^KC1sM6J_D%hx6Y>_Vj_;{xmgQ6E3xe#P)Sbt>H@L<%4ZQMj<+)QkYzX>MQlt#;6 zs!K5X5NzC@VEnPbI9Lp+gg@4%An`4GXVWt9(}Qs@wn-lq9Cl4$#cxz6w;aG|GPJf7 z*J|+2bT!}sA@H5Sn@9uvXoD|v%R@&d!?qZp;x3l-ejRIY?xo4B?IK^c0e^-Y z;1bHWX}Y_%4xw7#&RF`cXL3xn5i++bbd4~x_?hptpHUEDykKEJVPW*$>NnH1kq6VW zv5l`Nrc(+1Fd@?iY>Pu*)8I{H5O7t?0Zs1|4JSEP6#(X4EC>QGSkt407Avh~L$4#v z?};srFV`Q5)pjl|&W=p+tD~rOBS&3LQE$h?V-RRZassHN#o9^J+egQaEC|%i@LsQz z5N}XXo8PM;J^zFUqD2iYMnVO^xqyVG05o+6w9x7(mU`6mYy*u~r7K z5Z~KE*jp7UhQ0-iFmYS7+)(_*yH;B-Ij15PZ%FH}^KJq>SB)Ppn515tQjPBnC76X? zL#!-l1G87hWv%}bUcpv`4p#5~h46Z<9-xMl5O1Q5v#xf$qp`bkO<+Sqxob{h5+}AR zych8sK+4u9K9hk-*t?#Gj}p-Jj8G9%4~}c65M9Ip!uT3X{fZJm-|>ono4`OL4D z>BC8>zan5aUpsZ1xeRe^WF{JvP|Y{gA55@e0$9LW?Iu54 zSDTOiNlHD!X)_5`MDes3HF-zT&tzx+4vnyPc$o2EsNOX}-tL{NX+VN0Y_8BTxA0d9 z9@#e%D5+xP>bSx5zmigqcW|6Mve8fhhgxfTyi}%N8y%yRdajLEnn|B;jm^T5OP#5X@BWBI*k zN`pi*CyjZW#Ni_CrC-)Ke`^6ijW&JW<4HN;Nwwiged0+2^Q6V~qWdqT)L~Bw1y3z1 z2RI|vipis$L=UMUi9FPcR`^dZdD1`bbCc#Om7g9-QCzn5eQLl*y{}#htBOCTo{?DXT`37$l z0lf{k->js+#GuX^S3deZz9#>PlR;jaL=#lrkf09zK-V|N^O7yE^p9v&&?%VVK zH&W`gA5DP&l@3fb@+tt=5!w(C*Aoyw5s>izB&A*j@MT<&@gAoAXHsgiflkH;QIWO4 z!jr%vSYR?wdZEH~pM%1|;4LYP|Vu{$>b{It_jE-;q+^ zOu*hu;s#H_NvWK{GZMkG8o_hs!Sn9H3!%Y_Nx@4+!OIQ7D?P!h6aSHviW{;;6SB=2 z@?9ciM&3VMWRz=Wd*8=V&Zl2VUGVs$LL;iOcK^-j=VQtB1wX7688s!Pc=*Y;p6DX-h% zHTTX)Dzi?#%MH)oXs&?w@!<{c{$!~_8i(sG-_O}vgZFMnxBQ2T&Gs|(u6M7GS3mim zA0OQboNo3*2|3;F1Y(jaWoM{s(%F z2LJ=G0pPa*geC;&*w~mIydxCPUqSa60MOdndUJCFv&(@20O8@`000kQ%x-vic#J29 z2f$;O0~q6hjq%v=jKTgsjKOE+@Z^l~z(?i4?BH`?IWQics;Vj;_;nZzU72t-qt};7{1W z!@)Cx$G3xx{Y~X>R6F>59-fkt5_tA@@M!QGJRkV*u^c;|8~{%a48AJ>&-wW|3;@r? z4nFnoYB2a^`1auW!^6YZw6n{Be+8d9#sjd+%gfW(*N1Nm{sE5!UkRQUT<4v`Gxqn+ zGX{W%;TdCKV1O@4O-*h0H!%E!VDN$P81RQN06Zu>9{d=192^|rQQ*n`)k(v50^^aD zm4$DH2cAd{d|CLO{w4(%lEYU3z*C2xJN$s)yUGE;;qLGh;F-bi0QgzM_XHn02FQWI zkHZe0{n!`)6%`e}*T3JuBaDq59UTF3{+{dK&A|u3N5JR7KLhOC+}x6qlKwI2Nwxl@ zT7OclKdIKARO?Tw^(WQ(lWP4*wf_IJY8|ji6Rpv?O*(NsB=Yz>IjM7pS>xub@#9(c zMCYEs#Laln<9RV|*S>=J4R7+}MYTrPPlJiu`HsiS#-y$vYMgh=E02HLC%TUPC+_BE zy03b1yHBAS_uJ3S&mIN4&$1@&_e5YfnHu63RT>XJjbXR-S>k^_OgtP1!R}y_;;`#s zjmNV*iK}gip4)|q$3O1k564M8_dhm5u4iD6*AqRLM-8yYI~c6*DhMD5Mh1eLhC@-a z!I;^hh6*6`b}$|pq6Yg5j?N!ap*D1>3_#ql1JO!zIZg;tay4m?Pu^BBHOt3l$<17bDd7 z15~dgw67zS1tawXBBK|;!1hRBb)?C4q{e=vg6zhJJ zhai-W1?m$3C3k=Zv_tW$p>M9CsQXZ`U^I+5IwBzY+CDnEJ^FW5bUf@j`sa`6WWkv4 z%rU!J80pzD=g^qk#hAn4m_qnl$Skqtf+5Ag*y`xus_fW0!Qi)xv5g~d8pz^WfN$Od zLH6CTm%gO<42-F!`bnpWT0=0@slHg6J!aq0f95XghiIX zh3tgY#ekK?gw5!H4YI^F!Ni^HguQ^ox$MNBWC@3hiDTD^r`hpmf=Qo&Nq@-Vud|c7 z+LP|H;~uY*TFH_T$>Wd>livj-qvyn8eoU@dOvZT`i$|VPD40T26GIZ1Lh&)hAv=Zg zCWV$fm0l1`6t> zi+s$OT*&B$X68cE(?1|bD`eUk21^mAmD>xID@bH8Bi?vsczz6)X+-fo$Si}Rr%Qr# zYyzeH)7^72fHRs>HfITn@sQi zoNqsJvZ}B+B|%4;Ic3m{RC~Z?qXf?ZlfsuYqng}d0nG9$0Gd$ldyJgK4=5M_Z3CsW zPX~El4YJdeKr(n~VJ`zOB+=4O5hY8rJHOpQYKI-OKvIar&6}%QjXhFE{ZZ9 z;W9p>ve%$8!Q3+8Pi3OZW#YGGk`(3A!sW6?y-Rk$YIs3sFslbu_W z`>7^>xu)>8rdT;>(c3oA+jgVMqvW@p zwKaN+Z{^VI^8XimZyD5fAE<4H5F|ho3KiUnOVPGCDOQS8+$mb16e+I3tw3-K5Zv9Z z&=z-hFSI~`LUAeCJkQxZbKafVcXvPSyl45qFhj_H{>g_-=DL3OeLoKVTH@ZJSJoF= zmgZJAaOK`rQZ^b1P&T_zIzLdlm{z(RQM&3`x^7eYU9WUYzVxSX=?;78 zud9;%-IAe&vZ%+Ee}schZ9GmqE5le)uNEqAuPOnQRX~v{kbV`eR~3GG6+vqi(P9xnna}ffqwNPuWGXNYKqoss>N!W>uNg68U~RXM*SLQuNv0$8ur#2&c&Ligay^4 zBH@o~1@vp5`*_td96|*n-CuYW3k=o@Qr5jJtra7z<4rG?RH&0|t&_2>OG~R$q^y5N zS)$5Oucc5TQd*}eQm=GfV{~0_LfK#{(qOLNVCmKHF1^8~wc-6@!-wkz2g*h#kw$0z zMpv&!_w+{3)<*BeM&Ij3IAv3SNK=r0Q;1g+2L^7i(gpPye{UBz5XUS1w^)0pdGUJ?d{VTc!oL$b58V;~+r z8Ze1ZC0B*|5{OUAZqQei{VkOEi9AxSI;T65jNfLduR8Y|zm;eN)$5wP{&-gP5`+Gl z{J~@%vjODm+JfP9!H>I3{k4UoS+GC?YWcdN@m#rhcEf?X;>kkQT=@+7`jY8Vom!ja zf%?+fN|SF9)Cvt{^R@3LOAH4a$`>0Qz7J$5G*&FPx*zW@4>ne=cEGU-X%w5P*1v_3 zau^LYRe$eAJWs zGIvDg|6?MvX)}z^C*=Al;g9^h&o9%C*8eLaqvAP{Oa0sXTzIyA5A0gz(NQhLS!#aw@&4{i} zH9bW97d*)3^BCA=qKS}qb)n1jV-N2aQL>jlPv*nrbzKzaS=q>a!u!CnO$bMs*H$nh zwQt}L&!npRfX+gpZ-r8V=Dij0<4Rb3XfNHUP*3IhBkjnau!O|{bv>+2Fo&h0!QfaR zBQW>m$%ctg1{iWn%ps+lQWTyR+NaFN{8qEU{2Ub=#TJJoOXcB9UH_R7QiO*Kg9sHz zcLl|F)p4^=MDvn+A9uzVrlt*DCWfWBoD*}D3mG~*dRzGKLHonwo;?n_!~re7&eAIF29 z!esgLqDi)(xoa=MCLvOqnYXG?yw_O|Fh_EQ5Tn+iO(_|Fn={bG^rk845Zw^BXYmQn zIlN#~i8!!eb86B@+!>dwhr+q!^KO!0*EdZmE_lv2sR^_L^z>J(Pi(@N=^!>usbB)Z zm!yQ%A5n=X(SRzXfN*}DV3fz~vkKh|JqojG>oC!)K*VJ(Kt3p2FmK$-*+wo6ETmY{ zC4NS)L5dTr%8ns8g-LyGWkSY!Hf$O_`DW+&zGMZadcNlDIf)*AZqMU)r#{`Ht8g5F z&{Q@Ui+tLk6b9iGyW_*<`vTa*ee~RM;S1S;1UbR%d7%*@Fc_3yD9xo0i~V8B?o{em zT_}t$H^s9w@m(%ev2WKDQ8Hc$)oyOCC;dx3w!#v>*XGGqMRfWiId4m@M%$iB1v6v6HQBxg{w8*<(|oB=;>vU zT?5Zed<=e8GJ>l}8LBJl21>=7{vyI5m^%x5{*Had7z!iB6)1U(?g(UWaHHng~3oHia=(* zA;>n;o}f=Q;tXw%b^lQ@YMZ zOoyXGzO6~|rb~xNT5XTjL81G&wMz-vZE7H@FWSvw&@ExWrY+j@UR2a#soUzNTZ^j4 z&Y;)rxF>A!8+6Eqp{2+5rq?B~x1sfm2~l6j`)2`5o$t^?y^_1Vp*MZc;`?56_F4}C zqHmaQ>R1d<&5ZM_z&QPXW%OqSSmXA(H}v})0@UebR5FQJ=FE*~^4_qXmY{|-D;Z78 ziCFWgdJ9E+T_^ghI9ael2D6ZZ_3sDQHDun(48VH3J(j)|QL%)P^Pwq)GS|Gh^5(z zTuM=dB#fDQJ^>P`j#mtU^A0Px=@z7v=3@BqfN|ipP9TG&B9qd}{koZO9B45BWTYwC zO1&z{!gA8y2e#`!7~(xFQ;@)w>*~Zhc33>A166Xt9CC3O#<)7uIRn~hyQ)yBMC&_d z035m{>^QI<55b?mixi>w-OH2I%Kdvp8y^E!x%VdqctB6ZKv9O{Tby9rUr;_(sy}Pc zKcF^MT!^+99YYnWyXS)6a%kjuWiZA;2 zh7mNp(KIiUm$!3>hCZ$gS$dBpKQ*PQ8lE-ybqvEhMy(Wn{#715GTJtOwm(pb{N84? zhg98Z^x8qUE5v@-Yl_-KQT}3oIx_NMZ!EKE;C9u?XusQc-zj}Rc4cqrV0@*bem+xm z_}Rho!S2qdi7&Tn8x;qeh6f_8T@_5fFO*sA4bl%j{5;S64L~zri}#({{iJ$$h>w1P zUD+ppyIx%4MNE4{B60M<_~?<}5n0wzchA91^pqCoZp7n13=)4BCCr=qy1zZ|clo@j zxRiTVaKuA<%!igZ7BD`3-tj(W0z##7NMlr>h-5>|+e%8DNE@HX{*OHZs6yjxx^??dP9Y&N+S`!nrS&lrKi!UnGh5x>sKGj9gT%{N~KMh?BTH z?Kvm%yYQpEOzrrUuzElPJ?CKBgF7o}XeiYT4d`|c0F?G?4U`Dd89t=#mWtD%tFGHt zuRo)qNFETf^ZFb5x*L7{Kd&QSLa+W^vh?>sZ1_|=@FRNe4W6iSz$g;vhgY`0rb^b_dk0C)J^0< z8In}52L|s>{YM?S5`Nu!Dj8oX3Dw~Ao^GA>wDQRSLgy1b zw$O0CzS};gj{G!@%XSRY87?LH0eM|nwcgh<0|yw8P~Z>-BGqtsiA(8xh^Zq_aF8V6s5_J-;-7Mmf{6T6M=tfiQJO?S z;7Iy`x`w07KXv3XWM&DDvJ|#;N3v8O|EVMQ`lm-A@PU&YL!`hTxw|^@h6~eA{4?%m z(IRITW(cWA9_Dch&o9jr)U`Y;lJs3KE&gBCkwgD$9r>*Q-JK)5JGFdwYWdEQ-8r&5 zM|S7P?i|^jBfE2CcaH4Nk=;46J4bfs$nG53og=$*WOt72&XL_YvO7n1=g9t7b7T+& z&W+*0Tj*zdz-QW<|A&*kz36}J7~K->?S{ndrt$3$zuW(CWK$|s=(XFue{t7|=pN@HEi#iKc$n z8_AZ5!EJLbwHV67I5KKYTkW}Wi_rqK;o_Mc#*zL0vAlTx&txygku6;~{@b;UabzF2 z$MaPRjh6r0I!&=XOuYHR|)2e)KyFA{WEHxhe z+tG&s?+?K=gcjEs$82bv@{T*1Pp! zGRva%5GvR0>|oGSUOG6=fm=p6J%uXN5hvh$J(8z~_4_A*nRnl#1mDQfMT-9E>xWNf zhpqaY){z-u$uSpi#wkAE*^F0}W!p;7(6Zi2)UhnyN-}WW*-ADs1;gP3Z}IbdZ^z9T z-6a}!exy6}u>C|j&shJ=aQ{*KGt>KQ=Vulimwg)*^rzUANG7DunE5mX76V4evhUX!lNh-HER|@pUJ@?!?!f__`BccjD_#eBFt! zJMncVzV5`=o%p&FUw7i`PJG>oum2^*mm?ntc?j)9Uw2B}bQ$0D_}%>9hr{~*O@`sF z{r#`vYj5@T!2a)lWWs*`hxp1uUv;2wRBjo7#0i4r7usWMFN44jpPJ8&txJX7XHw47 z8UL>%v&3u<8Oi=L95%6~kn&K5Gh4dKToEbca?gstqsGp>Zu(<2mQ6_6N0j1dFkY-#DK6r$ zso&(R`>*(Vw^QYB_y1S%wg2B7|D-(Z%@l6;t}aEXzEPQG zl4<#4N1jTW)dQ>S@!90>A@tZ`g#Q4fn|$LF3xB?l+O(FR9lkdu1R&-4>EpPcz8_r+e&G+AOwc7UqV6KWk8y3m5Yv}hFCZaB4(0qcE`w~ZH^(Qr%${roVOg{o zMv;23W*71s6>hayDD&;Ol=?4NGl#TRO&qI72W2#qzgy-r`5Z83VFGq;Id#Hc&7AQ* zR?QWk?kkb<+uIF#`?unU%h@+dBY9a5EGqe-5DE?p81LJ`$9%elXRfAlQdq2B*r_C3 z1SpqG|4lXA`<@!vc@+4uo> zt5=Rf$$q|@qEIr;@nda15$5~8&n{-lEGS34lva_iz-mQbsSBFt#LjX7?s?KA&TDae z@&Nk6_jceBN+4Qjdn~ISiBjZDiG4)G)5+)9|3R%kh=zvjCGH9nyIq|B2WL`3KD8W0 zW>}~%0YJnvOp;t`jOgzt_pXk)N;&LFV^SZ<7PJNPvzFI=l`}awPA0?x?v6`_E5Y2u zo&5lqs_IM8GkW&40#4P9!4Wt%4drt}?&rLK9~yzuqCcv6*c~CAN!!w}15kuYTI5Vi zFS%o<8R6Pkw?Ttojb&m!56)WWqaUhuI`oWBo8Hb*OC++6OBd6nNFiyIJO+Xf9p$pj zOz8|SpWZe{AjtgVi89_)(&zbmUR>pAj9v8qmX0K8p$evt#HU<@v-;+M)_D1Wg%O;j ziIZKqB!%cRd2I-vE#HtLt(wVrd)(7NAjaX{)Ey^WD(id3% z)EAcLbIBSL>i74#rq^$k+p1ivrffW_Z4tAvkGdXRBuLimqTYAR@S0q8(rEsMQ_ksj zZLpWd*F0I@Z&Q11IBb{Px`Jcxkxa21@AQ~;^O?Pu4AaU^&20N|2D|50$;y&ea^Y;g zz27Sw3ESS|7r{5rgUFWMmFVBbjqHl>p^S)NKJA{ZK$HjZ< zzd(#Cd}S!tp@k_zM3AT9)n=wuIXd0^E98-eRQhD+i9I5Z`a{$g-_m%^^=9HYA$UbM z2Opv5`$%N@%oE!-K`(@=RYLy2^Eq|cwVOM%XKa(|MU9`1P7fM?uuqv3w&Y8m9Ws>p znAXwyqoiSecrN&(`j)8G&l!&*x1L(ZQ>421d1|9yv^5GxNnbK|YAn>!E=Q#0ooxKf z`2Aq#yk{cT0a^}IqvygKo-|`RnndwE}pFV9{9XfE0)L)!xaC6-@cu6qzIXnmhDT(n47~aTZzgVwI!cqU>0+(O^aZPZ;J=v4DKMT=k0f z{Y2uec7b;2wo0Yd)WcuSC5zL$v8kRjh0UjZrpv$H<6LiJb{(pdGFq;gUo6x=J)v}4 z-uKY(GTRh)W1RV0`@ZtU$`OIvVq$zR#M@$e?Khcd zRR>CE|7a>}d|0^81pP8DR&_s;>WlRtL(&9C&Ix0R=ywEh?(@|H%bUsL0DLvX6RguP zG?tJ%_9JP;6ZS7zTEWlBJN+NPsRpw`S*gzYnZ`bGbn61eTp!98Zto#t`Q_BKz)SO! zD?gL96@Yzjfm>F<`;+qb@D>8YJf;Fk7t#r9rvk!2bU1(+KQXJRcy9K%C;l*ybXazI zEQtxYVDCE-^QHJsTKn*KQS31P2!B$iH8_wMZ$&4dKReXJB-1q|RD%cW^I@mbL=<5{ zq@oGjwXd_N2+wH@_%XF3i4GrE=cW05{C%td*AxOkCoFuM+Oa6KxUaL$9qSh*KENS` zHi2^O@cBGp2Yyh^2oIJM8P2V3=oWtm2p{T%pTlJ!u9gxyDuoY`gR}qXe0da&z90_P z2>U{p7V43b!t$E~U11kF-c?c@T6=8SDZ3=3gaw97yg|B&7xb&>fOuvjWtL zLP5mAYQ#9P@euaVdrQhfv3)A zE@YBFaj5iA`v-Cy0fPXIlt%_sVH(>|<*@*@z98rn5d@aW1jlnqAuxCl{g#N3VH4!! z?hibSS0u)91OV3;$;gD0ahHlt1{&FdYNqINfnxzc0r)9DT#YB&jp|9_{V-Pmz>zqZ z%-z3Q7ihFc8S@%oxE|y&mI&g>W-@uQy3Ph{L6YCe>o7m!=Rgcsqdw3&tv@8WI=c%I^x&F_aQnj=~!bFsRr*;3fJzn zei`gpnha>Xl-=(KecB9qOg0qSCOH4c_=15R^higG|W zh;hbOH3GxdA_~W%qt%Eoy{mS8PeMnms9)I8L?n@HdN31qrmmMNY9-=I-ms616*SIN zb>VV# zk#==qC9q?>T-sRFf$-#GujGT>mu_CkG(!+a1#m%8xIewd%U~v?Nlq$!>b2(7tMYIu zpQ!^9jUD{KM~3~O{0gKz{)w!b>SCH2N}8I6np$?6+CG{(QJT6LntJ7$`t6#jsLSc%OD)PSfO>CNsI#TQLRWe7qbu*lkwiB23N3mJ^X&^w3C=oDix7^4ti0yY6>RvwU(XQ=1tnIU`?Ypn-_g5Q! zPsg8HCxA;QP)sLCNhjD)C&W$%juT+}cN!ceg8pop>e;UIX;>#}Stoj5C+4pX;+}3S zwQd}jZoHUof|72cp>C4Qyuccq%tY%bs52r_JG5OFIjozpted&7oAp;0m7z@sSL{mw zyXC9eeTSnA^$P6t3Vrm7qV$54u)~%mOfu#=OLfyTW|Q{yD*x(L-P5n8*014OtbT|E zarbBXB$+nMn-r_p6s6ysq2E%z=pz=GEkdbXL| ze4WN+y>C7S8QpVUQQDqcdVUvJ75PivQQG$r+UfP$efJDAyY+EVq4wXql${eB9~#cs z%?Y5i@2AYtHibUM%&MyfkDe|KB+kw%1)_zjw3mmMW~f(!nG7c_79ZOgY#15^mCp(Z z_6Hnh@NXN8<{NqW819~i3IL3L>>C9F-u5NkMp zb|-Omq~5?=EO0h|>EfC3?bbq);7Y2}N}kKo?f&X)yMfOd$g^r*?H!)xAs!?pLJA&?^Xq)QoDzDOXbgO6@*Br^lX?>C(K>L(@O}|4tw!)j)G`hqoG%KCu8Q1) zNm2}zoG>@Ebnop0BO?-s3F(SV8kXUtOEVc63N_qsP5ZhVxm|#EJ4%>m)Ux#Sq%I=37 zje#@n+Dl*UfhH}tr`uolt%jqt(RwFlkLG~HXG`T#vs}bDY$NYNAAklD*IhDyzK{sBPJ6nf2>KO`-?*1Bp4?c!=+tD9( zGC%Bwe8|Pcd_MtvW7ag1QJ>2AR4hw&@=?Of{1s5t{zTdS)X4tqgZ;U${YA9>Wv2aA zh5hws`c(t)tU zfoRm>-l_xSw*wUIKn!)fPwPm+?MN!&_#ozxOy_7ph8CA)`j(ym_Hea*WjeP>>&gUx zTVzP{+mROSNC$PIr*&fBc6uV=#HixLWbDLj@5JKg#2VwocJ4^+cBCe=J^%be`;2vN zlOt|n3{|BQFYQM@?vH4GiH`y*AD)FtFlgY#wkJK!Wv`UZk4iDt0N4%AKaxbswUk?=2Gn>{khubq(!ZT0BGyk_o zmbPc1pJ!2wXK|KiNu{Td#notyXZfmU#c$6_^c4!vrL3{Fl-8?O!pr)*N1d@(gS}Uy zpI1|iS96wEOQlz9hgaLESNp2h=igo(Xs=GF_ZM34uiW0>B)q#+yt|FPd+fb?{k;2P zy!*4f2P(Y>JG_TRy@yx5M}B*cqP@qUKI61L6Wl(N5epgw3-|(dG z7y12N^}GG;hsF!@1LBczzB{D*8bt7z@BQ{6eODM>vTE78BZi(&6fd0iwvV3lAs+A- z$G!W*IFP`uUGskD57STzRA!>g`j~kn8f^Y&Z|9h03?&)LH)MUnI+6DPD~xXUgl($m zO<{wE%_+N9lt{7D{_ZKqT#9aQoDu~G=R%#$YzWt{GcF~E_dh4fZO@sO+B~1F?EgCF zHVN>;gF@b;FL*X8gC2iV+PmQ0%=*L_dwt`M^tk(g{x#H;+UOn0;= zkSg-&-oi=8kD+u@bMeBH{a?GKw)U$>t8qs}?UA^@y+mCCzbk}}cHH{e9Dq~qd;ejR z&ceSHu%LCh;7T#_JN4(!@B`@K&%?=$Ht8hs*;&`EAv3Q&g*|yAxDd=HTtFXrwC;uo zz0TI&aAXQ8ptNBvX)-h6vgv#K5?{6tY0W_MDktn`zbs9R(%F_-2n_NdH< zGMvgy*%R%N3_rYNwQ%k`3SITkOAFmfYHjvd2z}@)#GlJ~X3?wM6}yY3t{l3OJi{=oi=m;kAkwC`0t z&(k>@;E~^`foD(Z_$=@;Z23p?H-=J1dd@_hH6-|%XPpR0+v{p%NnN!j zsQJa}8Z5>@p$y2N96Vh5!1HGqH;N)fBPq8 zwC%@>(aRC9+hY{8efyR1B|qZ!q)4TGS9|noruFu;DyIFX68H7O;_X?}X#0WN==JpE z=kreJ=fhByn+;0iKevLP|0Ivz{18E3CaH*@6sr8))kj}dB#WOlj{ZIHLSLiD#L*YM zDz|^qCC)b_I<96%Z_n(-{~pA2-27biy_iJbUW|5}?pLC3uhD2^qYGWNi<>sQU)zlV z2H$w)2AG3GF5u}buD}$x=w3f!4Erte^JsKoK;V+}xrOz@Bdq+%bpn{Tef6w7ar<0c zlfCKH{2AQ?_yhx2k^`*hfL16xG>@SJu2sYx%rQL%xbb?141MpelV8I}*xnLuA@8>#j+LQn^%EjO!_+3g!D@%aq3s=9#A-F{$ zPJ*HJy&?Klfkbe3l1EnVI98Hmz7s3~&VpeFhFqSB5I8+dP6XJQz!a|d-Qfn^lnr1-dyy-Mf4$A%pbv+6P=hd_n3>6n5(9k zo4J@5yvJJ%S9f~=Ml@@9Lw(!FNl7PcsB1RG#@WMZy{3b zH|6gxp_?EJj`JXkWdO&|96=Y?6JC)gQsO3V-%q%7qtReX)MG~ByZ-XG#07&JI2BRX~)zI*u-S5N#BM9^md`3bHOKdqqI2n*UcM+$Yb9w?R9uNX2Ti7N~x;cF$ z9LXS=(VU7BmQUn$fO68s(OhMBT|Oa`M^^U7)>!)v^CsIayk$uPqhWZM&F^JN2yaWF z+ivNnlK2wmT#_=e_&a{ke2gszF=!M?#E7or#u)tK!E2l z_8VC`K^x2~lo<|pM74mz(u%y;fzY&kV!hm-&3S3^IaoFTed1j8AY^NCVHW}w{-T(U zIm?+nXMsFxavow;RkTTmWRpo)Bu7~fWa95+W)>$8-7lnKM!E`v&ee1`VJ`#H-2H6I zwly>RE>Wkbq68R`MnPe(aF!xPwsQpCOn>&rg*=o^QOQ_wy9cV82cv{CH1sN$z?D7V zl1&(R8xhJph+<{WBGj*BMu(SfzDTenupI7BCt2kBX)d$|fHpOQHenG7a3c`{q$(H? znT9K%56zS>42-Yve5WF*doM$v+sB zq~}^A?Kt8EMSNS*8gS_dB1>`)ZL$YF1QmEd*OJH$a4`T?!~m<;8AxYV#fuOIt?|e( zJK%N^6Ef&h!4P5rEucAm(69q;F`|Ls34xa|be}z6U!D#IXy%QO-r$i#{DLMR6!HhM z6%JpAT4i%P2vy2MOc~=+i3xi^08doWaVPi`&>-c2`;oa(#H*HLAmPxOie#{qSFdP9 zw=AeM+eslK98H;f3+MdR4<2qQj2ytir33N~VD+VfZ;5lSbMX?Yig@M0!wAkpuZ|H4 zY;E~0Ue7|_v|L;s=vjJ^cV2aY2*{Z@bEp&tx3f(>4HuGLbiP(5#iQOz5fA&x+BpN6 zTFjX#EjoV*RW7I>yeveIwHvdeCR#eA=sJ@HGE!kgyoy9%;`{^$T<-d!F1oCZwQsm| z)dL8?p~*KX7$mH*oL3&N7=e2hDQqtVp(SkbIWEDeD(r&eD=LD+I+3X+K;8&Q>LMg! zfrvvAZ^<+Lh%&bX)#J55R79C;4am5$iG`g*se5x645(&Xv*kT$*@wPD22fq(pGO9O zKhb*7E3@=e;(T)h=r)RI0H)eB`PuYS2Q%D#9{@=}5q18kf)OM46u?DhO{Sut&c5tS zMR3j-U+!U@vwXe6*Z^!TJ#4K+{Ddo-TG#VAF!7cOXxaS zHDykSbD0*o0G}YtCfuj6FT-@Uq97121tG}vTf$lqr$Zq(isvX2qV@#BYtz6`Q@%~y zO8xCiSntr3S1%4ZuV)Dn*Avr_y2g+2s^QlvtlbP#;RPoMg4oC&hBr{EPGCNoDt9%m zI{{D*6ayWb01j0Cwi6nZ!oMXkuOWZP1ZeEh$AK#|!H3vcL<2|w z2oG6ARK;d@13a%PD#^o%O$S7XK|hH>BbmBbyNlllk4n55gF*b=ypxVVrVA zQBbm20%P49aXe?9Ci&K?;520URe$vukrx3Jw{z*-#86IjzICY$MW`y(R_HU>+8xn4@NiNM{)0RhVh4(Y1Ny)!AEjBOJ)jHXV-qwN4{3q*fTpnuA9^Y@Dr zN=hdOR~2uwoe{W8J5mCJi%$cy4Q~-Dat?Tp$1UZ3v#~Yr=CGwgS;mqCUY(v7Yx{&OF=ImA>l%i*oSxkin_a6nC zG!~B9O`|?t&vIXd;v@1?bJsjg;YyXMos6fbVPx61P>N>D7bZOvxk&lf@GSse!xmwa z0_C3!wgk@0-LwV6duhmi&&-gU{2lTP!+uK@0blw>+q-q;A|m=#yJ?qwis zki^*S{oc1`N!2kiHctqOi*2$UKBkA3UR@9nqd^cxo&W6UszPD?j~!j_){Ot_IE~D$ z8C{i;Sm?jwG{?CE5icAMri$W!s-RwC#%Wq&^A%E_V>-GPs@}cIQsKS&#Qsl5m##m} z-}9Os?JDEfTGPU@?{({}rz`FaOxx--Ihxh9yC-2fx;#!R-p@ZPHt6)HJzz4JJ6!+v z0Zm}Z`52Q>h-D(xT$*!Q>i>6~rvCThV0NnOQ|sgt>nRbANJ~5ZQ`@=f`ic)|L$42p z^O$iO+}Dd|_Q7qm>5q)4^6l69@dlY8)j}gbd-6-AE0%<(cIN9`u2!PfQ}UVK>vOYlTMjq zPqOG$pCmRr5g!8`cgbNEQ7n~8e>y_+e%t6H4##$u*Da$Uiv4eDgA{KQV!I#mFRArX zS>?TAAWJ;i{;Y^w6ZV?6yX)zzXQfme18j-4lk%j@8xuWzB4uOZ^ub-#J!l?!zPDdv z1lj6J{T6P<l1bg!=KhQ@-JRLlFusf?#;m}t#J zNf;gm))DqI0T9k@u2*di6DmR*b?QA4`+ed7W}DCy9gVkGl0xd!-@C)`mw8`lv+NBv z6LJ{18w*fbB`p^a_b}ujt7`Ps!(Sh!`AZ9*O3D=E`q?ElUoh z0i$`bBtP-J4#XmQ84yY)ZFcKynZ{d7{>0MW`Gn@twrYNc>p^xXDcui8fk#!zbh!Aq zZ?eC^v#Dt;a>RdMALSDKZGI&siyqHOrN0SZpJ5t-vn0_=tIoq8cdCWN0Y!5{gXvj$ zo3`YPQH&vtUM-Dw<2Iv3^VEJHtiCcGWZw@1Q8CF5wULrBVL=4nt_PEQg%-`zirK`I zdZuCJe1q1{8%OV*@M=s?73g3mRz5^uNU zFXQ$Y{4nK*Y>eXAJFutf{Ug1HkyG_HR-Il($u$;$-F|%aQ`j;(n%EyAHnmP`Mb{f^ zid7Y3&R`)|(o4MbFxyk$39cRtPmJyyN+*C#BPF*C5DQEI{J^MC_O%q}0z6ZmF~E5d z9?M!R!Li<~IW=YiK)ox{ADfK|hgZuIZrKJW zl@rFEH$~xnytj_C@lKXG+Ps;bRm!J}f+6<96Wu2R+?Rq$iwRzSrMvu2 z#BBoLou~?Wyj@M>GWMNh0ucSUt&^5$47jlC7@{*)n%n^@unn@N<=nwnD;^k&>e}qn zi5d`3M8@{y&GN<=e8eYZdLW}QSJ+^Fq~o%S2 zGo_4=eW}6)1y!P|e>W~Qt3ogd1!@lL&oeTm2Qme^?MmF>XBxO|bhxLvwubwj+HEVR z1V&pzUdhJHW!r)b2EG#XOjndw!E=&)^ZSxFXm7(1h*JOB^yXa6l}bH zai38gbP#1aFG30oB~a53FlY3*k{fyY*1q+PT}IcGHUZ_}*T)}hU8REA7buQn4Rao| zJPM9woG$W|n6Qt?t}%T?_`Ll&M5huo)#TcTt`C1^3L`p8DreARtXJp@ig53i1K^SM zy)=>wk$LtSu>F?Mg*Z5@o0H&?c@f0Z#Gi(;lzs94_9u}03SDr@farH(M)3qS=x!bn1sbeWZ8UC>xNdaeQw5zks!vr#*(85%-2df#rbCIgpd$Aym z?IyRbr1>N)B|YHrh%6v1xPjr#h+>hXDY`CWrR`pQhm2YxslfZtxv+75KLIoFtbi@> z%@ol`{xu@z(g*bSZTDsw7G)|y4@b0p9_6K~RQw6?% z>Vw6S%|Z-mnke%W#7;wM=p$lgrl@_th@Ai+kH}yTwHZSMZJZl8J_s|^MkBr(w8+vg zZ#t#Iy2!u&jdAVcA>B-2rPk6r2p*Oq97v>j7oVw1P%EEWZDg5jaPRnbWRTXninUyzgT__rvR(A3@3!Gp^WIZbfS4oT-9qjyqj1a@T)9 z7$YCyag?rmvTZIRMPUj6s8LmDom8ODvv^l6fOrD3jJiNz|Sn-Vh3yiaz2mujLT?ao&CV1_Mh!VP_nJ?A0faDArSf z#Dw$Kv5M@m8?jyt@z8wsoP&n=t$y%Mvo%#}z!}f{EJabGIDnkI-`CNNJ`MI~hQGUQ z{!k${`MwtakWGfMl15T|J+Y6X3hc=je{#qrx{KS?NXf_{Q5W7Nswg>Pf{7dan2RP{ z;!Z*;Tk?~Mq`0?a07jc^v81vjUXu%^qGYEVpXA+lNe#_9MsLZk=ThnUDH`5V%}&_O z8d6=9QaW9O)$xN(MW3|1BTyKn3~+|BucCFiKO5~zgo)E(JeGz?V&b0Rp(qe^*$|~8 z^}4aw`+-1m+;x!Sp~S5$hKk0NiXkuTHoId9hinOx3u)!um!N#Gz2F<$u3o)hOwg9U zw4SuvnoR5#2$!3^tAD`1S;kwDU2s<>*r3Q>fgnKgjd7O@>mgrowk+eDJUHW;RQfeF zYZa&Vv4nGc3SWV2LNNxHr;PT1tkI0@(>HBt{=>vjB**2N{1bQ#@WC-0VvmdDOoOxMko}QO{H>FR^6iOoyI5mz#>|gD)9ru~W{{!8 zXp$HT4U#}~RG~>wp;=L(#XzCeUZKrfp*>pRW41y^wL)i?Lf3>s_nJZn$+((7m<2-- z7eDNrBcQ-wutHI;>Q20RLLR+e^dl2!G+S}3T5-HfabiLdwx&3FtT=V2IE|w;L!vax ztn@`tX--jTthzKUn!ahf?{oH0zUIW&8)~MgWUXUa+&Mg);0c^NCHNMO@>de&ZD!>i zLFHXV)tQPw{!xN{Sz0sAI6yV+mx;soZOkU(71!f+`n^ zD!&a>{@ANrdaGPTt6XQR+;C6b`@@dx+becQj|W&tTq}o;WucP8xf#kRLaL}rs%VC) z=nkr2A61MPRm>b!tQuA9ZdDwZD)`Bi--O(E9QpfWxx5QrrmQh@`%zrlcn~B0BL}r- zK5E1T3Wq`$*RhU#<<>hwP93^D4A zIqFO`>aV)hnPKWI>*}m0>TG{!nFiJ9N#)g&l|(uw@#iPumG&uQdn2AC^1`V9BcUJ& z(-5lB;5*T!B|~GwJg{@noU%Cn*byf9CXusbmNtDGoH+=4K8HB7I?e=OG4q1UID3IA&XuS z?TQVlURCpQ(SIZqDsuEHYxJsEmJFqqtJd{u|D8}+Ei%-rd7|GWq~ENh-(skrORIlu zq5toMf`eY0(r5=vzk6N3CuOzsM8EGLp|Do*SO1fc!GMy%V2jRYLxW)-gOT~wp%{a) z8iR4P)zNMP*t)?a>1vYC>f|HC8PfF(n8B=&;oK9$FG@f{VSU8Va52Vknbcq@$8fdV zu%pIsZQXD~NFTm_Vz~8aqw25WR~Dn4mer}j)g42lZ#;V24n_wt8;L$fhc!muON_q5 zHogrSot$iJ?-~7gWW0f9{F7yKnb!DR$#_A^__xDmv(`qrrSWCXCM?DHrrUU|#rST0 zb8z1Hp2zq~%K-k@7#VjBiPZ!(b!}J41ifbs#nA+Vb*d-3rNuDf#^} z*}W;H^jBgsGwO{M3Sl!^+<6)!Gy2ly>YEw*-0d<4GbUcMS3PEwlV&V`Oj%FONbk+q zTTMC0%%8KG!@1l{xs}bI7@70dn!NTk$A~rOhnNV|nxpoZ3(}bgZJ6J8FGT;|dHu~K zNXS&I$4s1TPE>f8yN8_-vMcRoQ5s^wq`aHNV<9hWrZB0eIJrx?u{+_ps{Ch{9Nkii zZcjdRdj{E5)6Go7=q-u8CGEEquUGoI8)jOQEBg1lZ{1c6am|T(dW~^+;1(PNuq{(< zbG@e!ZDk0yuny+MZE`kja!+mY?rrjMZ41b33t4T8gl&tJZA*-7OC4>?d~M5PZ7XtZ zD{F15dTgsFZGjj*yl_j~I81zRTZW`6vDQi{+f#Sj*2`)c3g zMw&3cGjM4-N`3^Inrw(>JJ>JYej?S@Og3b1CJ0p)%>^H6$_Q(@wp&Lw1oglk2rt0P zj2tA10=V!4Jp3J&-NM&dG5ql93FXnu_=1+dIh6i6@c^B2%Leg79VUHGgYl8n(u0EH zk9UnSb(~IjLQjiQ9gp0E{6OI2Q~QvuQ?;|xUvwC1#35d?L0s(bN>Wb=KK8M<7+0(c&H@fWqQ`3ZAuI14!ECno zxIcI4FhJy|OADtsusw{J-oa(M zBw!k)iRNSx;?VLq}aL-bcVO= zuJ&B597X){-CQck8msGKr>mmKPYIceT{j_qs|#R)?C=i-_`87k6JfTCU8CPx@UZI* z*Syq|-FsJ_XBcXiKeR<0HS2^J!#VCViUVq!qcb+c;E9o`?S!VffXE3Sfjcub1k2 zPLmfsUo^5J&ySP+sKV>nn2N_LF8r?cd&?c(T9J!rG5>#6i#gQ8M<$3QBQEP8 zJx2Vtb+|4V7rhV3CSHiJCH|gW@iHD{CWSMAirWsi1~sH72reg)ULopIN zm!hbjQ`2JFBSi#L_Je*;M-QSVV9ViL+v;CAhAKO}q?mgz~|)HgYo7FK&u+QE5$nX-`Hh z>*qOtbkmLB=3VY5^j#*be~h!g&Ux9G+|3w21IGI;D$P|KOSp$uv?YdV5-Jgrd#{QI z_Q)d^NDuqyd-OVD#wtq$BLjJb(u~+Q#Vr5Q{Vj)_9P>>g#UJVnlcX#gek&8hn~Va! z%mklj$>I?{f!FS$?pdJBENVSpN#aOc-B3CTT-)}HM_7DfMA!{Y`6(B%ptEfL%#s$q z7>`9BPF`c@(6>&~S)s(ml#$6&w#A=9iy0zArOQH#GvYrN%O9JQi}R@A+mz^3mUw$c zcn>SrV`im_TXIO3&RCWDG8EcWmR7?dg>tsx?oX4B=A!TG(VUU-G8jdflyhvde}hn8V^wzPMVLo~Cp;rm zT*4vosHDoMByOyvmyedSNV6&j^U(@4gyj~?;YjaRbZ6FRT@^9#Lo*JOhbqfQ^eD$x zDwE67e#uG~XhIq0Ib7qzeU>xsr?cNw)cnZ|i*rYBsJ95vv%I@O4)yf=8d|F7Zh+oZC)Z)&!=Xk%Gl{yN30O?rlamJQ~9z7o+V#Bl3qQ5OT8sunm&61 zN4~tnEUpHsEbrrN5B{`-@S5jvucj93O1MWgja|LWQ8~t~|B*P3Iumk5KBK58jtxFG z&NMC^J6>Pfn_@=f-)G2C5luS!aRRT31y`GBZ=0%LG*?;GD6ZtECZ$yC_;5+Oe_+6! z9IerP+1A?LVkOXMv`Rr|7e4j467MQwvK#Nmo7JA*SrfI|ZroWasvjy>p8lbp`2&dX5F=sv^M^`* z%O6ZW1zw%$vTYIa^~K}RIJ?@U*FMGRX-4MAuBvj0RUc}W7&-ErTW>$Mzw9O}?<`;G zWVq}!>ny4&3m+#$>3Sm91=nmMW9r_`3YlANS*W7$SoM%!ihSh8$Ob|ULuuR7?|lpH z+0N|2Z0yM`OSd@){`0c$N}%KBduQp()+Maut1utrwZ0b$eP~_1OHno4vX$z@A-LK7 zeBr%aFZ=JRJc_ZZ%_{n71iSG``j2`0Veb9R_6f9ipC*R;-Sqp&vpt@We4NJqEO6(+ zInhp5{VDshh)K5hjlqC7^b>=i3)p~BG#{#b2e8n=2_)Cp#!jy4-o2Fp^{zpKwLwAY z!4Ka*bKiC99S=ghhpfBEOza2Eq6aOqhnz@;UDinL47%mA{S_uamV(3HYs0?PBp;%C z7_tZb3`RoNh6A#DgWz{VVQV9?$Ab}T{pQ)jUUws@-lN7(N8e`m1V@kN-i->Bjyg?Ano!V?je~N z@}3yyn2kG0O9f>T$~BMU@BO^V~eSFmf6XVy`J=pJ|BVbd24! z%bhv1x)f->mXFq~Tw98HP~Cq{QB9-lepi$@jVCnN`N<;%vUNpzwAuR<0hKw9U8&iC z;92Gvt@qW_?(p$xr#tf(Ne_vLYG@gDM6NA^$ux=?u@c0^+(_`koC;a+!d2;F&fqnz zD;w#oIArFE)AcQj?B0_Z*3aZGh=l9rs6!RM7}mhCR-SkXfXs0>|c{LML$|7+xYkV?Y zK*ZtLh}P;8Ia9K{Vk+(7+o{0-^dwql30;&B2SUReSERvAdXuTV-&EbT(9+kaVS1ADO18cz;}fkDp77vYpgHd zP7M7u_-a%=3vygRzy5MoKc^syOVx*&OtGCVG!HUawV9sR8fV`Mv=n?S?267Ue<}(@ z80=yM7@w>sJKNI_)SBb8W-;O9a;14RKXEZaBwVWw-x$ORQZF=FeYvyc;PMb) z7>W3DV#@|nU8Mr46LyPzP+gS(;c8eQdpyTR*CLU_#;xoAC%w?;!+}y%7{8*bza|Mr z&Ffi^-E9>iM9DjSh%UUAqR5jh6ZwUlCb7OtA&s7b*4b zzr$g%)e*G^Lk-&~joVZXOO#}0D#3>pCwL<+huNUb3WwDuCS*Gp5-1V#zJB2$vtY7n zr}U6nxVr!Gvqph(9>>mb#g1k1eCtOuOa{jNT_RqR%I!qY1hiPYWaG5m?1T4H2$hT0 z(fseOo8m;t-7o>s#zSCXVdFOnZno$lC7e$7lH*Jw|EzXkb-?L-0KcHc2c6AwbzqBg zo8qEB;|vpo_eKQO|1;)Y_kwFYmd)0W@^ju@|DD>6*K>xT3MHKIvx{W*1b+wMV&j%= z;I^zkWEK88kYD#KRQCO;SjSQAT(Froh*>+SxH&P%{$-alL*YYCL3X~G==^*bGvodz zGd|bvd=aWd%y5T4zx{#y0uE}(o8QWRKy_mO&MCNUi=LTZC}XIxqPpZgL=-@Im~5aUAfjNY;)uPeSegGLM;XuVWCttg?7#&1 zk2>DVO`OId3DNq61`s}aD*j9HhyWxM=Hy2n{ftSyln1CTgs&||x+CKUxtROH1UDC*5D|`lwZ+QZp++eMLE_6oW}-4$ z(k7QgCfnEmN;FZIM~oj{>3UXR;o4}w!z}Y8(FxainW_;GNQDDx;F|&o$_Fs&Hn*Rl z2}TXH_gHdVNy*fpgJ?qS&DcAt$kL`u9#eCcxmi^%WL4vke4=$__VneWQR-|1A%8!F zr&q)d4jYt+@2#(1j;6AiPtq{WJ+zqn5c25ZRm^VAlw58oeZa6-w|L`1Rkn006KCFU z?laDVPHQ=K3u&N0(`@ekx7! zelFspTdce-BXQ7U!p3;+HQU0*dcu%&#hz7Vnnses{hBsZdFn!1GMwmG;-d_6DU^$s zfwhzueYRrqk6*o_!6gR%znCWuWUiv6Q+QwHRx1f^9lR)($v@#UHK`9tj&OPfj{!=@ z$>sm-j-f_bf0vcA9MF3&t5}xg-2Q@g?x%)o%+8F=0VmIV+YvKW7>SzplM*eRQ6wu| z#U!Z6~JI_HF(H9jfZ7g}G|+3p1NgcIc<(gWP9k6ta?W;*V=G zvIH9)!vzK!SYxtAG$D`GHtfp#ysD_^W03zuYCnNOltX0K|3rrGJtpAZvV^YGY!=RsiuwKue99i8q&@5X|sdIJ^V!htkSy1h& z)gl!GRlP@1|LHW9=_~17e=FIY7FeFA zZeqcCGwaaY_NPOm!495$9BdxufD*rKFqbK2&x2|(6v;S&1Av+Qk zD3?1sF^^u4>dCa6(NpyEmm@bN;zHt&l-AbtTgWj6z8D zBY~%L7u8(2(~N=b0_t=}lm)ll*u3vO-(o&9PtxZvCL_ywc{W)ner!;}t2a*hW8*?} z`J;uj@%bEb4ns0}Dpmxx*J4&`U!}IGvzDIs6H>{a^k>u60nz#wt8JtXk%Qw)K}NShv*3$BXJ}smU5vZxsqz8LC1@Z-ZoZ^6 zcpD00OOATEa6dlLQ7 zV$M^k=wQ3_PmB3{sb&pRe{CgTgr5`}oE$CTE)+G&sa4xqR>_R&Ev)9GXhzusMmTaN zpOc_gImJ%z(DQ8{`X7Ifl69k+mBlqo?S?4BCH+TUMesUK?Z%|N7<2M*(E)+@#;iSi zOU&EZ@u3z5YbARtC9joQAGh)Xn3~0Fg;dXU5U8ny1!Q5jx}3R%M%P~BkYuKhKAlST z@ewQNK#eCq!#MyV35fik(fl}}WFCc1TSAbdNB`33@>&t{ZA>v1?ihN@ za2nsR?sxdb{Aih_%MA&g$(0p{Sz%cRx-}B8;;LE7)n;szb1(JdX`irASCiasJQJa9 zKEZCb9Ij69%Yel!2R!dndL3vHDl@mQ1fm%D6A3RS{q}t+QUdwwGd#;r%IGS;lNEtT zcOcq@W-^{+9in z%*YsD9EehxE<rydtg~-GwR$L_$M!DZ2cWPc#mBO@gG8N0d}uEKcdO z9G0S1#drwRUQH2!ayp*T>f?R^TS z^5>$+2hA|5)nTp*+7c#BD2k_Ad*W_nh` zLFl3+g{QyL*gL|g!u8#S+Y)}kTN1hIIrHs!F;syIRj_h)0LfkinuFjk{60qP$q_qg zoMwMq4;54ln5g26b_{;ae#ZAesn@&qHDI&&bJireQ8>2R1e97B7u?}Yduz?ltyxWKiDTq5Q2XF}YsUB-8N zp4w_L;)<3ICdLe_J5JjE-CE~y@ z=k3JF{rOkDokv`4veckg_3}rha2rnSSq!q9QLL=aJf))|+G(}~*`l*CI%py1H!lv( zu2+`|k>zj1Bm^ZT6(yxKCDY1ZRC{$bU4O>F9_Y}+nKkiGju22#&6mv8?hKWNsN z&Vd91k_8lLCtLnrqO}Po-Rd2w36x-G(O_=TFj_vrYm*lhkK5^}6^Uu&r(MS12aX5r zww4wsfGAqGg1~mV$ndBBU=&G=>?FDvik77jR9tIpd1N}805%-#HlyH)#ze*bj^^|N zu#hU6mcI}RG@wTxOKXcasgFNcFWzIRxWhTwQ#GWY0=$?N7BWrTE}L9}#87$6e00q8 z9j7{h2m{C?@V(@sQwx!~9on{M?*cVE8H*E|;WZoK@$=8XaE(BXkAV2Ap!1=qCKcaJ zbhNsT-=i`gA7c=;gB!T~MMhDHFch7qQ5;6=rXGvNGYG305K$~8{i#nIg$A6CKT@_P z!gazF;zQYqC_ThcD zhFCBcMu{6k7hJI(S77NArBjN>6+RX6@ZV}Cx|Ua@->LCxxN5Ip&v`_v&%(GF>bRD% zNu|JT#7)CrQ4Q6wWHO3*6o&*HD&N$+%JLp`ldl)COgNiPM8yX~`Cx83f|(3r>jFV0 za%hs)VZ2{kxnzTgfmp&)8=w5J9Brk%L)9H8+r~)Zej}fFM2N_!+ERH~ir5UTPIllG zSvy52((-(M^^iWS!hmI1RZ_ju0C`qt6cdTY$A>@ z!y+?VWw=e^g1_ZZ0Ikmctds$BJjXn}GEZR}V^L`Y#mV@{d&9y)&Bc{D>EjNWw}DuW zdZX4S!<;t-+OBW(yLC(^mg*yGjg)G6&nd%97~Hoty&kV5f2eRRQOZMmg}<$1Ao-ba zhf+--@4~i}-(fUIYVobcV%Z19hC!KJDXGSYnlw`VmX>mxkcy`Dp_Ul^NL&3x&(-D> z{Vq$Ij(G+$u~+Rd{XVVX#wVY9Vj_AU84Nrc?oa9eB&Cm~U@)R3U1zy$pN-kuy*dIj z(0D#OTC$efvIfKgbG@WsEQZ8iL96P^DVEDUA(+dBua>wCms5288LFGYz+XOH;73rgR%l`Hau}(g!)EMm{py_rb!2Vy4%xEu-qM^Q`Ud4dVG2ec4+( z6dK%dFj(GxVzy#*3Nwgwib!{A*^x4GcnsEhIengEoER^(BmU~__u8ryv1fPy!76;PyI4Ve|_qj9A8f^W$QWfzQNcqdZas;LX(m;;D zlt|e0v9jqCBh#mjrq6s$iDONl=bFB#HGSD*N-}9mx?%c)?CU={0yA8Ea1mF)?~;w9 zmW^H7ny>Op$&4U|STn|4Gp5=HAj}K^;SDnY2(tk|7}p#C!knz;T*BsXMqg35kXV{E z&x^xk>>-nJ+M2ZZn&1y+Auw|Q2n(N@i`<)w;#!E2S%|Y*NC;axAvDQ%`Q5 zo#@kjW07w)_vp4zoU~Bduuwj=P`S5I#kEu;vs7ob)DYfNtY!IHZbE0ff;wrkv1b_N zDyvs(so!I1FllMHVQF+~X?$;Kf(tPvgP5^G%!MIFrMq)lhJ3N+W$T;Y&In|_)vO({ zSoA>bCm{|S5XV!JED)}d6Sj;|Fo*2*K-%CpwWtH;WF z(#mJU%J?cp{CvuN>&g^H%9RA&64zZsmOP_OeSoC#Riaq&aXq2 zb=bUj*ur)EO6IuD>bN89xU1~AXXNnRL_nf8Ao9=fYIy@~YQ`dCG-l(}nei3me>p9q;}B zvc>$p;M9Ae&G*7T-iyHBi{iP8{V!Y0r(BgbU6p^hs=!@U@jj@Le^6)p@ZVa@{XXc# zeb5D3$)7m^ZP+>>Fu~G)X)(uha|#bZole!;UqvPUSBv?dlGQ^Cwsb{RG;5%kJj_ii z{*Mh_isjTpi@Ax4zoQ5Z2>+qQoIv!C%iH{SZ{4B2ZZ7ZK(IP{jy_Z%~B%W=ghQscD z&)hUuFITSJ1M%Df$gcubphhCl1~q7y)fK$n85$CH6-eN2N*(Gq^6wV&*xs;mqA=%FiSHzqgp@Y+l!!gPg9y63ec2mNq@k!tysg9$L(eJxkyHtHu1L z6t6QAibTNfnF$875TW6wV+x#sEAYG;$h{ib9$L(st*+}){8{)|tA;%@MS>urV3(zJ z9Ms$9|7o}=#MUA$^kKYH2Cebh7Fu8ABCaxX|iGak^COVwqYPP%p!kHHQ9u2hZvZN*$TS=gLJ*9aqh|R2No6}#6iaOif3 zK@i{tU_OMMo&8~dPBix)Sy@@y+SM5O7u*pp=vpU;pBjgfGvRifImSHM@PrFxVV3ILJ)ie z!AB5$1i?oTd<4Nq5PSr|M-Y4j!AB5$1i?oTd<4Nq5PSr|M-Y4j!AB5$1i?oTd<4Nq z5PSr|M-Y4j!AB5$1i?oTd<4Nq5PSr|M-Y4j!AB5$1i?oTd<4Nq5PSr|M-Y5hxja|- zI#-2WSH=G)6Z}iB@PPjy_*b#L;EljuuQO;Oo5%l@;9vV4OxQJeAUR~BPJ0xPdls^J z7KwQNi{NMPU&~yB{n9<0oL;;5b1CD8aG7}4YZ>kqSA7*JUKyRpX-PZt)8UT_uYz4Kuo5q zS=p4qKXE~*tN_7(qGvt(9Cp@18Ro6^fij#j61pW@lp(t!iyr$x@H?)kqB+L+sAG6m zpwzMa{}B9}E9!VLEPk2E`AJYzTi?0w*CMA&|}hRtHQ6@*ey9`;dpc1dv4l z*87l2@b>mzUS8hZ+ysWn%gY0c2Ic~%1Y{L}NCFTPVPaweQWh9+&=(96+4}tcAPgcV zgOU1z&tdq~^4YQtg@aMVT()Z?4Mm^1tOO%T+$oRL)oFG}*3?wNx$EnS72URcNhV zZnFMTX*k|mv)bmgGnS*!R=eH_JwI9>Z>!tv^+&-bQ*5vQ`Z=8FmC;0d!_II#wL-4q z$Hu+!bS}G%iH}YDQ~456WJ&^7O<&42s*GSAE#DXG&Bt?*M+Ubdf@ya(Bn??+7xFAoB<^k0A31GLInh2r`c#^9VAJAoB<^ zk0A31GLInh2r`c#^9VAJAoB<^k0A31GLInh2r`c#^9VAJAoB<^k0A31GLInh2r`c# z^9VAJAoB<^k0A31GLInh2r~bFiOl0U|I=C@=C|~LV5E=h3`~F@U`Xy}#^z=&;%1@Z zW@-Gd)_OPVI5(R-H`_WlJD|0G%FSW(kAr(9D!!Zfj}InbcSkn&_aYCi^&gDg-QKyo z`?;5?qgmp)x%jzz^}2gcx%+Io`~JAJs>|^>a}OYg2C_keM4-X1|EwVS2fu@c`9a~~ zanOjj&;~jGh+b&))I)2%LtT!}7Bn8uBZ2%ns*co<-XmGXBgNRmy^b{XU#<0U_l69Q ztX_|7V~?~ckK7*~d2v@c@PEks;$?oAo2SZ+3EMxd^_#zo-no_J-FW(WR`uRw#N9ZR zdDfP>R|8~z@j5f_vX*6P1_I8jvrpV z&!C;Xx83_*MrAj>0GV&Q?2Geie|I7DndIPZz6J6q$s5_0eHeNPyk z&y2gz_)@NINept^q z?GMf<2f_*I)vK+4QVl(j`QwA1)Fbg!GKtOMXEgGGwEvaNAF|Ub2XEQ`XKQ`tgpI2S zbD?}1r^C@j#dMK6k!X$W1DV$?Aw#1Of3;L^Hk|lmbe>_p(RQ)Xq3XB&q+;dTY>nL| zt5Q237wuK#CEHeC;Hx7g%-0lR)j2``(OREKuTg7%&G~I2^Y#1F<7=*i=|Y*Lf0OyQ zO^zowJjY9oR$qLdp7}p6!h1 z;pKfH+_{Wm8)eIZ|Gdp^{v3gHAJVoNfI(Nj6^O%ouoZ+a&G0q&v9|Ts5MoIA*H99- zgMtuLRt^e(v{Uz-2+9|#c+O~nmtUjUhZuIExfiT=V))c$DWU{_jg0z#DG1;6`Q1!x zgd|H>v74yKd$^mVD$Tf;tf_6Ym!boy*h@8VJKRe%F~jutA2Y=$_Pw7mr-6#J9)8Pm z8e-hfc3rU9&w+lc*w6L;bGV=9kIrsZ`oObdY<2$TY>*TZh&*$~#1*HQ0xUNo{^D1Bcs5ln z=q%7HypNpfYFk7R|1+^sWLU&RG2QFYQDx8Bq}CT`kKXfz`E{8@`5c?$JUScI?)a5b zA6>#6g25PoB>Ds%Zb-bZRw3u;995lN!X73!VfNxY61a`p(|aUTp(_*;WEymQJ`kS5 z)9N@O!BXC~QJCY?bFzDiP_l2T^5XHDOY#rq7>K;8HlTq3fxxl_*Nf5uGuF5#=06l^o3E++37tA6rX>FlZ_d z{<#QSr=oggZZh9SFcOy(ouc{N zrULnKty6QQ1)i5I9{CG!nZ){0wrs~@?al8Thr)fC89ueRg(m%Niag!4{8@$NpJ-`J zeb~Q7)uq*EEz+`Iz4~rD(@UpTl>dZGrWc*2i*TXHl(a^xri0ph$hLIB9E6g;66*%H zC?w_3A%j>(u}ax!7kd1*C-~~xGyS3s67p9Kw=Pq!-o;fHG$M&t(wXOn5#6R1)BosQ z)|BUgTMb9GU7*fO#T@jv?IbZ@@DD$4{OL#&K9q_bS8O(jZI~6N<2x#C^vHKhR&2$Y zt}XqgyXrP4L83apJyQPW?RP4SI(?;Cyd0WXVyIdt34=c$@5EPJudB}#xDDYlira)) zR|5>n4Uumrwx4!h4YIQ~XviGpD=sbdU5Hk$by)hlP49T{;<|iLviS0}^q`usrRsGM z&Hx3MheoTRxWhaBEhhczF`dcA)V7H|RuoIF=#mve(Ynd*UcOOUnUNu-`vc^$2J$!E7>q> zTn}ma&P6_jez9z*oYY9I^(*qG=rU@V+L*A_4fCcryuVUQ_k3IeQTnd8db7|z*;4Bc z`)+i5v)G5*S|6rlFaP%{v(-#ATZ4vYdrn?GwbD|Ed+_M)>?7X>^KX}D1BOK55|4M& z!Dypmr!HByYX{109gDD2x6a%3v)Hz-eWf3stG63hldroNM}B+=@*>;K1^10|IQn9H zuY;Zq3J&yFGLZ9^@ukqedhV+4iPPn}`>k#0_2kc3ue%)zypJO?%D)n`?sggADj&z* zPX0>G^4{2)Z0``t{ppM%INU1q{fdHQDxv3Qf5#IEeBl3cmSBBPR;6P$ZStb@&EG@S zAAF<-(`^;{e~)DHJP#SlKd4>Q?0i@f=+){+`u_Xp@NejE*)kz@k5*4u%nP*kL)G*0 z)xW3Esm_hdN!P&3&eOfvkDFiC-#OiOZ|&xL^=kC{tJZnc`hTO#uj|O8c)8>h3ikeL zUhCXPPPUe{-+3UTaxzEF{S5toQ`>Uzm`|BF}VeE{%+DnOHdP~?as98qrTowGB z-cbXLcfn3^FU2Zr3A*sd(4%+U)dsJ$`H?IIkjZ);ZTkhaI_&LBI6$m5we^3S_)mpF z^JTyl`E)0JNC7hLyF*B_Qg{`juBeMa0G5J*8aByvBZk2qQ(&5IlyNof^{78)sB66vUeS3?~39t={TaBNBsLrnu2E(z;0 zIAIOzxYh@JB97gbb;*-)TnzI6ACly8r`IE#*Ez$!Y!3*Yi>f<|bkgK(0u zZWyq_P2x=XVo`PD3lD;(+#U1j-%||7ZVy|GU&T5S$0?^ng`Y+s$wZ-o@vcpgL1`c) zdMy4wQRupfbQ#VZ7_N1xjIrAc0`0Mn7GnvPLz!d~Y8kL9;Pt57d=bx|JF%TnpEyMz zxd$o4W6^meqsm1W_Bu#QpoJqmxc;J%xi81ugYb@5$WL8}TX~vW! zxs+#?DNx;ni#||ddfe}6_JIV@uA+u8eSA z%$WFJ@7!gbfFIe)=3(L<5ov_Ecgq1s&oao|BOWbhA3x7JmCGvmoQ8For6r4tV?zGo zJ^3YZ=8Y_F20qH)jDoAM0F0}gJ!#hu`2p-7bL+3O)1K$N#zaMTauN%VH!OCwub_BolV%QKX6G zy%&x#tee{iK^|XruDdP@gBCVrWVrS*x%y))j$-1(Gyf@3q1NKQhdO=Xjn~pED}L+6 z7?G_~VPnXYA*^S8f*FUA2|Y6b72%^~$9vW$x3HSyQOI8CIN1G75-Nx{6~cGw;=0iq+9TzUc^|(eaN%sCagNMviiw&pesg1 z$4Fsfxzns{P-|Gtfv4XJR&lFmQY1L!4-#I+aFx(VNHz#>@iOPIqpqy2*7Qa3c&5j0 z2Q&R+AI$J1y=g|W(fFFtI^5MdRJ}s@O09D`6ysw8Zwb{NAxibE1RZ-pt5pr&o5te( zI!F3aai&JHOW%xH1~zs-nwL$hR*gSVbIjqMNu*_sV8$lF?_S*4D!f^ZH#hEFi%rsY zo+7u(Vo~|rWlfS^&8nU5a#;=xk09ITS;ewY82)pL5=gI?cL zGuLyb-~07dZ=PiDpU&R7sNUS--n*B5rWo>&a%!q&R6QO0E96IOM zPd3ck+N&JLH%Bdh|RL*hDF=1dPv^i(-=%hHQw@yI?=+Od0_s@pbSKt^^RA_e&F^e z^=RYJ6(Loy)DT_a;JUhXj4e6N?l2Kt%NEnVd(<R0B=8}qMnhV+#s`r z|BqPZ^H2uWyH9xMyjHUuH6bH%PlTmOs46?qY>{bFo(TvN4k$7iHdpH^$Pa|$fGR+E zLUn+RRPZ*|@TO>F#`;xMJcUN_$b7uB zaG)z{BD8oS3Y&8qA6tK#B~0$s8JL4av{)YmG8--a#-*L?Euud?V{K#2X8#EXg<_9n z>bPrY>0?&-8O*j(j~N+Nzb{S_o;_t&F&0&AWz9X15iiIL`rp|5i?FzYwrv+~+#5@P z;1HzI1PH+;xD(tOcXxN~#@*fB-Q6{~hY%zX+zHZ~=Y9Wg@*l_E!#&y0psUxQ>aJR| zUaQahIuZHQ$KY+}Zjd;!PsTRT$6F&cNQK8k%|u9XmVEanuKUmkyJv9S)s-d2>%WKJ z?o8?AiSHUy7mMpv(M?`fv5kGxe1by+8>`4LD;0iTfF~QmN*TN^Ug#5F=Knfg@tp<- z-=cDJkVCEuRaXjKw@r?;wxSOnQ5k@B{C#hMg+2+5IgZ^_egsh&`|=~YNw%9n!9)NZ zWvJQEA}6(26g536n1!R983%*l%bM50Y&-gQZ@T$1GP!6*U11Sjua?n7i0ujgT51dTHB z(_j(wKjMMU*fVnDwNvmPCI>zNuow8zwJDekmZFddSwLJchTRgd*ZZn>ShX=a-rAR7HuYW@pL?xS?T6t z3y40vrvlhMnNICS+`E{5Y6QP_A!S?%CY?;XI4F<*o{lENsHpq8_i_5?6z3kL((dPJ z*&d{X2<5vUo6LRjp*BD3FW_Yje(D&g2@<|Nmdas5gtKhv1* z2hG^p{$M~D3eApWxLFte%px>D+)4a1r<+qJZv4qn)&;gTeg9GG+CeDccwOR5*~MV5 zE}DXLXR9a}l}!!uz=8eg`#}XI&%jK6pP19*==qxZ1fPJ~ha9VO#+TIV}T#oTua z0c@(JkE2nW_>tY+B)c)TQzQLwXrH&-{WM4vuz@c>w!yijtU!mYRIss5^fWyD02&J! zM)cva%XgY5$KNgvI>xVwne%^`ziafeumT0pfX%HIe3rgwL}H^DWx_t1Ed*UDC55s)tY@O;Yd8^g)NlCn>GoHel{SJ_jX! zFCxSCfQ!of{Wt8NCpVYg_fu!{h(^@Ji2oVzqvGq-*)zGE)-C@8AAJgS1pIp`qk@%ZQ{sn&d7xwo8h>$Ng zB{$sjZ`{x}JVCW!ZWTG~9!W$VH)aB~cTN)_ zP$Ud5;HUxY3kYc ztM+bv@dqq4J( zv>6Mdz%S9<^%fXjAnp3>=qNlp&d3Spn0&zG7yQcmg9LlQ=XICs>4uw0lbY9=rt2BT zN-#W>7iT?OZqI8G$_Cg8iV%UttEo z9j>n=#prV&tr?Px0frjD;aCy*PaZ=GqMr4iTtZbi&36E~KU3=T{z+Fg*?=@jRbF%p zdL{jM1bAvkoS<6@AgK5-*X=XEbYZ%t6m79UtO@!Ej!b>u!Q#%>)eP(+p9U+$%y2uLR*yrJv)}Tm*baCWfj5vkJuR&9Z_b_PUWAY zW$Oko@#QcEcn<+wV;K!N3>dCnnUdu=C_Ls75m-lE--c(17izq3W;6?s0K-|bNo}Dy|@`_oxRR7j~%%WkW6zDODq&>J&(L+KRC=W z`<&Ts8si_i*EiSHJj|<$etK{%rEWcOEJm@nzuqw3B*eS!ueDR*p|~f|5EwI540`yH zvrpRA=E%0E2-Zo3DPVf=9&N>fjsIm|8Q~>{_l0;GdCQljV z%e0B)KM^2T{`x-VHgmm%RDQ^98EqOQTcn6oZ8nr$9pgr|hg(2L)3c3Rr!v4qf=yr0 zvo8?p5JzRa8+Tn)Wm=&GDSfZR< zX;KU)!ZRUZ)sWm+WXgi}D5D9loYJyq`pI{k1$>YY-uZ0G7VRn5gQ${*PeaF^{U~SA zffp_qxx=0cTb;5nQ^{;rE#a(%OxuR3WM!X}aD7CXaV$~EPR=U1oeCFlsZq(f&eG%g ziPq#Xuaf(;nIdqmRqb=7l81m4Cj?9HZcA%$DxO z6NrAw;Hh0KWWBL~psoLSA779}uB&t;rIMlCktSS3jkM7QT9lZ>sbeGtE3U~r{HQQd zExgOO5dAw`9GZ5jcq*%hYwTQu-yqMdbVQ7vFVgucaCCdlFwROoXW3~LomRP;D&*kS#W(RM zVdQ-$tj%)HhS_98@pW;KU)M24wL1I!=Bj$JTcK_~1e^24Vs$XXHNP-fMq+amEoptC ze%jIY6`inq!S;f_5}~U7T>{$XszYfd6_!S42JKa7T(hybEu~tgz%u$Cz1X-IyhI?X zSjc{LC9V{sw#VAfnmBN?fX2}}Zg4_Vh{{B?-lQ3VdexBdyI=25Ez&nOpZQmUs=61` zQUDAEO@#o=xgc(ticmzH10;uEeIP+ZYJ3M_46En~Mc`76R}?itp$8nGDG!}xu~n-; zGhL-|0H72X8}p<4lOLo+Kepgj`C3Ja5iplbTsnYQ2oM$k82qjw0+5r-4hIE(#s)xP z2)G#1QUai%mb5NP0=Bv8@TXQpXuZVHS-jNC4#_e>C%3}qm^0%m#&kqVc+`u4_vJ9lbX)My3)Xy|#Nw0)wSrD^OjXe#`dtDKqbMeRNT}Mh>fNBvn95?|gIuz&-eNGH0MCDPms@#n+0e(rx zLCRqeA!I>?0KE@FxPb-sylHtJTCbNyB}oo&BLVysno@&88MbWp-g)l{soddEH1KvY z)dP&TwIiK4uilsS)*JTmzp`Ni<5+%!Xi)5}jN$QzcFknV5Dy~*^n z-6fv2@nc!bvzshPj8Zz(I&7}9&I&6TipbCm0tx2y0BTc%fT@^o0s*!`J>k@cbW*~( zfVwI-AEN7mG?Z|useoaVAfWbKp)W;`RCj7~5*drLWC?k4hfY>hKqibLHDPit@+77#%go{e-uC0c+XvBb z^q~kV5>1|FvvQKS^vddbzKlT3<$89RMGRSfkem-_*r{WWp@U(*YGIA6qO4-ul1Y+( z*u-dnj&$G!BqAeL!|7G6!k14V!&5oeit#&RDpZ8&b-UHVdD6%gtI=8}TCHxMuDBFR}y+yX2q={3MwRXvZ2edrOG;E4`9%jCWPHgaPL^#Y**J>VXx zQwWJ7{&)f_m-|<&i$uYwwKHDTkQ(MP4^GS~da2@1-Fi5YDAFB+@kKRtB zx-!hp9_wzzWu>(l_x2hO3z9_0gP?p1N%)00BO99O$bUO7Jx)ou00LCvLkSIlDc=yG zeH?*B?iV=A2I84k*SW>&TE>DR9Fi~rZCG*A zNnz>u-zp(^p6`F-m&>YjdrkG+cH}aeOt?GA1SM2Q=b?mO2;^$Pd*J|)r2yF+q%~j0 z8{1R2s7PZMf-0SPilNIsOU+8C;h5iIq`%Q5p0D_`qiK3x_ zzl)-miXtf5BP;MG&p>HH;~~6r?SBJsaq7R!9&s?5jE7dqe(#jkoq`r0CmF>H-(6Py z*{hOELowdc?bPS5_0L-0%4;2=W zzuXCqB+^M`5PvvqO;0$=_74zk$BS! zL<{Rq2HrQ9&@Po?(%|Bdsvr(Y$x_qPQ3&kp!#As^x6)%`1p6 zjw+3cCoj1wlhlN(@?HtSK8z%~0Fj)ANqAL1ge-xnmqWUi0r~2h4eBT6Gy@lwNx8$iu8Roqghtc69~X?%#o&xwQwU<%P|c2u4-3kR2-(=775K|+S{dSNgrCc64bmw|)nAmO z-(hK&G)ItRPDWyB{S450yW|1(gr+VivdKXywmt^`^Ec(|1`Zx0Wx3v0r(!wV!)mdr^ev;rUwAhMz%OPs92Yp87~VhNLrwWZQ=1 zXNDB7hWDIe8Or$0FRPEm`f`sfPgptwYKHWFMxYoYh8!ct8Y3oF!{^YS?V#e_^q(II z28xKqBVL9-u>NKeG=_aqFy_=V{;Kes-S79q`^_@7`Cj>5%X)q88DoKMW5F|Hp;u#J zpvgCK6A@MuQ9%`XYOWa?(S#qp@;8;yk>c}!pmxY9e!XQWA1lm?*D2YaJJz&Vs7YGq(oN{s9+JQ zXAx#+0r9hd##q3@b1WiiEFya>qGl|j1rLK?3j@zA;((TFS?2MqmWhIvNeV~y)RxJ1 zmZ>A95I@WG9LtOv%gi3jtQpJfZOfc9%iNr-XrNU-xm5wHRiU6&5$kcTo>hsRRjHp< zS&UVAj#WjCRb`J=)r?j3wpGoURqd-)9niX-+`56)x>3-&Nx`~V&$`9Vy4BCREylV% z$GW4&y0gc+YsR{J+q&n>y7$$(4`|a*ZZp7YGbm^?q+m0wXES1FGwNqE7GpD>V>3}> zGudM^HDfcqZ8LLbGy7^Y2ekb`ZadFvyC7)0s9?LKXS-}?yW(fN8e_YbW4m5syU}C2 zIb*xEZ428zv;FyMy92cQMQ*ptYWG{vZco8(U(fEq&hF69?oW)}QI6eljosfKyOSBa z(`~!6GrRLwy9=QGCAs|-tNs7WEcrhixDUCGxB-q?C6~mlmn5l}e;u=s14vPv zGG863g`8*7{he~@!o1U*80o|ODUpqcoItIsQywkml?WdQL(Prh99ErR ztoKe%-;w+^oz;Y|z2}@b&WBm)mHfGbIW(Pd0VrxX*P0h7+_BDZS+~w+kN% z3Z5ELBMw|5G?Wi^t>RuUdyk?%ild?!?rjjxSL@onfI!fOBHHTW0JzptL=%v@7D2gF z{OigKx)ZIv)>jPIytuV;cYCG|GuOFpXuBb`ch-7C%k5ctDIwltcf_-fcJvS)i#w;$ zT0O#09*dhsZg;hSdymmtfl>sC6(=KZcdt(_+CSaH@d5=XZoDax9oitQ^eDzgb|N3-kKh-eEIh%CVt*;NwB6KAkzEm2D+$$u9BUwcW6Wt$LAM5>)p>maINTktM{nKk)MRAA{S>PE} z4cpt{;rA2)_0^E2sqykypQ_&v1Tf)iZ3_GYtK z6rHYhS^+l#tr4@)lxP5n7u!-aUX#ZE`ru8G*qwZ{r`cO;j=^;(M!IN z@g7DfeN<`C6;AQ)bMsS56|~e)giVwEBV@DC|NWZCAUfjsqO<_y@kVp2An5(%j zNf!Xmk=?}DC-4ln!~=G6a;e)CK)(n|9Ct3yQ57dGMjxFLz^@FzI>{ay<|LpjAU}P8 z7!gitDm)L?!^T1eUmd@&&4^-@&kYJ0UB;@~d_%mK0`MQ;BK%cqaf?!05W?(R9d2l8 zu8Xd=F_+y~hppeWv`yO@BTedv41dKh5JnVu$Cu|%L)lVwyKFT$93GgyLlNiot$nCJ z5I%_sS@=7+&0uO52u^4c!pQ&n3pMTJ|KQ zHGN}pTCOWKbGK*i`rf2B#1DO_Bd1=3Srx-paxIS5r=zd&xq#m?^))01Re4YPn8u9q z2;}xbl5$2{><>ddR-YXGO@1!%st*DEsy!HN^bt_2439y58+ma_Nvq|(DMvE%Qw_$Ht%8f~IH?XTAFtv# z3yqAvoa|EzL)Ry%lLu&Gxa2hBsO4XB1SkH_x@3oQ6G}}L?=fiAAxBGfG0j!x|KX0; zW!M111>{AbxNh5TFtqrLEIED3+KlORsg{Psmmg!SPiu2AEls8Jr&c;o>#H*@Ev?h1 zcHU1LJHXbqLs>(Y6trwka{Jopm%px@I3uI#&Orp76sCuN-niq|p8IKgEa_#j2rPRK zEmb>%Ms;z|Fl|RL({GPdA|4=d>kz%dWrWW2F41h;NV;#HWv0&9F`a&s5aXJgl$#_K zjJ0lXxGFDzzKra&3^Jufd!4cIe84^1KI1-fo%8g3D2&}P2T`~wAbI)oKin~^bJ{3r zJ(ROOZXWA*SnYG)B!kCjt{%46T-K2RcIWD-!d*k=%ZaFa$8>v)TRMzST!i&*3BT*w z-{a-%$g96hlB}}(>E%2CyK4tU@nL}E^#ZEcwM#hrFv9nG85i5NM=$iyGZ=SJb=)w0 zs9=K3rn9Dd@Ac5ZJVRsj%R8z}fqBuI2i4tONVEI@@#iAMSXzhm0bd3w9mvZ?I1Y zd!FunJu5wbx$A_zT*UT1AI7?0;QK%B(!)HbXJP*IPq*C=uOElrHyQ!R9s#In0axb! zw_*OM1^$1A{k88sXHWtL?>#>g2F#E8p}%p*4}p}cfpmxdz&0No3q3p{KN?A=Ixe4E zGyB^+Z&IS5FPgz$J%U@fg0MV%uswqIlY?IAwP2%O?2=9&xV@C_?TMkma;qT<4lq>xWzL6wBAAKC)p(n8o!LjS`ZqXsE^_-mVo?uCZZl-h`av^-j!zuYUy zYKFOaKs?HPKY~KASA(t6bgoN+CYOPI=J2;e&dyTM5RkKeGJ_}V0UAdXUgsX>YZ2rR z)d?gD8JB?erP}DWI)A=bS{!A};SNslh$sX3_pf+yNQKjKo2Po{q(1~@mU$IFxb~DX zkkk5fJcO4&MD|%gYNSHzh$5RgBW=^rvc|lt8W6J{!g(N+Uk_b(TA}?O(W|SzB_OW~ zt|&Z! zFITDe&b^W$s_*n_%tcxpIz#M=1fIo>1q=uy@eq`{~N%JN}jZbMyU~Z3X zT8*W*j4Lc-;)90FLF0KJlg^ZJq;ORtj$S5B@t@@9&|2Uj|j zWQz~U*P6CMp2@Xk$@Rm@l;Q5^bbd$RHvhlkXp^a#{P5cW~ZkVP6K-2b^OZ4tyecOQO#|JCL&(n>inxjn<( zBYiV1J)}K7OWGdF6SLRGELEPQTa@9gm00zd`Mu4LW7Sm+Et3zF*~sG;q#0j+A6s?h z!tv;&MChxF;^&H*wfZ6GZ)?gTa>flHNozda2^Q`}w-aTT8j23@Jap-@hytle&%WUC zA6Uu0=1v=Zj2`F7Nk?=3oJKi5;5cjHbW4pkvD$il%tij{TSXO9ROGEJ!_eCZkbOv5ki!a|IgBENGsY28u^7jkJ_u?O9q4? zBNzQR;qoE-z%xdW*a!Px1}ATksYhXBdqL3(sA?DVtQETeiu*Q^D8^g--J%GsBR`xc zd0vw8b9p>QMv^LViM&N|Sa^}gA=C{mE_OT@l|7Y~vBaSxAR|0iGNVxU$jguiia=EA z!&~AU5z8G>-16vSzg`+<6<~s%YUWiI1^X8nUXdJW6}YlimXr|?%a|0;7*M5Io)uB% zUy)#HRl2=aUZh=|OPr+P<(Dg6rl?&}L+qd0k&yncqRA?_o-y8O&Ay|fvTMDv=U*k( zl}#YDBA>DBJzCXRM%6?|)sz+0KtwXCc2&hh{t)Yj0*Vs^fT?+JFnVa^xA-knr&X_!@pVpN!{0i+PsRg z0>(Pj%sO;$Dn!{TXFP=45GKM$W^`sm1u=ToM4As{%)#N%2bh0&+ zB-Pj(wWD4QtWOO~84VvQvPdu*zrws5yBQl9z3R9(8U-`$c{i#*K2;0pG)eG%{5DxD z`nOhcqe-EYN;sQ&TjaItK*2lC;KfX5qPMbmE2BXeqF`fE-bvvIj z&_ub9Qwh}+N(-*C1F=`uUjo1M4eRtupCL(OJot89lcoTSm>`{oD5F$;qC`4nD$9q6 zOs3BGNyoTF$9_hww5N!<3QEKkC*Z2}7wITc?~akQ4!n&v(j!nlh90~|Nb$J8=aGvt z)E|kk8(7elGa9c4>29rTTZ1umv)sGHbW*ltwuWI;b3}Gw=r|zG17ild+u#{yuhqn_ z_-jcVLx>oz9;~qnx;wocAR9I%XbiBFutRUZ#q8-p3{wz zSSN}JP)Mefp`AH&sFHHXG9kWzfkm<(t)U$)D>c8g6T1z{_)Ph(s(y-k-~gkGgSno- zC!7depEVXQ57C_W=*8h5c)A3Il%(=&`(S7Ufzb#5XmtSRL39COlqaA>zEB+YP9@B2 zgsS}H&Ox}1LH~zA{3q;-N;(1UY@`*}UAzwX(yn(By$?$R%2&uu#h1p`B7wgGZCqGL>y|It|uSee{x0*?_@^G|B?^zU$@KIFX?! z_AwE;p@T;dD=0cmYamZ9?qLt_?W?#{oN`%F0a0&e!t`8J@2}zsX}KSrq+`)Ksp-_w5@cGVVC*x# zS$WJKh>su$Ki3X*Z6%4QXkdOGj%Sh zsxsEVDo{G;ig<(maB*&osZOMF)tcPC%R=fN_) zXz&}xu<(`7gc*A(t6Ebdj$2W`ZU^X}R&j{d(D>H6-TK(f-8r)dZLNl3D>DiVi|AOh zhtUIS%Z~1&i%46J>st#Nq&u5(!vX?c6vNt)x{DRJKdBlqarN!BX80 z;2rx9^B_4x>#U4-w$xm5K6}p~9GlTe4MmD$f0?O`rRfQ7n{~Q8(2%?Pp9X3fsaZF| z-dp6E^QghtsJagdek8y;1*{Y{G+#Q%p6^t@dXy)fR&-N$M>>2znXQ$rd;|`Q78j=L zgH7khm)}LqD_k$xwNu@>ayuGiy&rwoCnG0xed~L(+YEhw!J?+5p50WpDH#NM?P7Lr zV6yDj$xCTL18ix_%({v9;NPrrtQ`k&iB5n1a2=-R#Ps;g$B;0f3@}scb@g=DDwAx! z&)ifK?3X$l%M{G3tQr|&*ea3|1Rnj-frOASOpt7WR&^$J<^Rre#ZlocWoar#G(Zug zGvMjH-YY~zv((AP_{fvjWe~a)Z$sV@43oBw`pNrLnc8D?{VCXhSU9!ia+%*A*x>GV zGf73-{@Za{9w@0fECX(WGe-_mPuV}DND@u$PL3VUjKK*ChD=e8&WxehocByF+Y`1Y zk5R8?Qg8YBy~CDX&>Jb$tFy$Y_nWCFCf-Tm>rb-1l78(N|JsQ~-Tzu?&)3yS0?Vyi zn(fedUKf*M7Hd_^x)7j49U&|@v&h@D-ce3-| z^0u#YK#O7te)beW|KmO6@5bcy%XaYJtxMq3C9`aE$j04!l3NX~TRWk9P~;u7^3Hhj z&ZYOBH1?bv)mAIBvrC5b?9dq1VZ&_aQE~Hng|LhvYHEzB>BcA=dvf ztJXf9!anooV?pf4Tz{K3dYxSRUD4r5G4_kVlTF>t- zu^+5IEq4h$b1DC;bo)1y`;2Y$ToLv>0ekige=6@ex52O-2ie+c+AB-if?&OU`+WWN z;hQ0o&k+aD+&b;d=edteACIul#f94TaxD(98~HFNs%r+m&|Ut({_EMkoP>cRiwLCA zoZI;pg7%)(WOeSBXiz$h4D&Qu={A0%n7oaq+u*r#Nz5}fJxv2ZL|YdjQ5M=&tFE_&k> z3fG?=r{`&$SBiMaY5>1le!VcCL*8dEj$FC1j8(;!y&+k@{Y#rdE1>`@S9UTS3awop z*_zumzz^B@QMjT28kn+4G%rBg;Mx2UJy}qqr^~6oJli}-`%m%fb^m}ZeoFpJ$#SG1ZsuLLGm@o+}t>Xr-bCr7y-bJVuH zWD714qbFl7DovEp%+hp(`&kYQn~NMLlpiP>Eo2b_CK|}knF||dU_#M}3=#-w)?Y?w zBR0a@e>I4m$jh;OQQ^H?ym6r^sW@g+ku$~o)Zf3zd)1Mvzo)`4>U=9qGgKt#M8>+R|PaPmG!TP z%OTQCl~uofK~+|Vqwe2pb;hK>tS-bsO77*x>>5%BgU}SDx?v=cEsP1bVfM7+F5=>h zPr=EobrxS@C3qK?3f_0>7q7cL*|yn&z3p1Z&K6G^Z}FPtJ6a>3?E5y(ye~SEt2=DE zT;(zxMo8TGnL6=jJA1pA{GOerIP5`A;|pN0^PK2x*7c0@GuUNOr8M(q9>%BZYN;6J z>oRz1OV+nyzT)f7uGLG{yy-~~-afm)&pDmse%W$us&9OL=sDd-`zPnCFW7g0QY2W1 zj-a?rrD^)p?_^z|=e1^MR7gfOZHQ~k_cp%PL2GEXmFeXH%jLB4jC&f!^LI^=@!^TW zcSogUurHSCmx=+LD84Y9NN50XQ!f3DQ7W09r9#nGhZU~R3!_^h1>u5K?j+t16yabB z?D1e@5QY^&JRsyrhH*i{P!ZgeSqqw^JhaEK!Bm54v1RzgKCec+ys7V8iRlRw@TOUb zX>u$^a2WalsPVX0II3QGP(_FP|WlrnUk~Xgy!(ESp5e7}fTr_)S?BbntZA_6q!Z$r=N_=B@+!Gfm|By#H zFThuy|p;F&4sbuIJ-ZSM5Noj;%0jFph zs0Z4tGBTa%zT{F*TMozw6m-POe;G?o*P0Ze1C6I3Hc%tJFOi~4G@)QPni)O$5&1Xj z{lgsx2XlBLd29!r(0hcBcZd*9Mo+m<)}G%(1`^ZneJ~s>xKlQgpke)4nCvK`S=4MU zRFtlzQbPZTfjLDw&yD8OB^q`#grKEzZRLEueRNe_>dr32sj5pvYt2%2^@an8N5g~(c}#MR_tV~QrJVxhj&kV*Ez1glbOCQRLr zX5*JRE|d0R0(xUTqOFx~r_k(ib8~Gmi-Ee%_}a31t4_NuxpSw^PR*wlyBAxB=qJ34 z&{?07{eo)(FYuo$w>Co-JD2LGrCRRhrUo)=krgl9i}g$8=;#w2p5pF{5-wIMVs*nw zS&bW3mG0}UDUXE?@L3L**m|+OfB$`sd_rs2qmj1J#j!pjlNg(Z%60(8--%C-O#S$D zX}``|ba&Y?2J9E)Ap*~aI1tUDk93aV@;*lIN;QX>%p4mdlfwmuq$K zl^st}mDqfo!vR`a0 zBGqQOU&AXI$ZT!QGdniqTUvUpZFammS$9U7+fby=G%`s%{;1b>Y`xfdjOuJ(m$-MI z`r7*(>im29zc9=_2FYF>ppxKS{8Eo$7C*-*bMSAH zLyu8`SI0OAc<&><=eWF|Q&K5-pUK>FQuoy*t(x2tMRH^qlp5bnIA^X*(Oj7q)rPOPw+RwGhT=%ceq1Q_Ht7{!Z_r#dqdu`g! zt*KP^)Y{y8W9!weZB+Nnxzu~>)X%-^Q1{&X(EI1ht9u`c-bFCI&o3;0k0E-!%Sdyd z-()b4F-g6v#8RJq7JttvbG_@#L!UzdnCBcs@1~I6_ekE~Yq3=Cw$j}9uP)4MbyV-J zvDEj}*57;cQ18C;5axUC3-jJV(SI1E_q&Yt_t~S@f1EV;yUvFB{E^iEw@~VLTkY?A zVy^$Rap-s74fDN#=s*9a_kW!B_q!?8fB9?f|Fi}3dl=P!y)N~CaV5v#-P4ENKa3Kb zv7tOUw;%>E?BYQDFCau|RAOx?xTwPFB*JOC0UT1n902%*{ zVkU*){{Zpc0lZH~@dteaGS|YX;^G5>%q+q3XW#m6 z01wVLIsOs;3@g1{hm8- zRAK+-wjN$;Z%*;%6b#->LH`V!@#C)1Poju)bIvw!l3;&ND{Y`lecvG9R zPt(xQyh+H($;saY=5LO{{=2ZWW4qZ%4 z>`g-cA2<1%gZyoL6QaMBPY1m1@TN;QgS~C?9|1diIv_bY`RxdACwuz<-fZe`9`v`V z)Bo|bzxmPMPXFd&M@B}T{?Dra)Og$W^z;<)A5;5(*r5MRdYkdK?rj8^+1c5}#>W27 zqPM$wtMZ@2{x`7izkz-KPvA@}tgxrI7v>K@2JHkO5?Ji~-v#y=1|b7HvLWPnt-qi& zDHgloppvrP2<8^eJm}J?c~<2A2KF74{f+@T5gIu1BQxy9i4j;9#q5&(pTIt>@c#+yD^Ae%V>n1NNzvMMkzFkir_R-m*+7PwiVPj#Mu3gaY>jdIhc3P%M3fs98bS#DmxT(X+3XGxu*zspL?N-8P> zec1s(Hs(2)F@0R+TT4@^GXW)fIU7-5cu6ZVlTH2vnirUH2nv`HpmVrla+1YlI&HFN zOqI^C#4`^frw09f>sn@x&uwc`wmxeIGrqAfzns`3P@Mxrt>DMEAZOhV%I&1>zs#Iw z%bY9`?&j5ndgkTIAt$#Y1hPcO2WWTmgKm3Vq zWIPl?V&=DY46>SO|CROg-sVq4q8(oal59*~BP?yAHfnUgm9Bqo-tXzM@_5GZm=fMU zYba=)hv`rFNBft;8Aggze^Y0ml`BqzX;==$_KiS4U(VLkzFJFaEAG* zem>l*Cf_Jr%^#x8JAE-W1Sn_!pTIuNsRDx5v0+xP%SZ#vLZVTrkxv6>t}z3o&k+w_ zDMOhetU_}0Ss^@!KMrF&rV7ai8$Ul|;__J|5adrt{cm8OToE$wb!pw3X4!!b;>8f zIZok9K1Lt^H?S{lOzxmLsk{Tk>!`R9Y{XtFJ#F;{&a8@=p<=z4r!%|G+`%m69<`jN z&uILvKvT-QGCt$h!4WxtXvT%cFy+2}o%1kN`ab&+2BKTWkAmHl2%^Z$1w}OGykwOU zBFKn`5#QwFM3+(Fc8G<_+!PQ^gTCValM{Gc$k#wDmynd1Pf-7n_2bwgM=(MvKI5kN zGnoad8ajQ-$W00N^pW%<+O$iHYN;^RF}FFdR4(~^v50(yGKutJ&WuZeY;=X{Aav2} zYOzov`z^3fd#Xa4Ge^PIOsZXGxdGT%uIXE$wKAb@RNz{yg=8VKA+ypUa#`V^Rte6u zT$}L1&?*zIOvQRLs>DZ8x zDmTDV|S=`w8n$}@A~inL92oiJu9N6mzO4<~hl%^1UKV@P+lZg9Ga9|Q0=51qKHmYE>V1d`7ZO-eI*3dU{imi5 z4rG|W(B0Jr#)|7gxw@qOIgR&_0@*$c|NGIEp!pWqw-+8c@$=nVt`8HC$zEUXceYIY zFnvvZjIp=zhx4~z>rsx{&X{}D8xNIqIrZ`S%zHGS9>*nn{>CL^n&NUjHnY?;#Mjzv zGh2Tc18;wd@5MX_*iD--sc}d{INATQ;sKjRv1`msw=tub^_+CgxyruWG!{5-pYnCP z%Js)QM4t4VBW1k_!H%}TVB#H&vilN3aSFzg{nwvVQd2C=xa=QvI|4s!BT7a*^*#4p zBS@ZE@_ha9CWdF}nASCK0b^0l+I=Al=tLEKbfl-#lzAvuRW2@XqWR>!I=@*}-T(H& zVd8F8$H%RSVcqgpPko(+)wMy9W$w&2b7NkNL43O7R9I=(C_j64 zV9iG)YpZryfl{@!VWIT!hEmL1~0-edoA@+xxi{$evd z_kP^G45k;nE3~~%Sjl?p{_%rVv-~tYbzXn&5E49Fs6Cs7d^tS1_t7cDE$LUA3ZSG~EXx#QB(mUNi?>Y3N7IDw+*1JOIa_c=@T+@m)mkkS@6 zcN*bx*gbUrMej9U>XLgG;1BVmbq!ER2tbDVI6{2U?mg=1f)|!;xe1*cB?CGkCf%c2 z<;5BbC{~C;!L=G8qbUC9uJ-+A&cEFpGPwc-QUh&Df{0cHicx|-afM`Y1yYVG^CN}w z?FTeV+O(qte;N*w-wmn?^}$7Tvj5{}O6089Y=o3%i}=T0QO#G`B0!bMT;0R+r8rD( zAS`H1H>8aw%mcdo)>98_fJUL}#(2=Y;WHDQ;S$Q>DN^7xO`43h@b0B>v8(VrZk+;d znj+1J3fBmcgop}|b`=p#%|pb*9VCnZ+O!I7X|rfci%e*Xj9ZTE@d)qJw3OtET6rJI z&mK9psxi^_amqvGP}Tm|*T9!BH?A@_!d17X+bCYV=#kJc&ef1XbKeb%kfcMM?X-_O zAl<%0e~z-~%NBV~P{2T2AiYLZhFer}&O(013`e9{-ZT-bEFqrW zb7R%z_8@eqEGb|t>33@|Zd&56mgMO75S8`_<8-I@l8HJN#)}VeRt!mowU+WFC5yQsYm`TAuAO?G$M2n!VKOz;f#UxPQU$I0IhksPnq#M$$_9o; zh;{9Tk}lSsC-R=~NqSp2dOBB^R)(K+r=JE1Rt-05GWV7D>6f?2n#+ZtwiliWCZHxl zpvKjf8oGWJ>Vp+2p6Fd71depoiz6Kj)&=@ zF&JGQS|T7imkY<2*w%M8s&z!Vqte%-nCY2XnW7}fp+_2+Ci;`(g=P`zeG+<9RB55S zh@r^IaT=F%qPKicIDo!prZ7pS!3d{X^`9z=j&0g_Zdr?RYK+b)St1ISruT*TRiq@6 zrNN1t4kDzI|A}+iMyK8hrS&JJer17t7Ur~CM) z)A^#xijd6OtU&myYZ$E3ikZ|}h}L?o&X}!=xUJk;SEZ^Ury8#3_pBrtt>#*(-uj5( zx~^D>uI5Io@cN5bMX&X`T2Z zqANvmAqlb0SdAsNSfe+v7Q1p?NmB<_V)ogwj;WjX`b;DXl(rgRL7B2*sc=Q*aaHQF zZz-?0{|12^OS3Z7uGNZUI{Q~hn4T;9S}XapwU|)FI*seIv=WlBzxI2-_?y4_yTAO~zyABb035&q zJir88zy^H42%NwQyub|Hzz+Pt5FEi0Ji!!P!4`bM7@WZxyulpY!5;jeyu&=)!#@1OKpezEJj6s?#72C? zNSwq_XtFJv4fW}H0?5E5t5E6!p7^WYEu@Wwh4$M*3L%76}Oa0dPm3xVP;gv`e{|AGka z^8)A~$o>!#=r9k?!UAWY$Tz~s44?;p@&ak_4|{yc&AoB#mI@Xgk&BILjcCSc5xT+ROwG6fLG=d2=I z@GBv)$FV%fxEurSBG2=jB5Rxgr;N{fjLTc#E5uOF|C}O}YyiY?%K;(+0kX!9T+Xw+ z&?myrnV<>;5(@wzGT`vYpN!EaqAVZH2?a0@TW}BL050~i1?W)D;7rmbYqG~$aK_nV z0>lv0?o87)Ju0KX03D< { + const pkg = require('./package.json'); + + return gulp + .src(`manifests/${target}/manifest.json`) + .pipe(replace('__VERSION__', pkg.version)) + .pipe(gulp.dest(`dist/${target}`)); +}); + +gulp.task('styles', () => { + return gulp.src('src/styles/*.css').pipe(gulp.dest(`dist/${target}/styles`)); +}); + +gulp.task( + 'html', + gulp.series('styles', () => { + return gulp.src('src/*.html').pipe(gulp.dest(`dist/${target}`)); + }) +); + +gulp.task('images', () => { + return gulp + .src('src/images/**/*') + .pipe( + gulpif( + gulpif.isFile, + imagemin({ + progressive: true, + interlaced: true, + svgoPlugins: [{ cleanupIDs: false }] + }) + ) + ) + .pipe(gulp.dest(`dist/${target}/images`)); +}); + +gulp.task('clean', del.bind(null, ['.tmp', `dist/${target}`])); + +gulp.task( + 'watch', + gulp.series('manifest', 'html', 'styles', 'images', () => { + livereload.listen(); + + gulp + .watch([ + 'src/*.html', + 'src/scripts/**/*', + 'src/images/**/*', + 'src/styles/**/*' + ]) + .on('change', livereload.reload); + + gulp.watch('src/*.html', gulp.parallel('html')); + gulp.watch('manifests/**/*.json', gulp.parallel('manifest')); + }) +); + +gulp.task('package', function() { + const manifest = require(`./dist/${target}/manifest.json`); + + return gulp + .src(`dist/${target}/**`) + .pipe(zip('dnote-' + manifest.version + '.zip')) + .pipe(gulp.dest(`package/${target}`)); +}); + +gulp.task('build', gulp.series('manifest', gulp.parallel('html', 'images'))); + +gulp.task('default', gulp.series('clean', 'build')); diff --git a/browser/manifests/chrome/manifest.json b/browser/manifests/chrome/manifest.json new file mode 100644 index 00000000..4b95c5dc --- /dev/null +++ b/browser/manifests/chrome/manifest.json @@ -0,0 +1,31 @@ +{ + "name": "Dnote", + "version": "__VERSION__", + "description": "Capture your microlessons without leaving the browser.", + "icons": { + "16": "images/iconx16.png", + "48": "images/iconx48.png", + "128": "images/iconx128.png" + }, + "manifest_version": 2, + "browser_action": { + "default_icon": { + "16": "images/iconx16.png", + "32": "images/iconx32.png" + }, + "default_popup": "popup.html" + }, + "background": { + "scripts": [] + }, + "content_scripts": [], + "permissions": ["storage"], + "commands": { + "_execute_browser_action": { + "suggested_key": { + "default": "Ctrl+D", + "mac": "MacCtrl+D" + } + } + } +} diff --git a/browser/manifests/firefox/manifest.json b/browser/manifests/firefox/manifest.json new file mode 100644 index 00000000..8175011f --- /dev/null +++ b/browser/manifests/firefox/manifest.json @@ -0,0 +1,38 @@ +{ + "name": "Dnote", + "version": "__VERSION__", + "description": "Capture your microlessons without leaving the browser.", + "applications": { + "gecko": { + "id": "sung@dnote.io", + "strict_min_version": "42.0" + } + }, + "icons": { + "16": "images/iconx16.png", + "48": "images/iconx48.png", + "128": "images/iconx128.png" + }, + "manifest_version": 2, + "browser_action": { + "default_icon": { + "16": "images/iconx16.png", + "32": "images/iconx32.png" + }, + "default_popup": "popup.html" + }, + "background": { + "scripts": [] + }, + "content_scripts": [], + "permissions": ["storage"], + "commands": { + "_execute_browser_action": { + "suggested_key": { + "default": "Ctrl+D", + "linux": "Ctrl+Shift+V", + "mac": "MacCtrl+D" + } + } + } +} diff --git a/browser/package-lock.json b/browser/package-lock.json new file mode 100644 index 00000000..50465029 --- /dev/null +++ b/browser/package-lock.json @@ -0,0 +1,9819 @@ +{ + "name": "dnote-extension", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/helper-module-imports": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", + "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/runtime": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.6.2.tgz", + "integrity": "sha512-EXxN64agfUqqIGeEjI5dL5z0Sw0ZwWo1mLTi4mQowCZ42O59b7DRpZAnTC6OqdF28wMBMFKNb/4uFGrVaigSpg==", + "requires": { + "regenerator-runtime": "^0.13.2" + } + }, + "@babel/types": { + "version": "7.6.1", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz", + "integrity": "sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "@emotion/cache": { + "version": "10.0.19", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-10.0.19.tgz", + "integrity": "sha512-BoiLlk4vEsGBg2dAqGSJu0vJl/PgVtCYLBFJaEO8RmQzPugXewQCXZJNXTDFaRlfCs0W+quesayav4fvaif5WQ==", + "requires": { + "@emotion/sheet": "0.9.3", + "@emotion/stylis": "0.8.4", + "@emotion/utils": "0.11.2", + "@emotion/weak-memoize": "0.2.4" + } + }, + "@emotion/core": { + "version": "10.0.17", + "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.0.17.tgz", + "integrity": "sha512-gykyjjr0sxzVuZBVTVK4dUmYsorc2qLhdYgSiOVK+m7WXgcYTKZevGWZ7TLAgTZvMelCTvhNq8xnf8FR1IdTbg==", + "requires": { + "@babel/runtime": "^7.5.5", + "@emotion/cache": "^10.0.17", + "@emotion/css": "^10.0.14", + "@emotion/serialize": "^0.11.10", + "@emotion/sheet": "0.9.3", + "@emotion/utils": "0.11.2" + } + }, + "@emotion/css": { + "version": "10.0.14", + "resolved": "https://registry.npmjs.org/@emotion/css/-/css-10.0.14.tgz", + "integrity": "sha512-MozgPkBEWvorcdpqHZE5x1D/PLEHUitALQCQYt2wayf4UNhpgQs2tN0UwHYS4FMy5ROBH+0ALyCFVYJ/ywmwlg==", + "requires": { + "@emotion/serialize": "^0.11.8", + "@emotion/utils": "0.11.2", + "babel-plugin-emotion": "^10.0.14" + } + }, + "@emotion/hash": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.7.3.tgz", + "integrity": "sha512-14ZVlsB9akwvydAdaEnVnvqu6J2P6ySv39hYyl/aoB6w/V+bXX0tay8cF6paqbgZsN2n5Xh15uF4pE+GvE+itw==" + }, + "@emotion/memoize": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.3.tgz", + "integrity": "sha512-2Md9mH6mvo+ygq1trTeVp2uzAKwE2P7In0cRpD/M9Q70aH8L+rxMLbb3JCN2JoSWsV2O+DdFjfbbXoMoLBczow==" + }, + "@emotion/serialize": { + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.11.tgz", + "integrity": "sha512-YG8wdCqoWtuoMxhHZCTA+egL0RSGdHEc+YCsmiSBPBEDNuVeMWtjEWtGrhUterSChxzwnWBXvzSxIFQI/3sHLw==", + "requires": { + "@emotion/hash": "0.7.3", + "@emotion/memoize": "0.7.3", + "@emotion/unitless": "0.7.4", + "@emotion/utils": "0.11.2", + "csstype": "^2.5.7" + } + }, + "@emotion/sheet": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-0.9.3.tgz", + "integrity": "sha512-c3Q6V7Df7jfwSq5AzQWbXHa5soeE4F5cbqi40xn0CzXxWW9/6Mxq48WJEtqfWzbZtW9odZdnRAkwCQwN12ob4A==" + }, + "@emotion/stylis": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.4.tgz", + "integrity": "sha512-TLmkCVm8f8gH0oLv+HWKiu7e8xmBIaokhxcEKPh1m8pXiV/akCiq50FvYgOwY42rjejck8nsdQxZlXZ7pmyBUQ==" + }, + "@emotion/unitless": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.4.tgz", + "integrity": "sha512-kBa+cDHOR9jpRJ+kcGMsysrls0leukrm68DmFQoMIWQcXdr2cZvyvypWuGYT7U+9kAExUE7+T7r6G3C3A6L8MQ==" + }, + "@emotion/utils": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.11.2.tgz", + "integrity": "sha512-UHX2XklLl3sIaP6oiMmlVzT0J+2ATTVpf0dHQVyPJHTkOITvXfaSqnRk6mdDhV9pR8T/tHc3cex78IKXssmzrA==" + }, + "@emotion/weak-memoize": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.4.tgz", + "integrity": "sha512-6PYY5DVdAY1ifaQW6XYTnOMihmBVT27elqSjEoodchsGjzYlEsTQMcEhSud99kVawatyTZRTiVkJ/c6lwbQ7nA==" + }, + "@nodelib/fs.scandir": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.2.tgz", + "integrity": "sha512-wrIBsjA5pl13f0RN4Zx4FNWmU71lv03meGKnqRUoCyan17s4V3WL92f3w3AIuWbNnpcrQyFBU5qMavJoB8d27w==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.2", + "run-parallel": "^1.1.9" + }, + "dependencies": { + "@nodelib/fs.stat": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.2.tgz", + "integrity": "sha512-z8+wGWV2dgUhLqrtRYa03yDx4HWMvXKi1z8g3m2JyxAx8F7xk74asqPk5LAETjqDSGLFML/6CDl0+yFunSYicw==", + "dev": true + } + } + }, + "@nodelib/fs.walk": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.3.tgz", + "integrity": "sha512-l6t8xEhfK9Sa4YO5mIRdau7XSOADfmh3jCr0evNHdY+HNkW6xuQhgMH7D73VV6WpZOagrW0UludvMTiifiwTfA==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.2", + "fastq": "^1.6.0" + } + }, + "@sindresorhus/is": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", + "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", + "dev": true, + "optional": true + }, + "@types/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", + "dev": true + }, + "@types/events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", + "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", + "dev": true + }, + "@types/glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", + "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", + "dev": true, + "requires": { + "@types/events": "*", + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/json-schema": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.3.tgz", + "integrity": "sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A==", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, + "@types/node": { + "version": "12.7.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.5.tgz", + "integrity": "sha512-9fq4jZVhPNW8r+UYKnxF1e2HkDWOWKM5bC2/7c9wPV835I0aOrVbS/Hw/pWPk2uKrNXQqg9Z959Kz+IYDd5p3w==", + "dev": true + }, + "@types/prop-types": { + "version": "15.7.3", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", + "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==", + "dev": true + }, + "@types/q": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", + "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==", + "dev": true, + "optional": true + }, + "@types/react": { + "version": "16.9.3", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.3.tgz", + "integrity": "sha512-Ogb2nSn+2qQv5opoCv7Ls5yFxtyrdUYxp5G+SWTrlGk7dmFKw331GiezCgEZj9U7QeXJi1CDtws9pdXU1zUL4g==", + "dev": true, + "requires": { + "@types/prop-types": "*", + "csstype": "^2.2.0" + } + }, + "@types/react-dom": { + "version": "16.9.1", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.1.tgz", + "integrity": "sha512-1S/akvkKr63qIUWVu5IKYou2P9fHLb/P2VAwyxVV85JGaGZTcUniMiTuIqM3lXFB25ej6h+CYEQ27ERVwi6eGA==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, + "@typescript-eslint/eslint-plugin": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.3.1.tgz", + "integrity": "sha512-VqVNEsvemviajlaWm03kVMabc6S3xCHGYuY0fReTrIIOZg+3WzB+wfw6fD3KYKerw5lYxmzogmHOZ0i7YKnuwA==", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "2.3.1", + "eslint-utils": "^1.4.2", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^2.0.1", + "tsutils": "^3.17.1" + } + }, + "@typescript-eslint/experimental-utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.3.1.tgz", + "integrity": "sha512-FaZEj73o4h6Wd0Lg+R4pZiJGdR0ZYbJr+O2+RbQ1aZjX8bZcfkVDtD+qm74Dv77rfSKkDKE64UTziLBo9UYHQA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "2.3.1", + "eslint-scope": "^5.0.0" + } + }, + "@typescript-eslint/parser": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.3.1.tgz", + "integrity": "sha512-ZlWdzhCJ2iZnSp/VBAJ/sowFbyHycIux8t0UEH0JsKgQvfSf7949hLYFMwTXdCMeEnpP1zRTHimrR+YHzs8LIw==", + "dev": true, + "requires": { + "@types/eslint-visitor-keys": "^1.0.0", + "@typescript-eslint/experimental-utils": "2.3.1", + "@typescript-eslint/typescript-estree": "2.3.1", + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", + "dev": true + } + } + }, + "@typescript-eslint/typescript-estree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.3.1.tgz", + "integrity": "sha512-9SFhUgFuePJBB6jlLkOPPhMkZNiDCr+S8Ft7yAkkP2c5x5bxPhG3pe/exMiQaF8IGyVMDW6Ul0q4/cZ+uF3uog==", + "dev": true, + "requires": { + "glob": "^7.1.4", + "is-glob": "^4.0.1", + "lodash.unescape": "4.0.1", + "semver": "^6.3.0" + }, + "dependencies": { + "glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@webassemblyjs/ast": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", + "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", + "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", + "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", + "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", + "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", + "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", + "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "mamacro": "^0.0.3" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", + "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", + "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", + "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", + "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", + "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", + "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/helper-wasm-section": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-opt": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", + "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", + "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", + "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", + "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/floating-point-hex-parser": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-code-frame": "1.8.5", + "@webassemblyjs/helper-fsm": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", + "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "aggregate-error": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.0.tgz", + "integrity": "sha512-yKD9kEoJIR+2IFqhMwayIBgheLYbB3PS2OBhWae1L/ODTd/JF/30cW0bc9TqzRL3k4U41Dieu3BF4I29p8xesA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^3.2.0" + }, + "dependencies": { + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + } + } + }, + "ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true + }, + "ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", + "dev": true + }, + "ansi-colors": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", + "dev": true, + "requires": { + "ansi-wrap": "^0.1.0" + } + }, + "ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true, + "optional": true + }, + "ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", + "dev": true + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "append-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", + "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=", + "dev": true, + "requires": { + "buffer-equal": "^1.0.0" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "arch": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.1.tgz", + "integrity": "sha512-BLM56aPo9vLLFVa8+/+pJLnrZ7QGGTVHWsCwieAWT9o9K8UeGaQbzZbGoabWLOo2ksBCztoXdqBZBplqLDDCSg==", + "dev": true, + "optional": true + }, + "archive-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz", + "integrity": "sha1-+S5yIzBW38aWlHJ0nCZ72wRrHXA=", + "dev": true, + "optional": true, + "requires": { + "file-type": "^4.2.0" + }, + "dependencies": { + "file-type": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", + "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=", + "dev": true, + "optional": true + } + } + }, + "archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "aria-query": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz", + "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=", + "dev": true, + "requires": { + "ast-types-flow": "0.0.7", + "commander": "^2.11.0" + }, + "dependencies": { + "commander": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", + "dev": true + } + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-filter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz", + "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=", + "dev": true, + "requires": { + "make-iterator": "^1.0.0" + } + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz", + "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=", + "dev": true, + "requires": { + "make-iterator": "^1.0.0" + } + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true, + "optional": true + }, + "array-includes": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", + "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.7.0" + } + }, + "array-initial": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", + "integrity": "sha1-L6dLJnOTccOUe9enrcc74zSz15U=", + "dev": true, + "requires": { + "array-slice": "^1.0.0", + "is-number": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + } + } + }, + "array-last": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz", + "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==", + "dev": true, + "requires": { + "is-number": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + } + } + }, + "array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "dev": true + }, + "array-sort": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz", + "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==", + "dev": true, + "requires": { + "default-compare": "^1.0.0", + "get-value": "^2.0.6", + "kind-of": "^5.0.2" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "array-uniq": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-2.1.0.tgz", + "integrity": "sha512-bdHxtev7FN6+MXI1YFW0Q8mQ8dTJc2S8AMfju+ZR77pbg2yAdVyDlwkaUI7Har0LyOMRFPHrJ9lYdyjZZswdlQ==", + "dev": true, + "optional": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "http://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", + "dev": true + }, + "async-done": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", + "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.2", + "process-nextick-args": "^2.0.0", + "stream-exhaust": "^1.0.1" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "async-settle": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", + "integrity": "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=", + "dev": true, + "requires": { + "async-done": "^1.2.2" + } + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "axobject-query": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.0.2.tgz", + "integrity": "sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==", + "dev": true, + "requires": { + "ast-types-flow": "0.0.7" + } + }, + "babel-plugin-emotion": { + "version": "10.0.19", + "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-10.0.19.tgz", + "integrity": "sha512-1pJb5uKN/gx6bi3gGr588Krj49sxARI9KmxhtMUa+NRJb6lR3OfC51mh3NlWRsOqdjWlT4cSjnZpnFq5K3T5ZA==", + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@emotion/hash": "0.7.3", + "@emotion/memoize": "0.7.3", + "@emotion/serialize": "^0.11.11", + "babel-plugin-macros": "^2.0.0", + "babel-plugin-syntax-jsx": "^6.18.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^1.0.5", + "find-root": "^1.1.0", + "source-map": "^0.5.7" + } + }, + "babel-plugin-macros": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.6.1.tgz", + "integrity": "sha512-6W2nwiXme6j1n2erPOnmRiWfObUhWH7Qw1LMi9XZy8cj+KtESu3T6asZvtk5bMQQjX8te35o7CFueiSdL/2NmQ==", + "requires": { + "@babel/runtime": "^7.4.2", + "cosmiconfig": "^5.2.0", + "resolve": "^1.10.0" + }, + "dependencies": { + "resolve": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", + "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", + "requires": { + "path-parse": "^1.0.6" + } + } + } + }, + "babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" + }, + "bach": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", + "integrity": "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=", + "dev": true, + "requires": { + "arr-filter": "^1.1.1", + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "array-each": "^1.0.0", + "array-initial": "^1.0.0", + "array-last": "^1.1.1", + "async-done": "^1.2.2", + "async-settle": "^1.0.0", + "now-and-later": "^2.0.0" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", + "dev": true + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "bin-build": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bin-build/-/bin-build-3.0.0.tgz", + "integrity": "sha512-jcUOof71/TNAI2uM5uoUaDq2ePcVBQ3R/qhxAz1rX7UfvduAL/RXD3jXzvn8cVcDJdGVkiR1shal3OH0ImpuhA==", + "dev": true, + "optional": true, + "requires": { + "decompress": "^4.0.0", + "download": "^6.2.2", + "execa": "^0.7.0", + "p-map-series": "^1.0.0", + "tempfile": "^2.0.0" + } + }, + "bin-check": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-4.1.0.tgz", + "integrity": "sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==", + "dev": true, + "optional": true, + "requires": { + "execa": "^0.7.0", + "executable": "^4.1.0" + } + }, + "bin-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-3.1.0.tgz", + "integrity": "sha512-Mkfm4iE1VFt4xd4vH+gx+0/71esbfus2LsnCGe8Pi4mndSPyT+NGES/Eg99jx8/lUGWfu3z2yuB/bt5UB+iVbQ==", + "dev": true, + "optional": true, + "requires": { + "execa": "^1.0.0", + "find-versions": "^3.0.0" + }, + "dependencies": { + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "optional": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "optional": true, + "requires": { + "pump": "^3.0.0" + } + } + } + }, + "bin-version-check": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-4.0.0.tgz", + "integrity": "sha512-sR631OrhC+1f8Cvs8WyVWOA33Y8tgwjETNPyyD/myRBXLkfS/vl74FmH/lFcRl9KY3zwGh7jFhvyk9vV3/3ilQ==", + "dev": true, + "optional": true, + "requires": { + "bin-version": "^3.0.0", + "semver": "^5.6.0", + "semver-truncate": "^1.1.2" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "optional": true + } + } + }, + "bin-wrapper": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-4.1.0.tgz", + "integrity": "sha512-hfRmo7hWIXPkbpi0ZltboCMVrU+0ClXR/JgbCKKjlDjQf6igXa7OwdqNcFWQZPZTgiY7ZpzE3+LjjkLiTN2T7Q==", + "dev": true, + "optional": true, + "requires": { + "bin-check": "^4.1.0", + "bin-version-check": "^4.0.0", + "download": "^7.1.0", + "import-lazy": "^3.1.0", + "os-filter-obj": "^2.0.0", + "pify": "^4.0.1" + }, + "dependencies": { + "download": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz", + "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==", + "dev": true, + "optional": true, + "requires": { + "archive-type": "^4.0.0", + "caw": "^2.0.1", + "content-disposition": "^0.5.2", + "decompress": "^4.2.0", + "ext-name": "^5.0.0", + "file-type": "^8.1.0", + "filenamify": "^2.0.0", + "get-stream": "^3.0.0", + "got": "^8.3.1", + "make-dir": "^1.2.0", + "p-event": "^2.1.0", + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "optional": true + } + } + }, + "file-type": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz", + "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==", + "dev": true, + "optional": true + }, + "got": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", + "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", + "dev": true, + "optional": true, + "requires": { + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "mimic-response": "^1.0.0", + "p-cancelable": "^0.4.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "optional": true + } + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "optional": true, + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "optional": true + } + } + }, + "p-cancelable": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", + "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==", + "dev": true, + "optional": true + }, + "p-event": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz", + "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==", + "dev": true, + "optional": true, + "requires": { + "p-timeout": "^2.0.1" + } + }, + "p-timeout": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", + "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "dev": true, + "requires": { + "p-finally": "^1.0.0" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "optional": true + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true, + "optional": true + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dev": true, + "optional": true, + "requires": { + "prepend-http": "^2.0.0" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, + "binaryextensions": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.1.2.tgz", + "integrity": "sha512-xVNN69YGDghOqCCtA6FI7avYrr02mTJjOgB0/f1VPD3pJC8QEvjTKWc4epDx8AqxxA75NI0QpVM2gPJXUbE4Tg==", + "dev": true + }, + "bl": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", + "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", + "dev": true, + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "bluebird": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", + "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", + "dev": true + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "body": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz", + "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=", + "dev": true, + "requires": { + "continuable-cache": "^0.3.1", + "error": "^7.0.0", + "raw-body": "~1.1.0", + "safe-json-parse": "~1.0.1" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "buffer": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.3.tgz", + "integrity": "sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true + }, + "buffer-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", + "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", + "dev": true + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", + "dev": true + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz", + "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=", + "dev": true + }, + "cacache": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", + "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + }, + "dependencies": { + "glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yallist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", + "dev": true + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cacheable-request": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", + "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", + "dev": true, + "optional": true, + "requires": { + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" + }, + "dependencies": { + "lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", + "dev": true, + "optional": true + } + } + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "requires": { + "callsites": "^2.0.0" + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=" + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true, + "optional": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "optional": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + } + }, + "caw": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", + "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", + "dev": true, + "requires": { + "get-proxy": "^2.0.0", + "isurl": "^1.0.0-alpha5", + "tunnel-agent": "^0.6.0", + "url-to-options": "^1.0.1" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "dependencies": { + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + } + } + }, + "chownr": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "classnames": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", + "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true + }, + "clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", + "dev": true + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dev": true, + "optional": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "dev": true + }, + "cloneable-readable": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz", + "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" + } + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dev": true, + "optional": true, + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "optional": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "optional": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "collection-map": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz", + "integrity": "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=", + "dev": true, + "requires": { + "arr-map": "^2.0.2", + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true + }, + "commander": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", + "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", + "dev": true, + "requires": { + "graceful-readlink": ">= 1.0.0" + } + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "concurrently": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-4.1.2.tgz", + "integrity": "sha512-Kim9SFrNr2jd8/0yNYqDTFALzUX1tvimmwFWxmp/D4mRI+kbqIIwE2RkBDrxS2ic25O1UgQMI5AtBqdtX3ynYg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "date-fns": "^1.30.1", + "lodash": "^4.17.15", + "read-pkg": "^4.0.1", + "rxjs": "^6.5.2", + "spawn-command": "^0.0.2-1", + "supports-color": "^4.5.0", + "tree-kill": "^1.2.1", + "yargs": "^12.0.5" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, + "requires": { + "invert-kv": "^2.0.0" + } + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "read-pkg": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-4.0.1.tgz", + "integrity": "sha1-ljYlN48+HE1IyFhytabsfV0JMjc=", + "dev": true, + "requires": { + "normalize-package-data": "^2.3.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "^2.0.0" + }, + "dependencies": { + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + } + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "yargs": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + }, + "yargs-parser": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "config-chain": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", + "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", + "dev": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "confusing-browser-globals": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz", + "integrity": "sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw==", + "dev": true + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "^0.1.4" + } + }, + "console-stream": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/console-stream/-/console-stream-0.1.1.tgz", + "integrity": "sha1-oJX+B7IEZZVfL6/Si11yvM2UnUQ=", + "dev": true, + "optional": true + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", + "dev": true + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "continuable-cache": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz", + "integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=", + "dev": true + }, + "convert-source-map": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", + "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "copy-props": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.4.tgz", + "integrity": "sha512-7cjuUME+p+S3HZlbllgsn2CDwS+5eCCX16qBgNC4jgSTf49qR1VKy/Zhl400m0IQXl/bPGEVqncgUUMjrr4s8A==", + "dev": true, + "requires": { + "each-props": "^1.3.0", + "is-plain-object": "^2.0.1" + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "dependencies": { + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + } + } + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true + } + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "css-select": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.0.2.tgz", + "integrity": "sha512-dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ==", + "dev": true, + "optional": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^2.1.2", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "dev": true, + "optional": true + }, + "css-tree": { + "version": "1.0.0-alpha.33", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.33.tgz", + "integrity": "sha512-SPt57bh5nQnpsTBsx/IXbO14sRc9xXu5MtMAVuo0BaQQmyf0NupNPPSoMaqiAF5tDFafYsTkfeH4Q/HCKXkg4w==", + "dev": true, + "optional": true, + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.5.3" + } + }, + "css-what": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "dev": true, + "optional": true + }, + "csso": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz", + "integrity": "sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==", + "dev": true, + "optional": true, + "requires": { + "css-tree": "1.0.0-alpha.29" + }, + "dependencies": { + "css-tree": { + "version": "1.0.0-alpha.29", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz", + "integrity": "sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==", + "dev": true, + "optional": true, + "requires": { + "mdn-data": "~1.1.0", + "source-map": "^0.5.3" + } + }, + "mdn-data": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz", + "integrity": "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==", + "dev": true, + "optional": true + } + } + }, + "csstype": { + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.6.tgz", + "integrity": "sha512-RpFbQGUE74iyPgvr46U9t1xoQBM8T4BL8SxrN66Le2xYAPSaDJJKeztV3awugusb3g3G9iL8StmkBBXhcbbXhg==" + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "optional": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "damerau-levenshtein": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz", + "integrity": "sha512-CBCRqFnpu715iPmw1KrdOrzRqbdFwQTwAWyyyYS42+iAgHCuXZ+/TdMgQkUENPomxEz9z1BEzuQU2Xw0kUuAgA==", + "dev": true + }, + "date-fns": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", + "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==", + "dev": true + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "decompress": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz", + "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=", + "dev": true, + "requires": { + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" + }, + "dependencies": { + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "dev": true, + "requires": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + }, + "dependencies": { + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", + "dev": true + } + } + }, + "decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "dev": true, + "requires": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, + "dependencies": { + "file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", + "dev": true + } + } + }, + "decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "dev": true, + "requires": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" + }, + "dependencies": { + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", + "dev": true + } + } + }, + "decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", + "dev": true, + "requires": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, + "dependencies": { + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", + "dev": true + }, + "get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "deep-diff": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/deep-diff/-/deep-diff-0.3.8.tgz", + "integrity": "sha1-wB3mPvsO7JeYgB1Ax+Da4ltYLIQ=" + }, + "default-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", + "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==", + "dev": true, + "requires": { + "kind-of": "^5.0.2" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "default-resolution": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", + "integrity": "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "del": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz", + "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==", + "dev": true, + "requires": { + "globby": "^10.0.1", + "graceful-fs": "^4.2.2", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.1", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0" + }, + "dependencies": { + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "rimraf": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", + "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + } + } + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dom-helpers": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", + "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", + "requires": { + "@babel/runtime": "^7.1.2" + } + }, + "dom-serializer": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.1.tgz", + "integrity": "sha512-sK3ujri04WyjwQXVoK4PU3y8ula1stq10GJZpqHIUgoGZdsGzAGu65BnU3d08aTVSvO7mGPZUc0wTEDL+qGE0Q==", + "dev": true, + "optional": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", + "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==", + "dev": true, + "optional": true + } + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true, + "optional": true + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "optional": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "download": { + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/download/-/download-6.2.5.tgz", + "integrity": "sha512-DpO9K1sXAST8Cpzb7kmEhogJxymyVUd5qz/vCOSyvwtp2Klj2XcDt5YUuasgxka44SxF0q5RriKIwJmQHG2AuA==", + "dev": true, + "optional": true, + "requires": { + "caw": "^2.0.0", + "content-disposition": "^0.5.2", + "decompress": "^4.0.0", + "ext-name": "^5.0.0", + "file-type": "5.2.0", + "filenamify": "^2.0.0", + "get-stream": "^3.0.0", + "got": "^7.0.0", + "make-dir": "^1.0.0", + "p-event": "^1.0.0", + "pify": "^3.0.0" + }, + "dependencies": { + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", + "dev": true, + "optional": true + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "optional": true, + "requires": { + "pify": "^3.0.0" + } + } + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "duplexify": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.1.tgz", + "integrity": "sha512-vM58DwdnKmty+FSPzT14K9JXb90H+j5emaR4KYbr2KTIz00WHGbWOe5ghQTx233ZCLZtrGDALzKwcjEtSt35mA==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + } + } + }, + "each-props": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz", + "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.1", + "object.defaults": "^1.1.0" + } + }, + "editions": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/editions/-/editions-1.3.4.tgz", + "integrity": "sha512-gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg==", + "dev": true + }, + "elliptic": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz", + "integrity": "sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==", + "dev": true, + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "end-of-stream": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.2.tgz", + "integrity": "sha512-gUSUszrsxlDnUbUwEI9Oygyrk4ZEWtVaHQc+uZHphVeNxl+qeqMV/jDWoTkjN1RmGlZ5QWAP7o458p/JMlikQg==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", + "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "tapable": "^1.0.0" + } + }, + "entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", + "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==", + "dev": true, + "optional": true + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/error/-/error-7.2.0.tgz", + "integrity": "sha512-M6t3j3Vt3uDicrViMP5fLq2AeADNrCVFD8Oj4Qt2MHsX0mPYG7D5XdnEfSdRpaHQzjAJ19wu+I1mw9rQYMTAPg==", + "dev": true, + "requires": { + "string-template": "~0.2.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.14.2.tgz", + "integrity": "sha512-DgoQmbpFNOofkjJtKwr87Ma5EW4Dc8fWhD0R+ndq7Oc456ivUfGOOP6oAZTTKl5/CcNMP+EN+e3/iUzgE0veZg==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.0", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.0", + "is-callable": "^1.1.4", + "is-regex": "^1.0.4", + "object-inspect": "^1.6.0", + "object-keys": "^1.1.1", + "string.prototype.trimleft": "^2.0.0", + "string.prototype.trimright": "^2.0.0" + }, + "dependencies": { + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + } + } + }, + "es-to-primitive": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", + "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es5-ext": { + "version": "0.10.51", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.51.tgz", + "integrity": "sha512-oRpWzM2WcLHVKpnrcyB7OW8j/s67Ba04JCm0WnNv3RiABSvs7mrQlutB8DBv793gKcp0XENR8Il8WxGTlZ73gQ==", + "dev": true, + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.1", + "next-tick": "^1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-symbol": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.2.tgz", + "integrity": "sha512-/ZypxQsArlv+KHpGvng52/Iz8by3EQPxhmbuz8yFG89N/caTFBSbcXONDw0aMjy827gQg26XAjP4uXFvnfINmQ==", + "dev": true, + "requires": { + "d": "^1.0.1", + "es5-ext": "^0.10.51" + } + }, + "es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "eslint-config-airbnb": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-18.0.1.tgz", + "integrity": "sha512-hLb/ccvW4grVhvd6CT83bECacc+s4Z3/AEyWQdIT2KeTsG9dR7nx1gs7Iw4tDmGKozCNHFn4yZmRm3Tgy+XxyQ==", + "dev": true, + "requires": { + "eslint-config-airbnb-base": "^14.0.0", + "object.assign": "^4.1.0", + "object.entries": "^1.1.0" + } + }, + "eslint-config-airbnb-base": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.0.0.tgz", + "integrity": "sha512-2IDHobw97upExLmsebhtfoD3NAKhV4H0CJWP3Uprd/uk+cHuWYOczPVxQ8PxLFUAw7o3Th1RAU8u1DoUpr+cMA==", + "dev": true, + "requires": { + "confusing-browser-globals": "^1.0.7", + "object.assign": "^4.1.0", + "object.entries": "^1.1.0" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz", + "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", + "dev": true, + "requires": { + "debug": "^2.6.9", + "resolve": "^1.5.0" + } + }, + "eslint-module-utils": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz", + "integrity": "sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw==", + "dev": true, + "requires": { + "debug": "^2.6.8", + "pkg-dir": "^2.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + } + } + }, + "eslint-plugin-import": { + "version": "2.18.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz", + "integrity": "sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ==", + "dev": true, + "requires": { + "array-includes": "^3.0.3", + "contains-path": "^0.1.0", + "debug": "^2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.2", + "eslint-module-utils": "^2.4.0", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.0", + "read-pkg-up": "^2.0.0", + "resolve": "^1.11.0" + }, + "dependencies": { + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + } + }, + "resolve": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", + "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + } + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.3.tgz", + "integrity": "sha512-CawzfGt9w83tyuVekn0GDPU9ytYtxyxyFZ3aSWROmnRRFQFT2BiPJd7jvRdzNDi6oLWaS2asMeYSNMjWTV4eNg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.4.5", + "aria-query": "^3.0.0", + "array-includes": "^3.0.3", + "ast-types-flow": "^0.0.7", + "axobject-query": "^2.0.2", + "damerau-levenshtein": "^1.0.4", + "emoji-regex": "^7.0.2", + "has": "^1.0.3", + "jsx-ast-utils": "^2.2.1" + } + }, + "eslint-plugin-react": { + "version": "7.14.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.14.3.tgz", + "integrity": "sha512-EzdyyBWC4Uz2hPYBiEJrKCUi2Fn+BJ9B/pJQcjw5X+x/H2Nm59S4MJIvL4O5NEE0+WbnQwEBxWY03oUk+Bc3FA==", + "dev": true, + "requires": { + "array-includes": "^3.0.3", + "doctrine": "^2.1.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.1.0", + "object.entries": "^1.1.0", + "object.fromentries": "^2.0.0", + "object.values": "^1.1.0", + "prop-types": "^15.7.2", + "resolve": "^1.10.1" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "resolve": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", + "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + } + } + }, + "eslint-plugin-react-hooks": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-2.0.1.tgz", + "integrity": "sha512-xir+3KHKo86AasxlCV8AHRtIZPHljqCRRUYgASkbatmt0fad4+5GgC7zkT7o/06hdKM6MIwp8giHVXqBPaarHQ==", + "dev": true + }, + "eslint-scope": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", + "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz", + "integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.0.0" + } + }, + "eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", + "dev": true + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "exec-buffer": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-3.2.0.tgz", + "integrity": "sha512-wsiD+2Tp6BWHoVv3B+5Dcx6E7u5zky+hUwOHjuH2hKSLR3dvRmX8fk8UD8uqQixHs4Wk6eDmiegVrMPjKj7wpA==", + "dev": true, + "optional": true, + "requires": { + "execa": "^0.7.0", + "p-finally": "^1.0.0", + "pify": "^3.0.0", + "rimraf": "^2.5.4", + "tempfile": "^2.0.0" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + } + } + }, + "executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dev": true, + "optional": true, + "requires": { + "pify": "^2.2.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "optional": true + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "ext-list": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", + "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", + "dev": true, + "requires": { + "mime-db": "^1.28.0" + } + }, + "ext-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", + "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", + "dev": true, + "requires": { + "ext-list": "^2.0.0", + "sort-keys-length": "^1.0.0" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "fancy-log": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", + "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", + "dev": true, + "requires": { + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "parse-node-version": "^1.0.0", + "time-stamp": "^1.0.0" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "fastq": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.6.0.tgz", + "integrity": "sha512-jmxqQ3Z/nXoeyDmWAzF9kH1aGZSis6e/SbfPmJpUnyZ0ogr6iscHQaml4wsEepEWSdtmpy+eVXmCRIMpxaXqOA==", + "dev": true, + "requires": { + "reusify": "^1.0.0" + } + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "figgy-pudding": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", + "dev": true + }, + "file-type": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-12.3.0.tgz", + "integrity": "sha512-4E4Esq9KLwjYCY32E7qSmd0h7LefcniZHX+XcdJ4Wfx1uGJX7QCigiqw/U0yT7WOslm28yhxl87DJ0wHYv0RAA==", + "dev": true + }, + "filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=", + "dev": true + }, + "filenamify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.1.0.tgz", + "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==", + "dev": true, + "requires": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.0", + "trim-repeated": "^1.0.0" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "dependencies": { + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "find-versions": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.1.0.tgz", + "integrity": "sha512-NCTfNiVzeE/xL+roNDffGuRbrWI6atI18lTJ22vKp7rs2OhYzMK3W1dIdO2TUndH/QMcacM4d1uWwgcZcHK69Q==", + "dev": true, + "optional": true, + "requires": { + "array-uniq": "^2.1.0", + "semver-regex": "^2.0.0" + } + }, + "findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "dependencies": { + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + } + } + }, + "fined": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", + "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" + } + }, + "flagged-respawn": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", + "dev": true + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "fork-stream": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/fork-stream/-/fork-stream-0.0.4.tgz", + "integrity": "sha1-24Sfznf2cIpfjzhq5TOgkHtUrnA=", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "fs-mkdirp-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", + "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "through2": "^2.0.3" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", + "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.12.1", + "node-pre-gyp": "^0.12.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "minipass": { + "version": "2.3.5", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.3.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "^4.1.0", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.12.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.7.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "3.0.3", + "bundled": true, + "dev": true + } + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "get-proxy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", + "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==", + "dev": true, + "requires": { + "npm-conf": "^1.1.0" + } + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "gifsicle": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/gifsicle/-/gifsicle-4.0.1.tgz", + "integrity": "sha512-A/kiCLfDdV+ERV/UB+2O41mifd+RxH8jlRG8DMxZO84Bma/Fw0htqZ+hY2iaalLRNyUu7tYZQslqUBJxBggxbg==", + "dev": true, + "optional": true, + "requires": { + "bin-build": "^3.0.0", + "bin-wrapper": "^4.0.0", + "execa": "^1.0.0", + "logalot": "^2.0.0" + }, + "dependencies": { + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "optional": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "optional": true, + "requires": { + "pump": "^3.0.0" + } + } + } + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "glob-stream": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", + "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=", + "dev": true, + "requires": { + "extend": "^3.0.0", + "glob": "^7.1.1", + "glob-parent": "^3.1.0", + "is-negated-glob": "^1.0.0", + "ordered-read-streams": "^1.0.0", + "pumpify": "^1.3.5", + "readable-stream": "^2.1.5", + "remove-trailing-separator": "^1.0.1", + "to-absolute-glob": "^2.0.0", + "unique-stream": "^2.0.2" + } + }, + "glob-watcher": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.3.tgz", + "integrity": "sha512-8tWsULNEPHKQ2MR4zXuzSmqbdyV5PtwwCaWSGQ1WwHsJ07ilNeN1JB8ntxhckbnpSHaf9dXFUHzIWvm1I13dsg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-done": "^1.2.0", + "chokidar": "^2.0.0", + "is-negated-glob": "^1.0.0", + "just-debounce": "^1.0.0", + "object.defaults": "^1.1.0" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "globby": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz", + "integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "dependencies": { + "@nodelib/fs.stat": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.2.tgz", + "integrity": "sha512-z8+wGWV2dgUhLqrtRYa03yDx4HWMvXKi1z8g3m2JyxAx8F7xk74asqPk5LAETjqDSGLFML/6CDl0+yFunSYicw==", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "fast-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.0.4.tgz", + "integrity": "sha512-wkIbV6qg37xTJwqSsdnIphL1e+LaGz4AIQqr00mIubMaEhv1/HEmJ0uuCGZRNRUkZZmOB5mJKO0ZUTVq+SxMQg==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.1", + "@nodelib/fs.walk": "^1.2.1", + "glob-parent": "^5.0.0", + "is-glob": "^4.0.1", + "merge2": "^1.2.3", + "micromatch": "^4.0.2" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "glob-parent": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "glogg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz", + "integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + } + }, + "got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", + "dev": true, + "optional": true, + "requires": { + "decompress-response": "^3.2.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-plain-obj": "^1.1.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^1.1.1", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "url-parse-lax": "^1.0.0", + "url-to-options": "^1.0.1" + } + }, + "graceful-fs": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", + "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==", + "dev": true + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "dev": true + }, + "gulp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz", + "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==", + "dev": true, + "requires": { + "glob-watcher": "^5.0.3", + "gulp-cli": "^2.2.0", + "undertaker": "^1.2.1", + "vinyl-fs": "^3.0.0" + }, + "dependencies": { + "gulp-cli": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.2.0.tgz", + "integrity": "sha512-rGs3bVYHdyJpLqR0TUBnlcZ1O5O++Zs4bA0ajm+zr3WFCfiSLjGwoCBqFs18wzN+ZxahT9DkOK5nDf26iDsWjA==", + "dev": true, + "requires": { + "ansi-colors": "^1.0.1", + "archy": "^1.0.0", + "array-sort": "^1.0.0", + "color-support": "^1.1.3", + "concat-stream": "^1.6.0", + "copy-props": "^2.0.1", + "fancy-log": "^1.3.2", + "gulplog": "^1.0.0", + "interpret": "^1.1.0", + "isobject": "^3.0.1", + "liftoff": "^3.1.0", + "matchdep": "^2.0.0", + "mute-stdout": "^1.0.0", + "pretty-hrtime": "^1.0.0", + "replace-homedir": "^1.0.0", + "semver-greatest-satisfied-range": "^1.1.0", + "v8flags": "^3.0.1", + "yargs": "^7.1.0" + } + } + } + }, + "gulp-if": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/gulp-if/-/gulp-if-3.0.0.tgz", + "integrity": "sha512-fCUEngzNiEZEK2YuPm+sdMpO6ukb8+/qzbGfJBXyNOXz85bCG7yBI+pPSl+N90d7gnLvMsarthsAImx0qy7BAw==", + "dev": true, + "requires": { + "gulp-match": "^1.1.0", + "ternary-stream": "^3.0.0", + "through2": "^3.0.1" + }, + "dependencies": { + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "dev": true, + "requires": { + "readable-stream": "2 || 3" + } + } + } + }, + "gulp-imagemin": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/gulp-imagemin/-/gulp-imagemin-6.1.0.tgz", + "integrity": "sha512-0TPkak5BsiRfw+kfcKwIcODbOHHcTyvBM9arlRSwXdUVzrGAcq/7urZoOQD5n4uWvKhjg+l9/yn1GDZsDuWUow==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "fancy-log": "^1.3.2", + "imagemin": "^7.0.0", + "imagemin-gifsicle": "^6.0.1", + "imagemin-jpegtran": "^6.0.0", + "imagemin-optipng": "^7.0.0", + "imagemin-svgo": "^7.0.0", + "plugin-error": "^1.0.1", + "plur": "^3.0.1", + "pretty-bytes": "^5.3.0", + "through2-concurrent": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "pretty-bytes": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.3.0.tgz", + "integrity": "sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0/lQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "gulp-livereload": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gulp-livereload/-/gulp-livereload-4.0.2.tgz", + "integrity": "sha512-InmaR50Xl1xB1WdEk4mrUgGHv3VhhlRLrx7u60iY5AAer90FlK95KXitPcGGQoi28zrUJM189d/h6+V470Ncgg==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "debug": "^3.1.0", + "fancy-log": "^1.3.2", + "lodash.assign": "^4.2.0", + "readable-stream": "^3.0.6", + "tiny-lr": "^1.1.1", + "vinyl": "^2.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true + }, + "clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "dev": true + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "replace-ext": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "vinyl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", + "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==", + "dev": true, + "requires": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + } + } + } + }, + "gulp-match": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/gulp-match/-/gulp-match-1.1.0.tgz", + "integrity": "sha512-DlyVxa1Gj24DitY2OjEsS+X6tDpretuxD6wTfhXE/Rw2hweqc1f6D/XtsJmoiCwLWfXgR87W9ozEityPCVzGtQ==", + "dev": true, + "requires": { + "minimatch": "^3.0.3" + } + }, + "gulp-replace": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulp-replace/-/gulp-replace-1.0.0.tgz", + "integrity": "sha512-lgdmrFSI1SdhNMXZQbrC75MOl1UjYWlOWNbNRnz+F/KHmgxt3l6XstBoAYIdadwETFyG/6i+vWUSCawdC3pqOw==", + "dev": true, + "requires": { + "istextorbinary": "2.2.1", + "readable-stream": "^2.0.1", + "replacestream": "^4.0.0" + } + }, + "gulp-zip": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/gulp-zip/-/gulp-zip-5.0.0.tgz", + "integrity": "sha512-oR3t8kn+ccHkSyRcBV5kBLPXrhqTh5d6wBAR7r7wqjNQNBhYvOwPedCwlAaGcNl1qSeXNDn6qOk1Qyxvx9Wrow==", + "dev": true, + "requires": { + "get-stream": "^5.1.0", + "plugin-error": "^1.0.1", + "through2": "^3.0.1", + "vinyl": "^2.1.0", + "yazl": "^2.5.1" + }, + "dependencies": { + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "dev": true, + "requires": { + "readable-stream": "2 || 3" + } + } + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "dev": true, + "requires": { + "glogg": "^1.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", + "dev": true + }, + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true + }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "dev": true, + "requires": { + "has-symbol-support-x": "^1.4.1" + } + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoist-non-react-statics": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz", + "integrity": "sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA==", + "requires": { + "react-is": "^16.7.0" + } + }, + "homedir-polyfill": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", + "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", + "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", + "dev": true + }, + "html-comment-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", + "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", + "dev": true, + "optional": true + }, + "http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", + "dev": true, + "optional": true + }, + "http-parser-js": { + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", + "dev": true + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "ieee754": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", + "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", + "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==", + "dev": true + }, + "imagemin": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-7.0.0.tgz", + "integrity": "sha512-TXvCSSIYl4KQUASur9S0+E4olVECzvxvZABU9rNqsza7vzIrUQMRTjyczGf8OmtcgvZ9jOYyinXW3epOpd/04A==", + "dev": true, + "requires": { + "file-type": "^12.0.0", + "globby": "^10.0.0", + "junk": "^3.1.0", + "make-dir": "^3.0.0", + "p-pipe": "^3.0.0", + "replace-ext": "^1.0.0" + } + }, + "imagemin-gifsicle": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/imagemin-gifsicle/-/imagemin-gifsicle-6.0.1.tgz", + "integrity": "sha512-kuu47c6iKDQ6R9J10xCwL0lgs0+sMz3LRHqRcJ2CRBWdcNmo3T5hUaM8hSZfksptZXJLGKk8heSAvwtSdB1Fng==", + "dev": true, + "optional": true, + "requires": { + "exec-buffer": "^3.0.0", + "gifsicle": "^4.0.0", + "is-gif": "^3.0.0" + } + }, + "imagemin-jpegtran": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/imagemin-jpegtran/-/imagemin-jpegtran-6.0.0.tgz", + "integrity": "sha512-Ih+NgThzqYfEWv9t58EItncaaXIHR0u9RuhKa8CtVBlMBvY0dCIxgQJQCfwImA4AV1PMfmUKlkyIHJjb7V4z1g==", + "dev": true, + "optional": true, + "requires": { + "exec-buffer": "^3.0.0", + "is-jpg": "^2.0.0", + "jpegtran-bin": "^4.0.0" + } + }, + "imagemin-optipng": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/imagemin-optipng/-/imagemin-optipng-7.0.0.tgz", + "integrity": "sha512-N40bmLgiyv5H8xFp/RYmWKdg6Z19MGqzcNW+IWXG7VPrLV75NbcOn8y6A7eZcSHOCNW+DqBx+b95yw+Tf6Sl/g==", + "dev": true, + "optional": true, + "requires": { + "exec-buffer": "^3.0.0", + "is-png": "^2.0.0", + "optipng-bin": "^6.0.0" + } + }, + "imagemin-svgo": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/imagemin-svgo/-/imagemin-svgo-7.0.0.tgz", + "integrity": "sha512-+iGJFaPIMx8TjFW6zN+EkOhlqcemdL7F3N3Y0wODvV2kCUBuUtZK7DRZc1+Zfu4U2W/lTMUyx2G8YMOrZntIWg==", + "dev": true, + "optional": true, + "requires": { + "is-svg": "^3.0.0", + "svgo": "^1.0.5" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "import-lazy": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz", + "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==", + "dev": true, + "optional": true + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "interpret": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", + "dev": true + }, + "into-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", + "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", + "dev": true, + "optional": true, + "requires": { + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "irregular-plurals": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-2.0.0.tgz", + "integrity": "sha512-Y75zBYLkh0lJ9qxeHlMjQ7bSbyiSqNW/UOPWDmzC7cXskL1hekSITh1Oc6JV0XCWWZ9DE8VYSB71xocLk3gmGw==", + "dev": true + }, + "is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "requires": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "^1.0.0" + } + }, + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", + "dev": true + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-gif": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-gif/-/is-gif-3.0.0.tgz", + "integrity": "sha512-IqJ/jlbw5WJSNfwQ/lHEDXF8rxhRgF6ythk2oiEvhpG29F704eX9NO6TvPfMiq9DrbwgcEDnETYNcZDPewQoVw==", + "dev": true, + "optional": true, + "requires": { + "file-type": "^10.4.0" + }, + "dependencies": { + "file-type": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-10.11.0.tgz", + "integrity": "sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==", + "dev": true, + "optional": true + } + } + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + }, + "is-jpg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-jpg/-/is-jpg-2.0.0.tgz", + "integrity": "sha1-LhmX+m6RZuqsAkLarkQ0A+TvHZc=", + "dev": true, + "optional": true + }, + "is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=", + "dev": true + }, + "is-negated-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", + "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", + "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=", + "dev": true + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true + }, + "is-path-inside": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.1.tgz", + "integrity": "sha512-CKstxrctq1kUesU6WhtZDbYKzzYBuRH0UYInAVrkc/EYdB9ltbfE0gOoayG9nhohG6447sOOVGhHqsdmBvkbNg==", + "dev": true + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-png": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-png/-/is-png-2.0.0.tgz", + "integrity": "sha512-4KPGizaVGj2LK7xwJIz8o5B2ubu1D/vcQsgOGFEDlpcvgZHto4gBnyd0ig7Ws+67ixmwKoNmu0hYnpo6AaKb5g==", + "dev": true, + "optional": true + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "requires": { + "has": "^1.0.1" + } + }, + "is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "requires": { + "is-unc-path": "^1.0.0" + } + }, + "is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-svg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", + "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", + "dev": true, + "optional": true, + "requires": { + "html-comment-regex": "^1.1.0" + } + }, + "is-symbol": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", + "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.0" + } + }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "requires": { + "unc-path-regex": "^0.1.2" + } + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-valid-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", + "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "istextorbinary": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-2.2.1.tgz", + "integrity": "sha512-TS+hoFl8Z5FAFMK38nhBkdLt44CclNRgDHWeMgsV8ko3nDlr/9UI2Sf839sW7enijf8oKsZYXRvM8g0it9Zmcw==", + "dev": true, + "requires": { + "binaryextensions": "2", + "editions": "^1.3.3", + "textextensions": "2" + } + }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "dev": true, + "requires": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + } + }, + "jpegtran-bin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jpegtran-bin/-/jpegtran-bin-4.0.0.tgz", + "integrity": "sha512-2cRl1ism+wJUoYAYFt6O/rLBfpXNWG2dUWbgcEkTt5WGMnqI46eEro8T4C5zGROxKRqyKpCBSdHPvt5UYCtxaQ==", + "dev": true, + "optional": true, + "requires": { + "bin-build": "^3.0.0", + "bin-wrapper": "^4.0.0", + "logalot": "^2.0.0" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "dev": true, + "optional": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "jsx-ast-utils": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz", + "integrity": "sha512-v3FxCcAf20DayI+uxnCuw795+oOIkVu6EnJ1+kSzhqqTZHNkTZ7B66ZgLp4oLJ/gbA64cI0B7WRoHZMSRdyVRQ==", + "dev": true, + "requires": { + "array-includes": "^3.0.3", + "object.assign": "^4.1.0" + } + }, + "junk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz", + "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==", + "dev": true + }, + "just-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.0.0.tgz", + "integrity": "sha1-h/zPrv/AtozRnVX2cilD+SnqNeo=", + "dev": true + }, + "keyv": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", + "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", + "dev": true, + "optional": true, + "requires": { + "json-buffer": "3.0.0" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "last-run": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", + "integrity": "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=", + "dev": true, + "requires": { + "default-resolution": "^2.0.0", + "es6-weak-map": "^2.0.1" + } + }, + "lazystream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "dev": true, + "requires": { + "readable-stream": "^2.0.5" + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "lead": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", + "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=", + "dev": true, + "requires": { + "flush-write-stream": "^1.0.2" + } + }, + "liftoff": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", + "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==", + "dev": true, + "requires": { + "extend": "^3.0.0", + "findup-sync": "^3.0.0", + "fined": "^1.0.1", + "flagged-respawn": "^1.0.0", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.0", + "rechoir": "^0.6.2", + "resolve": "^1.1.7" + } + }, + "livereload-js": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz", + "integrity": "sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==", + "dev": true + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + } + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "dependencies": { + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "dev": true + }, + "lodash.unescape": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz", + "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=", + "dev": true + }, + "logalot": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz", + "integrity": "sha1-X46MkNME7fElMJUaVVSruMXj9VI=", + "dev": true, + "optional": true, + "requires": { + "figures": "^1.3.5", + "squeak": "^1.0.0" + }, + "dependencies": { + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "optional": true, + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + } + } + } + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true, + "optional": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "optional": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "lpad-align": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/lpad-align/-/lpad-align-1.1.2.tgz", + "integrity": "sha1-IfYArBwwlcPG5JfuZyce4ISB/p4=", + "dev": true, + "optional": true, + "requires": { + "get-stdin": "^4.0.1", + "indent-string": "^2.1.0", + "longest": "^1.0.0", + "meow": "^3.3.0" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "make-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz", + "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "make-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "mamacro": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", + "dev": true + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "matchdep": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", + "integrity": "sha1-xvNINKDY28OzfCfui7yyfHd1WC4=", + "dev": true, + "requires": { + "findup-sync": "^2.0.0", + "micromatch": "^3.0.4", + "resolve": "^1.4.0", + "stack-trace": "0.0.10" + }, + "dependencies": { + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + } + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "dev": true, + "optional": true + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + }, + "dependencies": { + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "dev": true + } + } + }, + "memoize-one": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.1.1.tgz", + "integrity": "sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA==" + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "optional": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true, + "optional": true + } + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.3.tgz", + "integrity": "sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mime-db": { + "version": "1.41.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.41.0.tgz", + "integrity": "sha512-B5gxBI+2K431XW8C2rcc/lhppbuji67nf9v39eH8pkWoZDxnAL0PxdpH32KYRScniF8qDHBDlI+ipgg5WrCUYw==", + "dev": true + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "mute-stdout": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", + "integrity": "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==", + "dev": true + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "dev": true, + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", + "dev": true + }, + "next-tick": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", + "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==", + "dev": true + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "timers-browserify": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", + "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + } + } + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "normalize-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "dev": true, + "optional": true, + "requires": { + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" + }, + "dependencies": { + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true, + "optional": true + }, + "sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", + "dev": true, + "optional": true, + "requires": { + "is-plain-obj": "^1.0.0" + } + } + } + }, + "now-and-later": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz", + "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==", + "dev": true, + "requires": { + "once": "^1.3.2" + } + }, + "npm-conf": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", + "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", + "dev": true, + "requires": { + "config-chain": "^1.1.11", + "pify": "^3.0.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, + "optional": true, + "requires": { + "boolbase": "~1.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", + "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==", + "dev": true + }, + "object-keys": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", + "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "dev": true, + "requires": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "object.entries": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.0.tgz", + "integrity": "sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.12.0", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "object.fromentries": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.0.tgz", + "integrity": "sha512-9iLiI6H083uiqUuvzyY6qrlmc/Gz8hLQFOcb/Ri/0xXFkSNS3ctV+CbE6yM2+AnkYfOB3dGjdzC0wrMLIhQICA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.11.0", + "function-bind": "^1.1.1", + "has": "^1.0.1" + } + }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "dev": true, + "optional": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" + } + }, + "object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "object.reduce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz", + "integrity": "sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60=", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "object.values": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz", + "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.12.0", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optipng-bin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/optipng-bin/-/optipng-bin-6.0.0.tgz", + "integrity": "sha512-95bB4y8IaTsa/8x6QH4bLUuyvyOoGBCLDA7wOgDL8UFqJpSUh1Hob8JRJhit+wC1ZLN3tQ7mFt7KuBj0x8F2Wg==", + "dev": true, + "optional": true, + "requires": { + "bin-build": "^3.0.0", + "bin-wrapper": "^4.0.0", + "logalot": "^2.0.0" + } + }, + "ordered-read-streams": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", + "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-filter-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-2.0.0.tgz", + "integrity": "sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==", + "dev": true, + "optional": true, + "requires": { + "arch": "^2.1.0" + } + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "^1.0.0" + } + }, + "p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", + "dev": true, + "optional": true + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true + }, + "p-event": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-1.3.0.tgz", + "integrity": "sha1-jmtPT2XHK8W2/ii3XtqHT5akoIU=", + "dev": true, + "optional": true, + "requires": { + "p-timeout": "^1.1.1" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-is-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", + "dev": true, + "optional": true + }, + "p-limit": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-map-series": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-1.0.0.tgz", + "integrity": "sha1-v5j+V1cFZYqeE1G++4WuTB8Hvco=", + "dev": true, + "optional": true, + "requires": { + "p-reduce": "^1.0.0" + } + }, + "p-pipe": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-3.0.0.tgz", + "integrity": "sha512-gwwdRFmaxsT3IU+Tl3vYKVRdjfhg8Bbdjw7B+E0y6F7Yz6l+eaQLn0BRmGMXIhcPDONPtOkMoNwx1etZh4zPJA==", + "dev": true + }, + "p-reduce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", + "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", + "dev": true, + "optional": true + }, + "p-timeout": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", + "dev": true, + "requires": { + "p-finally": "^1.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pako": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", + "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", + "dev": true + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "parse-asn1": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "dev": true, + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "dev": true, + "requires": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "parse-node-version": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.0.tgz", + "integrity": "sha512-02GTVHD1u0nWc20n2G7WX/PgdhNFG04j5fi1OkaJzPWLTcf6vh6229Lta1wTmXG/7Dg42tCssgkccVt7qvd8Kg==", + "dev": true + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "dev": true, + "requires": { + "path-root-regex": "^0.1.0" + } + }, + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", + "dev": true + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "picomatch": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz", + "integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + } + } + }, + "plugin-error": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", + "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", + "dev": true, + "requires": { + "ansi-colors": "^1.0.1", + "arr-diff": "^4.0.0", + "arr-union": "^3.1.0", + "extend-shallow": "^3.0.2" + } + }, + "plur": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/plur/-/plur-3.1.1.tgz", + "integrity": "sha512-t1Ax8KUvV3FFII8ltczPn2tJdjqbd1sIzu6t4JL7nQ3EyeL/lTrj5PWKb06ic5/6XYDr65rQ4uzQEGN70/6X5w==", + "dev": true, + "requires": { + "irregular-plurals": "^2.0.0" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true, + "optional": true + }, + "prettier": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.18.2.tgz", + "integrity": "sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw==", + "dev": true + }, + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + }, + "dependencies": { + "react-is": { + "version": "16.9.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.9.0.tgz", + "integrity": "sha512-tJBzzzIgnnRfEm046qRcURvwQnZVXmuCbscxUO5RWrGTXpon2d4c8mI0D8WE6ydVIm29JiLB6+RslkIvym9Rjw==" + } + } + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", + "dev": true + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true, + "optional": true + }, + "qs": { + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.0.tgz", + "integrity": "sha512-27RP4UotQORTpmNQDX8BHPukOnBP3p1uUJY5UnDhaJB+rMt9iMsok724XL+UHU23bEFOHRMQ2ZhI99qOWUMGFA==" + }, + "query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "dev": true, + "optional": true, + "requires": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "requires": { + "performance-now": "^2.1.0" + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "raw-body": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz", + "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=", + "dev": true, + "requires": { + "bytes": "1", + "string_decoder": "0.10" + }, + "dependencies": { + "string_decoder": { + "version": "0.10.31", + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "react": { + "version": "16.9.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.9.0.tgz", + "integrity": "sha512-+7LQnFBwkiw+BobzOF6N//BdoNw0ouwmSJTEm9cglOOmsg/TMiFHZLe2sEoN5M7LgJTj9oHH0gxklfnQe66S1w==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + } + }, + "react-dom": { + "version": "16.9.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.9.0.tgz", + "integrity": "sha512-YFT2rxO9hM70ewk9jq0y6sQk8cL02xm4+IzYBz75CQGlClQQ1Bxq0nhHF6OtSbit+AIahujJgb/CPRibFkMNJQ==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.15.0" + } + }, + "react-input-autosize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-2.2.1.tgz", + "integrity": "sha512-3+K4CD13iE4lQQ2WlF8PuV5htfmTRLH6MDnfndHM6LuBRszuXnuyIfE7nhSKt8AzRBZ50bu0sAhkNMeS5pxQQA==", + "requires": { + "prop-types": "^15.5.8" + } + }, + "react-is": { + "version": "16.9.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.9.0.tgz", + "integrity": "sha512-tJBzzzIgnnRfEm046qRcURvwQnZVXmuCbscxUO5RWrGTXpon2d4c8mI0D8WE6ydVIm29JiLB6+RslkIvym9Rjw==" + }, + "react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "react-redux": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.1.1.tgz", + "integrity": "sha512-QsW0vcmVVdNQzEkrgzh2W3Ksvr8cqpAv5FhEk7tNEft+5pp7rXxAudTz3VOPawRkLIepItpkEIyLcN/VVXzjTg==", + "requires": { + "@babel/runtime": "^7.5.5", + "hoist-non-react-statics": "^3.3.0", + "invariant": "^2.2.4", + "loose-envify": "^1.4.0", + "prop-types": "^15.7.2", + "react-is": "^16.9.0" + } + }, + "react-select": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/react-select/-/react-select-3.0.5.tgz", + "integrity": "sha512-2tBXZ1XSqbk2boMUzSmKXwGl/6W46VkSMSLMy+ShccOVyD1kDTLPwLX7lugISkRMmL0v5BcLtriXOLfYwO0otw==", + "requires": { + "@babel/runtime": "^7.4.4", + "@emotion/cache": "^10.0.9", + "@emotion/core": "^10.0.9", + "@emotion/css": "^10.0.9", + "classnames": "^2.2.5", + "memoize-one": "^5.0.0", + "prop-types": "^15.6.0", + "raf": "^3.4.0", + "react-input-autosize": "^2.2.1", + "react-transition-group": "^2.2.1" + } + }, + "react-transition-group": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz", + "integrity": "sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==", + "requires": { + "dom-helpers": "^3.4.0", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2", + "react-lifecycles-compat": "^3.0.4" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "dev": true + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "string_decoder": { + "version": "1.1.1", + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "optional": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "redux": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.4.tgz", + "integrity": "sha512-vKv4WdiJxOWKxK0yRoaK3Y4pxxB0ilzVx6dszU2W8wLxlb2yikRph4iV/ymtdJ6ZxpBLFbyrxklnT5yBbQSl3Q==", + "requires": { + "loose-envify": "^1.4.0", + "symbol-observable": "^1.2.0" + } + }, + "redux-logger": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/redux-logger/-/redux-logger-3.0.6.tgz", + "integrity": "sha1-91VZZvMJjzyIYExEnPC69XeCdL8=", + "requires": { + "deep-diff": "^0.3.5" + } + }, + "redux-thunk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.3.0.tgz", + "integrity": "sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw==" + }, + "regenerator-runtime": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", + "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==" + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true + }, + "remove-bom-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", + "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5", + "is-utf8": "^0.2.1" + } + }, + "remove-bom-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz", + "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=", + "dev": true, + "requires": { + "remove-bom-buffer": "^3.0.0", + "safe-buffer": "^5.1.0", + "through2": "^2.0.3" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "replace-ext": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", + "dev": true + }, + "replace-homedir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz", + "integrity": "sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1", + "is-absolute": "^1.0.0", + "remove-trailing-separator": "^1.1.0" + } + }, + "replacestream": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/replacestream/-/replacestream-4.0.3.tgz", + "integrity": "sha512-AC0FiLS352pBBiZhd4VXB1Ab/lh0lEgpP+GGvZqbQh8a5cmXVoTe5EX/YeTFArnp4SRGTHh1qCHu9lGs1qG8sA==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.3", + "object-assign": "^4.0.1", + "readable-stream": "^2.0.2" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "resolve": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "dev": true, + "requires": { + "path-parse": "^1.0.5" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + }, + "resolve-options": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", + "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=", + "dev": true, + "requires": { + "value-or-function": "^3.0.0" + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, + "optional": true, + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "run-parallel": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", + "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==", + "dev": true + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, + "rxjs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", + "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-json-parse": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz", + "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true, + "optional": true + }, + "scheduler": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.15.0.tgz", + "integrity": "sha512-xAefmSfN6jqAa7Kuq7LIJY0bwAPG3xlCj0HMEBQk1lxYiDKZscY2xJ5U/61ZTrYbmNQbXa+gc7czPkVo11tnCg==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "seek-bzip": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", + "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", + "dev": true, + "requires": { + "commander": "~2.8.1" + } + }, + "semver": { + "version": "4.3.6", + "resolved": "http://registry.npmjs.org/semver/-/semver-4.3.6.tgz", + "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", + "dev": true + }, + "semver-greatest-satisfied-range": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", + "integrity": "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=", + "dev": true, + "requires": { + "sver-compat": "^1.5.0" + } + }, + "semver-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz", + "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==", + "dev": true, + "optional": true + }, + "semver-truncate": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz", + "integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=", + "dev": true, + "optional": true, + "requires": { + "semver": "^5.3.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "optional": true + } + } + }, + "serialize-javascript": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", + "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "sort-keys-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", + "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=", + "dev": true, + "requires": { + "sort-keys": "^1.0.0" + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "dev": true, + "requires": { + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "sparkles": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", + "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", + "dev": true + }, + "spawn-command": { + "version": "0.0.2-1", + "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", + "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=", + "dev": true + }, + "spdx-correct": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.2.tgz", + "integrity": "sha512-q9hedtzyXHr5S0A1vEPoK/7l8NpfkFYTq6iCY+Pno2ZbdZR6WexZFtqeVGkGxW3TEJMN914Z55EnAGMmenlIQQ==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.2.tgz", + "integrity": "sha512-qky9CVt0lVIECkEsYbNILVnPvycuEBkXoMFLRWsREkomQLevYhtRKC+R91a5TOAQ3bCMjikRwhyaRqj1VYatYg==", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "squeak": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/squeak/-/squeak-1.3.0.tgz", + "integrity": "sha1-MwRQN7ZDiLVnZ0uEMiplIQc5FsM=", + "dev": true, + "optional": true, + "requires": { + "chalk": "^1.0.0", + "console-stream": "^0.1.1", + "lpad-align": "^1.0.1" + } + }, + "ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true, + "optional": true + }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-exhaust": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", + "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==", + "dev": true + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true, + "optional": true + }, + "string-template": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", + "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string.prototype.trimleft": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", + "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", + "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", + "dev": true + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "dev": true, + "requires": { + "is-natural-number": "^4.0.1" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "optional": true, + "requires": { + "get-stdin": "^4.0.1" + } + }, + "strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true, + "optional": true + }, + "sver-compat": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz", + "integrity": "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=", + "dev": true, + "requires": { + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" + } + }, + "svgo": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.0.tgz", + "integrity": "sha512-MLfUA6O+qauLDbym+mMZgtXCGRfIxyQoeH6IKVcFslyODEe/ElJNwr0FohQ3xG4C6HK6bk3KYPPXwHVJk3V5NQ==", + "dev": true, + "optional": true, + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.33", + "csso": "^3.5.1", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "optional": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "optional": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, + "tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dev": true, + "requires": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + } + }, + "temp-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", + "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=", + "dev": true + }, + "tempfile": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz", + "integrity": "sha1-awRGhWqbERTRhW/8vlCczLCXcmU=", + "dev": true, + "requires": { + "temp-dir": "^1.0.0", + "uuid": "^3.0.1" + } + }, + "ternary-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ternary-stream/-/ternary-stream-3.0.0.tgz", + "integrity": "sha512-oIzdi+UL/JdktkT+7KU5tSIQjj8pbShj3OASuvDEhm0NT5lppsm7aXWAmAq4/QMaBIyfuEcNLbAQA+HpaISobQ==", + "dev": true, + "requires": { + "duplexify": "^4.1.1", + "fork-stream": "^0.0.4", + "merge-stream": "^2.0.0", + "through2": "^3.0.1" + }, + "dependencies": { + "duplexify": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.1.tgz", + "integrity": "sha512-DY3xVEmVHTv1wSzKNbwoU6nVjzI369Y6sPoqfYr0/xlx3IdX2n94xIszTcjPO8W8ZIv0Wb0PXNcjuZyT4wiICA==", + "dev": true, + "requires": { + "end-of-stream": "^1.4.1", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "stream-shift": "^1.0.0" + } + }, + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "dev": true, + "requires": { + "readable-stream": "2 || 3" + } + } + } + }, + "terser": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.3.2.tgz", + "integrity": "sha512-obxk4x19Zlzj9zY4QeXj9iPCb5W8YGn4v3pn4/fHj0Nw8+R7N02Kvwvz9VpOItCZZD8RC+vnYCDL0gP6FAJ7Xg==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "commander": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz", + "integrity": "sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==", + "dev": true, + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^1.7.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "textextensions": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-2.4.0.tgz", + "integrity": "sha512-qftQXnX1DzpSV8EddtHIT0eDDEiBF8ywhFYR2lI9xrGtxqKN+CvLXhACeCIGbCpQfxxERbrkZEFb8cZcDKbVZA==", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "through2-concurrent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/through2-concurrent/-/through2-concurrent-2.0.0.tgz", + "integrity": "sha512-R5/jLkfMvdmDD+seLwN7vB+mhbqzWop5fAjx5IX8/yQq7VhBhzDmhXgaHAOnhnWkCpRMM7gToYHycB0CS/pd+A==", + "dev": true, + "requires": { + "through2": "^2.0.0" + } + }, + "through2-filter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", + "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", + "dev": true, + "requires": { + "through2": "~2.0.0", + "xtend": "~4.0.0" + } + }, + "time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", + "dev": true + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "dev": true + }, + "tiny-lr": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz", + "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==", + "dev": true, + "requires": { + "body": "^5.1.0", + "debug": "^3.1.0", + "faye-websocket": "~0.10.0", + "livereload-js": "^2.3.0", + "object-assign": "^4.1.0", + "qs": "^6.4.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "to-absolute-glob": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", + "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=", + "dev": true, + "requires": { + "is-absolute": "^1.0.0", + "is-negated-glob": "^1.0.0" + } + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "to-through": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz", + "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=", + "dev": true, + "requires": { + "through2": "^2.0.3" + } + }, + "tree-kill": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.1.tgz", + "integrity": "sha512-4hjqbObwlh2dLyW4tcz0Ymw0ggoaVDMveUB9w8kFSQScdRLo0gxO9J7WFcUBo+W3C1TLdFIEwNOWebgZZ0RH9Q==", + "dev": true + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true, + "optional": true + }, + "trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "ts-loader": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-6.1.2.tgz", + "integrity": "sha512-dudxFKm0Ellrg/gLNlu+97/UgwvoMK0SdUVImPUSzq3IcRUVtShylZvcMX+CgvCQL1BEKb913NL0gAP1GA/OFw==", + "dev": true, + "requires": { + "chalk": "^2.3.0", + "enhanced-resolve": "^4.0.0", + "loader-utils": "^1.0.2", + "micromatch": "^4.0.0", + "semver": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", + "dev": true + }, + "tsutils": { + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", + "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "typescript": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.6.3.tgz", + "integrity": "sha512-N7bceJL1CtRQ2RiG0AQME13ksR7DiuQh/QehubYcghzv20tnh+MQnQIuJddTmsbqYj+dztchykemz0zFzlvdQw==", + "dev": true + }, + "unbzip2-stream": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz", + "integrity": "sha512-fUlAF7U9Ah1Q6EieQ4x4zLNejrRvDWUYmxXUpN3uziFYCHapjWFaCAnreY9bGgxzaMCFAPPpYNng57CypwJVhg==", + "dev": true, + "requires": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", + "dev": true + }, + "undertaker": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.2.1.tgz", + "integrity": "sha512-71WxIzDkgYk9ZS+spIB8iZXchFhAdEo2YU8xYqBYJ39DIUIqziK78ftm26eecoIY49X0J2MLhG4hr18Yp6/CMA==", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "bach": "^1.0.0", + "collection-map": "^1.0.0", + "es6-weak-map": "^2.0.1", + "last-run": "^1.1.0", + "object.defaults": "^1.0.0", + "object.reduce": "^1.0.0", + "undertaker-registry": "^1.0.0" + } + }, + "undertaker-registry": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz", + "integrity": "sha1-XkvaMI5KiirlhPm5pDWaSZglzFA=", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unique-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", + "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==", + "dev": true, + "requires": { + "json-stable-stringify-without-jsonify": "^1.0.1", + "through2-filter": "^3.0.0" + } + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", + "dev": true, + "optional": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + } + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, + "optional": true, + "requires": { + "prepend-http": "^1.0.1" + } + }, + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", + "dev": true + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "optional": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "uuid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", + "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==", + "dev": true + }, + "v8flags": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz", + "integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "value-or-function": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", + "integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=", + "dev": true + }, + "vinyl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", + "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==", + "dev": true, + "requires": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + } + }, + "vinyl-fs": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz", + "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==", + "dev": true, + "requires": { + "fs-mkdirp-stream": "^1.0.0", + "glob-stream": "^6.1.0", + "graceful-fs": "^4.0.0", + "is-valid-glob": "^1.0.0", + "lazystream": "^1.0.0", + "lead": "^1.0.0", + "object.assign": "^4.0.4", + "pumpify": "^1.3.5", + "readable-stream": "^2.3.3", + "remove-bom-buffer": "^3.0.0", + "remove-bom-stream": "^1.2.0", + "resolve-options": "^1.1.0", + "through2": "^2.0.0", + "to-through": "^2.0.0", + "value-or-function": "^3.0.0", + "vinyl": "^2.0.0", + "vinyl-sourcemap": "^1.1.0" + } + }, + "vinyl-sourcemap": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", + "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=", + "dev": true, + "requires": { + "append-buffer": "^1.0.2", + "convert-source-map": "^1.5.0", + "graceful-fs": "^4.1.6", + "normalize-path": "^2.1.1", + "now-and-later": "^2.0.0", + "remove-bom-buffer": "^3.0.0", + "vinyl": "^2.0.0" + } + }, + "vm-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz", + "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==", + "dev": true + }, + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "dev": true, + "requires": { + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + } + }, + "webpack": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.0.tgz", + "integrity": "sha512-yNV98U4r7wX1VJAj5kyMsu36T8RPPQntcb5fJLOsMz/pt/WrKC0Vp1bAlqPLkA1LegSwQwf6P+kAbyhRKVQ72g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/wasm-edit": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "acorn": "^6.2.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.1", + "watchpack": "^1.6.0", + "webpack-sources": "^1.4.1" + }, + "dependencies": { + "acorn": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", + "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==", + "dev": true + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + } + } + }, + "webpack-cli": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.9.tgz", + "integrity": "sha512-xwnSxWl8nZtBl/AFJCOn9pG7s5CYUYdZxmmukv+fAHLcBIHM36dImfpQg3WfShZXeArkWlf6QRw24Klcsv8a5A==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "cross-spawn": "6.0.5", + "enhanced-resolve": "4.1.0", + "findup-sync": "3.0.0", + "global-modules": "2.0.0", + "import-local": "2.0.0", + "interpret": "1.2.0", + "loader-utils": "1.2.3", + "supports-color": "6.1.0", + "v8-compile-cache": "2.0.3", + "yargs": "13.2.4" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, + "requires": { + "invert-kv": "^2.0.0" + } + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "v8-compile-cache": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz", + "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==", + "dev": true + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yargs": { + "version": "13.2.4", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz", + "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.0" + } + }, + "yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "websocket-driver": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", + "dev": true, + "requires": { + "http-parser-js": ">=0.4.0 <0.4.11", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yargs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + } + } + }, + "yargs-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "dev": true, + "requires": { + "camelcase": "^3.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + } + } + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "yazl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", + "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3" + } + } + } +} diff --git a/browser/package.json b/browser/package.json new file mode 100644 index 00000000..78015c03 --- /dev/null +++ b/browser/package.json @@ -0,0 +1,52 @@ +{ + "name": "dnote-extension", + "description": "Dnote browser extension for Chrome and Firefox", + "scripts": { + "clean": "TARGET=firefox gulp clean && TARGET=chrome gulp clean", + "build:chrome": "TARGET=chrome NODE_ENV=production concurrently webpack \"gulp build\"", + "build:firefox": "TARGET=firefox NODE_ENV=production concurrently webpack \"gulp build\"", + "package:chrome": "TARGET=chrome NODE_ENV=production gulp package", + "package:firefox": "TARGET=firefox NODE_ENV=production gulp package", + "watch:chrome": "TARGET=chrome NODE_ENV=development concurrently \"webpack --watch\" \"gulp watch\" ", + "watch:firefox": "TARGET=firefox NODE_ENV=development concurrently \"webpack --watch\" \"gulp watch\" " + }, + "author": "Monomax Software Pty Ltd", + "license": "GPL-3.0-or-later", + "version": "1.0.0", + "dependencies": { + "classnames": "^2.2.5", + "lodash": "^4.17.15", + "qs": "^6.9.0", + "react": "^16.9.0", + "react-dom": "^16.9.0", + "react-redux": "^7.0.0", + "react-select": "^3.0.0", + "redux": "^4.0.4", + "redux-logger": "^3.0.6", + "redux-thunk": "^2.2.0" + }, + "devDependencies": { + "@types/react": "^16.9.3", + "@types/react-dom": "^16.9.1", + "@typescript-eslint/eslint-plugin": "^2.3.1", + "@typescript-eslint/parser": "^2.3.1", + "concurrently": "^4.1.2", + "del": "^5.0.0", + "eslint-config-airbnb": "^18.0.1", + "eslint-plugin-import": "^2.18.2", + "eslint-plugin-jsx-a11y": "^6.2.3", + "eslint-plugin-react": "^7.14.3", + "eslint-plugin-react-hooks": "^2.0.1", + "gulp": "^4.0.0", + "gulp-if": "^3.0.0", + "gulp-imagemin": "^6.0.0", + "gulp-livereload": "^4.0.2", + "gulp-replace": "^1.0.0", + "gulp-zip": "^5.0.0", + "prettier": "^1.18.2", + "ts-loader": "^6.1.2", + "typescript": "^3.6.3", + "webpack": "^4.41.0", + "webpack-cli": "^3.3.9" + } +} diff --git a/browser/scripts/build_prod.sh b/browser/scripts/build_prod.sh new file mode 100755 index 00000000..24050ca3 --- /dev/null +++ b/browser/scripts/build_prod.sh @@ -0,0 +1,14 @@ +#!/bin/bash +# build_prod.sh builds distributable archive for the addon +# remember to bump version in package.json +set -eux + +# clean +npm run clean + +# chrome +npm run build:chrome +npm run package:chrome +# firefox +npm run build:firefox +npm run package:firefox diff --git a/browser/scripts/zip.sh b/browser/scripts/zip.sh new file mode 100755 index 00000000..3b250894 --- /dev/null +++ b/browser/scripts/zip.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +tar --exclude='./node_modules' --exclude='./package' --exclude='./dist' -zcvf extension.tar.gz * .babelrc .eslintrc diff --git a/browser/src/browser.d.ts b/browser/src/browser.d.ts new file mode 100644 index 00000000..62aaf801 --- /dev/null +++ b/browser/src/browser.d.ts @@ -0,0 +1,3 @@ +// browser.d.ts +declare var browser: any; +declare var chrome: any; diff --git a/browser/src/global.d.ts b/browser/src/global.d.ts new file mode 100644 index 00000000..69777464 --- /dev/null +++ b/browser/src/global.d.ts @@ -0,0 +1,6 @@ +// global.d.ts + +// defined by webpack-define-plugin +declare var __API_ENDPOINT__: string; +declare var __WEB_URL__: string; +declare var __VERSION__: string; diff --git a/browser/src/images/close.svg b/browser/src/images/close.svg new file mode 100644 index 00000000..1e675311 --- /dev/null +++ b/browser/src/images/close.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/browser/src/images/hamberger-menu.svg b/browser/src/images/hamberger-menu.svg new file mode 100644 index 00000000..1dd2b78f --- /dev/null +++ b/browser/src/images/hamberger-menu.svg @@ -0,0 +1 @@ + diff --git a/browser/src/images/iconx128.png b/browser/src/images/iconx128.png new file mode 100644 index 0000000000000000000000000000000000000000..011a9d8f8abe895873b8490a8822e7a046ccac9e GIT binary patch literal 1402 zcmZux2~d+q6y87PhmZh?5abXcK#N35L1+n}211enL=Hj7ctAuzMDDAiL_t6~go2<+ z0mG?sRVY+B1X2b>z)%jcg2P>*DGCxbO2BBE*qP3>)0yvm@7wow-hMl?vss?*PAX^} zGyp)w#hK8(Oj=6zApS2pWcUmt_lN2*r&8 zKvNz@5LV_j&JLy6Gp%)ZzuUpzeT>UF8|;eiS}6JlM!{rDzEej?n$z=gmvbqWsf z#Z|k8taZmyn^_IFw8t-*Sl?tdW|TGsK@Ya9eK2^nank0ovV~5zKnNuQXG7U}0Q_`| znx&$UmcexwkS^rx@-3O0o*p6wN+dgiY5wLH+}Df?2is0}-GsGNGm?dQnn;88z7wyj z;$F>?JoD5j;xQ3cRh8G#*(s6oF8S>T3;lg1smw=gx;f|>aeaayNF+2n0e_jCevPeS}%EM=ZJrN$4sjvsSIBefxz*;Rw`T1 zEuGz$WmWR4uGGfp%U$p&sw|^L5m|O#>6h@0b6t9c1zb$|yI}#MMmh9Dy9q(+N7l}k3j^bkf&2$eaVh1GVN=dD2 z#E4dJF@wR#!(y>%L$L75q+qb{t3R~G?L!+0c5^NMIYN3cw8+&rVl@@Lc|bS7o3qC5 zB&uO;C3b@4-7BWq+B_38V4uYd-ILyE@}0QyF8Ef}7RRf^FI>4TKdV zB306+*!b2#w7?L&ZZ!2w&qsb zK;WmCC}>eamP+xX{mt+sGN^pwB|L+S-XLEyqe3|{gdG6~p0&`b5R0EKx_RnbLk}x} z9KqgTw$TJt*^4@^i^h4ZzE#-$cjF)S@zaoOp}Y)0TBySRivi$qUjy&ETzd-NZSxsz zw_&mKC^{GInb1mH(F{k(9q?-bOo`W$yD=Pm$3BNA6dbc(RsQ$Ph8NF&$D}^}>_%qj zKghp`n?qj^tZ_=SXpm)hbv89QSQ!o0<@Xcai|KSziU}O};mz2D9-C2r-SlXSf1_XH zL=shxXU7!r*F5$Pb z*=988eZG^p`RoSQNsG~<3r|{=F4#|n`|qy+Nwhtzi-?sh+yVxF9Gi}2mV=_V&!*N@ znBNpDrr5~dUB8j4^v2!_P^6=*KyRJ;$T@v^L_Ks?wx2*P5iW6=;fE8dh46dGQr(Jm z&?hC8P&c`N$pJ;qTX_zUW&SSN{4dy+a=vCK=K`u20Xq{oLi%_ZLVv)X@`%k}nzrRE zRfmQS5?N!!qZYcVQK-nPVFqVDcG|a3#!uxEI;UTs%cEwPTWG8Vs2_W78cj+LoQmzw za~fZMau7MGI55Bw);BDSUq%EO(#4f^;LfZz-=$7S_ko5{sjk|*Kd+m$wY4S2u~?FQ z(oJ;=uC`Z`8(|v${W_+O*ux=M8z;T4i0XSkzwJt2ealGF=by?Uk_@Rq(TmSkojl|P M7rHyG!SQ(NUmZ$daR2}S literal 0 HcmV?d00001 diff --git a/browser/src/images/iconx16.png b/browser/src/images/iconx16.png new file mode 100644 index 0000000000000000000000000000000000000000..3e8be0fea36b7f76311f5a712a54677f30e095fa GIT binary patch literal 362 zcmeAS@N?(olHy`uVBq!ia0vp^fmME7srqa#A6vyY2nx2eKE36_nb+p-nzeVr_yA=WbY zWWB?$RjaiAOD)R0)qJ~-A$5=6SI%h3s}Dc=u}02caPVA8TSW0A&fA5%Qxq-dGbg5#c3&v)p}MS#5zq!QkoY=d#Wz Gp$P!ohl%6> literal 0 HcmV?d00001 diff --git a/browser/src/images/iconx32.png b/browser/src/images/iconx32.png new file mode 100644 index 0000000000000000000000000000000000000000..ea23c53e5a105cadee02cd427f3271712ef50a9a GIT binary patch literal 517 zcmV+g0{Z=lP)ctXF1=2yV16xQ3=^)qv9XNJCF2IozIKgm%{Lf*@hQJa5CFAhT z?69y4|G)bl@Q8Y5R5xL>*&Nd}U6$TF8U+{&r~zRZTE6cG6V;^kdi?%i_^clDP6P1BaE)#}XRSfP#fM%`di$zsMu@%emyhPxe$M^W^` zai*3eNpf%;=Ya01(tr?0cPqp>NvI_(?s=YxkZ!SFzM47nEBy%GMKZ_HPkUGZqbUPQAH*wUf z#B&2GAkI5uP&3TB31jM+=Qn`(YjlGFpB~JR1HyntJu!q}Fwnb!+Mf}ysKEycwSZr| zA78}1UzF-5ERP<0*^zik^gg{ks-Q7ShsA9KfVKYB-I$ zW3Lj=4RA&xJGuPQajH{?sKj#v)9KWVFo9`oM9VCTL>2-G=ykoy}&9_C3{xB)-vTd|~kh zG=iN6yaOL;-&JX3ig+2B1|;G`Fo;wG?RMK2#bfNT&1Q2C<&oK0i3Ui#>$-d5@z=v5 zgA%}NjTVbV3p=a@DMq9Q1o1vU*-m_P=NAo$pH8O_jIofei8n1vI`+VTDdMC3ZnrzY zy2OXao&kyYK(~0@4Aa`g?*WZnqv!J}FF6$d4mrdVu>lnS z1R3IqAPA^#30{LMykDpYN^>ETu?BQ=i~%1E!iJD;tbsFe^jqH=(2X^q8*4xl^Qdq+BY+rq_*FKFuSZh(`cd1N+$X-%uXclDavHAA+Sq`~jY9Eg-)w Rj3od7002ovPDHLkV1geZ2@L=M literal 0 HcmV?d00001 diff --git a/browser/src/images/iconx96.png b/browser/src/images/iconx96.png new file mode 100644 index 0000000000000000000000000000000000000000..a7508afd602a43a750a5f112ac3ba25f28056a87 GIT binary patch literal 1040 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGooCO|{#S9GG!XV7ZFl&wkP>``W z$lZxy-8q?;Kn_c~qpu?a!^VE@KZ&di49rVCT^vIy7~kIY4U!5JVST`zl3>Xh>SvV0 z9=3Aw3{jPL2i7PQvKnf4tW$WWkivSB?~srTr}1se=5s7F7ia7(FsxY3#wz9-`1`|$4_!91{gxZ%ZakSXX-m{v7d!d>Y&pbw=J5Lz-TTi!sFu{#9DA6VBjzF)~u%4o{}KQZ=4jl{oRdzX*{+Gm?z z$^FYP*>z^u92@@sVILRInSQ~19i#Lie}R2^e{{01gIuYy`YH3A-dVW|x z_lKds?53;FWS73O5^bMf@ZRH&3 zI#vE9kknX^7tmlRlEA~N@geeSHWv%4Mn?V2d$fw=Yvc`XcDP-E)%E#HeuTH+C%;< z_aHh$Ke@eqSWr=4P;g

|WE8?vC-re>#7OpOUz>;QH&OZeeSdH2gf^Zgg}@v&D}4 zvyPv24=HS$Upkj_wu1jP-t^59pDu0XVXaueX`g+i;g4b#E5?P+Wg{{ljBh&!qowie<20xmu=wY3wn^^t0ck z_8n03&~yPBq0zz>zl3Xs-}2a||4wcCQLByFnjLFOO1_-A{jpogXNXKB(!Qa tUadZ@(RHiF`2L$$IVT=4GBEsO{KlE$vUm$`KQIF`c)I$ztaD0e0s#4d$Xoyb literal 0 HcmV?d00001 diff --git a/browser/src/images/logo-circle.png b/browser/src/images/logo-circle.png new file mode 100644 index 0000000000000000000000000000000000000000..54022b6f952577674126ca1dfd7dea6c5880fff8 GIT binary patch literal 3660 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 el2f51{r(4Tgkq^;t(2<(0000 + + + Dnote browser extension + + + + + + +

+ + + + diff --git a/browser/src/scripts/components/App.tsx b/browser/src/scripts/components/App.tsx new file mode 100644 index 00000000..1fd3a928 --- /dev/null +++ b/browser/src/scripts/components/App.tsx @@ -0,0 +1,88 @@ +import React, { useState, useEffect } from 'react'; +import classnames from 'classnames'; + +import services from '../utils/services'; +import { resetSettings } from '../store/settings/actions'; +import { useSelector, useDispatch } from '../store/hooks'; +import Header from './Header'; +import Home from './Home'; +import Menu from './Menu'; +import Success from './Success'; +import Composer from './Composer'; + +interface Props {} + +function renderRoutes(path: string, isLoggedIn: boolean) { + switch (path) { + case '/success': + return ; + case '/': + if (isLoggedIn) { + return ; + } + + return ; + default: + return
Not found
; + } +} + +const App: React.FunctionComponent = () => { + const [isMenuOpen, setIsMenuOpen] = useState(false); + const [errMsg, setErrMsg] = useState(''); + + const dispatch = useDispatch(); + const { path, settings } = useSelector(state => { + return { + path: state.location.path, + settings: state.settings + }; + }); + + useEffect(() => { + // if session is expired, clear it + const now = Math.round(new Date().getTime() / 1000); + if (settings.sessionKey && settings.sessionKeyExpiry < now) { + dispatch(resetSettings()); + } + }, [dispatch]); + + const isLoggedIn = Boolean(settings.sessionKey); + const toggleMenu = () => { + setIsMenuOpen(!isMenuOpen); + }; + const handleLogout = async (done?: Function) => { + try { + await services.users.signout(); + dispatch(resetSettings()); + + if (done) { + done(); + } + } catch (e) { + setErrMsg(e.message); + } + }; + + return ( +
+
+ + {isMenuOpen && ( + + )} + +
+ {errMsg &&
{errMsg}
} + + {renderRoutes(path, isLoggedIn)} +
+
+ ); +}; + +export default App; diff --git a/browser/src/scripts/components/BookIcon.tsx b/browser/src/scripts/components/BookIcon.tsx new file mode 100644 index 00000000..0245f8ad --- /dev/null +++ b/browser/src/scripts/components/BookIcon.tsx @@ -0,0 +1,28 @@ +import React from 'react'; + +const Icon = ({ fill, width, height, className }) => { + const h = `${height}px`; + const w = `${width}px`; + + return ( + + + + + + ); +}; + +Icon.defaultProps = { + fill: '#000', + width: 32, + height: 32 +}; + +export default Icon; diff --git a/browser/src/scripts/components/BookSelector.tsx b/browser/src/scripts/components/BookSelector.tsx new file mode 100644 index 00000000..b37a56a5 --- /dev/null +++ b/browser/src/scripts/components/BookSelector.tsx @@ -0,0 +1,110 @@ +import React, { useEffect } from 'react'; +import CreatableSelect from 'react-select/creatable'; +import cloneDeep from 'lodash/cloneDeep'; +import { useSelector, useDispatch } from '../store/hooks'; +import { updateBook, resetBook } from '../store/composer/actions'; + +import BookIcon from './BookIcon'; + +interface Props { + selectorRef: React.Dispatch; + onAfterChange: () => void; +} + +function useCurrentOptions(options) { + const currentValue = useSelector(state => { + return state.composer.bookUUID; + }); + + for (let i = 0; i < options.length; i++) { + const option = options[i]; + + if (option.value === currentValue) { + return option; + } + } + + return null; +} + +function useOptions() { + const { books, composer } = useSelector(state => { + return { + books: state.books, + composer: state.composer + }; + }); + + const opts = books.items.map(book => { + return { + label: book.label, + value: book.uuid + }; + }); + + if (composer.bookLabel !== '' && composer.bookUUID === '') { + opts.push({ + label: composer.bookLabel, + value: '' + }); + } + + // clone the array so as not to mutate Redux state manually + // e.g. react-select mutates options prop internally upon adding a new option + return cloneDeep(opts); +} + +const BookSelector: React.FunctionComponent = ({ + selectorRef, + onAfterChange +}) => { + const dispatch = useDispatch(); + const { books, composer } = useSelector(state => { + return { + books: state.books, + composer: state.composer + }; + }); + const options = useOptions(); + const currentOption = useCurrentOptions(options); + + let placeholder: string; + if (books.isFetched) { + placeholder = 'Choose a book'; + } else { + placeholder = 'Loading books...'; + } + + return ( + { + selectorRef(el); + }} + multi={false} + isClearable + placeholder={placeholder} + options={options} + value={currentOption} + onChange={(option, meta) => { + if (meta.action === 'clear') { + dispatch(resetBook()); + } else { + let uuid: string; + if (meta.action === 'create-option') { + uuid = ''; + } else { + uuid = option.value; + } + + dispatch(updateBook({ uuid, label: option.label })); + } + + onAfterChange(); + }} + formatCreateLabel={label => `Add a new book ${label}`} + isDisabled={!books.isFetched} + /> + ); +}; + +export default BookSelector; diff --git a/browser/src/scripts/components/CloseIcon.tsx b/browser/src/scripts/components/CloseIcon.tsx new file mode 100644 index 00000000..94a9f0c0 --- /dev/null +++ b/browser/src/scripts/components/CloseIcon.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +export default () => ( + + + + +); diff --git a/browser/src/scripts/components/Composer.tsx b/browser/src/scripts/components/Composer.tsx new file mode 100644 index 00000000..b15b8dcf --- /dev/null +++ b/browser/src/scripts/components/Composer.tsx @@ -0,0 +1,212 @@ +import React, { useState, useEffect, useRef } from 'react'; +import classnames from 'classnames'; + +import { KEYCODE_ENTER } from 'jslib/helpers/keyboard'; +import services from '../utils/services'; +import BookSelector from './BookSelector'; +import Flash from './Flash'; +import { useSelector, useDispatch } from '../store/hooks'; +import { updateContent, resetComposer } from '../store/composer/actions'; +import { fetchBooks } from '../store/books/actions'; +import { navigate } from '../store/location/actions'; + +interface Props {} + +// focusBookSelectorInput focuses on the input element of the book selector. +// It needs to traverse the tree returned by the ref API of the 'react-select' library, +// and to guard against possible breaking changes, if the path does not exist, it noops. +function focusBookSelectorInput(bookSelectorRef) { + bookSelectorRef.select && + bookSelectorRef.select.select && + bookSelectorRef.select.select.inputRef && + bookSelectorRef.select.select.inputRef.focus(); +} + +function useFetchData() { + const dispatch = useDispatch(); + + const { books } = useSelector(state => { + return { + books: state.books + }; + }); + + useEffect(() => { + if (!books.isFetched) { + dispatch(fetchBooks()); + } + }, [dispatch, books.isFetched]); +} + +function useInitFocus(contentRef, bookSelectorRef) { + const { composer, books } = useSelector(state => { + return { + composer: state.composer, + books: state.books + }; + }); + + useEffect(() => { + if (!books.isFetched) { + return () => null; + } + + if (bookSelectorRef && contentRef) { + if (composer.bookLabel === '') { + focusBookSelectorInput(bookSelectorRef); + } else { + contentRef.focus(); + } + } + }, [contentRef, bookSelectorRef, books.isFetched]); +} + +const Composer: React.FunctionComponent = () => { + useFetchData(); + const [contentFocused, setContentFocused] = useState(false); + const [submitting, setSubmitting] = useState(false); + const [errMsg, setErrMsg] = useState(''); + const dispatch = useDispatch(); + const [contentRef, setContentEl] = useState(null); + const [bookSelectorRef, setBookSelectorEl] = useState(null); + + const { composer, settings } = useSelector(state => { + return { + composer: state.composer, + settings: state.settings + }; + }); + + const handleSubmit = async e => { + e.preventDefault(); + + setSubmitting(true); + + try { + let bookUUID; + if (composer.bookUUID === '') { + const resp = await services.books.create( + { + name: composer.bookLabel + }, + { + headers: { + Authorization: `Bearer ${settings.sessionKey}` + } + } + ); + + bookUUID = resp.book.uuid; + } else { + bookUUID = composer.bookUUID; + } + + const resp = await services.notes.create( + { + book_uuid: bookUUID, + content: composer.content + }, + { + headers: { + Authorization: `Bearer ${settings.sessionKey}` + } + } + ); + + // clear the composer state + setErrMsg(''); + setSubmitting(false); + + dispatch(resetComposer()); + + // navigate + dispatch( + navigate('/success', { + bookName: composer.bookLabel, + noteUUID: resp.result.uuid + }) + ); + } catch (e) { + setErrMsg(e.message); + setSubmitting(false); + } + }; + + const handleSubmitShortcut = e => { + // Shift + Enter + if (e.shiftKey && e.keyCode === KEYCODE_ENTER) { + handleSubmit(e); + } + }; + + useEffect(() => { + window.addEventListener('keydown', handleSubmitShortcut); + + return () => { + window.removeEventListener('keydown', handleSubmitShortcut); + }; + }, []); + + useEffect(() => {}, []); + + let submitBtnText: string; + if (submitting) { + submitBtnText = 'Saving...'; + } else { + submitBtnText = 'Save'; + } + + useInitFocus(contentRef, bookSelectorRef); + + return ( +
+ + +
+ { + contentRef.focus(); + }} + /> + +
+