From 595ef589dd431f96fc50fc6e9255aa9da7010cbf Mon Sep 17 00:00:00 2001 From: "Zed A. Shaw" Date: Wed, 12 Apr 2023 20:17:49 -0400 Subject: [PATCH] Commit after Episode 2 of the show. First cuts of the landing page, problems list page, and starting off on the problem show. --- .eslintrc.json | 277 + .gitignore | 23 + LICENSE | 1 + README.md | 31 + admin/App.svelte | 13 + admin/Header.svelte | 52 + admin/Layout.svelte | 48 + admin/bando/Bandolier.svelte | 116 + admin/bando/Components.svelte | 224 + admin/bando/Djenterator.svelte | 152 + admin/bando/IconFinder.svelte | 194 + admin/bando/demos/Accordion.svelte | 21 + admin/bando/demos/Accordion.svelte.md | 7 + admin/bando/demos/AspectRatio.svelte | 30 + admin/bando/demos/AspectRatio.svelte.md | 12 + admin/bando/demos/Badge.svelte | 51 + admin/bando/demos/Badge.svelte.md | 3 + admin/bando/demos/ButtonGroup.svelte | 25 + admin/bando/demos/ButtonGroup.svelte.md | 1 + admin/bando/demos/Calendar.svelte | 27 + admin/bando/demos/Calendar.svelte.md | 1 + admin/bando/demos/Callout.svelte | 37 + admin/bando/demos/Callout.svelte.md | 8 + admin/bando/demos/Cards.svelte | 46 + admin/bando/demos/Cards.svelte.md | 1 + admin/bando/demos/Carousel.svelte | 25 + admin/bando/demos/Carousel.svelte.md | 1 + admin/bando/demos/Chat.svelte | 14 + admin/bando/demos/Chat.svelte.md | 1 + admin/bando/demos/Code.svelte | 53 + admin/bando/demos/Code.svelte.md | 25 + admin/bando/demos/Countdown.svelte | 16 + admin/bando/demos/Countdown.svelte.md | 1 + admin/bando/demos/Darkmode.svelte | 6 + admin/bando/demos/Darkmode.svelte.md | 21 + admin/bando/demos/DataTable.svelte | 71 + admin/bando/demos/DataTable.svelte.md | 3 + admin/bando/demos/FairPay.svelte | 252 + admin/bando/demos/FairPay.svelte.md | 16 + admin/bando/demos/Flipper.svelte | 52 + admin/bando/demos/Flipper.svelte.md | 13 + admin/bando/demos/Form.svelte | 78 + admin/bando/demos/Form.svelte.md | 10 + admin/bando/demos/HLSVideo.svelte | 22 + admin/bando/demos/Icon.svelte | 63 + admin/bando/demos/Icon.svelte.md | 5 + admin/bando/demos/IconImage.svelte | 56 + admin/bando/demos/LiveStream.svelte | 27 + admin/bando/demos/LiveStream.svelte.md | 5 + admin/bando/demos/LoggedIn.svelte | 17 + admin/bando/demos/LoggedIn.svelte.md | 16 + admin/bando/demos/Login.svelte | 13 + admin/bando/demos/Login.svelte.md | 5 + admin/bando/demos/Markdown.svelte | 51 + admin/bando/demos/Modal.svelte | 32 + admin/bando/demos/Modal.svelte.md | 8 + admin/bando/demos/OGPreview.svelte | 42 + admin/bando/demos/OGPreview.svelte.md | 32 + admin/bando/demos/Pagination.svelte | 33 + admin/bando/demos/Pagination.svelte.md | 1 + admin/bando/demos/Panels.svelte | 6 + admin/bando/demos/PlaceHolder.svelte | 21 + admin/bando/demos/PlaceHolder.svelte.md | 3 + admin/bando/demos/Progress.svelte | 33 + admin/bando/demos/Progress.svelte.md | 13 + admin/bando/demos/Sidebar.svelte | 26 + admin/bando/demos/Sidebar.svelte.md | 6 + admin/bando/demos/SidebarCSS.svelte | 35 + admin/bando/demos/SidebarCSS.svelte.md | 3 + admin/bando/demos/SnapImage.svelte | 15 + admin/bando/demos/SnapImage.svelte.md | 29 + admin/bando/demos/Spinner.svelte | 13 + admin/bando/demos/Spinner.svelte.md | 16 + admin/bando/demos/StackLayer.svelte | 39 + admin/bando/demos/StackLayer.svelte.md | 25 + admin/bando/demos/Switch.svelte | 48 + admin/bando/demos/Switch.svelte.md | 4 + admin/bando/demos/Tabs.svelte | 22 + admin/bando/demos/Tabs.svelte.md | 5 + admin/bando/demos/Tiles.svelte | 32 + admin/bando/demos/Tiles.svelte.md | 1 + admin/bando/demos/Toast.svelte | 35 + admin/bando/demos/Toast.svelte.md | 4 + admin/bando/demos/Toastier.svelte | 19 + admin/bando/demos/Toastier.svelte.md | 21 + admin/bando/demos/Tooltip.svelte | 66 + admin/bando/demos/Tooltip.svelte.md | 12 + admin/bando/demos/Video.svelte | 24 + admin/bando/demos/Video.svelte.md | 5 + admin/bando/demos/WTVideo.svelte | 35 + admin/bando/demos/WTVideo.svelte.md | 44 + admin/main.js | 10 + admin/pages/Create.svelte | 66 + admin/pages/DocsBrowser.svelte | 286 + admin/pages/EmailConfig.svelte | 84 + admin/pages/EmailDNS.svelte | 147 + admin/pages/EmailSend.svelte | 61 + admin/pages/Errors.svelte | 103 + admin/pages/Home.svelte | 104 + admin/pages/ReadUpdate.svelte | 151 + admin/pages/Routes.svelte | 117 + admin/pages/Stats.svelte | 342 + admin/pages/Table.svelte | 97 + admin/pages/TableIndex.svelte | 85 + admin/pages/Tests.svelte | 63 + admin/routes.js | 25 + api/_errors.js | 11 + api/admin/email.js | 171 + api/admin/schema.js | 21 + api/admin/table.js | 143 + api/authcheck.js | 17 + api/devtools/djenterator.js | 14 + api/devtools/info.js | 32 + api/discord.js | 25 + api/email.js | 35 + api/livestream.js | 87 + api/login.js | 35 + api/logout.js | 14 + api/media.js | 27 + api/media_like.js | 28 + api/password_reset.js | 68 + api/payments/btcpay.js | 140 + api/payments/fake.js | 63 + api/payments/paypal.js | 74 + api/payments/stripe.js | 126 + api/payments/stripe_webhook.js | 46 + api/problems.js | 63 + api/product.js | 32 + api/register.js | 70 + api/user/payments.js | 20 + api/user/profile.js | 39 + bando.js | 83 + bando.ps1 | 1 + build.json | 38 + build.prod.json | 38 + client/App.svelte | 13 + client/Footer.svelte | 38 + client/Header.svelte | 76 + client/Layout.svelte | 48 + client/api.js | 466 + client/assert.js | 48 + client/components/BTCPay.svelte | 118 + client/components/Blockstart.svelte | 13 + client/components/Calendar.svelte | 139 + client/components/Carousel.svelte | 108 + client/components/Chat.svelte | 217 + client/components/Code.svelte | 100 + client/components/CodeFormatter.svelte | 9 + client/components/Countdown.svelte | 82 + client/components/Darkmode.svelte | 39 + client/components/DataTable.svelte | 178 + client/components/DiscordReplay.svelte | 170 + client/components/FakePayment.svelte | 29 + client/components/Form.svelte | 54 + client/components/FormField.svelte | 36 + client/components/HLSVideo.svelte | 309 + client/components/HTML.svelte | 24 + client/components/HeadOnce.svelte | 11 + client/components/Icon.svelte | 54 + client/components/IconImage.svelte | 57 + client/components/IsVisible.svelte | 32 + client/components/LoggedIn.svelte | 76 + client/components/Login.svelte | 74 + client/components/Markdown.svelte | 25 + client/components/Modal.svelte | 56 + client/components/OGPreview.svelte | 37 + client/components/Pagination.svelte | 74 + client/components/Paypal.svelte | 182 + client/components/PlaceHolder.svelte | 21 + client/components/ProgressMeter.svelte | 19 + client/components/Reloader.svelte | 15 + client/components/ShareButton.svelte | 16 + client/components/Sidebar.svelte | 47 + client/components/SnapImage.svelte | 67 + client/components/Source.svelte | 53 + client/components/Spinner.svelte | 51 + client/components/Stripe.svelte | 147 + client/components/TOS.svelte | 24 + client/components/Tabs.svelte | 63 + client/components/Toasts.svelte | 26 + client/components/Video.svelte | 43 + client/components/WTVideo.svelte | 138 + client/fsm.js | 219 + client/helpers.js | 339 + client/livestreams.js | 60 + client/logging.js | 66 + client/main.js | 15 + client/pages/Discord.svelte | 104 + client/pages/Explore.svelte | 34 + client/pages/Home.svelte | 142 + client/pages/Live.svelte | 287 + client/pages/LiveIndex.svelte | 156 + client/pages/Login.svelte | 26 + client/pages/NotFound.svelte | 1 + client/pages/Payment.svelte | 411 + client/pages/ProblemShow.svelte | 63 + client/pages/Problems.svelte | 166 + client/pages/Register.svelte | 214 + client/pages/ResetPassword.svelte | 121 + client/pages/TOS.svelte | 16 + client/pages/Unsubscribe.svelte | 73 + client/pages/UserProfile.svelte | 98 + client/pages/Video.svelte | 120 + client/pages/VideoIndex.svelte | 61 + client/routes.js | 38 + client/stores.js | 54 + client/websocket.js | 50 + client/wt.js | 286 + commands/api.js | 336 + commands/build.js | 194 + commands/codedoc.js | 345 + commands/convert.js | 169 + commands/coverage.js | 105 + commands/deploy.js | 56 + commands/devsvc.js | 63 + commands/djent.js | 60 + commands/gen_players.js | 34 + commands/icons.js | 101 + commands/init.js | 92 + commands/livestreams.js | 45 + commands/loganalyzer.js | 295 + commands/lorem.js | 74 + commands/media.js | 185 + commands/moovfix.js | 43 + commands/pdfpresgen.js | 218 + commands/queue.js | 44 + commands/rendered.js | 20 + commands/templates/client/Footer.svelte | 82 + commands/templates/client/Header.svelte | 84 + commands/templates/client/Layout.svelte | 48 + commands/templates/client/config.js | 121 + commands/templates/client/pages/Home.svelte | 29 + commands/templates/client/routes.js | 32 + commands/templates/emails/config.js | 17 + commands/templates/rendered/Footer.svelte | 84 + commands/templates/rendered/Header.svelte | 40 + commands/templates/rendered/Layout.svelte | 33 + commands/templates/rendered/index.svelte | 216 + .../templates/rendered/pages/index.svelte | 216 + commands/templates/secrets/config.json | 54 + commands/templates/secrets/email.json | 7 + commands/thumbnail.js | 39 + commands/tracker.js | 70 + commands/unsubkeys.js | 15 + emails/change_email.txt | 26 + emails/discord_email.html | 499 + emails/discord_email.txt | 24 + emails/invoice.html | 539 + emails/invoice.txt | 58 + emails/receipt.html | 511 + emails/receipt.txt | 33 + emails/register_email.html | 515 + emails/register_email.txt | 28 + emails/reset_email.html | 489 + emails/reset_email.txt | 32 + emails/reset_finished.html | 488 + emails/reset_finished.txt | 25 + emails/test.html | 1 + emails/test.txt | 1 + emails/welcome_email.html | 516 + emails/welcome_email.txt | 28 + knexfile.cjs | 45 + lib/api.js | 411 + lib/auth.js | 241 + lib/blog.js | 97 + lib/builderator.js | 166 + lib/config.js | 172 + lib/devtools.js | 28 + lib/docgen.js | 305 + lib/email.js | 232 + lib/logging.js | 54 + lib/models.js | 408 + lib/ormish.js | 613 + lib/queues.js | 150 + lib/testing.js | 273 + migrations/20210407193844_initial.cjs | 19 + migrations/20210508193210_reset_codes.cjs | 14 + migrations/20210724194201_payments.cjs | 32 + migrations/20210801144128_media.cjs | 14 + migrations/20210807180515_user_payment.cjs | 17 + .../20210823001710_media_needs_poster.cjs | 11 + migrations/20210828133355_site_metadata.cjs | 16 + .../20210911122326_user_unsubscribe.cjs | 15 + .../20210911191222_user_reset_count.cjs | 12 + .../20211111034030_media_meta_fields.cjs | 31 + migrations/20211122202014_media_add_slug.cjs | 15 + .../20220107182030_user_payment_remove.cjs | 25 + migrations/20220224195155_livestream.cjs | 24 + migrations/20220228190915_unsubkey_32_hex.cjs | 13 + .../20220314020215_payment_substate_cause.cjs | 11 + ...20426213105_livestream_add_state_check.cjs | 31 + .../20220427232344_livestream_media.cjs | 12 + .../20220428184247_livestream_viewers.cjs | 11 + ...220507231257_livestream_episode_number.cjs | 11 + migrations/20220522091823_product.cjs | 18 + migrations/20220603163208_likes_on_videos.cjs | 13 + ...220921230725_payment_random_receipt_id.cjs | 28 + nodemon.json | 16 + package-lock.json | 23211 ++++++++++++++++ package.json | 139 + queues/discord.js | 88 + queues/live.js | 27 + queues/mail.js | 171 + queues/paypal.js | 93 + queues/stripe.js | 77 + rendered/Footer.svelte | 84 + rendered/Header.svelte | 40 + rendered/Layout.svelte | 33 + rendered/feed_index.json | 21 + rendered/index.svelte | 216 + rendered/pages/about/index.svelte | 22 + rendered/pages/blog/[slug]/index.svelte | 164 + rendered/pages/blog/index.svelte | 88 + rendered/pages/index.svelte | 216 + rendered/pages/live/[slug]/index.svelte | 218 + rendered/pages/live/[slug]/player.svelte | 36 + rendered/pages/live/index.js | 53 + rendered/pages/live/index.svelte | 160 + rendered/pages/privacy/index.svelte | 166 + rendered/pages/test_large_card.svelte | 51 + rendered/pages/test_og_card.svelte | 51 + rendered/pages/test_video_card.svelte | 64 + rendered/pages/video_container.svelte | 17 + rendered/player.html | 51 + rendered/rollup.config.mjs | 137 + rendered/src/template.html | 22 + scripts/Presentation_Template.png | Bin 0 -> 109812 bytes scripts/osx.config.cjs | 17 + scripts/pdfpres_example.md | 25 + scripts/prod.config.cjs | 45 + scripts/setupTypeScript.js | 117 + socket/chat.js | 5 + socket/live.js | 5 + socket/reloader.js | 7 + static/admin/index.html | 27 + static/android-chrome-192x192.png | Bin 0 -> 1190 bytes static/android-chrome-512x512.png | Bin 0 -> 2054 bytes static/apple-touch-icon.png | Bin 0 -> 5557 bytes static/blockstart.css | 244 + static/browserconfig.xml | 9 + static/client/index.html | 27 + static/color.css | 129 + static/css/pattern.min.css | 1 + static/css/prism.css | 145 + static/djenterator/api.js | 22 + static/djenterator/api.js.vars | 11 + static/djenterator/client.svelte | 34 + static/djenterator/client.svelte.vars | 1 + static/djenterator/command.js | 49 + static/djenterator/command.js.vars | 1 + static/djenterator/form.svelte | 102 + static/djenterator/form.svelte.vars | 49 + static/djenterator/migration.js | 18 + static/djenterator/migration.js.vars | 1 + static/djenterator/pdfpres.md | 25 + static/djenterator/pdfpres.md.vars | 1 + static/djenterator/queues.js | 12 + static/djenterator/queues.js.vars | 1 + static/djenterator/rendered.svelte | 19 + static/djenterator/rendered.svelte.vars | 1 + static/djenterator/socket.js | 11 + static/djenterator/socket.js.vars | 7 + static/djenterator/ui_test.js | 23 + static/djenterator/ui_test.js.vars | 4 + static/favicon-16x16.png | Bin 0 -> 351 bytes static/favicon-32x32.png | Bin 0 -> 505 bytes static/favicon.ico | Bin 0 -> 2734 bytes static/favicon.png | Bin 0 -> 3127 bytes static/feather-sprite.svg | 1 + static/fonts/VictorMono-Bold.ttf | Bin 0 -> 192920 bytes static/fonts/VictorMono-Light.ttf | Bin 0 -> 184216 bytes static/fonts/VictorMono-Medium.ttf | Bin 0 -> 186800 bytes static/fonts/computer.woff | Bin 0 -> 9416 bytes static/global.css | 1545 + static/icons/LICENSE | 15 + static/icons/accessibility.svg | 17 + static/icons/activity.svg | 13 + static/icons/air-vent.svg | 16 + static/icons/airplay.svg | 14 + static/icons/alarm-check.svg | 18 + static/icons/alarm-clock-off.svg | 18 + static/icons/alarm-clock.svg | 18 + static/icons/alarm-minus.svg | 18 + static/icons/alarm-plus.svg | 19 + static/icons/album.svg | 14 + static/icons/alert-circle.svg | 15 + static/icons/alert-octagon.svg | 15 + static/icons/alert-triangle.svg | 15 + static/icons/align-center-horizontal.svg | 17 + static/icons/align-center-vertical.svg | 17 + static/icons/align-center.svg | 15 + static/icons/align-end-horizontal.svg | 15 + static/icons/align-end-vertical.svg | 15 + .../align-horizontal-distribute-center.svg | 18 + .../icons/align-horizontal-distribute-end.svg | 16 + .../align-horizontal-distribute-start.svg | 16 + .../icons/align-horizontal-justify-center.svg | 15 + static/icons/align-horizontal-justify-end.svg | 15 + .../icons/align-horizontal-justify-start.svg | 15 + .../icons/align-horizontal-space-around.svg | 15 + .../icons/align-horizontal-space-between.svg | 16 + static/icons/align-justify.svg | 15 + static/icons/align-left.svg | 15 + static/icons/align-right.svg | 15 + static/icons/align-start-horizontal.svg | 15 + static/icons/align-start-vertical.svg | 15 + .../align-vertical-distribute-center.svg | 18 + .../icons/align-vertical-distribute-end.svg | 16 + .../icons/align-vertical-distribute-start.svg | 16 + .../icons/align-vertical-justify-center.svg | 15 + static/icons/align-vertical-justify-end.svg | 15 + static/icons/align-vertical-justify-start.svg | 15 + static/icons/align-vertical-space-around.svg | 15 + static/icons/align-vertical-space-between.svg | 16 + static/icons/anchor.svg | 15 + static/icons/angry.svg | 18 + static/icons/annoyed.svg | 16 + static/icons/aperture.svg | 19 + static/icons/apple.svg | 14 + static/icons/archive-restore.svg | 17 + static/icons/archive.svg | 15 + static/icons/armchair.svg | 16 + static/icons/arrow-big-down.svg | 13 + static/icons/arrow-big-left.svg | 13 + static/icons/arrow-big-right.svg | 13 + static/icons/arrow-big-up.svg | 13 + static/icons/arrow-down-circle.svg | 15 + static/icons/arrow-down-left.svg | 14 + static/icons/arrow-down-right.svg | 14 + static/icons/arrow-down.svg | 14 + static/icons/arrow-left-circle.svg | 15 + static/icons/arrow-left-right.svg | 16 + static/icons/arrow-left.svg | 14 + static/icons/arrow-right-circle.svg | 15 + static/icons/arrow-right.svg | 14 + static/icons/arrow-up-circle.svg | 15 + static/icons/arrow-up-down.svg | 16 + static/icons/arrow-up-left.svg | 14 + static/icons/arrow-up-right.svg | 14 + static/icons/arrow-up.svg | 14 + static/icons/asterisk.svg | 15 + static/icons/at-sign.svg | 14 + static/icons/award.svg | 14 + static/icons/axe.svg | 14 + static/icons/axis-3d.svg | 14 + static/icons/baby.svg | 16 + static/icons/backpack.svg | 17 + static/icons/baggage-claim.svg | 17 + static/icons/banana.svg | 14 + static/icons/banknote.svg | 15 + static/icons/bar-chart-2.svg | 15 + static/icons/bar-chart-3.svg | 16 + static/icons/bar-chart-4.svg | 16 + static/icons/bar-chart-horizontal.svg | 16 + static/icons/bar-chart.svg | 15 + static/icons/baseline.svg | 15 + static/icons/bath.svg | 17 + static/icons/battery-charging.svg | 16 + static/icons/battery-full.svg | 17 + static/icons/battery-low.svg | 15 + static/icons/battery-medium.svg | 16 + static/icons/battery.svg | 14 + static/icons/beaker.svg | 15 + static/icons/bean-off.svg | 16 + static/icons/bean.svg | 14 + static/icons/bed-double.svg | 16 + static/icons/bed-single.svg | 15 + static/icons/bed.svg | 16 + static/icons/beer.svg | 17 + static/icons/bell-minus.svg | 15 + static/icons/bell-off.svg | 17 + static/icons/bell-plus.svg | 16 + static/icons/bell-ring.svg | 16 + static/icons/bell.svg | 14 + static/icons/bike.svg | 15 + static/icons/binary.svg | 18 + static/icons/bitcoin.svg | 13 + static/icons/bluetooth-connected.svg | 15 + static/icons/bluetooth-off.svg | 15 + static/icons/bluetooth-searching.svg | 15 + static/icons/bluetooth.svg | 13 + static/icons/bold.svg | 14 + static/icons/bomb.svg | 15 + static/icons/bone.svg | 13 + static/icons/book-open-check.svg | 15 + static/icons/book-open.svg | 14 + static/icons/book.svg | 14 + static/icons/bookmark-minus.svg | 14 + static/icons/bookmark-plus.svg | 15 + static/icons/bookmark.svg | 13 + static/icons/bot.svg | 17 + static/icons/box-select.svg | 24 + static/icons/box.svg | 15 + static/icons/boxes.svg | 24 + static/icons/briefcase.svg | 14 + static/icons/brush.svg | 14 + static/icons/bug.svg | 21 + static/icons/building-2.svg | 19 + static/icons/building.svg | 23 + static/icons/bus.svg | 16 + static/icons/cake.svg | 21 + static/icons/calculator.svg | 22 + static/icons/calendar-check-2.svg | 17 + static/icons/calendar-check.svg | 17 + static/icons/calendar-clock.svg | 18 + static/icons/calendar-days.svg | 22 + static/icons/calendar-heart.svg | 17 + static/icons/calendar-minus.svg | 17 + static/icons/calendar-off.svg | 18 + static/icons/calendar-plus.svg | 18 + static/icons/calendar-range.svg | 20 + static/icons/calendar-search.svg | 18 + static/icons/calendar-x-2.svg | 18 + static/icons/calendar-x.svg | 18 + static/icons/calendar.svg | 16 + static/icons/camera-off.svg | 16 + static/icons/camera.svg | 14 + static/icons/candy-off.svg | 20 + static/icons/candy.svg | 17 + static/icons/car.svg | 15 + static/icons/carrot.svg | 15 + static/icons/cast.svg | 16 + static/icons/cat.svg | 18 + static/icons/check-check.svg | 14 + static/icons/check-circle-2.svg | 14 + static/icons/check-circle.svg | 14 + static/icons/check-square.svg | 14 + static/icons/check.svg | 13 + static/icons/chef-hat.svg | 14 + static/icons/cherry.svg | 16 + static/icons/chevron-down.svg | 13 + static/icons/chevron-first.svg | 14 + static/icons/chevron-last.svg | 14 + static/icons/chevron-left.svg | 13 + static/icons/chevron-right.svg | 13 + static/icons/chevron-up.svg | 13 + static/icons/chevrons-down-up.svg | 14 + static/icons/chevrons-down.svg | 14 + static/icons/chevrons-left-right.svg | 14 + static/icons/chevrons-left.svg | 14 + static/icons/chevrons-right-left.svg | 14 + static/icons/chevrons-right.svg | 14 + static/icons/chevrons-up-down.svg | 14 + static/icons/chevrons-up.svg | 14 + static/icons/chrome.svg | 17 + static/icons/cigarette-off.svg | 19 + static/icons/cigarette.svg | 17 + static/icons/circle-dot.svg | 14 + static/icons/circle-ellipsis.svg | 16 + static/icons/circle-slashed.svg | 14 + static/icons/circle.svg | 13 + static/icons/citrus.svg | 17 + static/icons/clapperboard.svg | 16 + static/icons/clipboard-check.svg | 15 + static/icons/clipboard-copy.svg | 17 + static/icons/clipboard-edit.svg | 16 + static/icons/clipboard-list.svg | 18 + static/icons/clipboard-signature.svg | 17 + static/icons/clipboard-type.svg | 17 + static/icons/clipboard-x.svg | 16 + static/icons/clipboard.svg | 14 + static/icons/clock-1.svg | 14 + static/icons/clock-10.svg | 14 + static/icons/clock-11.svg | 14 + static/icons/clock-12.svg | 14 + static/icons/clock-2.svg | 14 + static/icons/clock-3.svg | 14 + static/icons/clock-4.svg | 14 + static/icons/clock-5.svg | 14 + static/icons/clock-6.svg | 14 + static/icons/clock-7.svg | 14 + static/icons/clock-8.svg | 14 + static/icons/clock-9.svg | 14 + static/icons/clock.svg | 14 + static/icons/cloud-cog.svg | 22 + static/icons/cloud-drizzle.svg | 19 + static/icons/cloud-fog.svg | 15 + static/icons/cloud-hail.svg | 19 + static/icons/cloud-lightning.svg | 14 + static/icons/cloud-moon-rain.svg | 16 + static/icons/cloud-moon.svg | 14 + static/icons/cloud-off.svg | 15 + static/icons/cloud-rain-wind.svg | 16 + static/icons/cloud-rain.svg | 16 + static/icons/cloud-snow.svg | 19 + static/icons/cloud-sun-rain.svg | 20 + static/icons/cloud-sun.svg | 18 + static/icons/cloud.svg | 13 + static/icons/cloudy.svg | 14 + static/icons/clover.svg | 17 + static/icons/code-2.svg | 15 + static/icons/code.svg | 14 + static/icons/codepen.svg | 17 + static/icons/codesandbox.svg | 18 + static/icons/coffee.svg | 17 + static/icons/cog.svg | 26 + static/icons/coins.svg | 16 + static/icons/columns.svg | 14 + static/icons/command.svg | 13 + static/icons/compass.svg | 14 + static/icons/component.svg | 16 + static/icons/concierge-bell.svg | 16 + static/icons/contact.svg | 17 + static/icons/contrast.svg | 14 + static/icons/cookie.svg | 18 + static/icons/copy.svg | 14 + static/icons/copyleft.svg | 14 + static/icons/copyright.svg | 14 + static/icons/corner-down-left.svg | 14 + static/icons/corner-down-right.svg | 14 + static/icons/corner-left-down.svg | 14 + static/icons/corner-left-up.svg | 14 + static/icons/corner-right-down.svg | 14 + static/icons/corner-right-up.svg | 14 + static/icons/corner-up-left.svg | 14 + static/icons/corner-up-right.svg | 14 + static/icons/cpu.svg | 22 + static/icons/credit-card.svg | 14 + static/icons/croissant.svg | 17 + static/icons/crop.svg | 14 + static/icons/cross.svg | 13 + static/icons/crosshair.svg | 17 + static/icons/crown.svg | 13 + static/icons/cup-soda.svg | 16 + static/icons/curly-braces.svg | 14 + static/icons/currency.svg | 17 + static/icons/database.svg | 15 + static/icons/delete.svg | 15 + static/icons/diamond.svg | 20 + static/icons/dice-1.svg | 14 + static/icons/dice-2.svg | 15 + static/icons/dice-3.svg | 16 + static/icons/dice-4.svg | 17 + static/icons/dice-5.svg | 18 + static/icons/dice-6.svg | 19 + static/icons/dices.svg | 18 + static/icons/diff.svg | 15 + static/icons/disc.svg | 14 + static/icons/divide-circle.svg | 16 + static/icons/divide-square.svg | 16 + static/icons/divide.svg | 15 + static/icons/dna-off.svg | 23 + static/icons/dna.svg | 23 + static/icons/dog.svg | 18 + static/icons/dollar-sign.svg | 14 + static/icons/download-cloud.svg | 15 + static/icons/download.svg | 15 + static/icons/dribbble.svg | 16 + static/icons/droplet.svg | 13 + static/icons/droplets.svg | 14 + static/icons/drumstick.svg | 14 + static/icons/dumbbell.svg | 19 + static/icons/ear-off.svg | 17 + static/icons/ear.svg | 14 + static/icons/edit-2.svg | 13 + static/icons/edit-3.svg | 14 + static/icons/edit.svg | 14 + static/icons/egg-fried.svg | 14 + static/icons/egg-off.svg | 15 + static/icons/egg.svg | 13 + static/icons/equal-not.svg | 15 + static/icons/equal.svg | 14 + static/icons/eraser.svg | 15 + static/icons/euro.svg | 15 + static/icons/expand.svg | 16 + static/icons/external-link.svg | 15 + static/icons/eye-off.svg | 16 + static/icons/eye.svg | 14 + static/icons/facebook.svg | 13 + static/icons/factory.svg | 16 + static/icons/fan.svg | 14 + static/icons/fast-forward.svg | 14 + static/icons/feather.svg | 15 + static/icons/figma.svg | 17 + static/icons/file-archive.svg | 18 + static/icons/file-audio-2.svg | 17 + static/icons/file-audio.svg | 17 + static/icons/file-axis-3d.svg | 16 + static/icons/file-badge-2.svg | 15 + static/icons/file-badge.svg | 16 + static/icons/file-bar-chart-2.svg | 17 + static/icons/file-bar-chart.svg | 17 + static/icons/file-box.svg | 18 + static/icons/file-check-2.svg | 15 + static/icons/file-check.svg | 15 + static/icons/file-clock.svg | 16 + static/icons/file-code.svg | 16 + static/icons/file-cog-2.svg | 21 + static/icons/file-cog.svg | 23 + static/icons/file-diff.svg | 16 + static/icons/file-digit.svg | 17 + static/icons/file-down.svg | 16 + static/icons/file-edit.svg | 15 + static/icons/file-heart.svg | 15 + static/icons/file-image.svg | 16 + static/icons/file-input.svg | 16 + static/icons/file-json-2.svg | 16 + static/icons/file-json.svg | 16 + static/icons/file-key-2.svg | 17 + static/icons/file-key.svg | 16 + static/icons/file-line-chart.svg | 15 + static/icons/file-lock-2.svg | 16 + static/icons/file-lock.svg | 15 + static/icons/file-minus-2.svg | 15 + static/icons/file-minus.svg | 15 + static/icons/file-output.svg | 16 + static/icons/file-pie-chart.svg | 16 + static/icons/file-plus-2.svg | 16 + static/icons/file-plus.svg | 16 + static/icons/file-question.svg | 15 + static/icons/file-scan.svg | 18 + static/icons/file-search-2.svg | 16 + static/icons/file-search.svg | 16 + static/icons/file-signature.svg | 15 + static/icons/file-spreadsheet.svg | 18 + static/icons/file-symlink.svg | 16 + static/icons/file-terminal.svg | 16 + static/icons/file-text.svg | 17 + static/icons/file-type-2.svg | 17 + static/icons/file-type.svg | 17 + static/icons/file-up.svg | 16 + static/icons/file-video-2.svg | 16 + static/icons/file-video.svg | 15 + static/icons/file-volume-2.svg | 17 + static/icons/file-volume.svg | 16 + static/icons/file-warning.svg | 15 + static/icons/file-x-2.svg | 16 + static/icons/file-x.svg | 16 + static/icons/file.svg | 14 + static/icons/files.svg | 15 + static/icons/film.svg | 20 + static/icons/filter.svg | 13 + static/icons/fingerprint.svg | 21 + static/icons/flag-off.svg | 16 + static/icons/flag-triangle-left.svg | 13 + static/icons/flag-triangle-right.svg | 13 + static/icons/flag.svg | 14 + static/icons/flame.svg | 13 + static/icons/flashlight-off.svg | 16 + static/icons/flashlight.svg | 15 + static/icons/flask-conical-off.svg | 18 + static/icons/flask-conical.svg | 15 + static/icons/flask-round.svg | 17 + static/icons/flip-horizontal-2.svg | 18 + static/icons/flip-horizontal.svg | 18 + static/icons/flip-vertical-2.svg | 18 + static/icons/flip-vertical.svg | 18 + static/icons/flower-2.svg | 17 + static/icons/flower.svg | 18 + static/icons/focus.svg | 17 + static/icons/folder-archive.svg | 16 + static/icons/folder-check.svg | 14 + static/icons/folder-clock.svg | 15 + static/icons/folder-closed.svg | 14 + static/icons/folder-cog-2.svg | 20 + static/icons/folder-cog.svg | 22 + static/icons/folder-down.svg | 15 + static/icons/folder-edit.svg | 14 + static/icons/folder-heart.svg | 14 + static/icons/folder-input.svg | 15 + static/icons/folder-key.svg | 16 + static/icons/folder-lock.svg | 15 + static/icons/folder-minus.svg | 14 + static/icons/folder-open.svg | 13 + static/icons/folder-output.svg | 15 + static/icons/folder-plus.svg | 15 + static/icons/folder-search-2.svg | 15 + static/icons/folder-search.svg | 15 + static/icons/folder-symlink.svg | 15 + static/icons/folder-tree.svg | 16 + static/icons/folder-up.svg | 15 + static/icons/folder-x.svg | 15 + static/icons/folder.svg | 13 + static/icons/folders.svg | 14 + static/icons/form-input.svg | 16 + static/icons/forward.svg | 14 + static/icons/frame.svg | 16 + static/icons/framer.svg | 13 + static/icons/frown.svg | 16 + static/icons/fuel.svg | 16 + static/icons/function-square.svg | 15 + static/icons/gamepad-2.svg | 17 + static/icons/gamepad.svg | 17 + static/icons/gauge.svg | 14 + static/icons/gavel.svg | 17 + static/icons/gem.svg | 16 + static/icons/ghost.svg | 15 + static/icons/gift.svg | 17 + static/icons/git-branch-plus.svg | 18 + static/icons/git-branch.svg | 16 + static/icons/git-commit.svg | 15 + static/icons/git-compare.svg | 16 + static/icons/git-fork.svg | 17 + static/icons/git-merge.svg | 15 + static/icons/git-pull-request-closed.svg | 18 + static/icons/git-pull-request-draft.svg | 17 + static/icons/git-pull-request.svg | 16 + static/icons/github.svg | 14 + static/icons/gitlab.svg | 13 + static/icons/glass-water.svg | 14 + static/icons/glasses.svg | 17 + static/icons/globe-2.svg | 16 + static/icons/globe.svg | 15 + static/icons/grab.svg | 17 + static/icons/graduation-cap.svg | 14 + static/icons/grape.svg | 21 + static/icons/grid.svg | 17 + static/icons/grip-horizontal.svg | 18 + static/icons/grip-vertical.svg | 18 + static/icons/hammer.svg | 15 + static/icons/hand-metal.svg | 16 + static/icons/hand.svg | 16 + static/icons/hard-drive.svg | 16 + static/icons/hard-hat.svg | 16 + static/icons/hash.svg | 16 + static/icons/haze.svg | 20 + static/icons/heading-1.svg | 16 + static/icons/heading-2.svg | 16 + static/icons/heading-3.svg | 17 + static/icons/heading-4.svg | 17 + static/icons/heading-5.svg | 17 + static/icons/heading-6.svg | 17 + static/icons/heading.svg | 15 + static/icons/headphones.svg | 14 + static/icons/heart-crack.svg | 14 + static/icons/heart-handshake.svg | 16 + static/icons/heart-off.svg | 15 + static/icons/heart-pulse.svg | 14 + static/icons/heart.svg | 13 + static/icons/help-circle.svg | 15 + static/icons/hexagon.svg | 13 + static/icons/highlighter.svg | 14 + static/icons/history.svg | 15 + static/icons/home.svg | 14 + static/icons/hop-off.svg | 20 + static/icons/hop.svg | 20 + static/icons/hourglass.svg | 16 + static/icons/ice-cream.svg | 15 + static/icons/image-minus.svg | 16 + static/icons/image-off.svg | 18 + static/icons/image-plus.svg | 17 + static/icons/image.svg | 15 + static/icons/import.svg | 15 + static/icons/inbox.svg | 14 + static/icons/indent.svg | 16 + static/icons/indian-rupee.svg | 17 + static/icons/infinity.svg | 13 + static/icons/info.svg | 15 + static/icons/inspect.svg | 14 + static/icons/instagram.svg | 15 + static/icons/italic.svg | 15 + static/icons/japanese-yen.svg | 15 + static/icons/joystick.svg | 16 + static/icons/key.svg | 13 + static/icons/keyboard.svg | 21 + static/icons/lamp-ceiling.svg | 15 + static/icons/lamp-desk.svg | 16 + static/icons/lamp-floor.svg | 15 + static/icons/lamp-wall-down.svg | 15 + static/icons/lamp-wall-up.svg | 15 + static/icons/lamp.svg | 15 + static/icons/landmark.svg | 18 + static/icons/languages.svg | 18 + static/icons/laptop-2.svg | 14 + static/icons/laptop.svg | 13 + static/icons/lasso-select.svg | 17 + static/icons/lasso.svg | 15 + static/icons/laugh.svg | 16 + static/icons/layers.svg | 15 + static/icons/layout-dashboard.svg | 16 + static/icons/layout-grid.svg | 16 + static/icons/layout-list.svg | 18 + static/icons/layout-template.svg | 15 + static/icons/layout.svg | 15 + static/icons/leaf.svg | 14 + static/icons/library.svg | 16 + static/icons/life-buoy.svg | 19 + static/icons/lightbulb-off.svg | 17 + static/icons/lightbulb.svg | 15 + static/icons/line-chart.svg | 14 + static/icons/link-2-off.svg | 16 + static/icons/link-2.svg | 15 + static/icons/link.svg | 14 + static/icons/linkedin.svg | 15 + static/icons/list-checks.svg | 18 + static/icons/list-end.svg | 17 + static/icons/list-minus.svg | 16 + static/icons/list-music.svg | 17 + static/icons/list-ordered.svg | 18 + static/icons/list-plus.svg | 17 + static/icons/list-start.svg | 17 + static/icons/list-video.svg | 16 + static/icons/list-x.svg | 17 + static/icons/list.svg | 18 + static/icons/loader-2.svg | 13 + static/icons/loader.svg | 20 + static/icons/locate-fixed.svg | 18 + static/icons/locate-off.svg | 19 + static/icons/locate.svg | 17 + static/icons/lock.svg | 14 + static/icons/log-in.svg | 15 + static/icons/log-out.svg | 15 + static/icons/luggage.svg | 17 + static/icons/magnet.svg | 15 + static/icons/mail-check.svg | 15 + static/icons/mail-minus.svg | 15 + static/icons/mail-open.svg | 14 + static/icons/mail-plus.svg | 16 + static/icons/mail-question.svg | 16 + static/icons/mail-search.svg | 17 + static/icons/mail-warning.svg | 16 + static/icons/mail-x.svg | 16 + static/icons/mail.svg | 14 + static/icons/mails.svg | 15 + static/icons/map-pin-off.svg | 17 + static/icons/map-pin.svg | 14 + static/icons/map.svg | 15 + static/icons/martini.svg | 15 + static/icons/maximize-2.svg | 16 + static/icons/maximize.svg | 16 + static/icons/medal.svg | 18 + static/icons/megaphone-off.svg | 16 + static/icons/megaphone.svg | 14 + static/icons/meh.svg | 16 + static/icons/menu.svg | 15 + static/icons/message-circle.svg | 13 + static/icons/message-square.svg | 13 + static/icons/mic-2.svg | 14 + static/icons/mic-off.svg | 18 + static/icons/mic.svg | 15 + static/icons/microscope.svg | 18 + static/icons/microwave.svg | 17 + static/icons/milestone.svg | 15 + static/icons/milk-off.svg | 16 + static/icons/milk.svg | 15 + static/icons/minimize-2.svg | 16 + static/icons/minimize.svg | 16 + static/icons/minus-circle.svg | 14 + static/icons/minus-square.svg | 14 + static/icons/minus.svg | 13 + static/icons/monitor-off.svg | 17 + static/icons/monitor-smartphone.svg | 16 + static/icons/monitor-speaker.svg | 17 + static/icons/monitor.svg | 15 + static/icons/moon.svg | 13 + static/icons/more-horizontal.svg | 15 + static/icons/more-vertical.svg | 15 + static/icons/mountain-snow.svg | 14 + static/icons/mountain.svg | 13 + static/icons/mouse-pointer-2.svg | 13 + static/icons/mouse-pointer-click.svg | 15 + static/icons/mouse-pointer.svg | 14 + static/icons/mouse.svg | 14 + static/icons/move-3d.svg | 16 + static/icons/move-diagonal-2.svg | 15 + static/icons/move-diagonal.svg | 15 + static/icons/move-horizontal.svg | 15 + static/icons/move-vertical.svg | 15 + static/icons/move.svg | 18 + static/icons/music-2.svg | 14 + static/icons/music-3.svg | 14 + static/icons/music-4.svg | 16 + static/icons/music.svg | 15 + static/icons/navigation-2-off.svg | 15 + static/icons/navigation-2.svg | 13 + static/icons/navigation-off.svg | 15 + static/icons/navigation.svg | 13 + static/icons/network.svg | 17 + static/icons/newspaper.svg | 16 + static/icons/nut-off.svg | 17 + static/icons/nut.svg | 15 + static/icons/octagon.svg | 13 + static/icons/option.svg | 14 + static/icons/outdent.svg | 16 + static/icons/package-2.svg | 15 + static/icons/package-check.svg | 17 + static/icons/package-minus.svg | 17 + static/icons/package-open.svg | 16 + static/icons/package-plus.svg | 18 + static/icons/package-search.svg | 18 + static/icons/package-x.svg | 17 + static/icons/package.svg | 16 + static/icons/paint-bucket.svg | 16 + static/icons/paintbrush-2.svg | 16 + static/icons/paintbrush.svg | 15 + static/icons/palette.svg | 17 + static/icons/palmtree.svg | 16 + static/icons/paperclip.svg | 13 + static/icons/party-popper.svg | 21 + static/icons/pause-circle.svg | 15 + static/icons/pause-octagon.svg | 15 + static/icons/pause.svg | 14 + static/icons/pen-tool.svg | 16 + static/icons/pencil.svg | 14 + static/icons/percent.svg | 15 + static/icons/person-standing.svg | 16 + static/icons/phone-call.svg | 15 + static/icons/phone-forwarded.svg | 15 + static/icons/phone-incoming.svg | 15 + static/icons/phone-missed.svg | 15 + static/icons/phone-off.svg | 14 + static/icons/phone-outgoing.svg | 15 + static/icons/phone.svg | 13 + static/icons/pie-chart.svg | 14 + static/icons/piggy-bank.svg | 15 + static/icons/pin-off.svg | 16 + static/icons/pin.svg | 14 + static/icons/pipette.svg | 15 + static/icons/pizza.svg | 17 + static/icons/plane.svg | 13 + static/icons/play-circle.svg | 14 + static/icons/play.svg | 13 + static/icons/plug-2.svg | 17 + static/icons/plug-zap.svg | 18 + static/icons/plug.svg | 16 + static/icons/plus-circle.svg | 15 + static/icons/plus-square.svg | 15 + static/icons/plus.svg | 14 + static/icons/pocket.svg | 14 + static/icons/podcast.svg | 16 + static/icons/pointer.svg | 17 + static/icons/pound-sterling.svg | 16 + static/icons/power-off.svg | 16 + static/icons/power.svg | 14 + static/icons/printer.svg | 15 + static/icons/puzzle.svg | 13 + static/icons/qr-code.svg | 24 + static/icons/quote.svg | 14 + static/icons/radio-receiver.svg | 16 + static/icons/radio.svg | 17 + static/icons/rectangle-horizontal.svg | 13 + static/icons/rectangle-vertical.svg | 13 + static/icons/recycle.svg | 18 + static/icons/redo-2.svg | 14 + static/icons/redo.svg | 14 + static/icons/refresh-ccw.svg | 16 + static/icons/refresh-cw.svg | 16 + static/icons/refrigerator.svg | 15 + static/icons/regex.svg | 16 + static/icons/repeat-1.svg | 17 + static/icons/repeat.svg | 16 + static/icons/reply-all.svg | 15 + static/icons/reply.svg | 14 + static/icons/rewind.svg | 14 + static/icons/rocket.svg | 16 + static/icons/rocking-chair.svg | 16 + static/icons/rotate-3d.svg | 15 + static/icons/rotate-ccw.svg | 14 + static/icons/rotate-cw.svg | 14 + static/icons/rss.svg | 15 + static/icons/ruler.svg | 17 + static/icons/russian-ruble.svg | 17 + static/icons/sailboat.svg | 15 + static/icons/save.svg | 15 + static/icons/scale-3d.svg | 16 + static/icons/scale.svg | 17 + static/icons/scaling.svg | 16 + static/icons/scan-face.svg | 19 + static/icons/scan-line.svg | 17 + static/icons/scan.svg | 16 + static/icons/scissors.svg | 17 + static/icons/screen-share-off.svg | 17 + static/icons/screen-share.svg | 17 + static/icons/scroll.svg | 16 + static/icons/search.svg | 14 + static/icons/send.svg | 14 + static/icons/separator-horizontal.svg | 15 + static/icons/separator-vertical.svg | 15 + static/icons/server-cog.svg | 25 + static/icons/server-crash.svg | 17 + static/icons/server-off.svg | 18 + static/icons/server.svg | 16 + static/icons/settings-2.svg | 16 + static/icons/settings.svg | 14 + static/icons/share-2.svg | 17 + static/icons/share.svg | 15 + static/icons/sheet.svg | 17 + static/icons/shield-alert.svg | 15 + static/icons/shield-check.svg | 14 + static/icons/shield-close.svg | 15 + static/icons/shield-off.svg | 15 + static/icons/shield.svg | 13 + static/icons/shirt.svg | 13 + static/icons/shopping-bag.svg | 15 + static/icons/shopping-cart.svg | 15 + static/icons/shovel.svg | 15 + static/icons/shower-head.svg | 22 + static/icons/shrink.svg | 16 + static/icons/shrub.svg | 15 + static/icons/shuffle.svg | 17 + static/icons/sidebar-close.svg | 15 + static/icons/sidebar-open.svg | 15 + static/icons/sidebar.svg | 14 + static/icons/sigma.svg | 13 + static/icons/signal-high.svg | 16 + static/icons/signal-low.svg | 14 + static/icons/signal-medium.svg | 15 + static/icons/signal-zero.svg | 13 + static/icons/signal.svg | 17 + static/icons/siren.svg | 20 + static/icons/skip-back.svg | 14 + static/icons/skip-forward.svg | 14 + static/icons/skull.svg | 17 + static/icons/slack.svg | 20 + static/icons/slash.svg | 14 + static/icons/slice.svg | 14 + static/icons/sliders-horizontal.svg | 21 + static/icons/sliders.svg | 21 + static/icons/smartphone-charging.svg | 14 + static/icons/smartphone.svg | 14 + static/icons/smile-plus.svg | 18 + static/icons/smile.svg | 16 + static/icons/snowflake.svg | 18 + static/icons/sofa.svg | 17 + static/icons/sort-asc.svg | 17 + static/icons/sort-desc.svg | 17 + static/icons/speaker.svg | 15 + static/icons/spline.svg | 15 + static/icons/sprout.svg | 16 + static/icons/square.svg | 13 + static/icons/star-half.svg | 13 + static/icons/star-off.svg | 15 + static/icons/star.svg | 13 + static/icons/stethoscope.svg | 15 + static/icons/sticker.svg | 17 + static/icons/sticky-note.svg | 14 + static/icons/stop-circle.svg | 14 + static/icons/stretch-horizontal.svg | 14 + static/icons/stretch-vertical.svg | 14 + static/icons/strikethrough.svg | 15 + static/icons/subscript.svg | 15 + static/icons/sun-dim.svg | 21 + static/icons/sun-medium.svg | 21 + static/icons/sun-moon.svg | 22 + static/icons/sun-snow.svg | 23 + static/icons/sun.svg | 21 + static/icons/sunrise.svg | 20 + static/icons/sunset.svg | 20 + static/icons/superscript.svg | 15 + static/icons/swiss-franc.svg | 15 + static/icons/switch-camera.svg | 17 + static/icons/sword.svg | 16 + static/icons/swords.svg | 20 + static/icons/syringe.svg | 18 + static/icons/table-2.svg | 13 + static/icons/table.svg | 16 + static/icons/tablet.svg | 14 + static/icons/tag.svg | 14 + static/icons/tags.svg | 15 + static/icons/target.svg | 15 + static/icons/tent.svg | 17 + static/icons/terminal-square.svg | 15 + static/icons/terminal.svg | 14 + static/icons/text-cursor-input.svg | 16 + static/icons/text-cursor.svg | 15 + static/icons/thermometer-snowflake.svg | 18 + static/icons/thermometer-sun.svg | 18 + static/icons/thermometer.svg | 13 + static/icons/thumbs-down.svg | 14 + static/icons/thumbs-up.svg | 14 + static/icons/ticket.svg | 16 + static/icons/timer-off.svg | 17 + static/icons/timer-reset.svg | 16 + static/icons/timer.svg | 15 + static/icons/toggle-left.svg | 14 + static/icons/toggle-right.svg | 14 + static/icons/tornado.svg | 17 + static/icons/toy-brick.svg | 15 + static/icons/train.svg | 19 + static/icons/trash-2.svg | 17 + static/icons/trash.svg | 15 + static/icons/tree-deciduous.svg | 14 + static/icons/tree-pine.svg | 14 + static/icons/trees.svg | 16 + static/icons/trello.svg | 15 + static/icons/trending-down.svg | 14 + static/icons/trending-up.svg | 14 + static/icons/triangle.svg | 13 + static/icons/trophy.svg | 18 + static/icons/truck.svg | 17 + static/icons/tv-2.svg | 14 + static/icons/tv.svg | 14 + static/icons/twitch.svg | 13 + static/icons/twitter.svg | 13 + static/icons/type.svg | 15 + static/icons/umbrella.svg | 15 + static/icons/underline.svg | 14 + static/icons/undo-2.svg | 14 + static/icons/undo.svg | 14 + static/icons/unlink-2.svg | 13 + static/icons/unlink.svg | 18 + static/icons/unlock.svg | 14 + static/icons/upload-cloud.svg | 15 + static/icons/upload.svg | 15 + static/icons/usb.svg | 19 + static/icons/user-check.svg | 15 + static/icons/user-cog.svg | 21 + static/icons/user-minus.svg | 15 + static/icons/user-plus.svg | 16 + static/icons/user-x.svg | 16 + static/icons/user.svg | 14 + static/icons/users.svg | 16 + static/icons/utensils-crossed.svg | 16 + static/icons/utensils.svg | 15 + static/icons/vegan.svg | 15 + static/icons/venetian-mask.svg | 15 + static/icons/verified.svg | 14 + static/icons/vibrate-off.svg | 17 + static/icons/vibrate.svg | 15 + static/icons/video-off.svg | 15 + static/icons/video.svg | 14 + static/icons/view.svg | 16 + static/icons/voicemail.svg | 15 + static/icons/volume-1.svg | 14 + static/icons/volume-2.svg | 15 + static/icons/volume-x.svg | 15 + static/icons/volume.svg | 13 + static/icons/wallet.svg | 15 + static/icons/wand-2.svg | 20 + static/icons/wand.svg | 21 + static/icons/watch.svg | 16 + static/icons/waves.svg | 15 + static/icons/webcam.svg | 16 + static/icons/webhook.svg | 15 + static/icons/wheat-off.svg | 22 + static/icons/wheat.svg | 20 + static/icons/wifi-off.svg | 19 + static/icons/wifi.svg | 16 + static/icons/wind.svg | 15 + static/icons/wine-off.svg | 17 + static/icons/wine.svg | 16 + static/icons/wrap-text.svg | 16 + static/icons/wrench.svg | 13 + static/icons/x-circle.svg | 15 + static/icons/x-octagon.svg | 15 + static/icons/x-square.svg | 15 + static/icons/x.svg | 14 + static/icons/youtube.svg | 14 + static/icons/zap-off.svg | 16 + static/icons/zap.svg | 13 + static/icons/zoom-in.svg | 16 + static/icons/zoom-out.svg | 15 + static/images/Bitcoin_logo.svg | 1 + static/images/PayPal.svg | 1 + static/images/bandolier.svg | 1533 + static/images/colt.svg | 414 + static/images/cowboyhat.svg | 366 + static/images/header.svg | 8 + static/images/hero-bg.svg | 1 + static/images/payment_background.jpg | Bin 0 -> 78161 bytes static/images/zed.png | Bin 0 -> 5666 bytes static/js/chart.min.js | 13 + static/js/chartjs-plugin-annotation.esm.js | 2092 ++ static/js/chartjs-plugin-annotation.js | 2099 ++ static/js/chartjs-plugin-annotation.min.js | 7 + static/js/hls.js | 2 + static/js/hls.min.js.map | 1 + static/js/prism.cjs | 2359 ++ static/js/socket.io.min.js | 7 + static/js/socket.io.min.js.map | 1 + static/js/webtorrent.js | 16 + static/js/ztext.min.js | 6 + static/logo-40.png | Bin 0 -> 2502 bytes static/logo-small.svg | 10 + static/logo.png | Bin 0 -> 1171 bytes static/logo.svg | 44 + static/monochrome.css | 149 + static/mstile-150x150.png | Bin 0 -> 1149 bytes static/prod_icons.json | 74 + static/safari-pinned-tab.svg | 90 + static/service-worker.js | 0 static/site.webmanifest | 19 + static/test.js | 5 + static/test.md | 16 + static/tos.json | 58 + tests/cards.json | 16 + tests/client/assert.js | 16 + tests/client/fsm.js | 59 + tests/client/helpers.js | 48 + tests/lib/ormish.js | 144 + tests/models/media.js | 43 + tests/models/payment.js | 56 + tests/models/site.js | 68 + tests/models/user.js | 54 + tests/models/user_payment.js | 57 + tests/ui/admin_email.js | 53 + tests/ui/admin_tables.js | 67 + tests/ui/demos.js | 85 + tests/ui/livestream.js | 54 + tests/ui/login.js | 80 + tests/ui/password_reset.js | 51 + tests/ui/payments.js | 27 + tests/ui/register.js | 89 + tests/ui/unsubscribe.js | 33 + tests/ui/user_profile.js | 51 + 1295 files changed, 77112 insertions(+) create mode 100644 .eslintrc.json create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 admin/App.svelte create mode 100644 admin/Header.svelte create mode 100644 admin/Layout.svelte create mode 100644 admin/bando/Bandolier.svelte create mode 100644 admin/bando/Components.svelte create mode 100644 admin/bando/Djenterator.svelte create mode 100644 admin/bando/IconFinder.svelte create mode 100644 admin/bando/demos/Accordion.svelte create mode 100644 admin/bando/demos/Accordion.svelte.md create mode 100644 admin/bando/demos/AspectRatio.svelte create mode 100644 admin/bando/demos/AspectRatio.svelte.md create mode 100644 admin/bando/demos/Badge.svelte create mode 100644 admin/bando/demos/Badge.svelte.md create mode 100644 admin/bando/demos/ButtonGroup.svelte create mode 100644 admin/bando/demos/ButtonGroup.svelte.md create mode 100644 admin/bando/demos/Calendar.svelte create mode 100644 admin/bando/demos/Calendar.svelte.md create mode 100644 admin/bando/demos/Callout.svelte create mode 100644 admin/bando/demos/Callout.svelte.md create mode 100644 admin/bando/demos/Cards.svelte create mode 100644 admin/bando/demos/Cards.svelte.md create mode 100644 admin/bando/demos/Carousel.svelte create mode 100644 admin/bando/demos/Carousel.svelte.md create mode 100644 admin/bando/demos/Chat.svelte create mode 100644 admin/bando/demos/Chat.svelte.md create mode 100644 admin/bando/demos/Code.svelte create mode 100644 admin/bando/demos/Code.svelte.md create mode 100644 admin/bando/demos/Countdown.svelte create mode 100644 admin/bando/demos/Countdown.svelte.md create mode 100644 admin/bando/demos/Darkmode.svelte create mode 100644 admin/bando/demos/Darkmode.svelte.md create mode 100644 admin/bando/demos/DataTable.svelte create mode 100644 admin/bando/demos/DataTable.svelte.md create mode 100644 admin/bando/demos/FairPay.svelte create mode 100644 admin/bando/demos/FairPay.svelte.md create mode 100644 admin/bando/demos/Flipper.svelte create mode 100644 admin/bando/demos/Flipper.svelte.md create mode 100644 admin/bando/demos/Form.svelte create mode 100644 admin/bando/demos/Form.svelte.md create mode 100644 admin/bando/demos/HLSVideo.svelte create mode 100644 admin/bando/demos/Icon.svelte create mode 100644 admin/bando/demos/Icon.svelte.md create mode 100644 admin/bando/demos/IconImage.svelte create mode 100644 admin/bando/demos/LiveStream.svelte create mode 100644 admin/bando/demos/LiveStream.svelte.md create mode 100644 admin/bando/demos/LoggedIn.svelte create mode 100644 admin/bando/demos/LoggedIn.svelte.md create mode 100644 admin/bando/demos/Login.svelte create mode 100644 admin/bando/demos/Login.svelte.md create mode 100644 admin/bando/demos/Markdown.svelte create mode 100644 admin/bando/demos/Modal.svelte create mode 100644 admin/bando/demos/Modal.svelte.md create mode 100644 admin/bando/demos/OGPreview.svelte create mode 100644 admin/bando/demos/OGPreview.svelte.md create mode 100644 admin/bando/demos/Pagination.svelte create mode 100644 admin/bando/demos/Pagination.svelte.md create mode 100644 admin/bando/demos/Panels.svelte create mode 100644 admin/bando/demos/PlaceHolder.svelte create mode 100644 admin/bando/demos/PlaceHolder.svelte.md create mode 100644 admin/bando/demos/Progress.svelte create mode 100644 admin/bando/demos/Progress.svelte.md create mode 100644 admin/bando/demos/Sidebar.svelte create mode 100644 admin/bando/demos/Sidebar.svelte.md create mode 100644 admin/bando/demos/SidebarCSS.svelte create mode 100644 admin/bando/demos/SidebarCSS.svelte.md create mode 100644 admin/bando/demos/SnapImage.svelte create mode 100644 admin/bando/demos/SnapImage.svelte.md create mode 100644 admin/bando/demos/Spinner.svelte create mode 100644 admin/bando/demos/Spinner.svelte.md create mode 100644 admin/bando/demos/StackLayer.svelte create mode 100644 admin/bando/demos/StackLayer.svelte.md create mode 100644 admin/bando/demos/Switch.svelte create mode 100644 admin/bando/demos/Switch.svelte.md create mode 100644 admin/bando/demos/Tabs.svelte create mode 100644 admin/bando/demos/Tabs.svelte.md create mode 100644 admin/bando/demos/Tiles.svelte create mode 100644 admin/bando/demos/Tiles.svelte.md create mode 100644 admin/bando/demos/Toast.svelte create mode 100644 admin/bando/demos/Toast.svelte.md create mode 100644 admin/bando/demos/Toastier.svelte create mode 100644 admin/bando/demos/Toastier.svelte.md create mode 100644 admin/bando/demos/Tooltip.svelte create mode 100644 admin/bando/demos/Tooltip.svelte.md create mode 100644 admin/bando/demos/Video.svelte create mode 100644 admin/bando/demos/Video.svelte.md create mode 100644 admin/bando/demos/WTVideo.svelte create mode 100644 admin/bando/demos/WTVideo.svelte.md create mode 100644 admin/main.js create mode 100644 admin/pages/Create.svelte create mode 100644 admin/pages/DocsBrowser.svelte create mode 100644 admin/pages/EmailConfig.svelte create mode 100644 admin/pages/EmailDNS.svelte create mode 100644 admin/pages/EmailSend.svelte create mode 100644 admin/pages/Errors.svelte create mode 100644 admin/pages/Home.svelte create mode 100644 admin/pages/ReadUpdate.svelte create mode 100644 admin/pages/Routes.svelte create mode 100644 admin/pages/Stats.svelte create mode 100644 admin/pages/Table.svelte create mode 100644 admin/pages/TableIndex.svelte create mode 100644 admin/pages/Tests.svelte create mode 100644 admin/routes.js create mode 100644 api/_errors.js create mode 100644 api/admin/email.js create mode 100644 api/admin/schema.js create mode 100644 api/admin/table.js create mode 100644 api/authcheck.js create mode 100644 api/devtools/djenterator.js create mode 100644 api/devtools/info.js create mode 100644 api/discord.js create mode 100644 api/email.js create mode 100644 api/livestream.js create mode 100644 api/login.js create mode 100644 api/logout.js create mode 100644 api/media.js create mode 100644 api/media_like.js create mode 100644 api/password_reset.js create mode 100644 api/payments/btcpay.js create mode 100644 api/payments/fake.js create mode 100644 api/payments/paypal.js create mode 100644 api/payments/stripe.js create mode 100644 api/payments/stripe_webhook.js create mode 100644 api/problems.js create mode 100644 api/product.js create mode 100644 api/register.js create mode 100644 api/user/payments.js create mode 100644 api/user/profile.js create mode 100644 bando.js create mode 100644 bando.ps1 create mode 100644 build.json create mode 100644 build.prod.json create mode 100644 client/App.svelte create mode 100644 client/Footer.svelte create mode 100644 client/Header.svelte create mode 100644 client/Layout.svelte create mode 100644 client/api.js create mode 100644 client/assert.js create mode 100644 client/components/BTCPay.svelte create mode 100644 client/components/Blockstart.svelte create mode 100644 client/components/Calendar.svelte create mode 100644 client/components/Carousel.svelte create mode 100644 client/components/Chat.svelte create mode 100644 client/components/Code.svelte create mode 100644 client/components/CodeFormatter.svelte create mode 100644 client/components/Countdown.svelte create mode 100644 client/components/Darkmode.svelte create mode 100644 client/components/DataTable.svelte create mode 100644 client/components/DiscordReplay.svelte create mode 100644 client/components/FakePayment.svelte create mode 100644 client/components/Form.svelte create mode 100644 client/components/FormField.svelte create mode 100644 client/components/HLSVideo.svelte create mode 100644 client/components/HTML.svelte create mode 100644 client/components/HeadOnce.svelte create mode 100644 client/components/Icon.svelte create mode 100644 client/components/IconImage.svelte create mode 100644 client/components/IsVisible.svelte create mode 100644 client/components/LoggedIn.svelte create mode 100644 client/components/Login.svelte create mode 100644 client/components/Markdown.svelte create mode 100644 client/components/Modal.svelte create mode 100644 client/components/OGPreview.svelte create mode 100644 client/components/Pagination.svelte create mode 100644 client/components/Paypal.svelte create mode 100644 client/components/PlaceHolder.svelte create mode 100644 client/components/ProgressMeter.svelte create mode 100644 client/components/Reloader.svelte create mode 100644 client/components/ShareButton.svelte create mode 100644 client/components/Sidebar.svelte create mode 100644 client/components/SnapImage.svelte create mode 100644 client/components/Source.svelte create mode 100644 client/components/Spinner.svelte create mode 100644 client/components/Stripe.svelte create mode 100644 client/components/TOS.svelte create mode 100644 client/components/Tabs.svelte create mode 100644 client/components/Toasts.svelte create mode 100644 client/components/Video.svelte create mode 100644 client/components/WTVideo.svelte create mode 100644 client/fsm.js create mode 100644 client/helpers.js create mode 100644 client/livestreams.js create mode 100644 client/logging.js create mode 100644 client/main.js create mode 100644 client/pages/Discord.svelte create mode 100644 client/pages/Explore.svelte create mode 100644 client/pages/Home.svelte create mode 100644 client/pages/Live.svelte create mode 100644 client/pages/LiveIndex.svelte create mode 100644 client/pages/Login.svelte create mode 100644 client/pages/NotFound.svelte create mode 100644 client/pages/Payment.svelte create mode 100644 client/pages/ProblemShow.svelte create mode 100644 client/pages/Problems.svelte create mode 100644 client/pages/Register.svelte create mode 100644 client/pages/ResetPassword.svelte create mode 100644 client/pages/TOS.svelte create mode 100644 client/pages/Unsubscribe.svelte create mode 100644 client/pages/UserProfile.svelte create mode 100644 client/pages/Video.svelte create mode 100644 client/pages/VideoIndex.svelte create mode 100644 client/routes.js create mode 100644 client/stores.js create mode 100644 client/websocket.js create mode 100644 client/wt.js create mode 100644 commands/api.js create mode 100644 commands/build.js create mode 100644 commands/codedoc.js create mode 100644 commands/convert.js create mode 100644 commands/coverage.js create mode 100644 commands/deploy.js create mode 100644 commands/devsvc.js create mode 100644 commands/djent.js create mode 100644 commands/gen_players.js create mode 100644 commands/icons.js create mode 100644 commands/init.js create mode 100644 commands/livestreams.js create mode 100644 commands/loganalyzer.js create mode 100644 commands/lorem.js create mode 100644 commands/media.js create mode 100644 commands/moovfix.js create mode 100644 commands/pdfpresgen.js create mode 100644 commands/queue.js create mode 100644 commands/rendered.js create mode 100644 commands/templates/client/Footer.svelte create mode 100644 commands/templates/client/Header.svelte create mode 100644 commands/templates/client/Layout.svelte create mode 100644 commands/templates/client/config.js create mode 100644 commands/templates/client/pages/Home.svelte create mode 100644 commands/templates/client/routes.js create mode 100644 commands/templates/emails/config.js create mode 100644 commands/templates/rendered/Footer.svelte create mode 100644 commands/templates/rendered/Header.svelte create mode 100644 commands/templates/rendered/Layout.svelte create mode 100644 commands/templates/rendered/index.svelte create mode 100644 commands/templates/rendered/pages/index.svelte create mode 100644 commands/templates/secrets/config.json create mode 100644 commands/templates/secrets/email.json create mode 100644 commands/thumbnail.js create mode 100644 commands/tracker.js create mode 100644 commands/unsubkeys.js create mode 100644 emails/change_email.txt create mode 100644 emails/discord_email.html create mode 100644 emails/discord_email.txt create mode 100644 emails/invoice.html create mode 100644 emails/invoice.txt create mode 100644 emails/receipt.html create mode 100644 emails/receipt.txt create mode 100644 emails/register_email.html create mode 100644 emails/register_email.txt create mode 100644 emails/reset_email.html create mode 100644 emails/reset_email.txt create mode 100644 emails/reset_finished.html create mode 100644 emails/reset_finished.txt create mode 100644 emails/test.html create mode 100644 emails/test.txt create mode 100644 emails/welcome_email.html create mode 100644 emails/welcome_email.txt create mode 100644 knexfile.cjs create mode 100644 lib/api.js create mode 100644 lib/auth.js create mode 100644 lib/blog.js create mode 100644 lib/builderator.js create mode 100644 lib/config.js create mode 100644 lib/devtools.js create mode 100644 lib/docgen.js create mode 100644 lib/email.js create mode 100644 lib/logging.js create mode 100644 lib/models.js create mode 100644 lib/ormish.js create mode 100644 lib/queues.js create mode 100644 lib/testing.js create mode 100644 migrations/20210407193844_initial.cjs create mode 100644 migrations/20210508193210_reset_codes.cjs create mode 100644 migrations/20210724194201_payments.cjs create mode 100644 migrations/20210801144128_media.cjs create mode 100644 migrations/20210807180515_user_payment.cjs create mode 100644 migrations/20210823001710_media_needs_poster.cjs create mode 100644 migrations/20210828133355_site_metadata.cjs create mode 100644 migrations/20210911122326_user_unsubscribe.cjs create mode 100644 migrations/20210911191222_user_reset_count.cjs create mode 100644 migrations/20211111034030_media_meta_fields.cjs create mode 100644 migrations/20211122202014_media_add_slug.cjs create mode 100644 migrations/20220107182030_user_payment_remove.cjs create mode 100644 migrations/20220224195155_livestream.cjs create mode 100644 migrations/20220228190915_unsubkey_32_hex.cjs create mode 100644 migrations/20220314020215_payment_substate_cause.cjs create mode 100644 migrations/20220426213105_livestream_add_state_check.cjs create mode 100644 migrations/20220427232344_livestream_media.cjs create mode 100644 migrations/20220428184247_livestream_viewers.cjs create mode 100644 migrations/20220507231257_livestream_episode_number.cjs create mode 100644 migrations/20220522091823_product.cjs create mode 100644 migrations/20220603163208_likes_on_videos.cjs create mode 100644 migrations/20220921230725_payment_random_receipt_id.cjs create mode 100644 nodemon.json create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 queues/discord.js create mode 100644 queues/live.js create mode 100644 queues/mail.js create mode 100644 queues/paypal.js create mode 100644 queues/stripe.js create mode 100644 rendered/Footer.svelte create mode 100644 rendered/Header.svelte create mode 100644 rendered/Layout.svelte create mode 100644 rendered/feed_index.json create mode 100644 rendered/index.svelte create mode 100644 rendered/pages/about/index.svelte create mode 100644 rendered/pages/blog/[slug]/index.svelte create mode 100644 rendered/pages/blog/index.svelte create mode 100644 rendered/pages/index.svelte create mode 100644 rendered/pages/live/[slug]/index.svelte create mode 100644 rendered/pages/live/[slug]/player.svelte create mode 100644 rendered/pages/live/index.js create mode 100644 rendered/pages/live/index.svelte create mode 100644 rendered/pages/privacy/index.svelte create mode 100644 rendered/pages/test_large_card.svelte create mode 100644 rendered/pages/test_og_card.svelte create mode 100644 rendered/pages/test_video_card.svelte create mode 100644 rendered/pages/video_container.svelte create mode 100644 rendered/player.html create mode 100644 rendered/rollup.config.mjs create mode 100644 rendered/src/template.html create mode 100644 scripts/Presentation_Template.png create mode 100644 scripts/osx.config.cjs create mode 100644 scripts/pdfpres_example.md create mode 100644 scripts/prod.config.cjs create mode 100644 scripts/setupTypeScript.js create mode 100644 socket/chat.js create mode 100644 socket/live.js create mode 100644 socket/reloader.js create mode 100644 static/admin/index.html create mode 100644 static/android-chrome-192x192.png create mode 100644 static/android-chrome-512x512.png create mode 100644 static/apple-touch-icon.png create mode 100644 static/blockstart.css create mode 100644 static/browserconfig.xml create mode 100644 static/client/index.html create mode 100644 static/color.css create mode 100644 static/css/pattern.min.css create mode 100644 static/css/prism.css create mode 100644 static/djenterator/api.js create mode 100644 static/djenterator/api.js.vars create mode 100644 static/djenterator/client.svelte create mode 100644 static/djenterator/client.svelte.vars create mode 100644 static/djenterator/command.js create mode 100644 static/djenterator/command.js.vars create mode 100644 static/djenterator/form.svelte create mode 100644 static/djenterator/form.svelte.vars create mode 100644 static/djenterator/migration.js create mode 100644 static/djenterator/migration.js.vars create mode 100644 static/djenterator/pdfpres.md create mode 100644 static/djenterator/pdfpres.md.vars create mode 100644 static/djenterator/queues.js create mode 100644 static/djenterator/queues.js.vars create mode 100644 static/djenterator/rendered.svelte create mode 100644 static/djenterator/rendered.svelte.vars create mode 100644 static/djenterator/socket.js create mode 100644 static/djenterator/socket.js.vars create mode 100644 static/djenterator/ui_test.js create mode 100644 static/djenterator/ui_test.js.vars create mode 100644 static/favicon-16x16.png create mode 100644 static/favicon-32x32.png create mode 100644 static/favicon.ico create mode 100644 static/favicon.png create mode 100644 static/feather-sprite.svg create mode 100644 static/fonts/VictorMono-Bold.ttf create mode 100644 static/fonts/VictorMono-Light.ttf create mode 100644 static/fonts/VictorMono-Medium.ttf create mode 100644 static/fonts/computer.woff create mode 100644 static/global.css create mode 100644 static/icons/LICENSE create mode 100644 static/icons/accessibility.svg create mode 100644 static/icons/activity.svg create mode 100644 static/icons/air-vent.svg create mode 100644 static/icons/airplay.svg create mode 100644 static/icons/alarm-check.svg create mode 100644 static/icons/alarm-clock-off.svg create mode 100644 static/icons/alarm-clock.svg create mode 100644 static/icons/alarm-minus.svg create mode 100644 static/icons/alarm-plus.svg create mode 100644 static/icons/album.svg create mode 100644 static/icons/alert-circle.svg create mode 100644 static/icons/alert-octagon.svg create mode 100644 static/icons/alert-triangle.svg create mode 100644 static/icons/align-center-horizontal.svg create mode 100644 static/icons/align-center-vertical.svg create mode 100644 static/icons/align-center.svg create mode 100644 static/icons/align-end-horizontal.svg create mode 100644 static/icons/align-end-vertical.svg create mode 100644 static/icons/align-horizontal-distribute-center.svg create mode 100644 static/icons/align-horizontal-distribute-end.svg create mode 100644 static/icons/align-horizontal-distribute-start.svg create mode 100644 static/icons/align-horizontal-justify-center.svg create mode 100644 static/icons/align-horizontal-justify-end.svg create mode 100644 static/icons/align-horizontal-justify-start.svg create mode 100644 static/icons/align-horizontal-space-around.svg create mode 100644 static/icons/align-horizontal-space-between.svg create mode 100644 static/icons/align-justify.svg create mode 100644 static/icons/align-left.svg create mode 100644 static/icons/align-right.svg create mode 100644 static/icons/align-start-horizontal.svg create mode 100644 static/icons/align-start-vertical.svg create mode 100644 static/icons/align-vertical-distribute-center.svg create mode 100644 static/icons/align-vertical-distribute-end.svg create mode 100644 static/icons/align-vertical-distribute-start.svg create mode 100644 static/icons/align-vertical-justify-center.svg create mode 100644 static/icons/align-vertical-justify-end.svg create mode 100644 static/icons/align-vertical-justify-start.svg create mode 100644 static/icons/align-vertical-space-around.svg create mode 100644 static/icons/align-vertical-space-between.svg create mode 100644 static/icons/anchor.svg create mode 100644 static/icons/angry.svg create mode 100644 static/icons/annoyed.svg create mode 100644 static/icons/aperture.svg create mode 100644 static/icons/apple.svg create mode 100644 static/icons/archive-restore.svg create mode 100644 static/icons/archive.svg create mode 100644 static/icons/armchair.svg create mode 100644 static/icons/arrow-big-down.svg create mode 100644 static/icons/arrow-big-left.svg create mode 100644 static/icons/arrow-big-right.svg create mode 100644 static/icons/arrow-big-up.svg create mode 100644 static/icons/arrow-down-circle.svg create mode 100644 static/icons/arrow-down-left.svg create mode 100644 static/icons/arrow-down-right.svg create mode 100644 static/icons/arrow-down.svg create mode 100644 static/icons/arrow-left-circle.svg create mode 100644 static/icons/arrow-left-right.svg create mode 100644 static/icons/arrow-left.svg create mode 100644 static/icons/arrow-right-circle.svg create mode 100644 static/icons/arrow-right.svg create mode 100644 static/icons/arrow-up-circle.svg create mode 100644 static/icons/arrow-up-down.svg create mode 100644 static/icons/arrow-up-left.svg create mode 100644 static/icons/arrow-up-right.svg create mode 100644 static/icons/arrow-up.svg create mode 100644 static/icons/asterisk.svg create mode 100644 static/icons/at-sign.svg create mode 100644 static/icons/award.svg create mode 100644 static/icons/axe.svg create mode 100644 static/icons/axis-3d.svg create mode 100644 static/icons/baby.svg create mode 100644 static/icons/backpack.svg create mode 100644 static/icons/baggage-claim.svg create mode 100644 static/icons/banana.svg create mode 100644 static/icons/banknote.svg create mode 100644 static/icons/bar-chart-2.svg create mode 100644 static/icons/bar-chart-3.svg create mode 100644 static/icons/bar-chart-4.svg create mode 100644 static/icons/bar-chart-horizontal.svg create mode 100644 static/icons/bar-chart.svg create mode 100644 static/icons/baseline.svg create mode 100644 static/icons/bath.svg create mode 100644 static/icons/battery-charging.svg create mode 100644 static/icons/battery-full.svg create mode 100644 static/icons/battery-low.svg create mode 100644 static/icons/battery-medium.svg create mode 100644 static/icons/battery.svg create mode 100644 static/icons/beaker.svg create mode 100644 static/icons/bean-off.svg create mode 100644 static/icons/bean.svg create mode 100644 static/icons/bed-double.svg create mode 100644 static/icons/bed-single.svg create mode 100644 static/icons/bed.svg create mode 100644 static/icons/beer.svg create mode 100644 static/icons/bell-minus.svg create mode 100644 static/icons/bell-off.svg create mode 100644 static/icons/bell-plus.svg create mode 100644 static/icons/bell-ring.svg create mode 100644 static/icons/bell.svg create mode 100644 static/icons/bike.svg create mode 100644 static/icons/binary.svg create mode 100644 static/icons/bitcoin.svg create mode 100644 static/icons/bluetooth-connected.svg create mode 100644 static/icons/bluetooth-off.svg create mode 100644 static/icons/bluetooth-searching.svg create mode 100644 static/icons/bluetooth.svg create mode 100644 static/icons/bold.svg create mode 100644 static/icons/bomb.svg create mode 100644 static/icons/bone.svg create mode 100644 static/icons/book-open-check.svg create mode 100644 static/icons/book-open.svg create mode 100644 static/icons/book.svg create mode 100644 static/icons/bookmark-minus.svg create mode 100644 static/icons/bookmark-plus.svg create mode 100644 static/icons/bookmark.svg create mode 100644 static/icons/bot.svg create mode 100644 static/icons/box-select.svg create mode 100644 static/icons/box.svg create mode 100644 static/icons/boxes.svg create mode 100644 static/icons/briefcase.svg create mode 100644 static/icons/brush.svg create mode 100644 static/icons/bug.svg create mode 100644 static/icons/building-2.svg create mode 100644 static/icons/building.svg create mode 100644 static/icons/bus.svg create mode 100644 static/icons/cake.svg create mode 100644 static/icons/calculator.svg create mode 100644 static/icons/calendar-check-2.svg create mode 100644 static/icons/calendar-check.svg create mode 100644 static/icons/calendar-clock.svg create mode 100644 static/icons/calendar-days.svg create mode 100644 static/icons/calendar-heart.svg create mode 100644 static/icons/calendar-minus.svg create mode 100644 static/icons/calendar-off.svg create mode 100644 static/icons/calendar-plus.svg create mode 100644 static/icons/calendar-range.svg create mode 100644 static/icons/calendar-search.svg create mode 100644 static/icons/calendar-x-2.svg create mode 100644 static/icons/calendar-x.svg create mode 100644 static/icons/calendar.svg create mode 100644 static/icons/camera-off.svg create mode 100644 static/icons/camera.svg create mode 100644 static/icons/candy-off.svg create mode 100644 static/icons/candy.svg create mode 100644 static/icons/car.svg create mode 100644 static/icons/carrot.svg create mode 100644 static/icons/cast.svg create mode 100644 static/icons/cat.svg create mode 100644 static/icons/check-check.svg create mode 100644 static/icons/check-circle-2.svg create mode 100644 static/icons/check-circle.svg create mode 100644 static/icons/check-square.svg create mode 100644 static/icons/check.svg create mode 100644 static/icons/chef-hat.svg create mode 100644 static/icons/cherry.svg create mode 100644 static/icons/chevron-down.svg create mode 100644 static/icons/chevron-first.svg create mode 100644 static/icons/chevron-last.svg create mode 100644 static/icons/chevron-left.svg create mode 100644 static/icons/chevron-right.svg create mode 100644 static/icons/chevron-up.svg create mode 100644 static/icons/chevrons-down-up.svg create mode 100644 static/icons/chevrons-down.svg create mode 100644 static/icons/chevrons-left-right.svg create mode 100644 static/icons/chevrons-left.svg create mode 100644 static/icons/chevrons-right-left.svg create mode 100644 static/icons/chevrons-right.svg create mode 100644 static/icons/chevrons-up-down.svg create mode 100644 static/icons/chevrons-up.svg create mode 100644 static/icons/chrome.svg create mode 100644 static/icons/cigarette-off.svg create mode 100644 static/icons/cigarette.svg create mode 100644 static/icons/circle-dot.svg create mode 100644 static/icons/circle-ellipsis.svg create mode 100644 static/icons/circle-slashed.svg create mode 100644 static/icons/circle.svg create mode 100644 static/icons/citrus.svg create mode 100644 static/icons/clapperboard.svg create mode 100644 static/icons/clipboard-check.svg create mode 100644 static/icons/clipboard-copy.svg create mode 100644 static/icons/clipboard-edit.svg create mode 100644 static/icons/clipboard-list.svg create mode 100644 static/icons/clipboard-signature.svg create mode 100644 static/icons/clipboard-type.svg create mode 100644 static/icons/clipboard-x.svg create mode 100644 static/icons/clipboard.svg create mode 100644 static/icons/clock-1.svg create mode 100644 static/icons/clock-10.svg create mode 100644 static/icons/clock-11.svg create mode 100644 static/icons/clock-12.svg create mode 100644 static/icons/clock-2.svg create mode 100644 static/icons/clock-3.svg create mode 100644 static/icons/clock-4.svg create mode 100644 static/icons/clock-5.svg create mode 100644 static/icons/clock-6.svg create mode 100644 static/icons/clock-7.svg create mode 100644 static/icons/clock-8.svg create mode 100644 static/icons/clock-9.svg create mode 100644 static/icons/clock.svg create mode 100644 static/icons/cloud-cog.svg create mode 100644 static/icons/cloud-drizzle.svg create mode 100644 static/icons/cloud-fog.svg create mode 100644 static/icons/cloud-hail.svg create mode 100644 static/icons/cloud-lightning.svg create mode 100644 static/icons/cloud-moon-rain.svg create mode 100644 static/icons/cloud-moon.svg create mode 100644 static/icons/cloud-off.svg create mode 100644 static/icons/cloud-rain-wind.svg create mode 100644 static/icons/cloud-rain.svg create mode 100644 static/icons/cloud-snow.svg create mode 100644 static/icons/cloud-sun-rain.svg create mode 100644 static/icons/cloud-sun.svg create mode 100644 static/icons/cloud.svg create mode 100644 static/icons/cloudy.svg create mode 100644 static/icons/clover.svg create mode 100644 static/icons/code-2.svg create mode 100644 static/icons/code.svg create mode 100644 static/icons/codepen.svg create mode 100644 static/icons/codesandbox.svg create mode 100644 static/icons/coffee.svg create mode 100644 static/icons/cog.svg create mode 100644 static/icons/coins.svg create mode 100644 static/icons/columns.svg create mode 100644 static/icons/command.svg create mode 100644 static/icons/compass.svg create mode 100644 static/icons/component.svg create mode 100644 static/icons/concierge-bell.svg create mode 100644 static/icons/contact.svg create mode 100644 static/icons/contrast.svg create mode 100644 static/icons/cookie.svg create mode 100644 static/icons/copy.svg create mode 100644 static/icons/copyleft.svg create mode 100644 static/icons/copyright.svg create mode 100644 static/icons/corner-down-left.svg create mode 100644 static/icons/corner-down-right.svg create mode 100644 static/icons/corner-left-down.svg create mode 100644 static/icons/corner-left-up.svg create mode 100644 static/icons/corner-right-down.svg create mode 100644 static/icons/corner-right-up.svg create mode 100644 static/icons/corner-up-left.svg create mode 100644 static/icons/corner-up-right.svg create mode 100644 static/icons/cpu.svg create mode 100644 static/icons/credit-card.svg create mode 100644 static/icons/croissant.svg create mode 100644 static/icons/crop.svg create mode 100644 static/icons/cross.svg create mode 100644 static/icons/crosshair.svg create mode 100644 static/icons/crown.svg create mode 100644 static/icons/cup-soda.svg create mode 100644 static/icons/curly-braces.svg create mode 100644 static/icons/currency.svg create mode 100644 static/icons/database.svg create mode 100644 static/icons/delete.svg create mode 100644 static/icons/diamond.svg create mode 100644 static/icons/dice-1.svg create mode 100644 static/icons/dice-2.svg create mode 100644 static/icons/dice-3.svg create mode 100644 static/icons/dice-4.svg create mode 100644 static/icons/dice-5.svg create mode 100644 static/icons/dice-6.svg create mode 100644 static/icons/dices.svg create mode 100644 static/icons/diff.svg create mode 100644 static/icons/disc.svg create mode 100644 static/icons/divide-circle.svg create mode 100644 static/icons/divide-square.svg create mode 100644 static/icons/divide.svg create mode 100644 static/icons/dna-off.svg create mode 100644 static/icons/dna.svg create mode 100644 static/icons/dog.svg create mode 100644 static/icons/dollar-sign.svg create mode 100644 static/icons/download-cloud.svg create mode 100644 static/icons/download.svg create mode 100644 static/icons/dribbble.svg create mode 100644 static/icons/droplet.svg create mode 100644 static/icons/droplets.svg create mode 100644 static/icons/drumstick.svg create mode 100644 static/icons/dumbbell.svg create mode 100644 static/icons/ear-off.svg create mode 100644 static/icons/ear.svg create mode 100644 static/icons/edit-2.svg create mode 100644 static/icons/edit-3.svg create mode 100644 static/icons/edit.svg create mode 100644 static/icons/egg-fried.svg create mode 100644 static/icons/egg-off.svg create mode 100644 static/icons/egg.svg create mode 100644 static/icons/equal-not.svg create mode 100644 static/icons/equal.svg create mode 100644 static/icons/eraser.svg create mode 100644 static/icons/euro.svg create mode 100644 static/icons/expand.svg create mode 100644 static/icons/external-link.svg create mode 100644 static/icons/eye-off.svg create mode 100644 static/icons/eye.svg create mode 100644 static/icons/facebook.svg create mode 100644 static/icons/factory.svg create mode 100644 static/icons/fan.svg create mode 100644 static/icons/fast-forward.svg create mode 100644 static/icons/feather.svg create mode 100644 static/icons/figma.svg create mode 100644 static/icons/file-archive.svg create mode 100644 static/icons/file-audio-2.svg create mode 100644 static/icons/file-audio.svg create mode 100644 static/icons/file-axis-3d.svg create mode 100644 static/icons/file-badge-2.svg create mode 100644 static/icons/file-badge.svg create mode 100644 static/icons/file-bar-chart-2.svg create mode 100644 static/icons/file-bar-chart.svg create mode 100644 static/icons/file-box.svg create mode 100644 static/icons/file-check-2.svg create mode 100644 static/icons/file-check.svg create mode 100644 static/icons/file-clock.svg create mode 100644 static/icons/file-code.svg create mode 100644 static/icons/file-cog-2.svg create mode 100644 static/icons/file-cog.svg create mode 100644 static/icons/file-diff.svg create mode 100644 static/icons/file-digit.svg create mode 100644 static/icons/file-down.svg create mode 100644 static/icons/file-edit.svg create mode 100644 static/icons/file-heart.svg create mode 100644 static/icons/file-image.svg create mode 100644 static/icons/file-input.svg create mode 100644 static/icons/file-json-2.svg create mode 100644 static/icons/file-json.svg create mode 100644 static/icons/file-key-2.svg create mode 100644 static/icons/file-key.svg create mode 100644 static/icons/file-line-chart.svg create mode 100644 static/icons/file-lock-2.svg create mode 100644 static/icons/file-lock.svg create mode 100644 static/icons/file-minus-2.svg create mode 100644 static/icons/file-minus.svg create mode 100644 static/icons/file-output.svg create mode 100644 static/icons/file-pie-chart.svg create mode 100644 static/icons/file-plus-2.svg create mode 100644 static/icons/file-plus.svg create mode 100644 static/icons/file-question.svg create mode 100644 static/icons/file-scan.svg create mode 100644 static/icons/file-search-2.svg create mode 100644 static/icons/file-search.svg create mode 100644 static/icons/file-signature.svg create mode 100644 static/icons/file-spreadsheet.svg create mode 100644 static/icons/file-symlink.svg create mode 100644 static/icons/file-terminal.svg create mode 100644 static/icons/file-text.svg create mode 100644 static/icons/file-type-2.svg create mode 100644 static/icons/file-type.svg create mode 100644 static/icons/file-up.svg create mode 100644 static/icons/file-video-2.svg create mode 100644 static/icons/file-video.svg create mode 100644 static/icons/file-volume-2.svg create mode 100644 static/icons/file-volume.svg create mode 100644 static/icons/file-warning.svg create mode 100644 static/icons/file-x-2.svg create mode 100644 static/icons/file-x.svg create mode 100644 static/icons/file.svg create mode 100644 static/icons/files.svg create mode 100644 static/icons/film.svg create mode 100644 static/icons/filter.svg create mode 100644 static/icons/fingerprint.svg create mode 100644 static/icons/flag-off.svg create mode 100644 static/icons/flag-triangle-left.svg create mode 100644 static/icons/flag-triangle-right.svg create mode 100644 static/icons/flag.svg create mode 100644 static/icons/flame.svg create mode 100644 static/icons/flashlight-off.svg create mode 100644 static/icons/flashlight.svg create mode 100644 static/icons/flask-conical-off.svg create mode 100644 static/icons/flask-conical.svg create mode 100644 static/icons/flask-round.svg create mode 100644 static/icons/flip-horizontal-2.svg create mode 100644 static/icons/flip-horizontal.svg create mode 100644 static/icons/flip-vertical-2.svg create mode 100644 static/icons/flip-vertical.svg create mode 100644 static/icons/flower-2.svg create mode 100644 static/icons/flower.svg create mode 100644 static/icons/focus.svg create mode 100644 static/icons/folder-archive.svg create mode 100644 static/icons/folder-check.svg create mode 100644 static/icons/folder-clock.svg create mode 100644 static/icons/folder-closed.svg create mode 100644 static/icons/folder-cog-2.svg create mode 100644 static/icons/folder-cog.svg create mode 100644 static/icons/folder-down.svg create mode 100644 static/icons/folder-edit.svg create mode 100644 static/icons/folder-heart.svg create mode 100644 static/icons/folder-input.svg create mode 100644 static/icons/folder-key.svg create mode 100644 static/icons/folder-lock.svg create mode 100644 static/icons/folder-minus.svg create mode 100644 static/icons/folder-open.svg create mode 100644 static/icons/folder-output.svg create mode 100644 static/icons/folder-plus.svg create mode 100644 static/icons/folder-search-2.svg create mode 100644 static/icons/folder-search.svg create mode 100644 static/icons/folder-symlink.svg create mode 100644 static/icons/folder-tree.svg create mode 100644 static/icons/folder-up.svg create mode 100644 static/icons/folder-x.svg create mode 100644 static/icons/folder.svg create mode 100644 static/icons/folders.svg create mode 100644 static/icons/form-input.svg create mode 100644 static/icons/forward.svg create mode 100644 static/icons/frame.svg create mode 100644 static/icons/framer.svg create mode 100644 static/icons/frown.svg create mode 100644 static/icons/fuel.svg create mode 100644 static/icons/function-square.svg create mode 100644 static/icons/gamepad-2.svg create mode 100644 static/icons/gamepad.svg create mode 100644 static/icons/gauge.svg create mode 100644 static/icons/gavel.svg create mode 100644 static/icons/gem.svg create mode 100644 static/icons/ghost.svg create mode 100644 static/icons/gift.svg create mode 100644 static/icons/git-branch-plus.svg create mode 100644 static/icons/git-branch.svg create mode 100644 static/icons/git-commit.svg create mode 100644 static/icons/git-compare.svg create mode 100644 static/icons/git-fork.svg create mode 100644 static/icons/git-merge.svg create mode 100644 static/icons/git-pull-request-closed.svg create mode 100644 static/icons/git-pull-request-draft.svg create mode 100644 static/icons/git-pull-request.svg create mode 100644 static/icons/github.svg create mode 100644 static/icons/gitlab.svg create mode 100644 static/icons/glass-water.svg create mode 100644 static/icons/glasses.svg create mode 100644 static/icons/globe-2.svg create mode 100644 static/icons/globe.svg create mode 100644 static/icons/grab.svg create mode 100644 static/icons/graduation-cap.svg create mode 100644 static/icons/grape.svg create mode 100644 static/icons/grid.svg create mode 100644 static/icons/grip-horizontal.svg create mode 100644 static/icons/grip-vertical.svg create mode 100644 static/icons/hammer.svg create mode 100644 static/icons/hand-metal.svg create mode 100644 static/icons/hand.svg create mode 100644 static/icons/hard-drive.svg create mode 100644 static/icons/hard-hat.svg create mode 100644 static/icons/hash.svg create mode 100644 static/icons/haze.svg create mode 100644 static/icons/heading-1.svg create mode 100644 static/icons/heading-2.svg create mode 100644 static/icons/heading-3.svg create mode 100644 static/icons/heading-4.svg create mode 100644 static/icons/heading-5.svg create mode 100644 static/icons/heading-6.svg create mode 100644 static/icons/heading.svg create mode 100644 static/icons/headphones.svg create mode 100644 static/icons/heart-crack.svg create mode 100644 static/icons/heart-handshake.svg create mode 100644 static/icons/heart-off.svg create mode 100644 static/icons/heart-pulse.svg create mode 100644 static/icons/heart.svg create mode 100644 static/icons/help-circle.svg create mode 100644 static/icons/hexagon.svg create mode 100644 static/icons/highlighter.svg create mode 100644 static/icons/history.svg create mode 100644 static/icons/home.svg create mode 100644 static/icons/hop-off.svg create mode 100644 static/icons/hop.svg create mode 100644 static/icons/hourglass.svg create mode 100644 static/icons/ice-cream.svg create mode 100644 static/icons/image-minus.svg create mode 100644 static/icons/image-off.svg create mode 100644 static/icons/image-plus.svg create mode 100644 static/icons/image.svg create mode 100644 static/icons/import.svg create mode 100644 static/icons/inbox.svg create mode 100644 static/icons/indent.svg create mode 100644 static/icons/indian-rupee.svg create mode 100644 static/icons/infinity.svg create mode 100644 static/icons/info.svg create mode 100644 static/icons/inspect.svg create mode 100644 static/icons/instagram.svg create mode 100644 static/icons/italic.svg create mode 100644 static/icons/japanese-yen.svg create mode 100644 static/icons/joystick.svg create mode 100644 static/icons/key.svg create mode 100644 static/icons/keyboard.svg create mode 100644 static/icons/lamp-ceiling.svg create mode 100644 static/icons/lamp-desk.svg create mode 100644 static/icons/lamp-floor.svg create mode 100644 static/icons/lamp-wall-down.svg create mode 100644 static/icons/lamp-wall-up.svg create mode 100644 static/icons/lamp.svg create mode 100644 static/icons/landmark.svg create mode 100644 static/icons/languages.svg create mode 100644 static/icons/laptop-2.svg create mode 100644 static/icons/laptop.svg create mode 100644 static/icons/lasso-select.svg create mode 100644 static/icons/lasso.svg create mode 100644 static/icons/laugh.svg create mode 100644 static/icons/layers.svg create mode 100644 static/icons/layout-dashboard.svg create mode 100644 static/icons/layout-grid.svg create mode 100644 static/icons/layout-list.svg create mode 100644 static/icons/layout-template.svg create mode 100644 static/icons/layout.svg create mode 100644 static/icons/leaf.svg create mode 100644 static/icons/library.svg create mode 100644 static/icons/life-buoy.svg create mode 100644 static/icons/lightbulb-off.svg create mode 100644 static/icons/lightbulb.svg create mode 100644 static/icons/line-chart.svg create mode 100644 static/icons/link-2-off.svg create mode 100644 static/icons/link-2.svg create mode 100644 static/icons/link.svg create mode 100644 static/icons/linkedin.svg create mode 100644 static/icons/list-checks.svg create mode 100644 static/icons/list-end.svg create mode 100644 static/icons/list-minus.svg create mode 100644 static/icons/list-music.svg create mode 100644 static/icons/list-ordered.svg create mode 100644 static/icons/list-plus.svg create mode 100644 static/icons/list-start.svg create mode 100644 static/icons/list-video.svg create mode 100644 static/icons/list-x.svg create mode 100644 static/icons/list.svg create mode 100644 static/icons/loader-2.svg create mode 100644 static/icons/loader.svg create mode 100644 static/icons/locate-fixed.svg create mode 100644 static/icons/locate-off.svg create mode 100644 static/icons/locate.svg create mode 100644 static/icons/lock.svg create mode 100644 static/icons/log-in.svg create mode 100644 static/icons/log-out.svg create mode 100644 static/icons/luggage.svg create mode 100644 static/icons/magnet.svg create mode 100644 static/icons/mail-check.svg create mode 100644 static/icons/mail-minus.svg create mode 100644 static/icons/mail-open.svg create mode 100644 static/icons/mail-plus.svg create mode 100644 static/icons/mail-question.svg create mode 100644 static/icons/mail-search.svg create mode 100644 static/icons/mail-warning.svg create mode 100644 static/icons/mail-x.svg create mode 100644 static/icons/mail.svg create mode 100644 static/icons/mails.svg create mode 100644 static/icons/map-pin-off.svg create mode 100644 static/icons/map-pin.svg create mode 100644 static/icons/map.svg create mode 100644 static/icons/martini.svg create mode 100644 static/icons/maximize-2.svg create mode 100644 static/icons/maximize.svg create mode 100644 static/icons/medal.svg create mode 100644 static/icons/megaphone-off.svg create mode 100644 static/icons/megaphone.svg create mode 100644 static/icons/meh.svg create mode 100644 static/icons/menu.svg create mode 100644 static/icons/message-circle.svg create mode 100644 static/icons/message-square.svg create mode 100644 static/icons/mic-2.svg create mode 100644 static/icons/mic-off.svg create mode 100644 static/icons/mic.svg create mode 100644 static/icons/microscope.svg create mode 100644 static/icons/microwave.svg create mode 100644 static/icons/milestone.svg create mode 100644 static/icons/milk-off.svg create mode 100644 static/icons/milk.svg create mode 100644 static/icons/minimize-2.svg create mode 100644 static/icons/minimize.svg create mode 100644 static/icons/minus-circle.svg create mode 100644 static/icons/minus-square.svg create mode 100644 static/icons/minus.svg create mode 100644 static/icons/monitor-off.svg create mode 100644 static/icons/monitor-smartphone.svg create mode 100644 static/icons/monitor-speaker.svg create mode 100644 static/icons/monitor.svg create mode 100644 static/icons/moon.svg create mode 100644 static/icons/more-horizontal.svg create mode 100644 static/icons/more-vertical.svg create mode 100644 static/icons/mountain-snow.svg create mode 100644 static/icons/mountain.svg create mode 100644 static/icons/mouse-pointer-2.svg create mode 100644 static/icons/mouse-pointer-click.svg create mode 100644 static/icons/mouse-pointer.svg create mode 100644 static/icons/mouse.svg create mode 100644 static/icons/move-3d.svg create mode 100644 static/icons/move-diagonal-2.svg create mode 100644 static/icons/move-diagonal.svg create mode 100644 static/icons/move-horizontal.svg create mode 100644 static/icons/move-vertical.svg create mode 100644 static/icons/move.svg create mode 100644 static/icons/music-2.svg create mode 100644 static/icons/music-3.svg create mode 100644 static/icons/music-4.svg create mode 100644 static/icons/music.svg create mode 100644 static/icons/navigation-2-off.svg create mode 100644 static/icons/navigation-2.svg create mode 100644 static/icons/navigation-off.svg create mode 100644 static/icons/navigation.svg create mode 100644 static/icons/network.svg create mode 100644 static/icons/newspaper.svg create mode 100644 static/icons/nut-off.svg create mode 100644 static/icons/nut.svg create mode 100644 static/icons/octagon.svg create mode 100644 static/icons/option.svg create mode 100644 static/icons/outdent.svg create mode 100644 static/icons/package-2.svg create mode 100644 static/icons/package-check.svg create mode 100644 static/icons/package-minus.svg create mode 100644 static/icons/package-open.svg create mode 100644 static/icons/package-plus.svg create mode 100644 static/icons/package-search.svg create mode 100644 static/icons/package-x.svg create mode 100644 static/icons/package.svg create mode 100644 static/icons/paint-bucket.svg create mode 100644 static/icons/paintbrush-2.svg create mode 100644 static/icons/paintbrush.svg create mode 100644 static/icons/palette.svg create mode 100644 static/icons/palmtree.svg create mode 100644 static/icons/paperclip.svg create mode 100644 static/icons/party-popper.svg create mode 100644 static/icons/pause-circle.svg create mode 100644 static/icons/pause-octagon.svg create mode 100644 static/icons/pause.svg create mode 100644 static/icons/pen-tool.svg create mode 100644 static/icons/pencil.svg create mode 100644 static/icons/percent.svg create mode 100644 static/icons/person-standing.svg create mode 100644 static/icons/phone-call.svg create mode 100644 static/icons/phone-forwarded.svg create mode 100644 static/icons/phone-incoming.svg create mode 100644 static/icons/phone-missed.svg create mode 100644 static/icons/phone-off.svg create mode 100644 static/icons/phone-outgoing.svg create mode 100644 static/icons/phone.svg create mode 100644 static/icons/pie-chart.svg create mode 100644 static/icons/piggy-bank.svg create mode 100644 static/icons/pin-off.svg create mode 100644 static/icons/pin.svg create mode 100644 static/icons/pipette.svg create mode 100644 static/icons/pizza.svg create mode 100644 static/icons/plane.svg create mode 100644 static/icons/play-circle.svg create mode 100644 static/icons/play.svg create mode 100644 static/icons/plug-2.svg create mode 100644 static/icons/plug-zap.svg create mode 100644 static/icons/plug.svg create mode 100644 static/icons/plus-circle.svg create mode 100644 static/icons/plus-square.svg create mode 100644 static/icons/plus.svg create mode 100644 static/icons/pocket.svg create mode 100644 static/icons/podcast.svg create mode 100644 static/icons/pointer.svg create mode 100644 static/icons/pound-sterling.svg create mode 100644 static/icons/power-off.svg create mode 100644 static/icons/power.svg create mode 100644 static/icons/printer.svg create mode 100644 static/icons/puzzle.svg create mode 100644 static/icons/qr-code.svg create mode 100644 static/icons/quote.svg create mode 100644 static/icons/radio-receiver.svg create mode 100644 static/icons/radio.svg create mode 100644 static/icons/rectangle-horizontal.svg create mode 100644 static/icons/rectangle-vertical.svg create mode 100644 static/icons/recycle.svg create mode 100644 static/icons/redo-2.svg create mode 100644 static/icons/redo.svg create mode 100644 static/icons/refresh-ccw.svg create mode 100644 static/icons/refresh-cw.svg create mode 100644 static/icons/refrigerator.svg create mode 100644 static/icons/regex.svg create mode 100644 static/icons/repeat-1.svg create mode 100644 static/icons/repeat.svg create mode 100644 static/icons/reply-all.svg create mode 100644 static/icons/reply.svg create mode 100644 static/icons/rewind.svg create mode 100644 static/icons/rocket.svg create mode 100644 static/icons/rocking-chair.svg create mode 100644 static/icons/rotate-3d.svg create mode 100644 static/icons/rotate-ccw.svg create mode 100644 static/icons/rotate-cw.svg create mode 100644 static/icons/rss.svg create mode 100644 static/icons/ruler.svg create mode 100644 static/icons/russian-ruble.svg create mode 100644 static/icons/sailboat.svg create mode 100644 static/icons/save.svg create mode 100644 static/icons/scale-3d.svg create mode 100644 static/icons/scale.svg create mode 100644 static/icons/scaling.svg create mode 100644 static/icons/scan-face.svg create mode 100644 static/icons/scan-line.svg create mode 100644 static/icons/scan.svg create mode 100644 static/icons/scissors.svg create mode 100644 static/icons/screen-share-off.svg create mode 100644 static/icons/screen-share.svg create mode 100644 static/icons/scroll.svg create mode 100644 static/icons/search.svg create mode 100644 static/icons/send.svg create mode 100644 static/icons/separator-horizontal.svg create mode 100644 static/icons/separator-vertical.svg create mode 100644 static/icons/server-cog.svg create mode 100644 static/icons/server-crash.svg create mode 100644 static/icons/server-off.svg create mode 100644 static/icons/server.svg create mode 100644 static/icons/settings-2.svg create mode 100644 static/icons/settings.svg create mode 100644 static/icons/share-2.svg create mode 100644 static/icons/share.svg create mode 100644 static/icons/sheet.svg create mode 100644 static/icons/shield-alert.svg create mode 100644 static/icons/shield-check.svg create mode 100644 static/icons/shield-close.svg create mode 100644 static/icons/shield-off.svg create mode 100644 static/icons/shield.svg create mode 100644 static/icons/shirt.svg create mode 100644 static/icons/shopping-bag.svg create mode 100644 static/icons/shopping-cart.svg create mode 100644 static/icons/shovel.svg create mode 100644 static/icons/shower-head.svg create mode 100644 static/icons/shrink.svg create mode 100644 static/icons/shrub.svg create mode 100644 static/icons/shuffle.svg create mode 100644 static/icons/sidebar-close.svg create mode 100644 static/icons/sidebar-open.svg create mode 100644 static/icons/sidebar.svg create mode 100644 static/icons/sigma.svg create mode 100644 static/icons/signal-high.svg create mode 100644 static/icons/signal-low.svg create mode 100644 static/icons/signal-medium.svg create mode 100644 static/icons/signal-zero.svg create mode 100644 static/icons/signal.svg create mode 100644 static/icons/siren.svg create mode 100644 static/icons/skip-back.svg create mode 100644 static/icons/skip-forward.svg create mode 100644 static/icons/skull.svg create mode 100644 static/icons/slack.svg create mode 100644 static/icons/slash.svg create mode 100644 static/icons/slice.svg create mode 100644 static/icons/sliders-horizontal.svg create mode 100644 static/icons/sliders.svg create mode 100644 static/icons/smartphone-charging.svg create mode 100644 static/icons/smartphone.svg create mode 100644 static/icons/smile-plus.svg create mode 100644 static/icons/smile.svg create mode 100644 static/icons/snowflake.svg create mode 100644 static/icons/sofa.svg create mode 100644 static/icons/sort-asc.svg create mode 100644 static/icons/sort-desc.svg create mode 100644 static/icons/speaker.svg create mode 100644 static/icons/spline.svg create mode 100644 static/icons/sprout.svg create mode 100644 static/icons/square.svg create mode 100644 static/icons/star-half.svg create mode 100644 static/icons/star-off.svg create mode 100644 static/icons/star.svg create mode 100644 static/icons/stethoscope.svg create mode 100644 static/icons/sticker.svg create mode 100644 static/icons/sticky-note.svg create mode 100644 static/icons/stop-circle.svg create mode 100644 static/icons/stretch-horizontal.svg create mode 100644 static/icons/stretch-vertical.svg create mode 100644 static/icons/strikethrough.svg create mode 100644 static/icons/subscript.svg create mode 100644 static/icons/sun-dim.svg create mode 100644 static/icons/sun-medium.svg create mode 100644 static/icons/sun-moon.svg create mode 100644 static/icons/sun-snow.svg create mode 100644 static/icons/sun.svg create mode 100644 static/icons/sunrise.svg create mode 100644 static/icons/sunset.svg create mode 100644 static/icons/superscript.svg create mode 100644 static/icons/swiss-franc.svg create mode 100644 static/icons/switch-camera.svg create mode 100644 static/icons/sword.svg create mode 100644 static/icons/swords.svg create mode 100644 static/icons/syringe.svg create mode 100644 static/icons/table-2.svg create mode 100644 static/icons/table.svg create mode 100644 static/icons/tablet.svg create mode 100644 static/icons/tag.svg create mode 100644 static/icons/tags.svg create mode 100644 static/icons/target.svg create mode 100644 static/icons/tent.svg create mode 100644 static/icons/terminal-square.svg create mode 100644 static/icons/terminal.svg create mode 100644 static/icons/text-cursor-input.svg create mode 100644 static/icons/text-cursor.svg create mode 100644 static/icons/thermometer-snowflake.svg create mode 100644 static/icons/thermometer-sun.svg create mode 100644 static/icons/thermometer.svg create mode 100644 static/icons/thumbs-down.svg create mode 100644 static/icons/thumbs-up.svg create mode 100644 static/icons/ticket.svg create mode 100644 static/icons/timer-off.svg create mode 100644 static/icons/timer-reset.svg create mode 100644 static/icons/timer.svg create mode 100644 static/icons/toggle-left.svg create mode 100644 static/icons/toggle-right.svg create mode 100644 static/icons/tornado.svg create mode 100644 static/icons/toy-brick.svg create mode 100644 static/icons/train.svg create mode 100644 static/icons/trash-2.svg create mode 100644 static/icons/trash.svg create mode 100644 static/icons/tree-deciduous.svg create mode 100644 static/icons/tree-pine.svg create mode 100644 static/icons/trees.svg create mode 100644 static/icons/trello.svg create mode 100644 static/icons/trending-down.svg create mode 100644 static/icons/trending-up.svg create mode 100644 static/icons/triangle.svg create mode 100644 static/icons/trophy.svg create mode 100644 static/icons/truck.svg create mode 100644 static/icons/tv-2.svg create mode 100644 static/icons/tv.svg create mode 100644 static/icons/twitch.svg create mode 100644 static/icons/twitter.svg create mode 100644 static/icons/type.svg create mode 100644 static/icons/umbrella.svg create mode 100644 static/icons/underline.svg create mode 100644 static/icons/undo-2.svg create mode 100644 static/icons/undo.svg create mode 100644 static/icons/unlink-2.svg create mode 100644 static/icons/unlink.svg create mode 100644 static/icons/unlock.svg create mode 100644 static/icons/upload-cloud.svg create mode 100644 static/icons/upload.svg create mode 100644 static/icons/usb.svg create mode 100644 static/icons/user-check.svg create mode 100644 static/icons/user-cog.svg create mode 100644 static/icons/user-minus.svg create mode 100644 static/icons/user-plus.svg create mode 100644 static/icons/user-x.svg create mode 100644 static/icons/user.svg create mode 100644 static/icons/users.svg create mode 100644 static/icons/utensils-crossed.svg create mode 100644 static/icons/utensils.svg create mode 100644 static/icons/vegan.svg create mode 100644 static/icons/venetian-mask.svg create mode 100644 static/icons/verified.svg create mode 100644 static/icons/vibrate-off.svg create mode 100644 static/icons/vibrate.svg create mode 100644 static/icons/video-off.svg create mode 100644 static/icons/video.svg create mode 100644 static/icons/view.svg create mode 100644 static/icons/voicemail.svg create mode 100644 static/icons/volume-1.svg create mode 100644 static/icons/volume-2.svg create mode 100644 static/icons/volume-x.svg create mode 100644 static/icons/volume.svg create mode 100644 static/icons/wallet.svg create mode 100644 static/icons/wand-2.svg create mode 100644 static/icons/wand.svg create mode 100644 static/icons/watch.svg create mode 100644 static/icons/waves.svg create mode 100644 static/icons/webcam.svg create mode 100644 static/icons/webhook.svg create mode 100644 static/icons/wheat-off.svg create mode 100644 static/icons/wheat.svg create mode 100644 static/icons/wifi-off.svg create mode 100644 static/icons/wifi.svg create mode 100644 static/icons/wind.svg create mode 100644 static/icons/wine-off.svg create mode 100644 static/icons/wine.svg create mode 100644 static/icons/wrap-text.svg create mode 100644 static/icons/wrench.svg create mode 100644 static/icons/x-circle.svg create mode 100644 static/icons/x-octagon.svg create mode 100644 static/icons/x-square.svg create mode 100644 static/icons/x.svg create mode 100644 static/icons/youtube.svg create mode 100644 static/icons/zap-off.svg create mode 100644 static/icons/zap.svg create mode 100644 static/icons/zoom-in.svg create mode 100644 static/icons/zoom-out.svg create mode 100644 static/images/Bitcoin_logo.svg create mode 100644 static/images/PayPal.svg create mode 100644 static/images/bandolier.svg create mode 100644 static/images/colt.svg create mode 100644 static/images/cowboyhat.svg create mode 100644 static/images/header.svg create mode 100644 static/images/hero-bg.svg create mode 100644 static/images/payment_background.jpg create mode 100644 static/images/zed.png create mode 100644 static/js/chart.min.js create mode 100644 static/js/chartjs-plugin-annotation.esm.js create mode 100644 static/js/chartjs-plugin-annotation.js create mode 100644 static/js/chartjs-plugin-annotation.min.js create mode 100644 static/js/hls.js create mode 100644 static/js/hls.min.js.map create mode 100644 static/js/prism.cjs create mode 100644 static/js/socket.io.min.js create mode 100644 static/js/socket.io.min.js.map create mode 100644 static/js/webtorrent.js create mode 100644 static/js/ztext.min.js create mode 100644 static/logo-40.png create mode 100644 static/logo-small.svg create mode 100644 static/logo.png create mode 100644 static/logo.svg create mode 100644 static/monochrome.css create mode 100644 static/mstile-150x150.png create mode 100644 static/prod_icons.json create mode 100644 static/safari-pinned-tab.svg create mode 100644 static/service-worker.js create mode 100644 static/site.webmanifest create mode 100644 static/test.js create mode 100644 static/test.md create mode 100644 static/tos.json create mode 100644 tests/cards.json create mode 100644 tests/client/assert.js create mode 100644 tests/client/fsm.js create mode 100644 tests/client/helpers.js create mode 100644 tests/lib/ormish.js create mode 100644 tests/models/media.js create mode 100644 tests/models/payment.js create mode 100644 tests/models/site.js create mode 100644 tests/models/user.js create mode 100644 tests/models/user_payment.js create mode 100644 tests/ui/admin_email.js create mode 100644 tests/ui/admin_tables.js create mode 100644 tests/ui/demos.js create mode 100644 tests/ui/livestream.js create mode 100644 tests/ui/login.js create mode 100644 tests/ui/password_reset.js create mode 100644 tests/ui/payments.js create mode 100644 tests/ui/register.js create mode 100644 tests/ui/unsubscribe.js create mode 100644 tests/ui/user_profile.js diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..b2af617 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,277 @@ +{ + "env": { + "browser": true, + "es6": true, + "node": true + }, + "plugins": ["svelte3"], + "overrides": [ + {"files": "*.svelte", "processor": "svelte3/svelte3"} + ], + "extends": "eslint:recommended", + "parserOptions": { + "ecmaVersion": 2021, + "sourceType": "module" + }, + "rules": { + "accessor-pairs": "error", + "array-bracket-newline": "off", + "array-bracket-spacing": [ "warn", "never" ], + "array-callback-return": "error", + "array-element-newline": "off", + "arrow-body-style": "off", + "arrow-parens": "off", + "arrow-spacing": [ + "error", + { + "after": true, + "before": true + } + ], + "block-scoped-var": "error", + "block-spacing": "error", + "brace-style": [ + "error", + "1tbs" + ], + "callback-return": "off", + "camelcase": "off", + "capitalized-comments": "off", + "class-methods-use-this": "off", + "comma-dangle": "off", + "comma-spacing": [ + "warn", + { + "after": true, + "before": false + } + ], + "comma-style": [ + "error", + "last" + ], + "complexity": "error", + "computed-property-spacing": [ + "error", + "never" + ], + "consistent-return": "error", + "consistent-this": "error", + "curly": "off", + "default-case": "error", + "dot-location": "off", + "dot-notation": "off", + "eol-last": "error", + "eqeqeq": "off", + "func-call-spacing": "error", + "func-name-matching": "error", + "func-names": "error", + "func-style": [ + "error", + "expression" + ], + "function-paren-newline": "off", + "generator-star-spacing": "error", + "global-require": "off", + "guard-for-in": "warn", + "handle-callback-err": "error", + "id-blacklist": "error", + "id-length": "off", + "id-match": "error", + "implicit-arrow-linebreak": [ + "error", + "beside" + ], + "indent": "off", + "indent-legacy": "off", + "init-declarations": "warn", + "jsx-quotes": "error", + "key-spacing": "warn", + "keyword-spacing": "off", + "line-comment-position": "off", + "linebreak-style": [ + "error", + "unix" + ], + "lines-around-comment": "off", + "lines-around-directive": "error", + "lines-between-class-members": "error", + "max-classes-per-file": "off", + "max-depth": "error", + "max-len": "off", + "max-lines": "off", + "max-lines-per-function": "off", + "max-nested-callbacks": "error", + "max-params": "off", + "max-statements": "off", + "max-statements-per-line": "error", + "multiline-comment-style": "off", + "new-cap": ["off"], + "new-parens": "error", + "newline-after-var": "off", + "newline-before-return": "off", + "newline-per-chained-call": "off", + "no-alert": "error", + "no-array-constructor": "error", + "no-async-promise-executor": "error", + "no-await-in-loop": "off", + "no-bitwise": "error", + "no-buffer-constructor": "error", + "no-caller": "error", + "no-catch-shadow": "error", + "no-confusing-arrow": "error", + "no-console": "warn", + "no-continue": "error", + "no-div-regex": "error", + "no-duplicate-imports": "error", + "no-else-return": "off", + "no-empty-function": "off", + "no-eq-null": "off", + "no-eval": "error", + "no-extend-native": "error", + "no-extra-bind": "error", + "no-extra-label": "error", + "no-extra-parens": "off", + "no-floating-decimal": "error", + "no-implicit-coercion": "error", + "no-implicit-globals": "error", + "no-implied-eval": "error", + "no-inline-comments": "off", + "no-invalid-this": "error", + "no-iterator": "error", + "no-label-var": "error", + "no-labels": "error", + "no-lone-blocks": "error", + "no-lonely-if": "off", + "no-loop-func": "error", + "no-magic-numbers": "off", + "no-misleading-character-class": "error", + "no-mixed-operators": "error", + "no-mixed-requires": "error", + "no-multi-assign": "error", + "no-multi-spaces": "off", + "no-multi-str": "error", + "no-multiple-empty-lines": "warn", + "no-native-reassign": "error", + "no-negated-condition": "off", + "no-negated-in-lhs": "error", + "no-nested-ternary": "error", + "no-new": "error", + "no-new-func": "error", + "no-new-object": "error", + "no-new-require": "error", + "no-new-wrappers": "error", + "no-octal-escape": "error", + "no-param-reassign": "error", + "no-path-concat": "error", + "no-plusplus": ["error", { "allowForLoopAfterthoughts": true }], + "no-process-env": "off", + "no-process-exit": "off", + "no-proto": "error", + "no-prototype-builtins": "error", + "no-restricted-globals": "error", + "no-restricted-imports": "error", + "no-restricted-modules": "error", + "no-restricted-properties": "error", + "no-restricted-syntax": "error", + "no-return-assign": "warn", + "no-return-await": "off", + "no-script-url": "error", + "no-self-compare": "error", + "no-sequences": "error", + "no-shadow": "off", + "no-shadow-restricted-names": "error", + "no-spaced-func": "error", + "no-sync": "warn", + "no-tabs": "off", + "no-template-curly-in-string": "error", + "no-ternary": "off", + "no-throw-literal": "error", + "no-trailing-spaces": "off", + "no-undef-init": "off", + "no-undefined": "off", + "no-underscore-dangle": "off", + "no-unmodified-loop-condition": "error", + "no-unneeded-ternary": "error", + "no-unused-expressions": "error", + "no-use-before-define": ["error", {"functions": true, "classes": false}], + "no-useless-call": "error", + "no-useless-computed-key": "error", + "no-useless-concat": "error", + "no-useless-constructor": "error", + "no-useless-rename": "error", + "no-useless-return": "error", + "no-var": "error", + "no-void": "error", + "no-warning-comments": "off", + "no-whitespace-before-property": "error", + "no-with": "error", + "nonblock-statement-body-position": "error", + "object-curly-newline": "off", + "object-curly-spacing": "off", + "object-shorthand": "warn", + "one-var": "off", + "one-var-declaration-per-line": "error", + "operator-assignment": "error", + "operator-linebreak": "error", + "padded-blocks": "off", + "padding-line-between-statements": "error", + "prefer-arrow-callback": "error", + "prefer-const": "off", + "prefer-destructuring": "off", + "prefer-numeric-literals": "error", + "prefer-object-spread": "error", + "prefer-promise-reject-errors": "error", + "prefer-reflect": "off", + "prefer-rest-params": "error", + "prefer-spread": "error", + "prefer-template": "error", + "quote-props": "off", + "quotes": "off", + "radix": "error", + "require-atomic-updates": "warn", + "require-await": "off", + "require-jsdoc": "off", + "require-unicode-regexp": "off", + "rest-spread-spacing": "error", + "semi": "off", + "semi-spacing": "error", + "semi-style": [ + "error", + "last" + ], + "sort-imports": "off", + "sort-keys": "off", + "sort-vars": "error", + "space-before-blocks": "error", + "space-before-function-paren": "off", + "space-in-parens": [ + "error", + "never" + ], + "space-infix-ops": "off", + "space-unary-ops": "error", + "spaced-comment": [ + "error", + "always" + ], + "strict": "error", + "switch-colon-spacing": "error", + "symbol-description": "error", + "template-curly-spacing": [ "off", "never" ], + "template-tag-spacing": "error", + "unicode-bom": [ + "error", + "never" + ], + "valid-jsdoc": "error", + "vars-on-top": "error", + "wrap-iife": "error", + "wrap-regex": "error", + "yield-star-spacing": "error", + "yoda": [ + "error", + "never" + ] + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..725019d --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ +/node_modules/ +/public/ +/rendered/build/ +/rendered/public/ + +.*.sw* +.DS_Store +*.sqlite3* +debug/ +static/thumbs +static/videos +secrets/* +coverage/ +.coverage +static/module +client/config.js +emails/config.js +media +tests/fixtures +rendered/wip +junk/ +static/images/sample_video.mp4 +static/js/webtorrent.debug.js diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..d64aa11 --- /dev/null +++ b/LICENSE @@ -0,0 +1 @@ +It's Copyright. All Rights Reserved. You have no license at all other than permission to view it. diff --git a/README.md b/README.md new file mode 100644 index 0000000..5d9f5b1 --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +# Introduction + +> Are you a better artist than a programmer? + +This is a parody of leetcode I am creating that provides designers with the same bullshit "tests" +that programmers have to go through to get a job. I'm building this website live on Twitch at +zedashaw so if you want to join in the fun, throw out ideas for ridiculous "leetcode style" tests +for designers, or heckle me, then come watch! + +# You're no Designer! + +You're right, I'm a programmer. But if you're annoyed that people with absolutely no qualifications +in testing your skills are somehow allowed to write tests that determine if you get a job then this +website has proven its point. + +# The Rules + +The rules for these tests are as follows: + +1. Every test I write for a designer has to be something I could do. If you don't know, I'm actually a +fairly capable painter that can work in many different mediums and styles. If a lowly "programmer" +can pull off these challenges but you can't, then no job for you. +2. Tests other people write have to be in the same bullshit style as leetcode tests. They should be +written by people who know next to nothing about testing designers, be fairly ambiguous, and have +next to no validity in actually confirming someone can make a design. +3. The site has to feature Comic Sans somewhere, because that'll piss off all the right people. + +# Tech Stack + +All of the code will use my Bandolier Educational Web Framework so anybody--even a designer--can +follow along and probably understand what's going on. diff --git a/admin/App.svelte b/admin/App.svelte new file mode 100644 index 0000000..5ba87ea --- /dev/null +++ b/admin/App.svelte @@ -0,0 +1,13 @@ + + + + +{#if process.env.DANGER_ADMIN === "1"} + + +{/if} diff --git a/admin/Header.svelte b/admin/Header.svelte new file mode 100644 index 0000000..289eb06 --- /dev/null +++ b/admin/Header.svelte @@ -0,0 +1,52 @@ + + +
+ +
diff --git a/admin/Layout.svelte b/admin/Layout.svelte new file mode 100644 index 0000000..482f641 --- /dev/null +++ b/admin/Layout.svelte @@ -0,0 +1,48 @@ + + +{#if authenticated || auth_optional} + {#if header} +
+ {/if} + + +
+ +
+
+ +
+
+ + {#if footer} +