├── .eslintrc.json ├── .githooks └── pre-commit ├── .github └── workflows │ ├── test.yml │ └── update-data.yml ├── .gitignore ├── .node-version ├── LICENSE ├── README.md ├── next-env.d.ts ├── next.config.js ├── package.json ├── pages ├── _app.tsx ├── _document.tsx ├── api │ └── company.ts ├── company.json ├── index.tsx ├── rss │ └── new.tsx └── styles.css ├── public ├── not-found-image.jpeg └── ogp.jpeg ├── tsconfig.json ├── updater ├── README.md ├── package.json ├── src │ ├── fetch-spreadsheet.ts │ ├── merge-speakerdeck.ts │ └── update-data.ts ├── tsconfig.json └── yarn.lock ├── vercel.json └── yarn.lock /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next" 3 | } 4 | -------------------------------------------------------------------------------- /.githooks/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | npx --no-install lint-staged 3 | -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- 1 | name: test 2 | on: [ push, pull_request ] 3 | permissions: 4 | contents: read 5 | jobs: 6 | test: 7 | name: "Test on Node.js" 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v4 11 | - uses: actions/setup-node@v4 12 | with: 13 | node-version: "lts/*" 14 | cache: "yarn" 15 | - run: yarn install 16 | - run: yarn test 17 | -------------------------------------------------------------------------------- /.github/workflows/update-data.yml: -------------------------------------------------------------------------------- 1 | name: update-data 2 | on: 3 | schedule: 4 | - cron: '0 5 * * *' 5 | workflow_dispatch: 6 | jobs: 7 | update-data: 8 | name: "Update Data" 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: checkout 12 | uses: actions/checkout@v4 13 | - name: setup Node.js 14 | uses: actions/setup-node@v4 15 | with: 16 | node-version: 18 17 | cache: 'yarn' 18 | - name: Update Data 19 | run: | 20 | yarn install 21 | for _ in 1; do yarn run update-data && break; done 22 | env: 23 | GOOGLE_SPREADSHEET_API_KEY: ${{ secrets.GOOGLE_SPREADSHEET_API_KEY }} 24 | working-directory: updater/ 25 | - name: Commit 26 | uses: EndBug/add-and-commit@v9 27 | if: success() 28 | with: 29 | message: "Update Data" 30 | push: true 31 | - name: SpreadSheet URL 32 | if: failure() 33 | run: | 34 | # if exists GITHUB_SUMMARY.md, append to GITHUB_STEP_SUMMARY 35 | [ -f GITHUB_SUMMARY.md ] && cat GITHUB_SUMMARY.md >> $GITHUB_STEP_SUMMARY 36 | echo "## SpreadSheet URL" >> $GITHUB_STEP_SUMMARY 37 | echo "Go to https://docs.google.com/spreadsheets/d/1y1pqQhBIV_uGCp-AzxSQwLDOV4v_tIPobnQJmFMJVDc/edit#gid=0" >> $GITHUB_STEP_SUMMARY 38 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .tsimp 2 | GITHUB_SUMMARY.md 3 | 4 | ### https://raw.github.com/github/gitignore/d2c1bb2b9c72ead618c9f6a48280ebc7a8e0dff6/Node.gitignore 5 | 6 | # Logs 7 | logs 8 | *.log 9 | npm-debug.log* 10 | yarn-debug.log* 11 | yarn-error.log* 12 | 13 | # Runtime data 14 | pids 15 | *.pid 16 | *.seed 17 | *.pid.lock 18 | 19 | # Directory for instrumented libs generated by jscoverage/JSCover 20 | lib-cov 21 | 22 | # Coverage directory used by tools like istanbul 23 | coverage 24 | 25 | # nyc test coverage 26 | .nyc_output 27 | 28 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 29 | .grunt 30 | 31 | # Bower dependency directory (https://bower.io/) 32 | bower_components 33 | 34 | # node-waf configuration 35 | .lock-wscript 36 | 37 | # Compiled binary addons (https://nodejs.org/api/addons.html) 38 | build/Release 39 | 40 | # Dependency directories 41 | node_modules/ 42 | jspm_packages/ 43 | 44 | # TypeScript v1 declaration files 45 | typings/ 46 | 47 | # Optional npm cache directory 48 | .npm 49 | 50 | # Optional eslint cache 51 | .eslintcache 52 | 53 | # Optional REPL history 54 | .node_repl_history 55 | 56 | # Output of 'npm pack' 57 | *.tgz 58 | 59 | # Yarn Integrity file 60 | .yarn-integrity 61 | 62 | # dotenv environment variables file 63 | .env 64 | .env.test 65 | 66 | # parcel-bundler cache (https://parceljs.org/) 67 | .cache 68 | 69 | # next.js build output 70 | .next 71 | 72 | # nuxt.js build output 73 | .nuxt 74 | 75 | # vuepress build output 76 | .vuepress/dist 77 | 78 | # Serverless directories 79 | .serverless/ 80 | 81 | # FuseBox cache 82 | .fusebox/ 83 | 84 | # DynamoDB Local files 85 | .dynamodb/ 86 | 87 | 88 | ### https://raw.github.com/github/gitignore/d2c1bb2b9c72ead618c9f6a48280ebc7a8e0dff6/Global/JetBrains.gitignore 89 | 90 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm 91 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 92 | 93 | # User-specific stuff 94 | .idea/**/workspace.xml 95 | .idea/**/tasks.xml 96 | .idea/**/usage.statistics.xml 97 | .idea/**/dictionaries 98 | .idea/**/shelf 99 | 100 | # Generated files 101 | .idea/**/contentModel.xml 102 | 103 | # Sensitive or high-churn files 104 | .idea/**/dataSources/ 105 | .idea/**/dataSources.ids 106 | .idea/**/dataSources.local.xml 107 | .idea/**/sqlDataSources.xml 108 | .idea/**/dynamic.xml 109 | .idea/**/uiDesigner.xml 110 | .idea/**/dbnavigator.xml 111 | 112 | # Gradle 113 | .idea/**/gradle.xml 114 | .idea/**/libraries 115 | 116 | # Gradle and Maven with auto-import 117 | # When using Gradle or Maven with auto-import, you should exclude module files, 118 | # since they will be recreated, and may cause churn. Uncomment if using 119 | # auto-import. 120 | # .idea/modules.xml 121 | # .idea/*.iml 122 | # .idea/modules 123 | 124 | # CMake 125 | cmake-build-*/ 126 | 127 | # Mongo Explorer plugin 128 | .idea/**/mongoSettings.xml 129 | 130 | # File-based project format 131 | *.iws 132 | 133 | # IntelliJ 134 | out/ 135 | 136 | # mpeltonen/sbt-idea plugin 137 | .idea_modules/ 138 | 139 | # JIRA plugin 140 | atlassian-ide-plugin.xml 141 | 142 | # Cursive Clojure plugin 143 | .idea/replstate.xml 144 | 145 | # Crashlytics plugin (for Android Studio and IntelliJ) 146 | com_crashlytics_export_strings.xml 147 | crashlytics.properties 148 | crashlytics-build.properties 149 | fabric.properties 150 | 151 | # Editor-based Rest Client 152 | .idea/httpRequests 153 | 154 | # Android studio 3.1+ serialized cache file 155 | .idea/caches/build_file_checksums.ser 156 | 157 | 158 | ### https://raw.github.com/github/gitignore/d2c1bb2b9c72ead618c9f6a48280ebc7a8e0dff6/Global/VisualStudioCode.gitignore 159 | 160 | .vscode/* 161 | !.vscode/settings.json 162 | !.vscode/tasks.json 163 | !.vscode/launch.json 164 | !.vscode/extensions.json 165 | 166 | 167 | 168 | .vercel 169 | -------------------------------------------------------------------------------- /.node-version: -------------------------------------------------------------------------------- 1 | v20.12.0 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2021 azu 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. 20 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # company-introduction-jp 2 | 3 | 日本の会社紹介スライドのまとめ。 4 | 5 | ## ウェブサイト 6 | 7 | 次のURLから、会社ごとのスライドの一覧を確認できます。 8 | 9 | - 10 | 11 | ### RSSフィード 12 | 13 | 次のURLから、新しい会社紹介スライドの追加をRSSで購読できます。 14 | 15 | - 16 | 17 | ### API 18 | 19 | 会社の一覧をJSONで返します。 20 | 21 | - 22 | 23 | ## 会社紹介スライドの追加方法 24 | 25 | データはGoogle SpreadSheetで管理されています。 26 | 次のSpreadSheetに対して自由に追加してください。 27 | 28 | - 29 | 30 | 項目 31 | 32 | - 会社名: 会社の正式名称。 33 | - 登記簿の名前が優先されます。 34 | - 括弧書き(アルファベットとカタカナなどの併記)は基本的にしない。 35 | - 会社URL: 会社のコーポレートサイトのURL。 36 | - サービスサイトではなく会社としてのトップページが優先されます。 37 | - 紹介URL: スライドのURL。 38 | - 複数ある場合は改行区切りで入力します。 39 | 40 | 追加したデータは、[CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/deed.ja)のライセンスの元に提供されます。 41 | 訂正、削除したい場合は、SpreadSheetを編集してください。 42 | または、[Issue](https://github.com/azu/company-introduction-jp/issues)を作成して知らせてください。 43 | 44 | **編集方針** 45 | 46 | - 誤表記: 47 | - 正しいものへと修正する 48 | - リンク切れ: 49 | - URLを変更 or 新しいものがない場合は行を削除 50 | - 項目のフォーマットミス: 51 | - 項目のフォーマットに合わせて修正 or 修正できない場合は行を削除 52 | - 例) URLが改行区切りになっていないのを改行区切りに修正する 53 | - 追加する場所: 54 | - 既に項目があるならそのまま更新する 55 | - ない場合は末尾へ追加する 56 | 57 | ## ウェブサイトの更新の流れ 58 | 59 | は[SpreadSheet](https://docs.google.com/spreadsheets/d/1y1pqQhBIV_uGCp-AzxSQwLDOV4v_tIPobnQJmFMJVDc)を元に1日1回更新されます。 60 | 61 | 1. SpreadSheetが更新される 62 | 2. [update-data.yml](./.github/workflows/update-data.yml)が1日1回起動する 63 | 3. [Sheetson](https://sheetson.com/)を使ってSpreadSheetの中身を取得して、[pages/company.json](./pages/company.json)を更新する 64 | 4. [pages/company.json](./pages/company.json)が更新されたらVercelにデプロイされる 65 | 66 | ## Contributing 67 | 68 | Pull requests and stars are always welcome. 69 | 70 | For bugs and feature requests, [please create an issue](https://github.com/azu/company-introduction-jp/issues). 71 | 72 | 1. Fork it! 73 | 2. Create your feature branch: `git checkout -b my-new-feature` 74 | 3. Commit your changes: `git commit -am 'Add some feature'` 75 | 4. Push to the branch: `git push origin my-new-feature` 76 | 5. Submit a pull request :D 77 | 78 | ## Author 79 | 80 | - azu: [GitHub](https://github.com/azu), [Twitter](https://twitter.com/azu_re) 81 | 82 | ## License 83 | 84 | - ソースコード: MIT © azu 85 | - [SpreadSheet](https://docs.google.com/spreadsheets/d/1y1pqQhBIV_uGCp-AzxSQwLDOV4v_tIPobnQJmFMJVDc)のデータ: [CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/deed.ja) 86 | -------------------------------------------------------------------------------- /next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | 4 | // NOTE: This file should not be edited 5 | // see https://nextjs.org/docs/basic-features/typescript for more information. 6 | -------------------------------------------------------------------------------- /next.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | images: { 3 | domains: ["files.speakerdeck.com"] 4 | } 5 | }; 6 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "company-introduction-jp", 3 | "version": "1.0.0", 4 | "description": "", 5 | "homepage": "https://github.com/azu/company-introduction-jp/tree/master/", 6 | "bugs": { 7 | "url": "https://github.com/azu/company-introduction-jp/issues" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/azu/company-introduction-jp.git" 12 | }, 13 | "license": "MIT", 14 | "author": "azu", 15 | "sideEffects": false, 16 | "scripts": { 17 | "format": "prettier --write \"**/*.{js,jsx,ts,tsx,css}\"", 18 | "prepare": "git config --local core.hooksPath .githooks", 19 | "dev": "next dev", 20 | "build": "next build", 21 | "start": "next start", 22 | "lint": "next lint", 23 | "test": "npm run lint && npm run build" 24 | }, 25 | "lint-staged": { 26 | "*.{js,jsx,ts,tsx,css}": [ 27 | "prettier --write" 28 | ] 29 | }, 30 | "prettier": { 31 | "printWidth": 120, 32 | "singleQuote": false, 33 | "tabWidth": 4, 34 | "trailingComma": "none" 35 | }, 36 | "devDependencies": { 37 | "@types/node": "^18.15.11", 38 | "@types/react": "^18.0.33", 39 | "@types/react-dom": "^18.0.11", 40 | "eslint": "^8.38.0", 41 | "eslint-config-next": "13.3.0", 42 | "lint-staged": "^13.2.1", 43 | "prettier": "^2.8.7", 44 | "typescript": "^5.0.4" 45 | }, 46 | "dependencies": { 47 | "feed": "^4.2.2", 48 | "next": "^13.3.0", 49 | "react": "^18.2.0", 50 | "react-dom": "^18.2.0", 51 | "react-icons": "^4.8.0", 52 | "react-intersection-observer": "^9.4.3", 53 | "react-responsive": "^9.0.2" 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /pages/_app.tsx: -------------------------------------------------------------------------------- 1 | import "./styles.css"; 2 | import type { AppProps /*, AppContext */ } from "next/app"; 3 | 4 | function MyApp({ Component, pageProps }: AppProps) { 5 | return ; 6 | } 7 | 8 | export default MyApp; 9 | -------------------------------------------------------------------------------- /pages/_document.tsx: -------------------------------------------------------------------------------- 1 | import Document, { Html, Head, Main, NextScript, DocumentContext } from "next/document"; 2 | 3 | class MyDocument extends Document { 4 | static async getInitialProps(ctx: DocumentContext) { 5 | const initialProps = await Document.getInitialProps(ctx); 6 | 7 | return initialProps; 8 | } 9 | 10 | render() { 11 | return ( 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | ); 20 | } 21 | } 22 | 23 | export default MyDocument; 24 | -------------------------------------------------------------------------------- /pages/api/company.ts: -------------------------------------------------------------------------------- 1 | import type { NextApiRequest, NextApiResponse } from "next"; 2 | import company from "../company.json"; 3 | export default (req: NextApiRequest, res: NextApiResponse) => { 4 | if (req.method !== "GET") { 5 | return; 6 | } 7 | res.status(200).json(company); 8 | }; 9 | -------------------------------------------------------------------------------- /pages/company.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "rowIndex": 2, 4 | "company_name": "株式会社SmartHR", 5 | "company_url": "https://smarthr.jp/", 6 | "slide_urls": [ 7 | "https://speakerdeck.com/smarthr_pr/smarthr-company-introduction1" 8 | ], 9 | "type": "speakerdeck", 10 | "id": "463abd98c2644fd1b6ac88216b7572f9", 11 | "image_ratio": 1.7777777777777777, 12 | "image_width": 560, 13 | "image_height": 315 14 | }, 15 | { 16 | "rowIndex": 3, 17 | "company_name": "株式会社ミラティブ", 18 | "company_url": "https://www.mirrativ.co.jp/", 19 | "slide_urls": [ 20 | "https://speakerdeck.com/mirrativ/mirrativ-letter", 21 | "https://speakerdeck.com/mirrativ/engineers-handbook" 22 | ], 23 | "type": "speakerdeck", 24 | "id": "c4e7dfe3adfa4fe3b1b7e4a87c972038", 25 | "image_ratio": 1.3333333333333333, 26 | "image_width": 560, 27 | "image_height": 420 28 | }, 29 | { 30 | "rowIndex": 4, 31 | "company_name": "株式会社ドクターズプライム", 32 | "company_url": "https://drsprime.com/company/", 33 | "slide_urls": [ 34 | "https://speakerdeck.com/drsprime/dokutazupuraimude-dong-kukotonixing-wei-gaarufang-he" 35 | ], 36 | "type": "speakerdeck", 37 | "id": "942129cb00514737ba067cf1ae49dc94", 38 | "image_ratio": 1.7777777777777777, 39 | "image_width": 560, 40 | "image_height": 315 41 | }, 42 | { 43 | "rowIndex": 5, 44 | "company_name": "株式会社FABRIC TOKYO", 45 | "company_url": "https://corp.fabric-tokyo.com/", 46 | "slide_urls": [ 47 | "https://speakerdeck.com/yuichirom/we-are-hiring" 48 | ], 49 | "type": "speakerdeck", 50 | "id": "56af589996a64bbb9c8687e075eba4b9", 51 | "image_ratio": 1.7777777777777777, 52 | "image_width": 560, 53 | "image_height": 315 54 | }, 55 | { 56 | "rowIndex": 6, 57 | "company_name": "STORES株式会社", 58 | "company_url": "https://www.st.inc/", 59 | "slide_urls": [ 60 | "https://speakerdeck.com/heyinc/hey-book" 61 | ], 62 | "type": "speakerdeck", 63 | "id": "ada0326670644eb8b43b35492ce721d0", 64 | "image_ratio": 1.7777777777777777, 65 | "image_width": 560, 66 | "image_height": 315 67 | }, 68 | { 69 | "rowIndex": 7, 70 | "company_name": "株式会社HRBrain", 71 | "company_url": "https://www.hrbrain.co.jp/", 72 | "slide_urls": [ 73 | "https://speakerdeck.com/hrbrain/introduction" 74 | ] 75 | }, 76 | { 77 | "rowIndex": 8, 78 | "company_name": "株式会社ベイジ", 79 | "company_url": "https://baigie.me/company/", 80 | "slide_urls": [ 81 | "https://speakerdeck.com/sogitani1107/beizifalsehui-she-shao-jie" 82 | ], 83 | "type": "speakerdeck", 84 | "id": "156fab94a6f54799b5c9ba3551635852", 85 | "image_ratio": 1.4143646408839778, 86 | "image_width": 560, 87 | "image_height": 395 88 | }, 89 | { 90 | "rowIndex": 9, 91 | "company_name": "株式会社メドレー", 92 | "company_url": "https://www.medley.jp/", 93 | "slide_urls": [ 94 | "https://speakerdeck.com/medley/hui-she-shao-jie-2018nian-9yue" 95 | ], 96 | "type": "speakerdeck", 97 | "id": "ffa134c3a6de432ba63562eedfb88566", 98 | "image_ratio": 1.3333333333333333, 99 | "image_width": 560, 100 | "image_height": 420 101 | }, 102 | { 103 | "rowIndex": 10, 104 | "company_name": "キャディ株式会社", 105 | "company_url": "https://corp.caddi.jp/", 106 | "slide_urls": [ 107 | "https://speakerdeck.com/caddi_eng/caddi-the-letter-from-cto-to-all-the-engineer-applicants" 108 | ], 109 | "type": "speakerdeck", 110 | "id": "8db0fb0f70c440d39942dd37f1a9047f", 111 | "image_ratio": 1.7777777777777777, 112 | "image_width": 560, 113 | "image_height": 315 114 | }, 115 | { 116 | "rowIndex": 11, 117 | "company_name": "Ubie株式会社", 118 | "company_url": "https://ubie.life/", 119 | "slide_urls": [ 120 | "https://speakerdeck.com/ubie/about-ubie-software-engineer" 121 | ], 122 | "type": "speakerdeck", 123 | "id": "e4ad181e9d73407388c330771c21e074", 124 | "image_ratio": 1.7772511848341233, 125 | "image_width": 560, 126 | "image_height": 315 127 | }, 128 | { 129 | "rowIndex": 12, 130 | "company_name": "株式会社iCARE", 131 | "company_url": "https://www.icare.jpn.com/", 132 | "slide_urls": [ 133 | "https://speakerdeck.com/yoshi111kazu/startup-book" 134 | ], 135 | "type": "speakerdeck", 136 | "id": "1e85e7d8378549d98f83f2461d0820cb", 137 | "image_ratio": 1.4124137931034482, 138 | "image_width": 560, 139 | "image_height": 396 140 | }, 141 | { 142 | "rowIndex": 13, 143 | "company_name": "株式会社10X", 144 | "company_url": "https://10x.co.jp/", 145 | "slide_urls": [ 146 | "https://speakerdeck.com/10xinc/zhu-shi-hui-she-10x-culture-deck" 147 | ], 148 | "type": "speakerdeck", 149 | "id": "54119fadcc534c17a300a4ef44c9fbef", 150 | "image_ratio": 1.7777777777777777, 151 | "image_width": 560, 152 | "image_height": 315 153 | }, 154 | { 155 | "rowIndex": 14, 156 | "company_name": "株式会社カンム", 157 | "company_url": "https://kanmu.co.jp/", 158 | "slide_urls": [ 159 | "https://speakerdeck.com/kanmu/kanmu-inc-current-status" 160 | ], 161 | "type": "speakerdeck", 162 | "id": "78911418a1df4b1a9a60f938a57e9951", 163 | "image_ratio": 1.7777777777777777, 164 | "image_width": 560, 165 | "image_height": 315 166 | }, 167 | { 168 | "rowIndex": 15, 169 | "company_name": "BASE株式会社", 170 | "company_url": "https://binc.jp/", 171 | "slide_urls": [ 172 | "https://speakerdeck.com/base/base" 173 | ], 174 | "type": "speakerdeck", 175 | "id": "b99cce508c6944c7aaa3f063c1fa9091", 176 | "image_ratio": 1.7777777777777777, 177 | "image_width": 560, 178 | "image_height": 315 179 | }, 180 | { 181 | "rowIndex": 16, 182 | "company_name": "株式会社アトラエ", 183 | "company_url": "https://atrae.co.jp/", 184 | "slide_urls": [ 185 | "https://speakerdeck.com/atrae/join-us" 186 | ], 187 | "type": "speakerdeck", 188 | "id": "74f5d0d07e104909a8318fc293f5f451", 189 | "image_ratio": 1.7777777777777777, 190 | "image_width": 560, 191 | "image_height": 315 192 | }, 193 | { 194 | "rowIndex": 17, 195 | "company_name": "ユアマイスター株式会社", 196 | "company_url": "https://corp.yourmystar.jp/", 197 | "slide_urls": [ 198 | "https://speakerdeck.com/yourmystar/loveletterfromus" 199 | ], 200 | "type": "speakerdeck", 201 | "id": "c6951385ac5941ebacf7fa2cc8f10a43", 202 | "image_ratio": 1.4444444444444444, 203 | "image_width": 560, 204 | "image_height": 387 205 | }, 206 | { 207 | "rowIndex": 18, 208 | "company_name": "株式会社リンクアンドモチベーション", 209 | "company_url": "https://www.lmi.ne.jp/", 210 | "slide_urls": [ 211 | "https://speakerdeck.com/lmi/introduction-to-link-and-motivation-for-software-engineers" 212 | ], 213 | "type": "speakerdeck", 214 | "id": "5ac5917f246340c4bbf50e4a8bca09e2", 215 | "image_ratio": 1.7777777777777777, 216 | "image_width": 560, 217 | "image_height": 315 218 | }, 219 | { 220 | "rowIndex": 19, 221 | "company_name": "株式会社グッドパッチ", 222 | "company_url": "https://goodpatch.com/", 223 | "slide_urls": [ 224 | "https://speakerdeck.com/goodpatch/we-are-hiring" 225 | ], 226 | "type": "speakerdeck", 227 | "id": "31e368bd60bd4a26978ec84fd075cb90", 228 | "image_ratio": 1.7777777777777777, 229 | "image_width": 560, 230 | "image_height": 315 231 | }, 232 | { 233 | "rowIndex": 20, 234 | "company_name": "サイボウズ株式会社", 235 | "company_url": "https://cybozu.co.jp/", 236 | "slide_urls": [ 237 | "https://speakerdeck.com/cybozuinsideout/cybozu-engineer-recruit" 238 | ], 239 | "type": "speakerdeck", 240 | "id": "5eabf6cdd9e7484988e6a0d1b8f5d957", 241 | "image_ratio": 1.7777777777777777, 242 | "image_width": 560, 243 | "image_height": 315 244 | }, 245 | { 246 | "rowIndex": 21, 247 | "company_name": "インビジョン株式会社", 248 | "company_url": "https://www.invision-inc.jp/", 249 | "slide_urls": [ 250 | "https://speakerdeck.com/yukikato/invision-inc" 251 | ], 252 | "type": "speakerdeck", 253 | "id": "b63e0a8f162e4d2b841d5e416ad0ee15", 254 | "image_ratio": 1.7777777777777777, 255 | "image_width": 560, 256 | "image_height": 315 257 | }, 258 | { 259 | "rowIndex": 22, 260 | "company_name": "株式会社コーナー", 261 | "company_url": "https://www.corner-inc.co.jp/", 262 | "slide_urls": [ 263 | "https://speakerdeck.com/carbon_ma2/zhu-shi-hui-she-kona-hui-she-shao-jie-zi-liao" 264 | ], 265 | "type": "speakerdeck", 266 | "id": "839380d26a6d40b695e037603746b724", 267 | "image_ratio": 1.7777777777777777, 268 | "image_width": 560, 269 | "image_height": 315 270 | }, 271 | { 272 | "rowIndex": 23, 273 | "company_name": "atama plus株式会社", 274 | "company_url": "https://corp.atama.plus/", 275 | "slide_urls": [ 276 | "https://speakerdeck.com/atamaplus/about-atama-plus" 277 | ], 278 | "type": "speakerdeck", 279 | "id": "9076f65c497946e880fab7a2b57d1c29", 280 | "image_ratio": 1.7777777777777777, 281 | "image_width": 560, 282 | "image_height": 315 283 | }, 284 | { 285 | "rowIndex": 24, 286 | "company_name": "OLTA株式会社", 287 | "company_url": "https://corp.olta.co.jp/", 288 | "slide_urls": [ 289 | "https://speakerdeck.com/taxy/olta-culture-deck" 290 | ], 291 | "type": "speakerdeck", 292 | "id": "ae62854c67c34c42a98cef612748053e", 293 | "image_ratio": 1.7777777777777777, 294 | "image_width": 560, 295 | "image_height": 315 296 | }, 297 | { 298 | "rowIndex": 25, 299 | "company_name": "HiCustomer株式会社", 300 | "company_url": "https://hicustomer.jp/about/", 301 | "slide_urls": [ 302 | "https://speakerdeck.com/hizeny/engineers-at-hicustomer" 303 | ], 304 | "type": "speakerdeck", 305 | "id": "e5ccdf64565f43768d4cf7084f8cf5f6", 306 | "image_ratio": 1.7594501718213058, 307 | "image_width": 560, 308 | "image_height": 318 309 | }, 310 | { 311 | "rowIndex": 26, 312 | "company_name": "株式会社FORCAS", 313 | "company_url": "https://www.forcas.com/company/", 314 | "slide_urls": [ 315 | "https://speakerdeck.com/uzabaseculture2021/zhu-shi-hui-she-yuzabesu-forcasshao-jie-zi-liao-202104-14494efc-960a-4dba-ab0d-4cd51b1bda04" 316 | ], 317 | "type": "speakerdeck", 318 | "id": "6ac78fd5b0a14750a9191e560b7ea379", 319 | "image_ratio": 1.7777777777777777, 320 | "image_width": 560, 321 | "image_height": 315 322 | }, 323 | { 324 | "rowIndex": 27, 325 | "company_name": "LeapMind株式会社", 326 | "company_url": "https://leapmind.io/", 327 | "slide_urls": [ 328 | "https://speakerdeck.com/mimu/leapmindzhu-shi-hui-she-hui-she-shao-jie-zi-liao" 329 | ], 330 | "type": "speakerdeck", 331 | "id": "588eb4eed3704f5dbf9dafd325b9d93c", 332 | "image_ratio": 1.3333333333333333, 333 | "image_width": 560, 334 | "image_height": 420 335 | }, 336 | { 337 | "rowIndex": 28, 338 | "company_name": "Acroquest Technology株式会社", 339 | "company_url": "https://www.acroquest.co.jp/", 340 | "slide_urls": [ 341 | "https://speakerdeck.com/acroquest_technology/introduction" 342 | ], 343 | "type": "speakerdeck", 344 | "id": "d5c58a2740ac4bb9a5899d110b70abfe", 345 | "image_ratio": 1.7777777777777777, 346 | "image_width": 560, 347 | "image_height": 315 348 | }, 349 | { 350 | "type": "other", 351 | "rowIndex": 29, 352 | "company_name": "カラビナテクノロジー株式会社", 353 | "company_url": "https://karabiner.tech/", 354 | "slide_urls": [ 355 | "https://karabiner.tech/" 356 | ] 357 | }, 358 | { 359 | "rowIndex": 30, 360 | "company_name": "MNTSQ株式会社", 361 | "company_url": "https://www.mntsq.co.jp/", 362 | "slide_urls": [ 363 | "https://speakerdeck.com/ikutani41/whats-mntsq-careersdeck" 364 | ], 365 | "type": "speakerdeck", 366 | "id": "1c61edbbeb484e41b1f18e4917028cfa", 367 | "image_ratio": 1.3333333333333333, 368 | "image_width": 560, 369 | "image_height": 420 370 | }, 371 | { 372 | "rowIndex": 31, 373 | "company_name": "株式会社estie", 374 | "company_url": "https://www.estie.jp/corp/", 375 | "slide_urls": [ 376 | "https://speakerdeck.com/estie/company-profile" 377 | ], 378 | "type": "speakerdeck", 379 | "id": "02d593e22d2b46d9a1fe8d67f68a1a31", 380 | "image_ratio": 1.7777777777777777, 381 | "image_width": 560, 382 | "image_height": 315 383 | }, 384 | { 385 | "rowIndex": 32, 386 | "company_name": "株式会社カラダノート", 387 | "company_url": "https://corp.karadanote.jp/", 388 | "slide_urls": [ 389 | "https://speakerdeck.com/karadanote_recruit/zhu-shi-hui-she-karadanotohui-she-shao-jie-zi-liao-2025-dot-01-dot-29" 390 | ], 391 | "type": "speakerdeck", 392 | "id": "3f9d51f4439a4979a5eb1abc8ae23657", 393 | "image_ratio": 1.7777777777777777, 394 | "image_width": 560, 395 | "image_height": 315 396 | }, 397 | { 398 | "rowIndex": 33, 399 | "company_name": "株式会社sizebook", 400 | "company_url": "https://sizebook.co.jp/", 401 | "slide_urls": [ 402 | "https://speakerdeck.com/sizebook/company-introduction-of-sizebook" 403 | ], 404 | "type": "speakerdeck", 405 | "id": "90e8aceb70f448b2af9fde3b9c9a5855", 406 | "image_ratio": 1.7777777777777777, 407 | "image_width": 560, 408 | "image_height": 315 409 | }, 410 | { 411 | "rowIndex": 34, 412 | "company_name": "株式会社COUNTERWORKS", 413 | "company_url": "https://www.counterworks.jp/", 414 | "slide_urls": [ 415 | "https://speakerdeck.com/kentymmt/counterworks-hui-she-shao-jie-zi-liao" 416 | ], 417 | "type": "speakerdeck", 418 | "id": "215a4fd780d14dcbb80697ca9fa896bc", 419 | "image_ratio": 1.7777777777777777, 420 | "image_width": 560, 421 | "image_height": 315 422 | }, 423 | { 424 | "rowIndex": 35, 425 | "company_name": "ラクスル株式会社", 426 | "company_url": "https://corp.raksul.com/", 427 | "slide_urls": [ 428 | "https://speakerdeck.com/raksulrecruiting/rakusuruhui-she-shuo-ming-zi-liao" 429 | ], 430 | "type": "speakerdeck", 431 | "id": "c71fb49190794ebb8aa1a6d42f071b35", 432 | "image_ratio": 1.7777777777777777, 433 | "image_width": 560, 434 | "image_height": 315 435 | }, 436 | { 437 | "rowIndex": 36, 438 | "company_name": "株式会社ビザスク", 439 | "company_url": "https://visasq.co.jp/", 440 | "slide_urls": [ 441 | "https://speakerdeck.com/eikohashiba/visasq-about-us" 442 | ], 443 | "type": "speakerdeck", 444 | "id": "b9e533fc2fd5456c88fa089ec8f5f2ba", 445 | "image_ratio": 1.6, 446 | "image_width": 560, 447 | "image_height": 350 448 | }, 449 | { 450 | "rowIndex": 37, 451 | "company_name": "ecbo株式会社", 452 | "company_url": "https://ecbo.io/", 453 | "slide_urls": [ 454 | "https://speakerdeck.com/ecbo/we-are-hiring-ecbo-inc-dot" 455 | ], 456 | "type": "speakerdeck", 457 | "id": "70ca949c81864c9b9becef4b7a984acc", 458 | "image_ratio": 1.7777777777777777, 459 | "image_width": 560, 460 | "image_height": 315 461 | }, 462 | { 463 | "rowIndex": 38, 464 | "company_name": "株式会社Kaizen Platform", 465 | "company_url": "https://kaizenplatform.com/", 466 | "slide_urls": [ 467 | "https://speakerdeck.com/kaizen_platform/company-introduction" 468 | ], 469 | "type": "speakerdeck", 470 | "id": "ebfac040c4114fc0973412d017ce16a9", 471 | "image_ratio": 1.7777777777777777, 472 | "image_width": 560, 473 | "image_height": 315 474 | }, 475 | { 476 | "rowIndex": 39, 477 | "company_name": "株式会社スタートアップテクノロジー", 478 | "company_url": "https://startup-technology.com/", 479 | "slide_urls": [ 480 | "https://speakerdeck.com/startuptechnology/we-are-hiring" 481 | ], 482 | "type": "speakerdeck", 483 | "id": "725c504902e7424095a32afe1cbdf56c", 484 | "image_ratio": 1.414516129032258, 485 | "image_width": 560, 486 | "image_height": 395 487 | }, 488 | { 489 | "rowIndex": 40, 490 | "company_name": "TOWN株式会社", 491 | "company_url": "https://town.biz/", 492 | "slide_urls": [ 493 | "https://speakerdeck.com/towninc/townhui-she-shuo-ming-zi-liao" 494 | ], 495 | "type": "speakerdeck", 496 | "id": "32680d8170e84c8a9a639167e3b12d7f", 497 | "image_ratio": 1.6, 498 | "image_width": 560, 499 | "image_height": 350 500 | }, 501 | { 502 | "rowIndex": 41, 503 | "company_name": "株式会社アペルザ", 504 | "company_url": "https://www.aperza.com/corp/", 505 | "slide_urls": [ 506 | "https://speakerdeck.com/hr_team_aperza/aperza-hiring" 507 | ], 508 | "type": "speakerdeck", 509 | "id": "0d62775f9af040d395b4181d80605393", 510 | "image_ratio": 1.7772511848341233, 511 | "image_width": 560, 512 | "image_height": 315 513 | }, 514 | { 515 | "type": "slideshare", 516 | "rowIndex": 42, 517 | "company_name": "株式会社RCIエージェンシー", 518 | "company_url": "http://www.rci-agency.com/", 519 | "slide_urls": [ 520 | "https://www.slideshare.net/ssuser724428/company-introduction-v16" 521 | ] 522 | }, 523 | { 524 | "rowIndex": 43, 525 | "company_name": "株式会社Leaner Technologies", 526 | "company_url": "https://leaner.co.jp/", 527 | "slide_urls": [ 528 | "https://speakerdeck.com/leaner_tech/leaner-company-profile" 529 | ], 530 | "type": "speakerdeck", 531 | "id": "39646b808f4144dbb18eb0e0f39b1a01", 532 | "image_ratio": 1.7777777777777777, 533 | "image_width": 560, 534 | "image_height": 315 535 | }, 536 | { 537 | "rowIndex": 44, 538 | "company_name": "アジアクエスト株式会社", 539 | "company_url": "https://www.asia-quest.jp/", 540 | "slide_urls": [ 541 | "https://speakerdeck.com/asiaquest/we-invite-you" 542 | ], 543 | "type": "speakerdeck", 544 | "id": "2a642ef201394b3d8e6e76bfe85b632b", 545 | "image_ratio": 1.7777777777777777, 546 | "image_width": 560, 547 | "image_height": 315 548 | }, 549 | { 550 | "rowIndex": 45, 551 | "company_name": "株式会社mofmof", 552 | "company_url": "https://www.mof-mof.co.jp/", 553 | "slide_urls": [ 554 | "https://speakerdeck.com/harada4atsushi/mofmofinc-informatioin-for-recruiting" 555 | ], 556 | "type": "speakerdeck", 557 | "id": "1fd30020b83f487a8f910512eb669f70", 558 | "image_ratio": 1.7777777777777777, 559 | "image_width": 560, 560 | "image_height": 315 561 | }, 562 | { 563 | "rowIndex": 46, 564 | "company_name": "株式会社ログラス", 565 | "company_url": "https://loglass.jp/", 566 | "slide_urls": [ 567 | "https://speakerdeck.com/tomoyafukawa/rogurasu" 568 | ], 569 | "type": "speakerdeck", 570 | "id": "a100725e4c094f63bfc6c18b5b934323", 571 | "image_ratio": 1.7777777777777777, 572 | "image_width": 560, 573 | "image_height": 315 574 | }, 575 | { 576 | "rowIndex": 47, 577 | "company_name": "ファインディ株式会社\n", 578 | "company_url": "https://findy.co.jp/", 579 | "slide_urls": [ 580 | "https://speakerdeck.com/findyinc/findy-letter-for-engineers" 581 | ], 582 | "type": "speakerdeck", 583 | "id": "39db840be90d4d968122ea667a35cb78", 584 | "image_ratio": 1.7777777777777777, 585 | "image_width": 560, 586 | "image_height": 315 587 | }, 588 | { 589 | "rowIndex": 48, 590 | "company_name": "株式会社トラーナ", 591 | "company_url": "https://torana.co.jp/", 592 | "slide_urls": [ 593 | "https://speakerdeck.com/torana/zhu-shi-hui-she-torana-shao-jie-zi-liao-202202" 594 | ], 595 | "type": "speakerdeck", 596 | "id": "62c27e25e6934b3faa4e4fae626b05a5", 597 | "image_ratio": 1.7777777777777777, 598 | "image_width": 560, 599 | "image_height": 315 600 | }, 601 | { 602 | "rowIndex": 49, 603 | "company_name": "株式会社OKAN", 604 | "company_url": "https://okan.co.jp/", 605 | "slide_urls": [ 606 | "https://speakerdeck.com/chihir0tezuka/okanhui-she-shao-jie-zi-liao" 607 | ], 608 | "type": "speakerdeck", 609 | "id": "406c17769470429caed93fde6e8bb1d5", 610 | "image_ratio": 1.4143646408839778, 611 | "image_width": 560, 612 | "image_height": 395 613 | }, 614 | { 615 | "rowIndex": 50, 616 | "company_name": "アライドアーキテクツ株式会社", 617 | "company_url": "https://www.aainc.co.jp/", 618 | "slide_urls": [ 619 | "https://speakerdeck.com/alliedarchitects/2022ensiniacai-yong-zi-liao" 620 | ], 621 | "type": "speakerdeck", 622 | "id": "b81a1c6f869d4fecaf45514504ffb6ef", 623 | "image_ratio": 1.7777777777777777, 624 | "image_width": 560, 625 | "image_height": 315 626 | }, 627 | { 628 | "rowIndex": 51, 629 | "company_name": "株式会社ACES", 630 | "company_url": "https://acesinc.co.jp/", 631 | "slide_urls": [ 632 | "https://speakerdeck.com/aces/aceshui-she-shuo-ming-zi-liao" 633 | ], 634 | "type": "speakerdeck", 635 | "id": "ac8ff8aa9e1f4fe490e2da395f4fa588", 636 | "image_ratio": 1.7777777777777777, 637 | "image_width": 560, 638 | "image_height": 315 639 | }, 640 | { 641 | "rowIndex": 52, 642 | "company_name": "株式会社WEIN Group", 643 | "company_url": "https://wein.co.jp/", 644 | "slide_urls": [ 645 | "https://speakerdeck.com/wein/top0-dot-1-percent-ren-cai-hefalsetiao-zhan-zhuang" 646 | ], 647 | "type": "speakerdeck", 648 | "id": "bf5d888fde5044e2bf2b34f4fd1d562d", 649 | "image_ratio": 1.7777777777777777, 650 | "image_width": 560, 651 | "image_height": 315 652 | }, 653 | { 654 | "rowIndex": 53, 655 | "company_name": "GCストーリー株式会社", 656 | "company_url": "https://gc-story.com/", 657 | "slide_urls": [ 658 | "https://speakerdeck.com/gcstory/whats-gcstory" 659 | ], 660 | "type": "speakerdeck", 661 | "id": "054b9224b227438594ba3cb7047870de", 662 | "image_ratio": 1.4143646408839778, 663 | "image_width": 560, 664 | "image_height": 395 665 | }, 666 | { 667 | "rowIndex": 54, 668 | "company_name": "株式会社チカク", 669 | "company_url": "https://www.chikaku.co.jp/", 670 | "slide_urls": [ 671 | "https://speakerdeck.com/chikaku/zhu-shi-hui-she-tikaku-magotiyanneru-cai-yong-suraido" 672 | ], 673 | "type": "speakerdeck", 674 | "id": "1857bfec47794c53a722e1064029e9b4", 675 | "image_ratio": 1.7777777777777777, 676 | "image_width": 560, 677 | "image_height": 315 678 | }, 679 | { 680 | "rowIndex": 55, 681 | "company_name": "株式会社エレファントストーン", 682 | "company_url": "https://elephantstone.net/", 683 | "slide_urls": [ 684 | "https://speakerdeck.com/elephantstone/zhu-shi-hui-she-erehuantosuton-hui-she-shao-jie-zi-liao" 685 | ], 686 | "type": "speakerdeck", 687 | "id": "e28993a87b794d7dab367493e2865748", 688 | "image_ratio": 1.7772511848341233, 689 | "image_width": 560, 690 | "image_height": 315 691 | }, 692 | { 693 | "rowIndex": 56, 694 | "company_name": "株式会社リチカ", 695 | "company_url": "https://richka.co/", 696 | "slide_urls": [ 697 | "https://speakerdeck.com/yukiharuharu/zhu-shi-hui-she-ritikanixing-wei-wochi-tuteitadaitafang-he" 698 | ], 699 | "type": "speakerdeck", 700 | "id": "8de6075636d84f708f4629ce012f96c3", 701 | "image_ratio": 1.7777777777777777, 702 | "image_width": 560, 703 | "image_height": 315 704 | }, 705 | { 706 | "rowIndex": 57, 707 | "company_name": "株式会社一休", 708 | "company_url": "https://www.ikyu.co.jp/", 709 | "slide_urls": [ 710 | "https://speakerdeck.com/kensuketanaka/introduce-ikyu" 711 | ], 712 | "type": "speakerdeck", 713 | "id": "5b968a6ed304446c8302cb40ec2da695", 714 | "image_ratio": 1.5384615384615385, 715 | "image_width": 560, 716 | "image_height": 364 717 | }, 718 | { 719 | "rowIndex": 58, 720 | "company_name": "株式会社MATCHA", 721 | "company_url": "https://company.matcha-jp.com/", 722 | "slide_urls": [ 723 | "https://speakerdeck.com/yuaoki/zhu-shi-hui-she-matcha-hui-she-shao-jie-zi-liao" 724 | ], 725 | "type": "speakerdeck", 726 | "id": "70f3143df1f94313ad966e63f9ea666b", 727 | "image_ratio": 1.7772511848341233, 728 | "image_width": 560, 729 | "image_height": 315 730 | }, 731 | { 732 | "rowIndex": 59, 733 | "company_name": "dely株式会社", 734 | "company_url": "https://dely.jp/", 735 | "slide_urls": [ 736 | "https://speakerdeck.com/tsubotax/dely" 737 | ], 738 | "type": "speakerdeck", 739 | "id": "c28f083615264c03a2e4e8fa108f0d11", 740 | "image_ratio": 1.7777777777777777, 741 | "image_width": 560, 742 | "image_height": 315 743 | }, 744 | { 745 | "rowIndex": 60, 746 | "company_name": "ANYCOLOR株式会社", 747 | "company_url": "https://www.anycolor.co.jp/", 748 | "slide_urls": [ 749 | "https://speakerdeck.com/anycolor/anycolor-introduction" 750 | ], 751 | "type": "speakerdeck", 752 | "id": "012874eddc9d44c2a985d6e32c7c6254", 753 | "image_ratio": 1.7777777777777777, 754 | "image_width": 560, 755 | "image_height": 315 756 | }, 757 | { 758 | "rowIndex": 61, 759 | "company_name": "Wano株式会社", 760 | "company_url": "https://wano.co.jp/", 761 | "slide_urls": [ 762 | "https://speakerdeck.com/wano_pr/wano-company-overview" 763 | ], 764 | "type": "speakerdeck", 765 | "id": "6f5d84bc26dc4b618fbf01826d28d247", 766 | "image_ratio": 1.414516129032258, 767 | "image_width": 560, 768 | "image_height": 395 769 | }, 770 | { 771 | "rowIndex": 62, 772 | "company_name": "株式会社タイマーズ", 773 | "company_url": "https://timers-inc.com/", 774 | "slide_urls": [ 775 | "https://speakerdeck.com/timers_inc/timers-guidebook" 776 | ], 777 | "type": "speakerdeck", 778 | "id": "9507838e8cdd446da206612054eb1d5b", 779 | "image_ratio": 1.7777777777777777, 780 | "image_width": 560, 781 | "image_height": 315 782 | }, 783 | { 784 | "rowIndex": 63, 785 | "company_name": "株式会社ワンキャリア", 786 | "company_url": "https://onecareer.co.jp/", 787 | "slide_urls": [ 788 | "https://speakerdeck.com/onecareer/wankiyaria-hui-she-shao-jie-zi-liao" 789 | ], 790 | "type": "speakerdeck", 791 | "id": "2c75f7eed95047f5975eb5ffb82f6789", 792 | "image_ratio": 1.7777777777777777, 793 | "image_width": 560, 794 | "image_height": 315 795 | }, 796 | { 797 | "rowIndex": 64, 798 | "company_name": "オーティファイ株式会社", 799 | "company_url": "https://autify.com/ja/about", 800 | "slide_urls": [ 801 | "https://speakerdeck.com/autifyhq/autify-company-deck" 802 | ], 803 | "type": "speakerdeck", 804 | "id": "4d0e5539e58f4ecf97f0bb7929d88560", 805 | "image_ratio": 1.7777777777777777, 806 | "image_width": 560, 807 | "image_height": 315 808 | }, 809 | { 810 | "rowIndex": 65, 811 | "company_name": "プレティア・テクノロジーズ株式会社", 812 | "company_url": "https://corporate.pretiaar.com/", 813 | "slide_urls": [ 814 | "https://speakerdeck.com/pretia/pretia-technologies-introduction" 815 | ], 816 | "type": "speakerdeck", 817 | "id": "440687147433468da4e84726fed85df3", 818 | "image_ratio": 1.7777777777777777, 819 | "image_width": 560, 820 | "image_height": 315 821 | }, 822 | { 823 | "rowIndex": 66, 824 | "company_name": "株式会社mikan", 825 | "company_url": "https://mikan.link/", 826 | "slide_urls": [ 827 | "https://speakerdeck.com/mikan_inc/culture-deck" 828 | ], 829 | "type": "speakerdeck", 830 | "id": "441290eb71034e819029d55b23125b76", 831 | "image_ratio": 1.7777777777777777, 832 | "image_width": 560, 833 | "image_height": 315 834 | }, 835 | { 836 | "rowIndex": 67, 837 | "company_name": "株式会社サイカ", 838 | "company_url": "https://xica.net/", 839 | "slide_urls": [ 840 | "https://speakerdeck.com/xicapr/company-introduction" 841 | ], 842 | "type": "speakerdeck", 843 | "id": "390d0211c3484c6a941d11ac6f8f8751", 844 | "image_ratio": 1.7777777777777777, 845 | "image_width": 560, 846 | "image_height": 315 847 | }, 848 | { 849 | "rowIndex": 68, 850 | "company_name": "モノグサ株式会社", 851 | "company_url": "https://corp.monoxer.com/company/", 852 | "slide_urls": [ 853 | "https://speakerdeck.com/monoxer/monoxer-inc-cai-yong-zi-liao" 854 | ], 855 | "type": "speakerdeck", 856 | "id": "ec2f50ebfce14964bd708be8e78447f5", 857 | "image_ratio": 1.7777777777777777, 858 | "image_width": 560, 859 | "image_height": 315 860 | }, 861 | { 862 | "rowIndex": 69, 863 | "company_name": "株式会社CAMPFIRE", 864 | "company_url": "https://campfire.co.jp/", 865 | "slide_urls": [ 866 | "https://speakerdeck.com/campfire/zhu-shi-hui-she-campfire-hui-she-shao-jie-zi-liao" 867 | ], 868 | "type": "speakerdeck", 869 | "id": "3a471884ab6a445ea5ec3cc283789432", 870 | "image_ratio": 1.7777777777777777, 871 | "image_width": 560, 872 | "image_height": 315 873 | }, 874 | { 875 | "rowIndex": 70, 876 | "company_name": "株式会社エクサウィザーズ", 877 | "company_url": "https://exawizards.com/", 878 | "slide_urls": [ 879 | "https://speakerdeck.com/exawizards/introduction-of-exawizards-inc-a8a7acda-9b1c-4c7b-b0fa-c2145bbda8d8" 880 | ], 881 | "type": "speakerdeck", 882 | "id": "d23f4d339ea74a34917f04fe4ef11dd2", 883 | "image_ratio": 1.7777777777777777, 884 | "image_width": 560, 885 | "image_height": 315 886 | }, 887 | { 888 | "rowIndex": 71, 889 | "company_name": "株式会社stand.fm", 890 | "company_url": "https://corp.stand.fm/", 891 | "slide_urls": [ 892 | "https://speakerdeck.com/standfm/company-deck-for-engineers" 893 | ], 894 | "type": "speakerdeck", 895 | "id": "b0c531e1d0c74622a5842bc525e095e7", 896 | "image_ratio": 1.7772511848341233, 897 | "image_width": 560, 898 | "image_height": 315 899 | }, 900 | { 901 | "rowIndex": 72, 902 | "company_name": "コインチェック株式会社", 903 | "company_url": "https://corporate.coincheck.com/", 904 | "slide_urls": [ 905 | "https://speakerdeck.com/coincheck_recruit/coincheck-company-description" 906 | ], 907 | "type": "speakerdeck", 908 | "id": "4e48fddc647e40d5a2723b4f7daee435", 909 | "image_ratio": 1.7777777777777777, 910 | "image_width": 560, 911 | "image_height": 315 912 | }, 913 | { 914 | "rowIndex": 73, 915 | "company_name": "株式会社カミナシ", 916 | "company_url": "https://corp.kaminashi.jp/", 917 | "slide_urls": [ 918 | "https://speakerdeck.com/kaminashi/kaminashi-corporate-profile" 919 | ], 920 | "type": "speakerdeck", 921 | "id": "8cd0451bf2114ce68fab034a99075876", 922 | "image_ratio": 1.7777777777777777, 923 | "image_width": 560, 924 | "image_height": 315 925 | }, 926 | { 927 | "rowIndex": 74, 928 | "company_name": "株式会社アイデミー", 929 | "company_url": "https://aidemy.co.jp/company/", 930 | "slide_urls": [ 931 | "https://speakerdeck.com/aidemy/about-us-ea067f91-b209-4d3f-9966-90e87886ef66" 932 | ], 933 | "type": "speakerdeck", 934 | "id": "d2bc3b7d78104eb2b90812200e0ab263", 935 | "image_ratio": 1.7777777777777777, 936 | "image_width": 560, 937 | "image_height": 315 938 | }, 939 | { 940 | "rowIndex": 75, 941 | "company_name": "メダップ株式会社", 942 | "company_url": "https://medup.jp/", 943 | "slide_urls": [ 944 | "https://speakerdeck.com/medup/enziniaxiang-kehui-she-shao-jie-zi-liao-ver2-dot-1" 945 | ], 946 | "type": "speakerdeck", 947 | "id": "48afffcfa05f4b68a9d8ebea2ba3d77f", 948 | "image_ratio": 1.7777777777777777, 949 | "image_width": 560, 950 | "image_height": 315 951 | }, 952 | { 953 | "rowIndex": 76, 954 | "company_name": "GMOペパボ株式会社", 955 | "company_url": "https://pepabo.com/", 956 | "slide_urls": [ 957 | "https://speakerdeck.com/pepabo_recruit/company-profile-for-career" 958 | ], 959 | "type": "speakerdeck", 960 | "id": "2e70f28788ed46f3862da8e66afac188", 961 | "image_ratio": 1.7777777777777777, 962 | "image_width": 560, 963 | "image_height": 315 964 | }, 965 | { 966 | "rowIndex": 77, 967 | "company_name": "株式会社FLUX", 968 | "company_url": "https://flux-g.com/", 969 | "slide_urls": [ 970 | "https://speakerdeck.com/flux/we-are-hiring" 971 | ], 972 | "type": "speakerdeck", 973 | "id": "215211e05bc0409389d7de89c70f8723", 974 | "image_ratio": 1.7777777777777777, 975 | "image_width": 560, 976 | "image_height": 315 977 | }, 978 | { 979 | "rowIndex": 78, 980 | "company_name": "株式会社TimeTree", 981 | "company_url": "https://timetreeapp.com/intl/ja/corporate", 982 | "slide_urls": [ 983 | "https://speakerdeck.com/timetree/greetings-from-timetree" 984 | ], 985 | "type": "speakerdeck", 986 | "id": "f3759f86f53c4ff4a4b466ab8ffaa3b6", 987 | "image_ratio": 1.7777777777777777, 988 | "image_width": 560, 989 | "image_height": 315 990 | }, 991 | { 992 | "rowIndex": 79, 993 | "company_name": "株式会社スピークバディ", 994 | "company_url": "https://speakbuddy.jp/", 995 | "slide_urls": [ 996 | "https://speakerdeck.com/speakbuddy/zhu-shi-hui-she-supikubadei-hui-she-shao-jie-zi-liao" 997 | ], 998 | "type": "speakerdeck", 999 | "id": "11905498f14c4ab1b9dfbfbe868f8e07", 1000 | "image_ratio": 1.7777777777777777, 1001 | "image_width": 560, 1002 | "image_height": 315 1003 | }, 1004 | { 1005 | "rowIndex": 80, 1006 | "company_name": "株式会社JX通信社", 1007 | "company_url": "https://jxpress.net/", 1008 | "slide_urls": [ 1009 | "https://speakerdeck.com/jxpress/introduction" 1010 | ], 1011 | "type": "speakerdeck", 1012 | "id": "c999be993a50478aaf9862f3d8612560", 1013 | "image_ratio": 1.7796610169491525, 1014 | "image_width": 560, 1015 | "image_height": 314 1016 | }, 1017 | { 1018 | "rowIndex": 81, 1019 | "company_name": "HENNGE株式会社", 1020 | "company_url": "https://hennge.com/jp/", 1021 | "slide_urls": [ 1022 | "https://speakerdeck.com/hennge/company-introduction" 1023 | ], 1024 | "type": "speakerdeck", 1025 | "id": "06f4f4820c514d6585314bd99069fd07", 1026 | "image_ratio": 1.7777777777777777, 1027 | "image_width": 560, 1028 | "image_height": 315 1029 | }, 1030 | { 1031 | "rowIndex": 82, 1032 | "company_name": "株式会社VARK", 1033 | "company_url": "https://corp.vark.co.jp/", 1034 | "slide_urls": [ 1035 | "https://speakerdeck.com/vark/zhu-shi-hui-she-vark-hui-she-shao-jie-zi-liao-for-cai-yong-hou-bu-zhe-yang" 1036 | ], 1037 | "type": "speakerdeck", 1038 | "id": "01af1ed365e049db9523d152d6951ad8", 1039 | "image_ratio": 1.7777777777777777, 1040 | "image_width": 560, 1041 | "image_height": 315 1042 | }, 1043 | { 1044 | "rowIndex": 83, 1045 | "company_name": "株式会社AppBrew", 1046 | "company_url": "https://appbrew.io/", 1047 | "slide_urls": [ 1048 | "https://speakerdeck.com/appbrew_rec/appbrew-engineer-recruitment" 1049 | ], 1050 | "type": "speakerdeck", 1051 | "id": "ee12fb84982b403196d6d9a4f8a1bd21", 1052 | "image_ratio": 1.7777777777777777, 1053 | "image_width": 560, 1054 | "image_height": 315 1055 | }, 1056 | { 1057 | "rowIndex": 84, 1058 | "company_name": "株式会社hokan", 1059 | "company_url": "https://www.corp.hkn.jp/", 1060 | "slide_urls": [ 1061 | "https://speakerdeck.com/hokan/zu-zhi-deck" 1062 | ], 1063 | "type": "speakerdeck", 1064 | "id": "6e2c8b64852e4a148e3a63b4f7deed8b", 1065 | "image_ratio": 1.7777777777777777, 1066 | "image_width": 560, 1067 | "image_height": 315 1068 | }, 1069 | { 1070 | "rowIndex": 85, 1071 | "company_name": "株式会社グラファー", 1072 | "company_url": "https://graffer.jp/", 1073 | "slide_urls": [ 1074 | "https://speakerdeck.com/graffer/zhu-shi-hui-she-gurahuahui-she-shao-jie-zi-liao" 1075 | ], 1076 | "type": "speakerdeck", 1077 | "id": "1f2c335cf3e94eb699786f9e3f2d3570", 1078 | "image_ratio": 1.7794253938832252, 1079 | "image_width": 560, 1080 | "image_height": 314 1081 | }, 1082 | { 1083 | "rowIndex": 86, 1084 | "company_name": "インフォメティス株式会社", 1085 | "company_url": "https://www.informetis.com/", 1086 | "slide_urls": [ 1087 | "https://speakerdeck.com/informetis/informetishui-she-shao-jie-zi-liao" 1088 | ], 1089 | "type": "speakerdeck", 1090 | "id": "39db704a5fa043d0abfe643f46468929", 1091 | "image_ratio": 1.4122383252818036, 1092 | "image_width": 560, 1093 | "image_height": 396 1094 | }, 1095 | { 1096 | "rowIndex": 87, 1097 | "company_name": "株式会社電脳交通", 1098 | "company_url": "https://cybertransporters.com/", 1099 | "slide_urls": [ 1100 | "https://speakerdeck.com/dennokotsu/zhu-shi-hui-she-dian-noy-jiao-tong-hui-she-shao-jie-zi-liao-4e1940de-416b-4bcd-9b2a-161ecddb31ac" 1101 | ], 1102 | "type": "speakerdeck", 1103 | "id": "618dd536ea78452b944bb7bf464d33ae", 1104 | "image_ratio": 1.7777777777777777, 1105 | "image_width": 560, 1106 | "image_height": 315 1107 | }, 1108 | { 1109 | "rowIndex": 88, 1110 | "company_name": "株式会社MICIN", 1111 | "company_url": "https://micin.jp/", 1112 | "slide_urls": [ 1113 | "https://speakerdeck.com/micin_hr/micin-company-introduction-hui-she-shuo-ming-zi-liao-67f2bb8a-f585-4c48-9b3b-2b7330b071d0" 1114 | ], 1115 | "type": "speakerdeck", 1116 | "id": "cb8f73625c954c24a454db850d4545b8", 1117 | "image_ratio": 1.7777777777777777, 1118 | "image_width": 560, 1119 | "image_height": 315 1120 | }, 1121 | { 1122 | "rowIndex": 89, 1123 | "company_name": "エムスリー株式会社", 1124 | "company_url": "https://corporate.m3.com/", 1125 | "slide_urls": [ 1126 | "https://speakerdeck.com/ryusukekogetsu/m3design-team-profile", 1127 | "https://speakerdeck.com/yamamuteki/introduction-of-m3-engineering-group" 1128 | ], 1129 | "type": "speakerdeck", 1130 | "id": "904c34c964424c679773089a76c279ca", 1131 | "image_ratio": 1.7777777777777777, 1132 | "image_width": 560, 1133 | "image_height": 315 1134 | }, 1135 | { 1136 | "rowIndex": 90, 1137 | "company_name": "株式会社Lang-8", 1138 | "company_url": "https://lang-8.jp/", 1139 | "slide_urls": [ 1140 | "https://speakerdeck.com/lang8/we-are-hiring" 1141 | ], 1142 | "type": "speakerdeck", 1143 | "id": "cd8693e0a6f7430ebdaa5fe11569f480", 1144 | "image_ratio": 1.7777777777777777, 1145 | "image_width": 560, 1146 | "image_height": 315 1147 | }, 1148 | { 1149 | "rowIndex": 91, 1150 | "company_name": "株式会社フレクト", 1151 | "company_url": "https://www.flect.co.jp/", 1152 | "slide_urls": [ 1153 | "https://speakerdeck.com/flect_hr/zhu-shi-hui-she-hurekutohui-she-shuo-ming-zi-liao-arubekiwei-lai-wokuraudodekatatinisuru" 1154 | ], 1155 | "type": "speakerdeck", 1156 | "id": "e1640edee4c14bdfbaf3c0b5d455388e", 1157 | "image_ratio": 1.7777777777777777, 1158 | "image_width": 560, 1159 | "image_height": 315 1160 | }, 1161 | { 1162 | "rowIndex": 92, 1163 | "company_name": "株式会社ビビッドガーデン", 1164 | "company_url": "https://vivid-garden.co.jp/", 1165 | "slide_urls": [ 1166 | "https://speakerdeck.com/vividgarden/bibitudogadenhui-she-shao-jie-zi-liao-cai-yong-zi-liao" 1167 | ], 1168 | "type": "speakerdeck", 1169 | "id": "6118c088837f4db9bcdf878dde013f9b", 1170 | "image_ratio": 1.7777777777777777, 1171 | "image_width": 560, 1172 | "image_height": 315 1173 | }, 1174 | { 1175 | "rowIndex": 93, 1176 | "company_name": "株式会社スタディスト", 1177 | "company_url": "https://studist.jp/", 1178 | "slide_urls": [ 1179 | "https://speakerdeck.com/studist/about-studist" 1180 | ], 1181 | "type": "speakerdeck", 1182 | "id": "6bf8393004bc45e4b2b269743cd89474", 1183 | "image_ratio": 1.7777777777777777, 1184 | "image_width": 560, 1185 | "image_height": 315 1186 | }, 1187 | { 1188 | "rowIndex": 94, 1189 | "company_name": "株式会社ギフティ", 1190 | "company_url": "https://giftee.co.jp/", 1191 | "slide_urls": [ 1192 | "https://speakerdeck.com/recruit_giftee/giftee-company-introduction-material" 1193 | ], 1194 | "type": "speakerdeck", 1195 | "id": "1675a18b17bf4121a81e19541c96e3a3", 1196 | "image_ratio": 1.7777777777777777, 1197 | "image_width": 560, 1198 | "image_height": 315 1199 | }, 1200 | { 1201 | "rowIndex": 95, 1202 | "company_name": "株式会社アンドパッド", 1203 | "company_url": "https://andpad.co.jp/", 1204 | "slide_urls": [ 1205 | "https://speakerdeck.com/andpad_hr88/andpad-hui-she-shuo-ming-zi-liao" 1206 | ], 1207 | "type": "speakerdeck", 1208 | "id": "8d7e95c6eb2942419bbdcabc7ae58ec9", 1209 | "image_ratio": 1.7777777777777777, 1210 | "image_width": 560, 1211 | "image_height": 315 1212 | }, 1213 | { 1214 | "rowIndex": 96, 1215 | "company_name": "株式会社IRIAM", 1216 | "company_url": "https://www.live.iriam.com/", 1217 | "slide_urls": [ 1218 | "https://speakerdeck.com/iriam/company-profile" 1219 | ], 1220 | "type": "speakerdeck", 1221 | "id": "6760560f4e2f47ffbe3a1030194f07e6", 1222 | "image_ratio": 1.7777777777777777, 1223 | "image_width": 560, 1224 | "image_height": 315 1225 | }, 1226 | { 1227 | "type": "other", 1228 | "rowIndex": 97, 1229 | "company_name": "株式会社スマートラウンド", 1230 | "company_url": "https://jp.smartround.com/", 1231 | "slide_urls": [ 1232 | "https://docs.google.com/presentation/d/1bgM8vvJLas_HA7Dju07VGpktFr5ZYUcwq_sJE_esO8s/edit?usp=sharing" 1233 | ] 1234 | }, 1235 | { 1236 | "rowIndex": 98, 1237 | "company_name": "株式会社WOW WORLD", 1238 | "company_url": "https://www.wow-world.co.jp/", 1239 | "slide_urls": [ 1240 | "https://speakerdeck.com/wowworld/eizia-hui-she-shao-jie-zi-liao" 1241 | ], 1242 | "type": "speakerdeck", 1243 | "id": "70bed9913d6b4d0fb690258537dfa7e9", 1244 | "image_ratio": 1.7777777777777777, 1245 | "image_width": 560, 1246 | "image_height": 315 1247 | }, 1248 | { 1249 | "rowIndex": 99, 1250 | "company_name": "REALITY株式会社", 1251 | "company_url": "https://reality.inc/", 1252 | "slide_urls": [ 1253 | "https://speakerdeck.com/realityinc/reality-introduction-aug-2021" 1254 | ], 1255 | "type": "speakerdeck", 1256 | "id": "69b96485d3794eb381535723cbe7a77f", 1257 | "image_ratio": 1.7777777777777777, 1258 | "image_width": 560, 1259 | "image_height": 315 1260 | }, 1261 | { 1262 | "rowIndex": 100, 1263 | "company_name": "株式会社Progate", 1264 | "company_url": "https://prog-8.com/", 1265 | "slide_urls": [ 1266 | "https://speakerdeck.com/progate/fy2023-dot-8-hui-she-shao-jie-zi-liao" 1267 | ], 1268 | "type": "speakerdeck", 1269 | "id": "f44b3137cde742a59a2e7e2c89e15f3c", 1270 | "image_ratio": 1.7772511848341233, 1271 | "image_width": 560, 1272 | "image_height": 315 1273 | }, 1274 | { 1275 | "rowIndex": 101, 1276 | "company_name": "株式会社ROUTE06", 1277 | "company_url": "https://route06.co.jp/", 1278 | "slide_urls": [ 1279 | "https://speakerdeck.com/route06/zhu-shi-hui-she-route06-rutositukusu-hui-she-shao-jie" 1280 | ], 1281 | "type": "speakerdeck", 1282 | "id": "82045c82e032459e9602c0954bf1dcc0", 1283 | "image_ratio": 1.7777777777777777, 1284 | "image_width": 560, 1285 | "image_height": 315 1286 | }, 1287 | { 1288 | "rowIndex": 102, 1289 | "company_name": "Sansan株式会社", 1290 | "company_url": "https://jp.corp-sansan.com/", 1291 | "slide_urls": [ 1292 | "https://speakerdeck.com/sansan33/sansan-company-profile" 1293 | ], 1294 | "type": "speakerdeck", 1295 | "id": "05ee008c31074eceae73ae7f75da57cd", 1296 | "image_ratio": 1.7777777777777777, 1297 | "image_width": 560, 1298 | "image_height": 315 1299 | }, 1300 | { 1301 | "rowIndex": 103, 1302 | "company_name": "Classi株式会社", 1303 | "company_url": "https://corp.classi.jp/", 1304 | "slide_urls": [ 1305 | "https://speakerdeck.com/classijp/we-are-hiring" 1306 | ], 1307 | "type": "speakerdeck", 1308 | "id": "7cb11a9ce4ff4ea7a9ab3b676ab4a4f0", 1309 | "image_ratio": 1.7777777777777777, 1310 | "image_width": 560, 1311 | "image_height": 315 1312 | }, 1313 | { 1314 | "rowIndex": 104, 1315 | "company_name": "株式会社プラハ", 1316 | "company_url": "https://www.praha-inc.com/", 1317 | "slide_urls": [ 1318 | "https://speakerdeck.com/praha/praha-company-profile" 1319 | ], 1320 | "type": "speakerdeck", 1321 | "id": "2870e5c1d16a4df5855430c79a70871a", 1322 | "image_ratio": 1.7777777777777777, 1323 | "image_width": 560, 1324 | "image_height": 315 1325 | }, 1326 | { 1327 | "rowIndex": 105, 1328 | "company_name": "メドピア株式会社", 1329 | "company_url": "https://medpeer.co.jp/", 1330 | "slide_urls": [ 1331 | "https://speakerdeck.com/medpeer_recruit/medopiagurupucai-yong-shao-jie-zi-liao" 1332 | ], 1333 | "type": "speakerdeck", 1334 | "id": "733c1b3d3f86447795a4271a4afb2eed", 1335 | "image_ratio": 1.7777777777777777, 1336 | "image_width": 560, 1337 | "image_height": 315 1338 | }, 1339 | { 1340 | "rowIndex": 106, 1341 | "company_name": "株式会社サイバーエージェント", 1342 | "company_url": "https://www.cyberagent.co.jp/", 1343 | "slide_urls": [ 1344 | "https://speakerdeck.com/cyberagent_recruit/cypitch" 1345 | ], 1346 | "type": "speakerdeck", 1347 | "id": "f7bf5c77aecd448da08563bc84c617dd", 1348 | "image_ratio": 1.3333333333333333, 1349 | "image_width": 560, 1350 | "image_height": 420 1351 | }, 1352 | { 1353 | "type": "other", 1354 | "rowIndex": 107, 1355 | "company_name": "株式会社ツクルバ", 1356 | "company_url": "https://tsukuruba.com/", 1357 | "slide_urls": [ 1358 | "https://docs.google.com/presentation/d/1IUo8wih36by3teKXlrKse0JfqlQB6MvH_JRPE91qc3k/edit#slide=id.g9b9d40d9b6_0_100" 1359 | ] 1360 | }, 1361 | { 1362 | "rowIndex": 108, 1363 | "company_name": "株式会社プレイド", 1364 | "company_url": "https://plaid.co.jp/", 1365 | "slide_urls": [ 1366 | "https://speakerdeck.com/plaid/plaid-recruit" 1367 | ], 1368 | "type": "speakerdeck", 1369 | "id": "edbf636b41be4739b3019b8e3391447b", 1370 | "image_ratio": 1.7772511848341233, 1371 | "image_width": 560, 1372 | "image_height": 315 1373 | }, 1374 | { 1375 | "rowIndex": 109, 1376 | "company_name": "207株式会社", 1377 | "company_url": "https://207-inc.com/", 1378 | "slide_urls": [ 1379 | "https://speakerdeck.com/sinrush/207hui-she-gai-yao-210502" 1380 | ], 1381 | "type": "speakerdeck", 1382 | "id": "ae89fd73210743ea851287c815f2ae03", 1383 | "image_ratio": 1.7777777777777777, 1384 | "image_width": 560, 1385 | "image_height": 315 1386 | }, 1387 | { 1388 | "type": "other", 1389 | "rowIndex": 110, 1390 | "company_name": "ビットバンク株式会社", 1391 | "company_url": "https://bitbank.cc/", 1392 | "slide_urls": [ 1393 | "https://docs.google.com/presentation/d/e/2PACX-1vQjiMPnEkwACxRpoMD7Tt0rdxF2ue_UylhEeqD6877o5Be1cutESJ2c9p70UPoHVQ15AuEZDeJmFfRp/pub" 1394 | ] 1395 | }, 1396 | { 1397 | "rowIndex": 111, 1398 | "company_name": "homie株式会社", 1399 | "company_url": "https://homie.co.jp/", 1400 | "slide_urls": [ 1401 | "https://speakerdeck.com/homie__recruit/hui-she-an-nei-zi-liao-5ec6d5bd-5e67-498e-b30b-1a6b1128dee3" 1402 | ], 1403 | "type": "speakerdeck", 1404 | "id": "b7d7f92a0f8745748083d915a85f7c58", 1405 | "image_ratio": 1.7777777777777777, 1406 | "image_width": 560, 1407 | "image_height": 315 1408 | }, 1409 | { 1410 | "rowIndex": 112, 1411 | "company_name": "テックタッチ株式会社", 1412 | "company_url": "https://techtouch.jp/", 1413 | "slide_urls": [ 1414 | "https://speakerdeck.com/techtouch/we-are-hiring" 1415 | ], 1416 | "type": "speakerdeck", 1417 | "id": "ac083005c032413fb32690a2da81dc4c", 1418 | "image_ratio": 1.7777777777777777, 1419 | "image_width": 560, 1420 | "image_height": 315 1421 | }, 1422 | { 1423 | "rowIndex": 113, 1424 | "company_name": "freee株式会社", 1425 | "company_url": "https://corp.freee.co.jp/", 1426 | "slide_urls": [ 1427 | "https://speakerdeck.com/freee/10fen-dewakarufreee-enziniaxiang-kehui-she-shuo-ming-zi-liao" 1428 | ], 1429 | "type": "speakerdeck", 1430 | "id": "1377995733eb4fc1aaa824b8741c7336", 1431 | "image_ratio": 1.7777777777777777, 1432 | "image_width": 560, 1433 | "image_height": 315 1434 | }, 1435 | { 1436 | "type": "other", 1437 | "rowIndex": 114, 1438 | "company_name": "Nota株式会社", 1439 | "company_url": "https://notainc.com/", 1440 | "slide_urls": [ 1441 | "https://docs.google.com/presentation/d/e/2PACX-1vRI-0KmPu5m-G4NHjJdNOUVHaaP1BxO-fIZ_3Y3lPcyLOwxeFOZSGQYUFmmivylEHy9qxMCVYe8lncv/embed" 1442 | ] 1443 | }, 1444 | { 1445 | "rowIndex": 115, 1446 | "company_name": "株式会社BitStar", 1447 | "company_url": "https://corp.bitstar.tokyo/", 1448 | "slide_urls": [ 1449 | "https://speakerdeck.com/bitstar/we-are-hiring" 1450 | ], 1451 | "type": "speakerdeck", 1452 | "id": "2a8c407f0ef348c2990feb8f0d3f3e37", 1453 | "image_ratio": 1.7772511848341233, 1454 | "image_width": 560, 1455 | "image_height": 315 1456 | }, 1457 | { 1458 | "type": "other", 1459 | "rowIndex": 116, 1460 | "company_name": "株式会社Runtrip", 1461 | "company_url": "https://corp.runtrip.jp/", 1462 | "slide_urls": [ 1463 | "https://www.notion.so/Runtrip-d80968ef2b2e4d039c9c894471744e20" 1464 | ] 1465 | }, 1466 | { 1467 | "rowIndex": 117, 1468 | "company_name": "株式会社LayerX", 1469 | "company_url": "https://layerx.co.jp/", 1470 | "slide_urls": [ 1471 | "https://speakerdeck.com/layerx/company-deck", 1472 | "https://speakerdeck.com/layerx/compass_202209" 1473 | ], 1474 | "type": "speakerdeck", 1475 | "id": "bdb6170127d44f1ebe2b07d97c896514", 1476 | "image_ratio": 1.7777777777777777, 1477 | "image_width": 560, 1478 | "image_height": 315 1479 | }, 1480 | { 1481 | "rowIndex": 118, 1482 | "company_name": "株式会社M&Aクラウド", 1483 | "company_url": "https://corp.macloud.jp/company/", 1484 | "slide_urls": [ 1485 | "https://speakerdeck.com/macloud/cai-yong-pitutibutuku" 1486 | ], 1487 | "type": "speakerdeck", 1488 | "id": "dd94f12e06b8476ba24c21e9678d70de", 1489 | "image_ratio": 1.7777777777777777, 1490 | "image_width": 560, 1491 | "image_height": 315 1492 | }, 1493 | { 1494 | "rowIndex": 119, 1495 | "company_name": "キャディ株式会社", 1496 | "company_url": "https://corp.caddi.jp/company/", 1497 | "slide_urls": [ 1498 | "https://speakerdeck.com/caddi_eng/caddi-recruit-202108" 1499 | ], 1500 | "type": "speakerdeck", 1501 | "id": "78fd4ba09fbc4a3f857d78b2bea6142e", 1502 | "image_ratio": 1.7777777777777777, 1503 | "image_width": 560, 1504 | "image_height": 315 1505 | }, 1506 | { 1507 | "rowIndex": 120, 1508 | "company_name": "株式会社はてな", 1509 | "company_url": "https://hatenacorp.jp/", 1510 | "slide_urls": [ 1511 | "https://speakerdeck.com/hatena/engineers-recruitment" 1512 | ], 1513 | "type": "speakerdeck", 1514 | "id": "73919842c53c4af3a7d4025702e399fc", 1515 | "image_ratio": 1.7777777777777777, 1516 | "image_width": 560, 1517 | "image_height": 315 1518 | }, 1519 | { 1520 | "rowIndex": 121, 1521 | "company_name": "株式会社ソニックガーデン", 1522 | "company_url": "https://www.sonicgarden.jp/", 1523 | "slide_urls": [ 1524 | "https://speakerdeck.com/kuranuki/sonitukugadenfalsehui-she-shao-jie-2022nian-3yue-ban" 1525 | ], 1526 | "type": "speakerdeck", 1527 | "id": "492b1cc48aab402783c4d09d5f04e1d1", 1528 | "image_ratio": 1.7772511848341233, 1529 | "image_width": 560, 1530 | "image_height": 315 1531 | }, 1532 | { 1533 | "rowIndex": 122, 1534 | "company_name": "Tangerine株式会社", 1535 | "company_url": "https://tangerine.io/", 1536 | "slide_urls": [ 1537 | "https://speakerdeck.com/3yasuda/we-are-hiring" 1538 | ], 1539 | "type": "speakerdeck", 1540 | "id": "2ee86845b7584684898950ec79d8b5cf", 1541 | "image_ratio": 1.7772511848341233, 1542 | "image_width": 560, 1543 | "image_height": 315 1544 | }, 1545 | { 1546 | "rowIndex": 123, 1547 | "company_name": "株式会社アッテル", 1548 | "company_url": "https://attelu.jp/company", 1549 | "slide_urls": [ 1550 | "https://speakerdeck.com/attelu/culture-deck" 1551 | ], 1552 | "type": "speakerdeck", 1553 | "id": "09e06579ff3c452c9d79ca636e40f6d6", 1554 | "image_ratio": 1.7777777777777777, 1555 | "image_width": 560, 1556 | "image_height": 315 1557 | }, 1558 | { 1559 | "rowIndex": 124, 1560 | "company_name": "エーテンラボ株式会社", 1561 | "company_url": "https://a10lab.com/company/", 1562 | "slide_urls": [ 1563 | "https://speakerdeck.com/a10lab201612/etenrabozhu-shi-hui-she-cai-yong-detuku" 1564 | ], 1565 | "type": "speakerdeck", 1566 | "id": "5ee8f97d34f24f1f8c077709805ced9e", 1567 | "image_ratio": 1.7777777777777777, 1568 | "image_width": 560, 1569 | "image_height": 315 1570 | }, 1571 | { 1572 | "rowIndex": 125, 1573 | "company_name": "Tangerine株式会社", 1574 | "company_url": "https://tangerine.io/", 1575 | "slide_urls": [ 1576 | "https://speakerdeck.com/3yasuda/we-are-hiring" 1577 | ], 1578 | "type": "speakerdeck", 1579 | "id": "2ee86845b7584684898950ec79d8b5cf", 1580 | "image_ratio": 1.7772511848341233, 1581 | "image_width": 560, 1582 | "image_height": 315 1583 | }, 1584 | { 1585 | "rowIndex": 126, 1586 | "company_name": "レンティオ株式会社", 1587 | "company_url": "https://www.rentio.co.jp/", 1588 | "slide_urls": [ 1589 | "https://speakerdeck.com/rentio/rentio-company-profile" 1590 | ], 1591 | "type": "speakerdeck", 1592 | "id": "ae5df484bda04a46b23b67de25307c4d", 1593 | "image_ratio": 1.7772511848341233, 1594 | "image_width": 560, 1595 | "image_height": 315 1596 | }, 1597 | { 1598 | "rowIndex": 127, 1599 | "company_name": "株式会社バイセルテクノロジーズ", 1600 | "company_url": "https://buysell-technologies.com/", 1601 | "slide_urls": [ 1602 | "https://speakerdeck.com/buyselltechnologies/enziniacai-yong-buysell-technologieshui-she-shuo-ming-zi-liao" 1603 | ], 1604 | "type": "speakerdeck", 1605 | "id": "bae751eaade04383b2d296adc339f0b9", 1606 | "image_ratio": 1.7777777777777777, 1607 | "image_width": 560, 1608 | "image_height": 315 1609 | }, 1610 | { 1611 | "rowIndex": 128, 1612 | "company_name": "株式会社SocialDog", 1613 | "company_url": "https://socialdog.jp/", 1614 | "slide_urls": [ 1615 | "https://speakerdeck.com/socialdog/socialdog-recruit" 1616 | ], 1617 | "type": "speakerdeck", 1618 | "id": "f38c85bad3144e2eaa7555f7f319cb51", 1619 | "image_ratio": 1.7772511848341233, 1620 | "image_width": 560, 1621 | "image_height": 315 1622 | }, 1623 | { 1624 | "rowIndex": 129, 1625 | "company_name": "株式会社モニクル", 1626 | "company_url": "https://monicle.co.jp/", 1627 | "slide_urls": [ 1628 | "https://speakerdeck.com/moniclegroup/culture-deck" 1629 | ], 1630 | "type": "speakerdeck", 1631 | "id": "11c0fa6aed72458fac3ecfb06ceb255a", 1632 | "image_ratio": 1.5483870967741935, 1633 | "image_width": 560, 1634 | "image_height": 361 1635 | }, 1636 | { 1637 | "rowIndex": 130, 1638 | "company_name": "テイラー株式会社", 1639 | "company_url": "https://www.tailor.tech/", 1640 | "slide_urls": [ 1641 | "https://speakerdeck.com/tailortech/tailor-company-introduction" 1642 | ], 1643 | "type": "speakerdeck", 1644 | "id": "b5a9bb5c3db84109831f00256a0de55a", 1645 | "image_ratio": 1.7772511848341233, 1646 | "image_width": 560, 1647 | "image_height": 315 1648 | }, 1649 | { 1650 | "rowIndex": 131, 1651 | "company_name": "for,Freelance株式会社", 1652 | "company_url": "https://key-movie.forfreelance.co.jp/", 1653 | "slide_urls": [ 1654 | "https://speakerdeck.com/ryosuke0507/key-moviesabisushao-jie" 1655 | ], 1656 | "type": "speakerdeck", 1657 | "id": "65e126d01c6c4d55b019cb9000cf8317", 1658 | "image_ratio": 1.7777777777777777, 1659 | "image_width": 560, 1660 | "image_height": 315 1661 | }, 1662 | { 1663 | "type": "other", 1664 | "rowIndex": 132, 1665 | "company_name": "株式会社Ateam", 1666 | "company_url": "https://www.a-tm.co.jp/recruit/", 1667 | "slide_urls": [ 1668 | "https://www.a-tm.co.jp/wp-content/themes/a-tm_pc/pdf/ateam_recruitment-materials.pdf" 1669 | ] 1670 | }, 1671 | { 1672 | "rowIndex": 133, 1673 | "company_name": "Nstock株式会社", 1674 | "company_url": "https://nstock.co.jp/", 1675 | "slide_urls": [ 1676 | "https://speakerdeck.com/nstock/we-are-hiring" 1677 | ], 1678 | "type": "speakerdeck", 1679 | "id": "445db519f73f449596178d9fddd24c2b", 1680 | "image_ratio": 1.7777777777777777, 1681 | "image_width": 560, 1682 | "image_height": 315 1683 | }, 1684 | { 1685 | "rowIndex": 134, 1686 | "company_name": "株式会社ソウゾウ", 1687 | "company_url": "https://souzoh.com/", 1688 | "slide_urls": [ 1689 | "https://speakerdeck.com/mercari/zhu-shi-hui-she-souzou-hui-she-shao-jie-zi-liao" 1690 | ], 1691 | "type": "speakerdeck", 1692 | "id": "6b37e2a090f540c3a83c8ade82d190ee", 1693 | "image_ratio": 1.7777777777777777, 1694 | "image_width": 560, 1695 | "image_height": 315 1696 | }, 1697 | { 1698 | "rowIndex": 135, 1699 | "company_name": "X Mile株式会社", 1700 | "company_url": "https://www.xmile.co.jp/", 1701 | "slide_urls": [ 1702 | "https://speakerdeck.com/xmile/engineer-recruiting-pitch" 1703 | ], 1704 | "type": "speakerdeck", 1705 | "id": "0b3a633167d14260b981dc7ef7d4386c", 1706 | "image_ratio": 1.7772511848341233, 1707 | "image_width": 560, 1708 | "image_height": 315 1709 | }, 1710 | { 1711 | "rowIndex": 136, 1712 | "company_name": "トヨクモ株式会社", 1713 | "company_url": "https://www.toyokumo.co.jp/", 1714 | "slide_urls": [ 1715 | "https://speakerdeck.com/toyokumo_dev/toyokumohui-she-shao-jie-zi-liao" 1716 | ], 1717 | "type": "speakerdeck", 1718 | "id": "5e684dc4496f428a8967594469708a9a", 1719 | "image_ratio": 1.7777777777777777, 1720 | "image_width": 560, 1721 | "image_height": 315 1722 | }, 1723 | { 1724 | "rowIndex": 137, 1725 | "company_name": "株式会社Shippio", 1726 | "company_url": "https://www.shippio.io/", 1727 | "slide_urls": [ 1728 | "https://speakerdeck.com/shippio/zhu-shi-hui-she-shippiohui-she-shao-jie-zi-liao-20221130" 1729 | ], 1730 | "type": "speakerdeck", 1731 | "id": "5e41baae15b546dda5e2c6cb0bfa82b5", 1732 | "image_ratio": 1.7777777777777777, 1733 | "image_width": 560, 1734 | "image_height": 315 1735 | }, 1736 | { 1737 | "rowIndex": 138, 1738 | "company_name": "ARINA株式会社", 1739 | "company_url": "https://arinna.co.jp/", 1740 | "slide_urls": [ 1741 | "https://speakerdeck.com/wataru66200012/arina-deck" 1742 | ], 1743 | "type": "speakerdeck", 1744 | "id": "220387fc82fa42a1b18e875c03d975ac", 1745 | "image_ratio": 1.7777777777777777, 1746 | "image_width": 560, 1747 | "image_height": 315 1748 | }, 1749 | { 1750 | "rowIndex": 139, 1751 | "company_name": "株式会社クラス", 1752 | "company_url": "https://clas.style/company/", 1753 | "slide_urls": [ 1754 | "https://speakerdeck.com/clas/zhu-shi-hui-she-kurasuhui-she-shao-jie-zi-liao" 1755 | ], 1756 | "type": "speakerdeck", 1757 | "id": "61d780bf88ae4f7abd434c282c019276", 1758 | "image_ratio": 1.7777777777777777, 1759 | "image_width": 560, 1760 | "image_height": 315 1761 | }, 1762 | { 1763 | "rowIndex": 140, 1764 | "company_name": "株式会社ショーケース", 1765 | "company_url": "https://www.showcase-tv.com/", 1766 | "slide_urls": [ 1767 | "https://speakerdeck.com/showcasetv/zhu-shi-hui-she-siyokesu-hui-she-shuo-ming-zi-liao-9dc9f9ea-18ca-4219-a870-49b3372d14d3" 1768 | ], 1769 | "type": "speakerdeck", 1770 | "id": "7c0c30d7082b4c48b2a6c97aee5b4aff", 1771 | "image_ratio": 1.7777777777777777, 1772 | "image_width": 560, 1773 | "image_height": 315 1774 | }, 1775 | { 1776 | "rowIndex": 141, 1777 | "company_name": "エル・エス・アイジャパン株式会社", 1778 | "company_url": "https://www.lsi-j.co.jp/official/", 1779 | "slide_urls": [ 1780 | "https://speakerdeck.com/lsijapan_hr/hui-she-shuo-ming-zi-liao-eruesuai-ziyapan" 1781 | ], 1782 | "type": "speakerdeck", 1783 | "id": "926d25d4314b4195ba194d9338a9b498", 1784 | "image_ratio": 1.7777777777777777, 1785 | "image_width": 560, 1786 | "image_height": 315 1787 | }, 1788 | { 1789 | "rowIndex": 142, 1790 | "company_name": "グランサーズ株式会社", 1791 | "company_url": "https://grancers-group.com/", 1792 | "slide_urls": [ 1793 | "https://speakerdeck.com/grancersmarke/guransazuhui-she-shao-jie-cai-yong-qing-bao-ban" 1794 | ], 1795 | "type": "speakerdeck", 1796 | "id": "8e9e46b8e25649bd93236143e86d1362", 1797 | "image_ratio": 1.7777777777777777, 1798 | "image_width": 560, 1799 | "image_height": 315 1800 | }, 1801 | { 1802 | "rowIndex": 143, 1803 | "company_name": "株式会社スカイディスク", 1804 | "company_url": "https://skydisc.jp/", 1805 | "slide_urls": [ 1806 | "https://speakerdeck.com/uchimura191218/skydisc-hui-she-shuo-ming-zi-liao" 1807 | ], 1808 | "type": "speakerdeck", 1809 | "id": "5c1c75ec60fd4ab7902bed9c6ab4503d", 1810 | "image_ratio": 1.7772511848341233, 1811 | "image_width": 560, 1812 | "image_height": 315 1813 | }, 1814 | { 1815 | "rowIndex": 144, 1816 | "company_name": "株式会社スタメン", 1817 | "company_url": "https://stmn.co.jp/", 1818 | "slide_urls": [ 1819 | "https://speakerdeck.com/stmn/zhu-shi-hui-she-sutamenhui-she-shao-jie-cai-yong-zi-liao" 1820 | ], 1821 | "type": "speakerdeck", 1822 | "id": "fb8c996fd75043e38192a2f7f92bed94", 1823 | "image_ratio": 1.7777777777777777, 1824 | "image_width": 560, 1825 | "image_height": 315 1826 | }, 1827 | { 1828 | "rowIndex": 145, 1829 | "company_name": "株式会社ニーリー", 1830 | "company_url": "https://www.nealle.com/", 1831 | "slide_urls": [ 1832 | "https://speakerdeck.com/nealle/nealle-company-deck-36cf563d-0226-4864-a467-fa55c77cdf71" 1833 | ], 1834 | "type": "speakerdeck", 1835 | "id": "cb2f61f502b14366b930d7c6bd03f314", 1836 | "image_ratio": 1.7777777777777777, 1837 | "image_width": 560, 1838 | "image_height": 315 1839 | }, 1840 | { 1841 | "rowIndex": 146, 1842 | "company_name": "株式会社CARTA HOLDINGS", 1843 | "company_url": "https://cartaholdings.co.jp/", 1844 | "slide_urls": [ 1845 | "https://speakerdeck.com/carta_engineering/carta-guide-for-engineers" 1846 | ], 1847 | "type": "speakerdeck", 1848 | "id": "b9edcff84a5f458ea4596c2b38722d22", 1849 | "image_ratio": 1.7777777777777777, 1850 | "image_width": 560, 1851 | "image_height": 315 1852 | }, 1853 | { 1854 | "type": "other", 1855 | "rowIndex": 147, 1856 | "company_name": "株式会社ゆめみ", 1857 | "company_url": "https://www.yumemi.co.jp/", 1858 | "slide_urls": [ 1859 | "https://assets.super.so/df290f98-2de3-4caa-9480-2e9e2082cb4f/files/e825dfee-af87-497b-a1ed-7e0e52761788.pdf" 1860 | ] 1861 | }, 1862 | { 1863 | "rowIndex": 148, 1864 | "company_name": "オイシックス・ラ・大地株式会社", 1865 | "company_url": "https://www.oisixradaichi.co.jp/", 1866 | "slide_urls": [ 1867 | "https://speakerdeck.com/ordhr/oisixradaichi-20231010" 1868 | ], 1869 | "type": "speakerdeck", 1870 | "id": "cc96d932f87a41b5a18a6f9b5b3f6f58", 1871 | "image_ratio": 1.7772511848341233, 1872 | "image_width": 560, 1873 | "image_height": 315 1874 | }, 1875 | { 1876 | "rowIndex": 149, 1877 | "company_name": "Chatwork株式会社", 1878 | "company_url": "https://corp.chatwork.com/ja/", 1879 | "slide_urls": [ 1880 | "https://speakerdeck.com/chatwork_hr/chatwork" 1881 | ], 1882 | "type": "speakerdeck", 1883 | "id": "14c8891581624369ae5c3e86e70899cc", 1884 | "image_ratio": 1.7772511848341233, 1885 | "image_width": 560, 1886 | "image_height": 315 1887 | }, 1888 | { 1889 | "type": "slideshare", 1890 | "rowIndex": 150, 1891 | "company_name": "VideoTouch株式会社", 1892 | "company_url": "https://videotouch.co.jp/", 1893 | "slide_urls": [ 1894 | "https://www.slideshare.net/TakenoriTauchi/ver31pdf" 1895 | ] 1896 | }, 1897 | { 1898 | "rowIndex": 151, 1899 | "company_name": "株式会社Azit", 1900 | "company_url": "https://azit.co.jp/", 1901 | "slide_urls": [ 1902 | "https://speakerdeck.com/azit/azit-company-deck" 1903 | ], 1904 | "type": "speakerdeck", 1905 | "id": "277e7ac7b6c14786afc077516087c727", 1906 | "image_ratio": 1.7777777777777777, 1907 | "image_width": 560, 1908 | "image_height": 315 1909 | }, 1910 | { 1911 | "rowIndex": 152, 1912 | "company_name": "Beatrust 株式会社", 1913 | "company_url": "https://corp.beatrust.com/corporate", 1914 | "slide_urls": [ 1915 | "https://speakerdeck.com/beatrust/we-are-hiring" 1916 | ], 1917 | "type": "speakerdeck", 1918 | "id": "73d226d9cf114cbf8ac16dd73cd6075b", 1919 | "image_ratio": 1.7772511848341233, 1920 | "image_width": 560, 1921 | "image_height": 315 1922 | }, 1923 | { 1924 | "type": "other", 1925 | "rowIndex": 153, 1926 | "company_name": "株式会社フライル", 1927 | "company_url": "https://corp.flyle.io/", 1928 | "slide_urls": [ 1929 | "https://www.canva.com/design/DAFRnFiK3d4/view" 1930 | ] 1931 | }, 1932 | { 1933 | "rowIndex": 154, 1934 | "company_name": "MOSH株式会社", 1935 | "company_url": "https://corp.mosh.jp/", 1936 | "slide_urls": [ 1937 | "https://speakerdeck.com/mosh_inc/company-profile-a11cf3c4-075a-42f6-86ed-4b2ba5645eaa" 1938 | ], 1939 | "type": "speakerdeck", 1940 | "id": "740a73fbd5cc4ddd9b635817a66c875a", 1941 | "image_ratio": 1.3333333333333333, 1942 | "image_width": 560, 1943 | "image_height": 420 1944 | }, 1945 | { 1946 | "rowIndex": 155, 1947 | "company_name": "polyfit株式会社", 1948 | "company_url": "https://www.polyfit.jp/", 1949 | "slide_urls": [ 1950 | "https://speakerdeck.com/satoshiojsx/we-are-hiring" 1951 | ], 1952 | "type": "speakerdeck", 1953 | "id": "b59fd8f581954df192b2c879d36f978a", 1954 | "image_ratio": 1.7777777777777777, 1955 | "image_width": 560, 1956 | "image_height": 315 1957 | }, 1958 | { 1959 | "rowIndex": 156, 1960 | "company_name": "HeaR株式会社", 1961 | "company_url": "https://www.hear.co.jp/", 1962 | "slide_urls": [ 1963 | "https://speakerdeck.com/hear/company-profile" 1964 | ], 1965 | "type": "speakerdeck", 1966 | "id": "62babefd4ef44d588e0deea027cf2230", 1967 | "image_ratio": 1.7777777777777777, 1968 | "image_width": 560, 1969 | "image_height": 315 1970 | }, 1971 | { 1972 | "rowIndex": 157, 1973 | "company_name": "Micoworks株式会社", 1974 | "company_url": "https://www.micoworks.jp/", 1975 | "slide_urls": [ 1976 | "https://speakerdeck.com/micoworks/micoworkszhu-shi-hui-she-cai-yong-deck" 1977 | ], 1978 | "type": "speakerdeck", 1979 | "id": "3b224fb9e1f146d69808d3c1f2fbd27b", 1980 | "image_ratio": 1.7777777777777777, 1981 | "image_width": 560, 1982 | "image_height": 315 1983 | }, 1984 | { 1985 | "rowIndex": 158, 1986 | "company_name": "シンプルフォーム株式会社", 1987 | "company_url": "https://www.simpleform.co.jp/", 1988 | "slide_urls": [ 1989 | "https://speakerdeck.com/simpleform/simpleformhui-she-shuo-ming-zi-liao" 1990 | ], 1991 | "type": "speakerdeck", 1992 | "id": "9e701daba2404b49853d8b267341b3d8", 1993 | "image_ratio": 1.7777777777777777, 1994 | "image_width": 560, 1995 | "image_height": 315 1996 | }, 1997 | { 1998 | "rowIndex": 159, 1999 | "company_name": "株式会社WiseVine", 2000 | "company_url": "https://corp.wise-vine.com/", 2001 | "slide_urls": [ 2002 | "https://speakerdeck.com/yukinomura/wisevinehui-she-shuo-ming-zi-liao" 2003 | ], 2004 | "type": "speakerdeck", 2005 | "id": "c61a559991df4187b77682d32b980a7b", 2006 | "image_ratio": 1.7772511848341233, 2007 | "image_width": 560, 2008 | "image_height": 315 2009 | }, 2010 | { 2011 | "rowIndex": 160, 2012 | "company_name": "株式会社NEXERA", 2013 | "company_url": "https://corp.nexera.jp/", 2014 | "slide_urls": [ 2015 | "https://speakerdeck.com/nexera/nexera-inc-company-deck-07780642-ddc5-4e48-987f-19fbbe76d264" 2016 | ], 2017 | "type": "speakerdeck", 2018 | "id": "3c2372e2daf6440d9f2e1e0c350818f5", 2019 | "image_ratio": 1.7810760667903525, 2020 | "image_width": 560, 2021 | "image_height": 314 2022 | }, 2023 | { 2024 | "rowIndex": 161, 2025 | "company_name": "newmo株式会社", 2026 | "company_url": "https://newmo.me/", 2027 | "slide_urls": [ 2028 | "https://speakerdeck.com/newmo/join-our-team" 2029 | ], 2030 | "type": "speakerdeck", 2031 | "id": "02a08a1fa9754d64a35f62825e9305a2", 2032 | "image_ratio": 1.7772511848341233, 2033 | "image_width": 560, 2034 | "image_height": 315 2035 | }, 2036 | { 2037 | "rowIndex": 162, 2038 | "company_name": "合同会社ロケットボーイズ", 2039 | "company_url": "https://rocket-boys.co.jp/", 2040 | "slide_urls": [ 2041 | "https://speakerdeck.com/boyst/roketutoboizuying-ye-zi-liao" 2042 | ], 2043 | "type": "speakerdeck", 2044 | "id": "8bbd4b70dad8423891cd7b3ab8b23596", 2045 | "image_ratio": 1.7777777777777777, 2046 | "image_width": 560, 2047 | "image_height": 315 2048 | }, 2049 | { 2050 | "rowIndex": 163, 2051 | "company_name": "株式会社ギフトモール", 2052 | "company_url": "https://giftmallcorp.jp/", 2053 | "slide_urls": [ 2054 | "https://speakerdeck.com/luchegroup/giftmall-company-deck" 2055 | ], 2056 | "type": "speakerdeck", 2057 | "id": "b87f327b3af94344a5630183212b5595", 2058 | "image_ratio": 1.7772511848341233, 2059 | "image_width": 560, 2060 | "image_height": 315 2061 | }, 2062 | { 2063 | "type": "other", 2064 | "rowIndex": 164, 2065 | "company_name": "株式会社Timee", 2066 | "company_url": "https://corp.timee.co.jp/", 2067 | "slide_urls": [ 2068 | "https://docs.google.com/presentation/d/e/2PACX-1vTT_ntj1TvliankKG9T732mrVWVxFCqBddZ7EH311uPQVj40uR2L-jUw1nDKNJzs5dkF41VeQW6IraM/embed" 2069 | ] 2070 | }, 2071 | { 2072 | "rowIndex": 165, 2073 | "company_name": "Top10ERP.org", 2074 | "company_url": "https://www.top10erp.org", 2075 | "slide_urls": [ 2076 | "https://speakerdeck.com/redrh/top-erp" 2077 | ], 2078 | "type": "speakerdeck", 2079 | "id": "7e95fc37d1f34b108cf5f6a3eeb23f7d", 2080 | "image_ratio": 1.7777777777777777, 2081 | "image_width": 560, 2082 | "image_height": 315 2083 | } 2084 | ] -------------------------------------------------------------------------------- /pages/index.tsx: -------------------------------------------------------------------------------- 1 | import company from "./company.json"; 2 | import { ChangeEventHandler, useCallback, useEffect, useMemo, useState } from "react"; 3 | import { InView } from "react-intersection-observer"; 4 | import { FaSpeakerDeck, FaSlideshare } from "react-icons/fa"; 5 | import { BsFillFileEarmarkSpreadsheetFill } from "react-icons/bs"; 6 | import { AiFillCaretLeft, AiFillCaretRight, AiFillGithub } from "react-icons/ai"; 7 | 8 | import { useMediaQuery } from "react-responsive"; 9 | import Head from "next/head"; 10 | 11 | declare module "react" { 12 | interface StyleHTMLAttributes extends React.HTMLAttributes { 13 | jsx?: boolean; 14 | global?: boolean; 15 | } 16 | } 17 | type Company = (typeof company)[0] & { 18 | // default block 19 | displayMode?: "inline" | "block"; 20 | }; 21 | const Company = (props: Company) => { 22 | const displayMode = props.displayMode ?? "block"; 23 | return ( 24 | <> 25 | 47 |
58 |

59 | 65 | {props.company_name} 66 | 67 |

68 |

69 | {props.type === "speakerdeck" && ( 70 | 77 | Speakerdeck 78 | 79 | )} 80 | {props.type === "slideshare" && ( 81 | 88 | SlideShare 89 | 90 | )} 91 | {props.type === "other" && ( 92 | 99 | Slide 100 | 101 | )} 102 |

103 |
104 | 105 | ); 106 | }; 107 | export const getSlideImage = (props: { id: string; currentPage: number; type: "speakerdeck" | string }) => { 108 | if (props.type === "speakerdeck") { 109 | return `https://files.speakerdeck.com/presentations/${props.id}/slide_${props.currentPage}.jpg`; 110 | } else { 111 | return `https://company-introduction-jp.vercel.app/not-found-image.jpeg`; 112 | } 113 | }; 114 | type SlideProps = (typeof company)[0] & { currentPage: number }; 115 | const SpeakerDeckSlide = (props: SlideProps & { slideUrl: string; onLoad: () => void; onError: () => void }) => { 116 | return ( 117 | 124 | {""} 133 | 134 | ); 135 | }; 136 | // TODO: not implement 137 | const SlideShareSlide = (props: SlideProps & { slideUrl: string; onLoad: () => void; onError: () => void }) => { 138 | return ( 139 | 146 | {""} 155 | 156 | ); 157 | }; 158 | 159 | const EmbedSlide = (props: SlideProps) => { 160 | const [loadErrorPages, setLoadErrorPages] = useState([]); 161 | const onLoad = useCallback(() => {}, []); 162 | const onErrorPage = useCallback(() => { 163 | setLoadErrorPages((prevState) => prevState.concat(props.currentPage)); 164 | }, [props.currentPage]); 165 | const shouldShowLastPage = useMemo(() => { 166 | return loadErrorPages.includes(props.currentPage); 167 | }, [loadErrorPages, props.currentPage]); 168 | const slideUrl = useMemo(() => { 169 | if (props.currentPage === 0) { 170 | return props.slide_urls[0]; 171 | } 172 | if (props.type === "speakerdeck") { 173 | return `${props.slide_urls[0]}?slide=${props.currentPage + 1}`; // 1-index 174 | } else { 175 | return props.slide_urls[0]; 176 | } 177 | }, [props.currentPage, props.type, props.slide_urls]); 178 | const Slide = useMemo(() => { 179 | if (props.type === "speakerdeck") { 180 | return ( 181 | 199 | ); 200 | } else { 201 | return ; 202 | } 203 | }, [props, slideUrl, onLoad, onErrorPage]); 204 | if (props.type === "speakerdeck") { 205 | return ( 206 |
213 | 231 |
232 | ); 233 | } else { 234 | return ( 235 |
244 | 245 |
246 | ); 247 | } 248 | }; 249 | 250 | const Slide = (props: SlideProps) => { 251 | const [loadErrorPages, setLoadErrorPages] = useState([]); 252 | const onLoad = useCallback(() => {}, []); 253 | const onErrorPage = useCallback(() => { 254 | setLoadErrorPages((prevState) => prevState.concat(props.currentPage)); 255 | }, [props.currentPage]); 256 | const shouldShowLastPage = useMemo(() => { 257 | return loadErrorPages.includes(props.currentPage); 258 | }, [loadErrorPages, props.currentPage]); 259 | const slideUrl = useMemo(() => { 260 | if (props.currentPage === 0) { 261 | return props.slide_urls[0]; 262 | } 263 | if (props.type === "speakerdeck") { 264 | return `${props.slide_urls[0]}?slide=${props.currentPage + 1}`; // 1-index 265 | } else { 266 | return props.slide_urls[0]; 267 | } 268 | }, [props.currentPage, props.type, props.slide_urls]); 269 | const Slide = useMemo(() => { 270 | if (props.type === "speakerdeck") { 271 | return ; 272 | } else { 273 | return ; 274 | } 275 | }, [props, slideUrl, onLoad, onErrorPage]); 276 | return ( 277 | 278 | {({ inView, ref }) => { 279 | return ( 280 |
293 | {shouldShowLastPage ? : Slide} 294 |
295 | ); 296 | }} 297 |
298 | ); 299 | }; 300 | type ToggleProps = { 301 | items: { label: string; value: ModeType }[]; 302 | value: string; 303 | onChange: (value: ModeType) => void; 304 | }; 305 | const Toggle = (props: ToggleProps) => { 306 | const onChange: ChangeEventHandler = (event) => { 307 | props.onChange(event.target.value as ModeType); 308 | }; 309 | return ( 310 | <> 311 | 364 |
365 | {props.items.map((item) => { 366 | return ( 367 |
368 | 376 | 377 |
378 | ); 379 | })} 380 |
381 | 382 | ); 383 | }; 384 | 385 | type ModeType = "list" | "grid" | "embed_slide"; 386 | 387 | function HomePage() { 388 | const isMobile = useMediaQuery({ query: "(max-width: 600px)" }); 389 | const [currentPage, setCurrentPage] = useState(0); 390 | const [currentCompanyIndex, setCurrentCompanyIndex] = useState(0); 391 | const [mode, setMode] = useState("list"); 392 | useEffect(() => { 393 | if (isMobile) { 394 | setMode("grid"); 395 | } 396 | }, [isMobile]); 397 | const onClickNext = useCallback(() => { 398 | if (mode === "embed_slide") { 399 | setCurrentCompanyIndex((prevState) => (prevState < company.length - 1 ? prevState + 1 : 0)); 400 | } else { 401 | setCurrentPage((prevState) => prevState + 1); 402 | } 403 | }, [mode]); 404 | const onClickPrev = useCallback(() => { 405 | if (mode === "embed_slide") { 406 | setCurrentCompanyIndex((prevState) => (prevState > 0 ? prevState - 1 : company.length - 1)); 407 | } else { 408 | setCurrentPage((prevState) => (prevState > 0 ? prevState - 1 : 0)); 409 | } 410 | }, [mode]); 411 | useEffect(() => { 412 | const listener = function (event: KeyboardEvent) { 413 | if (event.key === "ArrowRight") { 414 | event.preventDefault(); 415 | onClickNext(); 416 | } else if (event.key === "ArrowLeft") { 417 | event.preventDefault(); 418 | onClickPrev(); 419 | } 420 | }; 421 | document.addEventListener("keydown", listener); 422 | return () => { 423 | document.removeEventListener("keydown", listener); 424 | }; 425 | }, [onClickPrev, onClickNext]); 426 | const onChangeMode = useCallback((value: ModeType) => { 427 | setMode(value); 428 | }, []); 429 | return ( 430 |
431 | 432 | 433 | 日本の会社紹介スライドのまとめ 434 | 438 | 439 | 440 | 441 | 442 | {/* New Feed */} 443 | 449 | 450 | 554 | {mode === "embed_slide" ? ( 555 |
556 | 557 | 558 |
559 | ) : ( 560 |
561 | {company.map((slide) => { 562 | if (mode === "list") { 563 | return ( 564 |
565 | 566 | 567 |
568 | ); 569 | } 570 | return ( 571 |
572 | 573 |
574 | ); 575 | })} 576 |
577 | )} 578 |
579 |
580 | 587 | {mode === "embed_slide" ? currentCompanyIndex : currentPage} 588 | 595 |
596 |
597 | 606 |
607 | 629 |
630 |
631 | ); 632 | } 633 | 634 | export default HomePage; 635 | -------------------------------------------------------------------------------- /pages/rss/new.tsx: -------------------------------------------------------------------------------- 1 | import { GetServerSidePropsContext } from "next"; 2 | import company from "../company.json"; 3 | import { Feed } from "feed"; 4 | import { getSlideImage } from "../index"; 5 | 6 | const escapeXML = (unsafe: string) => { 7 | return unsafe.replace(/[<>&'"]/g, (c) => { 8 | switch (c) { 9 | case "<": 10 | return "<"; 11 | case ">": 12 | return ">"; 13 | case "&": 14 | return "&"; 15 | case "'": 16 | return "'"; 17 | case '"': 18 | return """; 19 | } 20 | }); 21 | }; 22 | const generateNewCompanyFeed = () => { 23 | const latest100 = company.slice().reverse().slice(0, 100); 24 | const feed = new Feed({ 25 | title: "New - 日本の会社紹介スライドのまとめ", 26 | description: "日本の会社紹介スライドのまとめに新しく追加された会社のスライドです", 27 | id: "https://company-introduction-jp.vercel.app/rss/new", 28 | link: "https://company-introduction-jp.vercel.app/", 29 | image: "https://company-introduction-jp.vercel.app/ogp.jpeg", 30 | copyright: "https://company-introduction-jp.vercel.app/", 31 | updated: new Date(), 32 | generator: "https://company-introduction-jp.vercel.app/" 33 | }); 34 | for (const company of latest100) { 35 | const list = company.slide_urls 36 | .map((url, i) => { 37 | return `
  • ${escapeXML(company.company_name)}
  • `; 38 | }) 39 | .join(""); 40 | const companyLink = `${escapeXML(company.company_name)}の会社紹介スライド`; 41 | const slideImage = getSlideImage({ 42 | id: company.id, 43 | type: company.type, 44 | currentPage: 0 45 | }); 46 | const slideImageTag = slideImage.startsWith("https://") 47 | ? `スライド1ページ目` 48 | : ""; 49 | feed.addItem({ 50 | id: company.id, 51 | title: escapeXML(company.company_name), 52 | link: company.slide_urls[0], 53 | description: `${escapeXML(company.company_name)}の会社紹介スライド`, 54 | content: `${slideImageTag}
      ${list}

    ${companyLink}`, 55 | date: new Date() 56 | }); 57 | } 58 | return feed.rss2(); 59 | }; 60 | 61 | export const getServerSideProps = async ({ res }: GetServerSidePropsContext) => { 62 | const xml = generateNewCompanyFeed(); 63 | res.statusCode = 200; 64 | // 24時間キャッシュする 65 | res.setHeader("Cache-Control", "s-maxage=86400, stale-while-revalidate"); 66 | res.setHeader("Content-Type", "text/xml"); 67 | res.end(xml); 68 | return { 69 | props: {} 70 | }; 71 | }; 72 | 73 | const Page = () => null; 74 | export default Page; 75 | -------------------------------------------------------------------------------- /pages/styles.css: -------------------------------------------------------------------------------- 1 | html, 2 | body { 3 | margin: 0; 4 | padding: 0; 5 | box-sizing: border-box; 6 | } 7 | -------------------------------------------------------------------------------- /public/not-found-image.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azu/company-introduction-jp/fa043d67274e1b02756320ec1a28e8be1fdf714e/public/not-found-image.jpeg -------------------------------------------------------------------------------- /public/ogp.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azu/company-introduction-jp/fa043d67274e1b02756320ec1a28e8be1fdf714e/public/ogp.jpeg -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Basic Options */ 4 | "module": "ESNext", 5 | "moduleResolution": "node", 6 | "esModuleInterop": true, 7 | "newLine": "LF", 8 | "outDir": "./lib/", 9 | "target": "ES2018", 10 | "sourceMap": true, 11 | "declaration": true, 12 | "jsx": "preserve", 13 | "lib": [ 14 | "esnext", 15 | "dom" 16 | ], 17 | /* Strict Type-Checking Options */ 18 | "strict": true, 19 | /* Additional Checks */ 20 | /* Report errors on unused locals. */ 21 | "noUnusedLocals": true, 22 | /* Report errors on unused parameters. */ 23 | "noUnusedParameters": true, 24 | /* Report error when not all code paths in function return a value. */ 25 | "noImplicitReturns": true, 26 | /* Report errors for fallthrough cases in switch statement. */ 27 | "noFallthroughCasesInSwitch": true, 28 | "allowJs": true, 29 | "skipLibCheck": true, 30 | "forceConsistentCasingInFileNames": true, 31 | "noEmit": true, 32 | "resolveJsonModule": true, 33 | "isolatedModules": true, 34 | "incremental": true 35 | }, 36 | "include": [ 37 | "src/**/*" 38 | ], 39 | "exclude": [ 40 | ".git", 41 | "node_modules" 42 | ] 43 | } 44 | -------------------------------------------------------------------------------- /updater/README.md: -------------------------------------------------------------------------------- 1 | # Usage 2 | 3 | Load `SHEETON_API_KEY` as env 4 | 5 | op run --env-file=.env -- yarn run update-data 6 | -------------------------------------------------------------------------------- /updater/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "company-introduction-jp", 4 | "version": "1.0.0", 5 | "description": "updater", 6 | "homepage": "https://github.com/azu/company-introduction-jp/tree/master/", 7 | "bugs": { 8 | "url": "https://github.com/azu/company-introduction-jp/issues" 9 | }, 10 | "repository": { 11 | "type": "git", 12 | "url": "https://github.com/azu/company-introduction-jp.git" 13 | }, 14 | "license": "MIT", 15 | "author": "azu", 16 | "type": "module", 17 | "scripts": { 18 | "update-data": "node --import=tsimp/import src/update-data.ts", 19 | "fetch-spreadsheet": "node --import=tsimp/import src/fetch-spreadsheet.ts", 20 | "merge-speakerdeck": "node --import=tsimp/import src/merge-speackerdeck.ts", 21 | "format": "prettier --write \"**/*.{js,jsx,ts,tsx,css}\"" 22 | }, 23 | "prettier": { 24 | "printWidth": 120, 25 | "singleQuote": false, 26 | "tabWidth": 4, 27 | "trailingComma": "none" 28 | }, 29 | "devDependencies": { 30 | "@types/jsdom": "^21.1.0", 31 | "@types/mocha": "^10.0.1", 32 | "@types/node": "^18.15.3", 33 | "@types/react": "^18.0.28", 34 | "@types/react-dom": "^18.0.11", 35 | "lint-staged": "^13.2.0", 36 | "mocha": "^10.2.0", 37 | "prettier": "^2.8.4", 38 | "rimraf": "^4.4.0", 39 | "tsimp": "^2.0.11", 40 | "typescript": "^5.5.2" 41 | }, 42 | "dependencies": { 43 | "jsdom": "^21.1.1", 44 | "p-all": "^4.0.0" 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /updater/src/fetch-spreadsheet.ts: -------------------------------------------------------------------------------- 1 | export type Company = { 2 | rowIndex: number; 3 | company_name: string; 4 | company_url: string; 5 | slide_urls: string[]; 6 | }; 7 | type RawCompany = { 8 | rowIndex: number; 9 | 会社名: string; 10 | 会社URL: string; 11 | 紹介URL: string; 12 | }; 13 | const assert = (condition: boolean, message: string, debug: unknown) => { 14 | if (!condition) { 15 | console.error("Assertion failed", message, debug); 16 | throw new Error(message); 17 | } 18 | }; 19 | const formatCompany = (rawCompany: RawCompany): Company => { 20 | assert(!!rawCompany.会社名, "会社名が空です", rawCompany); 21 | assert(!!rawCompany.会社URL, "会社URLが空です", rawCompany); 22 | assert(!!rawCompany.紹介URL, "紹介URLが空です", rawCompany); 23 | return { 24 | rowIndex: rawCompany.rowIndex, 25 | company_name: rawCompany.会社名, 26 | company_url: rawCompany.会社URL, 27 | slide_urls: rawCompany.紹介URL.split("\n").filter((url) => url.startsWith("http")) 28 | }; 29 | }; 30 | export const fetchSpreadsheet = async (): Promise => { 31 | const API_ENDPOINT = `https://sheets.googleapis.com/v4/spreadsheets/1y1pqQhBIV_uGCp-AzxSQwLDOV4v_tIPobnQJmFMJVDc/values/会社一覧`; 32 | const GOOGLE_SPREADSHEET_API_KEY = process.env.GOOGLE_SPREADSHEET_API_KEY; 33 | const url = API_ENDPOINT + `?key=${GOOGLE_SPREADSHEET_API_KEY}`; 34 | console.info("[fetchSpreadsheet] fetch", url); 35 | const results = await fetch(url).catch(() => { 36 | // URL includes credential, so we should not log it. 37 | return Promise.reject(new Error("fetch error")); 38 | }); 39 | if (!results.ok) { 40 | return Promise.reject(new Error(`fetch error result ok false: ${results.status}`)); 41 | } 42 | const resultsJson = (await results.json()) as { 43 | values: { 44 | 0: string; 45 | 1: string; 46 | 2: string; 47 | }[]; 48 | }; 49 | console.log("[fetchSpreadsheet] fetched", resultsJson); 50 | const resultValuesWithoutHeader = resultsJson.values.slice(1); 51 | const values = resultValuesWithoutHeader.filter((row) => { 52 | return Boolean(row[0]) && Boolean(row[1]) && Boolean(row[2]); 53 | }); 54 | console.info("[fetchSpreadsheet] fetched total rows", { 55 | total: values.length, 56 | rawTotal: resultValuesWithoutHeader.length 57 | }); 58 | return values.map((row, index) => { 59 | return formatCompany({ 60 | rowIndex: index + 2, 61 | 会社名: row[0], 62 | 会社URL: row[1], 63 | 紹介URL: row[2] 64 | }); 65 | }); 66 | }; 67 | -------------------------------------------------------------------------------- /updater/src/merge-speakerdeck.ts: -------------------------------------------------------------------------------- 1 | import { JSDOM } from "jsdom"; 2 | 3 | export type SlideItem = { 4 | type: "slideshare" | "speakerdeck"; 5 | id: string; 6 | image_ratio: number; 7 | image_width: number; 8 | image_height: number; 9 | }; 10 | export const fetchSpeakerDeck = async (slideUrl: string): Promise => { 11 | console.log("[fetchSpeakerDeck] fetch", slideUrl); 12 | const dom = await JSDOM.fromURL(slideUrl); 13 | const element = dom.window.document.querySelector(".speakerdeck-embed") as HTMLDivElement; 14 | if (!element) { 15 | console.log("[fetchSpeakerDeck] element is not found", slideUrl); 16 | return; 17 | } 18 | const name = element.dataset.name; 19 | const id = element.dataset.id; 20 | const ratio = Number(element.dataset.ratio); 21 | if (!id || !ratio || !name) { 22 | console.log("[fetchSpeakerDeck] missing required parameters", { name, id, ratio }); 23 | return; 24 | } 25 | const width = 560; 26 | const height = Math.trunc(width / ratio); 27 | if (!Number.isInteger(width) || !Number.isInteger(height)) { 28 | console.log("[fetchSpeakerDeck] width or height is invalid", { width, height }); 29 | return; 30 | } 31 | return { 32 | type: "speakerdeck", 33 | id, 34 | image_ratio: ratio, 35 | image_width: width, 36 | image_height: height 37 | }; 38 | }; 39 | -------------------------------------------------------------------------------- /updater/src/update-data.ts: -------------------------------------------------------------------------------- 1 | import pAll from "p-all"; 2 | import * as fs from "fs/promises"; 3 | import { Company, fetchSpreadsheet } from "./fetch-spreadsheet.js"; 4 | import { fetchSpeakerDeck, SlideItem } from "./merge-speakerdeck.js"; 5 | import { fileURLToPath } from "url"; 6 | import path from "path"; 7 | 8 | const __dirname = path.dirname(fileURLToPath(import.meta.url)); 9 | const OUTPUT_PATH = path.join(__dirname, "../../pages/company.json"); 10 | type Result = SlideItem & Company; 11 | const errorLogs: string[] = []; 12 | const log = (message: string) => { 13 | console.log(message); 14 | errorLogs.push(message); 15 | }; 16 | try { 17 | const json = await fetchSpreadsheet(); 18 | const actions = json 19 | .filter((item) => { 20 | if (!item.company_url.startsWith("http")) { 21 | return false; 22 | } 23 | if (!item.slide_urls[0].startsWith("https")) { 24 | return false; 25 | } 26 | return true; 27 | }) 28 | .map((item) => { 29 | return async () => { 30 | const slideUrl = item.slide_urls[0]; 31 | if (slideUrl.startsWith("https://www.slideshare.net/")) { 32 | return { 33 | type: "slideshare", 34 | ...item 35 | }; 36 | } 37 | if (slideUrl.startsWith("https://speakerdeck.com/")) { 38 | const speakerDeck = await fetchSpeakerDeck(slideUrl).catch((error) => { 39 | log("[update-data] failed to load slide details: " + slideUrl); 40 | return Promise.reject(error); 41 | }); 42 | return { 43 | ...item, 44 | ...speakerDeck 45 | }; 46 | } 47 | return { 48 | type: "other", 49 | ...item 50 | }; 51 | }; 52 | }); 53 | const results = (await pAll(actions, { 54 | concurrency: 4 55 | })) as Result[]; 56 | 57 | await fs.writeFile(OUTPUT_PATH, JSON.stringify(results, null, 4), "utf8"); 58 | } catch (error) { 59 | console.error("[update-data] failed to fetch slide details", error); 60 | // if GITHUB_ACTION=true, then output GITHUB_SUMMARY.md 61 | if (process.env.GITHUB_ACTION) { 62 | console.debug("[update-data] GITHUB_ACTION=true, output GITHUB_SUMMARY.md"); 63 | await fs.writeFile( 64 | path.join(__dirname, "../../GITHUB_SUMMARY.md"), 65 | `## Error 66 | 67 | ${error} 68 | 69 | ## Logs 70 | 71 | ${errorLogs.join("\n\n")} 72 | 73 | `, 74 | "utf8" 75 | ); 76 | } 77 | process.exit(1); 78 | } 79 | -------------------------------------------------------------------------------- /updater/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | }, 5 | "include": [ 6 | "src/**/*" 7 | ], 8 | "exclude": [ 9 | ".git", 10 | "node_modules" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /updater/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@isaacs/cached@^1.0.1": 6 | version "1.0.1" 7 | resolved "https://registry.yarnpkg.com/@isaacs/cached/-/cached-1.0.1.tgz#b6ad07c346f843fb3f117a0f3401ea8b7f7d4eea" 8 | integrity sha512-7kGcJ9Hc1f4qpTApWz3swxbF9Qv1NF/GxuPtXeTptbsgvJIoufSd0h854Nq/2bw80F5C1onsFgEI05l+q0e4vw== 9 | dependencies: 10 | "@isaacs/catcher" "^1.0.0" 11 | 12 | "@isaacs/catcher@^1.0.0", "@isaacs/catcher@^1.0.4": 13 | version "1.0.4" 14 | resolved "https://registry.yarnpkg.com/@isaacs/catcher/-/catcher-1.0.4.tgz#fa5aa6fa43d255b9fe32e1e1f40db6623de2c80d" 15 | integrity sha512-g2klMwbnguClWNnCeQ1zYaDJsvPbIbnjdJPDE0z09MqoejJDZSLK5vIKiClq2Bkg5ubuI8vaN6wfIUi5GYzMVA== 16 | 17 | "@isaacs/cliui@^8.0.2": 18 | version "8.0.2" 19 | resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" 20 | integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== 21 | dependencies: 22 | string-width "^5.1.2" 23 | string-width-cjs "npm:string-width@^4.2.0" 24 | strip-ansi "^7.0.1" 25 | strip-ansi-cjs "npm:strip-ansi@^6.0.1" 26 | wrap-ansi "^8.1.0" 27 | wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" 28 | 29 | "@pkgjs/parseargs@^0.11.0": 30 | version "0.11.0" 31 | resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" 32 | integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== 33 | 34 | "@tootallnate/once@2": 35 | version "2.0.0" 36 | resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" 37 | integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== 38 | 39 | "@types/jsdom@^21.1.0": 40 | version "21.1.0" 41 | resolved "https://registry.yarnpkg.com/@types/jsdom/-/jsdom-21.1.0.tgz#219f15e3370da3f85d18fe02ae86bda7ff66104a" 42 | integrity sha512-leWreJOdnuIxq9Y70tBVm/bvTuh31DSlF/r4l7Cfi4uhVQqLHD0Q4v301GMisEMwwbMgF7ZKxuZ+Jbd4NcdmRw== 43 | dependencies: 44 | "@types/node" "*" 45 | "@types/tough-cookie" "*" 46 | parse5 "^7.0.0" 47 | 48 | "@types/mocha@^10.0.1": 49 | version "10.0.1" 50 | resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.1.tgz#2f4f65bb08bc368ac39c96da7b2f09140b26851b" 51 | integrity sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q== 52 | 53 | "@types/node@*": 54 | version "16.10.3" 55 | resolved "https://registry.yarnpkg.com/@types/node/-/node-16.10.3.tgz#7a8f2838603ea314d1d22bb3171d899e15c57bd5" 56 | integrity sha512-ho3Ruq+fFnBrZhUYI46n/bV2GjwzSkwuT4dTf0GkuNFmnb8nq4ny2z9JEVemFi6bdEJanHLlYfy9c6FN9B9McQ== 57 | 58 | "@types/node@^18.15.3": 59 | version "18.15.3" 60 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.3.tgz#f0b991c32cfc6a4e7f3399d6cb4b8cf9a0315014" 61 | integrity sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw== 62 | 63 | "@types/prop-types@*": 64 | version "15.7.4" 65 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11" 66 | integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ== 67 | 68 | "@types/react-dom@^18.0.11": 69 | version "18.0.11" 70 | resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.11.tgz#321351c1459bc9ca3d216aefc8a167beec334e33" 71 | integrity sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw== 72 | dependencies: 73 | "@types/react" "*" 74 | 75 | "@types/react@*": 76 | version "17.0.27" 77 | resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.27.tgz#6498ed9b3ad117e818deb5525fa1946c09f2e0e6" 78 | integrity sha512-zgiJwtsggVGtr53MndV7jfiUESTqrbxOcBvwfe6KS/9bzaVPCTDieTWnFNecVNx6EAaapg5xsLLWFfHHR437AA== 79 | dependencies: 80 | "@types/prop-types" "*" 81 | "@types/scheduler" "*" 82 | csstype "^3.0.2" 83 | 84 | "@types/react@^18.0.28": 85 | version "18.0.28" 86 | resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.28.tgz#accaeb8b86f4908057ad629a26635fe641480065" 87 | integrity sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew== 88 | dependencies: 89 | "@types/prop-types" "*" 90 | "@types/scheduler" "*" 91 | csstype "^3.0.2" 92 | 93 | "@types/scheduler@*": 94 | version "0.16.2" 95 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" 96 | integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== 97 | 98 | "@types/tough-cookie@*": 99 | version "4.0.1" 100 | resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.1.tgz#8f80dd965ad81f3e1bc26d6f5c727e132721ff40" 101 | integrity sha512-Y0K95ThC3esLEYD6ZuqNek29lNX2EM1qxV8y2FTLUB0ff5wWrk7az+mLrnNFUnaXcgKye22+sFBRXOgpPILZNg== 102 | 103 | abab@^2.0.6: 104 | version "2.0.6" 105 | resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" 106 | integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== 107 | 108 | acorn-globals@^7.0.0: 109 | version "7.0.1" 110 | resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-7.0.1.tgz#0dbf05c44fa7c94332914c02066d5beff62c40c3" 111 | integrity sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q== 112 | dependencies: 113 | acorn "^8.1.0" 114 | acorn-walk "^8.0.2" 115 | 116 | acorn-walk@^8.0.2: 117 | version "8.2.0" 118 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" 119 | integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== 120 | 121 | acorn@^8.1.0, acorn@^8.8.2: 122 | version "8.8.2" 123 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" 124 | integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== 125 | 126 | agent-base@6: 127 | version "6.0.2" 128 | resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" 129 | integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== 130 | dependencies: 131 | debug "4" 132 | 133 | aggregate-error@^3.0.0: 134 | version "3.1.0" 135 | resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" 136 | integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== 137 | dependencies: 138 | clean-stack "^2.0.0" 139 | indent-string "^4.0.0" 140 | 141 | aggregate-error@^4.0.0: 142 | version "4.0.0" 143 | resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-4.0.0.tgz#83dbdb53a0d500721281d22e19eee9bc352a89cd" 144 | integrity sha512-8DGp7zUt1E9k0NE2q4jlXHk+V3ORErmwolEdRz9iV+LKJ40WhMHh92cxAvhqV2I+zEn/gotIoqoMs0NjF3xofg== 145 | dependencies: 146 | clean-stack "^4.0.0" 147 | indent-string "^5.0.0" 148 | 149 | ansi-colors@4.1.1: 150 | version "4.1.1" 151 | resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" 152 | integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== 153 | 154 | ansi-escapes@^4.3.0: 155 | version "4.3.2" 156 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" 157 | integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== 158 | dependencies: 159 | type-fest "^0.21.3" 160 | 161 | ansi-regex@^5.0.1: 162 | version "5.0.1" 163 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 164 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 165 | 166 | ansi-regex@^6.0.1: 167 | version "6.0.1" 168 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" 169 | integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== 170 | 171 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 172 | version "4.3.0" 173 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 174 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 175 | dependencies: 176 | color-convert "^2.0.1" 177 | 178 | ansi-styles@^6.0.0, ansi-styles@^6.1.0: 179 | version "6.2.1" 180 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" 181 | integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== 182 | 183 | anymatch@~3.1.2: 184 | version "3.1.2" 185 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" 186 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 187 | dependencies: 188 | normalize-path "^3.0.0" 189 | picomatch "^2.0.4" 190 | 191 | argparse@^2.0.1: 192 | version "2.0.1" 193 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" 194 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== 195 | 196 | astral-regex@^2.0.0: 197 | version "2.0.0" 198 | resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" 199 | integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== 200 | 201 | asynckit@^0.4.0: 202 | version "0.4.0" 203 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 204 | integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= 205 | 206 | balanced-match@^1.0.0: 207 | version "1.0.2" 208 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 209 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 210 | 211 | binary-extensions@^2.0.0: 212 | version "2.2.0" 213 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 214 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 215 | 216 | brace-expansion@^1.1.7: 217 | version "1.1.11" 218 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 219 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 220 | dependencies: 221 | balanced-match "^1.0.0" 222 | concat-map "0.0.1" 223 | 224 | brace-expansion@^2.0.1: 225 | version "2.0.1" 226 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" 227 | integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== 228 | dependencies: 229 | balanced-match "^1.0.0" 230 | 231 | braces@^3.0.2, braces@~3.0.2: 232 | version "3.0.2" 233 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 234 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 235 | dependencies: 236 | fill-range "^7.0.1" 237 | 238 | browser-stdout@1.3.1: 239 | version "1.3.1" 240 | resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" 241 | integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== 242 | 243 | camelcase@^6.0.0: 244 | version "6.2.0" 245 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" 246 | integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== 247 | 248 | chalk@5.2.0: 249 | version "5.2.0" 250 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.2.0.tgz#249623b7d66869c673699fb66d65723e54dfcfb3" 251 | integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA== 252 | 253 | chalk@^4.1.0: 254 | version "4.1.2" 255 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 256 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 257 | dependencies: 258 | ansi-styles "^4.1.0" 259 | supports-color "^7.1.0" 260 | 261 | chokidar@3.5.3: 262 | version "3.5.3" 263 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" 264 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== 265 | dependencies: 266 | anymatch "~3.1.2" 267 | braces "~3.0.2" 268 | glob-parent "~5.1.2" 269 | is-binary-path "~2.1.0" 270 | is-glob "~4.0.1" 271 | normalize-path "~3.0.0" 272 | readdirp "~3.6.0" 273 | optionalDependencies: 274 | fsevents "~2.3.2" 275 | 276 | clean-stack@^2.0.0: 277 | version "2.2.0" 278 | resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" 279 | integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== 280 | 281 | clean-stack@^4.0.0: 282 | version "4.1.0" 283 | resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-4.1.0.tgz#5ce5a2fd19a12aecdce8570daefddb7ac94b6b4e" 284 | integrity sha512-dxXQYI7mfQVcaF12s6sjNFoZ6ZPDQuBBLp3QJ5156k9EvUFClUoZ11fo8HnLQO241DDVntHEug8MOuFO5PSfRg== 285 | dependencies: 286 | escape-string-regexp "5.0.0" 287 | 288 | cli-cursor@^3.1.0: 289 | version "3.1.0" 290 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" 291 | integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== 292 | dependencies: 293 | restore-cursor "^3.1.0" 294 | 295 | cli-truncate@^2.1.0: 296 | version "2.1.0" 297 | resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" 298 | integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== 299 | dependencies: 300 | slice-ansi "^3.0.0" 301 | string-width "^4.2.0" 302 | 303 | cli-truncate@^3.1.0: 304 | version "3.1.0" 305 | resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389" 306 | integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA== 307 | dependencies: 308 | slice-ansi "^5.0.0" 309 | string-width "^5.0.0" 310 | 311 | cliui@^7.0.2: 312 | version "7.0.4" 313 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" 314 | integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== 315 | dependencies: 316 | string-width "^4.2.0" 317 | strip-ansi "^6.0.0" 318 | wrap-ansi "^7.0.0" 319 | 320 | color-convert@^2.0.1: 321 | version "2.0.1" 322 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 323 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 324 | dependencies: 325 | color-name "~1.1.4" 326 | 327 | color-name@~1.1.4: 328 | version "1.1.4" 329 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 330 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 331 | 332 | colorette@^2.0.19: 333 | version "2.0.19" 334 | resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" 335 | integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== 336 | 337 | combined-stream@^1.0.8: 338 | version "1.0.8" 339 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 340 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 341 | dependencies: 342 | delayed-stream "~1.0.0" 343 | 344 | commander@^10.0.0: 345 | version "10.0.0" 346 | resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.0.tgz#71797971162cd3cf65f0b9d24eb28f8d303acdf1" 347 | integrity sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA== 348 | 349 | concat-map@0.0.1: 350 | version "0.0.1" 351 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 352 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 353 | 354 | cross-spawn@^7.0.0, cross-spawn@^7.0.3: 355 | version "7.0.3" 356 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 357 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 358 | dependencies: 359 | path-key "^3.1.0" 360 | shebang-command "^2.0.0" 361 | which "^2.0.1" 362 | 363 | cssstyle@^3.0.0: 364 | version "3.0.0" 365 | resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-3.0.0.tgz#17ca9c87d26eac764bb8cfd00583cff21ce0277a" 366 | integrity sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg== 367 | dependencies: 368 | rrweb-cssom "^0.6.0" 369 | 370 | csstype@^3.0.2: 371 | version "3.0.9" 372 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.9.tgz#6410af31b26bd0520933d02cbc64fce9ce3fbf0b" 373 | integrity sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw== 374 | 375 | data-urls@^4.0.0: 376 | version "4.0.0" 377 | resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-4.0.0.tgz#333a454eca6f9a5b7b0f1013ff89074c3f522dd4" 378 | integrity sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g== 379 | dependencies: 380 | abab "^2.0.6" 381 | whatwg-mimetype "^3.0.0" 382 | whatwg-url "^12.0.0" 383 | 384 | debug@4: 385 | version "4.3.2" 386 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" 387 | integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== 388 | dependencies: 389 | ms "2.1.2" 390 | 391 | debug@4.3.4, debug@^4.3.4: 392 | version "4.3.4" 393 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 394 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 395 | dependencies: 396 | ms "2.1.2" 397 | 398 | decamelize@^4.0.0: 399 | version "4.0.0" 400 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" 401 | integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== 402 | 403 | decimal.js@^10.4.3: 404 | version "10.4.3" 405 | resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" 406 | integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== 407 | 408 | deep-is@~0.1.3: 409 | version "0.1.4" 410 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" 411 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== 412 | 413 | delayed-stream@~1.0.0: 414 | version "1.0.0" 415 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 416 | integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= 417 | 418 | diff@5.0.0: 419 | version "5.0.0" 420 | resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" 421 | integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== 422 | 423 | domexception@^4.0.0: 424 | version "4.0.0" 425 | resolved "https://registry.yarnpkg.com/domexception/-/domexception-4.0.0.tgz#4ad1be56ccadc86fc76d033353999a8037d03673" 426 | integrity sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw== 427 | dependencies: 428 | webidl-conversions "^7.0.0" 429 | 430 | eastasianwidth@^0.2.0: 431 | version "0.2.0" 432 | resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" 433 | integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== 434 | 435 | emoji-regex@^8.0.0: 436 | version "8.0.0" 437 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 438 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 439 | 440 | emoji-regex@^9.2.2: 441 | version "9.2.2" 442 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" 443 | integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== 444 | 445 | entities@^4.4.0: 446 | version "4.4.0" 447 | resolved "https://registry.yarnpkg.com/entities/-/entities-4.4.0.tgz#97bdaba170339446495e653cfd2db78962900174" 448 | integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA== 449 | 450 | escalade@^3.1.1: 451 | version "3.1.1" 452 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 453 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 454 | 455 | escape-string-regexp@4.0.0: 456 | version "4.0.0" 457 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" 458 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== 459 | 460 | escape-string-regexp@5.0.0: 461 | version "5.0.0" 462 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" 463 | integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== 464 | 465 | escodegen@^2.0.0: 466 | version "2.0.0" 467 | resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" 468 | integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== 469 | dependencies: 470 | esprima "^4.0.1" 471 | estraverse "^5.2.0" 472 | esutils "^2.0.2" 473 | optionator "^0.8.1" 474 | optionalDependencies: 475 | source-map "~0.6.1" 476 | 477 | esprima@^4.0.1: 478 | version "4.0.1" 479 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 480 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 481 | 482 | estraverse@^5.2.0: 483 | version "5.2.0" 484 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" 485 | integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== 486 | 487 | esutils@^2.0.2: 488 | version "2.0.3" 489 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 490 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 491 | 492 | execa@^7.0.0: 493 | version "7.1.1" 494 | resolved "https://registry.yarnpkg.com/execa/-/execa-7.1.1.tgz#3eb3c83d239488e7b409d48e8813b76bb55c9c43" 495 | integrity sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q== 496 | dependencies: 497 | cross-spawn "^7.0.3" 498 | get-stream "^6.0.1" 499 | human-signals "^4.3.0" 500 | is-stream "^3.0.0" 501 | merge-stream "^2.0.0" 502 | npm-run-path "^5.1.0" 503 | onetime "^6.0.0" 504 | signal-exit "^3.0.7" 505 | strip-final-newline "^3.0.0" 506 | 507 | fast-levenshtein@~2.0.6: 508 | version "2.0.6" 509 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 510 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 511 | 512 | fill-range@^7.0.1: 513 | version "7.0.1" 514 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 515 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 516 | dependencies: 517 | to-regex-range "^5.0.1" 518 | 519 | find-up@5.0.0: 520 | version "5.0.0" 521 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" 522 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== 523 | dependencies: 524 | locate-path "^6.0.0" 525 | path-exists "^4.0.0" 526 | 527 | flat@^5.0.2: 528 | version "5.0.2" 529 | resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" 530 | integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== 531 | 532 | foreground-child@^3.1.0, foreground-child@^3.1.1: 533 | version "3.2.1" 534 | resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.2.1.tgz#767004ccf3a5b30df39bed90718bab43fe0a59f7" 535 | integrity sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA== 536 | dependencies: 537 | cross-spawn "^7.0.0" 538 | signal-exit "^4.0.1" 539 | 540 | form-data@^4.0.0: 541 | version "4.0.0" 542 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" 543 | integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== 544 | dependencies: 545 | asynckit "^0.4.0" 546 | combined-stream "^1.0.8" 547 | mime-types "^2.1.12" 548 | 549 | fs.realpath@^1.0.0: 550 | version "1.0.0" 551 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 552 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 553 | 554 | fsevents@~2.3.2: 555 | version "2.3.2" 556 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 557 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 558 | 559 | get-caller-file@^2.0.5: 560 | version "2.0.5" 561 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 562 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 563 | 564 | get-stream@^6.0.1: 565 | version "6.0.1" 566 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" 567 | integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== 568 | 569 | glob-parent@~5.1.2: 570 | version "5.1.2" 571 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 572 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 573 | dependencies: 574 | is-glob "^4.0.1" 575 | 576 | glob@7.2.0: 577 | version "7.2.0" 578 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" 579 | integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== 580 | dependencies: 581 | fs.realpath "^1.0.0" 582 | inflight "^1.0.4" 583 | inherits "2" 584 | minimatch "^3.0.4" 585 | once "^1.3.0" 586 | path-is-absolute "^1.0.0" 587 | 588 | glob@^10.3.7: 589 | version "10.4.2" 590 | resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.2.tgz#bed6b95dade5c1f80b4434daced233aee76160e5" 591 | integrity sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w== 592 | dependencies: 593 | foreground-child "^3.1.0" 594 | jackspeak "^3.1.2" 595 | minimatch "^9.0.4" 596 | minipass "^7.1.2" 597 | package-json-from-dist "^1.0.0" 598 | path-scurry "^1.11.1" 599 | 600 | glob@^9.2.0: 601 | version "9.3.0" 602 | resolved "https://registry.yarnpkg.com/glob/-/glob-9.3.0.tgz#be6e50d172d025c3fcf87903ae25b36b787c0bb0" 603 | integrity sha512-EAZejC7JvnQINayvB/7BJbpZpNOJ8Lrw2OZNEvQxe0vaLn1SuwMcfV7/MNaX8L/T0wmptBFI4YMtDvSBxYDc7w== 604 | dependencies: 605 | fs.realpath "^1.0.0" 606 | minimatch "^7.4.1" 607 | minipass "^4.2.4" 608 | path-scurry "^1.6.1" 609 | 610 | has-flag@^4.0.0: 611 | version "4.0.0" 612 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 613 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 614 | 615 | he@1.2.0: 616 | version "1.2.0" 617 | resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" 618 | integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== 619 | 620 | html-encoding-sniffer@^3.0.0: 621 | version "3.0.0" 622 | resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9" 623 | integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA== 624 | dependencies: 625 | whatwg-encoding "^2.0.0" 626 | 627 | http-proxy-agent@^5.0.0: 628 | version "5.0.0" 629 | resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" 630 | integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== 631 | dependencies: 632 | "@tootallnate/once" "2" 633 | agent-base "6" 634 | debug "4" 635 | 636 | https-proxy-agent@^5.0.1: 637 | version "5.0.1" 638 | resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" 639 | integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== 640 | dependencies: 641 | agent-base "6" 642 | debug "4" 643 | 644 | human-signals@^4.3.0: 645 | version "4.3.0" 646 | resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-4.3.0.tgz#2095c3cd5afae40049403d4b811235b03879db50" 647 | integrity sha512-zyzVyMjpGBX2+6cDVZeFPCdtOtdsxOeseRhB9tkQ6xXmGUNrcnBzdEKPy3VPNYz+4gy1oukVOXcrJCunSyc6QQ== 648 | 649 | iconv-lite@0.6.3: 650 | version "0.6.3" 651 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" 652 | integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== 653 | dependencies: 654 | safer-buffer ">= 2.1.2 < 3.0.0" 655 | 656 | indent-string@^4.0.0: 657 | version "4.0.0" 658 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" 659 | integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== 660 | 661 | indent-string@^5.0.0: 662 | version "5.0.0" 663 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-5.0.0.tgz#4fd2980fccaf8622d14c64d694f4cf33c81951a5" 664 | integrity sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg== 665 | 666 | inflight@^1.0.4: 667 | version "1.0.6" 668 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 669 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 670 | dependencies: 671 | once "^1.3.0" 672 | wrappy "1" 673 | 674 | inherits@2: 675 | version "2.0.4" 676 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 677 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 678 | 679 | is-binary-path@~2.1.0: 680 | version "2.1.0" 681 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 682 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 683 | dependencies: 684 | binary-extensions "^2.0.0" 685 | 686 | is-extglob@^2.1.1: 687 | version "2.1.1" 688 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 689 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 690 | 691 | is-fullwidth-code-point@^3.0.0: 692 | version "3.0.0" 693 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 694 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 695 | 696 | is-fullwidth-code-point@^4.0.0: 697 | version "4.0.0" 698 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" 699 | integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== 700 | 701 | is-glob@^4.0.1, is-glob@~4.0.1: 702 | version "4.0.3" 703 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 704 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 705 | dependencies: 706 | is-extglob "^2.1.1" 707 | 708 | is-number@^7.0.0: 709 | version "7.0.0" 710 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 711 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 712 | 713 | is-plain-obj@^2.1.0: 714 | version "2.1.0" 715 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" 716 | integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== 717 | 718 | is-potential-custom-element-name@^1.0.1: 719 | version "1.0.1" 720 | resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" 721 | integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== 722 | 723 | is-stream@^3.0.0: 724 | version "3.0.0" 725 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" 726 | integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== 727 | 728 | is-unicode-supported@^0.1.0: 729 | version "0.1.0" 730 | resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" 731 | integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== 732 | 733 | isexe@^2.0.0: 734 | version "2.0.0" 735 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 736 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 737 | 738 | jackspeak@^3.1.2: 739 | version "3.4.0" 740 | resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.0.tgz#a75763ff36ad778ede6a156d8ee8b124de445b4a" 741 | integrity sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw== 742 | dependencies: 743 | "@isaacs/cliui" "^8.0.2" 744 | optionalDependencies: 745 | "@pkgjs/parseargs" "^0.11.0" 746 | 747 | js-yaml@4.1.0: 748 | version "4.1.0" 749 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" 750 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== 751 | dependencies: 752 | argparse "^2.0.1" 753 | 754 | jsdom@^21.1.1: 755 | version "21.1.1" 756 | resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-21.1.1.tgz#ab796361e3f6c01bcfaeda1fea3c06197ac9d8ae" 757 | integrity sha512-Jjgdmw48RKcdAIQyUD1UdBh2ecH7VqwaXPN3ehoZN6MqgVbMn+lRm1aAT1AsdJRAJpwfa4IpwgzySn61h2qu3w== 758 | dependencies: 759 | abab "^2.0.6" 760 | acorn "^8.8.2" 761 | acorn-globals "^7.0.0" 762 | cssstyle "^3.0.0" 763 | data-urls "^4.0.0" 764 | decimal.js "^10.4.3" 765 | domexception "^4.0.0" 766 | escodegen "^2.0.0" 767 | form-data "^4.0.0" 768 | html-encoding-sniffer "^3.0.0" 769 | http-proxy-agent "^5.0.0" 770 | https-proxy-agent "^5.0.1" 771 | is-potential-custom-element-name "^1.0.1" 772 | nwsapi "^2.2.2" 773 | parse5 "^7.1.2" 774 | rrweb-cssom "^0.6.0" 775 | saxes "^6.0.0" 776 | symbol-tree "^3.2.4" 777 | tough-cookie "^4.1.2" 778 | w3c-xmlserializer "^4.0.0" 779 | webidl-conversions "^7.0.0" 780 | whatwg-encoding "^2.0.0" 781 | whatwg-mimetype "^3.0.0" 782 | whatwg-url "^12.0.1" 783 | ws "^8.13.0" 784 | xml-name-validator "^4.0.0" 785 | 786 | levn@~0.3.0: 787 | version "0.3.0" 788 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" 789 | integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= 790 | dependencies: 791 | prelude-ls "~1.1.2" 792 | type-check "~0.3.2" 793 | 794 | lilconfig@2.1.0: 795 | version "2.1.0" 796 | resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" 797 | integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== 798 | 799 | lint-staged@^13.2.0: 800 | version "13.2.0" 801 | resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.2.0.tgz#b7abaf79c91cd36d824f17b23a4ce5209206126a" 802 | integrity sha512-GbyK5iWinax5Dfw5obm2g2ccUiZXNGtAS4mCbJ0Lv4rq6iEtfBSjOYdcbOtAIFtM114t0vdpViDDetjVTSd8Vw== 803 | dependencies: 804 | chalk "5.2.0" 805 | cli-truncate "^3.1.0" 806 | commander "^10.0.0" 807 | debug "^4.3.4" 808 | execa "^7.0.0" 809 | lilconfig "2.1.0" 810 | listr2 "^5.0.7" 811 | micromatch "^4.0.5" 812 | normalize-path "^3.0.0" 813 | object-inspect "^1.12.3" 814 | pidtree "^0.6.0" 815 | string-argv "^0.3.1" 816 | yaml "^2.2.1" 817 | 818 | listr2@^5.0.7: 819 | version "5.0.8" 820 | resolved "https://registry.yarnpkg.com/listr2/-/listr2-5.0.8.tgz#a9379ffeb4bd83a68931a65fb223a11510d6ba23" 821 | integrity sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA== 822 | dependencies: 823 | cli-truncate "^2.1.0" 824 | colorette "^2.0.19" 825 | log-update "^4.0.0" 826 | p-map "^4.0.0" 827 | rfdc "^1.3.0" 828 | rxjs "^7.8.0" 829 | through "^2.3.8" 830 | wrap-ansi "^7.0.0" 831 | 832 | locate-path@^6.0.0: 833 | version "6.0.0" 834 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" 835 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== 836 | dependencies: 837 | p-locate "^5.0.0" 838 | 839 | log-symbols@4.1.0: 840 | version "4.1.0" 841 | resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" 842 | integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== 843 | dependencies: 844 | chalk "^4.1.0" 845 | is-unicode-supported "^0.1.0" 846 | 847 | log-update@^4.0.0: 848 | version "4.0.0" 849 | resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" 850 | integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== 851 | dependencies: 852 | ansi-escapes "^4.3.0" 853 | cli-cursor "^3.1.0" 854 | slice-ansi "^4.0.0" 855 | wrap-ansi "^6.2.0" 856 | 857 | lru-cache@^10.2.0: 858 | version "10.2.2" 859 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.2.tgz#48206bc114c1252940c41b25b41af5b545aca878" 860 | integrity sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ== 861 | 862 | lru-cache@^7.14.1: 863 | version "7.18.3" 864 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" 865 | integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== 866 | 867 | merge-stream@^2.0.0: 868 | version "2.0.0" 869 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 870 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 871 | 872 | micromatch@^4.0.5: 873 | version "4.0.5" 874 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" 875 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 876 | dependencies: 877 | braces "^3.0.2" 878 | picomatch "^2.3.1" 879 | 880 | mime-db@1.50.0: 881 | version "1.50.0" 882 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.50.0.tgz#abd4ac94e98d3c0e185016c67ab45d5fde40c11f" 883 | integrity sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A== 884 | 885 | mime-types@^2.1.12: 886 | version "2.1.33" 887 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.33.tgz#1fa12a904472fafd068e48d9e8401f74d3f70edb" 888 | integrity sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g== 889 | dependencies: 890 | mime-db "1.50.0" 891 | 892 | mimic-fn@^2.1.0: 893 | version "2.1.0" 894 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" 895 | integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== 896 | 897 | mimic-fn@^4.0.0: 898 | version "4.0.0" 899 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" 900 | integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== 901 | 902 | minimatch@5.0.1: 903 | version "5.0.1" 904 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" 905 | integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== 906 | dependencies: 907 | brace-expansion "^2.0.1" 908 | 909 | minimatch@^3.0.4: 910 | version "3.0.4" 911 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 912 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 913 | dependencies: 914 | brace-expansion "^1.1.7" 915 | 916 | minimatch@^7.4.1: 917 | version "7.4.2" 918 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-7.4.2.tgz#157e847d79ca671054253b840656720cb733f10f" 919 | integrity sha512-xy4q7wou3vUoC9k1xGTXc+awNdGaGVHtFUaey8tiX4H1QRc04DZ/rmDFwNm2EBsuYEhAZ6SgMmYf3InGY6OauA== 920 | dependencies: 921 | brace-expansion "^2.0.1" 922 | 923 | minimatch@^9.0.4: 924 | version "9.0.4" 925 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" 926 | integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== 927 | dependencies: 928 | brace-expansion "^2.0.1" 929 | 930 | minipass@^4.0.2, minipass@^4.2.4: 931 | version "4.2.5" 932 | resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.5.tgz#9e0e5256f1e3513f8c34691dd68549e85b2c8ceb" 933 | integrity sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q== 934 | 935 | "minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: 936 | version "7.1.2" 937 | resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" 938 | integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== 939 | 940 | mkdirp@^3.0.1: 941 | version "3.0.1" 942 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-3.0.1.tgz#e44e4c5607fb279c168241713cc6e0fea9adcb50" 943 | integrity sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg== 944 | 945 | mocha@^10.2.0: 946 | version "10.2.0" 947 | resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.2.0.tgz#1fd4a7c32ba5ac372e03a17eef435bd00e5c68b8" 948 | integrity sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg== 949 | dependencies: 950 | ansi-colors "4.1.1" 951 | browser-stdout "1.3.1" 952 | chokidar "3.5.3" 953 | debug "4.3.4" 954 | diff "5.0.0" 955 | escape-string-regexp "4.0.0" 956 | find-up "5.0.0" 957 | glob "7.2.0" 958 | he "1.2.0" 959 | js-yaml "4.1.0" 960 | log-symbols "4.1.0" 961 | minimatch "5.0.1" 962 | ms "2.1.3" 963 | nanoid "3.3.3" 964 | serialize-javascript "6.0.0" 965 | strip-json-comments "3.1.1" 966 | supports-color "8.1.1" 967 | workerpool "6.2.1" 968 | yargs "16.2.0" 969 | yargs-parser "20.2.4" 970 | yargs-unparser "2.0.0" 971 | 972 | ms@2.1.2: 973 | version "2.1.2" 974 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 975 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 976 | 977 | ms@2.1.3: 978 | version "2.1.3" 979 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 980 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 981 | 982 | nanoid@3.3.3: 983 | version "3.3.3" 984 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" 985 | integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== 986 | 987 | normalize-path@^3.0.0, normalize-path@~3.0.0: 988 | version "3.0.0" 989 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 990 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 991 | 992 | npm-run-path@^5.1.0: 993 | version "5.1.0" 994 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00" 995 | integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== 996 | dependencies: 997 | path-key "^4.0.0" 998 | 999 | nwsapi@^2.2.2: 1000 | version "2.2.2" 1001 | resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.2.tgz#e5418863e7905df67d51ec95938d67bf801f0bb0" 1002 | integrity sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw== 1003 | 1004 | object-inspect@^1.12.3: 1005 | version "1.12.3" 1006 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" 1007 | integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== 1008 | 1009 | once@^1.3.0: 1010 | version "1.4.0" 1011 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1012 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 1013 | dependencies: 1014 | wrappy "1" 1015 | 1016 | onetime@^5.1.0: 1017 | version "5.1.2" 1018 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" 1019 | integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== 1020 | dependencies: 1021 | mimic-fn "^2.1.0" 1022 | 1023 | onetime@^6.0.0: 1024 | version "6.0.0" 1025 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" 1026 | integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== 1027 | dependencies: 1028 | mimic-fn "^4.0.0" 1029 | 1030 | optionator@^0.8.1: 1031 | version "0.8.3" 1032 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" 1033 | integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== 1034 | dependencies: 1035 | deep-is "~0.1.3" 1036 | fast-levenshtein "~2.0.6" 1037 | levn "~0.3.0" 1038 | prelude-ls "~1.1.2" 1039 | type-check "~0.3.2" 1040 | word-wrap "~1.2.3" 1041 | 1042 | p-all@^4.0.0: 1043 | version "4.0.0" 1044 | resolved "https://registry.yarnpkg.com/p-all/-/p-all-4.0.0.tgz#fd0d57391727646da85cfe9595b9215617982c19" 1045 | integrity sha512-QXqMc8PpYu0gmNM6VcKP0uYqeI+dtvSNeaDb8ktnNjposr+nftHHCSYbj/S/oUceF6R868jw1XOxkJKUSiHgEQ== 1046 | dependencies: 1047 | p-map "^5.0.0" 1048 | 1049 | p-limit@^3.0.2: 1050 | version "3.1.0" 1051 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" 1052 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 1053 | dependencies: 1054 | yocto-queue "^0.1.0" 1055 | 1056 | p-locate@^5.0.0: 1057 | version "5.0.0" 1058 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" 1059 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== 1060 | dependencies: 1061 | p-limit "^3.0.2" 1062 | 1063 | p-map@^4.0.0: 1064 | version "4.0.0" 1065 | resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" 1066 | integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== 1067 | dependencies: 1068 | aggregate-error "^3.0.0" 1069 | 1070 | p-map@^5.0.0: 1071 | version "5.1.0" 1072 | resolved "https://registry.yarnpkg.com/p-map/-/p-map-5.1.0.tgz#1c31bdfc492910098bdb4e63d099efbdd9b37755" 1073 | integrity sha512-hDTnBRGPXM4hUkmV4Nbe9ZyFnqUAHFYq5S/3+P38TRf0KbmkQuRSzfGM+JngEJsvB0m6nHvhsSv5E6VsGSB2zA== 1074 | dependencies: 1075 | aggregate-error "^4.0.0" 1076 | 1077 | package-json-from-dist@^1.0.0: 1078 | version "1.0.0" 1079 | resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz#e501cd3094b278495eb4258d4c9f6d5ac3019f00" 1080 | integrity sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw== 1081 | 1082 | parse5@^7.0.0, parse5@^7.1.2: 1083 | version "7.1.2" 1084 | resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" 1085 | integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== 1086 | dependencies: 1087 | entities "^4.4.0" 1088 | 1089 | path-exists@^4.0.0: 1090 | version "4.0.0" 1091 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 1092 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 1093 | 1094 | path-is-absolute@^1.0.0: 1095 | version "1.0.1" 1096 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1097 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 1098 | 1099 | path-key@^3.1.0: 1100 | version "3.1.1" 1101 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 1102 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 1103 | 1104 | path-key@^4.0.0: 1105 | version "4.0.0" 1106 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" 1107 | integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== 1108 | 1109 | path-scurry@^1.11.1: 1110 | version "1.11.1" 1111 | resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" 1112 | integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== 1113 | dependencies: 1114 | lru-cache "^10.2.0" 1115 | minipass "^5.0.0 || ^6.0.2 || ^7.0.0" 1116 | 1117 | path-scurry@^1.6.1: 1118 | version "1.6.1" 1119 | resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.6.1.tgz#dab45f7bb1d3f45a0e271ab258999f4ab7e23132" 1120 | integrity sha512-OW+5s+7cw6253Q4E+8qQ/u1fVvcJQCJo/VFD8pje+dbJCF1n5ZRMV2AEHbGp+5Q7jxQIYJxkHopnj6nzdGeZLA== 1121 | dependencies: 1122 | lru-cache "^7.14.1" 1123 | minipass "^4.0.2" 1124 | 1125 | picomatch@^2.0.4, picomatch@^2.2.1: 1126 | version "2.3.0" 1127 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" 1128 | integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== 1129 | 1130 | picomatch@^2.3.1: 1131 | version "2.3.1" 1132 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 1133 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 1134 | 1135 | pidtree@^0.6.0: 1136 | version "0.6.0" 1137 | resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" 1138 | integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== 1139 | 1140 | pirates@^4.0.6: 1141 | version "4.0.6" 1142 | resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" 1143 | integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== 1144 | 1145 | prelude-ls@~1.1.2: 1146 | version "1.1.2" 1147 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" 1148 | integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= 1149 | 1150 | prettier@^2.8.4: 1151 | version "2.8.4" 1152 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" 1153 | integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== 1154 | 1155 | psl@^1.1.33: 1156 | version "1.8.0" 1157 | resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" 1158 | integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== 1159 | 1160 | punycode@^2.1.1: 1161 | version "2.1.1" 1162 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 1163 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 1164 | 1165 | punycode@^2.3.0: 1166 | version "2.3.0" 1167 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" 1168 | integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== 1169 | 1170 | querystringify@^2.1.1: 1171 | version "2.2.0" 1172 | resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" 1173 | integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== 1174 | 1175 | randombytes@^2.1.0: 1176 | version "2.1.0" 1177 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" 1178 | integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== 1179 | dependencies: 1180 | safe-buffer "^5.1.0" 1181 | 1182 | readdirp@~3.6.0: 1183 | version "3.6.0" 1184 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 1185 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 1186 | dependencies: 1187 | picomatch "^2.2.1" 1188 | 1189 | require-directory@^2.1.1: 1190 | version "2.1.1" 1191 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 1192 | integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 1193 | 1194 | requires-port@^1.0.0: 1195 | version "1.0.0" 1196 | resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" 1197 | integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== 1198 | 1199 | restore-cursor@^3.1.0: 1200 | version "3.1.0" 1201 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" 1202 | integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== 1203 | dependencies: 1204 | onetime "^5.1.0" 1205 | signal-exit "^3.0.2" 1206 | 1207 | rfdc@^1.3.0: 1208 | version "1.3.0" 1209 | resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" 1210 | integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== 1211 | 1212 | rimraf@^4.4.0: 1213 | version "4.4.0" 1214 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-4.4.0.tgz#c7a9f45bb2ec058d2e60ef9aca5167974313d605" 1215 | integrity sha512-X36S+qpCUR0HjXlkDe4NAOhS//aHH0Z+h8Ckf2auGJk3PTnx5rLmrHkwNdbVQuCSUhOyFrlRvFEllZOYE+yZGQ== 1216 | dependencies: 1217 | glob "^9.2.0" 1218 | 1219 | rimraf@^5.0.5: 1220 | version "5.0.7" 1221 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-5.0.7.tgz#27bddf202e7d89cb2e0381656380d1734a854a74" 1222 | integrity sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg== 1223 | dependencies: 1224 | glob "^10.3.7" 1225 | 1226 | rrweb-cssom@^0.6.0: 1227 | version "0.6.0" 1228 | resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz#ed298055b97cbddcdeb278f904857629dec5e0e1" 1229 | integrity sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw== 1230 | 1231 | rxjs@^7.8.0: 1232 | version "7.8.0" 1233 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4" 1234 | integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg== 1235 | dependencies: 1236 | tslib "^2.1.0" 1237 | 1238 | safe-buffer@^5.1.0: 1239 | version "5.2.1" 1240 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 1241 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 1242 | 1243 | "safer-buffer@>= 2.1.2 < 3.0.0": 1244 | version "2.1.2" 1245 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 1246 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 1247 | 1248 | saxes@^6.0.0: 1249 | version "6.0.0" 1250 | resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5" 1251 | integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA== 1252 | dependencies: 1253 | xmlchars "^2.2.0" 1254 | 1255 | serialize-javascript@6.0.0: 1256 | version "6.0.0" 1257 | resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" 1258 | integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== 1259 | dependencies: 1260 | randombytes "^2.1.0" 1261 | 1262 | shebang-command@^2.0.0: 1263 | version "2.0.0" 1264 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 1265 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 1266 | dependencies: 1267 | shebang-regex "^3.0.0" 1268 | 1269 | shebang-regex@^3.0.0: 1270 | version "3.0.0" 1271 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 1272 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 1273 | 1274 | signal-exit@^3.0.2: 1275 | version "3.0.5" 1276 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.5.tgz#9e3e8cc0c75a99472b44321033a7702e7738252f" 1277 | integrity sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ== 1278 | 1279 | signal-exit@^3.0.7: 1280 | version "3.0.7" 1281 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" 1282 | integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== 1283 | 1284 | signal-exit@^4.0.1, signal-exit@^4.1.0: 1285 | version "4.1.0" 1286 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" 1287 | integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== 1288 | 1289 | slice-ansi@^3.0.0: 1290 | version "3.0.0" 1291 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" 1292 | integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== 1293 | dependencies: 1294 | ansi-styles "^4.0.0" 1295 | astral-regex "^2.0.0" 1296 | is-fullwidth-code-point "^3.0.0" 1297 | 1298 | slice-ansi@^4.0.0: 1299 | version "4.0.0" 1300 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" 1301 | integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== 1302 | dependencies: 1303 | ansi-styles "^4.0.0" 1304 | astral-regex "^2.0.0" 1305 | is-fullwidth-code-point "^3.0.0" 1306 | 1307 | slice-ansi@^5.0.0: 1308 | version "5.0.0" 1309 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" 1310 | integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== 1311 | dependencies: 1312 | ansi-styles "^6.0.0" 1313 | is-fullwidth-code-point "^4.0.0" 1314 | 1315 | sock-daemon@^1.4.2: 1316 | version "1.4.2" 1317 | resolved "https://registry.yarnpkg.com/sock-daemon/-/sock-daemon-1.4.2.tgz#b9d5d1f8b156b20a7c1ceba095da8b8745fac405" 1318 | integrity sha512-IzbegWshWWR+UzQ7487mbdYNmfJ1jXUXQBUHooqtpylO+aW0vMVbFN2d2ug3CSPZ0wbG7ZTTGwpUuthIDFIOGg== 1319 | dependencies: 1320 | rimraf "^5.0.5" 1321 | signal-exit "^4.1.0" 1322 | socket-post-message "^1.0.3" 1323 | 1324 | socket-post-message@^1.0.3: 1325 | version "1.0.3" 1326 | resolved "https://registry.yarnpkg.com/socket-post-message/-/socket-post-message-1.0.3.tgz#638dfca32064eee9a784bb5be9634b19e649ac39" 1327 | integrity sha512-UhJaB3xR2oF+HvddFOq2cBZi4zVKOHvdiBo+BaScNxsEUg3TLWSP8BkweKfe07kfH1thjn1hJR0af/w1EtBFjg== 1328 | 1329 | source-map@~0.6.1: 1330 | version "0.6.1" 1331 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 1332 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 1333 | 1334 | string-argv@^0.3.1: 1335 | version "0.3.1" 1336 | resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" 1337 | integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== 1338 | 1339 | "string-width-cjs@npm:string-width@^4.2.0": 1340 | version "4.2.3" 1341 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" 1342 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 1343 | dependencies: 1344 | emoji-regex "^8.0.0" 1345 | is-fullwidth-code-point "^3.0.0" 1346 | strip-ansi "^6.0.1" 1347 | 1348 | string-width@^4.1.0, string-width@^4.2.0: 1349 | version "4.2.3" 1350 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" 1351 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 1352 | dependencies: 1353 | emoji-regex "^8.0.0" 1354 | is-fullwidth-code-point "^3.0.0" 1355 | strip-ansi "^6.0.1" 1356 | 1357 | string-width@^5.0.0, string-width@^5.0.1, string-width@^5.1.2: 1358 | version "5.1.2" 1359 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" 1360 | integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== 1361 | dependencies: 1362 | eastasianwidth "^0.2.0" 1363 | emoji-regex "^9.2.2" 1364 | strip-ansi "^7.0.1" 1365 | 1366 | "strip-ansi-cjs@npm:strip-ansi@^6.0.1": 1367 | version "6.0.1" 1368 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 1369 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 1370 | dependencies: 1371 | ansi-regex "^5.0.1" 1372 | 1373 | strip-ansi@^6.0.0, strip-ansi@^6.0.1: 1374 | version "6.0.1" 1375 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 1376 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 1377 | dependencies: 1378 | ansi-regex "^5.0.1" 1379 | 1380 | strip-ansi@^7.0.1: 1381 | version "7.0.1" 1382 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" 1383 | integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== 1384 | dependencies: 1385 | ansi-regex "^6.0.1" 1386 | 1387 | strip-final-newline@^3.0.0: 1388 | version "3.0.0" 1389 | resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" 1390 | integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== 1391 | 1392 | strip-json-comments@3.1.1: 1393 | version "3.1.1" 1394 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" 1395 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 1396 | 1397 | supports-color@8.1.1: 1398 | version "8.1.1" 1399 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" 1400 | integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== 1401 | dependencies: 1402 | has-flag "^4.0.0" 1403 | 1404 | supports-color@^7.1.0: 1405 | version "7.2.0" 1406 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 1407 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 1408 | dependencies: 1409 | has-flag "^4.0.0" 1410 | 1411 | symbol-tree@^3.2.4: 1412 | version "3.2.4" 1413 | resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" 1414 | integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== 1415 | 1416 | through@^2.3.8: 1417 | version "2.3.8" 1418 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 1419 | integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= 1420 | 1421 | to-regex-range@^5.0.1: 1422 | version "5.0.1" 1423 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 1424 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1425 | dependencies: 1426 | is-number "^7.0.0" 1427 | 1428 | tough-cookie@^4.1.2: 1429 | version "4.1.2" 1430 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.2.tgz#e53e84b85f24e0b65dd526f46628db6c85f6b874" 1431 | integrity sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ== 1432 | dependencies: 1433 | psl "^1.1.33" 1434 | punycode "^2.1.1" 1435 | universalify "^0.2.0" 1436 | url-parse "^1.5.3" 1437 | 1438 | tr46@^4.1.1: 1439 | version "4.1.1" 1440 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-4.1.1.tgz#281a758dcc82aeb4fe38c7dfe4d11a395aac8469" 1441 | integrity sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw== 1442 | dependencies: 1443 | punycode "^2.3.0" 1444 | 1445 | tsimp@^2.0.11: 1446 | version "2.0.11" 1447 | resolved "https://registry.yarnpkg.com/tsimp/-/tsimp-2.0.11.tgz#28b7efb609a070554cedb4309c1a7def662e93ab" 1448 | integrity sha512-wRhMmvar8tWHN3ZmykD8f4B4sjCn/f8DFM67LRY+stf/LPa2Kq8ATE2PIi570/DiDJA8kjjxzos3EgP0LmnFLA== 1449 | dependencies: 1450 | "@isaacs/cached" "^1.0.1" 1451 | "@isaacs/catcher" "^1.0.4" 1452 | foreground-child "^3.1.1" 1453 | mkdirp "^3.0.1" 1454 | pirates "^4.0.6" 1455 | rimraf "^5.0.5" 1456 | signal-exit "^4.1.0" 1457 | sock-daemon "^1.4.2" 1458 | walk-up-path "^3.0.1" 1459 | 1460 | tslib@^2.1.0: 1461 | version "2.5.0" 1462 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" 1463 | integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== 1464 | 1465 | type-check@~0.3.2: 1466 | version "0.3.2" 1467 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" 1468 | integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= 1469 | dependencies: 1470 | prelude-ls "~1.1.2" 1471 | 1472 | type-fest@^0.21.3: 1473 | version "0.21.3" 1474 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" 1475 | integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== 1476 | 1477 | typescript@^5.5.2: 1478 | version "5.5.2" 1479 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.2.tgz#c26f023cb0054e657ce04f72583ea2d85f8d0507" 1480 | integrity sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew== 1481 | 1482 | universalify@^0.2.0: 1483 | version "0.2.0" 1484 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" 1485 | integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== 1486 | 1487 | url-parse@^1.5.3: 1488 | version "1.5.10" 1489 | resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" 1490 | integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== 1491 | dependencies: 1492 | querystringify "^2.1.1" 1493 | requires-port "^1.0.0" 1494 | 1495 | w3c-xmlserializer@^4.0.0: 1496 | version "4.0.0" 1497 | resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz#aebdc84920d806222936e3cdce408e32488a3073" 1498 | integrity sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw== 1499 | dependencies: 1500 | xml-name-validator "^4.0.0" 1501 | 1502 | walk-up-path@^3.0.1: 1503 | version "3.0.1" 1504 | resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-3.0.1.tgz#c8d78d5375b4966c717eb17ada73dbd41490e886" 1505 | integrity sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA== 1506 | 1507 | webidl-conversions@^7.0.0: 1508 | version "7.0.0" 1509 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" 1510 | integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== 1511 | 1512 | whatwg-encoding@^2.0.0: 1513 | version "2.0.0" 1514 | resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53" 1515 | integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg== 1516 | dependencies: 1517 | iconv-lite "0.6.3" 1518 | 1519 | whatwg-mimetype@^3.0.0: 1520 | version "3.0.0" 1521 | resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" 1522 | integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== 1523 | 1524 | whatwg-url@^12.0.0, whatwg-url@^12.0.1: 1525 | version "12.0.1" 1526 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-12.0.1.tgz#fd7bcc71192e7c3a2a97b9a8d6b094853ed8773c" 1527 | integrity sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ== 1528 | dependencies: 1529 | tr46 "^4.1.1" 1530 | webidl-conversions "^7.0.0" 1531 | 1532 | which@^2.0.1: 1533 | version "2.0.2" 1534 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 1535 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 1536 | dependencies: 1537 | isexe "^2.0.0" 1538 | 1539 | word-wrap@~1.2.3: 1540 | version "1.2.3" 1541 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" 1542 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== 1543 | 1544 | workerpool@6.2.1: 1545 | version "6.2.1" 1546 | resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" 1547 | integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== 1548 | 1549 | "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": 1550 | version "7.0.0" 1551 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 1552 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 1553 | dependencies: 1554 | ansi-styles "^4.0.0" 1555 | string-width "^4.1.0" 1556 | strip-ansi "^6.0.0" 1557 | 1558 | wrap-ansi@^6.2.0: 1559 | version "6.2.0" 1560 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" 1561 | integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== 1562 | dependencies: 1563 | ansi-styles "^4.0.0" 1564 | string-width "^4.1.0" 1565 | strip-ansi "^6.0.0" 1566 | 1567 | wrap-ansi@^7.0.0: 1568 | version "7.0.0" 1569 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 1570 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 1571 | dependencies: 1572 | ansi-styles "^4.0.0" 1573 | string-width "^4.1.0" 1574 | strip-ansi "^6.0.0" 1575 | 1576 | wrap-ansi@^8.1.0: 1577 | version "8.1.0" 1578 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" 1579 | integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== 1580 | dependencies: 1581 | ansi-styles "^6.1.0" 1582 | string-width "^5.0.1" 1583 | strip-ansi "^7.0.1" 1584 | 1585 | wrappy@1: 1586 | version "1.0.2" 1587 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1588 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 1589 | 1590 | ws@^8.13.0: 1591 | version "8.13.0" 1592 | resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" 1593 | integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== 1594 | 1595 | xml-name-validator@^4.0.0: 1596 | version "4.0.0" 1597 | resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" 1598 | integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== 1599 | 1600 | xmlchars@^2.2.0: 1601 | version "2.2.0" 1602 | resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" 1603 | integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== 1604 | 1605 | y18n@^5.0.5: 1606 | version "5.0.8" 1607 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" 1608 | integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== 1609 | 1610 | yaml@^2.2.1: 1611 | version "2.2.1" 1612 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.2.1.tgz#3014bf0482dcd15147aa8e56109ce8632cd60ce4" 1613 | integrity sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw== 1614 | 1615 | yargs-parser@20.2.4: 1616 | version "20.2.4" 1617 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" 1618 | integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== 1619 | 1620 | yargs-parser@^20.2.2: 1621 | version "20.2.9" 1622 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" 1623 | integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== 1624 | 1625 | yargs-unparser@2.0.0: 1626 | version "2.0.0" 1627 | resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" 1628 | integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== 1629 | dependencies: 1630 | camelcase "^6.0.0" 1631 | decamelize "^4.0.0" 1632 | flat "^5.0.2" 1633 | is-plain-obj "^2.1.0" 1634 | 1635 | yargs@16.2.0: 1636 | version "16.2.0" 1637 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" 1638 | integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== 1639 | dependencies: 1640 | cliui "^7.0.2" 1641 | escalade "^3.1.1" 1642 | get-caller-file "^2.0.5" 1643 | require-directory "^2.1.1" 1644 | string-width "^4.2.0" 1645 | y18n "^5.0.5" 1646 | yargs-parser "^20.2.2" 1647 | 1648 | yocto-queue@^0.1.0: 1649 | version "0.1.0" 1650 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" 1651 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 1652 | -------------------------------------------------------------------------------- /vercel.json: -------------------------------------------------------------------------------- 1 | { 2 | "github": { 3 | "silent": true 4 | } 5 | } 6 | --------------------------------------------------------------------------------